ll-package
Version:
2 lines (1 loc) • 2.67 kB
JavaScript
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("../../../../@babel/runtime/helpers/esm/objectSpread2.js"),S=require("../../../../@babel/runtime/helpers/esm/extends.js"),n=require("vue"),N=require("../../_util/classNames.js"),q=require("../../config-provider/hooks/useConfigInject.js"),x=require("../../_util/props-util/initDefaultProps.js"),T=require("../style/index.js"),r=require("../../_util/type.js"),V=require("./MotionThumb.js");function k(e){return e.map(t=>typeof t=="object"&&t!==null?t:{label:t==null?void 0:t.toString(),title:t==null?void 0:t.toString(),value:t})}const $=()=>({prefixCls:String,options:r.arrayType(),block:r.booleanType(),disabled:r.booleanType(),size:r.stringType(),value:S.default(S.default({},r.someType([String,Number])),{required:!0}),motionName:String,onChange:r.functionType(),"onUpdate:value":r.functionType()}),C=(e,t)=>{let{slots:f,emit:h}=t;const{value:i,disabled:u,payload:m,title:o,prefixCls:d,label:s=f.label,checked:v,className:c}=e,b=y=>{u||h("change",y,i)};return n.createVNode("label",{class:N.default({[`${d}-item-disabled`]:u},c)},[n.createVNode("input",{class:`${d}-item-input`,type:"radio",disabled:u,checked:v,onChange:b},null),n.createVNode("div",{class:`${d}-item-label`,title:typeof o=="string"?o:""},[typeof s=="function"?s({value:i,disabled:u,payload:m,title:o}):s??i])])};C.inheritAttrs=!1;const j=n.defineComponent({name:"ASegmented",inheritAttrs:!1,props:x.default($(),{options:[],motionName:"thumb-motion"}),slots:Object,setup(e,t){let{emit:f,slots:h,attrs:i}=t;const{prefixCls:u,direction:m,size:o}=q.default("segmented",e),[d,s]=T.default(u),v=n.shallowRef(),c=n.shallowRef(!1),b=n.computed(()=>k(e.options)),y=(l,a)=>{e.disabled||(f("update:value",a),f("change",a))};return()=>{const l=u.value;return d(n.createVNode("div",g.default(g.default({},i),{},{class:N.default(l,{[s.value]:!0,[`${l}-block`]:e.block,[`${l}-disabled`]:e.disabled,[`${l}-lg`]:o.value=="large",[`${l}-sm`]:o.value=="small",[`${l}-rtl`]:m.value==="rtl"},i.class),ref:v}),[n.createVNode("div",{class:`${l}-group`},[n.createVNode(V.default,{containerRef:v,prefixCls:l,value:e.value,motionName:`${l}-${e.motionName}`,direction:m.value,getValueIndex:a=>b.value.findIndex(p=>p.value===a),onMotionStart:()=>{c.value=!0},onMotionEnd:()=>{c.value=!1}},null),b.value.map(a=>n.createVNode(C,g.default(g.default({key:a.value,prefixCls:l,checked:a.value===e.value,onChange:y},a),{},{className:N.default(a.className,`${l}-item`,{[`${l}-item-selected`]:a.value===e.value&&!c.value}),disabled:!!e.disabled||!!a.disabled}),h))])]))}}});exports.default=j;exports.segmentedProps=$;
;