zaman-backoffice 1.3.12 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs.js
CHANGED
@@ -300,4 +300,4 @@
|
|
300
300
|
border: 1px solid ${e=>e.theme.colors.gray[40]};
|
301
301
|
background-color: #fff;
|
302
302
|
border-radius: ${e=>T[e.theme.round].wrapper}px;
|
303
|
-
`;exports.Calendar=De,exports.CalendarProvider=Ce,exports.DatePicker=t=>{const{defaultValue:n,locale:r="fa",weekends:a=[],direction:o="rtl",accentColor:i,controlledValue:s,clearable:l=!1}=t;e.useMemo((()=>B.setLocale(r)),[r]);const c=e.useRef(null),u=e.useRef(null),[d,m]=e.useState(void 0!==n?new Date(n):void 0),[f,h]=e.useState(!0===t.range&&void 0!==t.from?new Date(t.from):void 0),[p,y]=e.useState(!0===t.range&&void 0!==t.to?new Date(t.to):void 0),[g,v]=e.useState(!1);e.useEffect((()=>{s&&s!==d&&m(s)}),[s]),Ee(u,(()=>v(!1)));const b=()=>{v(!g)},x=e.useMemo((()=>{var e;const n=null!==(e=null==t?void 0:t.customShowDateFormat)&&void 0!==e?e:ve[r].format;return void 0===t.range&&void 0!==d?fe(d,n):void 0!==f&&void 0!==p?`\n ${fe(f,n)}\n -\n ${fe(p,n)}\n `:""}),[d,f,p]);return e.createElement(Ce,{accentColor:i,round:t.round,direction:o},l&&!0!==(null==t?void 0:t.range)?e.createElement("div",{style:{display:"flex",alignItems:"center"}},e.createElement("input",Object.assign({ref:c},null==t?void 0:t.inputAttributes,{onClick:b,type:"text",value:x,className:null!==t.inputClass?t.inputClass:"",readOnly:!0})),e.createElement("button",{onClick:()=>{!1===t.range&&m(void 0),h(void 0),y(void 0)},style:{border:"solid 0.5px",color:"gray",borderRadius:"100%",height:20,width:20,paddingTop:0,background:"transparent",marginRight:"-10%"}},"x")):e.createElement("input",Object.assign({ref:c},null==t?void 0:t.inputAttributes,{onClick:b,type:"text",value:x,className:null!==t.inputClass?t.inputClass:"",readOnly:!0})),e.createElement(C,{toggleOpen:b,showCalendar:g,destinationRef:c,position:t.position},e.createElement(De,{defaultValue:d,ref:u,className:t.className,weekends:a,onChange:e=>{if(!0===t.range&&"function"==typeof t.onChange){const n="from"in e?e.from:new Date,r="to"in e?e.to:new Date;h(n),y(r),t.onChange({from:n,to:r})}else if((!1===t.range||void 0===t.range)&&"function"==typeof t.onChange){const n="value"in e?e.value:new Date;m(n),t.onChange({value:n})}},range:t.range,from:!0===t.range?t.from:void 0,to:!0===t.range?t.to:void 0})))},exports.TimePicker=t=>{const{defaultValue:n,onChange:r,round:a="x2",locale:o="fa",clockTime:i=24}=t;e.useMemo((()=>B.setLocale(o)),[o]);const s=e.useRef(null),l=e.useRef(null),[c,u]=e.useState(!1),[d,m]=e.useState("am");Ee(l,(()=>u(!1)));const f=()=>{u(!c)},{hour:h,minute:p,isInsideHour:y,selectingHour:g,handleMouseMove:v,handleMouseUp:b,handleSelecting:x}=(({defaultValue:t,clockTime:n,timeConvention:r,onChange:a})=>{const o=void 0!==t?J(t):J().startOf("date"),[i,s]=e.useState(!1),[l,c]=e.useState(!1),[u,d]=e.useState(!1),m=24===n?"HH":"h",[f,h]=e.useState(parseInt(o.format(m),10)),[p,y]=e.useState(parseInt(o.format("mm"),10)),g=e=>{const{value:t}=Ae(e,6);y(t)},v=e=>{const{value:t,delta:r}=Ae(e);24!==n?h(t):Math.round(r)<85?(h(t),d(!0)):(h(t+12),d(!1))};return{hour:f,minute:p,isInsideHour:u,selectingHour:l,handleMouseMove:e=>{if(e.preventDefault(),i)return l?v(e):g(e)},handleMouseUp:()=>{if(l)return"function"==typeof a&&a(Object.assign({hour:f,minute:p},12===n&&{timeConvention:r})),s(!1),c(!1),void d(!1);s(!1),c(!0)},handleSelecting:e=>(s(!0),l?v(e):g(e))}})({defaultValue:n,clockTime:i,timeConvention:d,onChange:r}),$=e.useMemo((()=>`${h}:${p}`),[h,p]);return e.createElement(Ce,{accentColor:t.accentColor,round:a},e.createElement("input",Object.assign({ref:s},null==t?void 0:t.inputAttributes,{onClick:f,type:"text",value:$,className:null!==t.inputClass?t.inputClass:"",readOnly:!0})),e.createElement(C,{toggleOpen:f,showCalendar:c,destinationRef:s},e.createElement(qe,{ref:l},e.createElement(Ne,null,12===i?e.createElement(He,null,e.createElement(je,{className:"am"===d?"cl_selected":"",onClick:()=>m("am")},ve[o].am),e.createElement(je,{className:"pm"===d?"cl_selected":"",onClick:()=>m("pm")},ve[o].pm)):null,e.createElement(Ie,null,A(h),":",A(p))),e.createElement(Te,{onMouseMove:v,onMouseUp:b,onMouseDown:x,onTouchMove:x,onTouchEnd:b},e.createElement(Oe,{value:g?h:p,hour:h,minute:p,isSelectingHour:g,isInsideHour:y},e.createElement(Le,{isSelectingHour:g})),e.createElement(Xe,{insideHour:y,hourSelecting:g,clockTime:i})))))};
|
303
|
+
`;exports.Calendar=De,exports.CalendarProvider=Ce,exports.DatePicker=t=>{const{defaultValue:n,locale:r="fa",weekends:a=[],direction:o="rtl",accentColor:i,controlledValue:s=null,clearable:l=!1}=t;e.useMemo((()=>B.setLocale(r)),[r]);const c=e.useRef(null),u=e.useRef(null),[d,m]=e.useState(void 0!==n?new Date(n):void 0),[f,h]=e.useState(!0===t.range&&void 0!==t.from?new Date(t.from):void 0),[p,y]=e.useState(!0===t.range&&void 0!==t.to?new Date(t.to):void 0),[g,v]=e.useState(!1);e.useEffect((()=>{null!==s&&s!==d&&m(s)}),[s]),Ee(u,(()=>v(!1)));const b=()=>{v(!g)},x=e.useMemo((()=>{var e;const n=null!==(e=null==t?void 0:t.customShowDateFormat)&&void 0!==e?e:ve[r].format;return void 0===t.range&&void 0!==d?fe(d,n):void 0!==f&&void 0!==p?`\n ${fe(f,n)}\n -\n ${fe(p,n)}\n `:""}),[d,f,p]);return e.createElement(Ce,{accentColor:i,round:t.round,direction:o},l&&!0!==(null==t?void 0:t.range)?e.createElement("div",{style:{display:"flex",alignItems:"center"}},e.createElement("input",Object.assign({ref:c},null==t?void 0:t.inputAttributes,{onClick:b,type:"text",value:x,className:null!==t.inputClass?t.inputClass:"",readOnly:!0})),e.createElement("button",{onClick:()=>{!1===t.range&&m(void 0),h(void 0),y(void 0)},style:{border:"solid 0.5px",color:"gray",borderRadius:"100%",height:20,width:20,paddingTop:0,background:"transparent",marginRight:"-10%"}},"x")):e.createElement("input",Object.assign({ref:c},null==t?void 0:t.inputAttributes,{onClick:b,type:"text",value:x,className:null!==t.inputClass?t.inputClass:"",readOnly:!0})),e.createElement(C,{toggleOpen:b,showCalendar:g,destinationRef:c,position:t.position},e.createElement(De,{defaultValue:d,ref:u,className:t.className,weekends:a,onChange:e=>{if(!0===t.range&&"function"==typeof t.onChange){const n="from"in e?e.from:new Date,r="to"in e?e.to:new Date;h(n),y(r),t.onChange({from:n,to:r})}else if((!1===t.range||void 0===t.range)&&"function"==typeof t.onChange){const n="value"in e?e.value:new Date;m(n),t.onChange({value:n})}},range:t.range,from:!0===t.range?t.from:void 0,to:!0===t.range?t.to:void 0})))},exports.TimePicker=t=>{const{defaultValue:n,onChange:r,round:a="x2",locale:o="fa",clockTime:i=24}=t;e.useMemo((()=>B.setLocale(o)),[o]);const s=e.useRef(null),l=e.useRef(null),[c,u]=e.useState(!1),[d,m]=e.useState("am");Ee(l,(()=>u(!1)));const f=()=>{u(!c)},{hour:h,minute:p,isInsideHour:y,selectingHour:g,handleMouseMove:v,handleMouseUp:b,handleSelecting:x}=(({defaultValue:t,clockTime:n,timeConvention:r,onChange:a})=>{const o=void 0!==t?J(t):J().startOf("date"),[i,s]=e.useState(!1),[l,c]=e.useState(!1),[u,d]=e.useState(!1),m=24===n?"HH":"h",[f,h]=e.useState(parseInt(o.format(m),10)),[p,y]=e.useState(parseInt(o.format("mm"),10)),g=e=>{const{value:t}=Ae(e,6);y(t)},v=e=>{const{value:t,delta:r}=Ae(e);24!==n?h(t):Math.round(r)<85?(h(t),d(!0)):(h(t+12),d(!1))};return{hour:f,minute:p,isInsideHour:u,selectingHour:l,handleMouseMove:e=>{if(e.preventDefault(),i)return l?v(e):g(e)},handleMouseUp:()=>{if(l)return"function"==typeof a&&a(Object.assign({hour:f,minute:p},12===n&&{timeConvention:r})),s(!1),c(!1),void d(!1);s(!1),c(!0)},handleSelecting:e=>(s(!0),l?v(e):g(e))}})({defaultValue:n,clockTime:i,timeConvention:d,onChange:r}),$=e.useMemo((()=>`${h}:${p}`),[h,p]);return e.createElement(Ce,{accentColor:t.accentColor,round:a},e.createElement("input",Object.assign({ref:s},null==t?void 0:t.inputAttributes,{onClick:f,type:"text",value:$,className:null!==t.inputClass?t.inputClass:"",readOnly:!0})),e.createElement(C,{toggleOpen:f,showCalendar:c,destinationRef:s},e.createElement(qe,{ref:l},e.createElement(Ne,null,12===i?e.createElement(He,null,e.createElement(je,{className:"am"===d?"cl_selected":"",onClick:()=>m("am")},ve[o].am),e.createElement(je,{className:"pm"===d?"cl_selected":"",onClick:()=>m("pm")},ve[o].pm)):null,e.createElement(Ie,null,A(h),":",A(p))),e.createElement(Te,{onMouseMove:v,onMouseUp:b,onMouseDown:x,onTouchMove:x,onTouchEnd:b},e.createElement(Oe,{value:g?h:p,hour:h,minute:p,isSelectingHour:g,isInsideHour:y},e.createElement(Le,{isSelectingHour:g})),e.createElement(Xe,{insideHour:y,hourSelecting:g,clockTime:i})))))};
|
package/dist/index.js
CHANGED
@@ -222,7 +222,7 @@ import e,{useRef as t,useEffect as n,useMemo as r,useState as o,useCallback as a
|
|
222
222
|
overflow: auto;
|
223
223
|
padding-top: 8px;
|
224
224
|
padding-bottom: 8px;
|
225
|
-
`,Se=t=>{const n=parseInt($e(t.value,"YYYY","latn"),10),o=r((()=>((e,t=80,n=50)=>{const r=parseInt(me(e,"latn"),10),o=r+n,a=[];for(let e=r-t;e<=o;e++)a.push(e);return a})(t.value)),[]),a=e.useCallback((e=>{if(null===e)return;const t=e.querySelector("button[data-selected=true]");if(null!=t){const{height:n,top:r}=e.getBoundingClientRect(),{top:o}=t.getBoundingClientRect();e.scrollTop=Math.abs(r-o)-n/2}}),[]);return e.createElement(Ce,{ref:a},o.map((r=>e.createElement(De,{className:"zm-YearPickerButton",key:r,width:90,height:48,"data-selected":n===r,"aria-selected":n===r,"aria-current":"date",type:"button",tabIndex:0,onClick:()=>t.onYearSelect(r)},J(r)))))},Te=e=>!0===e.range,Oe=e=>{const[t,r]=o(!1),[i,s]=o(void 0!==e.from?new Date(e.from):void 0),[l,c]=o(void 0!==e.to?new Date(e.to):void 0),u=a((e=>{const{value:n}=e.currentTarget.dataset;t||(void 0!==n&&(s(new Date(n)),c(null)),r(!0)),t&&null===l&&(void 0!==n&&(c(new Date(n)),d(i,new Date(n))),r(!1)),t&&void 0!==l&&(d(i,l),r(!1))}),[i,l]),d=(t,n)=>{"function"==typeof e.onChange&&Te(e)&&null!=t&&null!=n&&e.onChange({from:t,to:n})};return n((()=>{null!=e.controlledRangeValue&&(s(e.controlledRangeValue[0]),c(e.controlledRangeValue[1]))}),[e.controlledRangeValue]),{handlers:Object.assign({onClick:t=>!0===e.range?u(t):(t=>{const{value:n,disabled:r}=t.currentTarget.dataset;if(void 0!==n&&"true"!==r)return Te(e)||"function"!=typeof e.onChange||e.onChange({value:new Date(n)}),n})(t)},!0===e.range&&{onMouseMove:e=>{const{value:n}=e.currentTarget.dataset;t&&void 0!==n&&re(n).isAfter(re(i))&&c(new Date(n))}}),from:i,to:l}},Le=i(((a,i)=>{const{locale:l}=X,{defaultValue:c,weekends:u,controlledValue:d,range:m=!1}=a,h=void 0===c?new Date:c,[f,p]=o("days"),[y,g]=o(void 0!==c?new Date(c):void 0),v=r((()=>we(y)),[y]),[b,x]=o([v]),$=t([]),w=(({daysElementRefs:e,days:n,setDays:r})=>{const o=t(!1),a=n[0].middleOfMonth,i=t=>requestAnimationFrame((()=>{o.current=!0;const[n,a]=e.current;n.style.transform=`translateX(${Me()}px)`,a.style.transform=`translateX(${Me()}px)`,requestAnimationFrame((()=>{a.style.transition=`transform 250ms ${S}`,a.style.transform="translateX(0px)",n.style.transition=`transform 250ms ${S}`,n.style.transform="translateX(0px)",setTimeout((()=>{r((e=>e.filter((e=>e.id===t.id)))),n.style.transition=null,n.style.transform=null,o.current=!1}),300)}))})),s=t=>{requestAnimationFrame((()=>{o.current=!0;const[n,a]=e.current;n.style.transition=`transform 250ms ${S}`,n.style.transform=`translateX(${Me()}px)`,a.style.transition=`transform 250ms ${S}`,a.style.transform=`translateX(${Me()}px)`,setTimeout((()=>{r((e=>e.filter((e=>e.id===t.id)))),a.style.transition=null,a.style.transform=null,o.current=!1}),300)}))};return{slideToTheNextMonth:()=>{if(o.current)return;const e=re(a).add(1,"month"),t=we(e.toDate());r([...n,t]),s(t)},slideToPrevMonth:()=>{if(o.current)return;const e=re(a).subtract(1,"month"),t=we(e.toDate());r([t,...n]),i(t)},slideToCurrentMonth:()=>{if(o.current)return;const e=ue(new Date);console.log(e);const t=re(new Date).subtract(e-1,"days").add(15,"days");console.log("middle of the month",t.toDate());const l=we(t.toDate());r([...n,l]),re(a).isAfter(t)&&(console.log("we re animating right "),i(l)),re(a.getMonth()).isBefore(t.get("month"))&&(console.log("we re animating left"),s(l))}}})({daysElementRefs:$,days:b,setDays:x}),{from:M,to:k,handlers:D}=Oe(a);s(i,(()=>({todayTransitionHandler:()=>w.slideToCurrentMonth()})),[w,i]);return n((()=>{d!==y&&void 0!==d&&g(d)}),[d]),e.createElement(A,{className:null!==a.className?a.className:""},e.createElement(ee,{monthName:b[0].monthName,onNextClick:()=>{if("days"===f)return w.slideToTheNextMonth()},onPrevClick:()=>{if("days"===f)return w.slideToPrevMonth()},onClickOnTitle:()=>{p("month"!==f&&"year"!==f?"year":"days")}}),"year"===f?e.createElement(Se,{value:h,onYearSelect:e=>{const t=((e,t)=>{const n=t-parseInt(me(e,"latn"),10);return n>0?re(e).add(n,"years").toDate():re(e).subtract(Math.abs(n),"years").toDate()})(h,e);x([we(t)]),p("month")}}):null,"month"===f?e.createElement(_e,{value:h,onMonthSelect:e=>{const t=((e,t)=>{const n=t-parseInt(he(e,"latn"),10);return n>0?re(e).add(n,"months").toDate():re(e).subtract(Math.abs(n),"months").toDate()})(b[0].middleOfMonth,e);x([we(t)]),p("days")}}):null,"days"===f?e.createElement(e.Fragment,null,e.createElement(R,null,Ee[l].shortWeekDays.map((t=>e.createElement(K,{key:t.key},t.name)))),e.createElement(W,null,b.map(((t,n)=>e.createElement(z,{key:t.id,className:"item",ref:e=>{$.current[n]=e},role:"rowgroup"},t.weeks.map(((t,n)=>e.createElement(P,{key:n,role:"row","aria-rowindex":n+1},t.map(((t,n)=>e.createElement(De,Object.assign({key:t.date.getTime(),className:"zm-DaysButton","data-value":t.date,"data-disabled":t.disabled,"data-range":a.range,"data-selected":!m&&ge(y,t.date),"data-start-range":null!=M&&ge(M,t.date),"data-in-range":ve(t.date,M,k),"data-end-range":null!=k&&ge(k,t.date),"data-weekend":null==u?void 0:u.some((e=>e===n)),type:"button",role:"gridcell","aria-colindex":n+1,tabIndex:0,"aria-selected":!m&&ge(h,t.date)},D),e.createElement(ke,{className:"cl-text"},$e(t.date,"DD"))))))))))))):null)}));function Ne(e,t){n((()=>{function n({target:n}){null!=e.current&&"function"==typeof e.current.contains&&n instanceof Node&&!e.current.contains(n)&&t()}return document.addEventListener("mousedown",n),document.body.addEventListener("click",n),()=>{document.removeEventListener("mousedown",n),document.body.removeEventListener("click",n)}}),[e,t])}Le.displayName="Calendar";const Ie=(e,t,n)=>`hsl(${e}deg ${t}% ${n}%)`,He=e=>{const{h:t,s:n,l:r}=function(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(null==t)throw new Error("Could not parse Hex Color");const n=parseInt(t[1],16)/255,r=parseInt(t[2],16)/255,o=parseInt(t[3],16)/255,a=Math.max(n,r,o),i=Math.min(n,r,o);let s=(a+i)/2,l=s,c=s;if(a===i)return{h:0,s:0,l:c};const u=a-i;switch(l=c>.5?u/(2-a-i):u/(a+i),a){case n:s=(r-o)/u+(r<o?6:0);break;case r:s=(o-n)/u+2;break;case o:s=(n-r)/u+4}return s/=6,l*=100,l=Math.round(l),c*=100,c=Math.round(c),s=Math.round(360*s),{h:s,s:l,l:c}}(e),o={};return o[40]=Ie(t,n,r-10),o[50]=Ie(t,n,r),o[85]=Ie(t,n,85),o[90]=Ie(t,n,90),o[95]=Ie(t,n,95),o},je={0:"#FFFFFF",20:"#F5F5F5",30:"#EBEBEB",40:"#DEDEDE",50:"#BFBFBF",60:"#B0B0B0",70:"#575757",80:"#666666",600:"#2E2E2E"},Be=t=>{const{accentColor:n=T,locale:o,round:a="thin",direction:i="rtl"}=t;r((()=>X.setLocale(o)),[o]);const s={colors:{primary:r((()=>He(n)),[]),gray:je},round:a,direction:i};return e.createElement(d,{theme:s},t.children)},Fe=a=>{const{defaultValue:i,locale:s="fa",weekends:l=[],direction:c="rtl",accentColor:u,controlledValue:d,clearable:m=!1}=a;r((()=>X.setLocale(s)),[s]);const h=t(null),f=t(null),[p,y]=o(void 0!==i?new Date(i):void 0),[g,v]=o(!0===a.range&&void 0!==a.from?new Date(a.from):void 0),[b,x]=o(!0===a.range&&void 0!==a.to?new Date(a.to):void 0),[$,w]=o(!1);n((()=>{d&&d!==p&&y(d)}),[d]),Ne(f,(()=>w(!1)));const M=()=>{w(!$)},k=r((()=>{var e;const t=null!==(e=null==a?void 0:a.customShowDateFormat)&&void 0!==e?e:Ee[s].format;return void 0===a.range&&void 0!==p?$e(p,t):void 0!==g&&void 0!==b?`\n ${$e(g,t)}\n -\n ${$e(b,t)}\n `:""}),[p,g,b]);return e.createElement(Be,{accentColor:u,round:a.round,direction:c},m&&!0!==(null==a?void 0:a.range)?e.createElement("div",{style:{display:"flex",alignItems:"center"}},e.createElement("input",Object.assign({ref:h},null==a?void 0:a.inputAttributes,{onClick:M,type:"text",value:k,className:null!==a.inputClass?a.inputClass:"",readOnly:!0})),e.createElement("button",{onClick:()=>{!1===a.range&&y(void 0),v(void 0),x(void 0)},style:{border:"solid 0.5px",color:"gray",borderRadius:"100%",height:20,width:20,paddingTop:0,background:"transparent",marginRight:"-10%"}},"x")):e.createElement("input",Object.assign({ref:h},null==a?void 0:a.inputAttributes,{onClick:M,type:"text",value:k,className:null!==a.inputClass?a.inputClass:"",readOnly:!0})),e.createElement(B,{toggleOpen:M,showCalendar:$,destinationRef:h,position:a.position},e.createElement(Le,{defaultValue:p,ref:f,className:a.className,weekends:l,onChange:e=>{if(!0===a.range&&"function"==typeof a.onChange){const t="from"in e?e.from:new Date,n="to"in e?e.to:new Date;v(t),x(n),a.onChange({from:t,to:n})}else if((!1===a.range||void 0===a.range)&&"function"==typeof a.onChange){const t="value"in e?e.value:new Date;y(t),a.onChange({value:t})}},range:a.range,from:!0===a.range?a.from:void 0,to:!0===a.range?a.to:void 0})))},Ae=c.div`
|
225
|
+
`,Se=t=>{const n=parseInt($e(t.value,"YYYY","latn"),10),o=r((()=>((e,t=80,n=50)=>{const r=parseInt(me(e,"latn"),10),o=r+n,a=[];for(let e=r-t;e<=o;e++)a.push(e);return a})(t.value)),[]),a=e.useCallback((e=>{if(null===e)return;const t=e.querySelector("button[data-selected=true]");if(null!=t){const{height:n,top:r}=e.getBoundingClientRect(),{top:o}=t.getBoundingClientRect();e.scrollTop=Math.abs(r-o)-n/2}}),[]);return e.createElement(Ce,{ref:a},o.map((r=>e.createElement(De,{className:"zm-YearPickerButton",key:r,width:90,height:48,"data-selected":n===r,"aria-selected":n===r,"aria-current":"date",type:"button",tabIndex:0,onClick:()=>t.onYearSelect(r)},J(r)))))},Te=e=>!0===e.range,Oe=e=>{const[t,r]=o(!1),[i,s]=o(void 0!==e.from?new Date(e.from):void 0),[l,c]=o(void 0!==e.to?new Date(e.to):void 0),u=a((e=>{const{value:n}=e.currentTarget.dataset;t||(void 0!==n&&(s(new Date(n)),c(null)),r(!0)),t&&null===l&&(void 0!==n&&(c(new Date(n)),d(i,new Date(n))),r(!1)),t&&void 0!==l&&(d(i,l),r(!1))}),[i,l]),d=(t,n)=>{"function"==typeof e.onChange&&Te(e)&&null!=t&&null!=n&&e.onChange({from:t,to:n})};return n((()=>{null!=e.controlledRangeValue&&(s(e.controlledRangeValue[0]),c(e.controlledRangeValue[1]))}),[e.controlledRangeValue]),{handlers:Object.assign({onClick:t=>!0===e.range?u(t):(t=>{const{value:n,disabled:r}=t.currentTarget.dataset;if(void 0!==n&&"true"!==r)return Te(e)||"function"!=typeof e.onChange||e.onChange({value:new Date(n)}),n})(t)},!0===e.range&&{onMouseMove:e=>{const{value:n}=e.currentTarget.dataset;t&&void 0!==n&&re(n).isAfter(re(i))&&c(new Date(n))}}),from:i,to:l}},Le=i(((a,i)=>{const{locale:l}=X,{defaultValue:c,weekends:u,controlledValue:d,range:m=!1}=a,h=void 0===c?new Date:c,[f,p]=o("days"),[y,g]=o(void 0!==c?new Date(c):void 0),v=r((()=>we(y)),[y]),[b,x]=o([v]),$=t([]),w=(({daysElementRefs:e,days:n,setDays:r})=>{const o=t(!1),a=n[0].middleOfMonth,i=t=>requestAnimationFrame((()=>{o.current=!0;const[n,a]=e.current;n.style.transform=`translateX(${Me()}px)`,a.style.transform=`translateX(${Me()}px)`,requestAnimationFrame((()=>{a.style.transition=`transform 250ms ${S}`,a.style.transform="translateX(0px)",n.style.transition=`transform 250ms ${S}`,n.style.transform="translateX(0px)",setTimeout((()=>{r((e=>e.filter((e=>e.id===t.id)))),n.style.transition=null,n.style.transform=null,o.current=!1}),300)}))})),s=t=>{requestAnimationFrame((()=>{o.current=!0;const[n,a]=e.current;n.style.transition=`transform 250ms ${S}`,n.style.transform=`translateX(${Me()}px)`,a.style.transition=`transform 250ms ${S}`,a.style.transform=`translateX(${Me()}px)`,setTimeout((()=>{r((e=>e.filter((e=>e.id===t.id)))),a.style.transition=null,a.style.transform=null,o.current=!1}),300)}))};return{slideToTheNextMonth:()=>{if(o.current)return;const e=re(a).add(1,"month"),t=we(e.toDate());r([...n,t]),s(t)},slideToPrevMonth:()=>{if(o.current)return;const e=re(a).subtract(1,"month"),t=we(e.toDate());r([t,...n]),i(t)},slideToCurrentMonth:()=>{if(o.current)return;const e=ue(new Date);console.log(e);const t=re(new Date).subtract(e-1,"days").add(15,"days");console.log("middle of the month",t.toDate());const l=we(t.toDate());r([...n,l]),re(a).isAfter(t)&&(console.log("we re animating right "),i(l)),re(a.getMonth()).isBefore(t.get("month"))&&(console.log("we re animating left"),s(l))}}})({daysElementRefs:$,days:b,setDays:x}),{from:M,to:k,handlers:D}=Oe(a);s(i,(()=>({todayTransitionHandler:()=>w.slideToCurrentMonth()})),[w,i]);return n((()=>{d!==y&&void 0!==d&&g(d)}),[d]),e.createElement(A,{className:null!==a.className?a.className:""},e.createElement(ee,{monthName:b[0].monthName,onNextClick:()=>{if("days"===f)return w.slideToTheNextMonth()},onPrevClick:()=>{if("days"===f)return w.slideToPrevMonth()},onClickOnTitle:()=>{p("month"!==f&&"year"!==f?"year":"days")}}),"year"===f?e.createElement(Se,{value:h,onYearSelect:e=>{const t=((e,t)=>{const n=t-parseInt(me(e,"latn"),10);return n>0?re(e).add(n,"years").toDate():re(e).subtract(Math.abs(n),"years").toDate()})(h,e);x([we(t)]),p("month")}}):null,"month"===f?e.createElement(_e,{value:h,onMonthSelect:e=>{const t=((e,t)=>{const n=t-parseInt(he(e,"latn"),10);return n>0?re(e).add(n,"months").toDate():re(e).subtract(Math.abs(n),"months").toDate()})(b[0].middleOfMonth,e);x([we(t)]),p("days")}}):null,"days"===f?e.createElement(e.Fragment,null,e.createElement(R,null,Ee[l].shortWeekDays.map((t=>e.createElement(K,{key:t.key},t.name)))),e.createElement(W,null,b.map(((t,n)=>e.createElement(z,{key:t.id,className:"item",ref:e=>{$.current[n]=e},role:"rowgroup"},t.weeks.map(((t,n)=>e.createElement(P,{key:n,role:"row","aria-rowindex":n+1},t.map(((t,n)=>e.createElement(De,Object.assign({key:t.date.getTime(),className:"zm-DaysButton","data-value":t.date,"data-disabled":t.disabled,"data-range":a.range,"data-selected":!m&&ge(y,t.date),"data-start-range":null!=M&&ge(M,t.date),"data-in-range":ve(t.date,M,k),"data-end-range":null!=k&&ge(k,t.date),"data-weekend":null==u?void 0:u.some((e=>e===n)),type:"button",role:"gridcell","aria-colindex":n+1,tabIndex:0,"aria-selected":!m&&ge(h,t.date)},D),e.createElement(ke,{className:"cl-text"},$e(t.date,"DD"))))))))))))):null)}));function Ne(e,t){n((()=>{function n({target:n}){null!=e.current&&"function"==typeof e.current.contains&&n instanceof Node&&!e.current.contains(n)&&t()}return document.addEventListener("mousedown",n),document.body.addEventListener("click",n),()=>{document.removeEventListener("mousedown",n),document.body.removeEventListener("click",n)}}),[e,t])}Le.displayName="Calendar";const Ie=(e,t,n)=>`hsl(${e}deg ${t}% ${n}%)`,He=e=>{const{h:t,s:n,l:r}=function(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(null==t)throw new Error("Could not parse Hex Color");const n=parseInt(t[1],16)/255,r=parseInt(t[2],16)/255,o=parseInt(t[3],16)/255,a=Math.max(n,r,o),i=Math.min(n,r,o);let s=(a+i)/2,l=s,c=s;if(a===i)return{h:0,s:0,l:c};const u=a-i;switch(l=c>.5?u/(2-a-i):u/(a+i),a){case n:s=(r-o)/u+(r<o?6:0);break;case r:s=(o-n)/u+2;break;case o:s=(n-r)/u+4}return s/=6,l*=100,l=Math.round(l),c*=100,c=Math.round(c),s=Math.round(360*s),{h:s,s:l,l:c}}(e),o={};return o[40]=Ie(t,n,r-10),o[50]=Ie(t,n,r),o[85]=Ie(t,n,85),o[90]=Ie(t,n,90),o[95]=Ie(t,n,95),o},je={0:"#FFFFFF",20:"#F5F5F5",30:"#EBEBEB",40:"#DEDEDE",50:"#BFBFBF",60:"#B0B0B0",70:"#575757",80:"#666666",600:"#2E2E2E"},Be=t=>{const{accentColor:n=T,locale:o,round:a="thin",direction:i="rtl"}=t;r((()=>X.setLocale(o)),[o]);const s={colors:{primary:r((()=>He(n)),[]),gray:je},round:a,direction:i};return e.createElement(d,{theme:s},t.children)},Fe=a=>{const{defaultValue:i,locale:s="fa",weekends:l=[],direction:c="rtl",accentColor:u,controlledValue:d=null,clearable:m=!1}=a;r((()=>X.setLocale(s)),[s]);const h=t(null),f=t(null),[p,y]=o(void 0!==i?new Date(i):void 0),[g,v]=o(!0===a.range&&void 0!==a.from?new Date(a.from):void 0),[b,x]=o(!0===a.range&&void 0!==a.to?new Date(a.to):void 0),[$,w]=o(!1);n((()=>{null!==d&&d!==p&&y(d)}),[d]),Ne(f,(()=>w(!1)));const M=()=>{w(!$)},k=r((()=>{var e;const t=null!==(e=null==a?void 0:a.customShowDateFormat)&&void 0!==e?e:Ee[s].format;return void 0===a.range&&void 0!==p?$e(p,t):void 0!==g&&void 0!==b?`\n ${$e(g,t)}\n -\n ${$e(b,t)}\n `:""}),[p,g,b]);return e.createElement(Be,{accentColor:u,round:a.round,direction:c},m&&!0!==(null==a?void 0:a.range)?e.createElement("div",{style:{display:"flex",alignItems:"center"}},e.createElement("input",Object.assign({ref:h},null==a?void 0:a.inputAttributes,{onClick:M,type:"text",value:k,className:null!==a.inputClass?a.inputClass:"",readOnly:!0})),e.createElement("button",{onClick:()=>{!1===a.range&&y(void 0),v(void 0),x(void 0)},style:{border:"solid 0.5px",color:"gray",borderRadius:"100%",height:20,width:20,paddingTop:0,background:"transparent",marginRight:"-10%"}},"x")):e.createElement("input",Object.assign({ref:h},null==a?void 0:a.inputAttributes,{onClick:M,type:"text",value:k,className:null!==a.inputClass?a.inputClass:"",readOnly:!0})),e.createElement(B,{toggleOpen:M,showCalendar:$,destinationRef:h,position:a.position},e.createElement(Le,{defaultValue:p,ref:f,className:a.className,weekends:l,onChange:e=>{if(!0===a.range&&"function"==typeof a.onChange){const t="from"in e?e.from:new Date,n="to"in e?e.to:new Date;v(t),x(n),a.onChange({from:t,to:n})}else if((!1===a.range||void 0===a.range)&&"function"==typeof a.onChange){const t="value"in e?e.value:new Date;y(t),a.onChange({value:t})}},range:a.range,from:!0===a.range?a.from:void 0,to:!0===a.range?a.to:void 0})))},Ae=c.div`
|
226
226
|
width: 260px;
|
227
227
|
height: 260px;
|
228
228
|
position: relative;
|