1 line
4.2 KiB
JavaScript
1 line
4.2 KiB
JavaScript
import{A as e,D as t,E as n,G as r,J as i,K as a,M as o,N as s,R as c,St as l,Tt as u,X as d,et as f,k as p,n as m,pt as h,xt as g}from"./BasicIcon-B6lR-mG3.js";import{d as _,f as v,g as y,h as b,m as x,o as S,p as C,t as w,u as T,y as E}from"./format-BHJptHdF.js";var D={class:`form-group`},O={key:0,class:`form-label`},k=[`value`,`placeholder`,`disabled`],A={key:1,class:`input-error-text`},j={key:2,class:`form-hint`},M=m(c({__name:`CurrencyInput`,props:{modelValue:{},label:{},placeholder:{},hint:{},error:{},disabled:{type:Boolean}},emits:[`update:modelValue`],setup(t,{emit:n}){let r=t,a=n,c=h(``);f(()=>r.modelValue,e=>{let t=w(e??``);c.value=t?S(Number(t)):``},{immediate:!0});function d(e){let t=e.target,n=w(t.value);c.value=n?S(Number(n)):``,a(`update:modelValue`,n)}return(n,r)=>(i(),s(`div`,D,[t.label?(i(),s(`label`,O,u(t.label),1)):o(``,!0),e(`input`,{class:l([`input`,{"input-error":t.error}]),type:`text`,inputmode:`numeric`,dir:`ltr`,value:c.value,placeholder:t.placeholder,disabled:t.disabled,onInput:d},null,42,k),t.error?(i(),s(`p`,A,u(t.error),1)):t.hint?(i(),s(`p`,j,u(t.hint),1)):o(``,!0)]))}}),[[`__scopeId`,`data-v-4691da38`]]),N={key:0,class:`form-label`},P=[`disabled`],F={class:`persian-date-input__header`},I={class:`persian-date-input__month`},L={class:`persian-date-input__weekdays`},R={class:`persian-date-input__grid`},z={key:0,class:`persian-date-input__cell persian-date-input__cell--empty`},B=[`onClick`],V={key:2,class:`input-error-text`},H={key:3,class:`form-hint`},U=m(c({__name:`PersianDateInput`,props:{modelValue:{},label:{},placeholder:{},hint:{},error:{},disabled:{type:Boolean}},emits:[`update:modelValue`],setup(c,{emit:m}){let S=c,w=m,D=h(null),O=h(!1),k=h(E().jy),A=h(E().jm),j=p(()=>b(S.modelValue??``)),M=p(()=>{if(!j.value)return``;let{jy:e,jm:t,jd:n}=j.value;return x(e,t,n)}),U=p(()=>C(k.value,A.value)),W=p(()=>`${_[A.value-1]} ${T(String(k.value))}`);f(()=>S.modelValue,e=>{let t=b(e??``);t&&(k.value=t.jy,A.value=t.jm)},{immediate:!0});function G(){S.disabled||(O.value=!O.value)}function K(){O.value=!1}function q(e){w(`update:modelValue`,y(k.value,A.value,e)),K()}function J(e){let t=A.value+e,n=k.value;t>12?(t=1,n+=1):t<1&&(t=12,--n),A.value=t,k.value=n}function Y(){let e=E();k.value=e.jy,A.value=e.jm,w(`update:modelValue`,y(e.jy,e.jm,e.jd)),K()}function X(e){if(!j.value)return!1;let{jy:t,jm:n,jd:r}=j.value;return t===k.value&&n===A.value&&r===e}function Z(e){let t=E();return t.jy===k.value&&t.jm===A.value&&t.jd===e}function Q(e){D.value?.contains(e.target)||K()}return a(()=>{document.addEventListener(`click`,Q)}),r(()=>{document.removeEventListener(`click`,Q)}),(r,a)=>(i(),s(`div`,{ref_key:`rootRef`,ref:D,class:`form-group persian-date-input`},[c.label?(i(),s(`label`,N,u(c.label),1)):o(``,!0),e(`button`,{type:`button`,class:l([`input persian-date-input__trigger`,{"input-error":c.error,"is-open":O.value}]),disabled:c.disabled,onClick:n(G,[`stop`])},[e(`span`,{class:l({"persian-date-input__placeholder":!M.value})},u(M.value||c.placeholder||`انتخاب تاریخ`),3),a[3]||=e(`span`,{class:`persian-date-input__icon`,"aria-hidden":`true`},[e(`svg`,{width:`18`,height:`18`,viewBox:`0 0 24 24`,fill:`none`},[e(`rect`,{x:`3`,y:`5`,width:`18`,height:`16`,rx:`2`,stroke:`currentColor`,"stroke-width":`1.5`}),e(`path`,{d:`M8 3v4M16 3v4M3 10h18`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`})])],-1)],10,P),O.value?(i(),s(`div`,{key:1,class:`persian-date-input__panel`,onClick:a[2]||=n(()=>{},[`stop`])},[e(`div`,F,[e(`button`,{type:`button`,class:`persian-date-input__nav`,onClick:a[0]||=e=>J(-1)},`‹`),e(`strong`,I,u(W.value),1),e(`button`,{type:`button`,class:`persian-date-input__nav`,onClick:a[1]||=e=>J(1)},`›`)]),e(`div`,L,[(i(!0),s(t,null,d(g(v),e=>(i(),s(`span`,{key:e},u(e),1))),128))]),e(`div`,R,[(i(!0),s(t,null,d(U.value,(e,n)=>(i(),s(t,{key:n},[e===null?(i(),s(`span`,z)):(i(),s(`button`,{key:1,type:`button`,class:l([`persian-date-input__cell`,{"persian-date-input__cell--selected":X(e),"persian-date-input__cell--today":Z(e)}]),onClick:t=>q(e)},u(g(T)(String(e))),11,B))],64))),128))]),e(`button`,{type:`button`,class:`persian-date-input__today`,onClick:Y},`امروز`)])):o(``,!0),c.error?(i(),s(`p`,V,u(c.error),1)):c.hint?(i(),s(`p`,H,u(c.hint),1)):o(``,!0)],512))}}),[[`__scopeId`,`data-v-69b2c009`]]);export{M as n,U as t}; |