This commit is contained in:
2026-01-05 12:47:14 +08:00
commit 1fc846fae3
1614 changed files with 162035 additions and 0 deletions

View File

@@ -0,0 +1 @@
"use strict";require("../_utils/env.js");const e=require("../_utils/props.js"),r={...e.commonProps,disabled:e.nullableBooleanProp,iconSize:e.makeNumericProp(""),label:{type:[String,Number,Boolean],default:""},shape:e.makeStringProp("round"),size:e.makeStringProp("normal")},o=Symbol("nut-radio");exports.RADIO_KEY=o,exports.radioProps=r;

View File

@@ -0,0 +1 @@
"use strict";const e=require("../../../../common/vendor.js"),n=require("../_constants/prefix.js"),i=require("../_hooks/useInject.js");require("../_utils/env.js");const u=require("../_utils/pxCheck.js"),o=require("../_utils/style.js"),a=require("../../../../form.js"),c=require("./index.js");Math||t();const t=()=>"../icon/icon.js",s=`${n.PREFIX}-radio`,l=e.defineComponent({name:s,options:{virtualHost:!0,addGlobalClass:!0,styleIsolation:"shared"}}),r=e.defineComponent({...l,props:c.radioProps,setup(n){const t=n,{parent:l}=i.useInject(c.RADIO_KEY),r=a.useFormDisabled(e.toRef(t,"disabled")),p=e.computed((()=>"left"===l.position.value)),h=e.computed((()=>o.getMainClass(t,s,{[`${s}--reverse`]:p.value,[`${s}--${t.shape}`]:!0})));function d(){v.value||r.value||l.updateValue(t.label)}const v=e.computed((()=>l.label.value===t.label)),_=e.computed((()=>r.value?"nut-radio__icon--disable":v.value?"nut-radio__icon":"nut-radio__icon--unchecked")),k=e.computed((()=>`${s}__button ${s}__button--${t.size} ${v.value&&`${s}__button--active`} ${r.value?`${s}__button--disabled`:""}`)),m=e.computed((()=>`${s}__label ${r.value?`${s}__label--disabled`:""}`));return(n,i)=>e.e({a:"button"===n.shape},"button"===n.shape?{b:e.n(k.value)}:p.value?e.e({d:e.n(m.value),e:!v.value},v.value?{g:e.p({name:"check-checked",size:e.unref(u.pxCheck)(n.iconSize),width:e.unref(u.pxCheck)(n.iconSize),height:e.unref(u.pxCheck)(n.iconSize),"pop-class":_.value})}:{f:e.p({name:"check-normal",size:e.unref(u.pxCheck)(n.iconSize),width:e.unref(u.pxCheck)(n.iconSize),height:e.unref(u.pxCheck)(n.iconSize),"pop-class":_.value})}):e.e({h:!v.value},v.value?{j:e.p({name:"check-checked",size:e.unref(u.pxCheck)(n.iconSize),width:e.unref(u.pxCheck)(n.iconSize),height:e.unref(u.pxCheck)(n.iconSize),"pop-class":_.value})}:{i:e.p({name:"check-normal",size:e.unref(u.pxCheck)(n.iconSize),width:e.unref(u.pxCheck)(n.iconSize),height:e.unref(u.pxCheck)(n.iconSize),"pop-class":_.value})},{k:e.n(m.value)}),{c:p.value,l:e.n(h.value),m:e.s(n.customStyle),n:e.o(d)})}});wx.createComponent(r);

View File

@@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"nut-icon": "../icon/icon"
}
}

View File

@@ -0,0 +1 @@
<view class="{{l}}" style="{{m}}" bindtap="{{n}}"><view wx:if="{{a}}" class="{{b}}"><slot/></view><block wx:elif="{{c}}"><view class="{{d}}"><slot/></view><block wx:if="{{e}}"><block wx:if="{{$slots.icon}}"><slot name="icon"></slot></block><block wx:else><nut-icon wx:if="{{f}}" u-i="b1fc265c-0" bind:__l="__l" u-p="{{f}}"/></block></block><block wx:else><block wx:if="{{$slots.checkedIcon}}"><slot name="checkedIcon"></slot></block><block wx:else><nut-icon wx:if="{{g}}" u-i="b1fc265c-1" bind:__l="__l" u-p="{{g}}"/></block></block></block><block wx:else><block wx:if="{{h}}"><block wx:if="{{$slots.icon}}"><slot name="icon"></slot></block><block wx:else><nut-icon wx:if="{{i}}" u-i="b1fc265c-2" bind:__l="__l" u-p="{{i}}"/></block></block><block wx:else><block wx:if="{{$slots.checkedIcon}}"><slot name="checkedIcon"></slot></block><block wx:else><nut-icon wx:if="{{j}}" u-i="b1fc265c-3" bind:__l="__l" u-p="{{j}}"/></block></block><view class="{{k}}"><slot/></view></block></view>

View File

@@ -0,0 +1 @@
.nut-radio-group{display:inline-block}.nut-radio-group .nut-radio{margin-bottom:5px}.nut-radio-group--horizontal .nut-radio{display:inline-flex!important;margin-right:10px!important}.nut-radio-group--horizontal .nut-radio--round .nut-radio__label{margin:0 6px!important}.nut-theme-dark .nut-radio__label{color:var(--nut-dark-color, var(--nut-white, #fff))}.nut-theme-dark .nut-radio__label--disabled{color:var(--nut-radio-label-disable-color, #999)}.nut-theme-dark .nut-radio__button{color:var(--nut-dark-color, var(--nut-white, #fff));background:var(--nut-dark-background, #131313)}.nut-theme-dark .nut-radio__button--disabled{color:var(--nut-radio-label-disable-color, #999);border:1px solid var(--nut-radio-label-disable-color, #999)}.nut-radio{display:flex;flex-shrink:0;align-items:center}.nut-radio:last-child{margin-right:0!important;margin-bottom:0!important}.nut-radio--reverse .nut-radio__label{margin-right:var(--nut-radio-label-margin-left, 15px);margin-left:0}.nut-radio__button{box-sizing:border-box;display:inline-flex;align-items:center;padding:var(--nut-radio-button-padding, 5px 18px);font-size:var(--nut-radio-button-font-size, 12px);color:var(--nut-radio-label-font-color, #1d1e1e);background:#f6f7f9;border:1px solid #f6f7f9;border-radius:var(--nut-radio-button-border-radius, 15px)}.nut-radio__button--active{position:relative;color:var(--nut-radio-label-font-active-color, var(--nut-primary-color, #fa2c19));background:transparent;border:1px solid var(--nut-radio-label-button-border-color, var(--nut-primary-color, #fa2c19))}.nut-radio__button--active:after{position:absolute;top:0;left:0;width:100%;height:100%;content:"";background-color:var(--nut-radio-label-button-background, var(--nut-primary-color, #fa2c19));border-radius:var(--nut-radio-button-border-radius, 15px);opacity:.05}.nut-radio__button--disabled{color:var(--nut-radio-label-disable-color, #999);border:none}.nut-radio__button--large{height:var(--nut-button-large-height, 48px);font-size:var(--nut-button-large-font-size, var(--nut-button-default-font-size, var(--nut-font-size-2, 14px)));line-height:var(--nut-button-large-line-height, 46px)}.nut-radio__button--small{height:var(--nut-button-small-height, 28px);padding:var(--nut-button-small-padding, 0 12px);font-size:var(--nut-button-small-font-size, var(--nut-font-size-1, 12px));line-height:var(--nut-button-small-line-height, 26px)}.nut-radio__button--mini{height:var(--nut-button-mini-height, 24px);padding:var(--nut-button-mini-padding, 0 12px);font-size:var(--nut-button-mini-font-size, var(--nut-font-size-1, 12px));line-height:var(--nut-button-mini-line-height, 1.2)}.nut-radio__label{flex:1;margin-left:var(--nut-radio-label-margin-left, 15px);font-size:var(--nut-radio-label-font-size, 14px);color:var(--nut-radio-label-font-color, #1d1e1e)}.nut-radio__label--disabled{color:var(--nut-radio-label-disable-color, #999)}.nut-radio__icon{color:var(--nut-radio-label-font-active-color, var(--nut-primary-color, #fa2c19));transition-duration:.3s;transition-property:color,border-color,background-color}.nut-radio__icon--unchecked{color:var(--nut-radio-icon-disable-color, #d6d6d6)}.nut-radio__icon--disable{color:var(--nut-radio-icon-disable-color2, var(--nut-help-color, #f5f5f5))}