Add coexistence checks to all enqueue methods to prevent loading both React and Grid.js assets simultaneously. Changes: - ReactAdmin.php: Only enqueue React assets when ?react=1 - Init.php: Skip Grid.js when React active on admin pages - Form.php, Coupon.php, Access.php: Restore classic assets when ?react=0 - Customer.php, Product.php, License.php: Add coexistence checks Now the toggle between Classic and React versions works correctly. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
import { createElement } from "react";
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
import { Svg } from 'react-native-svg';
|
|
import { Animated } from 'react-native';
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
import { forwardRef } from '@wordpress/element';
|
|
import { usePreferredColorScheme } from '@wordpress/compose';
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
import styles from './style.scss';
|
|
export { Circle, G, Path, Polygon, Rect, Defs, RadialGradient, LinearGradient, Stop, Line, SvgXml } from 'react-native-svg';
|
|
const AnimatedSvg = Animated.createAnimatedComponent(forwardRef((props, ref) => createElement(Svg, {
|
|
ref: ref,
|
|
...props
|
|
})));
|
|
export const SVG = ({
|
|
className = '',
|
|
isPressed,
|
|
animated = false,
|
|
...props
|
|
}) => {
|
|
const colorScheme = usePreferredColorScheme();
|
|
const stylesFromClasses = className.split(' ').map(element => styles[element]).filter(Boolean);
|
|
const defaultStyle = isPressed ? styles[`is-pressed--${colorScheme}`] : styles['components-toolbar__control-' + colorScheme];
|
|
const propStyle = Array.isArray(props.style) ? props.style.reduce((acc, el) => {
|
|
return {
|
|
...acc,
|
|
...el
|
|
};
|
|
}, {}) : props.style;
|
|
const styleValues = Object.assign({}, defaultStyle, propStyle, ...stylesFromClasses);
|
|
const appliedProps = {
|
|
...props,
|
|
style: styleValues
|
|
};
|
|
const SvgWrapper = animated ? AnimatedSvg : Svg;
|
|
return createElement(SvgWrapper
|
|
// We want to re-render when style color is changed.
|
|
, {
|
|
key: appliedProps.style.color,
|
|
height: "100%",
|
|
width: "100%",
|
|
...appliedProps
|
|
});
|
|
};
|
|
//# sourceMappingURL=index.native.js.map
|