zaman-backoffice 1.2.9 → 1.2.10

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 CHANGED
@@ -222,7 +222,7 @@
222
222
  overflow: auto;
223
223
  padding-top: 8px;
224
224
  padding-bottom: 8px;
225
- `,Me=t=>{const n=parseInt(fe(t.value,"YYYY","latn"),10),r=e.useMemo((()=>((e,t=80,n=50)=>{const r=parseInt(oe(e,"latn"),10),o=r+n,a=[];for(let e=r-t;e<=o;e++)a.push(e);return a})(t.value)),[]),o=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($e,{ref:o},r.map((r=>e.createElement(ge,{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)},A(r)))))},we=e=>!0===e.range,ke=t=>{const[n,r]=e.useState(!1),[o,a]=e.useState(void 0!==t.from?new Date(t.from):void 0);console.log(t.controlledRangeValue);const[i,s]=e.useState(void 0!==t.to?new Date(t.to):void 0),l=(e,n)=>{"function"==typeof t.onChange&&we(t)&&null!=e&&null!=n&&t.onChange({from:e,to:n})};return e.useEffect((()=>{null!=t.controlledRangeValue&&(a(t.controlledRangeValue[0]),s(t.controlledRangeValue[1]))}),[t.controlledRangeValue]),{handlers:Object.assign({onClick:e=>!0===t.range?(e=>{const{value:t}=e.currentTarget.dataset;n||(void 0!==t&&(a(new Date(t)),s(null)),r(!0)),n&&null===i&&(void 0!==t&&(s(new Date(t)),l(o,new Date(t))),r(!1)),n&&void 0!==i&&(l(o,i),r(!1))})(e):(e=>{const{value:n,disabled:r}=e.currentTarget.dataset;if(void 0!==n&&"true"!==r)return we(t)||"function"!=typeof t.onChange||t.onChange({value:new Date(n)}),n})(e)},!0===t.range&&{onMouseMove:e=>{const{value:t}=e.currentTarget.dataset;n&&void 0!==t&&J(t).isAfter(J(o))&&s(new Date(t))}}),from:o,to:i}},De=e.forwardRef(((t,n)=>{const{locale:r}=B,{defaultValue:o,weekends:a,controlledValue:i,range:s=!1}=t,l=void 0===o?new Date:o,[c,u]=e.useState("days"),[d,m]=e.useState(void 0!==o?new Date(o):void 0),f=e.useMemo((()=>he(d)),[d]),[h,p]=e.useState([f]),y=e.useRef([]),g=(({daysElementRefs:t,days:n,setDays:r})=>{const o=e.useRef(!1),a=n[0].middleOfMonth,i=e=>requestAnimationFrame((()=>{o.current=!0;const[n,a]=t.current;n.style.transform=`translateX(${pe()}px)`,a.style.transform=`translateX(${pe()}px)`,requestAnimationFrame((()=>{a.style.transition=`transform 250ms ${M}`,a.style.transform="translateX(0px)",n.style.transition=`transform 250ms ${M}`,n.style.transform="translateX(0px)",setTimeout((()=>{r((t=>t.filter((t=>t.id===e.id)))),n.style.transition=null,n.style.transform=null,o.current=!1}),300)}))})),s=e=>{requestAnimationFrame((()=>{o.current=!0;const[n,a]=t.current;n.style.transition=`transform 250ms ${M}`,n.style.transform=`translateX(${pe()}px)`,a.style.transition=`transform 250ms ${M}`,a.style.transform=`translateX(${pe()}px)`,setTimeout((()=>{r((t=>t.filter((t=>t.id===e.id)))),a.style.transition=null,a.style.transform=null,o.current=!1}),300)}))};return{slideToTheNextMonth:()=>{if(o.current)return;const e=J(a).add(1,"month"),t=he(e.toDate());r([...n,t]),s(t)},slideToPrevMonth:()=>{if(o.current)return;const e=J(a).subtract(1,"month"),t=he(e.toDate());r([t,...n]),i(t)},slideToCurrentMonth:()=>{if(o.current)return;const e=ne(new Date);console.log(e);const t=J(new Date).subtract(e-1,"days").add(15,"days");console.log("middle of the month",t.toDate());const l=he(t.toDate());r([...n,l]),J(a).isAfter(t)&&(console.log("we re animating right "),i(l)),J(a.getMonth()).isBefore(t.get("month"))&&(console.log("we re animating left"),s(l))}}})({daysElementRefs:y,days:h,setDays:p}),{from:v,to:b,handlers:x}=ke(t);e.useImperativeHandle(n,(()=>({todayTransitionHandler:()=>g.slideToCurrentMonth()})),[g,n]),console.log("ref assigned",n);return e.useEffect((()=>{i!==d&&void 0!==i&&m(i)}),[i]),e.createElement(O,{className:null!==t.className?t.className:""},e.createElement(X,{monthName:h[0].monthName,onNextClick:()=>{if("days"===c)return g.slideToTheNextMonth()},onPrevClick:()=>{if("days"===c)return g.slideToPrevMonth()},onClickOnTitle:()=>{u("month"!==c&&"year"!==c?"year":"days")}}),"year"===c?e.createElement(Me,{value:l,onYearSelect:e=>{const t=((e,t)=>{const n=t-parseInt(oe(e,"latn"),10);return n>0?J(e).add(n,"years").toDate():J(e).subtract(Math.abs(n),"years").toDate()})(l,e);p([he(t)]),u("month")}}):null,"month"===c?e.createElement(xe,{value:l,onMonthSelect:e=>{const t=((e,t)=>{const n=t-parseInt(ae(e,"latn"),10);return n>0?J(e).add(n,"months").toDate():J(e).subtract(Math.abs(n),"months").toDate()})(h[0].middleOfMonth,e);p([he(t)]),u("days")}}):null,"days"===c?e.createElement(e.Fragment,null,e.createElement(I,null,ve[r].shortWeekDays.map((t=>e.createElement(V,{key:t.key},t.name)))),e.createElement(L,null,h.map(((n,r)=>e.createElement(N,{key:n.id,className:"item",ref:e=>{y.current[r]=e},role:"rowgroup"},n.weeks.map(((n,r)=>e.createElement(H,{key:r,role:"row","aria-rowindex":r+1},n.map(((n,r)=>e.createElement(ge,Object.assign({key:n.date.getTime(),className:"zm-DaysButton","data-value":n.date,"data-disabled":n.disabled,"data-range":t.range,"data-selected":!s&&ce(d,n.date),"data-start-range":null!=v&&ce(v,n.date),"data-in-range":ue(n.date,v,b),"data-end-range":null!=b&&ce(b,n.date),"data-weekend":null==a?void 0:a.some((e=>e===r)),type:"button",role:"gridcell","aria-colindex":r+1,tabIndex:0,"aria-selected":!s&&ce(l,n.date)},x),e.createElement(ye,{className:"cl-text"},fe(n.date,"DD"))))))))))))):null)}));function Ee(t,n){e.useEffect((()=>{function e({target:e}){console.log("we here",t.current),null!=t.current&&e instanceof Node&&!t.current.contains(e)&&n()}return document.addEventListener("mousedown",e),document.body.addEventListener("click",e),()=>{document.removeEventListener("mousedown",e),document.body.removeEventListener("click",e)}}),[t,n])}De.displayName="Calendar";const Se=(e,t,n)=>`hsl(${e}deg ${t}% ${n}%)`,Ye=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]=Se(t,n,r-10),o[50]=Se(t,n,r),o[85]=Se(t,n,85),o[90]=Se(t,n,90),o[95]=Se(t,n,95),o},_e={0:"#FFFFFF",20:"#F5F5F5",30:"#EBEBEB",40:"#DEDEDE",50:"#BFBFBF",60:"#B0B0B0",70:"#575757",80:"#666666",600:"#2E2E2E"},Ce=t=>{const{accentColor:n=w,locale:o,round:a="thin",direction:i="rtl"}=t;e.useMemo((()=>B.setLocale(o)),[o]);const s={colors:{primary:e.useMemo((()=>Ye(n)),[]),gray:_e},round:a,direction:i};return e.createElement(r.ThemeProvider,{theme:s},t.children)},Te=n.div`
225
+ `,Me=t=>{const n=parseInt(fe(t.value,"YYYY","latn"),10),r=e.useMemo((()=>((e,t=80,n=50)=>{const r=parseInt(oe(e,"latn"),10),o=r+n,a=[];for(let e=r-t;e<=o;e++)a.push(e);return a})(t.value)),[]),o=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($e,{ref:o},r.map((r=>e.createElement(ge,{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)},A(r)))))},we=e=>!0===e.range,ke=t=>{const[n,r]=e.useState(!1),[o,a]=e.useState(void 0!==t.from?new Date(t.from):void 0);console.log(t.controlledRangeValue);const[i,s]=e.useState(void 0!==t.to?new Date(t.to):void 0),l=(e,n)=>{"function"==typeof t.onChange&&we(t)&&null!=e&&null!=n&&t.onChange({from:e,to:n})};return e.useEffect((()=>{null!=t.controlledRangeValue&&(a(t.controlledRangeValue[0]),s(t.controlledRangeValue[1]))}),[t.controlledRangeValue]),{handlers:Object.assign({onClick:e=>!0===t.range?(e=>{const{value:t}=e.currentTarget.dataset;n||(void 0!==t&&(a(new Date(t)),s(null)),r(!0)),n&&null===i&&(void 0!==t&&(s(new Date(t)),l(o,new Date(t))),r(!1)),n&&void 0!==i&&(l(o,i),r(!1))})(e):(e=>{const{value:n,disabled:r}=e.currentTarget.dataset;if(void 0!==n&&"true"!==r)return we(t)||"function"!=typeof t.onChange||t.onChange({value:new Date(n)}),n})(e)},!0===t.range&&{onMouseMove:e=>{const{value:t}=e.currentTarget.dataset;n&&void 0!==t&&J(t).isAfter(J(o))&&s(new Date(t))}}),from:o,to:i}},De=e.forwardRef(((t,n)=>{const{locale:r}=B,{defaultValue:o,weekends:a,controlledValue:i,range:s=!1}=t,l=void 0===o?new Date:o,[c,u]=e.useState("days"),[d,m]=e.useState(void 0!==o?new Date(o):void 0),f=e.useMemo((()=>he(d)),[d]),[h,p]=e.useState([f]),y=e.useRef([]),g=(({daysElementRefs:t,days:n,setDays:r})=>{const o=e.useRef(!1),a=n[0].middleOfMonth,i=e=>requestAnimationFrame((()=>{o.current=!0;const[n,a]=t.current;n.style.transform=`translateX(${pe()}px)`,a.style.transform=`translateX(${pe()}px)`,requestAnimationFrame((()=>{a.style.transition=`transform 250ms ${M}`,a.style.transform="translateX(0px)",n.style.transition=`transform 250ms ${M}`,n.style.transform="translateX(0px)",setTimeout((()=>{r((t=>t.filter((t=>t.id===e.id)))),n.style.transition=null,n.style.transform=null,o.current=!1}),300)}))})),s=e=>{requestAnimationFrame((()=>{o.current=!0;const[n,a]=t.current;n.style.transition=`transform 250ms ${M}`,n.style.transform=`translateX(${pe()}px)`,a.style.transition=`transform 250ms ${M}`,a.style.transform=`translateX(${pe()}px)`,setTimeout((()=>{r((t=>t.filter((t=>t.id===e.id)))),a.style.transition=null,a.style.transform=null,o.current=!1}),300)}))};return{slideToTheNextMonth:()=>{if(o.current)return;const e=J(a).add(1,"month"),t=he(e.toDate());r([...n,t]),s(t)},slideToPrevMonth:()=>{if(o.current)return;const e=J(a).subtract(1,"month"),t=he(e.toDate());r([t,...n]),i(t)},slideToCurrentMonth:()=>{if(o.current)return;const e=ne(new Date);console.log(e);const t=J(new Date).subtract(e-1,"days").add(15,"days");console.log("middle of the month",t.toDate());const l=he(t.toDate());r([...n,l]),J(a).isAfter(t)&&(console.log("we re animating right "),i(l)),J(a.getMonth()).isBefore(t.get("month"))&&(console.log("we re animating left"),s(l))}}})({daysElementRefs:y,days:h,setDays:p}),{from:v,to:b,handlers:x}=ke(t);e.useImperativeHandle(n,(()=>({todayTransitionHandler:()=>g.slideToCurrentMonth()})),[g,n]),console.log("ref assigned",n);return e.useEffect((()=>{i!==d&&void 0!==i&&m(i)}),[i]),e.createElement(O,{className:null!==t.className?t.className:""},e.createElement(X,{monthName:h[0].monthName,onNextClick:()=>{if("days"===c)return g.slideToTheNextMonth()},onPrevClick:()=>{if("days"===c)return g.slideToPrevMonth()},onClickOnTitle:()=>{u("month"!==c&&"year"!==c?"year":"days")}}),"year"===c?e.createElement(Me,{value:l,onYearSelect:e=>{const t=((e,t)=>{const n=t-parseInt(oe(e,"latn"),10);return n>0?J(e).add(n,"years").toDate():J(e).subtract(Math.abs(n),"years").toDate()})(l,e);p([he(t)]),u("month")}}):null,"month"===c?e.createElement(xe,{value:l,onMonthSelect:e=>{const t=((e,t)=>{const n=t-parseInt(ae(e,"latn"),10);return n>0?J(e).add(n,"months").toDate():J(e).subtract(Math.abs(n),"months").toDate()})(h[0].middleOfMonth,e);p([he(t)]),u("days")}}):null,"days"===c?e.createElement(e.Fragment,null,e.createElement(I,null,ve[r].shortWeekDays.map((t=>e.createElement(V,{key:t.key},t.name)))),e.createElement(L,null,h.map(((n,r)=>e.createElement(N,{key:n.id,className:"item",ref:e=>{y.current[r]=e},role:"rowgroup"},n.weeks.map(((n,r)=>e.createElement(H,{key:r,role:"row","aria-rowindex":r+1},n.map(((n,r)=>e.createElement(ge,Object.assign({key:n.date.getTime(),className:"zm-DaysButton","data-value":n.date,"data-disabled":n.disabled,"data-range":t.range,"data-selected":!s&&ce(d,n.date),"data-start-range":null!=v&&ce(v,n.date),"data-in-range":ue(n.date,v,b),"data-end-range":null!=b&&ce(b,n.date),"data-weekend":null==a?void 0:a.some((e=>e===r)),type:"button",role:"gridcell","aria-colindex":r+1,tabIndex:0,"aria-selected":!s&&ce(l,n.date)},x),e.createElement(ye,{className:"cl-text"},fe(n.date,"DD"))))))))))))):null)}));function Ee(t,n){e.useEffect((()=>{function e({target:e}){null!=t.current&&e instanceof Node&&!t.current.contains(e)&&n()}return document.addEventListener("mousedown",e),document.body.addEventListener("click",e),()=>{document.removeEventListener("mousedown",e),document.body.removeEventListener("click",e)}}),[t,n])}De.displayName="Calendar";const Se=(e,t,n)=>`hsl(${e}deg ${t}% ${n}%)`,Ye=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]=Se(t,n,r-10),o[50]=Se(t,n,r),o[85]=Se(t,n,85),o[90]=Se(t,n,90),o[95]=Se(t,n,95),o},_e={0:"#FFFFFF",20:"#F5F5F5",30:"#EBEBEB",40:"#DEDEDE",50:"#BFBFBF",60:"#B0B0B0",70:"#575757",80:"#666666",600:"#2E2E2E"},Ce=t=>{const{accentColor:n=w,locale:o,round:a="thin",direction:i="rtl"}=t;e.useMemo((()=>B.setLocale(o)),[o]);const s={colors:{primary:e.useMemo((()=>Ye(n)),[]),gray:_e},round:a,direction:i};return e.createElement(r.ThemeProvider,{theme:s},t.children)},Te=n.div`
226
226
  width: 260px;
227
227
  height: 260px;
228
228
  position: relative;
package/dist/index.js CHANGED
@@ -222,7 +222,7 @@ import e,{useRef as t,useEffect as n,useMemo as r,useState as o,forwardRef as a,
222
222
  overflow: auto;
223
223
  padding-top: 8px;
224
224
  padding-bottom: 8px;
225
- `,Ce=t=>{const n=parseInt(xe(t.value,"YYYY","latn"),10),o=r((()=>((e,t=80,n=50)=>{const r=parseInt(de(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(_e,{ref:a},o.map((r=>e.createElement(ke,{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)},U(r)))))},Se=e=>!0===e.range,Te=e=>{const[t,r]=o(!1),[a,i]=o(void 0!==e.from?new Date(e.from):void 0);console.log(e.controlledRangeValue);const[s,l]=o(void 0!==e.to?new Date(e.to):void 0),c=(t,n)=>{"function"==typeof e.onChange&&Se(e)&&null!=t&&null!=n&&e.onChange({from:t,to:n})};return n((()=>{null!=e.controlledRangeValue&&(i(e.controlledRangeValue[0]),l(e.controlledRangeValue[1]))}),[e.controlledRangeValue]),{handlers:Object.assign({onClick:n=>!0===e.range?(e=>{const{value:n}=e.currentTarget.dataset;t||(void 0!==n&&(i(new Date(n)),l(null)),r(!0)),t&&null===s&&(void 0!==n&&(l(new Date(n)),c(a,new Date(n))),r(!1)),t&&void 0!==s&&(c(a,s),r(!1))})(n):(t=>{const{value:n,disabled:r}=t.currentTarget.dataset;if(void 0!==n&&"true"!==r)return Se(e)||"function"!=typeof e.onChange||e.onChange({value:new Date(n)}),n})(n)},!0===e.range&&{onMouseMove:e=>{const{value:n}=e.currentTarget.dataset;t&&void 0!==n&&ne(n).isAfter(ne(a))&&l(new Date(n))}}),from:a,to:s}},Oe=a(((a,s)=>{const{locale:l}=V,{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((()=>$e(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(${we()}px)`,a.style.transform=`translateX(${we()}px)`,requestAnimationFrame((()=>{a.style.transition=`transform 250ms ${C}`,a.style.transform="translateX(0px)",n.style.transition=`transform 250ms ${C}`,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 ${C}`,n.style.transform=`translateX(${we()}px)`,a.style.transition=`transform 250ms ${C}`,a.style.transform=`translateX(${we()}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=ne(a).add(1,"month"),t=$e(e.toDate());r([...n,t]),s(t)},slideToPrevMonth:()=>{if(o.current)return;const e=ne(a).subtract(1,"month"),t=$e(e.toDate());r([t,...n]),i(t)},slideToCurrentMonth:()=>{if(o.current)return;const e=ce(new Date);console.log(e);const t=ne(new Date).subtract(e-1,"days").add(15,"days");console.log("middle of the month",t.toDate());const l=$e(t.toDate());r([...n,l]),ne(a).isAfter(t)&&(console.log("we re animating right "),i(l)),ne(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}=Te(a);i(s,(()=>({todayTransitionHandler:()=>w.slideToCurrentMonth()})),[w,s]),console.log("ref assigned",s);return n((()=>{d!==y&&void 0!==d&&g(d)}),[d]),e.createElement(F,{className:null!==a.className?a.className:""},e.createElement(K,{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(Ce,{value:h,onYearSelect:e=>{const t=((e,t)=>{const n=t-parseInt(de(e,"latn"),10);return n>0?ne(e).add(n,"years").toDate():ne(e).subtract(Math.abs(n),"years").toDate()})(h,e);x([$e(t)]),p("month")}}):null,"month"===f?e.createElement(Ye,{value:h,onMonthSelect:e=>{const t=((e,t)=>{const n=t-parseInt(me(e,"latn"),10);return n>0?ne(e).add(n,"months").toDate():ne(e).subtract(Math.abs(n),"months").toDate()})(b[0].middleOfMonth,e);x([$e(t)]),p("days")}}):null,"days"===f?e.createElement(e.Fragment,null,e.createElement(P,null,De[l].shortWeekDays.map((t=>e.createElement(Q,{key:t.key},t.name)))),e.createElement(A,null,b.map(((t,n)=>e.createElement(W,{key:t.id,className:"item",ref:e=>{$.current[n]=e},role:"rowgroup"},t.weeks.map(((t,n)=>e.createElement(z,{key:n,role:"row","aria-rowindex":n+1},t.map(((t,n)=>e.createElement(ke,Object.assign({key:t.date.getTime(),className:"zm-DaysButton","data-value":t.date,"data-disabled":t.disabled,"data-range":a.range,"data-selected":!m&&ye(y,t.date),"data-start-range":null!=M&&ye(M,t.date),"data-in-range":ge(t.date,M,k),"data-end-range":null!=k&&ye(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&&ye(h,t.date)},D),e.createElement(Me,{className:"cl-text"},xe(t.date,"DD"))))))))))))):null)}));function Le(e,t){n((()=>{function n({target:n}){console.log("we here",e.current),null!=e.current&&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])}Oe.displayName="Calendar";const Ne=(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]=Ne(t,n,r-10),o[50]=Ne(t,n,r),o[85]=Ne(t,n,85),o[90]=Ne(t,n,90),o[95]=Ne(t,n,95),o},Ie={0:"#FFFFFF",20:"#F5F5F5",30:"#EBEBEB",40:"#DEDEDE",50:"#BFBFBF",60:"#B0B0B0",70:"#575757",80:"#666666",600:"#2E2E2E"},je=t=>{const{accentColor:n=S,locale:o,round:a="thin",direction:i="rtl"}=t;r((()=>V.setLocale(o)),[o]);const s={colors:{primary:r((()=>He(n)),[]),gray:Ie},round:a,direction:i};return e.createElement(u,{theme:s},t.children)},Be=a=>{const{defaultValue:i,locale:s="fa",weekends:l=[],direction:c="rtl",accentColor:u,controlledValue:d}=a;r((()=>V.setLocale(s)),[s]);const m=t(null),h=t(null),[f,p]=o(void 0!==i?new Date(i):void 0),[y,g]=o(!0===a.range&&void 0!==a.from?new Date(a.from):void 0),[v,b]=o(!0===a.range&&void 0!==a.to?new Date(a.to):void 0),[x,$]=o(!1);n((()=>{d&&d!==f&&p(d)}),[d]),Le(h,(()=>$(!1))),console.log("calendar show",x);const w=()=>{$(!x)},M=r((()=>{var e;const t=null!==(e=null==a?void 0:a.customShowDateFormat)&&void 0!==e?e:De[s].format;return void 0===a.range&&void 0!==f?xe(f,t):(console.log("from >>",y),void 0!==y&&void 0!==v?`\n ${xe(y,t)}\n -\n ${xe(v,t)}\n `:"")}),[f,y,v]);return e.createElement(je,{accentColor:u,round:a.round,direction:c},e.createElement("input",Object.assign({ref:m},null==a?void 0:a.inputAttributes,{onClick:w,type:"text",value:M,className:null!==a.inputClass?a.inputClass:"",readOnly:!0})),e.createElement(j,{toggleOpen:w,showCalendar:x,destinationRef:m,position:a.position},e.createElement(Oe,{defaultValue:f,ref:h,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;g(t),b(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;p(t),a.onChange({value:t})}},range:a.range,from:!0===a.range?a.from:void 0,to:!0===a.range?a.to:void 0})))},Fe=l.div`
225
+ `,Ce=t=>{const n=parseInt(xe(t.value,"YYYY","latn"),10),o=r((()=>((e,t=80,n=50)=>{const r=parseInt(de(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(_e,{ref:a},o.map((r=>e.createElement(ke,{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)},U(r)))))},Se=e=>!0===e.range,Te=e=>{const[t,r]=o(!1),[a,i]=o(void 0!==e.from?new Date(e.from):void 0);console.log(e.controlledRangeValue);const[s,l]=o(void 0!==e.to?new Date(e.to):void 0),c=(t,n)=>{"function"==typeof e.onChange&&Se(e)&&null!=t&&null!=n&&e.onChange({from:t,to:n})};return n((()=>{null!=e.controlledRangeValue&&(i(e.controlledRangeValue[0]),l(e.controlledRangeValue[1]))}),[e.controlledRangeValue]),{handlers:Object.assign({onClick:n=>!0===e.range?(e=>{const{value:n}=e.currentTarget.dataset;t||(void 0!==n&&(i(new Date(n)),l(null)),r(!0)),t&&null===s&&(void 0!==n&&(l(new Date(n)),c(a,new Date(n))),r(!1)),t&&void 0!==s&&(c(a,s),r(!1))})(n):(t=>{const{value:n,disabled:r}=t.currentTarget.dataset;if(void 0!==n&&"true"!==r)return Se(e)||"function"!=typeof e.onChange||e.onChange({value:new Date(n)}),n})(n)},!0===e.range&&{onMouseMove:e=>{const{value:n}=e.currentTarget.dataset;t&&void 0!==n&&ne(n).isAfter(ne(a))&&l(new Date(n))}}),from:a,to:s}},Oe=a(((a,s)=>{const{locale:l}=V,{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((()=>$e(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(${we()}px)`,a.style.transform=`translateX(${we()}px)`,requestAnimationFrame((()=>{a.style.transition=`transform 250ms ${C}`,a.style.transform="translateX(0px)",n.style.transition=`transform 250ms ${C}`,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 ${C}`,n.style.transform=`translateX(${we()}px)`,a.style.transition=`transform 250ms ${C}`,a.style.transform=`translateX(${we()}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=ne(a).add(1,"month"),t=$e(e.toDate());r([...n,t]),s(t)},slideToPrevMonth:()=>{if(o.current)return;const e=ne(a).subtract(1,"month"),t=$e(e.toDate());r([t,...n]),i(t)},slideToCurrentMonth:()=>{if(o.current)return;const e=ce(new Date);console.log(e);const t=ne(new Date).subtract(e-1,"days").add(15,"days");console.log("middle of the month",t.toDate());const l=$e(t.toDate());r([...n,l]),ne(a).isAfter(t)&&(console.log("we re animating right "),i(l)),ne(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}=Te(a);i(s,(()=>({todayTransitionHandler:()=>w.slideToCurrentMonth()})),[w,s]),console.log("ref assigned",s);return n((()=>{d!==y&&void 0!==d&&g(d)}),[d]),e.createElement(F,{className:null!==a.className?a.className:""},e.createElement(K,{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(Ce,{value:h,onYearSelect:e=>{const t=((e,t)=>{const n=t-parseInt(de(e,"latn"),10);return n>0?ne(e).add(n,"years").toDate():ne(e).subtract(Math.abs(n),"years").toDate()})(h,e);x([$e(t)]),p("month")}}):null,"month"===f?e.createElement(Ye,{value:h,onMonthSelect:e=>{const t=((e,t)=>{const n=t-parseInt(me(e,"latn"),10);return n>0?ne(e).add(n,"months").toDate():ne(e).subtract(Math.abs(n),"months").toDate()})(b[0].middleOfMonth,e);x([$e(t)]),p("days")}}):null,"days"===f?e.createElement(e.Fragment,null,e.createElement(P,null,De[l].shortWeekDays.map((t=>e.createElement(Q,{key:t.key},t.name)))),e.createElement(A,null,b.map(((t,n)=>e.createElement(W,{key:t.id,className:"item",ref:e=>{$.current[n]=e},role:"rowgroup"},t.weeks.map(((t,n)=>e.createElement(z,{key:n,role:"row","aria-rowindex":n+1},t.map(((t,n)=>e.createElement(ke,Object.assign({key:t.date.getTime(),className:"zm-DaysButton","data-value":t.date,"data-disabled":t.disabled,"data-range":a.range,"data-selected":!m&&ye(y,t.date),"data-start-range":null!=M&&ye(M,t.date),"data-in-range":ge(t.date,M,k),"data-end-range":null!=k&&ye(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&&ye(h,t.date)},D),e.createElement(Me,{className:"cl-text"},xe(t.date,"DD"))))))))))))):null)}));function Le(e,t){n((()=>{function n({target:n}){null!=e.current&&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])}Oe.displayName="Calendar";const Ne=(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]=Ne(t,n,r-10),o[50]=Ne(t,n,r),o[85]=Ne(t,n,85),o[90]=Ne(t,n,90),o[95]=Ne(t,n,95),o},Ie={0:"#FFFFFF",20:"#F5F5F5",30:"#EBEBEB",40:"#DEDEDE",50:"#BFBFBF",60:"#B0B0B0",70:"#575757",80:"#666666",600:"#2E2E2E"},je=t=>{const{accentColor:n=S,locale:o,round:a="thin",direction:i="rtl"}=t;r((()=>V.setLocale(o)),[o]);const s={colors:{primary:r((()=>He(n)),[]),gray:Ie},round:a,direction:i};return e.createElement(u,{theme:s},t.children)},Be=a=>{const{defaultValue:i,locale:s="fa",weekends:l=[],direction:c="rtl",accentColor:u,controlledValue:d}=a;r((()=>V.setLocale(s)),[s]);const m=t(null),h=t(null),[f,p]=o(void 0!==i?new Date(i):void 0),[y,g]=o(!0===a.range&&void 0!==a.from?new Date(a.from):void 0),[v,b]=o(!0===a.range&&void 0!==a.to?new Date(a.to):void 0),[x,$]=o(!1);n((()=>{d&&d!==f&&p(d)}),[d]),Le(h,(()=>$(!1))),console.log("calendar show",x);const w=()=>{$(!x)},M=r((()=>{var e;const t=null!==(e=null==a?void 0:a.customShowDateFormat)&&void 0!==e?e:De[s].format;return void 0===a.range&&void 0!==f?xe(f,t):(console.log("from >>",y),void 0!==y&&void 0!==v?`\n ${xe(y,t)}\n -\n ${xe(v,t)}\n `:"")}),[f,y,v]);return e.createElement(je,{accentColor:u,round:a.round,direction:c},e.createElement("input",Object.assign({ref:m},null==a?void 0:a.inputAttributes,{onClick:w,type:"text",value:M,className:null!==a.inputClass?a.inputClass:"",readOnly:!0})),e.createElement(j,{toggleOpen:w,showCalendar:x,destinationRef:m,position:a.position},e.createElement(Oe,{defaultValue:f,ref:h,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;g(t),b(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;p(t),a.onChange({value:t})}},range:a.range,from:!0===a.range?a.from:void 0,to:!0===a.range?a.to:void 0})))},Fe=l.div`
226
226
  width: 260px;
227
227
  height: 260px;
228
228
  position: relative;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "zaman-backoffice",
3
- "version": "1.2.9",
3
+ "version": "1.2.10",
4
4
  "description": "thanks to the zaman team. just needed to add the ability to have a controlled input value",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {