@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
|
|
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(
|
|
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
|
-
}[
|
|
117
|
+
}[t];
|
|
118
118
|
}
|
|
119
|
-
getNepaliMonth(
|
|
119
|
+
getNepaliMonth(t) {
|
|
120
120
|
return [
|
|
121
121
|
"",
|
|
122
122
|
"बैशाख",
|
|
@@ -131,12 +131,12 @@ class U {
|
|
|
131
131
|
"माघ",
|
|
132
132
|
"फाल्गुन",
|
|
133
133
|
"चैत्र"
|
|
134
|
-
][
|
|
134
|
+
][t];
|
|
135
135
|
}
|
|
136
|
-
isLeapYear(
|
|
137
|
-
return
|
|
136
|
+
isLeapYear(t) {
|
|
137
|
+
return t % 100 === 0 ? t % 400 === 0 : t % 4 === 0;
|
|
138
138
|
}
|
|
139
|
-
getNepaliMonth(
|
|
139
|
+
getNepaliMonth(t) {
|
|
140
140
|
return [
|
|
141
141
|
"",
|
|
142
142
|
"बैशाख",
|
|
@@ -151,53 +151,58 @@ class U {
|
|
|
151
151
|
"माघ",
|
|
152
152
|
"फाल्गुन",
|
|
153
153
|
"चैत्र"
|
|
154
|
-
][
|
|
154
|
+
][t];
|
|
155
155
|
}
|
|
156
|
-
convertToNepaliNumber(
|
|
157
|
-
const
|
|
158
|
-
return String(
|
|
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(
|
|
162
|
-
const
|
|
163
|
-
let
|
|
164
|
-
for (let f = 0; f <
|
|
165
|
-
const
|
|
166
|
-
s += this.isLeapYear(
|
|
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 <
|
|
169
|
-
s += this.isLeapYear(
|
|
170
|
-
s +=
|
|
171
|
-
let g = 0,
|
|
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][
|
|
174
|
-
|
|
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:
|
|
179
|
-
date:
|
|
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(
|
|
186
|
-
let
|
|
187
|
-
for (;
|
|
188
|
-
|
|
189
|
-
const v = this.isLeapYear(
|
|
190
|
-
|
|
191
|
-
const s = this.bs.find((g) => g[0] ===
|
|
192
|
-
e++, e > s[
|
|
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
|
|
194
|
+
return y;
|
|
195
195
|
}
|
|
196
196
|
}
|
|
197
|
-
const W =
|
|
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
|
-
},
|
|
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(
|
|
215
|
-
const
|
|
216
|
-
function
|
|
217
|
-
const l =
|
|
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
|
|
222
|
-
for (let
|
|
223
|
-
for (let
|
|
224
|
-
|
|
225
|
-
for (let
|
|
226
|
-
const E =
|
|
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
|
-
|
|
233
|
+
y.value.push(E);
|
|
229
234
|
}
|
|
230
235
|
}
|
|
231
|
-
function
|
|
236
|
+
function k(l) {
|
|
232
237
|
if (!l) return;
|
|
233
|
-
const o = g(
|
|
234
|
-
v.value = o,
|
|
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,
|
|
242
|
+
e.value === 1 ? (e.value = 12, n.value--) : e.value--;
|
|
238
243
|
}
|
|
239
|
-
function
|
|
240
|
-
e.value === 12 ? (e.value = 1,
|
|
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 ===
|
|
248
|
+
return l && s.value.year === n.value && s.value.month === e.value && s.value.day === l;
|
|
244
249
|
}
|
|
245
|
-
function
|
|
246
|
-
return l ? v.value === g(
|
|
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") || (
|
|
254
|
+
l.target.closest(".np-nepali-calendar") || (d.value = !1);
|
|
250
255
|
}
|
|
251
256
|
function V() {
|
|
252
|
-
window.dispatchEvent(new CustomEvent("close-all-calendars")),
|
|
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 =
|
|
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
|
-
},
|
|
261
|
-
const [a,
|
|
262
|
-
|
|
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
|
-
|
|
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
|
-
|
|
270
|
-
|
|
274
|
+
N(), document.addEventListener("click", M), window.addEventListener("close-all-calendars", () => {
|
|
275
|
+
d.value = !1;
|
|
271
276
|
});
|
|
272
|
-
}), Y([
|
|
273
|
-
|
|
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:
|
|
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,
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
o[2] || (o[2] =
|
|
285
|
-
|
|
286
|
-
"onUpdate:modelValue": o[0] || (o[0] = (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(
|
|
294
|
+
(x(), b(C, null, L(150, (a) => i("option", {
|
|
290
295
|
key: a,
|
|
291
296
|
value: 1975 + a
|
|
292
|
-
},
|
|
297
|
+
}, O(B(r).convertToNepaliNumber(1975 + a)), 9, K)), 64))
|
|
293
298
|
], 512), [
|
|
294
|
-
[
|
|
299
|
+
[I, n.value]
|
|
295
300
|
])
|
|
296
301
|
]),
|
|
297
|
-
|
|
298
|
-
|
|
302
|
+
i("div", Q, [
|
|
303
|
+
i("span", {
|
|
299
304
|
onClick: T,
|
|
300
305
|
class: "np-cursor-pointer np-text-sm"
|
|
301
306
|
}, "«"),
|
|
302
|
-
|
|
303
|
-
|
|
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(
|
|
312
|
+
(x(), b(C, null, L(12, (a) => i("option", {
|
|
308
313
|
key: a,
|
|
309
314
|
value: a
|
|
310
|
-
},
|
|
315
|
+
}, O(B(r).getNepaliMonth(a)), 9, X)), 64))
|
|
311
316
|
], 512), [
|
|
312
|
-
[
|
|
317
|
+
[I, e.value]
|
|
313
318
|
])
|
|
314
319
|
]),
|
|
315
|
-
|
|
316
|
-
onClick:
|
|
320
|
+
i("span", {
|
|
321
|
+
onClick: D,
|
|
317
322
|
class: "np-cursor-pointer np-text-sm"
|
|
318
323
|
}, "»")
|
|
319
324
|
])
|
|
320
325
|
]),
|
|
321
|
-
|
|
322
|
-
(x(), b(
|
|
323
|
-
key:
|
|
324
|
-
class:
|
|
325
|
-
},
|
|
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
|
-
|
|
328
|
-
(x(!0), b(
|
|
329
|
-
(x(!0), b(
|
|
330
|
-
key:
|
|
331
|
-
onClick: (E) =>
|
|
332
|
-
class:
|
|
333
|
-
!
|
|
334
|
-
|
|
335
|
-
f(
|
|
336
|
-
|
|
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
|
-
},
|
|
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(
|
|
346
|
-
|
|
349
|
+
}, l3 = /* @__PURE__ */ W(n3, [["__scopeId", "data-v-51421f6e"]]), o3 = {
|
|
350
|
+
install(_) {
|
|
351
|
+
_.component("NepaliDatePicker", l3);
|
|
347
352
|
}
|
|
348
353
|
};
|
|
349
354
|
export {
|
|
350
|
-
|
|
351
|
-
|
|
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.
|
|
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/
|
|
10
|
+
"style": "dist/np-date-picker-vue-tw.css",
|
|
11
11
|
"files": [
|
|
12
12
|
"dist"
|
|
13
13
|
],
|