UNPKG

@chief-editor/ui

Version:

UI Component for chief editor

1 lines 3.71 kB
"use strict";var __assign=this&&this.__assign||function(){return(__assign=Object.assign||function(e){for(var n,o=1,t=arguments.length;o<t;o++)for(var r in n=arguments[o])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e}).apply(this,arguments)},__rest=this&&this.__rest||function(e,n){var o={};for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&n.indexOf(t)<0&&(o[t]=e[t]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(t=Object.getOwnPropertySymbols(e);r<t.length;r++)n.indexOf(t[r])<0&&Object.prototype.propertyIsEnumerable.call(e,t[r])&&(o[t[r]]=e[t[r]])}return o},__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var n={};if(null!=e)for(var o in e)Object.hasOwnProperty.call(e,o)&&(n[o]=e[o]);return n.default=e,n};Object.defineProperty(exports,"__esModule",{value:!0});var icons_1=require("@byte-design/icons"),util_1=require("@co-hooks/util"),use_1=require("@rc-hooks/use"),react_1=__importStar(require("react")),hooks_1=require("../../hooks"),input_wrapper_1=require("../input-wrapper"),const_1=require("./const");function Input(e){var n,o=hooks_1.useLocale("input.placeholder"),t=e.className,r=e.disabled,s=void 0!==r&&r,a=e.type,i=void 0===a?"text":a,u=e.invalid,p=void 0!==u&&u,l=e.clearable,d=void 0!==l&&l,c=e.needGrouped,_=void 0===c||c,f=e.value,h=void 0===f?"":f,m=e.prepend,C=e.append,y=e.suffix,v=e.prefix,x=e.style,b=e.onValueChange,O=e.onChange,P=e.onFocus,g=e.onBlur,k=e.onKeyDown,w=e.onKeyUp,E=e.onKeyPress,I=e.onPressEnter,S=e.onCompositionStart,M=e.onCompositionUpdate,K=e.onCompositionEnd,N=e.onMouseEnter,j=e.onMouseLeave,q=e.domRef,U=e.inputRef,A=__rest(e,["className","disabled","type","invalid","clearable","needGrouped","value","prepend","append","suffix","prefix","style","onValueChange","onChange","onFocus","onBlur","onKeyDown","onKeyUp","onKeyPress","onPressEnter","onCompositionStart","onCompositionUpdate","onCompositionEnd","onMouseEnter","onMouseLeave","domRef","inputRef"]),R=react_1.useState(!1),L=R[0],B=R[1],D=react_1.useState(!1),F=D[0],T=D[1],V=use_1.useCombineCallback((function(){return B(!0)}),N),G=use_1.useCombineCallback((function(){return B(!1)}),j),W=use_1.useCombineCallback((function(){return T(!0)}),P),z=use_1.useCombineCallback((function(){return T(!1)}),g),H=hooks_1.usePrefixCls("can-input-grouped",{focus:F}),J=util_1.classnames(hooks_1.usePrefixCls("input-wrapper"),_?H:"",t),Q=hooks_1.usePrefixCls("input-inner__wrapper",{hover:L,focus:F,disabled:s,readonly:A.readOnly,warning:p,"add-prepend":!!m,"add-append":!!C,"add-prefix":!!v,"add-suffix":!(!y&&!d)}),X=hooks_1.usePrefixCls("input"),Y=hooks_1.usePrefixCls("input-suffix"),Z=util_1.classnames(hooks_1.usePrefixCls("input-close-icon"),Y),$=exports.useInputAddOn("input-prepend",m),ee=exports.useInputAddOn("input-prefix",v),ne=exports.useInputAddOn("input-append",C),oe=exports.useInputAddOn("input-suffix",y),te=util_1.pick(A,const_1.INPUT_COMMON_ATTRS),re=te[0],se=te[1];return react_1.default.createElement("span",__assign({},se,{style:x,className:J,ref:q,onMouseEnter:V,onMouseLeave:G}),$,react_1.default.createElement(input_wrapper_1.InputWrapper,__assign({},re,{className:Q,inputClassName:X,prefix:ee,suffix:oe,clear:d&&L&&react_1.default.createElement(icons_1.CloseOne,{theme:"filled",className:Z}),placeholder:null!==(n=re.placeholder)&&void 0!==n?n:o,type:i,disabled:s,value:h,onChange:O,onValueChange:b,onKeyDown:k,onKeyUp:w,onKeyPress:E,onFocus:W,onBlur:z,onPressEnter:I,onCompositionStart:S,onCompositionUpdate:M,onCompositionEnd:K,inputRef:U})),ne)}exports.useInputAddOn=function(e,n){var o=hooks_1.usePrefixCls(e);return n?react_1.default.createElement("span",{className:o},n):null},exports.Input=Input;