tg_h5_dist/assets/style-T_0-6M0F.js
2025-07-10 11:11:23 +08:00

1 line
3.6 KiB
JavaScript

import{Field as e,Loading as t,createNamespace as n,extend as r,fieldSharedProps as i,isHidden as a,makeNumericProp as o,makeStringProp as s,pick as c,preventDefault as l,truthProp as u,useEventListener as d,useExpose as f,useId as p,useRect as m,useScrollParent as h,withInstall as g}from"./_plugin-vue_export-helper-Dp3J5O85.js";import{computed as _,createVNode as v,defineComponent as y,mergeProps as b,nextTick as x,onMounted as S,onUpdated as C,ref as w,watch as T}from"./index-KM_aGG6o.js";import{useTabStatus as E}from"./use-tab-status-DUQoSpvZ.js";const[D,O,k]=n(`list`),A={error:Boolean,offset:o(300),loading:Boolean,disabled:Boolean,finished:Boolean,scroller:Object,errorText:String,direction:s(`down`),loadingText:String,finishedText:String,immediateCheck:u};var j=y({name:D,props:A,emits:[`load`,`update:error`,`update:loading`],setup(e,{emit:n,slots:r}){let i=w(e.loading),o=w(),s=w(),c=E(),l=h(o),u=_(()=>e.scroller||l.value),p=()=>{x(()=>{if(i.value||e.finished||e.disabled||e.error||c?.value===!1)return;let{direction:t}=e,r=+e.offset,l=m(u);if(!l.height||a(o))return;let d=!1,f=m(s);d=t===`up`?l.top-f.top<=r:f.bottom-l.bottom<=r,d&&(i.value=!0,n(`update:loading`,!0),n(`load`))})},g=()=>{if(e.finished){let t=r.finished?r.finished():e.finishedText;if(t)return v(`div`,{class:O(`finished-text`)},[t])}},y=()=>{n(`update:error`,!1),p()},b=()=>{if(e.error){let t=r.error?r.error():e.errorText;if(t)return v(`div`,{role:`button`,class:O(`error-text`),tabindex:0,onClick:y},[t])}},D=()=>{if(i.value&&!e.finished&&!e.disabled)return v(`div`,{class:O(`loading`)},[r.loading?r.loading():v(t,{class:O(`loading-icon`)},{default:()=>[e.loadingText||k(`loading`)]})])};return T(()=>[e.loading,e.finished,e.error],p),c&&T(c,e=>{e&&p()}),C(()=>{i.value=e.loading}),S(()=>{e.immediateCheck&&p()}),f({check:p}),d(`scroll`,p,{target:u,passive:!0}),()=>{var t;let n=(t=r.default)?.call(r),a=v(`div`,{ref:s,class:O(`placeholder`)},null);return v(`div`,{ref:o,role:`feed`,class:O(),"aria-busy":i.value},[e.direction===`down`?n:a,D(),g(),b(),e.direction===`up`?n:a])}}});const M=g(j),[N,P,F]=n(`search`),I=r({},i,{label:String,shape:s(`square`),leftIcon:s(`search`),clearable:u,actionText:String,background:String,showAction:Boolean});var L=y({name:N,props:I,emits:[`blur`,`focus`,`clear`,`search`,`cancel`,`clickInput`,`clickLeftIcon`,`clickRightIcon`,`update:modelValue`],setup(t,{emit:n,slots:a,attrs:o}){let s=p(),u=w(),d=()=>{a.action||(n(`update:modelValue`,``),n(`cancel`))},m=e=>{let r=13;e.keyCode===r&&(l(e),n(`search`,t.modelValue))},h=()=>t.id||`${s}-input`,g=()=>{if(a.label||t.label)return v(`label`,{class:P(`label`),for:h(),"data-allow-mismatch":`attribute`},[a.label?a.label():t.label])},_=()=>{if(t.showAction){let e=t.actionText||F(`cancel`);return v(`div`,{class:P(`action`),role:`button`,tabindex:0,onClick:d},[a.action?a.action():e])}},y=()=>{var e;return(e=u.value)?.blur()},x=()=>{var e;return(e=u.value)?.focus()},S=e=>n(`blur`,e),C=e=>n(`focus`,e),T=e=>n(`clear`,e),E=e=>n(`clickInput`,e),D=e=>n(`clickLeftIcon`,e),O=e=>n(`clickRightIcon`,e),k=Object.keys(i),A=()=>{let i=r({},o,c(t,k),{id:h()}),s=e=>n(`update:modelValue`,e);return v(e,b({ref:u,type:`search`,class:P(`field`,{"with-message":i.errorMessage}),border:!1,onBlur:S,onFocus:C,onClear:T,onKeypress:m,onClickInput:E,onClickLeftIcon:D,onClickRightIcon:O,"onUpdate:modelValue":s},i),c(a,[`left-icon`,`right-icon`]))};return f({focus:x,blur:y}),()=>{var e;return v(`div`,{class:P({"show-action":t.showAction}),style:{background:t.background}},[(e=a.left)?.call(a),v(`div`,{class:P(`content`,t.shape)},[g(),A()]),_()])}}});const R=g(L);export{M as List,R as Search};