diff --git a/packages/lib/src/components/internal/UIElement/UIElement.tsx b/packages/lib/src/components/internal/UIElement/UIElement.tsx index 5def86c1c6..15684b56d9 100644 --- a/packages/lib/src/components/internal/UIElement/UIElement.tsx +++ b/packages/lib/src/components/internal/UIElement/UIElement.tsx @@ -83,7 +83,11 @@ export abstract class UIElement
exten
...componentProps
};
- this.props = this.formatProps({ ...this.constructor['defaultProps'], ...finalProps });
+ this.props = this.formatProps({
+ ...this.constructor['defaultProps'], // component defaults
+ ...this.core.getRegulatoryDefaults(), // regulatory defaults
+ ...finalProps // the rest (inc. merchant defined config)
+ });
}
protected storeElementRefOnCore(props?: P) {
diff --git a/packages/lib/src/core/core.ts b/packages/lib/src/core/core.ts
index 0c3b6f8ad6..492b7bbf94 100644
--- a/packages/lib/src/core/core.ts
+++ b/packages/lib/src/core/core.ts
@@ -7,7 +7,7 @@ import { resolveEnvironment, resolveCDNEnvironment, resolveAnalyticsEnvironment
import Analytics from './Analytics';
import { AdditionalDetailsStateData, PaymentAction, PaymentResponseData } from '../types/global-types';
import { CoreConfiguration, ICore } from './types';
-import { processGlobalOptions } from './utils';
+import { getDefaultPropsByCountryCode, processGlobalOptions } from './utils';
import Session from './CheckoutSession';
import { hasOwnProperty } from '../utils/hasOwnProperty';
import { Resources } from './Context/Resources';
@@ -264,6 +264,10 @@ class Core implements ICore {
};
}
+ public getRegulatoryDefaults(): Record