mirror of
https://github.com/pure-admin/vue-pure-admin.git
synced 2025-06-08 09:27:19 +08:00
2 lines
2.4 KiB
JavaScript
2 lines
2.4 KiB
JavaScript
var w=Object.defineProperty;var i=Object.getOwnPropertySymbols;var D=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable;var h=(t,l,s)=>l in t?w(t,l,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[l]=s,o=(t,l)=>{for(var s in l||(l={}))D.call(l,s)&&h(t,s,l[s]);if(i)for(var s of i(l))L.call(l,s)&&h(t,s,l[s]);return t};import{u as S}from"./hooks-gfek4MGg.js";import{d as A,r as n,at as N,aO as y,aP as X,Y as q,i as r,O as V,N as R,s as p,aq as O,U as z}from"./index-3m0KmRGm.js";const Y={width:1024,height:1024,body:'<path fill="currentColor" d="M512 128L128 447.936V896h255.936V640H640v256h255.936V447.936z"/>'},H={options:{type:Array,default:()=>[]},modelValue:{type:void 0,require:!1,default:"0"}},P=A({name:"ReSegmented",props:H,emits:["change","update:modelValue"],setup(t,{emit:l}){const s=n(0),v=n(0),{isDark:g}=N(),b=n(!1),c=n(-1),m=n(""),f=O(),d=y(t.modelValue)?X(t,"modelValue"):n(0);function M({option:e,index:a},u){e.disabled||(u.preventDefault(),y(t.modelValue)?l("update:modelValue",a):d.value=a,m.value="",l("change",{index:a,option:e}))}function k({option:e,index:a},u){u.preventDefault(),c.value=a,e.disabled||d.value===a?m.value="":m.value=g.value?"#1f1f1f":"rgba(0, 0, 0, 0.06)"}function C(e,a){a.preventDefault(),c.value=-1}function I(e=d.value){p(()=>{var u;const a=(u=f==null?void 0:f.proxy)==null?void 0:u.$refs[`labelRef${e}`];s.value=a.clientWidth,v.value=a.offsetLeft,b.value=!0})}q(()=>d.value,e=>{p(()=>{I(e)})},{deep:!0,immediate:!0});const $=()=>t.options.map((e,a)=>r("label",{ref:`labelRef${a}`,class:["pure-segmented-item",(e==null?void 0:e.disabled)&&"pure-segmented-item-disabled"],style:{background:c.value===a?m.value:"",color:!e.disabled&&(d.value===a||c.value===a)?g.value?"rgba(255, 255, 255, 0.85)":"rgba(0,0,0,.88)":""},onMouseenter:u=>k({option:e,index:a},u),onMouseleave:u=>C({option:e,index:a},u),onClick:u=>M({option:e,index:a},u)},[r("input",{type:"radio",name:"segmented"},null),r("div",{class:"pure-segmented-item-label"},[e.icon&&!V(e.label)?r("span",{class:"pure-segmented-item-icon",style:{marginRight:e.label?"6px":0}},[R(S(e.icon,o({},e==null?void 0:e.iconAttrs)))]):null,e.label?V(e.label)?R(e.label):r("span",null,[e.label]):null])]));return()=>r("div",{class:"pure-segmented"},[r("div",{class:"pure-segmented-group"},[r("div",{class:"pure-segmented-item-selected",style:{width:`${s.value}px`,transform:`translateX(${v.value}px)`,display:b.value?"block":"none"}},null),$()])])}}),_=z(P);export{_ as R,Y as d};
|