UNPKG

@adyen/react-native

Version:

Wraps Adyen Checkout Drop-In and Components for iOS and Android for convenient use with React Native

37 lines (36 loc) 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.setAppTheme = setAppTheme; const defaultTheme = 'AppTheme'; function setAppTheme(androidStyles) { let resources = androidStyles.resources; if (!resources) { resources = { $: { 'xmlns:tools': 'http://schemas.android.com/tools' }, }; androidStyles.resources = resources; } let styles = resources.style; if (!Array.isArray(styles)) { styles = []; resources.style = styles; } let appTheme = styles.find((item) => item.$.name === defaultTheme); if (!appTheme) { console.log(`Default theme is not '${defaultTheme}'. Please set your theme parent as descendent of 'Theme.MaterialComponents'`); } else { var parentTheme = 'Theme.MaterialComponents.Light.NoActionBar'; const oldParent = appTheme.$.parent; if (oldParent && oldParent.includes('DayNight')) { parentTheme = 'Theme.MaterialComponents.DayNight.NoActionBar'; } appTheme.$ = { name: defaultTheme, parent: parentTheme }; } let unwantedAppTheme = styles.findLast((item) => item.$.name === defaultTheme && item.$.parent.includes('AppCompat')); if (unwantedAppTheme) { const index = styles.indexOf(unwantedAppTheme); styles.splice(index, 1); } return androidStyles; }