@pr0vin/np-date-picker-vue-tw 1.0.2 → 1.0.4

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.
@@ -1,4 +1,4 @@
1
- import { ref as N, onMounted as L, watch as I, createElementBlock as g, openBlock as b, createElementVNode as s, createCommentVNode as P, withDirectives as Y, Fragment as k, renderList as C, toDisplayString as $, vModelSelect as B, unref as E, normalizeClass as F } from "vue";
1
+ import { ref as N, onMounted as L, watch as P, createElementBlock as g, openBlock as b, createElementVNode as s, createCommentVNode as I, withDirectives as Y, Fragment as k, renderList as C, toDisplayString as $, vModelSelect as B, unref as E, normalizeClass as F } from "vue";
2
2
  class j {
3
3
  constructor() {
4
4
  this.bs = [
@@ -276,7 +276,7 @@ const J = { class: "relative w-full nepali-calendar" }, z = ["value", "placehold
276
276
  function V() {
277
277
  n.value === 12 ? (n.value = 1, e.value = Number(e.value) + 1) : n.value = Number(n.value) + 1;
278
278
  }
279
- return I([e, n], S), (a, r) => (b(), g("div", J, [
279
+ return P([e, n], S), (a, r) => (b(), g("div", J, [
280
280
  s("input", {
281
281
  type: "text",
282
282
  readonly: "",
@@ -349,7 +349,7 @@ const J = { class: "relative w-full nepali-calendar" }, z = ["value", "placehold
349
349
  }, $(y ? E(c).convertToNepaliNumber(y) : ""), 11, e3))), 128))
350
350
  ], 64))), 128))
351
351
  ])
352
- ])) : P("", !0)
352
+ ])) : I("", !0)
353
353
  ]));
354
354
  }
355
355
  }, a3 = {
@@ -358,6 +358,7 @@ const J = { class: "relative w-full nepali-calendar" }, z = ["value", "placehold
358
358
  }
359
359
  };
360
360
  export {
361
+ t3 as NepaliDatePicker,
361
362
  a3 as NpDatePickerPlugin,
362
363
  t3 as default
363
364
  };
@@ -1 +1 @@
1
- (function(b,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(b=typeof globalThis<"u"?globalThis:b||self,e(b.NpDatePickerVueTw={},b.Vue))})(this,(function(b,e){"use strict";class B{constructor(){this.bs=[[2e3,30,32,31,32,31,30,30,30,29,30,29,31],[2001,31,31,32,31,31,31,30,29,30,29,30,30],[2002,31,31,32,32,31,30,30,29,30,29,30,30],[2003,31,32,31,32,31,30,30,30,29,29,30,31],[2004,30,32,31,32,31,30,30,30,29,30,29,31],[2005,31,31,32,31,31,31,30,29,30,29,30,30],[2006,31,31,32,32,31,30,30,29,30,29,30,30],[2007,31,32,31,32,31,30,30,30,29,29,30,31],[2008,31,31,31,32,31,31,29,30,30,29,29,31],[2009,31,31,32,31,31,31,30,29,30,29,30,30],[2010,31,31,32,32,31,30,30,29,30,29,30,30],[2011,31,32,31,32,31,30,30,30,29,29,30,31],[2012,31,31,31,32,31,31,29,30,30,29,30,30],[2013,31,31,32,31,31,31,30,29,30,29,30,30],[2014,31,31,32,32,31,30,30,29,30,29,30,30],[2015,31,32,31,32,31,30,30,30,29,29,30,31],[2016,31,31,31,32,31,31,29,30,30,29,30,30],[2017,31,31,32,31,31,31,30,29,30,29,30,30],[2018,31,32,31,32,31,30,30,29,30,29,30,30],[2019,31,32,31,32,31,30,30,30,29,30,29,31],[2020,31,31,31,32,31,31,30,29,30,29,30,30],[2021,31,31,32,31,31,31,30,29,30,29,30,30],[2022,31,32,31,32,31,30,30,30,29,29,30,30],[2023,31,32,31,32,31,30,30,30,29,30,29,31],[2024,31,31,31,32,31,31,30,29,30,29,30,30],[2025,31,31,32,31,31,31,30,29,30,29,30,30],[2026,31,32,31,32,31,30,30,30,29,29,30,31],[2027,30,32,31,32,31,30,30,30,29,30,29,31],[2028,31,31,32,31,31,31,30,29,30,29,30,30],[2029,31,31,32,31,32,30,30,29,30,29,30,30],[2030,31,32,31,32,31,30,30,30,29,29,30,31],[2031,30,32,31,32,31,30,30,30,29,30,29,31],[2032,31,31,32,31,31,31,30,29,30,29,30,30],[2033,31,31,32,32,31,30,30,29,30,29,30,30],[2034,31,32,31,32,31,30,30,30,29,29,30,31],[2035,30,32,31,32,31,31,29,30,30,29,29,31],[2036,31,31,32,31,31,31,30,29,30,29,30,30],[2037,31,31,32,32,31,30,30,29,30,29,30,30],[2038,31,32,31,32,31,30,30,30,29,29,30,31],[2039,31,31,31,32,31,31,29,30,30,29,30,30],[2040,31,31,32,31,31,31,30,29,30,29,30,30],[2041,31,31,32,32,31,30,30,29,30,29,30,30],[2042,31,32,31,32,31,30,30,30,29,29,30,31],[2043,31,31,31,32,31,31,29,30,30,29,30,30],[2044,31,31,32,31,31,31,30,29,30,29,30,30],[2045,31,32,31,32,31,30,30,29,30,29,30,30],[2046,31,32,31,32,31,30,30,30,29,29,30,31],[2047,31,31,31,32,31,31,30,29,30,29,30,30],[2048,31,31,32,31,31,31,30,29,30,29,30,30],[2049,31,32,31,32,31,30,30,30,29,29,30,30],[2050,31,32,31,32,31,30,30,30,29,30,29,31],[2051,31,31,31,32,31,31,30,29,30,29,30,30],[2052,31,31,32,31,31,31,30,29,30,29,30,30],[2053,31,32,31,32,31,30,30,30,29,29,30,30],[2054,31,32,31,32,31,30,30,30,29,30,29,31],[2055,31,31,32,31,31,31,30,29,30,29,30,30],[2056,31,31,32,31,32,30,30,29,30,29,30,30],[2057,31,32,31,32,31,30,30,30,29,29,30,31],[2058,30,32,31,32,31,30,30,30,29,30,29,31],[2059,31,31,32,31,31,31,30,29,30,29,30,30],[2060,31,31,32,32,31,30,30,29,30,29,30,30],[2061,31,32,31,32,31,30,30,30,29,29,30,31],[2062,30,32,31,32,31,31,29,30,29,30,29,31],[2063,31,31,32,31,31,31,30,29,30,29,30,30],[2064,31,31,32,32,31,30,30,29,30,29,30,30],[2065,31,32,31,32,31,30,30,30,29,29,30,31],[2066,31,31,31,32,31,31,29,30,30,29,29,31],[2067,31,31,32,31,31,31,30,29,30,29,30,30],[2068,31,31,32,32,31,30,30,29,30,29,30,30],[2069,31,32,31,32,31,30,30,30,29,29,30,31],[2070,31,31,31,32,31,31,29,30,30,29,30,30],[2071,31,31,32,31,31,31,30,29,30,29,30,30],[2072,31,32,31,32,31,30,30,29,30,29,30,30],[2073,31,32,31,32,31,30,30,30,29,29,30,31],[2074,31,31,31,32,31,31,30,29,30,29,30,30],[2075,31,31,32,31,31,31,30,29,30,29,30,30],[2076,31,32,31,32,31,30,30,30,29,29,30,30],[2077,31,32,31,32,31,30,30,30,29,30,29,31],[2078,31,31,31,32,31,31,30,29,30,29,30,30],[2079,31,31,32,31,31,31,30,29,30,29,30,30],[2080,31,32,31,32,31,30,30,30,29,29,30,30],[2081,31,32,31,32,31,30,30,30,29,30,29,31],[2082,31,31,32,31,31,31,30,29,30,29,30,30],[2083,31,31,32,31,31,30,30,30,29,30,30,30],[2084,31,31,32,31,31,30,30,30,29,30,30,30],[2085,31,32,31,32,30,31,30,30,29,30,30,30],[2086,30,32,31,32,31,30,30,30,29,30,30,30],[2087,31,31,32,31,31,31,30,30,29,30,30,30],[2088,30,31,32,32,30,31,30,30,29,30,30,30],[2089,30,32,31,32,31,30,30,30,29,30,30,30],[2090,30,32,31,32,31,30,30,30,29,30,30,30],[2091,31,31,32,31,31,31,30,30,29,30,30,30],[2092,30,31,32,32,31,30,30,30,29,30,30,30],[2093,30,32,31,32,31,30,30,30,29,30,30,30],[2094,31,31,32,31,31,30,30,30,29,30,30,30],[2095,31,31,32,31,31,31,30,29,30,30,30,30],[2096,30,31,32,32,31,30,30,29,30,29,30,30],[2097,31,32,31,32,31,30,30,30,29,30,30,30],[2098,31,31,32,32,31,30,30,29,30,29,30,31],[2099,31,32,31,32,31,29,30,30,29,30,30,31]],this.nep_date={year:0,month:0,date:0,day:"",nmonth:"",num_day:0},this.eng_date={year:0,month:0,date:0,day:"",emonth:"",num_day:0}}getDayOfWeek(o){return{1:"आईतवार",2:"सोमबार",3:"मंगलवार",4:"बुधबार",5:"बिहीबार",6:"शुक्रबार",7:"शनिबार"}[o]}getEnglishMonth(o){return{1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"}[o]}getNepaliMonth(o){return{1:"बैशाख",2:"जेष्ठ",3:"असार",4:"श्रावण",5:"भाद्र",6:"आश्विन",7:"कार्तिक",8:"मंसिर",9:"पुष",10:"माघ",11:"फाल्गुन",12:"चैत्र"}[o]}isLeapYear(o){return o%4===0&&o%100!==0||o%400===0}convertToNepaliNumber(o){const c=["०","१","२","३","४","५","६","७","८","९"];return String(o).split("").map(p=>/[0-9]/.test(p)?c[p]:p).join("")}engToNep(o,c,p){if(o<1944||o>2033)throw new Error("Supported only between 1944-2033");const u=[0,31,28,31,30,31,30,31,31,30,31,30,31],i=[0,31,29,31,30,31,30,31,31,30,31,30,31];let y=1944,t=2e3,l=9,E=16,f=0,d=0,h=7,V=t,N=l,_=l;for(let m=y;m<o;m++)f+=this.isLeapYear(m)?i.reduce((v,x)=>v+x,0):u.reduce((v,x)=>v+x,0);for(let m=1;m<c;m++)f+=this.isLeapYear(o)?i[m]:u[m];f+=p-1;let D=1;for(d=E;f>0;){let m=this.bs[D][_];d++,h++,d>m&&(d=1,N++,_++),N>12&&(N=1,V++),_>12&&(_=1,D++),h>7&&(h=1),f--}return this.nep_date={year:V,month:N,date:d,day:this.getDayOfWeek(h),nmonth:this.getNepaliMonth(N),num_day:h},this.nep_date}adToBs(o){const[c,p,u]=o.split("-").map(Number),i=this.engToNep(c,p,u),y=i.year,t=i.month.toString().padStart(2,"0"),l=i.date.toString().padStart(2,"0");return`${y}-${t}-${l}`}getFirstDayOfMonth(o,c){let p=1944;for(let u=p;u<=2100;u++)for(let i=1;i<=12;i++)for(let y=1;y<=31;y++)try{const t=this.engToNep(u,i,y);if(t.year===o&&t.month===c&&t.date===1)return t.num_day}catch{continue}return null}}const M={class:"relative w-full nepali-calendar"},T=["value","placeholder"],C={key:0,class:"absolute bg-white border shadow rounded p-3 mt-2 w-80 z-50"},F={class:"flex items-center gap-3 mb-2 border-b border-gray-100"},L={class:"flex items-center w-36"},P={class:"relative"},$=["value"],O={class:"relative w-full"},Y={class:"flex items-center justify-between"},j={class:"relative"},I=["value"],z={class:"grid grid-cols-7 text-center font-semibold mb-1 text-gray-700 text-sm"},J={class:"grid grid-cols-7 gap-1 text-center"},A=["onClick"],S={__name:"NepaliDatePicker",props:{modelValue:String,placeholder:{type:String,default:"Select a date"},todayValue:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(k,{emit:o}){const c=k,p=o,u=new B,i=e.ref(!1),y=["आईत","सोम","मंगल","बुध","बिही","शुक्र","शनि"],t=e.ref(null),l=e.ref(null),E=e.ref([]),f=e.ref(null),d=e.ref({year:0,month:0,day:0}),h=(a,s,n)=>`${a}-${String(s).padStart(2,"0")}-${String(n).padStart(2,"0")}`;function V(){const a=u.bs.find(r=>r[0]===t.value)?.[l.value];if(!a)return;const s=u.getFirstDayOfMonth(t.value,l.value),n=[];for(let r=1;r<s;r++)n.push(null);for(let r=1;r<=a;r++)n.push(r);E.value=[];for(let r=0;r<n.length;r+=7)E.value.push(n.slice(r,r+7))}function N(a){if(!a)return;const s=h(t.value,l.value,a);f.value=s,p("update:modelValue",s),i.value=!1}function _(a){return a&&d.value.year===t.value&&d.value.month===l.value&&d.value.day===a}function D(a){return a?f.value===h(t.value,l.value,a):!1}function m(a){a.target.closest(".nepali-calendar")||(i.value=!1)}e.onMounted(()=>{const a=new Date,s=u.engToNep(a.getFullYear(),a.getMonth()+1,a.getDate());if(d.value={year:s.year,month:s.month,day:s.date},c.modelValue){const[n,r,g]=c.modelValue.split("-");t.value=parseInt(n),l.value=parseInt(r),f.value=h(t.value,l.value,parseInt(g))}else t.value=d.value.year,l.value=d.value.month,c.todayValue&&(f.value=h(d.value.year,d.value.month,d.value.day));V(),document.addEventListener("click",m)});function v(){l.value===1?(l.value=12,t.value=Number(t.value)-1):l.value=Number(l.value)-1}function x(){l.value===12?(l.value=1,t.value=Number(t.value)+1):l.value=Number(l.value)+1}return e.watch([t,l],V),(a,s)=>(e.openBlock(),e.createElementBlock("div",M,[e.createElementVNode("input",{type:"text",readonly:"",value:f.value,onClick:s[0]||(s[0]=n=>i.value=!i.value),class:"border-gray-300 w-full rounded-md px-3 py-2 cursor-pointer",placeholder:k.placeholder},null,8,T),i.value?(e.openBlock(),e.createElementBlock("div",C,[e.createElementVNode("div",F,[e.createElementVNode("div",L,[s[3]||(s[3]=e.createElementVNode("span",{class:"text-xs font-semibold text-red-600"}," वि.सं.",-1)),e.createElementVNode("div",P,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":s[1]||(s[1]=n=>t.value=n),class:"appearance-none border-none rounded-lg w-full px-3 py-2 text-sm font-bold"},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(150,n=>e.createElementVNode("option",{key:n,value:1975+n},e.toDisplayString(1975+n),9,$)),64))],512),[[e.vModelSelect,t.value]])])]),e.createElementVNode("div",O,[e.createElementVNode("div",Y,[e.createElementVNode("div",{onClick:v,class:"px-3 py-1 select-none cursor-pointer"}," « "),e.createElementVNode("div",j,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":s[2]||(s[2]=n=>l.value=n),class:"appearance-none border-none rounded-lg px-3 py-2 text-sm bg-white"},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(12,n=>e.createElementVNode("option",{key:n,value:n},e.toDisplayString(e.unref(u).getNepaliMonth(n)),9,I)),64))],512),[[e.vModelSelect,l.value]])]),e.createElementVNode("div",{onClick:x,class:"px-3 py-1 select-none cursor-pointer"}," » ")])])]),e.createElementVNode("div",z,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(y,(n,r)=>e.createElementVNode("div",{key:r,class:e.normalizeClass(r===6?"text-red-600":"")},e.toDisplayString(n),3)),64))]),e.createElementVNode("div",J,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,(n,r)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:r},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n,(g,w)=>(e.openBlock(),e.createElementBlock("div",{key:w,class:e.normalizeClass(["p-2 border rounded cursor-pointer select-none",[g===null?"bg-gray-100 cursor-default text-gray-400":"",w===6&&g!==null?"text-red-600":"",_(g)?"bg-blue-200 text-blue-800 font-bold":"",D(g)?"bg-blue-600 text-white font-bold":""]]),onClick:W=>N(g)},e.toDisplayString(g?e.unref(u).convertToNepaliNumber(g):""),11,A))),128))],64))),128))])])):e.createCommentVNode("",!0)]))}},U={install(k){k.component("NepaliDatePicker",S)}};b.NpDatePickerPlugin=U,b.default=S,Object.defineProperties(b,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(y,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(y=typeof globalThis<"u"?globalThis:y||self,e(y.NpDatePickerVueTw={},y.Vue))})(this,(function(y,e){"use strict";class B{constructor(){this.bs=[[2e3,30,32,31,32,31,30,30,30,29,30,29,31],[2001,31,31,32,31,31,31,30,29,30,29,30,30],[2002,31,31,32,32,31,30,30,29,30,29,30,30],[2003,31,32,31,32,31,30,30,30,29,29,30,31],[2004,30,32,31,32,31,30,30,30,29,30,29,31],[2005,31,31,32,31,31,31,30,29,30,29,30,30],[2006,31,31,32,32,31,30,30,29,30,29,30,30],[2007,31,32,31,32,31,30,30,30,29,29,30,31],[2008,31,31,31,32,31,31,29,30,30,29,29,31],[2009,31,31,32,31,31,31,30,29,30,29,30,30],[2010,31,31,32,32,31,30,30,29,30,29,30,30],[2011,31,32,31,32,31,30,30,30,29,29,30,31],[2012,31,31,31,32,31,31,29,30,30,29,30,30],[2013,31,31,32,31,31,31,30,29,30,29,30,30],[2014,31,31,32,32,31,30,30,29,30,29,30,30],[2015,31,32,31,32,31,30,30,30,29,29,30,31],[2016,31,31,31,32,31,31,29,30,30,29,30,30],[2017,31,31,32,31,31,31,30,29,30,29,30,30],[2018,31,32,31,32,31,30,30,29,30,29,30,30],[2019,31,32,31,32,31,30,30,30,29,30,29,31],[2020,31,31,31,32,31,31,30,29,30,29,30,30],[2021,31,31,32,31,31,31,30,29,30,29,30,30],[2022,31,32,31,32,31,30,30,30,29,29,30,30],[2023,31,32,31,32,31,30,30,30,29,30,29,31],[2024,31,31,31,32,31,31,30,29,30,29,30,30],[2025,31,31,32,31,31,31,30,29,30,29,30,30],[2026,31,32,31,32,31,30,30,30,29,29,30,31],[2027,30,32,31,32,31,30,30,30,29,30,29,31],[2028,31,31,32,31,31,31,30,29,30,29,30,30],[2029,31,31,32,31,32,30,30,29,30,29,30,30],[2030,31,32,31,32,31,30,30,30,29,29,30,31],[2031,30,32,31,32,31,30,30,30,29,30,29,31],[2032,31,31,32,31,31,31,30,29,30,29,30,30],[2033,31,31,32,32,31,30,30,29,30,29,30,30],[2034,31,32,31,32,31,30,30,30,29,29,30,31],[2035,30,32,31,32,31,31,29,30,30,29,29,31],[2036,31,31,32,31,31,31,30,29,30,29,30,30],[2037,31,31,32,32,31,30,30,29,30,29,30,30],[2038,31,32,31,32,31,30,30,30,29,29,30,31],[2039,31,31,31,32,31,31,29,30,30,29,30,30],[2040,31,31,32,31,31,31,30,29,30,29,30,30],[2041,31,31,32,32,31,30,30,29,30,29,30,30],[2042,31,32,31,32,31,30,30,30,29,29,30,31],[2043,31,31,31,32,31,31,29,30,30,29,30,30],[2044,31,31,32,31,31,31,30,29,30,29,30,30],[2045,31,32,31,32,31,30,30,29,30,29,30,30],[2046,31,32,31,32,31,30,30,30,29,29,30,31],[2047,31,31,31,32,31,31,30,29,30,29,30,30],[2048,31,31,32,31,31,31,30,29,30,29,30,30],[2049,31,32,31,32,31,30,30,30,29,29,30,30],[2050,31,32,31,32,31,30,30,30,29,30,29,31],[2051,31,31,31,32,31,31,30,29,30,29,30,30],[2052,31,31,32,31,31,31,30,29,30,29,30,30],[2053,31,32,31,32,31,30,30,30,29,29,30,30],[2054,31,32,31,32,31,30,30,30,29,30,29,31],[2055,31,31,32,31,31,31,30,29,30,29,30,30],[2056,31,31,32,31,32,30,30,29,30,29,30,30],[2057,31,32,31,32,31,30,30,30,29,29,30,31],[2058,30,32,31,32,31,30,30,30,29,30,29,31],[2059,31,31,32,31,31,31,30,29,30,29,30,30],[2060,31,31,32,32,31,30,30,29,30,29,30,30],[2061,31,32,31,32,31,30,30,30,29,29,30,31],[2062,30,32,31,32,31,31,29,30,29,30,29,31],[2063,31,31,32,31,31,31,30,29,30,29,30,30],[2064,31,31,32,32,31,30,30,29,30,29,30,30],[2065,31,32,31,32,31,30,30,30,29,29,30,31],[2066,31,31,31,32,31,31,29,30,30,29,29,31],[2067,31,31,32,31,31,31,30,29,30,29,30,30],[2068,31,31,32,32,31,30,30,29,30,29,30,30],[2069,31,32,31,32,31,30,30,30,29,29,30,31],[2070,31,31,31,32,31,31,29,30,30,29,30,30],[2071,31,31,32,31,31,31,30,29,30,29,30,30],[2072,31,32,31,32,31,30,30,29,30,29,30,30],[2073,31,32,31,32,31,30,30,30,29,29,30,31],[2074,31,31,31,32,31,31,30,29,30,29,30,30],[2075,31,31,32,31,31,31,30,29,30,29,30,30],[2076,31,32,31,32,31,30,30,30,29,29,30,30],[2077,31,32,31,32,31,30,30,30,29,30,29,31],[2078,31,31,31,32,31,31,30,29,30,29,30,30],[2079,31,31,32,31,31,31,30,29,30,29,30,30],[2080,31,32,31,32,31,30,30,30,29,29,30,30],[2081,31,32,31,32,31,30,30,30,29,30,29,31],[2082,31,31,32,31,31,31,30,29,30,29,30,30],[2083,31,31,32,31,31,30,30,30,29,30,30,30],[2084,31,31,32,31,31,30,30,30,29,30,30,30],[2085,31,32,31,32,30,31,30,30,29,30,30,30],[2086,30,32,31,32,31,30,30,30,29,30,30,30],[2087,31,31,32,31,31,31,30,30,29,30,30,30],[2088,30,31,32,32,30,31,30,30,29,30,30,30],[2089,30,32,31,32,31,30,30,30,29,30,30,30],[2090,30,32,31,32,31,30,30,30,29,30,30,30],[2091,31,31,32,31,31,31,30,30,29,30,30,30],[2092,30,31,32,32,31,30,30,30,29,30,30,30],[2093,30,32,31,32,31,30,30,30,29,30,30,30],[2094,31,31,32,31,31,30,30,30,29,30,30,30],[2095,31,31,32,31,31,31,30,29,30,30,30,30],[2096,30,31,32,32,31,30,30,29,30,29,30,30],[2097,31,32,31,32,31,30,30,30,29,30,30,30],[2098,31,31,32,32,31,30,30,29,30,29,30,31],[2099,31,32,31,32,31,29,30,30,29,30,30,31]],this.nep_date={year:0,month:0,date:0,day:"",nmonth:"",num_day:0},this.eng_date={year:0,month:0,date:0,day:"",emonth:"",num_day:0}}getDayOfWeek(o){return{1:"आईतवार",2:"सोमबार",3:"मंगलवार",4:"बुधबार",5:"बिहीबार",6:"शुक्रबार",7:"शनिबार"}[o]}getEnglishMonth(o){return{1:"January",2:"February",3:"March",4:"April",5:"May",6:"June",7:"July",8:"August",9:"September",10:"October",11:"November",12:"December"}[o]}getNepaliMonth(o){return{1:"बैशाख",2:"जेष्ठ",3:"असार",4:"श्रावण",5:"भाद्र",6:"आश्विन",7:"कार्तिक",8:"मंसिर",9:"पुष",10:"माघ",11:"फाल्गुन",12:"चैत्र"}[o]}isLeapYear(o){return o%4===0&&o%100!==0||o%400===0}convertToNepaliNumber(o){const c=["०","१","२","३","४","५","६","७","८","९"];return String(o).split("").map(p=>/[0-9]/.test(p)?c[p]:p).join("")}engToNep(o,c,p){if(o<1944||o>2033)throw new Error("Supported only between 1944-2033");const u=[0,31,28,31,30,31,30,31,31,30,31,30,31],i=[0,31,29,31,30,31,30,31,31,30,31,30,31];let g=1944,t=2e3,l=9,E=16,f=0,d=0,h=7,V=t,N=l,k=l;for(let m=g;m<o;m++)f+=this.isLeapYear(m)?i.reduce((v,D)=>v+D,0):u.reduce((v,D)=>v+D,0);for(let m=1;m<c;m++)f+=this.isLeapYear(o)?i[m]:u[m];f+=p-1;let x=1;for(d=E;f>0;){let m=this.bs[x][k];d++,h++,d>m&&(d=1,N++,k++),N>12&&(N=1,V++),k>12&&(k=1,x++),h>7&&(h=1),f--}return this.nep_date={year:V,month:N,date:d,day:this.getDayOfWeek(h),nmonth:this.getNepaliMonth(N),num_day:h},this.nep_date}adToBs(o){const[c,p,u]=o.split("-").map(Number),i=this.engToNep(c,p,u),g=i.year,t=i.month.toString().padStart(2,"0"),l=i.date.toString().padStart(2,"0");return`${g}-${t}-${l}`}getFirstDayOfMonth(o,c){let p=1944;for(let u=p;u<=2100;u++)for(let i=1;i<=12;i++)for(let g=1;g<=31;g++)try{const t=this.engToNep(u,i,g);if(t.year===o&&t.month===c&&t.date===1)return t.num_day}catch{continue}return null}}const M={class:"relative w-full nepali-calendar"},T=["value","placeholder"],C={key:0,class:"absolute bg-white border shadow rounded p-3 mt-2 w-80 z-50"},F={class:"flex items-center gap-3 mb-2 border-b border-gray-100"},L={class:"flex items-center w-36"},P={class:"relative"},$=["value"],O={class:"relative w-full"},Y={class:"flex items-center justify-between"},j={class:"relative"},I=["value"],z={class:"grid grid-cols-7 text-center font-semibold mb-1 text-gray-700 text-sm"},J={class:"grid grid-cols-7 gap-1 text-center"},A=["onClick"],S={__name:"NepaliDatePicker",props:{modelValue:String,placeholder:{type:String,default:"Select a date"},todayValue:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(_,{emit:o}){const c=_,p=o,u=new B,i=e.ref(!1),g=["आईत","सोम","मंगल","बुध","बिही","शुक्र","शनि"],t=e.ref(null),l=e.ref(null),E=e.ref([]),f=e.ref(null),d=e.ref({year:0,month:0,day:0}),h=(a,s,n)=>`${a}-${String(s).padStart(2,"0")}-${String(n).padStart(2,"0")}`;function V(){const a=u.bs.find(r=>r[0]===t.value)?.[l.value];if(!a)return;const s=u.getFirstDayOfMonth(t.value,l.value),n=[];for(let r=1;r<s;r++)n.push(null);for(let r=1;r<=a;r++)n.push(r);E.value=[];for(let r=0;r<n.length;r+=7)E.value.push(n.slice(r,r+7))}function N(a){if(!a)return;const s=h(t.value,l.value,a);f.value=s,p("update:modelValue",s),i.value=!1}function k(a){return a&&d.value.year===t.value&&d.value.month===l.value&&d.value.day===a}function x(a){return a?f.value===h(t.value,l.value,a):!1}function m(a){a.target.closest(".nepali-calendar")||(i.value=!1)}e.onMounted(()=>{const a=new Date,s=u.engToNep(a.getFullYear(),a.getMonth()+1,a.getDate());if(d.value={year:s.year,month:s.month,day:s.date},c.modelValue){const[n,r,b]=c.modelValue.split("-");t.value=parseInt(n),l.value=parseInt(r),f.value=h(t.value,l.value,parseInt(b))}else t.value=d.value.year,l.value=d.value.month,c.todayValue&&(f.value=h(d.value.year,d.value.month,d.value.day));V(),document.addEventListener("click",m)});function v(){l.value===1?(l.value=12,t.value=Number(t.value)-1):l.value=Number(l.value)-1}function D(){l.value===12?(l.value=1,t.value=Number(t.value)+1):l.value=Number(l.value)+1}return e.watch([t,l],V),(a,s)=>(e.openBlock(),e.createElementBlock("div",M,[e.createElementVNode("input",{type:"text",readonly:"",value:f.value,onClick:s[0]||(s[0]=n=>i.value=!i.value),class:"border-gray-300 w-full rounded-md px-3 py-2 cursor-pointer",placeholder:_.placeholder},null,8,T),i.value?(e.openBlock(),e.createElementBlock("div",C,[e.createElementVNode("div",F,[e.createElementVNode("div",L,[s[3]||(s[3]=e.createElementVNode("span",{class:"text-xs font-semibold text-red-600"}," वि.सं.",-1)),e.createElementVNode("div",P,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":s[1]||(s[1]=n=>t.value=n),class:"appearance-none border-none rounded-lg w-full px-3 py-2 text-sm font-bold"},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(150,n=>e.createElementVNode("option",{key:n,value:1975+n},e.toDisplayString(1975+n),9,$)),64))],512),[[e.vModelSelect,t.value]])])]),e.createElementVNode("div",O,[e.createElementVNode("div",Y,[e.createElementVNode("div",{onClick:v,class:"px-3 py-1 select-none cursor-pointer"}," « "),e.createElementVNode("div",j,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":s[2]||(s[2]=n=>l.value=n),class:"appearance-none border-none rounded-lg px-3 py-2 text-sm bg-white"},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(12,n=>e.createElementVNode("option",{key:n,value:n},e.toDisplayString(e.unref(u).getNepaliMonth(n)),9,I)),64))],512),[[e.vModelSelect,l.value]])]),e.createElementVNode("div",{onClick:D,class:"px-3 py-1 select-none cursor-pointer"}," » ")])])]),e.createElementVNode("div",z,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(g,(n,r)=>e.createElementVNode("div",{key:r,class:e.normalizeClass(r===6?"text-red-600":"")},e.toDisplayString(n),3)),64))]),e.createElementVNode("div",J,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,(n,r)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:r},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n,(b,w)=>(e.openBlock(),e.createElementBlock("div",{key:w,class:e.normalizeClass(["p-2 border rounded cursor-pointer select-none",[b===null?"bg-gray-100 cursor-default text-gray-400":"",w===6&&b!==null?"text-red-600":"",k(b)?"bg-blue-200 text-blue-800 font-bold":"",x(b)?"bg-blue-600 text-white font-bold":""]]),onClick:W=>N(b)},e.toDisplayString(b?e.unref(u).convertToNepaliNumber(b):""),11,A))),128))],64))),128))])])):e.createCommentVNode("",!0)]))}},U={install(_){_.component("NepaliDatePicker",S)}};y.NepaliDatePicker=S,y.NpDatePickerPlugin=U,y.default=S,Object.defineProperties(y,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@pr0vin/np-date-picker-vue-tw",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "main": "dist/np-date-picker-vue-tw.umd.js",
5
5
  "module": "dist/np-date-picker-vue-tw.es.js",
6
+ "style": "dist/styles.css",
6
7
  "files": [
7
8
  "dist"
8
9
  ],