UNPKG

@ant-design/react-native

Version:

基于蚂蚁金服移动设计规范的 React Native 组件库

1 lines 4.03 kB
"use strict";"use client";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _devWarning=_interopRequireDefault(require("../_util/devWarning"));var _Checkbox=_interopRequireDefault(require("../checkbox/Checkbox"));var _style=require("../style");var _RadioContext=_interopRequireDefault(require("./RadioContext"));var _style2=_interopRequireDefault(require("./style"));function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}var __rest=void 0&&(void 0).__rest||function(s,e){var t={};for(var p in s){if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];}if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]];}return t;};var InternalRadio=function InternalRadio(props,ref){var context=_react.default.useContext(_RadioContext.default);var styles=props.styles,checked=props.checked,_onChange=props.onChange,value=props.value,defaultChecked=props.defaultChecked,_props$disabled=props.disabled,disabled=_props$disabled===void 0?context===null||context===void 0?void 0:context.disabled:_props$disabled,restProps=__rest(props,["styles","checked","onChange","value","defaultChecked","disabled"]);if(__DEV__){(0,_devWarning.default)(!('value'in props&&!context&&!('checked'in props)),'Radio','`value` is always used with Radio.Group., do you mean `checked`?');}var _useState=(0,_react.useState)(checked!==null&&checked!==void 0?checked:defaultChecked),_useState2=(0,_slicedToArray2.default)(_useState,2),innerChecked=_useState2[0],setInnerChecked=_useState2[1];var restCheckboxProps=(0,_react.useMemo)(function(){if(context){return{checked:context.value===value,onChange:function onChange(e){var _a;if(e.target.checked){_onChange===null||_onChange===void 0?void 0:_onChange(e);(_a=context===null||context===void 0?void 0:context.onChange)===null||_a===void 0?void 0:_a.call(context,{target:{value:value}});}}};}return{checked:innerChecked,onChange:function onChange(e){if(e.target.checked&&checked===undefined){_onChange===null||_onChange===void 0?void 0:_onChange(e);setInnerChecked(true);}}};},[checked,context,innerChecked,_onChange,value]);return _react.default.createElement(_style.WithTheme,{themeStyles:_style2.default,styles:styles},function(_styles){return _react.default.createElement(_Checkbox.default,(0,_extends2.default)({accessibilityRole:"radio"},restProps,restCheckboxProps,{disabled:disabled,indeterminate:false,styles:_styles,ref:ref}));});};var Radio=_react.default.forwardRef(InternalRadio);Radio.displayName='AntmRadio';var _default=_react.default.memo(Radio);exports.default=_default;