码桶

发现社区成员的开源项目

geekssl /

wstats

公开
main
wstats/public/assets/index-DIHsQVbu.js
index-DIHsQVbu.js12.4 KB
import{E as ee,r as L,ag as te,b6 as ae,b7 as se,Y as H,Z as G,R as u,a2 as oe,ac as j,a5 as P,a8 as a,aa as $,a1 as ne,ad as z,a9 as ie}from"./index-GWuvg2UH.js";function re(o){return L.createElement("svg",Object.assign({viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",focusable:!1,"aria-hidden":!0},o),L.createElement("circle",{cx:12,cy:12,r:5,fill:"currentColor"}))}const de=ee(re,"radio");function le(o,e,s,t){for(var n=o.length,l=s+(t?1:-1);t?l--:++l<n;)if(e(o[l],l,o))return l;return-1}var ce=le;function ue(o){return o!==o}var he=ue;function pe(o,e,s){for(var t=s-1,n=o.length;++t<n;)if(o[t]===e)return t;return-1}var fe=pe,be=ce,ge=he,Ce=fe;function me(o,e,s){return e===e?Ce(o,e,s):be(o,ge,s)}var Fe=me,ye=se,Ee=ae,_e="[object Boolean]";function ve(o){return o===!0||o===!1||Ee(o)&&ye(o)==_e}var xe=ve;const Re=te(xe),X={PREFIX:`${H}-radio`},Ie={PREFIX:`${H}-radioGroup`},d={DIRECTION_SET:["horizontal","vertical"],DEFAULT_DIRECTION:"horizontal",MODE:["advanced",""],TYPE_DEFAULT:"default",TYPE_BUTTON:"button",TYPE_CARD:"card",TYPE_PURECARD:"pureCard",BUTTON_SIZE:["middle","small","large"]};class Oe extends G{constructor(e){super(Object.assign({},e))}init(){const e=this._getDisplayValue();this._setValue(e)}_getDisplayValue(){const{value:e,defaultValue:s}=this.getProps();let t;return"value"in this.getProps()?t=e:"defaultValue"in this.getProps()&&(t=s),t}handleChange(e){const s=this.getProp("mode"),t=this.getState("value"),{checked:n,value:l}=e.target,b=this._adapter.isInProps("value"),E=Object.assign(Object.assign({},e),{target:Object.assign(Object.assign({},e.target),{value:l})});s==="advanced"&&!n&&(E.target.value=void 0),b||(s==="advanced"&&!n?this._setValue(void 0):this._setValue(l)),(s==="advanced"||t!==l)&&this._adapter.notifyChange(E)}handlePropValueChange(e){this._setValue(e)}_setValue(e){this._adapter.setValue(e)}destroy(){}}const V=u.createContext(null);class Pe extends G{constructor(){super(...arguments),this.handleFocusVisible=e=>{const{target:s}=e;try{s.matches(":focus-visible")&&this._adapter.setFocusVisible(!0)}catch{oe(!0,"Warning: [Semi Radio] The current browser does not support the focus-visible")}},this.handleBlur=()=>{this._adapter.setFocusVisible(!1)}}init(){const{children:e,extra:s,extraId:t,addonId:n}=this._adapter.getProps();e&&!n&&this._adapter.setAddonId(),s&&!t&&this._adapter.setExtraId()}setHover(e){this._adapter.setHover(e)}setChecked(e){this._adapter.setChecked(e)}}class Te extends G{constructor(e){super(Object.assign({},e))}init(){const e=this._adapter.getProp("checked"),s=this._adapter.getProp("defaultChecked");this.setChecked(e||s)}setChecked(e){this._adapter.setNativeControlChecked(e)}getChecked(){return this._adapter.getProp("checked")}handleChange(e){const s="checked"in this.getProps(),{checked:t}=e.target,n=()=>{e.stopPropagation()},l=()=>{e.preventDefault()},b={target:Object.assign(Object.assign({},this.getProps()),{checked:t}),stopPropagation:n,preventDefault:l};s?this._adapter.notifyChange(b):(this.setChecked(t),this._adapter.notifyChange(b))}destroy(){}}class D extends j{constructor(e){super(e),this.state={checked:!1},this.foundation=new Te(this.adapter),this.onChange=this.onChange.bind(this)}get adapter(){return Object.assign(Object.assign({},super.adapter),{setNativeControlChecked:e=>{this.setState({checked:e})},notifyChange:e=>{this.props.onChange(e)}})}componentDidMount(){this.foundation.init()}componentDidUpdate(e){e.checked!==this.props.checked&&this.foundation.setChecked(this.props.checked)}componentWillUnmount(){this.foundation.destroy()}blur(){this.inputEntity.blur()}focus(){const{preventScroll:e}=this.props;this.inputEntity.focus({preventScroll:e})}onChange(e){this.foundation.handleChange(e)}render(){const{disabled:e,mode:s,autoFocus:t,name:n,isButtonRadio:l,isPureCardRadioGroup:b,addonId:E,extraId:g,"aria-label":C,focusInner:_,onInputFocus:T,onInputBlur:x}=this.props,{checked:m}=this.state,h=this.props.prefixCls||X.PREFIX,O=P({[`${h}-inner`]:!0,[`${h}-inner-checked`]:!!m,[`${h}-inner-buttonRadio`]:l,[`${h}-inner-pureCardRadio`]:b}),f=P({[`${h}-focus`]:_,[`${h}-focus-border`]:_&&!m,[`${h}-inner-display`]:!l});return u.createElement("span",{className:O},u.createElement("input",{ref:c=>{this.inputEntity=c},autoFocus:t,type:s==="advanced"?"checkbox":"radio",checked:!!m,disabled:e,onChange:this.onChange,name:n,"aria-label":C,"aria-labelledby":E,"aria-describedby":g,onFocus:T,onBlur:x}),u.createElement("span",{className:f},m?u.createElement(de,null):null))}}D.contextType=V;D.propTypes={checked:a.bool,disabled:a.bool,isButtonRadio:a.bool,onChange:a.func,mode:a.oneOf(["advanced",""]),"aria-label":a.string,focusInner:a.bool,onInputFocus:a.func,onInputBlur:a.func,preventScroll:a.bool};D.defaultProps={onChange:$,isButtonRadio:!1};var ke=function(o,e){var s={};for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&e.indexOf(t)<0&&(s[t]=o[t]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(o);n<t.length;n++)e.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(o,t[n])&&(s[t[n]]=o[t[n]]);return s};class v extends j{constructor(e){super(e),this.onChange=s=>{const{onChange:t}=this.props;if(this.isInGroup()){const{radioGroup:n}=this.context;n.onChange&&n.onChange(s)}!("checked"in this.props)&&this.foundation.setChecked(s.target.checked),t&&t(s)},this.handleMouseEnter=s=>{this.props.onMouseEnter(s),this.foundation.setHover(!0)},this.handleMouseLeave=s=>{this.props.onMouseLeave(s),this.foundation.setHover(!1)},this.handleFocusVisible=s=>{this.foundation.handleFocusVisible(s)},this.handleBlur=s=>{this.foundation.handleBlur()},this.state={hover:!1,addonId:e.addonId,extraId:e.extraId,checked:e.checked||e.defaultChecked||!1},this.foundation=new Pe(this.adapter),this.radioEntity=null}componentDidUpdate(e){this.props.checked!==e.checked&&(ne(this.props.checked)?this.foundation.setChecked(!1):Re(this.props.checked)&&this.foundation.setChecked(this.props.checked))}get adapter(){return Object.assign(Object.assign({},super.adapter),{setHover:e=>{this.setState({hover:e})},setAddonId:()=>{this.setState({addonId:z({prefix:"addon"})})},setChecked:e=>{this.setState({checked:e})},setExtraId:()=>{this.setState({extraId:z({prefix:"extra"})})},setFocusVisible:e=>{this.setState({focusVisible:e})}})}isInGroup(){return this.context&&this.context.radioGroup}focus(){this.radioEntity.focus()}blur(){this.radioEntity.blur()}render(){const e=this.props,{addonClassName:s,addonStyle:t,disabled:n,style:l,className:b,prefixCls:E,displayMode:g,children:C,extra:_,mode:T,type:x,value:m,name:h}=e,O=ke(e,["addonClassName","addonStyle","disabled","style","className","prefixCls","displayMode","children","extra","mode","type","value","name"]);let f,c,k,R,p,i,I,N,F;const{hover:A,addonId:w,extraId:M,focusVisible:S,checked:Y}=this.state,B={checked:Y,disabled:n};this.isInGroup()?(f=this.context.radioGroup.value===m,c=n||this.context.radioGroup.disabled,k=this.context.mode,R=this.context.radioGroup.isButtonRadio,p=this.context.radioGroup.isCardRadio,i=this.context.radioGroup.isPureCardRadio,N=this.context.radioGroup.buttonSize,F=E||this.context.radioGroup.prefixCls,B.checked=f,B.disabled=c):(f=Y,c=n,k=T,I=x==="button",F=E,R=x===d.TYPE_BUTTON,i=x===d.TYPE_PURECARD,p=x===d.TYPE_CARD||i);const y=typeof R>"u"?I:R,r=F||X.PREFIX,W=p||i||y,q=P(r,{[`${r}-disabled`]:c,[`${r}-checked`]:f,[`${r}-${g}`]:!!g,[`${r}-buttonRadioComponent`]:I,[`${r}-buttonRadioGroup`]:R,[`${r}-buttonRadioGroup-${N}`]:R&&N,[`${r}-cardRadioGroup`]:p,[`${r}-cardRadioGroup_disabled`]:c&&p,[`${r}-cardRadioGroup_checked`]:p&&f&&!c,[`${r}-cardRadioGroup_checked_disabled`]:p&&f&&c,[`${r}-cardRadioGroup_hover`]:p&&!f&&A&&!c,[b]:!!b,[`${r}-focus`]:S&&(p||i)}),Z=this.isInGroup()&&this.context.radioGroup.name,J=P({[`${r}-addon`]:!y,[`${r}-addon-buttonRadio`]:y,[`${r}-addon-buttonRadio-checked`]:y&&f,[`${r}-addon-buttonRadio-disabled`]:y&&c,[`${r}-addon-buttonRadio-hover`]:y&&!f&&!c&&A,[`${r}-addon-buttonRadio-${N}`]:y&&N,[`${r}-focus`]:S&&y},s),K=()=>!C&&!_?null:u.createElement("div",{className:P([`${r}-content`,{[`${r}-isCardRadioGroup_content`]:p}])},C?u.createElement("span",{className:J,style:t,id:w,"x-semi-prop":"children"},C):null,_&&!y?u.createElement("div",{className:`${r}-extra`,id:M,"x-semi-prop":"extra"},_):null);return u.createElement("label",Object.assign({style:l,className:q,onMouseEnter:this.handleMouseEnter,onMouseLeave:this.handleMouseLeave},this.getDataAttr(O)),u.createElement(D,Object.assign({},this.props,B,{mode:k,name:h??Z,isButtonRadio:y,isPureCardRadioGroup:i,onChange:this.onChange,ref:Q=>{this.radioEntity=Q},addonId:C&&w,extraId:_&&M,focusInner:S&&!W,onInputFocus:this.handleFocusVisible,onInputBlur:this.handleBlur})),K())}}v.__SemiComponentName__="Radio";v.contextType=V;v.propTypes={autoFocus:a.bool,checked:a.bool,defaultChecked:a.bool,value:a.any,style:a.object,className:a.string,disabled:a.bool,prefixCls:a.string,displayMode:a.oneOf(["vertical",""]),onChange:a.func,onMouseEnter:a.func,onMouseLeave:a.func,mode:a.oneOf(d.MODE),extra:a.node,addonStyle:a.object,addonClassName:a.string,type:a.oneOf([d.TYPE_DEFAULT,d.TYPE_BUTTON,d.TYPE_CARD,d.TYPE_PURECARD]),"aria-label":a.string,preventScroll:a.bool};v.defaultProps=ie(v.__SemiComponentName__,{autoFocus:!1,defaultChecked:!1,value:void 0,style:void 0,onMouseEnter:$,onMouseLeave:$,mode:"",type:"default"});v.elementType="Radio";var Ne=function(o,e){var s={};for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&e.indexOf(t)<0&&(s[t]=o[t]);if(o!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,t=Object.getOwnPropertySymbols(o);n<t.length;n++)e.indexOf(t[n])<0&&Object.prototype.propertyIsEnumerable.call(o,t[n])&&(s[t[n]]=o[t[n]]);return s};class U extends j{constructor(e){super(e),this.onChange=s=>{this.foundation.handleChange(s)},this.getFormatName=()=>this.props.name||"default",this.state={value:e.value||e.defaultValue},this.foundation=new Oe(this.adapter)}componentDidMount(){this.foundation.init()}componentDidUpdate(e){typeof e.value=="number"&&isNaN(e.value)&&typeof this.props.value=="number"&&isNaN(this.props.value)||e.value!==this.props.value&&this.foundation.handlePropValueChange(this.props.value)}componentWillUnmount(){this.foundation.destroy()}get adapter(){return Object.assign(Object.assign({},super.adapter),{setValue:e=>{this.setState({value:e})},getProps:()=>this.props,isInProps:e=>e in this.props,notifyChange:e=>{this.props.onChange&&this.props.onChange(e)}})}render(){const e=this.props,{children:s,options:t,mode:n,prefixCls:l,className:b,style:E,direction:g,type:C,buttonSize:_,id:T}=e,x=Ne(e,["children","options","mode","prefixCls","className","style","direction","type","buttonSize","id"]),m=C===d.TYPE_BUTTON,h=C===d.TYPE_PURECARD,O=C===d.TYPE_CARD||h,f=C===d.TYPE_DEFAULT,c=l||Ie.PREFIX,k=P(b,{[c]:!0,[`${c}-wrapper`]:!0,[`${c}-${g}`]:g&&!m,[`${c}-${g}-default`]:g&&f,[`${c}-${g}-card`]:g&&O,[`${c}-buttonRadio`]:m}),R=this.state.value;let p;return t?p=(t||[]).map((i,I)=>typeof i=="string"?u.createElement(v,{key:I,disabled:this.props.disabled,value:i},i):u.createElement(v,{key:I,disabled:i.disabled||this.props.disabled,value:i.value,extra:i.extra,className:i.className,style:i.style,addonId:i.addonId,addonStyle:i.addonStyle,addonClassName:i.addonClassName,extraId:i.extraId},i.label)):s&&(p=u.Children.map(s,(i,I)=>u.isValidElement(i)?u.cloneElement(i,{key:I}):null)),u.createElement("div",Object.assign({className:k,style:E,id:T,"aria-label":this.props["aria-label"],"aria-invalid":this.props["aria-invalid"],"aria-errormessage":this.props["aria-errormessage"],"aria-labelledby":this.props["aria-labelledby"],"aria-describedby":this.props["aria-describedby"],"aria-required":this.props["aria-required"]},this.getDataAttr(x)),u.createElement(V.Provider,{value:{radioGroup:{onChange:this.onChange,value:R,disabled:this.props.disabled,name:this.getFormatName(),isButtonRadio:m,isCardRadio:O,isPureCardRadio:h,buttonSize:_,prefixCls:l},mode:n}},p))}}U.propTypes={defaultValue:a.any,disabled:a.bool,name:a.string,options:a.array,buttonSize:a.oneOf(d.BUTTON_SIZE),type:a.oneOf([d.TYPE_DEFAULT,d.TYPE_BUTTON,d.TYPE_CARD,d.TYPE_PURECARD]),value:a.any,onChange:a.func,children:a.node,prefixCls:a.string,className:a.string,style:a.object,direction:a.oneOf(d.DIRECTION_SET),mode:a.oneOf(d.MODE),"aria-label":a.string,"aria-describedby":a.string,"aria-errormessage":a.string,"aria-invalid":a.bool,"aria-labelledby":a.string,"aria-required":a.bool,id:a.string};U.defaultProps={disabled:!1,onChange:$,direction:d.DEFAULT_DIRECTION,mode:"",type:d.TYPE_DEFAULT,buttonSize:"middle"};class $e extends v{}$e.Group=U;export{U as R,Re as _,$e as a,v as b,Fe as c,ce as d};