@nepdatejs/vanilla 0.0.0-bootstrap → 0.1.0
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/LICENSE +21 -0
- package/README.md +123 -1
- package/dist/auto-define.cjs +11 -0
- package/dist/auto-define.cjs.map +1 -0
- package/dist/auto-define.d.cts +2 -0
- package/dist/auto-define.d.ts +2 -0
- package/dist/auto-define.js +9 -0
- package/dist/auto-define.js.map +1 -0
- package/dist/calendar-BAcO-jYq.js +142 -0
- package/dist/calendar-BAcO-jYq.js.map +1 -0
- package/dist/calendar-BNdN8qJv.d.ts +87 -0
- package/dist/calendar-C1LZI7XN.cjs +159 -0
- package/dist/calendar-C1LZI7XN.cjs.map +1 -0
- package/dist/calendar-QWPX0IfD.d.cts +87 -0
- package/dist/calendar.cjs +7 -0
- package/dist/calendar.d.cts +2 -0
- package/dist/calendar.d.ts +2 -0
- package/dist/calendar.js +3 -0
- package/dist/date-picker-BidCGOz0.d.cts +74 -0
- package/dist/date-picker-CQoabjlj.cjs +600 -0
- package/dist/date-picker-CQoabjlj.cjs.map +1 -0
- package/dist/date-picker-DyvpYe29.d.ts +74 -0
- package/dist/date-picker-ucoEFnMW.js +577 -0
- package/dist/date-picker-ucoEFnMW.js.map +1 -0
- package/dist/date-picker.cjs +6 -0
- package/dist/date-picker.d.cts +3 -0
- package/dist/date-picker.d.ts +3 -0
- package/dist/date-picker.js +1 -0
- package/dist/date-range-picker-BQKcZeqG.cjs +489 -0
- package/dist/date-range-picker-BQKcZeqG.cjs.map +1 -0
- package/dist/date-range-picker-D3eNvlgv.d.ts +98 -0
- package/dist/date-range-picker-DAkCzVgT.js +466 -0
- package/dist/date-range-picker-DAkCzVgT.js.map +1 -0
- package/dist/date-range-picker-SIl0vhUV.d.cts +98 -0
- package/dist/date-range-picker.cjs +6 -0
- package/dist/date-range-picker.d.cts +2 -0
- package/dist/date-range-picker.d.ts +2 -0
- package/dist/date-range-picker.js +1 -0
- package/dist/date-time-picker-BqweOP2u.js +487 -0
- package/dist/date-time-picker-BqweOP2u.js.map +1 -0
- package/dist/date-time-picker-Bxfn-a9T.cjs +510 -0
- package/dist/date-time-picker-Bxfn-a9T.cjs.map +1 -0
- package/dist/date-time-picker-BzSyQxrf.d.cts +92 -0
- package/dist/date-time-picker-DzDpzLMZ.d.ts +92 -0
- package/dist/date-time-picker.cjs +6 -0
- package/dist/date-time-picker.d.cts +2 -0
- package/dist/date-time-picker.d.ts +2 -0
- package/dist/date-time-picker.js +1 -0
- package/dist/define-7natoEH4.js +18 -0
- package/dist/define-7natoEH4.js.map +1 -0
- package/dist/define-B8NUA3yj.d.cts +16 -0
- package/dist/define-B8NUA3yj.d.ts +16 -0
- package/dist/define-DTTdLfIM.cjs +23 -0
- package/dist/define-DTTdLfIM.cjs.map +1 -0
- package/dist/element-utils-BVye8UQq.d.cts +82 -0
- package/dist/element-utils-C-r5gPlk.d.ts +82 -0
- package/dist/index.cjs +30 -0
- package/dist/index.d.cts +8 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +8 -0
- package/dist/multi-date-picker-B2mQbjZM.d.ts +105 -0
- package/dist/multi-date-picker-BMEYUPBa.cjs +462 -0
- package/dist/multi-date-picker-BMEYUPBa.cjs.map +1 -0
- package/dist/multi-date-picker-BUNf5zyJ.d.cts +105 -0
- package/dist/multi-date-picker-XCg8Y0sF.js +439 -0
- package/dist/multi-date-picker-XCg8Y0sF.js.map +1 -0
- package/dist/multi-date-picker.cjs +6 -0
- package/dist/multi-date-picker.d.cts +2 -0
- package/dist/multi-date-picker.d.ts +2 -0
- package/dist/multi-date-picker.js +1 -0
- package/dist/nepdate-picker.global.js +3 -0
- package/dist/nepdate-picker.global.js.map +1 -0
- package/dist/preset-list-CASwnwmS.js +45 -0
- package/dist/preset-list-CASwnwmS.js.map +1 -0
- package/dist/preset-list-Cs8H12Wp.cjs +50 -0
- package/dist/preset-list-Cs8H12Wp.cjs.map +1 -0
- package/dist/registry-3qzdVB7H.cjs +591 -0
- package/dist/registry-3qzdVB7H.cjs.map +1 -0
- package/dist/registry-BvkGnkvV.js +466 -0
- package/dist/registry-BvkGnkvV.js.map +1 -0
- package/package.json +159 -4
- package/src/auto-define.ts +6 -0
- package/src/calendar-element.ts +129 -0
- package/src/calendar-view.ts +406 -0
- package/src/calendar.ts +45 -0
- package/src/date-picker-element.ts +249 -0
- package/src/date-picker.ts +91 -0
- package/src/date-range-picker-element.ts +201 -0
- package/src/date-range-picker.ts +20 -0
- package/src/date-time-picker-element.ts +191 -0
- package/src/date-time-picker.ts +20 -0
- package/src/datetime-view.ts +459 -0
- package/src/define.ts +16 -0
- package/src/dom.ts +109 -0
- package/src/element-utils.ts +86 -0
- package/src/global.ts +7 -0
- package/src/index.ts +15 -0
- package/src/multi-date-picker-element.ts +187 -0
- package/src/multi-date-picker.ts +53 -0
- package/src/multi-view.ts +345 -0
- package/src/picker-view.ts +448 -0
- package/src/preset-list.ts +51 -0
- package/src/range-view.ts +393 -0
- package/src/registry.ts +27 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var NepDateElements=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let t={firstYear:1970,epochStart:-20717,verifiedThrough:2083,years:[[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,31,32,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[30,32,31,32,31,30,30,30,29,30,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[30,32,31,32,31,31,29,30,29,30,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[31,31,31,32,31,31,29,30,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[31,31,31,32,31,31,29,30,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,32,31,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[31,31,31,32,31,31,30,29,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,30],[31,32,31,32,31,30,30,30,29,30,29,31],[31,31,31,32,31,31,30,29,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,30],[31,32,31,32,31,30,30,30,29,30,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[30,32,31,32,31,30,30,30,29,30,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[30,32,31,32,31,30,30,30,29,30,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[31,31,31,32,31,31,29,30,30,29,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[31,31,31,32,31,31,29,30,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[31,31,31,32,31,31,29,30,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,32,31,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,30,29,31],[31,31,31,32,31,31,30,29,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,30],[31,32,31,32,31,30,30,30,29,30,29,31],[31,31,31,32,31,31,30,29,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[30,32,31,32,31,30,30,30,29,30,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,31,32,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[30,32,31,32,31,30,30,30,29,30,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[30,32,31,32,31,31,29,30,30,29,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[31,31,31,32,31,31,29,30,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[31,31,31,32,31,31,29,30,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,32,31,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[31,31,31,32,31,31,30,29,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,30],[31,32,31,32,31,30,30,30,29,30,29,31],[31,31,31,32,31,31,30,29,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,30],[31,32,31,32,31,30,30,30,29,30,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,31,32,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[30,32,31,32,31,30,30,30,29,30,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[30,32,31,32,31,31,29,30,29,30,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[31,31,31,32,31,31,29,30,30,29,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[31,31,31,32,31,31,29,30,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,32,31,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,31],[31,31,31,32,31,31,30,29,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,30],[31,32,31,32,31,30,30,30,29,30,29,31],[31,31,31,32,31,31,30,29,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,29,30,30],[31,32,31,32,31,30,30,30,29,30,29,31],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,31,31,31,30,29,30,29,30,30],[31,31,32,31,31,30,30,30,29,30,30,30],[31,32,31,32,30,31,30,30,29,30,30,30],[30,32,31,32,31,30,30,30,29,30,30,30],[31,31,32,31,31,31,30,30,29,30,30,30],[30,31,32,32,30,31,30,30,29,30,30,30],[30,32,31,32,31,30,30,30,29,30,30,30],[30,32,31,32,31,30,30,30,29,30,30,30],[31,31,32,31,31,31,30,30,29,30,30,30],[30,31,32,32,31,30,30,30,29,30,30,30],[30,32,31,32,31,30,30,30,29,30,30,30],[31,31,32,31,31,30,30,30,29,30,30,30],[31,31,32,31,31,31,30,29,30,30,30,30],[30,31,32,32,31,30,30,29,30,29,30,30],[31,32,31,32,31,30,30,30,29,30,30,30],[31,31,32,31,31,31,29,30,29,30,29,31],[31,31,32,31,31,31,30,29,29,30,30,30]]};var n=class extends RangeError{constructor(e,t){super(t),this.name=`NepDateRangeError`,this.code=e}};function r(e){if(!Number.isSafeInteger(e))throw new n(`INVALID_ARGUMENT`,`${String(e)} is not a whole number of days.`);return e}function i(e){return((e+4)%7+7)%7}let a=[`Baisakh`,`Jestha`,`Asar`,`Shrawan`,`Bhadra`,`Ashwin`,`Kartik`,`Mangsir`,`Poush`,`Magh`,`Falgun`,`Chaitra`],o=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],s={digits:[`0`,`1`,`2`,`3`,`4`,`5`,`6`,`7`,`8`,`9`],weekdays:{long:[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],short:[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`],narrow:[`Su`,`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`]},months:{AD:{long:o,short:o.map(e=>e.slice(0,3))},BS:{long:a,short:a.map(e=>e.slice(0,3))}},calendarNames:{AD:`AD`,BS:`BS`},labels:{today:`Today`,clear:`Clear date`,previousMonth:`Previous month`,nextMonth:`Next month`,previousYear:`Previous year`,nextYear:`Next year`,month:`Month`,year:`Year`,openCalendar:`Open calendar`,chooseDate:`Choose a date`,calendar:`Calendar`,presets:`Shortcuts`,fiscalYear:`Fiscal year`,time:`Time`,hour:`Hour`,minute:`Minute`,now:`Now`,done:`Done`},time:{am:`AM`,pm:`PM`},presets:{today:`Today`,yesterday:`Yesterday`,tomorrow:`Tomorrow`,thisWeek:`This week`,lastWeek:`Last week`,last7Days:`Last 7 days`,last30Days:`Last 30 days`,thisMonth:`This month`,lastMonth:`Last month`,thisYear:`This year`,thisFiscalYear:`This fiscal year`,lastFiscalYear:`Last fiscal year`},messages:{invalidFormat:{AD:`Enter an AD date as YYYY-MM-DD.`,BS:`Enter a BS date as YYYY-MM-DD.`},outOfRange:`Choose a date from {min} to {max}.`,onOrAfter:`Choose {min} or later.`,onOrBefore:`Choose {max} or earlier.`,unavailable:`This date is not available.`,rangeTooShort:`Choose at least {min} days.`,rangeTooLong:`Choose at most {max} days.`,tooManyDates:`Choose at most {max} dates.`,invalidTime:`Enter a time as HH:MM.`}},c=[`बैशाख`,`जेठ`,`असार`,`साउन`,`भदौ`,`असोज`,`कार्तिक`,`मङ्सिर`,`पुस`,`माघ`,`फाल्गुण`,`चैत`],l=[`जनवरी`,`फेब्रुअरी`,`मार्च`,`अप्रिल`,`मे`,`जुन`,`जुलाई`,`अगस्ट`,`सेप्टेम्बर`,`अक्टोबर`,`नोभेम्बर`,`डिसेम्बर`],u=/* @__PURE__ */ new Map([[`en`,s],[`ne`,{digits:[`०`,`१`,`२`,`३`,`४`,`५`,`६`,`७`,`८`,`९`],weekdays:{long:[`आइतबार`,`सोमबार`,`मङ्गलबार`,`बुधबार`,`बिहिबार`,`शुक्रबार`,`शनिबार`],short:[`आइत`,`सोम`,`मङ्गल`,`बुध`,`बिही`,`शुक्र`,`शनि`],narrow:[`आ`,`सो`,`मं`,`बु`,`बि`,`शु`,`श`]},months:{AD:{long:l,short:l},BS:{long:c,short:c}},calendarNames:{AD:`ई.सं.`,BS:`वि.सं.`},labels:{today:`आज`,clear:`मिति हटाउनुहोस्`,previousMonth:`अघिल्लो महिना`,nextMonth:`अर्को महिना`,previousYear:`अघिल्लो वर्ष`,nextYear:`अर्को वर्ष`,month:`महिना`,year:`वर्ष`,openCalendar:`पात्रो खोल्नुहोस्`,chooseDate:`मिति छान्नुहोस्`,calendar:`पात्रो`,presets:`छिटो छनोट`,fiscalYear:`आर्थिक वर्ष`,time:`समय`,hour:`घण्टा`,minute:`मिनेट`,now:`अहिले`,done:`भयो`},time:{am:`पूर्वाह्न`,pm:`अपराह्न`},presets:{today:`आज`,yesterday:`हिजो`,tomorrow:`भोलि`,thisWeek:`यो हप्ता`,lastWeek:`गत हप्ता`,last7Days:`पछिल्लो ७ दिन`,last30Days:`पछिल्लो ३० दिन`,thisMonth:`यो महिना`,lastMonth:`गत महिना`,thisYear:`यो वर्ष`,thisFiscalYear:`यो आर्थिक वर्ष`,lastFiscalYear:`गत आर्थिक वर्ष`},messages:{invalidFormat:{AD:`ई.सं. मिति YYYY-MM-DD ढाँचामा लेख्नुहोस्।`,BS:`वि.सं. मिति YYYY-MM-DD ढाँचामा लेख्नुहोस्।`},outOfRange:`{min} देखि {max} सम्मको मिति छान्नुहोस्।`,onOrAfter:`{min} वा त्यसपछिको मिति छान्नुहोस्।`,onOrBefore:`{max} वा त्यसअघिको मिति छान्नुहोस्।`,unavailable:`यो मिति उपलब्ध छैन।`,rangeTooShort:`कम्तीमा {min} दिन छान्नुहोस्।`,rangeTooLong:`बढीमा {max} दिन छान्नुहोस्।`,tooManyDates:`बढीमा {max} मिति छान्नुहोस्।`,invalidTime:`समय HH:MM ढाँचामा लेख्नुहोस्।`}}]]);function d(e){return u.get(e)??s}let f=Object.freeze({timeZone:`Asia/Kathmandu`,weekStartsOn:0,weekendDays:Object.freeze([6]),defaultLocale:`en`});function p(){return f}function m(e){return Number.isInteger(e)&&e>=0&&e<=6}let h=719468,g=146097,_=[31,28,31,30,31,30,31,31,30,31,30,31];function v(e){return e%4==0&&e%100!=0||e%400==0}function y(e,t){return t===2&&v(e)?29:_[t-1]??0}function b(e,t,n){return Number.isInteger(e)&&Number.isInteger(t)&&Number.isInteger(n)&&Math.abs(e)<=999999&&t>=1&&t<=12&&n>=1&&n<=y(e,t)}function x(e,t,n){let r=t<=2?e-1:e,i=Math.floor(r/400),a=r-i*400,o=Math.floor((153*(t+(t>2?-3:9))+2)/5)+n-1,s=a*365+Math.floor(a/4)-Math.floor(a/100)+o;return i*g+s-h}function S(e){let t=e+h,n=Math.floor(t/g),r=t-n*g,i=Math.floor((r-Math.floor(r/1460)+Math.floor(r/36524)-Math.floor(r/146096))/365),a=r-(365*i+Math.floor(i/4)-Math.floor(i/100)),o=Math.floor((5*a+2)/153),s=a-Math.floor((153*o+2)/5)+1,c=o<10?o+3:o-9;return{year:i+n*400+ +(c<=2),month:c,day:s}}let C=T(t),w=null;function T(e){return Object.freeze({firstYear:e.firstYear,epochStart:e.epochStart,verifiedThrough:e.verifiedThrough,years:Object.freeze(e.years.map(e=>Object.freeze([...e])))})}function ee(){let e=C.years.length,t=new Float64Array(e+1),n=new Uint16Array(e*12),r=C.epochStart;for(let i=0;i<e;i++){t[i]=r;let e=C.years[i]??[],a=0;for(let t=0;t<12;t++)n[i*12+t]=a,a+=e[t]??0;r+=a}return t[e]=r,{data:C,lastYear:C.firstYear+e-1,yearStart:t,monthOffset:n}}function E(){return w??(w=ee())}function te(){return E().lastYear}function ne(){let{yearStart:e}=E();return{first:e[0]??0,last:(e[e.length-1]??0)-1}}function re(e,t){let{lastYear:r}=E();if(!Number.isInteger(e)||e<C.firstYear||e>r)throw new n(`OUT_OF_TABLE`,`BS year ${String(e)} is outside the supported range (BS ${C.firstYear}–${r}).`);if(!Number.isInteger(t)||t<1||t>12)throw new n(`INVALID_DATE`,`BS month ${String(t)} does not exist.`);return C.years[e-C.firstYear]?.[t-1]??0}function ie(e,t,n){try{return Number.isInteger(n)&&n>=1&&n<=re(e,t)}catch{return!1}}function ae(e,t,n){let{yearStart:r,monthOffset:i}=E(),a=e-C.firstYear;return(r[a]??0)+(i[a*12+t-1]??0)+n-1}function oe(e){let{yearStart:t,monthOffset:r}=E(),{first:i,last:a}=ne();if(e<i||e>a)throw new n(`OUT_OF_TABLE`,`Day ${e} is outside the BS table (BS ${C.firstYear}–${te()}).`);let o=0,s=t.length-2;for(;o<s;){let n=Math.ceil((o+s)/2);(t[n]??0)<=e?o=n:s=n-1}let c=e-(t[o]??0),l=11;for(;l>0&&(r[o*12+l]??0)>c;)l--;return{year:C.firstYear+o,month:l+1,day:c-(r[o*12+l]??0)+1}}function D(e,t,r){if(!b(e,t,r))throw new n(Number.isInteger(e)&&Number.isInteger(t)&&Number.isInteger(r)?`INVALID_DATE`:`INVALID_ARGUMENT`,Math.abs(e)>999999?`AD year ${String(e)} is outside ±999999.`:`AD ${String(e)}-${String(t)}-${String(r)} is not a valid date.`);return Object.freeze({calendar:`AD`,year:e,month:t,day:r})}function se(e,t,r){let i=re(e,t);if(!Number.isInteger(r)||r<1||r>i)throw new n(Number.isInteger(r)?`INVALID_DATE`:`INVALID_ARGUMENT`,`BS ${e}-${t} has ${i} days, not ${String(r)}.`);return Object.freeze({calendar:`BS`,year:e,month:t,day:r})}function O(e,t,n,r){return e===`AD`?D(t,n,r):se(t,n,r)}function ce(e,t,n,r){return e===`AD`?b(t,n,r):ie(t,n,r)}function k(e,t,r){if(e===`BS`)return re(t,r);if(!b(t,r,1))throw new n(`INVALID_DATE`,`AD ${String(t)}-${String(r)} is not a month.`);return y(t,r)}function A(e){return r(e.calendar===`AD`?x(e.year,e.month,e.day):ae(e.year,e.month,e.day))}function le(e,t){if(t===`AD`){let{year:t,month:n,day:r}=S(e);return D(t,n,r)}he(e);let{year:n,month:r,day:i}=oe(e);return se(n,r,i)}function j(e,t){return e.calendar===t?e:le(A(e),t)}function ue(e){return le(r(ne().first),e)}function de(e){return le(r(ne().last),e)}function M(e){let{year:t,month:r,day:i}=j(e,`AD`);if(t<0||t>9999)throw new n(`INVALID_ARGUMENT`,`AD year ${t} cannot be written as YYYY-MM-DD.`);return`${_e(t,4)}-${_e(r,2)}-${_e(i,2)}`}function fe(e){let t=/^(\d{4})-(\d{2})-(\d{2})(?:$|[T ])/.exec(e??``);if(!t)return null;try{return D(Number(t[1]),Number(t[2]),Number(t[3]))}catch{return null}}function pe(e,t=p().timeZone){if(Number.isNaN(e.getTime()))throw new n(`INVALID_ARGUMENT`,`The Date is invalid.`);let r;try{r=new Intl.DateTimeFormat(`en-US`,{timeZone:t,year:`numeric`,month:`numeric`,day:`numeric`,era:`short`}).formatToParts(e)}catch{throw new n(`INVALID_ARGUMENT`,`"${t}" is not a time zone.`)}let i=e=>r.find(t=>t.type===e)?.value??``,a=Number(i(`year`));return D(i(`era`)===`BC`?1-a:a,Number(i(`month`)),Number(i(`day`)))}function me(e,t=p().timeZone){if(!e||!/T.*(?:Z|[+-]\d{2}:?\d{2})$/.test(e))return null;let n=new Date(e);if(Number.isNaN(n.getTime()))return null;let r=new Intl.DateTimeFormat(`en-GB`,{timeZone:t,hour:`2-digit`,minute:`2-digit`,hourCycle:`h23`}).format(n);return{date:pe(n,t),time:r}}function he(e){let{first:t,last:r}=ne();if(e<t||e>r){let{year:i,month:a,day:o}=S(e),s=S(t),c=S(r);throw new n(`OUT_OF_TABLE`,`AD ${ge(i,a,o)} is outside the BS table (AD ${ge(s.year,s.month,s.day)} to ${ge(c.year,c.month,c.day)}).`)}}function ge(e,t,n){return`${e}-${_e(t,2)}-${_e(n,2)}`}function _e(e,t){return String(e).padStart(t,`0`)}function ve(e=`AD`,t=p().timeZone){return j(pe(/* @__PURE__ */ new Date,t),e)}function ye(e=p().timeZone){let t=me((/* @__PURE__ */ new Date()).toISOString(),e),[n=0,r=0]=(t?.time??`00:00`).split(`:`).map(Number);return{date:t?.date??pe(/* @__PURE__ */ new Date,e),time:Object.freeze({hour:n,minute:r})}}function N(e,t){return ke(t,`days`),le(r(A(e)+t),e.calendar)}function be(e,t){ke(t,`months`);let n=e.year*12+(e.month-1)+t,r=Math.floor(n/12),i=n-r*12+1,a=Math.min(e.day,k(e.calendar,r,i));return O(e.calendar,r,i,a)}function xe(e,t){return ke(t,`years`),be(e,t*12)}function P(e){return O(e.calendar,e.year,e.month,1)}function Se(e){return O(e.calendar,e.year,e.month,k(e.calendar,e.year,e.month))}function Ce(e){return O(e.calendar,e.year,1,1)}function we(e){return O(e.calendar,e.year,12,k(e.calendar,e.year,12))}function Te(e,t=p().weekStartsOn){return Ae(t),N(e,-((i(A(e))-t+7)%7))}function Ee(e,t=p().weekStartsOn){return N(Te(e,t),6)}function De(e,t){return A(e)-A(t)}function Oe(e,t){return j(t,e.calendar)}function ke(e,t){if(!Number.isSafeInteger(e))throw new n(`INVALID_ARGUMENT`,`${t} must be a whole number, not ${String(e)}.`)}function Ae(e){if(!m(e))throw new n(`INVALID_ARGUMENT`,`${String(e)} is not a weekday (0–6).`)}function F(e,t){return Math.sign(A(e)-A(t))}function je(e,t){return e!=null&&t!=null&&A(e)===A(t)}function Me(e,t){let n=Oe(e,t);return n.year===e.year&&n.month===e.month}function Ne(e,t){return A(e)<A(t)}function I(e,t){return A(e)>A(t)}function Pe(e,t,n){let r=A(e);return(t==null||r>=A(t))&&(n==null||r<=A(n))}function Fe(e,t,n){return t!=null&&Ne(e,t)?j(t,e.calendar):n!=null&&I(e,n)?j(n,e.calendar):e}function Ie(e){return i(A(e))}let Le=[`०`,`१`,`२`,`३`,`४`,`५`,`६`,`७`,`८`,`९`];function L(e=p().defaultLocale){return d(e)}function Re(e,t,n=`long`){return L(t).months[e][n]}function ze(e){return e.replace(/[०-९]/g,e=>String(Le.indexOf(e)))}function R(e,t){let{digits:n}=L(t);return String(e).replace(/[0-9]/g,e=>n[Number(e)]??e)}function Be(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>t[n]??e)}let Ve=Object.freeze({iso:`Y-m-d`,cbms:`Y.m.d`,short:`j M Y`,long:`j F Y`,full:`l, j F Y`});function He(e,t=`iso`,n){let r=t in Ve?Ve[t]:t,i=L(n),a=i.months[e.calendar],o=e=>R(e,n),s=e=>String(e).padStart(2,`0`),c=``;for(let t=0;t<r.length;t++){let n=r.charAt(t);switch(n){case`\\`:t++,c+=r.charAt(t);break;case`Y`:c+=o(e.year);break;case`y`:c+=o(s((e.year%100+100)%100));break;case`m`:c+=o(s(e.month));break;case`n`:c+=o(e.month);break;case`d`:c+=o(s(e.day));break;case`j`:c+=o(e.day);break;case`F`:c+=a.long[e.month-1]??``;break;case`M`:c+=a.short[e.month-1]??``;break;case`l`:c+=i.weekdays.long[Ie(e)]??``;break;case`D`:c+=i.weekdays.short[Ie(e)]??``;break;default:c+=n}}return c}function Ue(e){let t=j(e,`BS`);return We(t.month>=4?t.year:t.year-1)}function We(e){let t=e+1;return Object.freeze({startYear:e,label:`${e}/${String(t%100).padStart(2,`0`)}`,firstDay:se(e,4,1),lastDay:se(t,3,k(`BS`,t,3))})}function Ge(e,t=`label`,n){let r=e.startYear+1;return R(t===`full`?`${e.startYear}/${r}`:t===`cbms`?`${e.startYear}.${String(r%1e3).padStart(3,`0`)}`:e.label,n)}let Ke=/^(\d{4})[-./](\d{1,2})[-./](\d{1,2})$/,qe=/^(\d{4})(\d{2})(\d{2})$/;function Je(e,t){try{return Ye(e??``,t)}catch{return null}}function Ye(e,t){let r=ze(e).trim(),i=Ke.exec(r)??qe.exec(r);if(!i)throw new n(`INVALID_ARGUMENT`,`"${e}" is not a date written as YYYY-MM-DD.`);return O(t,Number(i[1]),Number(i[2]),Number(i[3]))}function Xe(e,t=0){if(!Ze(e,t))throw new n(`INVALID_ARGUMENT`,`${String(e)}:${String(t)} is not a time of day.`);return Object.freeze({hour:e,minute:t})}function Ze(e,t){return Number.isInteger(e)&&Number.isInteger(t)&&e>=0&&e<=23&&t>=0&&t<=59}function Qe(e){let t=ze(e??``).trim().toLowerCase(),n=null;for(let e of[`en`,`ne`]){let{am:r,pm:i}=L(e).time;for(let[e,a]of[[r.toLowerCase(),`am`],[i.toLowerCase(),`pm`],[r.toLowerCase().replace(/(.)/g,`$1.`),`am`],[i.toLowerCase().replace(/(.)/g,`$1.`),`pm`]])if(t.endsWith(e)){n=a,t=t.slice(0,-e.length).trim();break}if(n)break}let r=/^(\d{1,2})(?:[:.](\d{2}))?$/.exec(t)??/^(\d{2})(\d{2})$/.exec(t);if(!r)return null;let i=Number(r[1]),a=Number(r[2]??0);if(n){if(i<1||i>12)return null;i=i%12+(n===`pm`?12:0)}return Ze(i,a)?Xe(i,a):null}function $e(e,t={}){let n=String(e.minute).padStart(2,`0`);if(!t.hour12)return R(`${String(e.hour).padStart(2,`0`)}:${n}`,t.locale);let{am:r,pm:i}=L(t.locale).time;return`${R(`${e.hour%12==0?12:e.hour%12}:${n}`,t.locale)} ${e.hour<12?r:i}`}function et(e,t,r=p().timeZone){let{year:i,month:a,day:o}=j(e,`AD`);if(i<0||i>9999)throw new n(`INVALID_ARGUMENT`,`AD year ${i} cannot be written in ISO form.`);let s=Date.UTC(i,a-1,o,t.hour,t.minute),c=nt(s-nt(s,r)*6e4,r),l=c<0?`-`:`+`,u=Math.abs(c),d=(e,t=2)=>String(e).padStart(t,`0`);return`${d(i,4)}-${d(a)}-${d(o)}T${d(t.hour)}:${d(t.minute)}:00${l}${d(Math.floor(u/60))}:${d(u%60)}`}function tt(e,t=p().timeZone){let n=me(e,t);if(n){let e=Qe(n.time);return e?{date:n.date,time:e}:null}let r=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2})(?::\d{2}(?:\.\d+)?)?$/.exec(e??``);if(!r)return null;try{return{date:D(Number(r[1]),Number(r[2]),Number(r[3])),time:Xe(Number(r[4]),Number(r[5]))}}catch{return null}}function nt(e,t){let r;try{r=new Intl.DateTimeFormat(`en-US`,{timeZone:t,hourCycle:`h23`,year:`numeric`,month:`numeric`,day:`numeric`,hour:`numeric`,minute:`numeric`}).formatToParts(new Date(e))}catch{throw new n(`INVALID_ARGUMENT`,`"${t}" is not a time zone.`)}let i=e=>Number(r.find(t=>t.type===e)?.value??0),a=Date.UTC(i(`year`),i(`month`)-1,i(`day`),i(`hour`),i(`minute`));return Math.round((a-Math.floor(e/6e4)*6e4)/6e4)}let rt=/* @__PURE__ */ new Set([`ArrowRight`,`ArrowDown`,`End`,`PageDown`]);function it(e,t,n,r){let i=r.shift?12:1,a;try{switch(t){case`ArrowLeft`:a=N(e,-1);break;case`ArrowRight`:a=N(e,1);break;case`ArrowUp`:a=N(e,-7);break;case`ArrowDown`:a=N(e,7);break;case`Home`:a=Te(e,r.weekStartsOn);break;case`End`:a=Ee(e,r.weekStartsOn);break;case`PageUp`:a=be(e,-i);break;case`PageDown`:a=be(e,i)}}catch{a=rt.has(t)?n.highDay:n.lowDay}return Fe(a,n.lowDay,n.highDay)}function at(e,t,n){let r=st(e),i=ct(e),a=!1,o=r;t!=null&&I(t,r)&&(I(t,i)?a=!0:o=j(t,e));let s=i;return n!=null&&I(i,n)&&(I(r,n)?a=!0:s=j(n,e)),(a||I(o,s))&&(a=!0,s=o),{calendar:e,lowDay:o,highDay:s,lowMonth:P(o),highMonth:P(s),empty:a}}function ot(e,t){return!t.empty&&Pe(e,t.lowDay,t.highDay)}function st(e){let t=ue(e);return t.day===1?t:P(be(t,1))}function ct(e){let t=de(e);return t.day===k(e,t.year,t.month)?t:N(P(t),-1)}let lt=Object.freeze([]);function ut(e){let{calendar:t,month:n,locale:i}=e,a=t===`BS`?`AD`:`BS`,o=P(n),s=A(o),c=k(t,n.year,n.month),l=(Ie(o)-e.weekStartsOn+7)%7,u=e.fixedWeeks?6:Math.ceil((l+c)/7),d=L(i).calendarNames,f=A(e.today),p=e.focusTarget?A(e.focusTarget):null,{singleEpoch:m,startEpoch:h,endEpoch:g,many:_}=pt(e.selectionMode,e.selected),v=e.selectionMode===`range`&&h!==null&&g===null&&e.rangeHover?A(e.rangeHover):null,y=v===null||h===null?null:Math.min(h,v),b=v===null||h===null?null:Math.max(h,v),x=[];for(let n=0;n<u;n++){let o=[];for(let u=0;u<7;u++){let v=n*7+u,x=v<l||v>=l+c,S=r(s-l+v),C=x&&!e.showOutsideDays?null:mt(S,t);if(!C){o.push(null);continue}let w=e.showOtherCalendar?mt(S,a):null,T=Ie(C),ee=S===f,E=h===S,te=g!==null&&g===S&&g!==h,ne=h!==null&&g!==null&&S>h&&S<g,re=m===S||E||te||_.has(S),ie=y!==null&&b!==null&&S>=y&&S<=b,ae=!ot(C,e.limits)||(e.isDateDisabled?.(C)??!1),oe=e.holiday?.(C)??null,D=oe?.label??null,se=re?e.selectionMode===`range`?te?`range-end`:g===null?`selected`:`range-start`:`selected`:ne?`range-middle`:ae?`disabled`:x?`outside`:ee?`today`:oe?`holiday`:`default`;o.push(Object.freeze({key:`${C.calendar}-${He(C,`Y-m-d`,`en`)}`,date:C,otherDate:w,epoch:S,weekday:T,label:R(C.day,i),subLabel:w?R(w.day,i):null,ariaLabel:He(C,`full`,i)+(w?` (${He(w,`long`,i)} ${d[w.calendar]})`:``)+(D?`, ${D}`:``),isToday:ee,isSelected:re,isRangeStart:e.selectionMode===`range`&&E,isRangeMiddle:ne,isRangeEnd:te,isInRangePreview:ie,isDisabled:ae,isOutside:x,isWeekend:e.weekendDays.includes(T),isHoliday:oe!==null,holidayLabel:D,events:e.events?.(C)??lt,isFocusTarget:p===S,state:se}))}x.push(o)}return x}function dt(e,t,n){let{weekdays:r}=L(e);return Array.from({length:7},(e,i)=>{let a=(t+i)%7;return Object.freeze({index:a,label:r.short[a]??``,narrowLabel:r.narrow[a]??``,longLabel:r.long[a]??``,isWeekend:n.includes(a)})})}let ft=/* @__PURE__ */ new Set;function pt(e,t){let n={singleEpoch:null,startEpoch:null,endEpoch:null,many:ft};return t==null?n:z(t)?{...n,many:new Set(t.map(e=>A(e)))}:`calendar`in t?e===`range`?{...n,startEpoch:A(t)}:{...n,singleEpoch:A(t)}:e===`range`?{...n,startEpoch:t.start?A(t.start):null,endEpoch:t.end?A(t.end):null}:{...n,singleEpoch:t.start?A(t.start):null}}function z(e){return Array.isArray(e)}function mt(e,t){try{return le(e,t)}catch{return null}}function ht(e){let{calendar:t,year:n,limits:r,locale:i}=e,a=t===`BS`?`AD`:`BS`,o=Re(t,i,`long`),s=Re(a,i,`short`),c=e.selected?B(e.selected,t):null,l=B(e.today,t);return Array.from({length:12},(e,i)=>{let u=i+1,d=ce(t,n,u,1),f=null,p=!0;if(d){let e=O(t,n,u,1),i=Se(e),o=B(e,a),c=B(i,a);if(o&&c){let e=s[o.month-1]??``,t=s[c.month-1]??``;f=e===t?e:`${e} / ${t}`}p=r.empty||Ne(i,r.lowDay)||I(e,r.highDay)}return Object.freeze({value:u,label:o[i]??``,subLabel:f,isSelected:c?.year===n&&c.month===u,isCurrent:l?.year===n&&l.month===u,isDisabled:p})})}function gt(e){return Math.floor(e/12)*12}function _t(e){let{calendar:t,limits:n,locale:r}=e,i=t===`BS`?`AD`:`BS`,a=gt(e.year),o=e.selected?B(e.selected,t):null,s=B(e.today,t);return Array.from({length:12},(e,c)=>{let l=a+c,u=null;if(ce(t,l,1,1)){let e=O(t,l,1,1),n=B(Ce(e),i),a=B(we(e),i);n&&a&&(u=R(n.year===a.year?`${n.year}`:`${n.year}/${String(a.year%100).padStart(2,`0`)}`,r))}return Object.freeze({value:l,label:R(l,r),subLabel:u,isSelected:o?.year===l,isCurrent:s?.year===l,isDisabled:n.empty||l<n.lowDay.year||l>n.highDay.year})})}function B(e,t){try{return j(e,t)}catch{return null}}function vt(e){try{return We(e)}catch{return null}}function yt(e,t){let n=vt(e);return n!==null&&!t.empty&&F(n.firstDay,t.lowDay)>=0&&F(n.lastDay,t.highDay)<=0}function bt(e){let{limits:t,locale:n}=e,r=B(e.today,`BS`),i=gt(e.year),a=r?Ue(r).startYear:null,o=e.selectedRange;return Array.from({length:12},(e,r)=>{let s=i+r,c=vt(s),l=c?B(c.firstDay,`AD`):null,u=c?B(c.lastDay,`AD`):null,d=c!==null&&o?.start!=null&&o.end!=null&&F(o.start,c.firstDay)===0&&F(o.end,c.lastDay)===0;return Object.freeze({value:s,label:c?Ge(c,`label`,n):R(`${s}/${String((s+1)%100).padStart(2,`0`)}`,n),subLabel:l&&u?R(`${l.year}/${String(u.year%100).padStart(2,`0`)}`,n):null,isSelected:d,isCurrent:a===s,isDisabled:!yt(s,t)})})}function xt(e={}){let t={...e},n=t.calendar??`BS`,r=t.selectionMode??`single`,i=j(t.today??ve(`AD`),`AD`),a=at(n,t.min,t.max),o=Ct(t.selected??null,r,n),s=`day`,c=null,l=Ot(t.holidays),u=y(t.visibleMonth??t.defaultVisibleMonth??wt(o)??i),d=b(wt(o)??i),f=C(),m=/* @__PURE__ */ new Set,h=!1;function g(){return t.locale??p().defaultLocale}function _(){return t.weekStartsOn??p().weekStartsOn}function v(){return t.weekendDays??p().weekendDays}function y(e){return Ne(e,a.lowMonth)?a.lowMonth:I(e,a.highDay)?a.highMonth:P(j(e,n))}function b(e){return Ne(e,a.lowDay)?a.lowDay:I(e,a.highDay)?a.highDay:j(e,n)}function x(){if(Me(u,d))return d;let e=Math.min(j(d,n).day,k(n,u.year,u.month));return O(n,u.year,u.month,e)}function S(e){return ot(e,a)&&!(t.isDateDisabled?.(e)??!1)}function C(){let e=g(),d=x(),f=wt(o),p=u.year,m=gt(p),h=St(u),y=gt(h),b=L(e).labels,S=Tt(o),C={calendar:n,year:p,limits:a,locale:e,selected:f,today:i};return Object.freeze({calendar:n,view:s,visibleMonth:u,focused:d,title:s===`day`?He(u,`F Y`,e):s===`month`?R(p,e):s===`year`?`${R(m,e)}–${R(m+11,e)}`:`${b.fiscalYear} ${R(`${y}/${String((y+1)%100).padStart(2,`0`)}–${y+11}/${String((y+12)%100).padStart(2,`0`)}`,e)}`,weekdays:dt(e,_(),v()),weeks:ut({calendar:n,month:u,limits:a,locale:e,today:i,selectionMode:r,selected:o,rangeHover:c,focusTarget:d,showOtherCalendar:t.showOtherCalendar??!0,showOutsideDays:t.showOutsideDays??!0,fixedWeeks:t.fixedWeeks??!1,weekStartsOn:_(),weekendDays:v(),isDateDisabled:t.isDateDisabled,holiday:l,events:t.events}),months:ht(C),years:_t(C),fiscalYears:bt({...C,year:h,selectedRange:S}),canPrev:s===`day`?I(u,a.lowMonth):s===`month`?p>a.lowMonth.year:s===`year`?m>a.lowMonth.year:y>St(a.lowDay),canNext:s===`day`?Ne(u,a.highMonth):s===`month`?p<a.highMonth.year:s===`year`?m+11<a.highMonth.year:y+11<St(a.highDay),selectionMode:r,selected:o,rangeHover:c,minDate:a.lowDay,maxDate:a.highDay})}function w(){f=C();for(let e of[...m])e()}function T(e){if(h)return;let n={month:u,view:s,key:ee()};e(),ee()!==n.key&&(w(),je(n.month,u)||t.onVisibleMonthChange?.(u),n.view!==s&&t.onViewChange?.(s))}function ee(){let e=Tt(o),t=o&&`calendar`in o?o:null,n=z(o)?o.map(e=>A(e)).join(`,`):``;return[s,A(u),A(d),t?A(t):``,e?.start?A(e.start):``,e?.end?A(e.end):``,c?A(c):``,n].join(`|`)}function E(e){let t;try{t=be(u,e)}catch{t=e>0?a.highMonth:a.lowMonth}u=y(t)}let te={next(){T(()=>{E(s===`day`?1:s===`month`?12:144)})},prev(){T(()=>{E(s===`day`?-1:s===`month`?-12:-144)})},goTo(e){T(()=>{u=y(e),d=b(e)})},goToToday(){te.goTo(i)},setView(e){T(()=>{s=e})},chooseMonth(e){T(()=>{u=y(O(n,u.year,e,1)),d=x(),s=`day`})},chooseFiscalYear(e){let i=vt(e);if(h||!i||!yt(e,a))return!1;let l=j(i.firstDay,n),f=j(i.lastDay,n),p=r===`range`?Object.freeze({start:l,end:f}):null;return T(()=>{u=y(l),d=l,s=`day`,p&&(o=p,c=null)}),p&&t.onSelect?.(p),!0},chooseYear(e){T(()=>{let t;try{t=xe(u,e-u.year)}catch{t=e<u.year?a.lowMonth:a.highMonth}u=y(t),s=`month`})},focus(e){T(()=>{d=b(e),u=y(d)})},moveFocus(e,t={}){T(()=>{d=it(x(),e,a,{weekStartsOn:_(),...t.shift===void 0?{}:{shift:t.shift}}),Me(u,d)||(u=y(d))})},select(e){if(h||!S(e))return!1;let i=j(e,n),a=i;return T(()=>{if(d=i,Me(u,i)||(u=y(i)),r===`single`)o=i;else if(r===`multiple`)a=Et(z(o)?o:[],i),o=a;else{let e=o??{start:null,end:null},t=e.start===null||e.end!==null?{start:i,end:null}:F(i,e.start)<0?{start:i,end:e.start}:{start:e.start,end:i};o=Object.freeze(t),c=null,a=t}}),t.onSelect?.(a),!0},hover(e){T(()=>{let t=r===`range`?o:null;c=e&&t?.start&&t.end===null&&ot(e,a)?j(e,n):null})}};return{getState:()=>f,subscribe(e){return m.add(e),()=>{m.delete(e)}},setOptions(e){if(h)return;t={...t,...e},n=t.calendar??`BS`,r=t.selectionMode??`single`,i=j(t.today??ve(`AD`),`AD`),a=at(n,t.min,t.max),l=Ot(t.holidays);let s=`selected`in e||`selectionMode`in e;o=Ct(`selected`in e?e.selected??null:o,r,n),s&&(c=null),u=y(e.visibleMonth??u),d=b(d),w()},actions:te,destroy(){h=!0,m.clear()}}}function St(e){try{return Ue(e).startYear}catch{return e.year}}function Ct(e,t,n){let r=e=>{if(e===null)return null;try{return j(e,n)}catch{return e}};if(t===`multiple`)return Dt((z(e)?e:e===null?[]:`calendar`in e?[e]:[e.start,e.end].filter(e=>e!==null)).map(e=>r(e)??e));if(e===null)return t===`range`?Object.freeze({start:null,end:null}):null;if(z(e)){let[n=null,i=null]=Dt(e);return t===`range`?Object.freeze({start:r(n),end:r(i)}):r(n)}return`calendar`in e?t===`range`?Object.freeze({start:r(e),end:null}):r(e):t===`range`?Object.freeze({start:r(e.start),end:r(e.end)}):r(e.start)}function wt(e){return e===null?null:z(e)?e[0]??null:`calendar`in e?e:e.start}function Tt(e){return e&&!z(e)&&!(`calendar`in e)?e:null}function Et(e,t){let n=e.filter(e=>!je(e,t));return Dt(n.length===e.length?[...n,t]:n)}function Dt(e){return Object.freeze([...e].sort(F))}function Ot(e){if(e===void 0)return;if(typeof e==`function`)return t=>{let n=e(t);return n===!0?{label:null}:n?{label:n.label??null}:null};let t=/* @__PURE__ */ new Map;for(let n of e){let e=`calendar`in n?n:n.date;t.set(A(e),`calendar`in n?null:n.label??null)}return e=>{let n=t.get(A(e));return n===void 0?null:{label:n}}}function V(e,t={},n=[]){let r=document.createElement(e);return H(r,t),r.append(...n),r}function H(e,t){for(let[n,r]of Object.entries(t))if(r===!1||r==null)e.removeAttribute(n);else{let t=r===!0?``:String(r);e.getAttribute(n)!==t&&e.setAttribute(n,t)}}function U(e,t){e.textContent!==t&&(e.textContent=t)}let kt=0;function At(e){return kt+=1,`${e}-${kt}`}let jt=`http://www.w3.org/2000/svg`,Mt={"chevron-left":[`M10 3.5 5.5 8l4.5 4.5`],"chevron-right":[`M6 3.5 10.5 8 6 12.5`],calendar:[`M2 6.5h12`,`M5.5 1.5v3`,`M10.5 1.5v3`,`M4 3h8a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2Z`],close:[`M4 4l8 8`,`M12 4l-8 8`]};function W(e){let t=document.createElementNS(jt,`svg`);t.setAttribute(`viewBox`,`0 0 16 16`),t.setAttribute(`fill`,`none`),t.setAttribute(`stroke`,`currentColor`),t.setAttribute(`stroke-width`,`1.5`),t.setAttribute(`stroke-linecap`,`round`),t.setAttribute(`stroke-linejoin`,`round`),t.setAttribute(`aria-hidden`,`true`),t.setAttribute(`focusable`,`false`);for(let n of Mt[e]){let e=document.createElementNS(jt,`path`);e.setAttribute(`d`,n),t.append(e)}return t}function Nt(e,t,n,r){let{inline:i}=e;for(let n of t)H(n,{role:i?null:`combobox`,"aria-haspopup":i?null:`dialog`,"aria-expanded":i?null:String(e.open)});n.hidden=i,H(r,{role:i?`group`:`dialog`,popover:i?null:`manual`}),i?r.dataset.layout=`inline`:r.dataset.layout===`inline`&&delete r.dataset.layout}let Pt=/* @__PURE__ */ new Set([`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`,`PageUp`,`PageDown`]);var G=class{constructor(e,t,n={}){this.bodyKey=``,this.cells=[],this.tiles=[],this.focusAfterRender=!1,this.onClick=e=>{let t=e.target instanceof Element?e.target:null,n=t?.closest(`[data-action]`)?.dataset.action,{actions:r}=this.store;switch(n){case`prev`:r.prev();return;case`next`:r.next();return;case`view-month`:r.setView(`month`),this.focusAfterRender=!0,this.render();return;case`view-year`:r.setView(`year`),this.focusAfterRender=!0,this.render();return;case`view-day`:r.setView(`day`);return}let i=t?.closest(`.ndp-option`);if(i){let e=[...this.body.querySelectorAll(`.ndp-option`)].indexOf(i),t=this.tiles[e];if(t&&!t.isDisabled){this.focusAfterRender=!0;let e=this.store.getState().view;e===`month`?r.chooseMonth(t.value):e===`year`?r.chooseYear(t.value):r.chooseFiscalYear(t.value),this.render()}return}let a=this.cellOf(t);a&&!a.isDisabled&&(this.options.onDayActivate??(e=>r.select(e)))(a.date)},this.onKeyDown=e=>{Pt.has(e.key)&&this.cellOf(e.target)&&(e.preventDefault(),this.focusAfterRender=!0,this.store.actions.moveFocus(e.key,{shift:e.shiftKey}),this.flushFocus())},this.onMouseOver=e=>{let t=this.cellOf(e.target);t&&this.store.getState().selectionMode===`range`&&this.store.actions.hover(t.isDisabled?null:t.date)},this.onMouseLeave=()=>{this.store.getState().selectionMode===`range`&&this.store.actions.hover(null)},this.onFocusIn=e=>{let t=this.cellOf(e.target);t&&!t.isFocusTarget&&this.store.actions.focus(t.date)},this.store=t,this.options=n,this.prev=V(`button`,{type:`button`,class:`ndp-icon-button`,"data-action":`prev`},[W(`chevron-left`)]),this.next=V(`button`,{type:`button`,class:`ndp-icon-button`,"data-action":`next`},[W(`chevron-right`)]),this.title=V(`div`,{class:`ndp-calendar__title`,"aria-live":`polite`}),this.body=V(`div`),this.element=V(`div`,{class:`ndp-calendar`},[V(`div`,{class:`ndp-calendar__header`},[this.prev,this.title,this.next]),this.body]),this.element.addEventListener(`click`,this.onClick),this.element.addEventListener(`keydown`,this.onKeyDown),this.element.addEventListener(`mouseover`,this.onMouseOver),this.element.addEventListener(`mouseleave`,this.onMouseLeave),this.element.addEventListener(`focusin`,this.onFocusIn),e.append(this.element),this.unsubscribe=t.subscribe(()=>{this.render()}),this.render()}focusGrid(){this.element.querySelector(`.ndp-day[tabindex="0"], .ndp-option[tabindex="0"]`)?.focus()}destroy(){this.unsubscribe(),this.element.remove()}render(){let e=this.store.getState(),t=L(this.options.locale?.()).labels,n=e.view===`day`?[t.previousMonth,t.nextMonth]:[t.previousYear,t.nextYear];H(this.prev,{"aria-label":n[0],disabled:!e.canPrev}),H(this.next,{"aria-label":n[1],disabled:!e.canNext}),this.renderTitle(e,t.month,t.year);let r=`${e.view}:${e.view===`day`?e.weeks.length:12}`;r!==this.bodyKey&&(this.bodyKey=r,this.body.replaceChildren(e.view===`day`?this.buildGrid(e):this.buildOptions())),e.view===`day`?this.patchGrid(e):this.patchOptions(e.view===`month`?e.months:e.view===`year`?e.years:e.fiscalYears),this.flushFocus()}flushFocus(){this.focusAfterRender&&(this.focusAfterRender=!1,this.focusGrid())}renderTitle(e,t,n){let[r,i]=e.view===`day`?It(e.title):[``,e.title],a=e.view===`day`?[{action:`view-month`,text:r,label:`${t}: ${r}`},{action:`view-year`,text:i,label:`${n}: ${i}`}]:[{action:e.view===`month`?`view-year`:`view-day`,text:e.title,label:e.view===`fiscal`?e.title:`${n}: ${e.title}`}];[...this.title.children].length!==a.length&&this.title.replaceChildren(...a.map(()=>V(`button`,{type:`button`,class:`ndp-calendar__title-button`}))),a.forEach((e,t)=>{let n=this.title.children[t];H(n,{"data-action":e.action,"aria-label":e.label}),U(n,e.text)})}buildGrid(e){let t=V(`tr`,{role:`row`});for(let e=0;e<7;e++)t.append(V(`th`,{class:`ndp-weekday`,scope:`col`,role:`columnheader`}));let n=e.weeks.map(()=>{let e=V(`tr`,{role:`row`});for(let t=0;t<7;t++)e.append(V(`td`,{role:`gridcell`},[V(`button`,{type:`button`,class:`ndp-day`},[V(`span`,{class:`ndp-sr-only`}),V(`span`,{class:`ndp-day__label`,"aria-hidden":`true`}),V(`span`,{class:`ndp-day__sub`,"aria-hidden":`true`}),V(`span`,{class:`ndp-day__dot`,"aria-hidden":`true`,hidden:!0})])]));return e});return V(`table`,{class:`ndp-grid`,role:`grid`},[V(`thead`,{},[t]),V(`tbody`,{},n)])}patchGrid(e){let t=this.body.firstElementChild;H(t,{"aria-label":e.title});let n=t.querySelectorAll(`th`);e.weekdays.forEach((e,t)=>{let r=n[t];r&&(H(r,{abbr:e.longLabel,"data-weekend":e.isWeekend}),U(r,e.label))}),this.cells=e.weeks.flat();let r=t.querySelectorAll(`.ndp-day`);this.cells.forEach((e,t)=>{let n=r[t];n&&Ft(n,e)})}buildOptions(){return V(`div`,{class:`ndp-options`,role:`group`},Array.from({length:12},()=>V(`button`,{type:`button`,class:`ndp-option`},[V(`span`,{class:`ndp-sr-only`}),V(`span`,{class:`ndp-option__label`,"aria-hidden":`true`}),V(`span`,{class:`ndp-option__sub`,"aria-hidden":`true`})])))}patchOptions(e){this.tiles=[...e];let t=Math.max(0,e.findIndex(e=>e.isSelected)===-1?e.findIndex(e=>e.isCurrent):e.findIndex(e=>e.isSelected)),n=this.body.querySelectorAll(`.ndp-option`);e.forEach((e,r)=>{let i=n[r];if(!i)return;H(i,{"data-state":e.isSelected?`selected`:e.isCurrent?`current`:`default`,"aria-pressed":e.isSelected?`true`:`false`,tabindex:r===t?0:-1,disabled:e.isDisabled});let[a,o,s]=i.children;a&&o&&s&&(U(a,e.subLabel?`${e.label} (${e.subLabel})`:e.label),U(o,e.label),U(s,e.subLabel??``))})}cellOf(e){let t=e instanceof Element?e.closest(`.ndp-day`):null;if(!t||!this.element.contains(t))return null;let n=[...this.element.querySelectorAll(`.ndp-day`)].indexOf(t);return this.cells[n]??null}};function Ft(e,t){let n=e.parentElement;if(!t){e.hidden=!0,H(e,{tabindex:-1,"data-key":null}),n&&H(n,{"aria-selected":null});return}e.hidden=!1,H(e,{"data-key":t.key,"data-state":t.state,"data-weekend":t.isWeekend,"data-preview":t.isInRangePreview&&!t.isSelected,"data-outside":t.isOutside,tabindex:t.isFocusTarget?0:-1,disabled:t.isDisabled,"aria-pressed":t.isSelected?`true`:`false`,"aria-current":t.isToday?`date`:null}),n&&H(n,{"aria-selected":t.isSelected?`true`:null});let[r,i,a,o]=e.children;U(r,t.ariaLabel),U(i,t.label),U(a,t.subLabel??``),a.hidden=t.subLabel===null;let s=t.events[0];o.hidden=!s,o.style.setProperty(`--ndp-dot-color`,s?.color??null)}function It(e){let t=e.lastIndexOf(` `);return t===-1?[e,``]:[e.slice(0,t),e.slice(t+1)]}let Lt=typeof HTMLElement>`u`?Object:HTMLElement;function K(e,t){return e.getAttribute(t)??void 0}function q(e,t){return e.hasAttribute(t)}function J(e,t){let n=e.getAttribute(t);return n===null?void 0:n!==`false`}function Y(e,t){let n=e.getAttribute(t)?.toUpperCase();return n===`BS`||n===`AD`?n:void 0}function Rt(e,t){let n=Number(e.getAttribute(t)??NaN);return Number.isInteger(n)&&n>=0&&n<=6?n:void 0}function zt(e,t){let n=Number(e.getAttribute(t)??NaN);return Number.isInteger(n)?n:void 0}function Bt(e){let t=e.getAttribute(`theme`);return t===`light`||t===`dark`||t===`auto`?t:void 0}function Vt(e){let t=e.getAttribute(`panel-layout`);return t===`auto`||t===`popover`||t===`sheet`?t:void 0}function Ht(e){let t=e.getAttribute(`presets`);return t===null?void 0:t.split(`,`).map(e=>e.trim()).filter(Boolean)}function Ut(e){e.addEventListener(`change`,t=>{t.target!==e&&t.stopPropagation()},!0)}function Wt(e){return e?M(e):``}var Gt=class extends Lt{constructor(...e){super(...e),this.store=null,this.view=null,this.rich={}}get holidays(){return this.rich.holidays}set holidays(e){this.rich={...this.rich,holidays:e},this.store?.setOptions({holidays:e})}get events(){return this.rich.events}set events(e){this.rich={...this.rich,events:e},this.store?.setOptions({events:e})}get isDateDisabled(){return this.rich.isDateDisabled}set isDateDisabled(e){this.rich={...this.rich,isDateDisabled:e},this.store?.setOptions({isDateDisabled:e})}connectedCallback(){if(this.store)return;let e=xt({...this.readOptions(),onSelect:e=>{let t=z(e)?{dates:e,values:e.map(Wt)}:`calendar`in e?{date:e,value:Wt(e)}:{range:{start:Wt(e.start),end:Wt(e.end)}};this.dispatchEvent(new CustomEvent(`nep-select`,{bubbles:!0,detail:t}))}});this.store=e,this.view=new G(this,e,{locale:()=>K(this,`locale`)}),this.applyTheme()}disconnectedCallback(){this.view?.destroy(),this.view=null,this.store=null}attributeChangedCallback(){this.store?.setOptions(this.readOptions()),this.applyTheme()}applyTheme(){let e=Bt(this);this.view&&(e?this.view.element.dataset.ndpTheme=e:delete this.view.element.dataset.ndpTheme)}readOptions(){return{...this.rich,selected:fe(this.getAttribute(`value`)),calendar:Y(this,`calendar`),locale:K(this,`locale`),min:fe(this.getAttribute(`min`)),max:fe(this.getAttribute(`max`)),weekStartsOn:Rt(this,`week-starts-on`),showOtherCalendar:J(this,`show-other-calendar`),showOutsideDays:J(this,`show-outside-days`),selectionMode:q(this,`range`)?`range`:`single`}}};Gt.observedAttributes=[`value`,`calendar`,`locale`,`min`,`max`,`week-starts-on`,`show-other-calendar`,`show-outside-days`,`range`,`theme`];let Kt=Object.freeze({datePicker:`nep-date-picker`,calendar:`nep-calendar`,dateRangePicker:`nep-date-range-picker`,dateTimePicker:`nep-date-time-picker`,multiDatePicker:`nep-multi-date-picker`});function qt(e,t,n){let r=n??(typeof customElements>`u`?void 0:customElements);r&&!r.get(e)&&r.define(e,t)}function Jt(e){qt(Kt.calendar,Gt,e)}function Yt(e,t={}){let n=xt(t),r=new G(e,n,{locale:()=>t.locale});return{store:n,view:r,setOptions:e=>{n.setOptions(e)},destroy:()=>{r.destroy(),n.destroy()}}}let Xt=`[0-9०-९]`,Zt=RegExp(`^${Xt}{1,8}$`),Qt=RegExp(`^(${Xt}{4}-${Xt}{2})(${Xt}?)$`);function $t(e,t=``){if(e.length<=t.length||!e.startsWith(t))return e;if(t.endsWith(`-`)&&/^[-./]$/.test(e.slice(t.length)))return t;if(Zt.test(e)){let t=e.slice(0,4);return e.length>=4&&(t+=`-`),t+=e.slice(4,6),e.length>=6&&(t+=`-`),t+e.slice(6)}let n=Qt.exec(e);return n?`${n[1]??``}-${n[2]??``}`:e}function en(e,t,n,r,i=`iso`){if(e.trim()===``)return{kind:`empty`};let a=L(r).messages,o=Je(e,t);if(!o)return{kind:`error`,error:{code:`format`,message:a.invalidFormat[t]}};let s=tn(o,t,n,r,i);return s?{kind:`error`,error:s}:{kind:`date`,date:j(o,`AD`)}}function tn(e,t,n,r,i=`iso`){let a=L(r).messages;if(!Pe(e,n.min,n.max)){let e={min:nn(n.min,t,i,r),max:nn(n.max,t,i,r)};return{code:`range`,message:Be(n.hasMin===n.hasMax?a.outOfRange:n.hasMin?a.onOrAfter:a.onOrBefore,e)}}return n.isDateDisabled?.(e)?{code:`disabled`,message:a.unavailable}:null}function nn(e,t,n,r){return e?He(j(e,t),n,r):``}function rn(e,t,n){if(!e)return null;let r=t===`BS`?`AD`:`BS`;return`${He(j(e,r),`long`,n)} ${L(n).calendarNames[r]}`}function an(e,t){return`YYYY-MM-DD (${L(t).calendarNames[e]})`}function X(e){return e?fe(e):null}function on(e){return e?Object.freeze({ad:j(e,`AD`),bs:j(e,`BS`)}):null}function sn(e,t){return{calendar:t,locale:e.locale,min:X(e.min),max:X(e.max),isDateDisabled:e.isDateDisabled,holidays:e.holidays,events:e.events,showOtherCalendar:e.showOtherCalendar,weekStartsOn:e.weekStartsOn,weekendDays:e.weekendDays,today:e.today}}function cn(e,t){let{minDate:n,maxDate:r}=t.getState();return{min:n,max:r,hasMin:X(e.min)!==null,hasMax:X(e.max)!==null,isDateDisabled:e.isDateDisabled}}function Z(e){return e.locale??p().defaultLocale}function Q(e){return e.displayFormat??`iso`}function ln(e){return e.today??ve(`AD`)}function un(e){return!z(e)&&!(`calendar`in e)}function dn(e){return!z(e)&&`calendar`in e}function fn(e){let t=/* @__PURE__ */ new Set,n=[],r=0;function i(){e();for(let e of[...t])e()}return{subscribe(e){return t.add(e),()=>{t.delete(e)}},act(e){r++;try{e()}finally{r--}if(r===0){i();for(let e of n.splice(0))e()}},after(e){n.push(e)},notify(){r===0&&i()},clear(){t.clear()}}}function pn(e,t){let n=j(t.today,t.calendar);switch(e){case`today`:return n;case`yesterday`:return N(n,-1);case`tomorrow`:return N(n,1)}}function mn(e,t){let n=j(t.today,t.calendar),r=t.weekStartsOn;switch(e){case`today`:return{start:n,end:n};case`yesterday`:{let e=N(n,-1);return{start:e,end:e}}case`thisWeek`:return{start:Te(n,r),end:Ee(n,r)};case`lastWeek`:{let e=N(n,-7);return{start:Te(e,r),end:Ee(e,r)}}case`last7Days`:return{start:N(n,-6),end:n};case`last30Days`:return{start:N(n,-29),end:n};case`thisMonth`:return{start:P(n),end:Se(n)};case`lastMonth`:{let e=be(P(n),-1);return{start:e,end:Se(e)}}case`thisYear`:return{start:Ce(n),end:we(n)};case`thisFiscalYear`:{let e=Ue(n);return{start:e.firstDay,end:e.lastDay}}case`lastFiscalYear`:{let e=We(Ue(n).startYear-1);return{start:e.firstDay,end:e.lastDay}}}}function hn(e,t,n){return typeof e==`string`?{id:e,label:L(t).presets[e]??e,resolve:t=>n(e,t)}:e}function gn(e={}){let t={...e},n=t.calendar??t.defaultCalendar??`BS`,r=X(t.value??t.defaultValue),i=r?M(r):``,a=nn(r,n,Q(t),Z(t)),o=null,s=!1,c=!1,l=xt({...sn(t,n),selectionMode:`single`,selected:r,onSelect:e=>{dn(e)&&b(e)}}),u=f(),d=fn(()=>{u=f()});l.subscribe(()=>{d.notify()});function f(){let e=Z(t);return Object.freeze({value:i,date:on(r),text:a,calendar:n,canSwitchCalendar:t.calendar===void 0,open:s||t.inline===!0,inline:t.inline===!0,error:o,equivalentText:o?null:rn(r,n,e),placeholder:an(n,e),presets:g(),calendarState:l.getState()})}function m(){return{today:j(ln(t),`AD`),calendar:n,weekStartsOn:t.weekStartsOn??p().weekStartsOn}}function h(){let e=m(),r=cn(t,l);return(t.presets??[]).map(i=>{let a=hn(i,t.locale,pn),o=(()=>{try{let i=a.resolve(e);return tn(i,n,r,Z(t))?null:i}catch{return null}})();return{id:a.id,label:a.label,date:o}})}function g(){return h().map(({id:e,label:t,date:n})=>Object.freeze({id:e,label:t,isActive:n!==null&&M(n)===i,isDisabled:n===null}))}function _(e){l.setOptions({...sn(t,n),selected:r,...e&&r?{visibleMonth:r}:{}})}function v(e,n){let a=e?M(e):``,o=a!==i;if(r=e,i=a,_(e!==null),o&&n){let n=on(e);d.after(()=>t.onChange?.(a,n))}}function y(e){return nn(e,n,Q(t),Z(t))}function b(e){d.act(()=>{let n=j(e,`AD`);o=null,a=y(n),v(n,!0),(t.closeOnSelect??!0)&&(s=!1)})}let x={type(e){c||d.act(()=>{a=t.mask===!1?e:$t(e,a);let r=en(a,n,cn(t,l),Z(t),Q(t));o=r.kind===`error`?r.error:null,v(r.kind===`date`?r.date:null,!0)})},blur(){d.act(()=>{o||(a=y(r))})},clear(){d.act(()=>{a=``,o=null,v(null,!0)})},setValue(e){d.act(()=>{S(e)})},open(){d.act(()=>{s=!0,l.actions.goTo(r??ln(t))})},close(){d.act(()=>{s=!1})},toggle(){s?x.close():x.open()},switchCalendar(e){t.calendar!==void 0||e===n||c||d.act(()=>{n=e,o||(a=y(r)),_(r!==null),d.after(()=>t.onCalendarChange?.(e))})},select(e){let t=!1;return c||d.act(()=>{t=l.actions.select(e)}),t},selectToday(){return x.select(ln(t))},reset(){d.act(()=>{let e=X(t.defaultValue);o=null,a=y(e),v(e,!0)})},applyPreset(e){let t=h().find(t=>t.id===e);return c||!t?.date?!1:(b(t.date),!0)}};function S(e){let t=X(e);(t?M(t):``)!==i&&(o=null,a=y(t),v(t,!1))}return{getState:()=>u,subscribe:e=>d.subscribe(e),setOptions(e){c||d.act(()=>{let i={calendar:n,locale:Z(t),format:Q(t)};t={...t,...e},t.calendar!==void 0&&(n=t.calendar),`value`in e&&S(e.value),(i.calendar!==n||i.locale!==Z(t)||i.format!==Q(t))&&!o&&(a=y(r)),_(!1)})},actions:x,calendar:l,destroy(){c=!0,l.destroy(),d.clear()}}}function _n(e={}){let t={...e},n=t.calendar??t.defaultCalendar??`BS`,r=X(t.value?.start??t.defaultValue?.start),i=X(t.value?.end??t.defaultValue?.end);[r,i]=vn(r,i);let a=yn(r,i),o=h(r),s=h(i),c=null,l=!1,u=!1,d=xt({...sn(t,n),selectionMode:`range`,selected:{start:r,end:i},onSelect:e=>{un(e)&&w(e.start,e.end)}}),f=g(),m=fn(()=>{f=g()});d.subscribe(()=>{m.notify()});function h(e){return nn(e,n,Q(t),Z(t))}function g(){let e=Z(t);return Object.freeze({value:a,date:Object.freeze({start:on(r),end:on(i)}),startText:o,endText:s,calendar:n,canSwitchCalendar:t.calendar===void 0,open:l||t.inline===!0,inline:t.inline===!0,error:c,equivalentText:Object.freeze({start:c?.field===`start`?null:rn(r,n,e),end:c?.field===`end`?null:rn(i,n,e)}),placeholder:an(n,e),presets:y(),calendarState:d.getState()})}function _(){return{today:j(ln(t),`AD`),calendar:n,weekStartsOn:t.weekStartsOn??p().weekStartsOn}}function v(){let e=_(),r=cn(t,d),i=Z(t);return(t.presets??[]).map(a=>{let o=hn(a,t.locale,mn),s=(()=>{try{let t=o.resolve(e),a=j(t.start,`AD`),s=j(t.end,`AD`);return F(a,s)<=0&&!tn(a,n,r,i)&&!tn(s,n,r,i)&&x(a,s)===null?t:null}catch{return null}})();return{id:o.id,label:o.label,range:s}})}function y(){return v().map(({id:e,label:t,range:n})=>Object.freeze({id:e,label:t,isActive:n!==null&&M(n.start)===a.start&&M(n.end)===a.end,isDisabled:n===null}))}function b(){d.setOptions({...sn(t,n),selected:{start:r,end:i},...r?{visibleMonth:r}:{}})}function x(e,n){let r=De(n,e)+1,i=L(Z(t)).messages;return t.minDays!==void 0&&r<t.minDays?{field:`range`,code:`tooShort`,message:Be(i.rangeTooShort,{min:String(t.minDays)})}:t.maxDays!==void 0&&r>t.maxDays?{field:`range`,code:`tooLong`,message:Be(i.rangeTooLong,{max:String(t.maxDays)})}:null}function S(e,n,o){r=e,i=n;let s=yn(r,i),c=s.start!==a.start||s.end!==a.end;if(a=s,b(),c&&o){let e=Object.freeze({start:on(r),end:on(i)});m.after(()=>t.onChange?.(s,e))}}function C(e,t){let[n,r]=vn(e,t);n!==e&&([o,s]=[s,o]);let i=n&&r?x(n,r):null;return c=i??c,S(n,i?null:r,!0),i===null}function w(e,n){m.act(()=>{let r=e?j(e,`AD`):null,i=n?j(n,`AD`):null;c=null,o=h(r),s=h(i);let a=C(r,i);i&&a&&(t.closeOnSelect??!0)&&(l=!1)})}let T={type(e,a){u||m.act(()=>{t.mask!==!1&&(a=$t(a,e===`start`?o:s)),e===`start`?o=a:s=a;let l=en(a,n,cn(t,d),Z(t),Q(t)),u=l.kind===`date`?l.date:null;c=l.kind===`error`?{...l.error,field:e}:null;let f=e===`start`?i:r,p=f?tn(f,n,cn(t,d),Z(t)):null;!c&&p&&(c={...p,field:e===`start`?`end`:`start`}),e===`start`?C(u,i):C(r,u)})},blur(e){m.act(()=>{c?.field!==e&&(e===`start`?o=h(r):(i||c?.field!==`range`)&&(s=h(i)))})},clear(){m.act(()=>{o=``,s=``,c=null,S(null,null,!0)})},setValue(e){m.act(()=>{ee(e)})},open(){m.act(()=>{l=!0,d.actions.goTo(r??ln(t))})},close(){m.act(()=>{l=!1})},toggle(){l?T.close():T.open()},switchCalendar(e){t.calendar!==void 0||e===n||u||m.act(()=>{n=e,c||(o=h(r),s=h(i)),b(),m.after(()=>t.onCalendarChange?.(e))})},select(e){let t=!1;return u||m.act(()=>{t=d.actions.select(e)}),t},applyPreset(e){let t=v().find(t=>t.id===e);return u||!t?.range?!1:(w(t.range.start,t.range.end),!0)},reset(){m.act(()=>{let[e,n]=vn(X(t.defaultValue?.start),X(t.defaultValue?.end));c=null,o=h(e),s=h(n),S(e,n,!0)})}};function ee(e){let[t,n]=vn(X(e?.start),X(e?.end)),r=yn(t,n);(r.start!==a.start||r.end!==a.end)&&(c=null,o=h(t),s=h(n),S(t,n,!1))}return{getState:()=>f,subscribe:e=>m.subscribe(e),setOptions(e){u||m.act(()=>{let a={calendar:n,locale:Z(t),format:Q(t)};t={...t,...e},t.calendar!==void 0&&(n=t.calendar),`value`in e&&ee(e.value),(a.calendar!==n||a.locale!==Z(t)||a.format!==Q(t))&&!c&&(o=h(r),s=h(i)),b()})},actions:T,calendar:d,destroy(){u=!0,d.destroy(),m.clear()}}}function vn(e,t){return e&&t&&F(t,e)<0?[t,e]:[e,t]}function yn(e,t){return Object.freeze({start:e?M(e):``,end:t?M(t):``})}let bn=/[,\s\u060c]+/;function xn(e={}){let t={...e},n=t.calendar??t.defaultCalendar??`BS`,r=Sn(t.value??t.defaultValue),i=wn(r),a=m(r),o=null,s=!0,c=!1,l=!1,u=xt({...sn(t,n),selectionMode:`multiple`,selected:r,onSelect:e=>{z(e)&&v(e.map(e=>j(e,`AD`)))}}),d=p(),f=fn(()=>{d=p()});u.subscribe(()=>{f.notify()});function p(){return Object.freeze({value:i,dates:Tn(r),text:a,calendar:n,canSwitchCalendar:t.calendar===void 0,open:c||t.inline===!0,inline:t.inline===!0,error:o,placeholder:an(n,Z(t)),calendarState:u.getState()})}function m(e){return e.map(e=>nn(e,n,`iso`,Z(t))).join(`, `)}function h(e){let n=t.maxDates;return n!==void 0&&e>n?{code:`tooMany`,message:Be(L(Z(t)).messages.tooManyDates,{max:String(n)})}:null}function g(){u.setOptions({...sn(t,n),selected:r})}function _(e,n){let a=Cn(e),o=wn(a),s=o.join()!==i.join();if(r=a,i=o,g(),s&&n){let e=Tn(a);f.after(()=>t.onChange?.(o,e))}}function v(e){f.act(()=>{o=h(e.length),o?g():(a=m(Cn(e)),s=!0,_(e,!0),t.closeOnSelect===!0&&(c=!1))})}let y={type(e){l||f.act(()=>{a=t.mask===!1?e:En(e,a);let r=cn(t,u),i=[],c=null;for(let e of a.split(bn)){let a=en(e,n,r,Z(t));a.kind===`date`?i.push(a.date):a.kind===`error`&&(c??(c=a.error))}o=c??h(Cn(i).length),s=o===null,_(i,!0)})},blur(){f.act(()=>{s&&(a=m(r))})},clear(){f.act(()=>{a=``,o=null,s=!0,_([],!0)})},setValue(e){f.act(()=>{b(e)})},open(){f.act(()=>{c=!0;let e=r[0];e&&u.actions.goTo(e)})},close(){f.act(()=>{c=!1})},toggle(){c?y.close():y.open()},switchCalendar(e){t.calendar!==void 0||e===n||l||f.act(()=>{n=e,s&&(a=m(r)),g(),f.after(()=>t.onCalendarChange?.(e))})},select(e){if(l)return!1;let t=i;return f.act(()=>{u.actions.select(e)}),i!==t},remove(e){f.act(()=>{o=null;let t=r.filter(t=>M(t)!==e);a=m(t),s=!0,_(t,!0)})},reset(){f.act(()=>{let e=Sn(t.defaultValue);o=null,a=m(e),s=!0,_(e,!0)})}};function b(e){let t=Sn(e);wn(t).join()!==i.join()&&(o=null,a=m(t),s=!0,_(t,!1))}return{getState:()=>d,subscribe:e=>f.subscribe(e),setOptions(e){l||f.act(()=>{let i={calendar:n,locale:Z(t)};t={...t,...e},t.calendar!==void 0&&(n=t.calendar),`value`in e&&b(e.value),(i.calendar!==n||i.locale!==Z(t))&&s&&(a=m(r)),g()})},actions:y,calendar:u,destroy(){l=!0,u.destroy(),f.clear()}}}function Sn(e){return Cn((e??[]).map(X).filter(e=>e!==null))}function Cn(e){return[...new Map(e.map(e=>[M(e),e])).entries()].sort(([e],[t])=>e<t?-1:1).map(([,e])=>e)}function wn(e){return Object.freeze(e.map(e=>M(e)))}function Tn(e){return Object.freeze(e.map(e=>Object.freeze({ad:e,bs:j(e,`BS`)})))}function En(e,t){if(!e.startsWith(t))return e;let n=/^(.*[,\s\u060c])?([^,\s\u060c]*)$/.exec(e),r=n?.[1]??``;return r+$t(n?.[2]??e,t.length>r.length?t.slice(r.length):``)}function Dn(e={}){let t={...e},n=tt(t.value??t.defaultValue,d()),r=n?.time??null,i=r?f(r):``,a=null,o=``,s=!1,c=gn({...m(),defaultValue:n?On(n.date):``,closeOnSelect:!1,onChange:()=>{u.act(()=>{c.getState().date&&!r&&(r=Qe(t.defaultTime)??Object.freeze({hour:0,minute:0}),i=f(r),a=null),_(!0)})}});o=h();let l=v(),u=fn(()=>{l=v()});c.subscribe(()=>{u.notify()});function d(){return t.timeZone??p().timeZone}function f(e){return $e(e,{hour12:t.hour12??!1,locale:Z(t)})}function m(){let{value:e,defaultValue:n,onChange:r,timeZone:i,hour12:a,minuteStep:o,defaultTime:s,...c}=t;return c}function h(){let e=c.getState().date;return e&&r?et(e.ad,r,d()):``}function g(){let e=c.getState().date;return e&&r&&o?Object.freeze({ad:e.ad,bs:e.bs,time:r,iso:o}):null}function _(e){let n=h();if(n!==o&&(o=n,e)){let e=g();u.after(()=>t.onChange?.(n,e))}}function v(){let e=c.getState(),n=Z(t),s=Math.min(30,Math.max(1,Math.floor(t.minuteStep??5))),{am:l,pm:u}=L(n).time,d=t.hour12??!1;return Object.freeze({value:o,detail:g(),dateText:e.text,timeText:i,time:r,calendar:e.calendar,canSwitchCalendar:e.canSwitchCalendar,open:e.open,inline:e.inline,error:e.error?{...e.error,field:`date`}:a?{...a,field:`time`}:null,equivalentText:e.equivalentText,placeholder:e.placeholder,timePlaceholder:d?`h:mm ${l}`:`HH:MM`,hours:Array.from({length:24},(e,t)=>Object.freeze({value:t,label:d?`${R(t%12==0?12:t%12,n)} ${t<12?l:u}`:R(String(t).padStart(2,`0`),n),isSelected:r?.hour===t})),minutes:Array.from({length:Math.ceil(60/s)},(e,t)=>Object.freeze({value:t*s,label:R(String(t*s).padStart(2,`0`),n),isSelected:r?.minute===t*s})),presets:e.presets,calendarState:e.calendarState})}function y(e,t,n){r=e,i=t,a=null,_(n)}let b={typeDate(e){c.actions.type(e)},blurDate(){c.actions.blur()},typeTime(e){s||u.act(()=>{let n=Qe(e);e.trim()===``||n?y(n,e,!0):(r=null,i=e,a={code:`format`,message:L(Z(t)).messages.invalidTime},_(!0))})},blurTime(){u.act(()=>{!a&&r&&(i=f(r))})},selectDate(e){return!s&&c.actions.select(e)},selectHour(e){u.act(()=>{let t=Object.freeze({hour:e,minute:r?.minute??0});y(t,f(t),!0)})},selectMinute(e){u.act(()=>{let t=Object.freeze({hour:r?.hour??0,minute:e});y(t,f(t),!0)})},selectNow(){if(s)return!1;let e=ye(d()),t=!1;return u.act(()=>{r=e.time,i=f(e.time),a=null,t=c.actions.select(e.date),_(!0)}),t},applyPreset(e){return!s&&c.actions.applyPreset(e)},open(){c.actions.open()},close(){c.actions.close()},toggle(){c.actions.toggle()},clear(){u.act(()=>{c.actions.setValue(``),y(null,``,!0)})},setValue(e){u.act(()=>{x(e)})},switchCalendar(e){c.actions.switchCalendar(e)},reset(){u.act(()=>{let e=tt(t.defaultValue,d());c.actions.setValue(e?On(e.date):``),y(e?.time??null,e?f(e.time):``,!0)})}};function x(e){let t=tt(e,d());(t?et(t.date,t.time,d()):``)!==o&&(c.actions.setValue(t?On(t.date):``),r=t?.time??null,i=r?f(r):``,a=null,_(!1))}return{getState:()=>l,subscribe:e=>u.subscribe(e),setOptions(e){s||u.act(()=>{t={...t,...e},c.setOptions(m()),`value`in e&&x(e.value),r&&!a&&(i=f(r)),_(!1)})},actions:b,calendar:c.calendar,destroy(){s=!0,c.destroy(),u.clear()}}}function On(e){return M(e)}function kn(){return typeof window<`u`&&typeof document<`u`}function An(){return kn()&&typeof HTMLElement<`u`&&typeof HTMLElement.prototype.showPopover==`function`}function jn(e,t,n=480){return e!==void 0&&e!==`auto`?e:t<n?`sheet`:`popover`}function Mn(e,t,n,r={}){let i=r.gap??6,a=r.placement??`bottom-start`,o=Math.max(0,Math.min(r.width??320,n.width-i*2)),s=n.height-e.bottom-i*2,c=e.top-i*2,l=a.startsWith(`top`)?c>=t||c>=s?`top`:`bottom`:s>=t||s>=c?`bottom`:`top`,u=l===`bottom`?e.bottom+i:e.top-i-t,d=a.endsWith(`end`)?e.right-o:e.left;return{top:Math.max(i,Math.min(u,n.height-i-t)),left:Math.max(i,Math.min(d,n.width-o-i)),width:o,side:l}}function Nn(e,t,n={}){if(!kn())return In;let r=An();r&&(t.hasAttribute(`popover`)||t.setAttribute(`popover`,`manual`),t.matches(`:popover-open`)||t.showPopover());let i=jn(n.layout,window.innerWidth,n.sheetBelow);if(t.dataset.layout=i,i===`sheet`)return Object.assign(t.style,{top:``,left:``,width:``,position:`fixed`,margin:`0`,inset:`auto 0 0 0`}),delete t.dataset.side,Pn(t,r);let a=Mn(e.getBoundingClientRect(),t.offsetHeight,{width:window.innerWidth,height:window.innerHeight},n);return Object.assign(t.style,{position:`fixed`,margin:`0`,inset:`auto`,top:`${a.top}px`,left:`${a.left}px`,width:`${a.width}px`}),t.dataset.side=a.side,Pn(t,r)}function Pn(e,t){return()=>{t&&e.matches(`:popover-open`)&&e.hidePopover()}}function Fn(e,t,n={}){if(!kn())return In;let r=Nn(e,t,n),i=()=>{r=Nn(e,t,n)};return window.addEventListener(`resize`,i),window.addEventListener(`scroll`,i,!0),()=>{window.removeEventListener(`resize`,i),window.removeEventListener(`scroll`,i,!0),r()}}function In(){}function Ln(e,t){if(!kn())return Bn;let n=n=>{let r=n.target,i=typeof e==`function`?e():e;r instanceof Node&&i.some(e=>e?.contains(r)??!1)||t(n)};return document.addEventListener(`pointerdown`,n,!0),()=>{document.removeEventListener(`pointerdown`,n,!0)}}function Rn(e,t){if(!kn())return Bn;let n=n=>{if(n.target!==e)return;let r=e.getBoundingClientRect();(n.clientX<r.left||n.clientX>r.right||n.clientY<r.top||n.clientY>r.bottom)&&t(n)};return e.addEventListener(`pointerdown`,n),()=>{e.removeEventListener(`pointerdown`,n)}}function zn(e,t={}){if(!kn())return Bn;let n=t.capture??!0,r=n=>{n.key===`Escape`&&((t.stop??!0)&&(n.stopPropagation(),n.preventDefault()),e(n))};return window.addEventListener(`keydown`,r,n),()=>{window.removeEventListener(`keydown`,r,n)}}function $(e){e?.focus({preventScroll:!0})}function Bn(){}var Vn=class{constructor(e){this.ids=``,this.element=V(`div`,{class:`ndp-presets`,role:`group`,hidden:!0}),this.element.addEventListener(`click`,t=>{let n=t.target instanceof Element?t.target.closest(`.ndp-preset`):null,r=n?.dataset.preset;r!==void 0&&n&&!n.disabled&&e(r)})}render(e,t){this.element.hidden=e.length===0,H(this.element,{"aria-label":t});let n=e.map(e=>e.id).join(`
|
|
2
|
+
`);n!==this.ids&&(this.ids=n,this.element.replaceChildren(...e.map(e=>V(`button`,{type:`button`,class:`ndp-preset`,"data-preset":e.id})))),e.forEach((e,t)=>{let n=this.element.children[t];n&&(U(n,e.label),H(n,{"aria-pressed":e.isActive?`true`:`false`,disabled:e.isDisabled}))})}};let Hn=/* @__PURE__ */ new Set([`name`,`hiddenInput`,`id`,`placeholder`,`required`,`disabled`,`clearable`,`showEquivalent`,`theme`,`panelLayout`,`persistCalendar`,`ariaLabel`,`onOpenChange`,`onInput`]);var Un=class{constructor(e,t={}){this.closePanel=null,this.wasOpen=!1,this.onTextInput=()=>{this.store.actions.type(this.input.value),this.options.onInput?.(this.input.value)},this.onInputKeyDown=e=>{e.key===`ArrowDown`&&(e.altKey||this.input.value===``)&&(e.preventDefault(),this.open())},this.onClick=e=>{let t=e.target instanceof Element?e.target:null;if(!t||this.calendarView.element.contains(t))return;let n=t.closest(`[data-calendar]`)?.dataset.calendar;if(n===`BS`||n===`AD`)this.store.actions.switchCalendar(n);else switch(t.closest(`[data-action]`)?.dataset.action){case`clear`:this.store.actions.clear(),this.input.focus();break;case`switch`:this.store.actions.switchCalendar(this.store.getState().calendar===`BS`?`AD`:`BS`);break;case`toggle`:this.store.getState().open?this.close():this.open();break;case`today`:this.store.actions.selectToday()&&$(this.input)}},this.options={...t},this.store=gn({...Wn(t),onChange:(e,t)=>{this.options.onChange?.(e,t)},onCalendarChange:e=>{this.remember(e),this.options.onCalendarChange?.(e)}});let n=t.id??At(`ndp-input`),r=`${n}-panel`;this.input=V(`input`,{class:`ndp-input__control`,id:n,type:`text`,inputmode:`numeric`,autocomplete:`off`,spellcheck:`false`,"aria-controls":r}),this.clearButton=V(`button`,{type:`button`,class:`ndp-icon-button`,"data-action":`clear`},[W(`close`)]),this.switchButton=V(`button`,{type:`button`,class:`ndp-input__switch`,"data-action":`switch`}),this.toggleButton=V(`button`,{type:`button`,class:`ndp-icon-button`,"data-action":`toggle`},[W(`calendar`)]),this.box=V(`div`,{class:`ndp-input`},[this.input,V(`span`,{class:`ndp-input__actions`},[this.clearButton,this.switchButton,this.toggleButton])]),this.hint=V(`p`,{class:`ndp-hint`,id:`${n}-hint`,"aria-live":`polite`,hidden:!0}),this.hidden=V(`input`,{type:`hidden`}),this.segment=V(`div`,{class:`ndp-segment`,role:`group`},[V(`button`,{type:`button`,class:`ndp-segment__item`,"data-calendar":`BS`}),V(`button`,{type:`button`,class:`ndp-segment__item`,"data-calendar":`AD`})]),this.todayButton=V(`button`,{type:`button`,class:`ndp-button`,"data-action":`today`});let i=V(`div`,{class:`ndp-panel__calendar`});this.presetList=new Vn(e=>{this.store.actions.applyPreset(e)&&!this.store.getState().open&&$(this.input)}),this.panel=V(`div`,{class:`ndp-panel`,id:r,hidden:!0},[V(`div`,{class:`ndp-panel__body`},[this.presetList.element,i]),V(`div`,{class:`ndp-panel__footer`},[this.segment,this.todayButton])]),this.field=V(`div`,{class:`ndp-field`},[this.box,this.hint,this.panel,this.hidden]),e.append(this.field),this.calendarView=new G(i,this.store.calendar,{locale:()=>this.options.locale,onDayActivate:e=>{this.store.actions.select(e)&&!this.store.getState().open&&$(this.input)}}),this.input.addEventListener(`input`,this.onTextInput),this.input.addEventListener(`blur`,()=>{this.store.actions.blur()}),this.input.addEventListener(`keydown`,this.onInputKeyDown),this.field.addEventListener(`click`,this.onClick),this.unsubscribe=this.store.subscribe(()=>{this.render()}),this.restoreCalendar(),this.render()}getState(){return this.store.getState()}setOptions(e){this.options={...this.options,...e};let t=Wn(e);Object.keys(t).length>0?this.store.setOptions(t):this.render()}open(){this.options.disabled||this.store.actions.open()}close(){this.store.actions.close()}destroy(){this.closePanel?.(),this.unsubscribe(),this.calendarView.destroy(),this.field.remove()}render(){let e=this.store.getState(),t=L(this.options.locale),n=this.options.disabled??!1,r=e.error?.message??(this.options.showEquivalent??!0?e.equivalentText:null);this.input.value!==e.text&&(this.input.value=e.text),this.input.setCustomValidity(e.error?.message??``),H(this.input,{placeholder:this.options.placeholder??e.placeholder,disabled:n,required:this.options.required??!1,"aria-label":this.options.ariaLabel??null,"aria-invalid":e.error?`true`:null,"aria-describedby":r?this.hint.id:null}),H(this.box,{"data-invalid":e.error!==null,"data-disabled":n}),H(this.field,{"data-ndp-theme":this.options.theme??null}),H(this.panel,{"data-ndp-theme":this.options.theme??null,"aria-label":this.options.ariaLabel?`${this.options.ariaLabel}: ${t.labels.calendar}`:t.labels.chooseDate}),this.clearButton.hidden=!(this.options.clearable??!0)||e.text===``||n,H(this.clearButton,{"aria-label":t.labels.clear}),this.switchButton.hidden=!e.canSwitchCalendar,U(this.switchButton,t.calendarNames[e.calendar]);let i=e.calendar===`BS`?`AD`:`BS`;H(this.switchButton,{disabled:n,"aria-label":`${t.labels.calendar}: ${t.calendarNames[e.calendar]} → ${t.calendarNames[i]}`}),H(this.toggleButton,{disabled:n,"aria-label":t.labels.openCalendar,"aria-expanded":e.open?`true`:`false`}),this.hint.hidden=r===null,U(this.hint,r??``),H(this.hint,{"data-error":e.error!==null}),this.segment.hidden=!e.canSwitchCalendar,H(this.segment,{"aria-label":t.labels.calendar});for(let n of this.segment.querySelectorAll(`button`)){let r=n.dataset.calendar;U(n,t.calendarNames[r]),H(n,{"aria-pressed":r===e.calendar?`true`:`false`})}U(this.todayButton,t.labels.today),this.presetList.render(e.presets,t.labels.presets);let a=this.options.hiddenInput===!1?void 0:this.options.name;H(this.hidden,{name:a??null,value:e.value}),this.hidden.value=e.value,this.hidden.disabled=a===void 0||n,Nt(e,[this.input],this.toggleButton,this.panel),this.syncPanel(e.open&&!e.inline),this.panel.hidden=!e.inline&&!this.wasOpen,this.panel.style.setProperty(`--ndp-panel-width`,e.inline?`${String(this.panelWidth())}px`:null)}panelWidth(){return this.store.getState().presets.length>0?492:320}syncPanel(e){if(e!==this.wasOpen){if(this.wasOpen=e,this.options.onOpenChange?.(e),e){this.panel.hidden=!1;let e=Fn(this.box,this.panel,{width:this.panelWidth(),layout:this.options.panelLayout}),t=Ln([this.field,this.panel],()=>{this.store.actions.close()}),n=Rn(this.panel,()=>{this.store.actions.close()}),r=zn(()=>{this.store.actions.close(),$(this.input)});this.closePanel=()=>{e(),t(),n(),r(),this.panel.hidden=!0},this.calendarView.focusGrid()}else this.closePanel?.(),this.closePanel=null}}remember(e){let t=this.options.persistCalendar;if(t)try{window.localStorage.setItem(t,e)}catch{}}restoreCalendar(){let e=this.options.persistCalendar;if(!e)return;let t=Gn(e);(t===`BS`||t===`AD`)&&this.store.actions.switchCalendar(t)}};function Wn(e){let t={};for(let[n,r]of Object.entries(e))!Hn.has(n)&&n!==`onChange`&&n!==`onCalendarChange`&&(t[n]=r);return t}function Gn(e){try{return window.localStorage.getItem(e)}catch{return null}}var Kn=class extends Lt{constructor(){super(),this.view=null,this.rich={},this.unsubscribe=null,this.internals=typeof this.attachInternals==`function`?this.attachInternals():null,Ut(this)}get value(){return this.view?.getState().value??Wt(fe(this.getAttribute(`value`)))}set value(e){this.view?.store.actions.setValue(e)}get holidays(){return this.rich.holidays}set holidays(e){this.setRich({holidays:e})}get events(){return this.rich.events}set events(e){this.setRich({events:e})}get isDateDisabled(){return this.rich.isDateDisabled}set isDateDisabled(e){this.setRich({isDateDisabled:e})}get presets(){return this.customPresets??Ht(this)}set presets(e){this.customPresets=e,this.view?.setOptions({presets:this.presets})}get form(){return this.internals?.form??null}get validity(){return this.internals?.validity}get validationMessage(){return this.internals?.validationMessage??``}checkValidity(){return this.internals?.checkValidity()??!0}reportValidity(){return this.internals?.reportValidity()??!0}connectedCallback(){if(this.view)return;let e=new Un(this,{...this.readOptions(),defaultValue:K(this,`value`),onChange:(e,t)=>{this.dispatchEvent(new CustomEvent(`change`,{bubbles:!0,detail:{value:e,ad:t?.ad??null,bs:t?.bs??null}}))},onCalendarChange:e=>{this.dispatchEvent(new CustomEvent(`nep-calendar-change`,{bubbles:!0,detail:{calendar:e}}))},onOpenChange:e=>{this.dispatchEvent(new CustomEvent(e?`nep-open`:`nep-close`,{bubbles:!0}))}});this.view=e,this.unsubscribe=e.store.subscribe(()=>{this.syncForm()}),this.syncForm()}disconnectedCallback(){this.unsubscribe?.(),this.view?.destroy(),this.view=null}attributeChangedCallback(e,t,n){this.view&&t!==n&&(e===`value`&&this.view.store.actions.setValue(n??``),this.view.setOptions(this.readOptions()),this.syncForm())}formResetCallback(){this.view?.store.actions.reset()}formDisabledCallback(e){this.view?.setOptions({disabled:e||q(this,`disabled`)})}formStateRestoreCallback(e){typeof e==`string`&&this.view?.store.actions.setValue(e)}focus(e){this.view?.input.focus(e)}open(){this.view?.open()}close(){this.view?.close()}setRich(e){this.rich={...this.rich,...e},this.view?.setOptions(e)}readOptions(){return{...this.rich,min:K(this,`min`),max:K(this,`max`),calendar:Y(this,`calendar`),defaultCalendar:Y(this,`default-calendar`),locale:K(this,`locale`),name:K(this,`name`),hiddenInput:this.internals===null,placeholder:K(this,`placeholder`),required:q(this,`required`),disabled:q(this,`disabled`),clearable:J(this,`clearable`),showEquivalent:J(this,`show-equivalent`),closeOnSelect:J(this,`close-on-select`),theme:Bt(this),panelLayout:Vt(this),mask:J(this,`mask`),inline:this.hasAttribute(`inline`),persistCalendar:K(this,`persist-calendar`),weekStartsOn:Rt(this,`week-starts-on`),displayFormat:K(this,`display-format`),ariaLabel:K(this,`label`),id:K(this,`input-id`),presets:this.presets}}syncForm(){let e=this.view;if(!e||!this.internals)return;let t=e.getState();this.internals.setFormValue(t.value===``?null:t.value,t.value),t.error?this.internals.setValidity({customError:!0},t.error.message,e.input):q(this,`required`)&&t.value===``?this.internals.setValidity({valueMissing:!0},e.input.validationMessage||`Please choose a date.`,e.input):this.internals.setValidity({})}};Kn.formAssociated=!0,Kn.observedAttributes=[`value`,`min`,`max`,`calendar`,`default-calendar`,`locale`,`name`,`placeholder`,`required`,`disabled`,`clearable`,`show-equivalent`,`theme`,`panel-layout`,`mask`,`inline`,`persist-calendar`,`week-starts-on`,`display-format`,`label`,`close-on-select`,`input-id`,`presets`];function qn(e){qt(Kt.datePicker,Kn,e)}function Jn(e,t={}){let n=e instanceof HTMLInputElement?e:null,r=e;n&&(r=document.createElement(`span`),n.after(r),n.hidden=!0);let i=new Un(r,{...n?{defaultValue:n.value,name:void 0,required:n.required,disabled:n.disabled}:{},...t,onChange:(e,r)=>{n&&(n.value=e,n.dispatchEvent(new Event(`input`,{bubbles:!0})),n.dispatchEvent(new Event(`change`,{bubbles:!0}))),t.onChange?.(e,r)}});return{view:i,getValue:()=>i.getState().value,getState:()=>i.getState(),setValue:e=>{i.store.actions.setValue(e),n&&(n.value=i.getState().value)},setOptions:e=>{i.setOptions(e)},open:()=>{i.open()},close:()=>{i.close()},destroy:()=>{i.destroy(),n&&(r.remove(),n.hidden=!1)}}}let Yn=/* @__PURE__ */ new Set([`startName`,`endName`,`hiddenInput`,`disabled`,`required`,`theme`,`panelLayout`,`startLabel`,`endLabel`,`fiscalYearView`,`onOpenChange`,`onChange`,`onCalendarChange`]);var Xn=class{constructor(e,t={}){this.closePanel=null,this.wasOpen=!1,this.onClick=e=>{let t=e.target instanceof Element?e.target:null;if(!t||this.calendarView.element.contains(t))return;let n=t.closest(`[data-calendar]`)?.dataset.calendar;if(n===`BS`||n===`AD`)this.store.actions.switchCalendar(n);else if(t.closest(`[data-action="fiscal"]`)){let e=this.store.calendar;e.actions.setView(e.getState().view===`fiscal`?`day`:`fiscal`),this.calendarView.focusGrid()}else t.closest(`[data-action="toggle"]`)&&(this.store.getState().open?this.close():this.open())},this.options={...t},this.store=_n({...Zn(t),onChange:(e,t)=>{this.options.onChange?.(e,t)},onCalendarChange:e=>{this.options.onCalendarChange?.(e)}});let n=At(`ndp-range`),r=e=>{let t=V(`input`,{class:`ndp-input__control`,id:`${n}-${e}`,type:`text`,inputmode:`numeric`,autocomplete:`off`,"aria-controls":`${n}-panel`,"data-field":e});return t.addEventListener(`input`,()=>{this.store.actions.type(e,t.value)}),t.addEventListener(`blur`,()=>{this.store.actions.blur(e)}),t.addEventListener(`keydown`,e=>{e.key===`ArrowDown`&&(e.altKey||t.value===``)&&(e.preventDefault(),this.open())}),t};this.inputs={start:r(`start`),end:r(`end`)},this.toggleButton=V(`button`,{type:`button`,class:`ndp-icon-button`,"data-action":`toggle`},[W(`calendar`)]),this.boxes={start:V(`div`,{class:`ndp-input`},[this.inputs.start]),end:V(`div`,{class:`ndp-input`},[this.inputs.end,V(`span`,{class:`ndp-input__actions`},[this.toggleButton])])},this.hint=V(`p`,{class:`ndp-hint`,id:`${n}-hint`,"aria-live":`polite`,hidden:!0}),this.hidden={start:V(`input`,{type:`hidden`}),end:V(`input`,{type:`hidden`})},this.segment=V(`div`,{class:`ndp-segment`,role:`group`},[V(`button`,{type:`button`,class:`ndp-segment__item`,"data-calendar":`BS`}),V(`button`,{type:`button`,class:`ndp-segment__item`,"data-calendar":`AD`})]),this.fiscalButton=V(`button`,{type:`button`,class:`ndp-button`,"data-action":`fiscal`}),this.footer=V(`div`,{class:`ndp-panel__footer`},[this.segment,this.fiscalButton]);let i=V(`div`,{class:`ndp-panel__calendar`});this.presetList=new Vn(e=>{this.store.actions.applyPreset(e)&&!this.store.getState().open&&$(this.inputs.start)}),this.panel=V(`div`,{class:`ndp-panel`,id:`${n}-panel`,hidden:!0},[V(`div`,{class:`ndp-panel__body`},[this.presetList.element,i]),this.footer]);let a=V(`div`,{class:`ndp-range`},[this.boxes.start,V(`span`,{class:`ndp-range__separator`,"aria-hidden":`true`},[`→`]),this.boxes.end]);this.field=V(`div`,{class:`ndp-field`},[a,this.hint,this.panel,this.hidden.start,this.hidden.end]),e.append(this.field),this.calendarView=new G(i,this.store.calendar,{locale:()=>this.options.locale,onDayActivate:e=>{this.store.actions.select(e)&&!this.store.getState().open&&$(this.inputs.end)}}),this.field.addEventListener(`click`,this.onClick),this.unsubscribe=this.store.subscribe(()=>{this.render()}),this.render()}getState(){return this.store.getState()}setOptions(e){this.options={...this.options,...e};let t=Zn(e);Object.keys(t).length>0?this.store.setOptions(t):this.render()}open(){this.options.disabled||this.store.actions.open()}close(){this.store.actions.close()}destroy(){this.closePanel?.(),this.unsubscribe(),this.calendarView.destroy(),this.field.remove()}render(){let e=this.store.getState(),t=L(this.options.locale),n=this.options.disabled??!1,r=e.error?.message??null,i={start:e.startText,end:e.endText},a={start:this.options.startLabel,end:this.options.endLabel};for(let t of[`start`,`end`]){let o=this.inputs[t];o.value!==i[t]&&(o.value=i[t]);let s=e.error,c=s!==null&&(s.field===t||s.field===`range`);o.setCustomValidity(c?s.message:``),H(o,{placeholder:e.placeholder,disabled:n,required:this.options.required??!1,"aria-label":a[t]??null,"aria-invalid":c?`true`:null,"aria-describedby":r?this.hint.id:null}),H(this.boxes[t],{"data-invalid":c,"data-disabled":n});let l=this.options.hiddenInput===!1?void 0:t===`start`?this.options.startName:this.options.endName;H(this.hidden[t],{name:l??null}),this.hidden[t].value=e.value[t],this.hidden[t].disabled=l===void 0||n}H(this.field,{"data-ndp-theme":this.options.theme??null}),H(this.panel,{"data-ndp-theme":this.options.theme??null,"aria-label":t.labels.chooseDate}),H(this.toggleButton,{disabled:n,"aria-label":t.labels.openCalendar,"aria-expanded":e.open?`true`:`false`}),this.hint.hidden=r===null,U(this.hint,r??``),H(this.hint,{"data-error":r!==null}),this.segment.hidden=!e.canSwitchCalendar,H(this.segment,{"aria-label":t.labels.calendar});for(let n of this.segment.querySelectorAll(`button`)){let r=n.dataset.calendar;U(n,t.calendarNames[r]),H(n,{"aria-pressed":r===e.calendar?`true`:`false`})}this.presetList.render(e.presets,t.labels.presets);let o=this.options.fiscalYearView??!1;this.fiscalButton.hidden=!o,U(this.fiscalButton,t.labels.fiscalYear),H(this.fiscalButton,{"aria-pressed":e.calendarState.view===`fiscal`?`true`:`false`}),this.footer.hidden=!o&&!e.canSwitchCalendar,Nt(e,[this.inputs.start,this.inputs.end],this.toggleButton,this.panel),this.syncPanel(e.open&&!e.inline),this.panel.hidden=!e.inline&&!this.wasOpen,this.panel.style.setProperty(`--ndp-panel-width`,e.inline?`${String(this.panelWidth())}px`:null)}panelWidth(){return this.store.getState().presets.length>0?492:320}syncPanel(e){if(e!==this.wasOpen){if(this.wasOpen=e,this.options.onOpenChange?.(e),e){this.panel.hidden=!1;let e=Fn(this.field.querySelector(`.ndp-range`)??this.field,this.panel,{width:this.panelWidth(),layout:this.options.panelLayout}),t=Ln([this.field],()=>{this.store.actions.close()}),n=Rn(this.panel,()=>{this.store.actions.close()}),r=zn(()=>{this.store.actions.close(),$(this.inputs.start)});this.closePanel=()=>{e(),t(),n(),r(),this.panel.hidden=!0},this.calendarView.focusGrid()}else this.closePanel?.(),this.closePanel=null}}};function Zn(e){let t={};for(let[n,r]of Object.entries(e))Yn.has(n)||(t[n]=r);return t}var Qn=class extends Lt{constructor(){super(),this.view=null,this.rich={},this.unsubscribe=null,this.internals=typeof this.attachInternals==`function`?this.attachInternals():null,Ut(this)}get value(){return this.view?.getState().value??{start:``,end:``}}set value(e){this.view?.store.actions.setValue(e)}set holidays(e){this.rich={...this.rich,holidays:e},this.view?.setOptions({holidays:e})}set isDateDisabled(e){this.rich={...this.rich,isDateDisabled:e},this.view?.setOptions({isDateDisabled:e})}get presets(){return this.customPresets??Ht(this)}set presets(e){this.customPresets=e,this.view?.setOptions({presets:this.presets})}connectedCallback(){if(this.view)return;let e=new Xn(this,{...this.readOptions(),defaultValue:{start:K(this,`start`)??``,end:K(this,`end`)??``},onChange:e=>{this.dispatchEvent(new CustomEvent(`change`,{bubbles:!0,detail:{value:e}}))},onOpenChange:e=>{this.dispatchEvent(new CustomEvent(e?`nep-open`:`nep-close`,{bubbles:!0}))}});this.view=e,this.unsubscribe=e.store.subscribe(()=>{this.syncForm()}),this.syncForm()}disconnectedCallback(){this.unsubscribe?.(),this.view?.destroy(),this.view=null}attributeChangedCallback(){this.view?.setOptions(this.readOptions()),this.syncForm()}formResetCallback(){this.view?.store.actions.reset()}formDisabledCallback(e){this.view?.setOptions({disabled:e||q(this,`disabled`)})}names(){let e=K(this,`name`);return{start:K(this,`start-name`)??(e?`${e}-start`:void 0),end:K(this,`end-name`)??(e?`${e}-end`:void 0)}}readOptions(){let e=this.names();return{...this.rich,startName:e.start,endName:e.end,hiddenInput:this.internals===null,min:K(this,`min`),max:K(this,`max`),calendar:Y(this,`calendar`),defaultCalendar:Y(this,`default-calendar`),locale:K(this,`locale`),minDays:zt(this,`min-days`),maxDays:zt(this,`max-days`),disabled:q(this,`disabled`),required:q(this,`required`),theme:Bt(this),panelLayout:Vt(this),mask:J(this,`mask`),inline:this.hasAttribute(`inline`),startLabel:K(this,`start-label`),endLabel:K(this,`end-label`),fiscalYearView:q(this,`fiscal-years`),presets:this.presets}}syncForm(){let e=this.view;if(!e||!this.internals)return;let t=e.getState(),n=this.names(),r=new FormData;n.start&&t.value.start&&r.append(n.start,t.value.start),n.end&&t.value.end&&r.append(n.end,t.value.end),this.internals.setFormValue(r),t.error?this.internals.setValidity({customError:!0},t.error.message,e.inputs.start):q(this,`required`)&&(t.value.start===``||t.value.end===``)?this.internals.setValidity({valueMissing:!0},`Please choose a start and end date.`,e.inputs.start):this.internals.setValidity({})}};Qn.formAssociated=!0,Qn.observedAttributes=[`start`,`end`,`name`,`start-name`,`end-name`,`min`,`max`,`calendar`,`default-calendar`,`locale`,`min-days`,`max-days`,`disabled`,`required`,`theme`,`panel-layout`,`mask`,`inline`,`start-label`,`end-label`,`presets`,`fiscal-years`];function $n(e){qt(Kt.dateRangePicker,Qn,e)}function er(e,t={}){return new Xn(e,t)}let tr=/* @__PURE__ */ new Set([`name`,`hiddenInput`,`required`,`disabled`,`theme`,`panelLayout`,`ariaLabel`,`timeLabel`,`id`,`onOpenChange`,`onChange`]);var nr=class{constructor(e,t={}){this.closePanel=null,this.wasOpen=!1,this.onClick=e=>{let t=e.target instanceof Element?e.target:null;if(!t||this.calendarView.element.contains(t))return;let n=t.closest(`.ndp-time-item`);if(n){let e=n.parentElement?.dataset.unit,t=Number(n.dataset.value);e===`hour`?this.store.actions.selectHour(t):this.store.actions.selectMinute(t);return}let r=t.closest(`[data-calendar]`)?.dataset.calendar;if(r===`BS`||r===`AD`)this.store.actions.switchCalendar(r);else switch(t.closest(`[data-action]`)?.dataset.action){case`toggle`:this.store.getState().open?this.close():this.open();break;case`now`:this.store.actions.selectNow();break;case`done`:this.close(),this.dateInput.focus()}},this.options={...t},this.store=Dn({...ir(t),onChange:(e,t)=>{this.options.onChange?.(e,t)}});let n=t.id??At(`ndp-datetime`);this.dateInput=V(`input`,{class:`ndp-input__control`,id:n,type:`text`,inputmode:`numeric`,autocomplete:`off`,"aria-controls":`${n}-panel`}),this.timeInput=V(`input`,{class:`ndp-input__control`,id:`${n}-time`,type:`text`,autocomplete:`off`}),this.toggleButton=V(`button`,{type:`button`,class:`ndp-icon-button`,"data-action":`toggle`},[W(`calendar`)]),this.dateBox=V(`div`,{class:`ndp-input`},[this.dateInput,V(`span`,{class:`ndp-input__actions`},[this.toggleButton])]),this.timeBox=V(`div`,{class:`ndp-input ndp-input--time`},[this.timeInput]),this.row=V(`div`,{class:`ndp-datetime`},[this.dateBox,this.timeBox]),this.hint=V(`p`,{class:`ndp-hint`,id:`${n}-hint`,"aria-live":`polite`,hidden:!0}),this.hidden=V(`input`,{type:`hidden`}),this.segment=V(`div`,{class:`ndp-segment`,role:`group`},[V(`button`,{type:`button`,class:`ndp-segment__item`,"data-calendar":`BS`}),V(`button`,{type:`button`,class:`ndp-segment__item`,"data-calendar":`AD`})]),this.nowButton=V(`button`,{type:`button`,class:`ndp-button`,"data-action":`now`}),this.doneButton=V(`button`,{type:`button`,class:`ndp-button`,"data-variant":`primary`,"data-action":`done`}),this.hours=V(`div`,{class:`ndp-time__column`,role:`group`,"data-unit":`hour`}),this.minutes=V(`div`,{class:`ndp-time__column`,role:`group`,"data-unit":`minute`}),this.time=V(`div`,{class:`ndp-time`,role:`group`},[this.hours,this.minutes]);let r=V(`div`,{class:`ndp-panel__calendar`});this.presetList=new Vn(e=>{this.store.actions.applyPreset(e)}),this.panel=V(`div`,{class:`ndp-panel`,id:`${n}-panel`,hidden:!0},[V(`div`,{class:`ndp-panel__body`},[this.presetList.element,r,this.time]),V(`div`,{class:`ndp-panel__footer`},[this.segment,V(`span`,{},[this.nowButton,this.doneButton])])]),this.field=V(`div`,{class:`ndp-field`},[this.row,this.hint,this.panel,this.hidden]),e.append(this.field),this.calendarView=new G(r,this.store.calendar,{locale:()=>this.options.locale,onDayActivate:e=>{this.store.actions.selectDate(e)}}),this.dateInput.addEventListener(`input`,()=>{this.store.actions.typeDate(this.dateInput.value)}),this.dateInput.addEventListener(`blur`,()=>{this.store.actions.blurDate()}),this.dateInput.addEventListener(`keydown`,e=>{e.key===`ArrowDown`&&(e.altKey||this.dateInput.value===``)&&(e.preventDefault(),this.open())}),this.timeInput.addEventListener(`input`,()=>{this.store.actions.typeTime(this.timeInput.value)}),this.timeInput.addEventListener(`blur`,()=>{this.store.actions.blurTime()}),this.field.addEventListener(`click`,this.onClick),this.unsubscribe=this.store.subscribe(()=>{this.render()}),this.render()}getState(){return this.store.getState()}setOptions(e){this.options={...this.options,...e};let t=ir(e);Object.keys(t).length>0?this.store.setOptions(t):this.render()}open(){this.options.disabled||this.store.actions.open()}close(){this.store.actions.close()}destroy(){this.closePanel?.(),this.unsubscribe(),this.calendarView.destroy(),this.field.remove()}render(){let e=this.store.getState(),t=L(this.options.locale),n=this.options.disabled??!1,r=e.error?.message??e.equivalentText;this.dateInput.value!==e.dateText&&(this.dateInput.value=e.dateText),this.timeInput.value!==e.timeText&&(this.timeInput.value=e.timeText),this.dateInput.setCustomValidity(e.error?.field===`date`?e.error.message:``),this.timeInput.setCustomValidity(e.error?.field===`time`?e.error.message:``),H(this.dateInput,{placeholder:e.placeholder,disabled:n,required:this.options.required??!1,"aria-label":this.options.ariaLabel??null,"aria-invalid":e.error?.field===`date`?`true`:null,"aria-describedby":r?this.hint.id:null}),H(this.timeInput,{placeholder:e.timePlaceholder,disabled:n,"aria-label":this.options.timeLabel??t.labels.time,"aria-invalid":e.error?.field===`time`?`true`:null,"aria-describedby":r?this.hint.id:null}),H(this.dateBox,{"data-invalid":e.error?.field===`date`,"data-disabled":n}),H(this.timeBox,{"data-invalid":e.error?.field===`time`,"data-disabled":n}),H(this.field,{"data-ndp-theme":this.options.theme??null}),H(this.panel,{"data-ndp-theme":this.options.theme??null,"aria-label":t.labels.chooseDate}),H(this.toggleButton,{disabled:n,"aria-label":t.labels.openCalendar,"aria-expanded":e.open?`true`:`false`}),this.hint.hidden=r===null,U(this.hint,r??``),H(this.hint,{"data-error":e.error!==null}),this.segment.hidden=!e.canSwitchCalendar,H(this.segment,{"aria-label":t.labels.calendar});for(let n of this.segment.querySelectorAll(`button`)){let r=n.dataset.calendar;U(n,t.calendarNames[r]),H(n,{"aria-pressed":r===e.calendar?`true`:`false`})}U(this.nowButton,t.labels.now),U(this.doneButton,t.labels.done),H(this.time,{"aria-label":t.labels.time}),H(this.hours,{"aria-label":t.labels.hour}),H(this.minutes,{"aria-label":t.labels.minute}),rr(this.hours,e.hours),rr(this.minutes,e.minutes),this.presetList.render(e.presets,t.labels.presets);let i=this.options.hiddenInput===!1?void 0:this.options.name;H(this.hidden,{name:i??null}),this.hidden.value=e.value,this.hidden.disabled=i===void 0||n,Nt(e,[this.dateInput],this.toggleButton,this.panel),this.syncPanel(e.open&&!e.inline),this.panel.hidden=!e.inline&&!this.wasOpen,this.panel.style.setProperty(`--ndp-panel-width`,e.inline?`${String(this.panelWidth())}px`:null)}panelWidth(){return(this.store.getState().presets.length>0?492:320)+136}syncPanel(e){if(e!==this.wasOpen){if(this.wasOpen=e,this.options.onOpenChange?.(e),e){this.panel.hidden=!1;let e=Fn(this.row,this.panel,{width:this.panelWidth(),layout:this.options.panelLayout}),t=Ln([this.field],()=>{this.store.actions.close()}),n=Rn(this.panel,()=>{this.store.actions.close()}),r=zn(()=>{this.store.actions.close(),$(this.dateInput)});this.closePanel=()=>{e(),t(),n(),r(),this.panel.hidden=!0};for(let e of this.time.querySelectorAll(`[aria-pressed="true"]`))typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`});this.calendarView.focusGrid()}else this.closePanel?.(),this.closePanel=null}}};function rr(e,t){e.children.length!==t.length&&e.replaceChildren(...t.map(e=>V(`button`,{type:`button`,class:`ndp-time-item`,"data-value":e.value}))),t.forEach((t,n)=>{let r=e.children[n];r&&(U(r,t.label),H(r,{"data-value":t.value,"aria-pressed":t.isSelected?`true`:`false`}))})}function ir(e){let t={};for(let[n,r]of Object.entries(e))tr.has(n)||(t[n]=r);return t}var ar=class extends Lt{constructor(){super(),this.view=null,this.rich={},this.unsubscribe=null,this.internals=typeof this.attachInternals==`function`?this.attachInternals():null,Ut(this)}get value(){return this.view?.getState().value??``}set value(e){this.view?.store.actions.setValue(e)}set holidays(e){this.rich={...this.rich,holidays:e},this.view?.setOptions({holidays:e})}set isDateDisabled(e){this.rich={...this.rich,isDateDisabled:e},this.view?.setOptions({isDateDisabled:e})}connectedCallback(){if(this.view)return;let e=new nr(this,{...this.readOptions(),defaultValue:K(this,`value`),onChange:(e,t)=>{this.dispatchEvent(new CustomEvent(`change`,{bubbles:!0,detail:{value:e,ad:t?.ad??null,bs:t?.bs??null,time:t?.time??null}}))},onOpenChange:e=>{this.dispatchEvent(new CustomEvent(e?`nep-open`:`nep-close`,{bubbles:!0}))}});this.view=e,this.unsubscribe=e.store.subscribe(()=>{this.syncForm()}),this.syncForm()}disconnectedCallback(){this.unsubscribe?.(),this.view?.destroy(),this.view=null}attributeChangedCallback(e,t,n){this.view&&t!==n&&(e===`value`&&this.view.store.actions.setValue(n??``),this.view.setOptions(this.readOptions()),this.syncForm())}formResetCallback(){this.view?.store.actions.reset()}formDisabledCallback(e){this.view?.setOptions({disabled:e||q(this,`disabled`)})}focus(e){this.view?.dateInput.focus(e)}readOptions(){return{...this.rich,min:K(this,`min`),max:K(this,`max`),calendar:Y(this,`calendar`),defaultCalendar:Y(this,`default-calendar`),locale:K(this,`locale`),name:K(this,`name`),hiddenInput:this.internals===null,required:q(this,`required`),disabled:q(this,`disabled`),theme:Bt(this),panelLayout:Vt(this),mask:J(this,`mask`),inline:this.hasAttribute(`inline`),timeZone:K(this,`time-zone`),hour12:q(this,`hour12`),minuteStep:zt(this,`minute-step`),defaultTime:K(this,`default-time`),ariaLabel:K(this,`label`),timeLabel:K(this,`time-label`),presets:Ht(this)}}syncForm(){let e=this.view;if(!e||!this.internals)return;let t=e.getState();this.internals.setFormValue(t.value===``?null:t.value),t.error?this.internals.setValidity({customError:!0},t.error.message,t.error.field===`time`?e.timeInput:e.dateInput):q(this,`required`)&&t.value===``?this.internals.setValidity({valueMissing:!0},`Please choose a date and time.`,e.dateInput):this.internals.setValidity({})}};ar.formAssociated=!0,ar.observedAttributes=[`value`,`min`,`max`,`calendar`,`default-calendar`,`locale`,`name`,`required`,`disabled`,`theme`,`panel-layout`,`mask`,`inline`,`time-zone`,`hour12`,`minute-step`,`default-time`,`label`,`time-label`,`presets`];function or(e){qt(Kt.dateTimePicker,ar,e)}function sr(e,t={}){return new nr(e,t)}let cr=/* @__PURE__ */ new Set([`name`,`hiddenInput`,`id`,`placeholder`,`required`,`disabled`,`clearable`,`panelLayout`,`theme`,`ariaLabel`,`onOpenChange`,`onChange`]);var lr=class{constructor(e,t={}){this.closePanel=null,this.wasOpen=!1,this.onClick=e=>{let t=e.target instanceof Element?e.target:null;if(!t||this.calendarView.element.contains(t))return;let n=t.closest(`[data-calendar]`)?.dataset.calendar;if(n===`BS`||n===`AD`)this.store.actions.switchCalendar(n);else switch(t.closest(`[data-action]`)?.dataset.action){case`clear`:this.store.actions.clear(),this.input.focus();break;case`toggle`:this.store.getState().open?this.close():this.open();break;case`done`:this.close(),$(this.input)}},this.options={...t},this.store=xn({...ur(t),onChange:(e,t)=>{this.options.onChange?.(e,t)}});let n=t.id??At(`ndp-multi`),r=`${n}-panel`;this.input=V(`input`,{class:`ndp-input__control`,id:n,type:`text`,inputmode:`numeric`,autocomplete:`off`,spellcheck:`false`,"aria-controls":r}),this.clearButton=V(`button`,{type:`button`,class:`ndp-icon-button`,"data-action":`clear`},[W(`close`)]),this.toggleButton=V(`button`,{type:`button`,class:`ndp-icon-button`,"data-action":`toggle`},[W(`calendar`)]),this.box=V(`div`,{class:`ndp-input`},[this.input,V(`span`,{class:`ndp-input__actions`},[this.clearButton,this.toggleButton])]),this.hint=V(`p`,{class:`ndp-hint`,id:`${n}-hint`,"aria-live":`polite`,"data-error":!0,hidden:!0}),this.hiddenInputs=V(`span`,{hidden:!0}),this.segment=V(`div`,{class:`ndp-segment`,role:`group`},[V(`button`,{type:`button`,class:`ndp-segment__item`,"data-calendar":`BS`}),V(`button`,{type:`button`,class:`ndp-segment__item`,"data-calendar":`AD`})]),this.doneButton=V(`button`,{type:`button`,class:`ndp-button`,"data-action":`done`});let i=V(`div`,{class:`ndp-panel__calendar`});this.panel=V(`div`,{class:`ndp-panel`,id:r,hidden:!0},[i,V(`div`,{class:`ndp-panel__footer`},[this.segment,this.doneButton])]),this.field=V(`div`,{class:`ndp-field`},[this.box,this.hint,this.hiddenInputs,this.panel]),e.append(this.field),this.calendarView=new G(i,this.store.calendar,{locale:()=>this.options.locale,onDayActivate:e=>{this.store.actions.select(e)&&!this.store.getState().open&&$(this.input)}}),this.input.addEventListener(`input`,()=>{this.store.actions.type(this.input.value)}),this.input.addEventListener(`blur`,()=>{this.store.actions.blur()}),this.input.addEventListener(`keydown`,e=>{e.key===`ArrowDown`&&(e.altKey||this.input.value===``)&&(e.preventDefault(),this.open())}),this.field.addEventListener(`click`,this.onClick),this.unsubscribe=this.store.subscribe(()=>{this.render()}),this.render()}getState(){return this.store.getState()}setOptions(e){this.options={...this.options,...e};let t=ur(e);Object.keys(t).length>0?this.store.setOptions(t):this.render()}open(){this.options.disabled||this.store.actions.open()}close(){this.store.actions.close()}destroy(){this.closePanel?.(),this.unsubscribe(),this.calendarView.destroy(),this.field.remove()}render(){let e=this.store.getState(),t=L(this.options.locale),n=this.options.disabled??!1;this.input.value!==e.text&&(this.input.value=e.text),this.input.setCustomValidity(e.error?.message??``),H(this.input,{placeholder:this.options.placeholder??e.placeholder,disabled:n,required:this.options.required??!1,"aria-label":this.options.ariaLabel??null,"aria-invalid":e.error?`true`:null,"aria-describedby":e.error?this.hint.id:null}),H(this.box,{"data-invalid":e.error!==null,"data-disabled":n}),H(this.field,{"data-ndp-theme":this.options.theme??null}),H(this.panel,{"data-ndp-theme":this.options.theme??null,"aria-label":this.options.ariaLabel?`${this.options.ariaLabel}: ${t.labels.calendar}`:t.labels.chooseDate}),this.clearButton.hidden=!(this.options.clearable??!0)||e.text===``||n,H(this.clearButton,{"aria-label":t.labels.clear}),H(this.toggleButton,{disabled:n,"aria-label":t.labels.openCalendar}),this.hint.hidden=e.error===null,U(this.hint,e.error?.message??``),this.segment.hidden=!e.canSwitchCalendar,H(this.segment,{"aria-label":t.labels.calendar});for(let n of this.segment.querySelectorAll(`button`)){let r=n.dataset.calendar===`AD`?`AD`:`BS`;U(n,t.calendarNames[r]),H(n,{"aria-pressed":String(r===e.calendar)})}U(this.doneButton,t.labels.done),this.doneButton.hidden=e.inline;let r=this.options.hiddenInput===!1?void 0:this.options.name;this.hiddenInputs.replaceChildren(...r===void 0?[]:e.value.map(e=>V(`input`,{type:`hidden`,name:r,value:e,disabled:n}))),Nt(e,[this.input],this.toggleButton,this.panel),this.syncPanel(e.open&&!e.inline),this.panel.hidden=!e.inline&&!this.wasOpen,this.panel.style.setProperty(`--ndp-panel-width`,e.inline?`320px`:null)}syncPanel(e){if(e!==this.wasOpen){if(this.wasOpen=e,this.options.onOpenChange?.(e),e){this.panel.hidden=!1;let e=Fn(this.box,this.panel,{width:320,layout:this.options.panelLayout}),t=()=>{this.store.actions.close()},n=Ln([this.field,this.panel],t),r=Rn(this.panel,t),i=zn(()=>{t(),$(this.input)});this.closePanel=()=>{e(),n(),r(),i(),this.panel.hidden=!0},this.calendarView.focusGrid()}else this.closePanel?.(),this.closePanel=null}}};function ur(e){let t={};for(let[n,r]of Object.entries(e))cr.has(n)||(t[n]=r);return t}var dr=class extends Lt{constructor(){super(),this.view=null,this.rich={},this.unsubscribe=null,this.internals=typeof this.attachInternals==`function`?this.attachInternals():null,Ut(this)}get value(){return this.view?.getState().value??[]}set value(e){this.view?.store.actions.setValue(e)}set holidays(e){this.rich={...this.rich,holidays:e},this.view?.setOptions({holidays:e})}set events(e){this.rich={...this.rich,events:e},this.view?.setOptions({events:e})}set isDateDisabled(e){this.rich={...this.rich,isDateDisabled:e},this.view?.setOptions({isDateDisabled:e})}connectedCallback(){if(this.view)return;let e=new lr(this,{...this.readOptions(),defaultValue:fr(K(this,`value`)),onChange:(e,t)=>{this.dispatchEvent(new CustomEvent(`change`,{bubbles:!0,detail:{value:e,dates:t}}))},onOpenChange:e=>{this.dispatchEvent(new CustomEvent(e?`nep-open`:`nep-close`,{bubbles:!0}))}});this.view=e,this.unsubscribe=e.store.subscribe(()=>{this.syncForm()}),this.syncForm()}disconnectedCallback(){this.unsubscribe?.(),this.view?.destroy(),this.view=null}attributeChangedCallback(e,t,n){this.view&&t!==n&&(e===`value`&&this.view.store.actions.setValue(fr(n??``)),this.view.setOptions(this.readOptions()),this.syncForm())}formResetCallback(){this.view?.store.actions.reset()}formDisabledCallback(e){this.view?.setOptions({disabled:e||q(this,`disabled`)})}focus(e){this.view?.input.focus(e)}readOptions(){return{...this.rich,min:K(this,`min`),max:K(this,`max`),maxDates:zt(this,`max-dates`),calendar:Y(this,`calendar`),defaultCalendar:Y(this,`default-calendar`),locale:K(this,`locale`),name:K(this,`name`),hiddenInput:this.internals===null,required:q(this,`required`),disabled:q(this,`disabled`),clearable:J(this,`clearable`),closeOnSelect:q(this,`close-on-select`),theme:Bt(this),panelLayout:Vt(this),mask:J(this,`mask`),inline:q(this,`inline`),ariaLabel:K(this,`label`)}}syncForm(){let e=this.view;if(!e||!this.internals)return;let t=e.getState(),n=K(this,`name`),r=new FormData;if(n!==void 0)for(let e of t.value)r.append(n,e);this.internals.setFormValue(t.value.length===0?null:r),t.error?this.internals.setValidity({customError:!0},t.error.message,e.input):q(this,`required`)&&t.value.length===0?this.internals.setValidity({valueMissing:!0},`Please choose at least one date.`,e.input):this.internals.setValidity({})}};dr.formAssociated=!0,dr.observedAttributes=[`value`,`min`,`max`,`max-dates`,`calendar`,`default-calendar`,`locale`,`name`,`required`,`disabled`,`clearable`,`close-on-select`,`theme`,`panel-layout`,`mask`,`inline`,`label`];function fr(e){return(e??``).split(/[\s,]+/).filter(e=>e!==``)}function pr(e){qt(Kt.multiDatePicker,dr,e)}function mr(e,t={}){let n=new lr(e,t);return{view:n,getValue:()=>n.getState().value,getState:()=>n.getState(),setValue:e=>{n.store.actions.setValue(e)},setOptions:e=>{n.setOptions(e)},open:()=>{n.open()},close:()=>{n.close()},destroy:()=>{n.destroy()}}}function hr(e){qn(e),Jt(e),$n(e),or(e),pr(e)}return hr(),e.CalendarView=G,e.DatePickerView=Un,e.DateRangePickerView=Xn,e.DateTimePickerView=nr,e.ELEMENT_NAMES=Kt,e.MultiDatePickerView=lr,e.NepCalendarElement=Gt,e.NepDatePickerElement=Kn,e.NepDateRangePickerElement=Qn,e.NepDateTimePickerElement=ar,e.NepMultiDatePickerElement=dr,e.createCalendar=Yt,e.createDatePicker=Jn,e.createDateRangePicker=er,e.createDateTimePicker=sr,e.createMultiDatePicker=mr,e.defineCalendar=Jt,e.defineDatePicker=qn,e.defineDateRangePicker=$n,e.defineDateTimePicker=or,e.defineElements=hr,e.defineMultiDatePicker=pr,e})({});
|
|
3
|
+
//# sourceMappingURL=nepdate-picker.global.js.map
|