UNPKG

jb-date-input

Version:
2 lines 7.18 kB
var e,t,r=Object.create,n=Object.defineProperty,u=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,i=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,o=(e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(var o,c=a(t),s=0,f=c.length;s<f;s++)o=c[s],l.call(e,o)||o===r||n(e,o,{get:(e=>t[e]).bind(null,o),enumerable:!(i=u(t,o))||i.enumerable});return e},c=(e,t,u)=>(u=null!=e?r(i(e)):{},o(!t&&e&&e.__esModule?u:n(u,"default",{value:e,enumerable:!0}),e));const s=c(require("react"));require("jb-date-input");const f=c(require("jb-core"));function d(e,t,r,n=!1){let u=(0,s.useCallback)(t=>{e.current&&"function"==typeof r&&r(t)},[e,r]);(0,s.useEffect)(()=>{let r=e.current;return r&&r.addEventListener(t,u,{passive:n,capture:!1}),function(){r&&r.removeEventListener(t,u,{passive:n,capture:!1})}},[e,t,r,n])}function p(e){return e.substring(5,7)}function m(e){return e.substring(0,4)}(e=t||(t={})).jalali="JALALI",e.gregorian="GREGORIAN";const b=(0,s.forwardRef)((e,t)=>{let r=(0,s.useRef)(null);(0,s.useImperativeHandle)(t,()=>r?r.current:{},[r]);let n=(0,s.useRef)([]);return(0,s.useEffect)(()=>{e.format&&(e.format!==r.current?.valueFormat&&r.current?.setAttribute("format",e.format),n.current.length>0&&(n.current.forEach(e=>{e()}),n.current=[]))},[e.format]),(0,s.useEffect)(()=>{e.max&&(e.format&&e.format!==r.current?.valueFormat?n.current.push(()=>{e.max&&r.current?.setMaxDate(e.max)}):r.current?.setMaxDate(e.max))},[e.max]),(0,s.useEffect)(()=>{e.name?r?.current?.setAttribute("name",e.name||""):r?.current?.removeAttribute("name")},[e.name]),(0,s.useEffect)(()=>{e.min&&(e.format&&e.format!==r.current?.valueFormat?n.current.push(()=>{e.min&&r.current?.setMinDate(e.min)}):r.current?.setMinDate(e.min))},[e.min]),(0,s.useEffect)(()=>{r.current&&e.value&&(r.current.value=e.value)},[e.value]),(0,s.useEffect)(()=>{r.current&&r.current.setAttribute("message",e.message||"")},[e.message]),(0,s.useEffect)(()=>{r.current&&Array.isArray(e.jalaliMonthList)&&r.current.setMonthList("JALALI",e.jalaliMonthList)},[e.jalaliMonthList]),(0,s.useEffect)(()=>{r.current&&Array.isArray(e.gregorianMonthList)&&r.current.setMonthList("GREGORIAN",e.gregorianMonthList)},[e.gregorianMonthList]),(0,s.useEffect)(()=>{r.current&&void 0!==e.placeholder&&(r.current.placeholder=e.placeholder)},[e.placeholder]),(0,s.useEffect)(()=>{r.current&&void 0!==e.overflowHandler&&(r.current.elements.popover.overflowHandler=e.overflowHandler)},[e.overflowHandler]),(0,s.useEffect)(()=>{r.current&&void 0!==e.overflowRef&&(r.current.elements.popover.overflowDom=e.overflowRef.current)},[e.overflowRef]),(0,s.useEffect)(()=>{r.current&&Array.isArray(e.validationList)&&(r.current.validation.list=e.validationList)},[e.validationList]),(0,s.useEffect)(()=>{r.current&&e.direction&&r.current.setAttribute("direction",e.direction)},[e.direction]),(0,s.useEffect)(()=>{r.current&&(e.required?r.current.required=!0:r.current.required=!1)},[e.required,r.current]),(0,s.useEffect)(()=>{"object"==typeof e.calendarDefaultDateView&&e.calendarDefaultDateView.year&&e.calendarDefaultDateView.month&&r.current?.setCalendarDefaultDateView(e.calendarDefaultDateView.year,e.calendarDefaultDateView.month,e.calendarDefaultDateView.dateType)},[e.calendarDefaultDateView]),(0,s.useEffect)(()=>{e.showPersianNumber?r.current?.setAttribute("show-persian-number","true"):r.current?.removeAttribute("show-persian-number")},[e.showPersianNumber]),(0,s.useEffect)(()=>{"boolean"==typeof e.disabled&&r?.current?.setAttribute("disabled",`${e.disabled}`)},[e.disabled]),(0,s.useEffect)(()=>{e.error?r?.current?.setAttribute("error",e.error):r?.current?.removeAttribute("error")},[e.error]),(0,s.useEffect)(()=>{r?.current&&(r.current.isAutoValidationDisabled=!!e.isAutoValidationDisabled)},[e.isAutoValidationDisabled]),d(r,"load",e.onLoad,!0),d(r,"init",e.onInit,!0),d(r,"invalid",e.onInvalid,!0),d(r,"change",e.onChange,!0),d(r,"beforeinput",e.onBeforeInput,!1),d(r,"input",e.onInput,!0),d(r,"keyup",e.onKeyUp,!0),d(r,"keydown",e.onKeyDown,!1),d(r,"keypress",e.onKeyPress,!0),d(r,"select",e.onSelect,!0),d(r,"focus",e.onFocus,!0),d(r,"blur",e.onBlur,!0),s.default.createElement("jb-date-input",{style:e.style,class:e.className?e.className:"",label:e.label,"value-type":e.valueType?e.valueType:"GREGORIAN",ref:r,"input-type":e.inputType?e.inputType:"JALALI"},e.children)});b.displayName="JBDateInput",exports.JBDateInput=b,exports.useJBDateInput=function(e){let[t,r]=(0,s.useState)(" / / "),n=(0,s.useRef)(null);(0,s.useEffect)(()=>{n.current&&setTimeout(()=>{e.ref.current.setSelectionRange(n.current.selectionStart,n.current.selectionEnd),n.current=null},0)},[t,n.current]);let u=()=>{if(null===n.current){let r=function(e){let t=e.selectionStart;if(t){let r=m(e.inputValue).trim().length,n=p(e.inputValue).trim().length,u=e.inputValue.substring(8,10).trim().length;if(r<t&&(t<=4||0==n&&0==u))return r;if(t>4&&(t<=7&&n+5<t||0==u&&n<2))return n+5;if(u+8<t&&t>7&&t<=10)return u+8}return null}({inputValue:t,selectionStart:e.ref.current.selectionStart});null!=r&&r!==e.ref.current.selectionStart&&e.ref.current.setSelectionRange(r,r)}};return d(e.ref,"beforeinput",function(u){n.current=function(e){var t;let{showPersianNumber:r,dateInputType:n,selection:u,event:{data:a,inputType:i}}=e,l=u.start,o=l,c=e.value;return a&&(t=e.event.data||"",(0,f.faToEnDigits)(t).replace(/[^\u06F0-\u06F90-9/]/g,"")).split("").forEach((e,t)=>{var r,u;let a,i=l+t;if(!/[\u06F0-\u06F90-9/]/g.test(e))return;(4==i||7==i)&&("/"==e&&d(i+1),i++);let o=!1;if("/"==e)return;let f=Number(e);5==i&&f>1&&(s("0",i),i++);let b=(r=c,a=!1,5==(u=i)&&1==f&&r[6]>"2"&&(a=!0),6==u&&f>2&&"1"==r[5]&&(a=!0),6==u&&0==f&&"0"==r[5]&&(a=!0),5==u&&0==f&&"0"==r[4]&&(a=!0),{isIgnoreChar:a,caretPos:u}),v=function(e,t,r,n,u){let a=!1;if(8==r&&t>3&&(u("0",r),r++),9==r&&t>1&&"3"==n[8]&&(a=!0),9==r&&0==t&&"0"==n[8]&&(a=!0),8==r&&0==t&&"0"==n[9]&&(a=!0),"JALALI"==e&&!a){let e=p(n),i=Number(e);if(9==r&&"3"==n[8]&&t>0&&i>6&&(a=!0),8==r&&3==t){if(12==i){let e=Number(m(n));!Number.isNaN(e)&&[1,5,9,13,17,22,26,30].includes(e%33)||(a=!0)}n[9]>"0"&&(2==e.length&&parseInt(n)>6&&u("0",9),2==e.length&&i<7&&n[9]>"1"&&u("1",9))}}return{isIgnoreChar:a,caretPos:r}}(n,f,i=b.caretPos,c,s);i=v.caretPos,(o=o||v.isIgnoreChar||b.isIgnoreChar)||(s(e,i),d(i+1))}),("deleteContentBackward"==i||"deleteContentForward"==i||"delete"==i||"deleteByCut"==i||"deleteByDrag"==i)&&function(e,t,r,n,u){let a=0;"deleteContentBackward"==e&&(a=t!==r?0:-1);for(let e=t;e<=r;e++)n(" ",e+a);u(t+a)}(i,u.start,u.end,s,d),{value:c,selectionStart:o,selectionEnd:o};function s(e,t){c=function(e,t,r,n){if((4==t||7==t)&&(e="/"),t>9||t<0)return r;let u=r.split("");return n&&(e=(0,f.enToFaDigits)(e)),u[t]=e,u.join("")}(e,t,c,r)}function d(e){o=e}}({dateInputType:e.dateInputType,selection:{start:e.ref.current.selectionStart,end:e.ref.current.selectionEnd},value:t,showPersianNumber:e.showPersianNumber,event:{inputType:u.inputType,data:u.data}}),u.preventDefault(),r(n.current.value),e.ref.current.setSelectionRange(n.current.selectionStart,n.current.selectionEnd)}),{value:t,setValue:r,onFocus:()=>{u()},onClick:()=>{u()},onChange:()=>{}}}; //# sourceMappingURL=JBDateInput.cjs.js.map