UNPKG

amis-playground

Version:

amis-playground 是一个amis在线代码编辑器可实时预览运行效果

2 lines (1 loc) 18.7 kB
import{a as G,b1 as xe,w as de,D as ie,j as O,k as E,b2 as le,R as d,b3 as ce,n as K,e as v,Q as j,aJ as he,b4 as Oe,I as B,b5 as ve,S as Ee,O as Ne,P as Te,b6 as we,U as re,b7 as Ve,f as D,p as X,q as y,aT as Ie,b8 as oe,b9 as Se,ap as Pe,X as N,ak as ke}from"./index-7c288cb3.js";var ue=function(f){G(i,f);function i(t){var e=f.call(this,t)||this,n=t.value;return e.state={isOpen:!1,inputValue:t.multiple||t.creatable===!1?"":e.valueToString(n),isFocused:!1,revealPassword:!1},e.focus=e.focus.bind(e),e.clearValue=e.clearValue.bind(e),e.toggleRevealPassword=e.toggleRevealPassword.bind(e),e.inputRef=e.inputRef.bind(e),e.handleClick=e.handleClick.bind(e),e.handleFocus=e.handleFocus.bind(e),e.handleBlur=e.handleBlur.bind(e),e.handleInputChange=e.handleInputChange.bind(e),e.handleKeyDown=e.handleKeyDown.bind(e),e.handleChange=e.handleChange.bind(e),e.handleStateChange=e.handleStateChange.bind(e),e.loadAutoComplete=xe(e.loadAutoComplete.bind(e),250,{trailing:!0,leading:!1}),e}return i.prototype.componentDidMount=function(){var t=this,e=this.props,n=e.formItem,a=e.autoComplete,s=e.addHook,u=e.formInited,r=e.data,o=e.name;de(a,r)&&n&&(u?n.loadOptions(a,ie(r,{term:""})):s&&(this.unHook=s(function(p){return O(t,void 0,void 0,function(){return E(this,function(l){switch(l.label){case 0:return[4,n.loadOptions(a,ie(p,{term:""}))];case 1:return l.sent(),n.value&&Se(p,o,n.value),[2]}})})},"init")))},i.prototype.componentDidUpdate=function(t){var e=this.props;t.value!==e.value&&this.setState({inputValue:e.multiple||e.creatable===!1?"":this.valueToString(e.value)}),t.revealPassword!==e.revealPassword&&!e.revealPassword&&this.setState({revealPassword:!1})},i.prototype.componentWillUnmount=function(){this.unHook&&this.unHook()},i.prototype.inputRef=function(t){this.input=t},i.prototype.doAction=function(t,e,n,a){var s=t==null?void 0:t.actionType;s==="reset"?this.resetValue():s==="clear"?this.clearValue():s==="focus"?this.focus():s==="review"?this.setState({revealPassword:!0}):s==="encrypt"&&this.setState({revealPassword:!1})},i.prototype.focus=function(){if(this.input){this.input.focus();var t=this.input.value.length;t&&(this.input.type==="email"?(this.input.type="text",this.input.setSelectionRange(t,t),this.input.type="email"):this.input.setSelectionRange(t,t))}},i.prototype.resetValue=function(){var t,e;return O(this,void 0,void 0,function(){var n,a,s,u,r,o,p,l,c,m=this;return E(this,function(g){switch(g.label){case 0:return n=this.props,a=n.onChange,s=n.dispatchEvent,u=n.resetValue,r=n.formStore,o=n.store,p=n.name,l=(e=Pe((t=r==null?void 0:r.pristine)!==null&&t!==void 0?t:o==null?void 0:o.pristine,p))!==null&&e!==void 0?e:u,[4,s("change",N(this.props,{value:l}))];case 1:return c=g.sent(),c!=null&&c.prevented?[2]:(a(l),this.setState({inputValue:l},function(){m.loadAutoComplete()}),[2])}})})},i.prototype.clearValue=function(){return O(this,void 0,void 0,function(){var t,e,n,a,s,u,r,o=this;return E(this,function(p){switch(p.label){case 0:return t=this.props,e=t.onChange,n=t.dispatchEvent,a=t.clearValueOnEmpty,s=this.props.resetValue,a&&s===""&&(s=void 0),[4,n("clear",N(this.props,{value:s}))];case 1:return u=p.sent(),u!=null&&u.prevented?[2]:[4,n("change",N(this.props,{value:s}))];case 2:return r=p.sent(),r!=null&&r.prevented?[2]:(e(s),this.setState({inputValue:s},function(){o.loadAutoComplete()}),[2])}})})},i.prototype.removeItem=function(t){var e=this.props,n=e.selectedOptions,a=e.onChange,s=n.concat();s.splice(t,1),a(this.normalizeValue(s))},i.prototype.handleClick=function(){return O(this,void 0,void 0,function(){var t,e,n,a;return E(this,function(s){switch(s.label){case 0:return t=this.props,e=t.dispatchEvent,n=t.value,[4,e("click",N(this.props,{value:n}))];case 1:return a=s.sent(),a!=null&&a.prevented?[2]:(this.state.isFocused||this.focus(),this.setState({isOpen:!0}),[2])}})})},i.prototype.handleFocus=function(t){return O(this,void 0,void 0,function(){var e,n,a,s,u;return E(this,function(r){switch(r.label){case 0:return e=this.props,n=e.dispatchEvent,a=e.onFocus,s=e.value,this.setState({isOpen:!0,isFocused:!0}),[4,n("focus",N(this.props,{value:s}))];case 1:return u=r.sent(),u!=null&&u.prevented?[2]:(a==null||a(t),[2])}})})},i.prototype.handleBlur=function(t){return O(this,void 0,void 0,function(){var e,n,a,s,u,r,o,p=this;return E(this,function(l){switch(l.label){case 0:return e=this.props,n=e.onBlur,a=e.trimContents,s=e.value,u=e.onChange,r=e.dispatchEvent,this.setState({isFocused:!1},function(){if(a&&s&&typeof s=="string"){var c=s.trim();p.input&&(p.input.value=c),u(c)}}),[4,r("blur",N(this.props,{value:s}))];case 1:return o=l.sent(),o!=null&&o.prevented?[2]:(n&&n(t),[2])}})})},i.prototype.close=function(){this.setState({isFocused:!1})},i.prototype.handleInputChange=function(t){return O(this,void 0,void 0,function(){var e,n,a,s,u,r,o,p=this;return E(this,function(l){switch(l.label){case 0:return e=this.transformValue(t.currentTarget.value),n=this.props,a=n.creatable,s=n.multiple,u=n.onChange,r=n.dispatchEvent,[4,r("change",N(this.props,{value:e}))];case 1:return o=l.sent(),o!=null&&o.prevented?[2]:(this.setState({inputValue:e},function(){a!==!1&&!s&&(u==null||u(e)),p.loadAutoComplete()}),[2])}})})},i.prototype.handleKeyDown=function(t){var e;return O(this,void 0,void 0,function(){var n,a,s,u,r,o,p,c,l,c,m;return E(this,function(g){switch(g.label){case 0:return n=this.props,a=n.selectedOptions,s=n.onChange,u=n.multiple,r=n.creatable,o=n.dispatchEvent,p=((e=this.props)===null||e===void 0?void 0:e.valueField)||"value",a.length&&!this.state.inputValue&&t.keyCode===8?(t.preventDefault(),c=a.concat(),c.pop(),s(this.normalizeValue(c)),this.setState({inputValue:""},this.loadAutoComplete),[3,4]):[3,1];case 1:return t.key==="Enter"&&this.state.inputValue&&typeof this.highlightedIndex!="number"&&r!==!1?(t.preventDefault(),l=this.state.inputValue,u&&l&&(ke(a,function(P){return P[p]==l})?l=this.normalizeValue(a).concat():(c=a.concat(),c.push({label:l,value:l}),l=this.normalizeValue(c).concat())),[4,o("enter",N(this.props,{value:l}))]):[3,3];case 2:return m=g.sent(),m!=null&&m.prevented?[2]:(s(l),this.setState({inputValue:u?"":l,isOpen:!1},this.loadAutoComplete),[3,4]);case 3:t.key==="Enter"&&this.state.isOpen&&typeof this.highlightedIndex!="number"&&this.setState({isOpen:!1}),g.label=4;case 4:return[2]}})})},i.prototype.handleChange=function(t){var e=this.props,n=e.onChange,a=e.multiple,s=e.options,u=e.selectedOptions,r=e.creatable,o=e.valueField,p=s.find(function(c){return c[o||"value"]===t});if(a){var l=u.concat();p&&l.push(p),n(this.normalizeValue(l))}else n(p?this.normalizeValue(p):t);(a||r===!1)&&this.setState({inputValue:""},this.loadAutoComplete)},i.prototype.handleStateChange=function(t){var e=this.props.creatable,n=this.props.multiple||this.props.multi;switch(t.type){case le.stateChangeTypes.itemMouseEnter:this.setState({isOpen:!0});break;case le.stateChangeTypes.changeInput:this.setState({isOpen:!0});break;default:var a={};typeof t.isOpen<"u"&&(a.isOpen=t.isOpen),typeof t.highlightedIndex<"u"&&(this.highlightedIndex=t.highlightedIndex),!n&&e===!1&&this.state.isOpen&&t.isOpen===!1&&(a.inputValue=""),this.setState(a);break}},i.prototype.handleNormalInputChange=function(t){return O(this,void 0,void 0,function(){var e,n,a,s,u,r,o;return E(this,function(p){switch(p.label){case 0:return e=this.props,n=e.onChange,a=e.dispatchEvent,s=e.trimContents,u=e.clearValueOnEmpty,r=this.transformValue(t.currentTarget.value),typeof r=="string"&&(s&&(r=r.trim()),u&&r===""&&(r=void 0)),[4,a("change",N(this.props,{value:r}))];case 1:return o=p.sent(),o!=null&&o.prevented?[2]:(n(r),[2])}})})},i.prototype.normalizeValue=function(t){var e=this.props,n=e.multiple,a=e.delimiter,s=e.joinValues,u=e.extractValue,r=e.valueField,o=Array.isArray(t)?t:t?[t]:[];if(s)return o.map(function(l){return l[r||"value"]}).join(a||",");if(u){var p=o.map(function(l){return l[r||"value"]});return n?p:p[0]}else return n?o:o[0]},i.prototype.transformValue=function(t){var e=this.props.transform;return e&&Object.keys(e).forEach(function(n){var a=e[n];switch(n){case"lowerCase":a&&(t=t.toLowerCase());break;case"upperCase":a&&(t=t.toUpperCase());break}}),t},i.prototype.loadAutoComplete=function(){var t=this.props,e=t.formItem,n=t.autoComplete,a=t.data;de(n,a)&&e&&e.loadOptions(n,ie(a,{term:this.state.inputValue||""}),{extendsOptions:!0})},i.prototype.reload=function(){var t=this.props.reloadOptions;t&&t()},i.prototype.valueToString=function(t){return typeof t>"u"||t===null?"":typeof t=="string"?t:t instanceof Date?t.toISOString():JSON.stringify(t)},i.prototype.getTarget=function(){var t;return(t=this.input)===null||t===void 0?void 0:t.parentElement},i.prototype.renderSugestMode=function(){var t=this,e,n=this.props,a=n.className;n.style;var s=n.inputControlClassName,u=n.nativeInputClassName,r=n.inputOnly,o=n.value,p=n.placeholder,l=n.classnames,c=n.disabled,m=n.readOnly,g=n.name,P=n.loading,L=n.clearable,k=n.options,V=n.selectedOptions,F=n.autoComplete,b=n.labelField,h=n.valueField,I=n.multiple,x=n.creatable,_=n.borderMode,M=n.showCounter,Y=n.data,T=n.maxLength,Z=n.minLength,$=n.translate,J=n.loadingConfig,W=n.popOverContainer,q=n.themeCss,w=n.css,z=n.id,me=n.nativeAutoComplete,ee=n.testIdBuilder,fe=(e=this.props.type)===null||e===void 0?void 0:e.replace(/^(?:native|input)\-/,"");return d.createElement(le,{isOpen:this.state.isOpen&&!c&&!m,inputValue:this.state.inputValue,onChange:this.handleChange,onStateChange:this.handleStateChange,selectedItem:V.map(function(S){return S[h||"value"]})},function(S){var U,te,ne,Ce=S.getInputProps,ge=S.getItemProps,H=S.isOpen,Q=S.inputValue,ae=S.selectedItem,ye=S.highlightedIndex,A=Q&&H&&!F?ce(k,Q,{keys:[b||"label",h||"value"],threshold:ce.rankings.CONTAINS}):k,be=H?Fe(A,ae):{};A=A.filter(function(C){return!~ae.indexOf(C.value)}),t.state.inputValue&&x!==!1&&I&&!A.some(function(C){return C.value===t.state.inputValue})&&!~ae.indexOf(t.state.inputValue)&&A.push((U={},U[b||"label"]=t.state.inputValue,U[h||"value"]=t.state.inputValue,U.isNew=!0,U));var pe=K(p,Y);return d.createElement("div",v({className:l("TextControl-input TextControl-input--withAC",s,j(v(v({},t.props),{name:"inputControlClassName",id:z,themeCss:q||w})),j(v(v({},t.props),{name:"inputControlClassName",id:z,themeCss:q||w,extra:"inner"})),r?a:"",(te={"is-opened":H,"TextControl-input--multiple":I},te["TextControl-input--border".concat(he(_))]=_,te)),onClick:t.handleClick},ee==null?void 0:ee.getTestId()),d.createElement(d.Fragment,null,pe&&!V.length&&!t.state.inputValue&&!t.state.isFocused?d.createElement("div",{className:l("TextControl-placeholder")},pe):null,V.map(function(C,R){return I?d.createElement("div",{className:l("TextControl-value"),key:R},d.createElement(Oe,{className:l("TextControl-valueLabel"),tooltip:"".concat(C[b||"label"])},"".concat(C[b||"label"])),d.createElement(B,{icon:"close",className:l("TextControl-valueIcon","icon"),onClick:t.removeItem.bind(t,R)})):Q&&H||x!==!1?null:d.createElement("div",{className:l("TextControl-value"),key:R},C.label)}),d.createElement(ve,v({},Ce({name:g,ref:t.inputRef,disabled:c,readOnly:m,type:fe,onFocus:t.handleFocus,onBlur:t.handleBlur,onChange:t.handleInputChange,onKeyDown:t.handleKeyDown,maxLength:T,minLength:Z}),{autoComplete:me,size:10,className:l(u)}))),L&&!c&&!m&&o?d.createElement("a",{onClick:t.clearValue,className:l("TextControl-clear")},d.createElement(B,{icon:"input-clear",className:"icon",iconContent:"InputText-clear"})):null,M?d.createElement("span",{className:l("TextControl-counter")},"".concat((ne=t.valueToString(o))===null||ne===void 0?void 0:ne.length).concat(typeof T=="number"&&T?"/".concat(T):"")):null,P?d.createElement(Ee,{show:!0,icon:"reload",size:"sm",spinnerClassName:l("TextControl-spinner"),loadingConfig:J}):null,d.createElement(Ne,{container:W||t.getTarget,target:t.getTarget,show:!!(H&&A.length)},d.createElement(Te,{className:l("TextControl-popover"),style:{width:t.input?t.input.parentElement.offsetWidth:"auto"}},d.createElement("div",{className:l("TextControl-sugs")},A.map(function(C){var R=C[b||"label"],se=C[h||"value"];return d.createElement("div",v({},ge({item:se,disabled:C.disabled,className:l("TextControl-sugItem",{"is-highlight":ye===be[se],"is-disabled":C.disabled||C.readOnly})}),{key:se}),C.isNew?d.createElement("span",null,$("Text.add",{label:R}),d.createElement(B,{icon:"enter",className:"icon"})):d.createElement("span",null,C.disabled?R:we(R,Q),C.tip))})))))})},i.prototype.toggleRevealPassword=function(){return O(this,void 0,void 0,function(){var t,e,n,a,s;return E(this,function(u){switch(u.label){case 0:return t=this.props,e=t.dispatchEvent,n=t.value,a=this.state.revealPassword?"encrypt":"review",[4,e(a,N(this.props,{value:n}))];case 1:return s=u.sent(),s!=null&&s.prevented||s!=null&&s.stoped?[2]:(this.setState({revealPassword:!this.state.revealPassword}),[2])}})})},i.prototype.renderNormal=function(){var t,e,n,a=this.props;a.classPrefix;var s=a.classnames,u=a.className;a.style;var r=a.inputControlClassName,o=a.nativeInputClassName,p=a.inputOnly,l=a.value,c=a.placeholder;a.onChange;var m=a.disabled,g=a.readOnly,P=a.max,L=a.min,k=a.step,V=a.clearable,F=a.revealPassword,b=F===void 0?!0:F,h=a.name,I=a.borderMode,x=a.prefix,_=a.suffix,M=a.data,Y=a.showCounter,T=a.maxLength,Z=a.minLength,$=a.themeCss,J=a.css,W=a.id,q=a.nativeAutoComplete,w=a.testIdBuilder,z=(e=this.props.type)===null||e===void 0?void 0:e.replace(/^(?:native|input)\-/,"");return d.createElement("div",v({className:s("TextControl-input",(t={},t["TextControl-input--border".concat(he(I))]=I,t),j(v(v({},this.props),{name:"inputControlClassName",id:W,themeCss:$||J})),j(v(v({},this.props),{name:"inputControlClassName",id:W,themeCss:$||J,extra:"inner"})),r,p?u:"")},w==null?void 0:w.getTestId()),x?d.createElement("span",{className:s("TextControl-inputPrefix")},K(x,M)):null,d.createElement(ve,v({name:h,placeholder:K(c,M),ref:this.inputRef,disabled:m,readOnly:g,type:this.state.revealPassword?"text":z,onFocus:this.handleFocus,onBlur:this.handleBlur,max:P,min:L,maxLength:T,minLength:Z,autoComplete:q,size:10,step:k,onChange:this.handleNormalInputChange,value:this.valueToString(l),className:s(o,{"TextControl-input-password":z==="password"&&b})},w==null?void 0:w.getChild("input").getTestId())),V&&!m&&!g&&l?d.createElement("a",{onClick:this.clearValue,className:s("TextControl-clear")},d.createElement(B,{icon:"input-clear",className:"icon",iconContent:"InputText-clear"})):null,z==="password"&&b&&!m?d.createElement("a",{onClick:this.toggleRevealPassword,className:s("TextControl-revealPassword")},this.state.revealPassword?d.createElement(B,{icon:"view",className:s("TextControl-icon-view"),classNameProp:s("TextControl-icon-view"),iconContent:"InputText-view"}):d.createElement(B,{icon:"invisible",className:s("TextControl-icon-invisible"),classNameProp:s("TextControl-icon-invisible"),iconContent:"InputText-invisible"})):null,Y?d.createElement("span",{className:s("TextControl-counter")},"".concat((n=this.valueToString(l))===null||n===void 0?void 0:n.length).concat(typeof T=="number"&&T?"/".concat(T):"")):null,_?d.createElement("span",{className:s("TextControl-inputSuffix")},K(_,M)):null)},i.prototype.renderBody=function(t){var e,n,a=this.props,s=a.classnames,u=a.className,r=a.style,o=a.classPrefix,p=a.addOn,l=a.render,c=a.data,m=a.disabled,g=a.readOnly,P=a.inputOnly,L=a.static,k=a.addOnClassName,V=a.themeCss,F=a.css,b=a.id,h=typeof p=="string"?{label:p,type:"plain"}:p,I=d.createElement(B,{cx:s,icon:h==null?void 0:h.icon,className:"Icon"}),x=h&&!L?h.actionType||~["button","submit","reset","action"].indexOf(h.type)?d.createElement("div",{className:s("".concat(o,"TextControl-button"),k,j(v(v({},this.props),{name:"addOnClassName",id:b,themeCss:V||F,extra:"addOn"})))},l("addOn",h,{disabled:m})):d.createElement("div",{className:s("".concat(o,"TextControl-addOn"),k,j(v(v({},this.props),{name:"addOnClassName",id:b,themeCss:V||F,extra:"addOn"})))},I,h.label?K(h.label,c):null):null;if(P)return t;var _=L?s("".concat(o,"TextControl"),(n={},n["".concat(o,"TextControl--withAddOn")]=!!x,n)):s(u,"".concat(o,"TextControl"),(e={},e["".concat(o,"TextControl--withAddOn")]=!!x,e["is-focused"]=this.state.isFocused,e["is-disabled"]=m||g,e));return d.createElement("div",{className:_,style:r},h&&h.position==="left"?x:null,t,h&&h.position!=="left"?x:null)},i.prototype.render=function(){var t=this.props,e=t.options,n=t.source,a=t.autoComplete,s=t.themeCss,u=t.css,r=t.id,o=t.env,p=t.classPrefix,l=a!==!1&&(n||e!=null&&e.length||a)?this.renderSugestMode():this.renderNormal();return d.createElement(d.Fragment,null,this.renderBody(l),d.createElement(re,v({},this.props,{config:{themeCss:s||u,classNames:[{key:"inputControlClassName",weights:{focused:{parent:".".concat(p,"TextControl.is-focused")},disabled:{parent:".".concat(p,"TextControl.is-disabled")}}}],id:r},env:o})),d.createElement(re,v({},this.props,{config:{themeCss:Ve(s||u),classNames:[{key:"inputControlClassName",weights:{default:{inner:"input"},hover:{inner:"input"},focused:{parent:".".concat(p,"TextControl.is-focused"),inner:"input"},disabled:{parent:".".concat(p,"TextControl.is-disabled"),inner:"input"}}}],id:r&&r+"-inner"},env:o})),d.createElement(re,v({},this.props,{config:{themeCss:s||u,classNames:[{key:"addOnClassName"}],id:r&&r+"-addOn"},env:o})))},i.defaultProps={resetValue:"",labelField:"label",valueField:"value",placeholder:"",allowInputText:!0,trimContents:!0,nativeAutoComplete:"off"},D([X,y("design:type",Function),y("design:paramtypes",[]),y("design:returntype",void 0)],i.prototype,"close",null),D([X,y("design:type",Function),y("design:paramtypes",[Object]),y("design:returntype",Promise)],i.prototype,"handleNormalInputChange",null),D([X,y("design:type",Function),y("design:paramtypes",[]),y("design:returntype",void 0)],i.prototype,"getTarget",null),D([X,Ie(),y("design:type",Function),y("design:paramtypes",[]),y("design:returntype",Object)],i.prototype,"render",null),i}(d.PureComponent);function Fe(f,i,t){return t===void 0&&(t="value"),f.filter(function(e){return i.indexOf(e[t||"value"])===-1}).reduce(function(e,n,a){return e[n[t||"value"]]=a,e},{})}var Ae=function(f){G(i,f);function i(){return f!==null&&f.apply(this,arguments)||this}return i=D([oe({type:"input-text",alias:["input-password","native-date","native-time","native-number"]})],i),i}(ue),Re=function(f){G(i,f);function i(){return f!==null&&f.apply(this,arguments)||this}return i=D([oe({type:"input-email",validations:"isEmail"})],i),i}(ue),Be=function(f){G(i,f);function i(){return f!==null&&f.apply(this,arguments)||this}return i=D([oe({type:"input-url",validations:"isUrl"})],i),i}(ue);export{Re as EmailControlRenderer,Ae as TextControlRenderer,Be as UrlControlRenderer,ue as default,Fe as mapItemIndex};