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