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>
98 lines
2.8 KiB
JavaScript
98 lines
2.8 KiB
JavaScript
"use strict";
|
|
|
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.Option = Option;
|
|
var _react = require("react");
|
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
var _compose = require("@wordpress/compose");
|
|
var _element = require("@wordpress/element");
|
|
var _icons = require("@wordpress/icons");
|
|
var _circularOptionPickerContext = require("./circular-option-picker-context");
|
|
var _button = _interopRequireDefault(require("../button"));
|
|
var _v = require("../composite/v2");
|
|
var _tooltip = _interopRequireDefault(require("../tooltip"));
|
|
/**
|
|
* External dependencies
|
|
*/
|
|
|
|
/**
|
|
* WordPress dependencies
|
|
*/
|
|
|
|
/**
|
|
* Internal dependencies
|
|
*/
|
|
|
|
function UnforwardedOptionAsButton(props, forwardedRef) {
|
|
const {
|
|
isPressed,
|
|
...additionalProps
|
|
} = props;
|
|
return (0, _react.createElement)(_button.default, {
|
|
...additionalProps,
|
|
"aria-pressed": isPressed,
|
|
ref: forwardedRef
|
|
});
|
|
}
|
|
const OptionAsButton = (0, _element.forwardRef)(UnforwardedOptionAsButton);
|
|
function UnforwardedOptionAsOption(props, forwardedRef) {
|
|
const {
|
|
id,
|
|
isSelected,
|
|
compositeStore,
|
|
...additionalProps
|
|
} = props;
|
|
const activeId = compositeStore.useState('activeId');
|
|
if (isSelected && !activeId) {
|
|
compositeStore.setActiveId(id);
|
|
}
|
|
return (0, _react.createElement)(_v.CompositeItem, {
|
|
render: (0, _react.createElement)(_button.default, {
|
|
...additionalProps,
|
|
role: "option",
|
|
"aria-selected": !!isSelected,
|
|
ref: forwardedRef
|
|
}),
|
|
store: compositeStore,
|
|
id: id
|
|
});
|
|
}
|
|
const OptionAsOption = (0, _element.forwardRef)(UnforwardedOptionAsOption);
|
|
function Option({
|
|
className,
|
|
isSelected,
|
|
selectedIconProps = {},
|
|
tooltipText,
|
|
...additionalProps
|
|
}) {
|
|
const {
|
|
baseId,
|
|
compositeStore
|
|
} = (0, _element.useContext)(_circularOptionPickerContext.CircularOptionPickerContext);
|
|
const id = (0, _compose.useInstanceId)(Option, baseId || 'components-circular-option-picker__option');
|
|
const commonProps = {
|
|
id,
|
|
className: 'components-circular-option-picker__option',
|
|
...additionalProps
|
|
};
|
|
const optionControl = compositeStore ? (0, _react.createElement)(OptionAsOption, {
|
|
...commonProps,
|
|
compositeStore: compositeStore,
|
|
isSelected: isSelected
|
|
}) : (0, _react.createElement)(OptionAsButton, {
|
|
...commonProps,
|
|
isPressed: isSelected
|
|
});
|
|
return (0, _react.createElement)("div", {
|
|
className: (0, _classnames.default)(className, 'components-circular-option-picker__option-wrapper')
|
|
}, tooltipText ? (0, _react.createElement)(_tooltip.default, {
|
|
text: tooltipText
|
|
}, optionControl) : optionControl, isSelected && (0, _react.createElement)(_icons.Icon, {
|
|
icon: _icons.check,
|
|
...selectedIconProps
|
|
}));
|
|
}
|
|
//# sourceMappingURL=circular-option-picker-option.js.map
|