1 |
- import{aV as w,bt as pe,bu as P,bv as q,d as E,bw as D,bx as I,by as U,l as y,bz as Oe,bA as me,bB as ne,bC as He,bD as ae,f as c,bE as fe,bF as ie,bG as ve,bH as J,bI as G,bJ as oe,bK as he,e as p,bL as Pe,w as A,bM as z,bN as be,bO as we,as as Z,bP as Ee,aY as le,bQ as Me,bR as De,c as Ae,bS as re,bT as Le,bU as Ne}from"./index-039d4555.js";import{T as Re,c as $e,u as Ve}from"./index-17327900.js";const[_e,B,se]=w("picker"),ge=e=>e.find(n=>!n.disabled)||e[0];function Ie(e,n){const t=e[0];if(t){if(Array.isArray(t))return"multiple";if(n.children in t)return"cascade"}return"default"}function ee(e,n){n=q(n,0,e.length);for(let t=n;t<e.length;t++)if(!e[t].disabled)return t;for(let t=n-1;t>=0;t--)if(!e[t].disabled)return t;return 0}const ce=(e,n,t)=>n!==void 0&&!!e.find(i=>i[t.value]===n);function te(e,n,t){const i=e.findIndex(m=>m[t.value]===n),o=ee(e,i);return e[o]}function Fe(e,n,t){const i=[];let o={[n.children]:e},m=0;for(;o&&o[n.children];){const u=o[n.children],d=t.value[m];if(o=pe(d)?te(u,d,n):void 0,!o&&u.length){const r=ge(u)[n.value];o=te(u,r,n)}m++,i.push(u)}return i}function Ge(e){const{transform:n}=window.getComputedStyle(e),t=n.slice(7,n.length-1).split(", ")[5];return Number(t)}function Ue(e){return P({text:"text",value:"value",children:"children"},e)}const ue=200,de=300,Ke=15,[Te,j]=w("picker-column"),Ce=Symbol(Te);var We=E({name:Te,props:{value:D,fields:I(Object),options:U(),readonly:Boolean,allowHtml:Boolean,optionHeight:I(Number),swipeDuration:I(D),visibleOptionNum:I(D)},emits:["change","clickOption"],setup(e,{emit:n,slots:t}){let i,o,m,u,d;const r=y(),T=y(),b=y(0),g=y(0),S=Oe(),v=()=>e.options.length,x=()=>e.optionHeight*(+e.visibleOptionNum-1)/2,C=s=>{const h=ee(e.options,s),a=-h*e.optionHeight,l=()=>{const f=e.options[h][e.fields.value];f!==e.value&&n("change",f)};i&&a!==b.value?d=l:l(),b.value=a},k=()=>e.readonly||!e.options.length,O=s=>{i||k()||(d=null,g.value=ue,C(s),n("clickOption",e.options[s]))},L=s=>q(Math.round(-s/e.optionHeight),0,v()-1),N=(s,h)=>{const a=Math.abs(s/h);s=b.value+a/.003*(s<0?-1:1);const l=L(s);g.value=+e.swipeDuration,C(l)},R=()=>{i=!1,g.value=0,d&&(d(),d=null)},W=s=>{if(!k()){if(S.start(s),i){const h=Ge(T.value);b.value=Math.min(0,h-x())}g.value=0,o=b.value,m=Date.now(),u=o,d=null}},Y=s=>{if(k())return;S.move(s),S.isVertical()&&(i=!0,fe(s,!0)),b.value=q(o+S.deltaY.value,-(v()*e.optionHeight),e.optionHeight);const h=Date.now();h-m>de&&(m=h,u=b.value)},$=()=>{if(k())return;const s=b.value-u,h=Date.now()-m;if(h<de&&Math.abs(s)>Ke){N(s,h);return}const l=L(b.value);g.value=ue,C(l),setTimeout(()=>{i=!1},0)},V=()=>{const s={height:`${e.optionHeight}px`};return e.options.map((h,a)=>{const l=h[e.fields.text],{disabled:f}=h,_=h[e.fields.value],M={role:"button",style:s,tabindex:f?-1:0,class:[j("item",{disabled:f,selected:_===e.value}),h.className],onClick:()=>O(a)},Be={class:"van-ellipsis",[e.allowHtml?"innerHTML":"textContent"]:l};return c("li",M,[t.option?t.option(h,a):c("div",Be,null)])})};return me(Ce),ne({stopMomentum:R}),He(()=>{const s=e.options.findIndex(l=>l[e.fields.value]===e.value),a=-ee(e.options,s)*e.optionHeight;b.value=a}),ae("touchmove",Y,{target:r}),()=>c("div",{ref:r,class:j(),onTouchstartPassive:W,onTouchend:$,onTouchcancel:$},[c("ul",{ref:T,style:{transform:`translate3d(0, ${b.value+x()}px, 0)`,transitionDuration:`${g.value}ms`,transitionProperty:g.value?"all":"none"},class:j("wrapper"),onTransitionend:R},[V()])])}});const[Ye]=w("picker-toolbar"),K={title:String,cancelButtonText:String,confirmButtonText:String},ke=["cancel","confirm","title","toolbar"],ze=Object.keys(K);var Se=E({name:Ye,props:K,emits:["confirm","cancel"],setup(e,{emit:n,slots:t}){const i=()=>{if(t.title)return t.title();if(e.title)return c("div",{class:[B("title"),"van-ellipsis"]},[e.title])},o=()=>n("cancel"),m=()=>n("confirm"),u=()=>{const r=e.cancelButtonText||se("cancel");return c("button",{type:"button",class:[B("cancel"),ie],onClick:o},[t.cancel?t.cancel():r])},d=()=>{const r=e.confirmButtonText||se("confirm");return c("button",{type:"button",class:[B("confirm"),ie],onClick:m},[t.confirm?t.confirm():r])};return()=>c("div",{class:B("toolbar")},[t.toolbar?t.toolbar():[u(),i(),d()]])}});const[xe,Q]=w("picker-group"),ye=Symbol(xe),je=P({tabs:U(),nextStepText:String},K);E({name:xe,props:je,emits:["confirm","cancel"],setup(e,{emit:n,slots:t}){const i=y(0),{children:o,linkChildren:m}=ve(ye);m();const u=()=>i.value<e.tabs.length-1&&e.nextStepText,d=()=>{u()?i.value++:n("confirm",o.map(T=>T.confirm()))},r=()=>n("cancel");return()=>{var T;const b=(T=t.default)==null?void 0:T.call(t),g=u()?e.nextStepText:e.confirmButtonText;return c("div",{class:Q()},[c(Se,{title:e.title,cancelButtonText:e.cancelButtonText,confirmButtonText:g,onConfirm:d,onCancel:r},J(t,ke)),c(Re,{active:i.value,"onUpdate:active":S=>i.value=S,class:Q("tabs"),shrink:!0,animated:!0,lazyRender:!1},{default:()=>[e.tabs.map((S,v)=>c($e,{title:S,titleClass:Q("tab-title")},{default:()=>[b==null?void 0:b[v]]}))]})])}}});const Qe=P({loading:Boolean,readonly:Boolean,allowHtml:Boolean,optionHeight:G(44),showToolbar:oe,swipeDuration:G(1e3),visibleOptionNum:G(6)},K),Xe=P({},Qe,{columns:U(),modelValue:U(),toolbarPosition:he("top"),columnsFieldNames:Object});var qe=E({name:_e,props:Xe,emits:["confirm","cancel","change","clickOption","update:modelValue"],setup(e,{emit:n,slots:t}){const i=y(),o=y(e.modelValue.slice(0)),{parent:m}=me(ye),{children:u,linkChildren:d}=ve(Ce);d();const r=p(()=>Ue(e.columnsFieldNames)),T=p(()=>Pe(e.optionHeight)),b=p(()=>Ie(e.columns,r.value)),g=p(()=>{const{columns:a}=e;switch(b.value){case"multiple":return a;case"cascade":return Fe(a,r.value,o);default:return[a]}}),S=p(()=>g.value.some(a=>a.length)),v=p(()=>g.value.map((a,l)=>te(a,o.value[l],r.value))),x=p(()=>g.value.map((a,l)=>a.findIndex(f=>f[r.value.value]===o.value[l]))),C=(a,l)=>{if(o.value[a]!==l){const f=o.value.slice(0);f[a]=l,o.value=f}},k=()=>({selectedValues:o.value.slice(0),selectedOptions:v.value,selectedIndexes:x.value}),O=(a,l)=>{C(l,a),b.value==="cascade"&&o.value.forEach((f,_)=>{const M=g.value[_];ce(M,f,r.value)||C(_,M.length?M[0][r.value.value]:void 0)}),Z(()=>{n("change",P({columnIndex:l},k()))})},L=(a,l)=>n("clickOption",P({columnIndex:l,currentOption:a},k())),N=()=>{u.forEach(l=>l.stopMomentum());const a=k();return Z(()=>{n("confirm",a)}),a},R=()=>n("cancel",k()),W=()=>g.value.map((a,l)=>c(We,{value:o.value[l],fields:r.value,options:a,readonly:e.readonly,allowHtml:e.allowHtml,optionHeight:T.value,swipeDuration:e.swipeDuration,visibleOptionNum:e.visibleOptionNum,onChange:f=>O(f,l),onClickOption:f=>L(f,l)},{option:t.option})),Y=a=>{if(S.value){const l={height:`${T.value}px`},f={backgroundSize:`100% ${(a-T.value)/2}px`};return[c("div",{class:B("mask"),style:f},null),c("div",{class:[Ee,B("frame")],style:l},null)]}},$=()=>{const a=T.value*+e.visibleOptionNum,l={height:`${a}px`};return c("div",{ref:i,class:B("columns"),style:l},[W(),Y(a)])},V=()=>{if(e.showToolbar&&!m)return c(Se,we(J(e,ze),{onConfirm:N,onCancel:R}),J(t,ke))};A(g,a=>{a.forEach((l,f)=>{l.length&&!ce(l,o.value[f],r.value)&&C(f,ge(l)[r.value.value])})},{immediate:!0});let s;return A(()=>e.modelValue,a=>{!z(a,o.value)&&!z(a,s)&&(o.value=a.slice(0),s=a.slice(0))},{deep:!0}),A(o,a=>{z(a,e.modelValue)||(s=a.slice(0),n("update:modelValue",s))},{immediate:!0}),ae("touchmove",fe,{target:i}),ne({confirm:N,getSelectedOptions:()=>v.value}),()=>{var a,l;return c("div",{class:B()},[e.toolbarPosition==="top"?V():null,e.loading?c(be,{class:B("loading")},null):null,(a=t["columns-top"])==null?void 0:a.call(t),$(),(l=t["columns-bottom"])==null?void 0:l.call(t),e.toolbarPosition==="bottom"?V():null])}}});const rt=le(qe),[Je,H,Ze]=w("list"),et={error:Boolean,offset:G(300),loading:Boolean,disabled:Boolean,finished:Boolean,errorText:String,direction:he("down"),loadingText:String,finishedText:String,immediateCheck:oe};var tt=E({name:Je,props:et,emits:["load","update:error","update:loading"],setup(e,{emit:n,slots:t}){const i=y(e.loading),o=y(),m=y(),u=Ve(),d=Me(o),r=()=>{Z(()=>{if(i.value||e.finished||e.disabled||e.error||(u==null?void 0:u.value)===!1)return;const{direction:v}=e,x=+e.offset,C=re(d);if(!C.height||Le(o))return;let k=!1;const O=re(m);v==="up"?k=C.top-O.top<=x:k=O.bottom-C.bottom<=x,k&&(i.value=!0,n("update:loading",!0),n("load"))})},T=()=>{if(e.finished){const v=t.finished?t.finished():e.finishedText;if(v)return c("div",{class:H("finished-text")},[v])}},b=()=>{n("update:error",!1),r()},g=()=>{if(e.error){const v=t.error?t.error():e.errorText;if(v)return c("div",{role:"button",class:H("error-text"),tabindex:0,onClick:b},[v])}},S=()=>{if(i.value&&!e.finished&&!e.disabled)return c("div",{class:H("loading")},[t.loading?t.loading():c(be,{class:H("loading-icon")},{default:()=>[e.loadingText||Ze("loading")]})])};return A(()=>[e.loading,e.finished,e.error],r),u&&A(u,v=>{v&&r()}),De(()=>{i.value=e.loading}),Ae(()=>{e.immediateCheck&&r()}),ne({check:r}),ae("scroll",r,{target:d,passive:!0}),()=>{var v;const x=(v=t.default)==null?void 0:v.call(t),C=c("div",{ref:m,class:H("placeholder")},null);return c("div",{ref:o,role:"feed",class:H(),"aria-busy":i.value},[e.direction==="down"?x:C,S(),T(),g(),e.direction==="up"?x:C])}}});const st=le(tt),[nt,X]=w("progress"),at={color:String,inactive:Boolean,pivotText:String,textColor:String,showPivot:oe,pivotColor:String,trackColor:String,strokeWidth:D,percentage:{type:D,default:0,validator:e=>+e>=0&&+e<=100}};var ot=E({name:nt,props:at,setup(e){const n=p(()=>e.inactive?void 0:e.color),t=()=>{const{textColor:i,pivotText:o,pivotColor:m,percentage:u}=e,d=o!=null?o:`${u}%`;if(e.showPivot&&d){const r={color:i,left:`${+u}%`,transform:`translate(-${+u}%,-50%)`,background:m||n.value};return c("span",{style:r,class:X("pivot",{inactive:e.inactive})},[d])}};return()=>{const{trackColor:i,percentage:o,strokeWidth:m}=e,u={background:i,height:Ne(m)},d={width:`${o}%`,background:n.value};return c("div",{class:X(),style:u},[c("span",{class:X("portion",{inactive:e.inactive}),style:d},null),t()])}}});const ct=le(ot),F={"Acoustic Grand Piano":"大钢琴","Bright Acoustic Piano":"明亮的钢琴","Electric Grand Piano":"电钢琴","Rhodes Piano":"柔和的电钢琴","Chorused Piano":"加合唱效果的电钢琴",Harpsichord:"羽管键琴",Clavichord:"科拉维科特琴",Celesta:"钢片琴",Glockenspiel:"钢片琴","Music box":"八音盒",Vibraphone:"颤音琴",Marimba:"马林巴",Xylophone:"木琴","Tubular Bells":"管钟",Dulcimer:"大扬琴","Hammond Organ":"击杆风琴","Percussive Organ":"打击式风琴","Rock Organ":"摇滚风琴","Church Organ":"教堂风琴","Reed Organ":"簧管风琴",Accordian:"手风琴",Harmonica:"口琴","Tango Accordian":"探戈手风琴","Acoustic Guitar":"钢弦吉他","Electric Guitar":"闷音电吉他","Overdriven Guitar":"加驱动效果的电吉他","Distortion Guitar":"加失真效果的电吉他","Guitar Harmonics":"吉他和音","Acoustic Bass":"大贝司","Electric Bass":"电贝司","Fretless Bass":"无品贝司","Slap Bass":"掌击","Synth Bass":"电子合成",Violin:"小提琴",Viola:"中提琴",Cello:"大提琴",Contrabass:"低音大提琴","Tremolo Strings":"弦乐群颤音音色","Pizzicato Strings":"弦乐群拨弦音色","Orchestral Harp":"竖琴",Timpani:"定音鼓","String Ensemble":"弦乐合奏音色","Synth Strings":"合成弦乐合奏音色","Choir Aahs":"人声合唱","Voice Oohs":"人声","Synth Voice":"合成人声","Orchestra Hit":"管弦乐敲击齐奏",Trumpet:"小号",Trombone:"长号",Tuba:"大号","Muted Trumpet":"加弱音器小号","French Horn":"法国号","Brass Section":"铜管组","Synth Brass":"合成铜管音色","Soprano Sax":"高音萨克斯管","Alto Sax":"中音萨克斯管","Tenor Sax":"次中音萨克斯管","Baritone Sax":"低音萨克斯管",Oboe:"双簧管","English Horn":"英国管",Bassoon:"巴松",Clarinet:"单簧管","Soprano Saxophone":"高音萨克斯管","Alto Saxophone":"中音萨克斯管","Tenor Saxophone":"次中音萨克斯管","Baritone Saxophone":"低音萨克斯管",Piccolo:"短笛",Flute:"长笛",Recorder:"竖笛","Soprano Recorder":"高音竖笛","Pan Flute":"排箫","Bottle Blow":"瓶木管",Whistle:"口哨声",Ocarina:"陶笛",Lead:"合成主音","Lead lead":"合成主音","Pad age":"合成音色",Pad:"合成音色",FX:"合成效果 科幻",Sitar:"西塔尔",Banjo:"班卓琴",Shamisen:"三昧线",Koto:"十三弦筝",Kalimba:"卡林巴",Bagpipe:"风笛",Fiddle:"民族提琴",Shanai:"山奈","Tinkle Bell":"叮当铃",Agogos:"阿戈戈铃","Steel Drums":"钢鼓","Taiko Drum":"太鼓","Melodic Toms":"嗵嗵鼓","Synth Drums":"合成鼓","Reverse Cymbals":"反向镲","Agogo Bells":"阿戈戈铃","Taiko Drums":"太鼓",Bongos:"邦戈鼓","Bongo Bell":"邦戈铃",Congas:"康加鼓",Guiro:"刮壶","Guitar Fret Noise":"吉他换把杂音","Breath Noise":"呼吸声",Seashore:"海浪声","Bird Tweet":"鸟鸣","Telephone Ring":"电话铃",Helicopter:"直升机",Applause:"鼓掌声",Gunshot:"枪声","Acoustic Bass Drum":"大鼓","Bass Drum":"大鼓","Side Drum":"小鼓鼓边","Acoustic Snare":"小鼓","Hand Claps":"拍手","Electric Snare":"小鼓","Low Floor Tom":"低音嗵鼓","Closed Hi-Hat":"闭合踩镲","High Floor Tom":"高音落地嗵鼓","Pedal Hi-Hat":"脚踏踩镲","Low Tom":"低音嗵鼓","Open Hi-Hat":"开音踩镲","Low-Mid Tom":"中低音嗵鼓","Hi Mid Tom":"高音鼓","Crash Cymbals":"对镲","High Tom":"高音嗵鼓","Ride Cymbals":"叮叮镲","Chinese Cymbals":"中国镲","Ride Bell":"圆铃",Tambourine:"铃鼓","Splash Cymbal":"溅音镲",Cowbell:"牛铃","Crash Cymbal":"强音钹","Vibra-Slap":"颤音器","Ride Cymbal":"打点钹","Hi Bongo":"高音邦戈鼓","Low Bongo":"低音邦戈鼓","Mute Hi Conga":"弱音高音康加鼓","Open Hi Conga":"强音高音康加鼓","Low Conga":"低音康加鼓","High Timbale":"高音天巴鼓","Low Timbale":"低音天巴鼓","High Agogo":"高音阿戈戈铃","Low Agogo":"低音阿戈戈铃",Cabasa:"卡巴萨",Maracas:"沙锤","Short Whistle":"短口哨","Long Whistle":"长口哨","Short Guiro":"短刮壶","Long Guiro":"长刮壶",Claves:"响棒","Hi Wood Block":"高音木鱼","Low Wood Block":"低音木鱼","Mute Triangle":"弱音三角铁","Open Triangle":"强音三角铁","Drum Set":"架子鼓","Hulusi flute":"葫芦丝",Melodica:"口风琴",Nai:"口风琴","Snare Drum":"小军鼓",Cymbal:"镲",Cymbals:"镲","Horn in F":"圆号",Triangle:"三角铁",Vibrato:"颤音琴","Suspend Cymbals":"吊镲","Suspended Cymbals":"吊镲","Tom-Toms":"嗵嗵鼓",Bell:"铃铛",Bells:"铃铛","Alto Clarinet":"中音单簧管","Bass Clarinet":"低音单簧管",Cornet:"短号",Euphonium:"上低音号","crash cymbals":"对镲",Castanets:"响板",Shaker:"沙锤","Mark tree":"音树",Chimes:"管钟","Mark Tree":"音树","Tom-toms":"嗵嗵鼓","Hi-Hat":"踩镲","Sleigh Bells":"雪橇铃",Flexatone:"弹音器","Brake drum":"闸鼓",Gong:"锣","concert tom":"音乐会嗵嗵鼓","brake drum":"车轮鼓","finger cymbal":"指钹","ride cymbal":"叮叮镲","Concert Toms":"音乐会嗵嗵鼓",Vibraslap:"弹音器","Wood Blocks":"木鱼","Temple Blocks":"木鱼","Wood Block":"木鱼","Field Drum":"军鼓","Quad-Toms":"筒鼓",Quads:"筒鼓","Drums set":"架子鼓","High Bongo":"邦戈",Timbales:"天巴鼓"},ut=(e="")=>{if(e=e.toLocaleLowerCase().replace(/ /g,""),!e)return"";for(let n in F)if(n.toLocaleLowerCase().replace(/ /g,"").includes(e))return F[n];for(let n in F){const t=n.toLocaleLowerCase().replace(/ /g,"");if(e.includes(t))return F[n]}return""},dt=(e,n)=>{let t=0;switch(e){case"长笛":t=1;break;case"单簧管":t=2;break;case"中音单簧管":t=3;break;case"低音单簧管":t=4;break;case"高音萨克斯风":t=5;break;case"中音萨克斯风":t=6;break;case"次中音萨克斯风":t=7;break;case"低音萨克斯风":t=8;break;case"小号":t=9;break;case"长号":t=10;break;case"圆号":t=11;break;case"大号":t=12;break;case"上低音号":t=13;break;default:t=n+14;break}return t};export{st as L,ct as P,rt as a,ut as g,dt as s};
|