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