@pr0vin/np-date-picker-vue-tw 1.0.5 → 1.0.7

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/README.md CHANGED
@@ -29,6 +29,7 @@ yarn add @pr0vin/np-date-picker-vue-tw
29
29
  ```vue
30
30
  <script setup>
31
31
  import { ref } from "vue";
32
+ import "@pr0vin/np-date-picker-vue-tw/dist/np-date-picker-vue-tw.css";
32
33
  import NPDatePicker from "@pr0vin/np-date-picker-vue-tw";
33
34
 
34
35
  const selectedDate = ref("");
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");class M{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]]}getDayOfWeek(l){return{1:"आईतवार",2:"सोमबार",3:"मंगलवार",4:"बुधबार",5:"बिहीबार",6:"शुक्रबार",7:"शनिबार"}[l]}getNepaliMonth(l){return["","बैशाख","जेष्ठ","असार","श्रावण","भाद्र","आश्विन","कार्तिक","मंसिर","पुष","माघ","फाल्गुन","चैत्र"][l]}isLeapYear(l){return l%100===0?l%400===0:l%4===0}getNepaliMonth(l){return["","बैशाख","जेष्ठ","असार","श्रावण","भाद्र","आश्विन","कार्तिक","मंसिर","पुष","माघ","फाल्गुन","चैत्र"][l]}convertToNepaliNumber(l){const d=["०","१","२","३","४","५","६","७","८","९"];return String(l).split("").map(y=>d[y]??y).join("")}engToNep(l,d,y){const c=[31,28,31,30,31,30,31,31,30,31,30,31],p=[31,29,31,30,31,30,31,31,30,31,30,31];let v=1944,n=2e3,t=9,h=16,m=6,s=0;for(let f=0;f<l-v;f++){const B=v+f;s+=this.isLeapYear(B)?p.reduce((w,E)=>w+E):c.reduce((w,E)=>w+E)}for(let f=0;f<d-1;f++)s+=this.isLeapYear(l)?p[f]:c[f];s+=y;let g=0,N=t,k=t,V=n,x=h;for(;s>0;){const f=this.bs[g][N];x++,m++,x>f&&(k++,x=1,N++),m>7&&(m=1),k>12&&(V++,k=1),N>12&&(N=1,g++),s--}return{year:V,month:k,date:x,num_day:m}}getFirstDayOfMonth(l,d){let y=1944,c=1,p=1,v=2e3,n=9,t=16,h=6;for(;v<l||v===l&&n<d||v===l&&n===d&&t<1;){p++;const m=this.isLeapYear(y)?[31,29,31,30,31,30,31,31,30,31,30,31]:[31,28,31,30,31,30,31,31,30,31,30,31];p>m[c-1]&&(p=1,c++,c>12&&(c=1,y++));const s=this.bs.find(g=>g[0]===v);t++,t>s[n]&&(t=1,n++,n>12&&(n=1,v++)),h++,h>7&&(h=1)}return h}}const C={class:"relative w-full np-nepali-calendar"},L=["value","placeholder"],F={key:0,class:"np-absolute np-bg-white np-border np-shadow np-rounded np-p-2 np-mt-1 np-w-64 np-z-50"},T={class:"np-flex np-items-center np-gap-2 np-mb-1 np-border-b border-gray-100 np-pb-1.5"},j={class:"np-flex np-items-center np-gap-1 np-w-1/2"},O=["value"],P={class:"np-flex np-items-center np-justify-between np-w-1/2"},$={class:"np-flex-1 np-flex np-justify-center"},z=["value"],I={class:"np-grid np-grid-cols-7 np-text-center np-font-semibold np-text-[11px]"},Y={class:"np-grid np-grid-cols-7 np-gap-0.5 np-mt-0.5"},U=["onClick"],S={__name:"NepaliDatePicker",props:{modelValue:String,placeholder:{type:String,default:"Select a date"},todayValue:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(_,{emit:l}){const d=_,y=l,c=new M,p=e.ref(!1),v=["आई","सोम","मंगल","बुध","बिही","शुक्र","शनि"],n=e.ref(null),t=e.ref(null),h=e.ref([]),m=e.ref(null),s=e.ref({year:0,month:0,day:0}),g=(o,r,a)=>`${o}-${String(r).padStart(2,"0")}-${String(a).padStart(2,"0")}`;function N(){const o=c.bs.find(u=>u[0]===Number(n.value));if(!o)return;const r=o[Number(t.value)];if(!r)return;const b=c.getFirstDayOfMonth(Number(n.value),Number(t.value))-1,i=[];for(let u=0;u<b;u++)i.push(null);for(let u=1;u<=r;u++)i.push(u);h.value=[];for(let u=0;u<i.length;u+=7){const D=i.slice(u,u+7);for(;D.length<7;)D.push(null);h.value.push(D)}}function k(o){if(!o)return;const r=g(n.value,t.value,o);m.value=r,y("update:modelValue",r),p.value=!1}function V(){t.value===1?(t.value=12,n.value--):t.value--}function x(){t.value===12?(t.value=1,n.value++):t.value++}function f(o){return o&&s.value.year===n.value&&s.value.month===t.value&&s.value.day===o}function B(o){return o?m.value===g(n.value,t.value,o):!1}function w(o){o.target.closest(".np-nepali-calendar")||(p.value=!1)}function E(){window.dispatchEvent(new CustomEvent("close-all-calendars")),p.value=!p.value}return e.onMounted(()=>{const o=new Date,r=c.engToNep(o.getFullYear(),o.getMonth()+1,o.getDate());if(s.value={year:r.year,month:r.month,day:r.date},d.modelValue){const[a,b,i]=d.modelValue.split("-");n.value=Number(a),t.value=Number(b),m.value=g(n.value,t.value,Number(i))}else n.value=s.value.year,t.value=s.value.month,d.todayValue&&(m.value=g(s.value.year,s.value.month,s.value.day));N(),document.addEventListener("click",w),window.addEventListener("close-all-calendars",()=>{p.value=!1})}),e.watch([n,t],N),(o,r)=>(e.openBlock(),e.createElementBlock("div",C,[e.createElementVNode("input",{type:"text",readonly:"",value:m.value,onClick:E,placeholder:_.placeholder,class:"np-w-full np-rounded-md np-border np-border-gray-300 np-px-2 np-py-1.5 np-text-sm np-cursor-pointer focus:np-outline-none focus:np-ring-1 focus:np-ring-blue-300 focus:np-border-blue-300"},null,8,L),p.value?(e.openBlock(),e.createElementBlock("div",F,[e.createElementVNode("div",T,[e.createElementVNode("div",j,[r[2]||(r[2]=e.createElementVNode("span",{class:"np-text-[10px] np-font-semibold np-text-red-600"},"वि.सं.",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[0]||(r[0]=a=>n.value=a),class:"np-font-semibold np-text-xs np-w-full"},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(150,a=>e.createElementVNode("option",{key:a,value:1975+a},e.toDisplayString(e.unref(c).convertToNepaliNumber(1975+a)),9,O)),64))],512),[[e.vModelSelect,n.value]])]),e.createElementVNode("div",P,[e.createElementVNode("span",{onClick:V,class:"np-cursor-pointer np-text-sm"},"«"),e.createElementVNode("div",$,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[1]||(r[1]=a=>t.value=a),class:"np-text-xs np-text-center np-w-[60%]"},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(12,a=>e.createElementVNode("option",{key:a,value:a},e.toDisplayString(e.unref(c).getNepaliMonth(a)),9,z)),64))],512),[[e.vModelSelect,t.value]])]),e.createElementVNode("span",{onClick:x,class:"np-cursor-pointer np-text-sm"},"»")])]),e.createElementVNode("div",I,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(v,(a,b)=>e.createElementVNode("div",{key:b,class:e.normalizeClass(b===6?"np-text-red-600":"")},e.toDisplayString(a),3)),64))]),e.createElementVNode("div",Y,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,(a,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:b},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a,(i,u)=>(e.openBlock(),e.createElementBlock("div",{key:u,onClick:D=>k(i),class:e.normalizeClass(["np-py-1.5 np-text-[11px] np-text-center np-rounded np-select-none np-cursor-pointer",[!i&&"np-bg-gray-50/50 np-text-gray-200 np-cursor-default",u===6&&i&&"np-text-red-600",f(i)&&"np-bg-blue-200 text-blue-600 np-font-bold",B(i)&&"np-bg-blue-600 np-text-white"]])},e.toDisplayString(i?e.unref(c).convertToNepaliNumber(i):""),11,U))),128))],64))),128))])])):e.createCommentVNode("",!0)]))}},q={install(_){_.component("NepaliDatePicker",S)}};exports.NepaliDatePicker=S;exports.default=q;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");class M{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]]}getDayOfWeek(n){return{1:"आईतवार",2:"सोमबार",3:"मंगलवार",4:"बुधबार",5:"बिहीबार",6:"शुक्रबार",7:"शनिबार"}[n]}getNepaliMonth(n){return["","बैशाख","जेष्ठ","असार","श्रावण","भाद्र","आश्विन","कार्तिक","मंसिर","पुष","माघ","फाल्गुन","चैत्र"][n]}isLeapYear(n){return n%100===0?n%400===0:n%4===0}getNepaliMonth(n){return["","बैशाख","जेष्ठ","असार","श्रावण","भाद्र","आश्विन","कार्तिक","मंसिर","पुष","माघ","फाल्गुन","चैत्र"][n]}convertToNepaliNumber(n){const i=["०","१","२","३","४","५","६","७","८","९"];return String(n).split("").map(v=>i[v]??v).join("")}engToNep(n,i,v){const c=[31,28,31,30,31,30,31,31,30,31,30,31],d=[31,29,31,30,31,30,31,31,30,31,30,31];let h=1944,l=2e3,t=9,y=16,m=6,s=0;for(let f=0;f<n-h;f++){const B=h+f;s+=this.isLeapYear(B)?d.reduce((w,E)=>w+E):c.reduce((w,E)=>w+E)}for(let f=0;f<i-1;f++)s+=this.isLeapYear(n)?d[f]:c[f];s+=v;let g=0,N=t,_=t,D=l,x=y;for(;s>0;){const f=this.bs[g][N];x++,m++,x>f&&(_++,x=1,N++),m>7&&(m=1),_>12&&(D++,_=1),N>12&&(N=1,g++),s--}return{year:D,month:_,date:x,num_day:m}}getFirstDayOfMonth(n,i){let v=1944,c=1,d=1,h=2e3,l=9,t=16,y=6;for(;h<n||h===n&&l<i||h===n&&l===i&&t<1;){d++;const m=this.isLeapYear(v)?[31,29,31,30,31,30,31,31,30,31,30,31]:[31,28,31,30,31,30,31,31,30,31,30,31];d>m[c-1]&&(d=1,c++,c>12&&(c=1,v++));const s=this.bs.find(g=>g[0]===h);t++,t>s[l]&&(t=1,l++,l>12&&(l=1,h++)),y++,y>7&&(y=1)}return y}}const C=(b,n)=>{const i=b.__vccOpts||b;for(const[v,c]of n)i[v]=c;return i},L={class:"relative w-full np-nepali-calendar"},F=["value","placeholder"],T={key:0,class:"np-absolute np-bg-white np-border np-shadow np-rounded np-p-2 np-mt-1 np-w-64 np-z-50"},O={class:"np-flex np-items-center np-gap-2 np-mb-1 np-border-b border-gray-100 np-pb-1.5"},j={class:"np-flex np-items-center np-gap-1 np-w-1/2"},P=["value"],I={class:"np-flex np-items-center np-justify-between np-w-1/2"},$={class:"np-flex-1 np-flex np-justify-center"},z=["value"],Y={class:"np-grid np-grid-cols-7 np-text-center np-font-semibold np-text-[11px]"},U={class:"np-grid np-grid-cols-7 np-gap-0.5 np-mt-0.5"},q=["onClick"],W={__name:"NepaliDatePicker",props:{modelValue:String,placeholder:{type:String,default:"Select a date"},todayValue:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(b,{emit:n}){const i=b,v=n,c=new M,d=e.ref(!1),h=["आई","सोम","मंगल","बुध","बिही","शुक्र","शनि"],l=e.ref(null),t=e.ref(null),y=e.ref([]),m=e.ref(null),s=e.ref({year:0,month:0,day:0}),g=(o,r,a)=>`${o}-${String(r).padStart(2,"0")}-${String(a).padStart(2,"0")}`;function N(){const o=c.bs.find(u=>u[0]===Number(l.value));if(!o)return;const r=o[Number(t.value)];if(!r)return;const k=c.getFirstDayOfMonth(Number(l.value),Number(t.value))-1,p=[];for(let u=0;u<k;u++)p.push(null);for(let u=1;u<=r;u++)p.push(u);y.value=[];for(let u=0;u<p.length;u+=7){const V=p.slice(u,u+7);for(;V.length<7;)V.push(null);y.value.push(V)}}function _(o){if(!o)return;const r=g(l.value,t.value,o);m.value=r,v("update:modelValue",r),d.value=!1}function D(){t.value===1?(t.value=12,l.value--):t.value--}function x(){t.value===12?(t.value=1,l.value++):t.value++}function f(o){return o&&s.value.year===l.value&&s.value.month===t.value&&s.value.day===o}function B(o){return o?m.value===g(l.value,t.value,o):!1}function w(o){o.target.closest(".np-nepali-calendar")||(d.value=!1)}function E(){window.dispatchEvent(new CustomEvent("close-all-calendars")),d.value=!d.value}return e.onMounted(()=>{const o=new Date,r=c.engToNep(o.getFullYear(),o.getMonth()+1,o.getDate());if(s.value={year:r.year,month:r.month,day:r.date},i.modelValue){const[a,k,p]=i.modelValue.split("-");l.value=Number(a),t.value=Number(k),m.value=g(l.value,t.value,Number(p))}else l.value=s.value.year,t.value=s.value.month,i.todayValue&&(m.value=g(s.value.year,s.value.month,s.value.day));N(),document.addEventListener("click",w),window.addEventListener("close-all-calendars",()=>{d.value=!1})}),e.watch([l,t],N),(o,r)=>(e.openBlock(),e.createElementBlock("div",L,[e.createElementVNode("input",{type:"text",readonly:"",value:m.value,onClick:E,placeholder:b.placeholder,class:"np-w-full np-rounded-md np-border np-border-gray-300 np-px-2 np-py-1.5 np-text-sm np-cursor-pointer focus:np-outline-none focus:np-ring-1 focus:np-ring-blue-300 focus:np-border-blue-300"},null,8,F),d.value?(e.openBlock(),e.createElementBlock("div",T,[e.createElementVNode("div",O,[e.createElementVNode("div",j,[r[2]||(r[2]=e.createElementVNode("span",{class:"np-text-[10px] np-font-semibold np-text-red-600"},"वि.सं.",-1)),e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[0]||(r[0]=a=>l.value=a),class:"np-font-semibold np-text-xs np-w-full"},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(150,a=>e.createElementVNode("option",{key:a,value:1975+a},e.toDisplayString(e.unref(c).convertToNepaliNumber(1975+a)),9,P)),64))],512),[[e.vModelSelect,l.value]])]),e.createElementVNode("div",I,[e.createElementVNode("span",{onClick:D,class:"np-cursor-pointer np-text-sm"},"«"),e.createElementVNode("div",$,[e.withDirectives(e.createElementVNode("select",{"onUpdate:modelValue":r[1]||(r[1]=a=>t.value=a),class:"np-text-xs np-text-center np-w-[60%]"},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(12,a=>e.createElementVNode("option",{key:a,value:a},e.toDisplayString(e.unref(c).getNepaliMonth(a)),9,z)),64))],512),[[e.vModelSelect,t.value]])]),e.createElementVNode("span",{onClick:x,class:"np-cursor-pointer np-text-sm"},"»")])]),e.createElementVNode("div",Y,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(h,(a,k)=>e.createElementVNode("div",{key:k,class:e.normalizeClass(k===6?"np-text-red-600":"")},e.toDisplayString(a),3)),64))]),e.createElementVNode("div",U,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(a,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a,(p,u)=>(e.openBlock(),e.createElementBlock("div",{key:u,onClick:V=>_(p),class:e.normalizeClass(["np-py-1.5 np-text-[11px] np-text-center np-rounded np-select-none np-cursor-pointer",[!p&&"np-bg-gray-50/50 np-text-gray-200 np-cursor-default",u===6&&p&&"np-text-red-600",f(p)&&"np-bg-blue-200 text-blue-600 np-font-bold",B(p)&&"np-bg-blue-600 np-text-white"]])},e.toDisplayString(p?e.unref(c).convertToNepaliNumber(p):""),11,q))),128))],64))),128))])])):e.createCommentVNode("",!0)]))}},S=C(W,[["__scopeId","data-v-51421f6e"]]),A={install(b){b.component("NepaliDatePicker",S)}};exports.NepaliDatePicker=S;exports.default=A;
@@ -1 +1 @@
1
- *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.np-absolute{position:absolute}.np-z-50{z-index:50}.np-mb-1{margin-bottom:.25rem}.np-mt-0\.5{margin-top:.125rem}.np-mt-1{margin-top:.25rem}.np-flex{display:flex}.np-grid{display:grid}.np-w-1\/2{width:50%}.np-w-64{width:16rem}.np-w-\[60\%\]{width:60%}.np-w-full{width:100%}.np-flex-1{flex:1 1 0%}.np-cursor-default{cursor:default}.np-cursor-pointer{cursor:pointer}.np-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.np-grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.np-items-center{align-items:center}.np-justify-center{justify-content:center}.np-justify-between{justify-content:space-between}.np-gap-0\.5{gap:.125rem}.np-gap-1{gap:.25rem}.np-gap-2{gap:.5rem}.np-rounded{border-radius:.25rem}.np-rounded-md{border-radius:.375rem}.np-border{border-width:1px}.np-border-b{border-bottom-width:1px}.np-border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.np-bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity, 1))}.np-bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.np-bg-gray-50\/50{background-color:#f9fafb80}.np-bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.np-p-2{padding:.5rem}.np-px-2{padding-left:.5rem;padding-right:.5rem}.np-py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.np-pb-1\.5{padding-bottom:.375rem}.np-text-center{text-align:center}.np-text-\[10px\]{font-size:10px}.np-text-\[11px\]{font-size:11px}.np-text-sm{font-size:.875rem;line-height:1.25rem}.np-text-xs{font-size:.75rem;line-height:1rem}.np-font-bold{font-weight:700}.np-font-semibold{font-weight:600}.np-text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.np-text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.np-text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.np-shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:transparent;-webkit-transition:background .2s;transition:background .2s}:hover::-webkit-scrollbar-thumb{background:#cbd5e1}select:focus{outline:none!important;box-shadow:none!important}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none}.focus\:np-border-blue-300:focus{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.focus\:np-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:np-ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:np-ring-blue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1))}
1
+ *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.np-absolute{position:absolute}.np-z-50{z-index:50}.np-mb-1{margin-bottom:.25rem}.np-mt-0\.5{margin-top:.125rem}.np-mt-1{margin-top:.25rem}.np-flex{display:flex}.np-grid{display:grid}.np-w-1\/2{width:50%}.np-w-64{width:16rem}.np-w-\[60\%\]{width:60%}.np-w-full{width:100%}.np-flex-1{flex:1 1 0%}.np-cursor-default{cursor:default}.np-cursor-pointer{cursor:pointer}.np-select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.np-grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.np-items-center{align-items:center}.np-justify-center{justify-content:center}.np-justify-between{justify-content:space-between}.np-gap-0\.5{gap:.125rem}.np-gap-1{gap:.25rem}.np-gap-2{gap:.5rem}.np-rounded{border-radius:.25rem}.np-rounded-md{border-radius:.375rem}.np-border{border-width:1px}.np-border-b{border-bottom-width:1px}.np-border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.np-bg-blue-200{--tw-bg-opacity: 1;background-color:rgb(191 219 254 / var(--tw-bg-opacity, 1))}.np-bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.np-bg-gray-50\/50{background-color:#f9fafb80}.np-bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.np-p-2{padding:.5rem}.np-px-2{padding-left:.5rem;padding-right:.5rem}.np-py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.np-pb-1\.5{padding-bottom:.375rem}.np-text-center{text-align:center}.np-text-\[10px\]{font-size:10px}.np-text-\[11px\]{font-size:11px}.np-text-sm{font-size:.875rem;line-height:1.25rem}.np-text-xs{font-size:.75rem;line-height:1rem}.np-font-bold{font-weight:700}.np-font-semibold{font-weight:600}.np-text-gray-200{--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.np-text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.np-text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.np-shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:transparent;-webkit-transition:background .2s;transition:background .2s}:hover::-webkit-scrollbar-thumb{background:#cbd5e1}select:focus{outline:none!important;box-shadow:none!important}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none}.focus\:np-border-blue-300:focus{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.focus\:np-outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:np-ring-1:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:np-ring-blue-300:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1))}select[data-v-51421f6e]:focus{outline:none!important;box-shadow:none!important}select[data-v-51421f6e]{appearance:none!important;-webkit-appearance:none;-moz-appearance:none;background-image:none}
@@ -1,4 +1,4 @@
1
- import { ref as D, onMounted as P, watch as Y, createElementBlock as b, openBlock as x, createElementVNode as u, createCommentVNode as z, withDirectives as O, Fragment as S, renderList as L, toDisplayString as j, unref as F, vModelSelect as $, normalizeClass as I } from "vue";
1
+ import { ref as S, onMounted as P, watch as Y, createElementBlock as b, openBlock as x, createElementVNode as i, createCommentVNode as z, withDirectives as F, Fragment as C, renderList as L, toDisplayString as O, unref as B, vModelSelect as I, normalizeClass as $ } from "vue";
2
2
  class U {
3
3
  constructor() {
4
4
  this.bs = [
@@ -105,7 +105,7 @@ class U {
105
105
  ];
106
106
  }
107
107
  /* ---------- Helpers ---------- */
108
- getDayOfWeek(n) {
108
+ getDayOfWeek(t) {
109
109
  return {
110
110
  1: "आईतवार",
111
111
  2: "सोमबार",
@@ -114,9 +114,9 @@ class U {
114
114
  5: "बिहीबार",
115
115
  6: "शुक्रबार",
116
116
  7: "शनिबार"
117
- }[n];
117
+ }[t];
118
118
  }
119
- getNepaliMonth(n) {
119
+ getNepaliMonth(t) {
120
120
  return [
121
121
  "",
122
122
  "बैशाख",
@@ -131,12 +131,12 @@ class U {
131
131
  "माघ",
132
132
  "फाल्गुन",
133
133
  "चैत्र"
134
- ][n];
134
+ ][t];
135
135
  }
136
- isLeapYear(n) {
137
- return n % 100 === 0 ? n % 400 === 0 : n % 4 === 0;
136
+ isLeapYear(t) {
137
+ return t % 100 === 0 ? t % 400 === 0 : t % 4 === 0;
138
138
  }
139
- getNepaliMonth(n) {
139
+ getNepaliMonth(t) {
140
140
  return [
141
141
  "",
142
142
  "बैशाख",
@@ -151,53 +151,58 @@ class U {
151
151
  "माघ",
152
152
  "फाल्गुन",
153
153
  "चैत्र"
154
- ][n];
154
+ ][t];
155
155
  }
156
- convertToNepaliNumber(n) {
157
- const d = ["०", "१", "२", "३", "४", "५", "६", "७", "८", "९"];
158
- return String(n).split("").map((y) => d[y] ?? y).join("");
156
+ convertToNepaliNumber(t) {
157
+ const p = ["०", "१", "२", "३", "४", "५", "६", "७", "८", "९"];
158
+ return String(t).split("").map((m) => p[m] ?? m).join("");
159
159
  }
160
160
  /* ---------- CORE: eng → nep (EXACT PHP PORT) ---------- */
161
- engToNep(n, d, y) {
162
- const i = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], c = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
163
- let m = 1944, t = 2e3, e = 9, h = 16, v = 6, s = 0;
164
- for (let f = 0; f < n - m; f++) {
165
- const B = m + f;
166
- s += this.isLeapYear(B) ? c.reduce((M, V) => M + V) : i.reduce((M, V) => M + V);
161
+ engToNep(t, p, m) {
162
+ const r = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], d = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
163
+ let h = 1944, n = 2e3, e = 9, y = 16, v = 6, s = 0;
164
+ for (let f = 0; f < t - h; f++) {
165
+ const j = h + f;
166
+ s += this.isLeapYear(j) ? d.reduce((M, V) => M + V) : r.reduce((M, V) => M + V);
167
167
  }
168
- for (let f = 0; f < d - 1; f++)
169
- s += this.isLeapYear(n) ? c[f] : i[f];
170
- s += y;
171
- let g = 0, w = e, N = e, T = t, k = h;
168
+ for (let f = 0; f < p - 1; f++)
169
+ s += this.isLeapYear(t) ? d[f] : r[f];
170
+ s += m;
171
+ let g = 0, N = e, k = e, T = n, D = y;
172
172
  for (; s > 0; ) {
173
- const f = this.bs[g][w];
174
- k++, v++, k > f && (N++, k = 1, w++), v > 7 && (v = 1), N > 12 && (T++, N = 1), w > 12 && (w = 1, g++), s--;
173
+ const f = this.bs[g][N];
174
+ D++, v++, D > f && (k++, D = 1, N++), v > 7 && (v = 1), k > 12 && (T++, k = 1), N > 12 && (N = 1, g++), s--;
175
175
  }
176
176
  return {
177
177
  year: T,
178
- month: N,
179
- date: k,
178
+ month: k,
179
+ date: D,
180
180
  num_day: v
181
181
  // 1–7 (Sunday–Saturday)
182
182
  };
183
183
  }
184
184
  /* ---------- REQUIRED FOR CALENDAR ---------- */
185
- getFirstDayOfMonth(n, d) {
186
- let y = 1944, i = 1, c = 1, m = 2e3, t = 9, e = 16, h = 6;
187
- for (; m < n || m === n && t < d || m === n && t === d && e < 1; ) {
188
- c++;
189
- const v = this.isLeapYear(y) ? [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] : [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
190
- c > v[i - 1] && (c = 1, i++, i > 12 && (i = 1, y++));
191
- const s = this.bs.find((g) => g[0] === m);
192
- e++, e > s[t] && (e = 1, t++, t > 12 && (t = 1, m++)), h++, h > 7 && (h = 1);
185
+ getFirstDayOfMonth(t, p) {
186
+ let m = 1944, r = 1, d = 1, h = 2e3, n = 9, e = 16, y = 6;
187
+ for (; h < t || h === t && n < p || h === t && n === p && e < 1; ) {
188
+ d++;
189
+ const v = this.isLeapYear(m) ? [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] : [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
190
+ d > v[r - 1] && (d = 1, r++, r > 12 && (r = 1, m++));
191
+ const s = this.bs.find((g) => g[0] === h);
192
+ e++, e > s[n] && (e = 1, n++, n > 12 && (n = 1, h++)), y++, y > 7 && (y = 1);
193
193
  }
194
- return h;
194
+ return y;
195
195
  }
196
196
  }
197
- const W = { class: "relative w-full np-nepali-calendar" }, q = ["value", "placeholder"], A = {
197
+ const W = (_, t) => {
198
+ const p = _.__vccOpts || _;
199
+ for (const [m, r] of t)
200
+ p[m] = r;
201
+ return p;
202
+ }, q = { class: "relative w-full np-nepali-calendar" }, A = ["value", "placeholder"], G = {
198
203
  key: 0,
199
204
  class: "np-absolute np-bg-white np-border np-shadow np-rounded np-p-2 np-mt-1 np-w-64 np-z-50"
200
- }, G = { class: "np-flex np-items-center np-gap-2 np-mb-1 np-border-b border-gray-100 np-pb-1.5" }, H = { class: "np-flex np-items-center np-gap-1 np-w-1/2" }, J = ["value"], K = { class: "np-flex np-items-center np-justify-between np-w-1/2" }, Q = { class: "np-flex-1 np-flex np-justify-center" }, R = ["value"], X = { class: "np-grid np-grid-cols-7 np-text-center np-font-semibold np-text-[11px]" }, Z = { class: "np-grid np-grid-cols-7 np-gap-0.5 np-mt-0.5" }, e3 = ["onClick"], t3 = {
205
+ }, H = { class: "np-flex np-items-center np-gap-2 np-mb-1 np-border-b border-gray-100 np-pb-1.5" }, J = { class: "np-flex np-items-center np-gap-1 np-w-1/2" }, K = ["value"], Q = { class: "np-flex np-items-center np-justify-between np-w-1/2" }, R = { class: "np-flex-1 np-flex np-justify-center" }, X = ["value"], Z = { class: "np-grid np-grid-cols-7 np-text-center np-font-semibold np-text-[11px]" }, e3 = { class: "np-grid np-grid-cols-7 np-gap-0.5 np-mt-0.5" }, t3 = ["onClick"], n3 = {
201
206
  __name: "NepaliDatePicker",
202
207
  props: {
203
208
  modelValue: String,
@@ -211,142 +216,142 @@ const W = { class: "relative w-full np-nepali-calendar" }, q = ["value", "placeh
211
216
  }
212
217
  },
213
218
  emits: ["update:modelValue"],
214
- setup(C, { emit: n }) {
215
- const d = C, y = n, i = new U(), c = D(!1), m = ["आई", "सोम", "मंगल", "बुध", "बिही", "शुक्र", "शनि"], t = D(null), e = D(null), h = D([]), v = D(null), s = D({ year: 0, month: 0, day: 0 }), g = (l, o, a) => `${l}-${String(o).padStart(2, "0")}-${String(a).padStart(2, "0")}`;
216
- function w() {
217
- const l = i.bs.find((r) => r[0] === Number(t.value));
219
+ setup(_, { emit: t }) {
220
+ const p = _, m = t, r = new U(), d = S(!1), h = ["आई", "सोम", "मंगल", "बुध", "बिही", "शुक्र", "शनि"], n = S(null), e = S(null), y = S([]), v = S(null), s = S({ year: 0, month: 0, day: 0 }), g = (l, o, a) => `${l}-${String(o).padStart(2, "0")}-${String(a).padStart(2, "0")}`;
221
+ function N() {
222
+ const l = r.bs.find((u) => u[0] === Number(n.value));
218
223
  if (!l) return;
219
224
  const o = l[Number(e.value)];
220
225
  if (!o) return;
221
- const _ = i.getFirstDayOfMonth(Number(t.value), Number(e.value)) - 1, p = [];
222
- for (let r = 0; r < _; r++) p.push(null);
223
- for (let r = 1; r <= o; r++) p.push(r);
224
- h.value = [];
225
- for (let r = 0; r < p.length; r += 7) {
226
- const E = p.slice(r, r + 7);
226
+ const w = r.getFirstDayOfMonth(Number(n.value), Number(e.value)) - 1, c = [];
227
+ for (let u = 0; u < w; u++) c.push(null);
228
+ for (let u = 1; u <= o; u++) c.push(u);
229
+ y.value = [];
230
+ for (let u = 0; u < c.length; u += 7) {
231
+ const E = c.slice(u, u + 7);
227
232
  for (; E.length < 7; ) E.push(null);
228
- h.value.push(E);
233
+ y.value.push(E);
229
234
  }
230
235
  }
231
- function N(l) {
236
+ function k(l) {
232
237
  if (!l) return;
233
- const o = g(t.value, e.value, l);
234
- v.value = o, y("update:modelValue", o), c.value = !1;
238
+ const o = g(n.value, e.value, l);
239
+ v.value = o, m("update:modelValue", o), d.value = !1;
235
240
  }
236
241
  function T() {
237
- e.value === 1 ? (e.value = 12, t.value--) : e.value--;
242
+ e.value === 1 ? (e.value = 12, n.value--) : e.value--;
238
243
  }
239
- function k() {
240
- e.value === 12 ? (e.value = 1, t.value++) : e.value++;
244
+ function D() {
245
+ e.value === 12 ? (e.value = 1, n.value++) : e.value++;
241
246
  }
242
247
  function f(l) {
243
- return l && s.value.year === t.value && s.value.month === e.value && s.value.day === l;
248
+ return l && s.value.year === n.value && s.value.month === e.value && s.value.day === l;
244
249
  }
245
- function B(l) {
246
- return l ? v.value === g(t.value, e.value, l) : !1;
250
+ function j(l) {
251
+ return l ? v.value === g(n.value, e.value, l) : !1;
247
252
  }
248
253
  function M(l) {
249
- l.target.closest(".np-nepali-calendar") || (c.value = !1);
254
+ l.target.closest(".np-nepali-calendar") || (d.value = !1);
250
255
  }
251
256
  function V() {
252
- window.dispatchEvent(new CustomEvent("close-all-calendars")), c.value = !c.value;
257
+ window.dispatchEvent(new CustomEvent("close-all-calendars")), d.value = !d.value;
253
258
  }
254
259
  return P(() => {
255
- const l = /* @__PURE__ */ new Date(), o = i.engToNep(l.getFullYear(), l.getMonth() + 1, l.getDate());
260
+ const l = /* @__PURE__ */ new Date(), o = r.engToNep(l.getFullYear(), l.getMonth() + 1, l.getDate());
256
261
  if (s.value = {
257
262
  year: o.year,
258
263
  month: o.month,
259
264
  day: o.date
260
- }, d.modelValue) {
261
- const [a, _, p] = d.modelValue.split("-");
262
- t.value = Number(a), e.value = Number(_), v.value = g(t.value, e.value, Number(p));
265
+ }, p.modelValue) {
266
+ const [a, w, c] = p.modelValue.split("-");
267
+ n.value = Number(a), e.value = Number(w), v.value = g(n.value, e.value, Number(c));
263
268
  } else
264
- t.value = s.value.year, e.value = s.value.month, d.todayValue && (v.value = g(
269
+ n.value = s.value.year, e.value = s.value.month, p.todayValue && (v.value = g(
265
270
  s.value.year,
266
271
  s.value.month,
267
272
  s.value.day
268
273
  ));
269
- w(), document.addEventListener("click", M), window.addEventListener("close-all-calendars", () => {
270
- c.value = !1;
274
+ N(), document.addEventListener("click", M), window.addEventListener("close-all-calendars", () => {
275
+ d.value = !1;
271
276
  });
272
- }), Y([t, e], w), (l, o) => (x(), b("div", W, [
273
- u("input", {
277
+ }), Y([n, e], N), (l, o) => (x(), b("div", q, [
278
+ i("input", {
274
279
  type: "text",
275
280
  readonly: "",
276
281
  value: v.value,
277
282
  onClick: V,
278
- placeholder: C.placeholder,
283
+ placeholder: _.placeholder,
279
284
  class: "np-w-full np-rounded-md np-border np-border-gray-300 np-px-2 np-py-1.5 np-text-sm np-cursor-pointer focus:np-outline-none focus:np-ring-1 focus:np-ring-blue-300 focus:np-border-blue-300"
280
- }, null, 8, q),
281
- c.value ? (x(), b("div", A, [
282
- u("div", G, [
283
- u("div", H, [
284
- o[2] || (o[2] = u("span", { class: "np-text-[10px] np-font-semibold np-text-red-600" }, "वि.सं.", -1)),
285
- O(u("select", {
286
- "onUpdate:modelValue": o[0] || (o[0] = (a) => t.value = a),
285
+ }, null, 8, A),
286
+ d.value ? (x(), b("div", G, [
287
+ i("div", H, [
288
+ i("div", J, [
289
+ o[2] || (o[2] = i("span", { class: "np-text-[10px] np-font-semibold np-text-red-600" }, "वि.सं.", -1)),
290
+ F(i("select", {
291
+ "onUpdate:modelValue": o[0] || (o[0] = (a) => n.value = a),
287
292
  class: "np-font-semibold np-text-xs np-w-full"
288
293
  }, [
289
- (x(), b(S, null, L(150, (a) => u("option", {
294
+ (x(), b(C, null, L(150, (a) => i("option", {
290
295
  key: a,
291
296
  value: 1975 + a
292
- }, j(F(i).convertToNepaliNumber(1975 + a)), 9, J)), 64))
297
+ }, O(B(r).convertToNepaliNumber(1975 + a)), 9, K)), 64))
293
298
  ], 512), [
294
- [$, t.value]
299
+ [I, n.value]
295
300
  ])
296
301
  ]),
297
- u("div", K, [
298
- u("span", {
302
+ i("div", Q, [
303
+ i("span", {
299
304
  onClick: T,
300
305
  class: "np-cursor-pointer np-text-sm"
301
306
  }, "«"),
302
- u("div", Q, [
303
- O(u("select", {
307
+ i("div", R, [
308
+ F(i("select", {
304
309
  "onUpdate:modelValue": o[1] || (o[1] = (a) => e.value = a),
305
310
  class: "np-text-xs np-text-center np-w-[60%]"
306
311
  }, [
307
- (x(), b(S, null, L(12, (a) => u("option", {
312
+ (x(), b(C, null, L(12, (a) => i("option", {
308
313
  key: a,
309
314
  value: a
310
- }, j(F(i).getNepaliMonth(a)), 9, R)), 64))
315
+ }, O(B(r).getNepaliMonth(a)), 9, X)), 64))
311
316
  ], 512), [
312
- [$, e.value]
317
+ [I, e.value]
313
318
  ])
314
319
  ]),
315
- u("span", {
316
- onClick: k,
320
+ i("span", {
321
+ onClick: D,
317
322
  class: "np-cursor-pointer np-text-sm"
318
323
  }, "»")
319
324
  ])
320
325
  ]),
321
- u("div", X, [
322
- (x(), b(S, null, L(m, (a, _) => u("div", {
323
- key: _,
324
- class: I(_ === 6 ? "np-text-red-600" : "")
325
- }, j(a), 3)), 64))
326
+ i("div", Z, [
327
+ (x(), b(C, null, L(h, (a, w) => i("div", {
328
+ key: w,
329
+ class: $(w === 6 ? "np-text-red-600" : "")
330
+ }, O(a), 3)), 64))
326
331
  ]),
327
- u("div", Z, [
328
- (x(!0), b(S, null, L(h.value, (a, _) => (x(), b(S, { key: _ }, [
329
- (x(!0), b(S, null, L(a, (p, r) => (x(), b("div", {
330
- key: r,
331
- onClick: (E) => N(p),
332
- class: I(["np-py-1.5 np-text-[11px] np-text-center np-rounded np-select-none np-cursor-pointer", [
333
- !p && "np-bg-gray-50/50 np-text-gray-200 np-cursor-default",
334
- r === 6 && p && "np-text-red-600",
335
- f(p) && "np-bg-blue-200 text-blue-600 np-font-bold",
336
- B(p) && "np-bg-blue-600 np-text-white"
332
+ i("div", e3, [
333
+ (x(!0), b(C, null, L(y.value, (a, w) => (x(), b(C, { key: w }, [
334
+ (x(!0), b(C, null, L(a, (c, u) => (x(), b("div", {
335
+ key: u,
336
+ onClick: (E) => k(c),
337
+ class: $(["np-py-1.5 np-text-[11px] np-text-center np-rounded np-select-none np-cursor-pointer", [
338
+ !c && "np-bg-gray-50/50 np-text-gray-200 np-cursor-default",
339
+ u === 6 && c && "np-text-red-600",
340
+ f(c) && "np-bg-blue-200 text-blue-600 np-font-bold",
341
+ j(c) && "np-bg-blue-600 np-text-white"
337
342
  ]])
338
- }, j(p ? F(i).convertToNepaliNumber(p) : ""), 11, e3))), 128))
343
+ }, O(c ? B(r).convertToNepaliNumber(c) : ""), 11, t3))), 128))
339
344
  ], 64))), 128))
340
345
  ])
341
346
  ])) : z("", !0)
342
347
  ]));
343
348
  }
344
- }, l3 = {
345
- install(C) {
346
- C.component("NepaliDatePicker", t3);
349
+ }, l3 = /* @__PURE__ */ W(n3, [["__scopeId", "data-v-51421f6e"]]), o3 = {
350
+ install(_) {
351
+ _.component("NepaliDatePicker", l3);
347
352
  }
348
353
  };
349
354
  export {
350
- t3 as NepaliDatePicker,
351
- l3 as default
355
+ l3 as NepaliDatePicker,
356
+ o3 as default
352
357
  };
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@pr0vin/np-date-picker-vue-tw",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "A Nepali date picker Vue 3 component using Tailwind CSS",
5
5
  "author": "Pravin Chaudhary",
6
6
  "license": "ISC",
7
7
  "type": "module",
8
8
  "main": "dist/np-date-picker-vue-tw.cjs.js",
9
9
  "module": "dist/np-date-picker-vue-tw.es.js",
10
- "style": "dist/style.css",
10
+ "style": "dist/np-date-picker-vue-tw.css",
11
11
  "files": [
12
12
  "dist"
13
13
  ],