neko-ui 1.7.1 → 1.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/dropdown/index.js +1 -1
- package/es/select/index.js +1 -1
- package/lib/dropdown/index.js +1 -1
- package/lib/select/index.js +1 -1
- package/package.json +1 -1
package/es/dropdown/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React,{useEffect,useRef}from"react";import{isFunction}from"@moneko/common";import sso from"shared-store-object";import{cls}from"./style";import{cx}from"../emotion";import getOptions,{defaultFieldNames}from"../get-options";import Popover from"../popover";const Dropdown=_param=>{var{options,children,open=null,selectable,multiple,toggle,value,onChange,onOpenChange,disabled,fieldNames,className,popupClassName}=_param,props=_object_without_properties(_param,["options","children","open","selectable","multiple","toggle","value","onChange","onOpenChange","disabled","fieldNames","className","popupClassName"]);const state=useRef(sso({open,options:[],disabled,selectable,multiple,toggle,fieldNames:_object_spread({},defaultFieldNames,fieldNames),value:[],change(item){if(!item.disabled&&!state.current.disabled){let _value=[...state.current.value];const key=item[state.current.fieldNames.value];if(state.current.multiple){const idx=_value.indexOf(key);if(idx===-1){_value.push(key)}else{_value.splice(idx,1)}}else if(state.current.toggle&&_value[0]===key){_value=[]}else{_value=[key]}if(isFunction(onChange)){onChange(multiple?_value:_value[0],item)}else{state.current.value=_value}state.current.openChange(false)}},openChange(next){if(isFunction(onOpenChange)){onOpenChange(next)}else{state.current.open=next}},renderMenu(list,option){const{options:optionsKey,label,value:valueKey}=option.fieldNames;return list.map((item,i)=>{var _option_activeKey;if(Array.isArray(item[optionsKey])){return React.createElement(React.Fragment,{key:`${item[valueKey]}-${i}`},React.createElement("div",{className:cx(cls.group,item.className),style:item.style},item.icon&&React.createElement("span",{className:cls.icon},item.icon),item[label]),state.current.renderMenu(item[optionsKey],option))}return React.createElement("div",{key:`${item[valueKey]}-${i}`,className:cx(cls.item,item.className,item.danger&&cls.danger,option.selectable&&((_option_activeKey=option.activeKey)===null||_option_activeKey===void 0?void 0:_option_activeKey.includes(item[valueKey]))&&cls.active),"aria-disabled":option.disabled||item.disabled,onClick:e=>{
|
|
1
|
+
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React,{useEffect,useRef}from"react";import{isFunction}from"@moneko/common";import sso from"shared-store-object";import{cls}from"./style";import{cx}from"../emotion";import getOptions,{defaultFieldNames}from"../get-options";import Popover from"../popover";const Dropdown=_param=>{var{options,children,open=null,selectable,multiple,toggle,value,onChange,onOpenChange,disabled,fieldNames,className,popupClassName}=_param,props=_object_without_properties(_param,["options","children","open","selectable","multiple","toggle","value","onChange","onOpenChange","disabled","fieldNames","className","popupClassName"]);const state=useRef(sso({open,options:[],disabled,selectable,multiple,toggle,fieldNames:_object_spread({},defaultFieldNames,fieldNames),value:[],preventDefault(e){e.preventDefault();e.stopPropagation()},change(item){if(!item.disabled&&!state.current.disabled){let _value=[...state.current.value];const key=item[state.current.fieldNames.value];if(state.current.multiple){const idx=_value.indexOf(key);if(idx===-1){_value.push(key)}else{_value.splice(idx,1)}}else if(state.current.toggle&&_value[0]===key){_value=[]}else{_value=[key]}if(isFunction(onChange)){onChange(multiple?_value:_value[0],item)}else{state.current.value=_value}if(!multiple){state.current.openChange(false)}}},openChange(next){if(isFunction(onOpenChange)){onOpenChange(next)}else{state.current.open=next}},renderMenu(list,option){const{options:optionsKey,label,value:valueKey}=option.fieldNames;return list.map((item,i)=>{var _option_activeKey;if(Array.isArray(item[optionsKey])){return React.createElement(React.Fragment,{key:`${item[valueKey]}-${i}`},React.createElement("div",{className:cx(cls.group,item.className),style:item.style},item.icon&&React.createElement("span",{className:cls.icon},item.icon),item[label]),state.current.renderMenu(item[optionsKey],option))}return React.createElement("div",{key:`${item[valueKey]}-${i}`,className:cx(cls.item,item.className,item.danger&&cls.danger,option.selectable&&((_option_activeKey=option.activeKey)===null||_option_activeKey===void 0?void 0:_option_activeKey.includes(item[valueKey]))&&cls.active),"aria-disabled":option.disabled||item.disabled,onMouseDown:state.current.preventDefault,onClick:e=>{state.current.preventDefault(e);state.current.change(item)},style:item.style},item.icon&&React.createElement("span",{className:cls.icon},item.icon),item[label])})}}));const{open:show,options:list,disabled:disable,value:activeKey,selectable:isSelectable,fieldNames:fieldName}=state.current;useEffect(()=>{state.current.toggle=toggle},[toggle]);useEffect(()=>{state.current.open=open},[open]);useEffect(()=>{state.current.selectable=selectable},[selectable]);useEffect(()=>{state.current.value=value?Array.isArray(value)?value:[value]:[]},[value]);useEffect(()=>{state.current.disabled=disabled},[disabled]);useEffect(()=>{state.current("fieldNames",prev=>_object_spread({},prev,fieldNames))},[fieldNames]);useEffect(()=>{state.current.options=getOptions(options,state.current.fieldNames)},[options]);useEffect(()=>{const _state=state.current;return()=>{_state()}},[]);return React.createElement(Popover,_object_spread_props(_object_spread({},props),{className:cx(cls.dropdown,className),popupClassName:cx(cls.portal,selectable&&cls.selectable,popupClassName),open:show,onOpenChange:state.current.openChange,disabled:disabled,content:state.current.renderMenu(list,{disabled:disable,fieldNames:fieldName,selectable:isSelectable,activeKey})}),children)};export default Dropdown;
|
package/es/select/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React,{useEffect,useRef}from"react";import{isFunction}from"@moneko/common";import sso from"shared-store-object";import{cls}from"./style";import Dropdown from"../dropdown";import{cx}from"../emotion";import getOptions,{defaultFieldNames}from"../get-options";import Input from"../input";const Select=_param=>{var{className,open,options,label,multiple,value,toggle,disabled,onChange,onOpenChange,fieldNames,popupStyle}=_param,props=_object_without_properties(_param,["className","open","options","label","multiple","value","toggle","disabled","onChange","onOpenChange","fieldNames","popupStyle"]);var _kv_val_;const ref=useRef(null);const state=useRef(sso({value:[],options:[],kv:{},disabled,open,multiple,toggle,fieldNames:_object_spread({},defaultFieldNames,fieldNames),popupStyle,closeTimer:null,openChange(next){if(isFunction(onOpenChange)){onOpenChange(next)}else{state.current.open=next}},onChange(val,item){if(!state.current.disabled&&!item.disabled){if(isFunction(onChange)){onChange(val,item)}else{state.current.value=Array.isArray(val)?val:[val]}}},focus(e){e.preventDefault();e.stopPropagation();state.current.openChange(true)},blur(e){e.preventDefault();e.stopPropagation();if(state.current.closeTimer){clearTimeout(state.current.closeTimer)}state.current.closeTimer=setTimeout(()=>{if(state.current.closeTimer){clearTimeout(state.current.closeTimer);state.current.closeTimer=null}state.current.openChange(false)},150)}}));const{open:show,value:val,disabled:disable,kv,popupStyle:style,fieldNames:fieldName,multiple:isMultiple}=state.current;useEffect(()=>{var _ref,_ref_current;state.current.popupStyle=_object_spread_props(_object_spread({},popupStyle),{minWidth:(_ref=isMultiple?ref.current:(_ref_current=ref.current)===null||_ref_current===void 0?void 0:_ref_current.parentElement)===null||_ref===void 0?void 0:_ref.offsetWidth})},[popupStyle,isMultiple,val]);useEffect(()=>{state.current("fieldNames",prev=>_object_spread({},prev,fieldNames))},[fieldNames]);useEffect(()=>{state.current.options=getOptions(options,state.current.fieldNames);state.current.kv=Object.fromEntries(state.current.options.map(item=>[item[state.current.fieldNames.value],item]))},[options]);useEffect(()=>{state.current.multiple=multiple},[multiple]);useEffect(()=>{state.current.open=open},[open]);useEffect(()=>{state.current.disabled=disabled},[disabled]);useEffect(()=>{state.current.value=value?Array.isArray(value)?value:[value]:[]},[value,isMultiple]);useEffect(()=>{const _state=state.current;return()=>{if(_state.closeTimer){clearTimeout(_state.closeTimer)}_state()}},[]);return React.createElement(Dropdown,_object_spread_props(_object_spread({},props),{fieldNames:fieldName,className:cx(cls.select,className),options:options,trigger:"none",selectable:true,open:show,onOpenChange:state.current.openChange,disabled:disable,popupStyle:style,multiple:multiple,toggle:toggle,value:val,onChange:state.current.onChange}),isMultiple?React.createElement("div",{ref:ref,className:cls.tags,tabIndex:0,onFocus:state.current.focus,onBlur:state.current.blur,"aria-disabled":disable},val===null||val===void 0?void 0:val.map((v,i)=>{var _kv_v;return React.createElement("span",{key:i,className:cls.tag},((_kv_v=kv[v])===null||_kv_v===void 0?void 0:_kv_v[fieldName.label])||v,React.createElement("span",{className:cls.del,onClick:e=>{e.stopPropagation();e.preventDefault();state.current("value",prev=>{return prev.filter(old=>old!==v)})}}))})):React.createElement(Input,{ref:ref,label:label,disabled:disable,value:((_kv_val_=kv[val[0]])===null||_kv_val_===void 0?void 0:_kv_val_[fieldName.label])||val[0]||"",onFocus:state.current.focus,onBlur:state.current.blur}))};export default Select;
|
|
1
|
+
function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}import React,{useEffect,useRef}from"react";import{isFunction}from"@moneko/common";import sso from"shared-store-object";import{cls}from"./style";import Dropdown from"../dropdown";import{cx}from"../emotion";import getOptions,{defaultFieldNames}from"../get-options";import Input from"../input";const Select=_param=>{var{className,open,options,label,multiple,value,toggle,disabled,onChange,onOpenChange,fieldNames,popupStyle}=_param,props=_object_without_properties(_param,["className","open","options","label","multiple","value","toggle","disabled","onChange","onOpenChange","fieldNames","popupStyle"]);var _kv_val_;const ref=useRef(null);const state=useRef(sso({value:[],options:[],kv:{},disabled,open,multiple,toggle,fieldNames:_object_spread({},defaultFieldNames,fieldNames),popupStyle,closeTimer:null,openChange(next){if(isFunction(onOpenChange)){onOpenChange(next)}else{state.current.open=next}},onChange(val,item){if(!state.current.disabled&&!item.disabled){if(isFunction(onChange)){onChange(val,item)}else{state.current.value=Array.isArray(val)?val:[val]}}},focus(e){e.preventDefault();e.stopPropagation();state.current.openChange(true)},blur(e){e.preventDefault();e.stopPropagation();if(state.current.closeTimer){clearTimeout(state.current.closeTimer)}state.current.closeTimer=setTimeout(()=>{if(state.current.closeTimer){clearTimeout(state.current.closeTimer);state.current.closeTimer=null}state.current.openChange(false)},150)}}));const{open:show,value:val,disabled:disable,kv,popupStyle:style,fieldNames:fieldName,multiple:isMultiple}=state.current;useEffect(()=>{var _ref,_ref_current;state.current.popupStyle=_object_spread_props(_object_spread({},popupStyle),{minWidth:(_ref=isMultiple?ref.current:(_ref_current=ref.current)===null||_ref_current===void 0?void 0:_ref_current.parentElement)===null||_ref===void 0?void 0:_ref.offsetWidth})},[popupStyle,isMultiple,val]);useEffect(()=>{state.current("fieldNames",prev=>_object_spread({},prev,fieldNames))},[fieldNames]);useEffect(()=>{state.current.options=getOptions(options,state.current.fieldNames);state.current.kv=Object.fromEntries(state.current.options.map(item=>[item[state.current.fieldNames.value],item]))},[options]);useEffect(()=>{state.current.multiple=multiple},[multiple]);useEffect(()=>{state.current.open=open},[open]);useEffect(()=>{state.current.disabled=disabled},[disabled]);useEffect(()=>{state.current.value=value?Array.isArray(value)?value:[value]:[]},[value,isMultiple]);useEffect(()=>{const _state=state.current;return()=>{if(_state.closeTimer){clearTimeout(_state.closeTimer)}_state()}},[]);return React.createElement(Dropdown,_object_spread_props(_object_spread({},props),{fieldNames:fieldName,className:cx(cls.select,className),options:options,trigger:"none",selectable:true,open:show,onOpenChange:state.current.openChange,disabled:disable,popupStyle:style,multiple:multiple,toggle:toggle,value:val,onChange:state.current.onChange}),isMultiple?React.createElement("div",{ref:ref,className:cls.tags,tabIndex:0,onFocus:state.current.focus,onBlur:state.current.blur,"aria-disabled":disable},val===null||val===void 0?void 0:val.map((v,i)=>{var _kv_v;return React.createElement("span",{key:i,className:cls.tag},((_kv_v=kv[v])===null||_kv_v===void 0?void 0:_kv_v[fieldName.label])||v,React.createElement("span",{className:cls.del,onClick:e=>{e.stopPropagation();e.preventDefault();state.current("value",prev=>{return prev.filter(old=>old!==v)})}}))})):React.createElement(Input,{ref:ref,label:label,disabled:disable,value:((_kv_val_=kv[val[0]])===null||_kv_val_===void 0?void 0:_kv_val_[fieldName.label])||val[0]||"",onFocus:state.current.focus,onBlur:state.current.blur,onClickCapture:state.current.focus}))};export default Select;
|
package/lib/dropdown/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _react=_interop_require_wildcard(require("react"));var _common=require("@moneko/common");var _sharedstoreobject=_interop_require_default(require("shared-store-object"));var _style=require("./style");var _emotion=require("../emotion");var _getoptions=_interop_require_wildcard(require("../get-options"));var _popover=_interop_require_default(require("../popover"));function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interop_require_wildcard(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}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}var Dropdown=function(_param){var options=_param.options,children=_param.children,_param_open=_param.open,open=_param_open===void 0?null:_param_open,selectable=_param.selectable,multiple=_param.multiple,toggle=_param.toggle,value=_param.value,onChange=_param.onChange,onOpenChange=_param.onOpenChange,disabled=_param.disabled,fieldNames=_param.fieldNames,className=_param.className,popupClassName=_param.popupClassName,props=_object_without_properties(_param,["options","children","open","selectable","multiple","toggle","value","onChange","onOpenChange","disabled","fieldNames","className","popupClassName"]);var state=(0,_react.useRef)((0,_sharedstoreobject.default)({open:open,options:[],disabled:disabled,selectable:selectable,multiple:multiple,toggle:toggle,fieldNames:_object_spread({},_getoptions.defaultFieldNames,fieldNames),value:[],change:function change(item){if(!item.disabled&&!state.current.disabled){var _value=_to_consumable_array(state.current.value);var key=item[state.current.fieldNames.value];if(state.current.multiple){var idx=_value.indexOf(key);if(idx===-1){_value.push(key)}else{_value.splice(idx,1)}}else if(state.current.toggle&&_value[0]===key){_value=[]}else{_value=[key]}if((0,_common.isFunction)(onChange)){onChange(multiple?_value:_value[0],item)}else{state.current.value=_value}state.current.openChange(false)}},openChange:function openChange(next){if((0,_common.isFunction)(onOpenChange)){onOpenChange(next)}else{state.current.open=next}},renderMenu:function renderMenu(list,option){var _option_fieldNames=option.fieldNames,optionsKey=_option_fieldNames.options,label=_option_fieldNames.label,valueKey=_option_fieldNames.value;return list.map(function(item,i){var _option_activeKey;if(Array.isArray(item[optionsKey])){return _react.default.createElement(_react.default.Fragment,{key:"".concat(item[valueKey],"-").concat(i)},_react.default.createElement("div",{className:(0,_emotion.cx)(_style.cls.group,item.className),style:item.style},item.icon&&_react.default.createElement("span",{className:_style.cls.icon},item.icon),item[label]),state.current.renderMenu(item[optionsKey],option))}return _react.default.createElement("div",{key:"".concat(item[valueKey],"-").concat(i),className:(0,_emotion.cx)(_style.cls.item,item.className,item.danger&&_style.cls.danger,option.selectable&&((_option_activeKey=option.activeKey)===null||_option_activeKey===void 0?void 0:_option_activeKey.includes(item[valueKey]))&&_style.cls.active),"aria-disabled":option.disabled||item.disabled,onClick:function(e){
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _react=_interop_require_wildcard(require("react"));var _common=require("@moneko/common");var _sharedstoreobject=_interop_require_default(require("shared-store-object"));var _style=require("./style");var _emotion=require("../emotion");var _getoptions=_interop_require_wildcard(require("../get-options"));var _popover=_interop_require_default(require("../popover"));function _array_like_to_array(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _array_without_holes(arr){if(Array.isArray(arr))return _array_like_to_array(arr)}function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interop_require_wildcard(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}function _iterable_to_array(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter)}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}function _to_consumable_array(arr){return _array_without_holes(arr)||_iterable_to_array(arr)||_unsupported_iterable_to_array(arr)||_non_iterable_spread()}function _unsupported_iterable_to_array(o,minLen){if(!o)return;if(typeof o==="string")return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(n);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _array_like_to_array(o,minLen)}var Dropdown=function(_param){var options=_param.options,children=_param.children,_param_open=_param.open,open=_param_open===void 0?null:_param_open,selectable=_param.selectable,multiple=_param.multiple,toggle=_param.toggle,value=_param.value,onChange=_param.onChange,onOpenChange=_param.onOpenChange,disabled=_param.disabled,fieldNames=_param.fieldNames,className=_param.className,popupClassName=_param.popupClassName,props=_object_without_properties(_param,["options","children","open","selectable","multiple","toggle","value","onChange","onOpenChange","disabled","fieldNames","className","popupClassName"]);var state=(0,_react.useRef)((0,_sharedstoreobject.default)({open:open,options:[],disabled:disabled,selectable:selectable,multiple:multiple,toggle:toggle,fieldNames:_object_spread({},_getoptions.defaultFieldNames,fieldNames),value:[],preventDefault:function preventDefault(e){e.preventDefault();e.stopPropagation()},change:function change(item){if(!item.disabled&&!state.current.disabled){var _value=_to_consumable_array(state.current.value);var key=item[state.current.fieldNames.value];if(state.current.multiple){var idx=_value.indexOf(key);if(idx===-1){_value.push(key)}else{_value.splice(idx,1)}}else if(state.current.toggle&&_value[0]===key){_value=[]}else{_value=[key]}if((0,_common.isFunction)(onChange)){onChange(multiple?_value:_value[0],item)}else{state.current.value=_value}if(!multiple){state.current.openChange(false)}}},openChange:function openChange(next){if((0,_common.isFunction)(onOpenChange)){onOpenChange(next)}else{state.current.open=next}},renderMenu:function renderMenu(list,option){var _option_fieldNames=option.fieldNames,optionsKey=_option_fieldNames.options,label=_option_fieldNames.label,valueKey=_option_fieldNames.value;return list.map(function(item,i){var _option_activeKey;if(Array.isArray(item[optionsKey])){return _react.default.createElement(_react.default.Fragment,{key:"".concat(item[valueKey],"-").concat(i)},_react.default.createElement("div",{className:(0,_emotion.cx)(_style.cls.group,item.className),style:item.style},item.icon&&_react.default.createElement("span",{className:_style.cls.icon},item.icon),item[label]),state.current.renderMenu(item[optionsKey],option))}return _react.default.createElement("div",{key:"".concat(item[valueKey],"-").concat(i),className:(0,_emotion.cx)(_style.cls.item,item.className,item.danger&&_style.cls.danger,option.selectable&&((_option_activeKey=option.activeKey)===null||_option_activeKey===void 0?void 0:_option_activeKey.includes(item[valueKey]))&&_style.cls.active),"aria-disabled":option.disabled||item.disabled,onMouseDown:state.current.preventDefault,onClick:function(e){state.current.preventDefault(e);state.current.change(item)},style:item.style},item.icon&&_react.default.createElement("span",{className:_style.cls.icon},item.icon),item[label])})}}));var _state_current=state.current,show=_state_current.open,list=_state_current.options,disable=_state_current.disabled,activeKey=_state_current.value,isSelectable=_state_current.selectable,fieldName=_state_current.fieldNames;(0,_react.useEffect)(function(){state.current.toggle=toggle},[toggle]);(0,_react.useEffect)(function(){state.current.open=open},[open]);(0,_react.useEffect)(function(){state.current.selectable=selectable},[selectable]);(0,_react.useEffect)(function(){state.current.value=value?Array.isArray(value)?value:[value]:[]},[value]);(0,_react.useEffect)(function(){state.current.disabled=disabled},[disabled]);(0,_react.useEffect)(function(){state.current("fieldNames",function(prev){return _object_spread({},prev,fieldNames)})},[fieldNames]);(0,_react.useEffect)(function(){state.current.options=(0,_getoptions.default)(options,state.current.fieldNames)},[options]);(0,_react.useEffect)(function(){var _state=state.current;return function(){_state()}},[]);return _react.default.createElement(_popover.default,_object_spread_props(_object_spread({},props),{className:(0,_emotion.cx)(_style.cls.dropdown,className),popupClassName:(0,_emotion.cx)(_style.cls.portal,selectable&&_style.cls.selectable,popupClassName),open:show,onOpenChange:state.current.openChange,disabled:disabled,content:state.current.renderMenu(list,{disabled:disable,fieldNames:fieldName,selectable:isSelectable,activeKey:activeKey})}),children)};var _default=Dropdown;
|
package/lib/select/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _react=_interop_require_wildcard(require("react"));var _common=require("@moneko/common");var _sharedstoreobject=_interop_require_default(require("shared-store-object"));var _style=require("./style");var _dropdown=_interop_require_default(require("../dropdown"));var _emotion=require("../emotion");var _getoptions=_interop_require_wildcard(require("../get-options"));var _input=_interop_require_default(require("../input"));function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interop_require_wildcard(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}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}var Select=function(_param){var className=_param.className,open=_param.open,options=_param.options,label=_param.label,multiple=_param.multiple,value=_param.value,toggle=_param.toggle,disabled=_param.disabled,onChange=_param.onChange,onOpenChange=_param.onOpenChange,fieldNames=_param.fieldNames,popupStyle=_param.popupStyle,props=_object_without_properties(_param,["className","open","options","label","multiple","value","toggle","disabled","onChange","onOpenChange","fieldNames","popupStyle"]);var _kv_val_;var ref=(0,_react.useRef)(null);var state=(0,_react.useRef)((0,_sharedstoreobject.default)({value:[],options:[],kv:{},disabled:disabled,open:open,multiple:multiple,toggle:toggle,fieldNames:_object_spread({},_getoptions.defaultFieldNames,fieldNames),popupStyle:popupStyle,closeTimer:null,openChange:function openChange(next){if((0,_common.isFunction)(onOpenChange)){onOpenChange(next)}else{state.current.open=next}},onChange:function onChange1(val,item){if(!state.current.disabled&&!item.disabled){if((0,_common.isFunction)(onChange)){onChange(val,item)}else{state.current.value=Array.isArray(val)?val:[val]}}},focus:function focus(e){e.preventDefault();e.stopPropagation();state.current.openChange(true)},blur:function blur(e){e.preventDefault();e.stopPropagation();if(state.current.closeTimer){clearTimeout(state.current.closeTimer)}state.current.closeTimer=setTimeout(function(){if(state.current.closeTimer){clearTimeout(state.current.closeTimer);state.current.closeTimer=null}state.current.openChange(false)},150)}}));var _state_current=state.current,show=_state_current.open,val=_state_current.value,disable=_state_current.disabled,kv=_state_current.kv,style=_state_current.popupStyle,fieldName=_state_current.fieldNames,isMultiple=_state_current.multiple;(0,_react.useEffect)(function(){var _ref,_ref_current;state.current.popupStyle=_object_spread_props(_object_spread({},popupStyle),{minWidth:(_ref=isMultiple?ref.current:(_ref_current=ref.current)===null||_ref_current===void 0?void 0:_ref_current.parentElement)===null||_ref===void 0?void 0:_ref.offsetWidth})},[popupStyle,isMultiple,val]);(0,_react.useEffect)(function(){state.current("fieldNames",function(prev){return _object_spread({},prev,fieldNames)})},[fieldNames]);(0,_react.useEffect)(function(){state.current.options=(0,_getoptions.default)(options,state.current.fieldNames);state.current.kv=Object.fromEntries(state.current.options.map(function(item){return[item[state.current.fieldNames.value],item]}))},[options]);(0,_react.useEffect)(function(){state.current.multiple=multiple},[multiple]);(0,_react.useEffect)(function(){state.current.open=open},[open]);(0,_react.useEffect)(function(){state.current.disabled=disabled},[disabled]);(0,_react.useEffect)(function(){state.current.value=value?Array.isArray(value)?value:[value]:[]},[value,isMultiple]);(0,_react.useEffect)(function(){var _state=state.current;return function(){if(_state.closeTimer){clearTimeout(_state.closeTimer)}_state()}},[]);return _react.default.createElement(_dropdown.default,_object_spread_props(_object_spread({},props),{fieldNames:fieldName,className:(0,_emotion.cx)(_style.cls.select,className),options:options,trigger:"none",selectable:true,open:show,onOpenChange:state.current.openChange,disabled:disable,popupStyle:style,multiple:multiple,toggle:toggle,value:val,onChange:state.current.onChange}),isMultiple?_react.default.createElement("div",{ref:ref,className:_style.cls.tags,tabIndex:0,onFocus:state.current.focus,onBlur:state.current.blur,"aria-disabled":disable},val===null||val===void 0?void 0:val.map(function(v,i){var _kv_v;return _react.default.createElement("span",{key:i,className:_style.cls.tag},((_kv_v=kv[v])===null||_kv_v===void 0?void 0:_kv_v[fieldName.label])||v,_react.default.createElement("span",{className:_style.cls.del,onClick:function(e){e.stopPropagation();e.preventDefault();state.current("value",function(prev){return prev.filter(function(old){return old!==v})})}}))})):_react.default.createElement(_input.default,{ref:ref,label:label,disabled:disable,value:((_kv_val_=kv[val[0]])===null||_kv_val_===void 0?void 0:_kv_val_[fieldName.label])||val[0]||"",onFocus:state.current.focus,onBlur:state.current.blur}))};var _default=Select;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"default",{enumerable:true,get:function(){return _default}});var _react=_interop_require_wildcard(require("react"));var _common=require("@moneko/common");var _sharedstoreobject=_interop_require_default(require("shared-store-object"));var _style=require("./style");var _dropdown=_interop_require_default(require("../dropdown"));var _emotion=require("../emotion");var _getoptions=_interop_require_wildcard(require("../get-options"));var _input=_interop_require_default(require("../input"));function _define_property(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}function _interop_require_default(obj){return obj&&obj.__esModule?obj:{default:obj}}function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap;var cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interop_require_wildcard(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}function _object_spread(target){for(var i=1;i<arguments.length;i++){var source=arguments[i]!=null?arguments[i]:{};var ownKeys=Object.keys(source);if(typeof Object.getOwnPropertySymbols==="function"){ownKeys=ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym){return Object.getOwnPropertyDescriptor(source,sym).enumerable}))}ownKeys.forEach(function(key){_define_property(target,key,source[key])})}return target}function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);if(enumerableOnly){symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable})}keys.push.apply(keys,symbols)}return keys}function _object_spread_props(target,source){source=source!=null?source:{};if(Object.getOwnPropertyDescriptors){Object.defineProperties(target,Object.getOwnPropertyDescriptors(source))}else{ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key))})}return target}function _object_without_properties(source,excluded){if(source==null)return{};var target=_object_without_properties_loose(source,excluded);var key,i;if(Object.getOwnPropertySymbols){var sourceSymbolKeys=Object.getOwnPropertySymbols(source);for(i=0;i<sourceSymbolKeys.length;i++){key=sourceSymbolKeys[i];if(excluded.indexOf(key)>=0)continue;if(!Object.prototype.propertyIsEnumerable.call(source,key))continue;target[key]=source[key]}}return target}function _object_without_properties_loose(source,excluded){if(source==null)return{};var target={};var sourceKeys=Object.keys(source);var key,i;for(i=0;i<sourceKeys.length;i++){key=sourceKeys[i];if(excluded.indexOf(key)>=0)continue;target[key]=source[key]}return target}var Select=function(_param){var className=_param.className,open=_param.open,options=_param.options,label=_param.label,multiple=_param.multiple,value=_param.value,toggle=_param.toggle,disabled=_param.disabled,onChange=_param.onChange,onOpenChange=_param.onOpenChange,fieldNames=_param.fieldNames,popupStyle=_param.popupStyle,props=_object_without_properties(_param,["className","open","options","label","multiple","value","toggle","disabled","onChange","onOpenChange","fieldNames","popupStyle"]);var _kv_val_;var ref=(0,_react.useRef)(null);var state=(0,_react.useRef)((0,_sharedstoreobject.default)({value:[],options:[],kv:{},disabled:disabled,open:open,multiple:multiple,toggle:toggle,fieldNames:_object_spread({},_getoptions.defaultFieldNames,fieldNames),popupStyle:popupStyle,closeTimer:null,openChange:function openChange(next){if((0,_common.isFunction)(onOpenChange)){onOpenChange(next)}else{state.current.open=next}},onChange:function onChange1(val,item){if(!state.current.disabled&&!item.disabled){if((0,_common.isFunction)(onChange)){onChange(val,item)}else{state.current.value=Array.isArray(val)?val:[val]}}},focus:function focus(e){e.preventDefault();e.stopPropagation();state.current.openChange(true)},blur:function blur(e){e.preventDefault();e.stopPropagation();if(state.current.closeTimer){clearTimeout(state.current.closeTimer)}state.current.closeTimer=setTimeout(function(){if(state.current.closeTimer){clearTimeout(state.current.closeTimer);state.current.closeTimer=null}state.current.openChange(false)},150)}}));var _state_current=state.current,show=_state_current.open,val=_state_current.value,disable=_state_current.disabled,kv=_state_current.kv,style=_state_current.popupStyle,fieldName=_state_current.fieldNames,isMultiple=_state_current.multiple;(0,_react.useEffect)(function(){var _ref,_ref_current;state.current.popupStyle=_object_spread_props(_object_spread({},popupStyle),{minWidth:(_ref=isMultiple?ref.current:(_ref_current=ref.current)===null||_ref_current===void 0?void 0:_ref_current.parentElement)===null||_ref===void 0?void 0:_ref.offsetWidth})},[popupStyle,isMultiple,val]);(0,_react.useEffect)(function(){state.current("fieldNames",function(prev){return _object_spread({},prev,fieldNames)})},[fieldNames]);(0,_react.useEffect)(function(){state.current.options=(0,_getoptions.default)(options,state.current.fieldNames);state.current.kv=Object.fromEntries(state.current.options.map(function(item){return[item[state.current.fieldNames.value],item]}))},[options]);(0,_react.useEffect)(function(){state.current.multiple=multiple},[multiple]);(0,_react.useEffect)(function(){state.current.open=open},[open]);(0,_react.useEffect)(function(){state.current.disabled=disabled},[disabled]);(0,_react.useEffect)(function(){state.current.value=value?Array.isArray(value)?value:[value]:[]},[value,isMultiple]);(0,_react.useEffect)(function(){var _state=state.current;return function(){if(_state.closeTimer){clearTimeout(_state.closeTimer)}_state()}},[]);return _react.default.createElement(_dropdown.default,_object_spread_props(_object_spread({},props),{fieldNames:fieldName,className:(0,_emotion.cx)(_style.cls.select,className),options:options,trigger:"none",selectable:true,open:show,onOpenChange:state.current.openChange,disabled:disable,popupStyle:style,multiple:multiple,toggle:toggle,value:val,onChange:state.current.onChange}),isMultiple?_react.default.createElement("div",{ref:ref,className:_style.cls.tags,tabIndex:0,onFocus:state.current.focus,onBlur:state.current.blur,"aria-disabled":disable},val===null||val===void 0?void 0:val.map(function(v,i){var _kv_v;return _react.default.createElement("span",{key:i,className:_style.cls.tag},((_kv_v=kv[v])===null||_kv_v===void 0?void 0:_kv_v[fieldName.label])||v,_react.default.createElement("span",{className:_style.cls.del,onClick:function(e){e.stopPropagation();e.preventDefault();state.current("value",function(prev){return prev.filter(function(old){return old!==v})})}}))})):_react.default.createElement(_input.default,{ref:ref,label:label,disabled:disable,value:((_kv_val_=kv[val[0]])===null||_kv_val_===void 0?void 0:_kv_val_[fieldName.label])||val[0]||"",onFocus:state.current.focus,onBlur:state.current.blur,onClickCapture:state.current.focus}))};var _default=Select;
|