UNPKG

@ant-design/react-native

Version:

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

1 lines 4.66 kB
"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 _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _classnames=_interopRequireDefault(require("classnames"));var _useMergedState3=_interopRequireDefault(require("rc-util/es/hooks/useMergedState"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _index=_interopRequireDefault(require("../list/index"));var _DisabledContext=_interopRequireDefault(require("../provider/DisabledContext"));var _style=require("../style");var _Checkbox=_interopRequireDefault(require("./Checkbox"));var _index2=_interopRequireDefault(require("./style/index"));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=this&&this.__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 CheckboxItem=(0,_react.forwardRef)(function(props,ref){var contextDisabled=(0,_react.useContext)(_DisabledContext.default);var style=props.style,_props$prefixCls=props.prefixCls,prefixCls=_props$prefixCls===void 0?'checkbox':_props$prefixCls,_props$disabled=props.disabled,disabled=_props$disabled===void 0?contextDisabled:_props$disabled,children=props.children,right=props.right,_props$left=props.left,left=_props$left===void 0?!right:_props$left,restProps=__rest(props,["style","prefixCls","disabled","children","right","left"]);var checkbox=(0,_react.useRef)(null);var _useMergedState=(0,_useMergedState3.default)(false,{value:props.checked,defaultValue:props.defaultChecked}),_useMergedState2=(0,_slicedToArray2.default)(_useMergedState,2),innerChecked=_useMergedState2[0],setInnerChecked=_useMergedState2[1];var handleClick=function handleClick(){var _a;if(checkbox.current){setInnerChecked(checkbox.current.onPress());}(_a=props.onPress)===null||_a===void 0?void 0:_a.call(props);};var thumbNode=_react.default.createElement(_Checkbox.default,(0,_extends2.default)({},restProps,{prefixCls:prefixCls,ref:checkbox}));var listProps=(0,_extends2.default)((0,_extends2.default)({},restProps),{thumb:left&&!right?thumbNode:undefined,extra:right?thumbNode:undefined});var contentDom=(0,_react.useMemo)(function(){if(_react.default.isValidElement(children)){return children;}if(typeof children==='string'){return _react.default.createElement(_style.WithTheme,{themeStyles:_index2.default,styles:props.styles},function(styles){var antd_checlbox_label=(0,_classnames.default)("".concat(prefixCls,"_label"),(0,_defineProperty2.default)({},"".concat(prefixCls,"_label_disabled"),disabled)).split(' ').map(function(a){return styles[a];});return _react.default.createElement(_reactNative.Text,{style:antd_checlbox_label,numberOfLines:1},children);});}},[children,disabled,prefixCls,props.styles]);return _react.default.createElement(_index.default.Item,(0,_extends2.default)({ref:ref,style:style,disabled:disabled,onPress:handleClick,accessibilityRole:"checkbox",accessibilityState:{checked:props.indeterminate?'mixed':innerChecked,disabled:disabled}},listProps),contentDom);});var _default=(0,_react.memo)(CheckboxItem);exports.default=_default;