@oslokommune/punkt-elements 14.0.2 → 14.0.3

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.
Files changed (30) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/calendar-BtShW7ER.cjs +90 -0
  3. package/dist/{calendar-Bz27nuTP.js → calendar-yxjSI4wd.js} +766 -682
  4. package/dist/datepicker-D0q75U1Z.js +1463 -0
  5. package/dist/datepicker-DDV382Uu.cjs +271 -0
  6. package/dist/index.d.ts +118 -83
  7. package/dist/pkt-calendar.cjs +1 -1
  8. package/dist/pkt-calendar.js +1 -1
  9. package/dist/pkt-datepicker.cjs +1 -1
  10. package/dist/pkt-datepicker.js +2 -2
  11. package/dist/pkt-index.cjs +1 -1
  12. package/dist/pkt-index.js +3 -3
  13. package/package.json +2 -2
  14. package/src/components/calendar/calendar.ts +372 -414
  15. package/src/components/calendar/helpers/calendar-grid.ts +93 -0
  16. package/src/components/calendar/helpers/date-validation.ts +86 -0
  17. package/src/components/calendar/helpers/index.ts +49 -0
  18. package/src/components/calendar/helpers/keyboard-navigation.ts +54 -0
  19. package/src/components/calendar/helpers/selection-manager.ts +184 -0
  20. package/src/components/datepicker/datepicker-base.ts +151 -0
  21. package/src/components/datepicker/datepicker-multiple.ts +7 -114
  22. package/src/components/datepicker/datepicker-range.ts +21 -141
  23. package/src/components/datepicker/datepicker-single.ts +7 -115
  24. package/src/components/datepicker/datepicker-types.ts +56 -0
  25. package/src/components/datepicker/datepicker-utils.test.ts +730 -0
  26. package/src/components/datepicker/datepicker-utils.ts +338 -9
  27. package/src/components/datepicker/datepicker.ts +25 -1
  28. package/dist/calendar-Dz1Cnzx5.cjs +0 -115
  29. package/dist/datepicker-CnCOXI2x.cjs +0 -289
  30. package/dist/datepicker-DsqM01iU.js +0 -1355
@@ -1,115 +0,0 @@
1
- "use strict";const K=require("./class-map-C_erArZz.cjs"),c=require("./element-CJ_QKaki.cjs"),I=require("./state-DSjcvzDN.cjs");require("./icon-BGuizDwk.cjs");const ot=6048e5,wt=864e5,Z=Symbol.for("constructDateFrom");function S(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Z in e?e[Z](t):e instanceof Date?new e.constructor(t):new Date(t)}function k(e,t){return S(t||e,e)}function j(e,t,n){const r=k(e,n==null?void 0:n.in);return isNaN(t)?S(e,NaN):(t&&r.setDate(r.getDate()+t),r)}let bt={};function L(){return bt}function H(e,t){var l,o,u,d;const n=L(),r=(t==null?void 0:t.weekStartsOn)??((o=(l=t==null?void 0:t.locale)==null?void 0:l.options)==null?void 0:o.weekStartsOn)??n.weekStartsOn??((d=(u=n.locale)==null?void 0:u.options)==null?void 0:d.weekStartsOn)??0,a=k(e,t==null?void 0:t.in),s=a.getDay(),i=(s<r?7:0)+s-r;return a.setDate(a.getDate()-i),a.setHours(0,0,0,0),a}function R(e,t){return H(e,{...t,weekStartsOn:1})}function ct(e,t){const n=k(e,t==null?void 0:t.in),r=n.getFullYear(),a=S(n,0);a.setFullYear(r+1,0,4),a.setHours(0,0,0,0);const s=R(a),i=S(n,0);i.setFullYear(r,0,4),i.setHours(0,0,0,0);const l=R(i);return n.getTime()>=s.getTime()?r+1:n.getTime()>=l.getTime()?r:r-1}function tt(e){const t=k(e),n=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return n.setUTCFullYear(t.getFullYear()),+e-+n}function lt(e,...t){const n=S.bind(null,t.find(r=>typeof r=="object"));return t.map(n)}function G(e,t){const n=k(e,t==null?void 0:t.in);return n.setHours(0,0,0,0),n}function kt(e,t,n){const[r,a]=lt(n==null?void 0:n.in,e,t),s=G(r),i=G(a),l=+s-tt(s),o=+i-tt(i);return Math.round((l-o)/wt)}function Dt(e,t){const n=ct(e,t),r=S(e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),R(r)}function St(e){return e instanceof Date||typeof e=="object"&&Object.prototype.toString.call(e)==="[object Date]"}function Mt(e){return!(!St(e)&&typeof e!="number"||isNaN(+k(e)))}function vt(e,t){const n=k(e,t==null?void 0:t.in);return n.setHours(23,59,59,999),n}function Tt(e,t){const[n,r]=lt(e,t.start,t.end);return{start:n,end:r}}function z(e,t){const{start:n,end:r}=Tt(t==null?void 0:t.in,e);let a=+n>+r;const s=a?+n:+r,i=a?r:n;i.setHours(0,0,0,0);let l=1;const o=[];for(;+i<=s;)o.push(S(n,i)),i.setDate(i.getDate()+l),i.setHours(0,0,0,0);return a?o.reverse():o}function xt(e,t){const n=k(e,t==null?void 0:t.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}const Ot={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}},Pt=(e,t,n)=>{let r;const a=Ot[e];return typeof a=="string"?r=a:t===1?r=a.one:r=a.other.replace("{{count}}",t.toString()),n!=null&&n.addSuffix?n.comparison&&n.comparison>0?"in "+r:r+" ago":r};function Q(e){return(t={})=>{const n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}const Ct={full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},Nt={full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},$t={full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},_t={date:Q({formats:Ct,defaultWidth:"full"}),time:Q({formats:Nt,defaultWidth:"full"}),dateTime:Q({formats:$t,defaultWidth:"full"})},Et={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"},Wt=(e,t,n,r)=>Et[e];function W(e){return(t,n)=>{const r=n!=null&&n.context?String(n.context):"standalone";let a;if(r==="formatting"&&e.formattingValues){const i=e.defaultFormattingWidth||e.defaultWidth,l=n!=null&&n.width?String(n.width):i;a=e.formattingValues[l]||e.formattingValues[i]}else{const i=e.defaultWidth,l=n!=null&&n.width?String(n.width):e.defaultWidth;a=e.values[l]||e.values[i]}const s=e.argumentCallback?e.argumentCallback(t):t;return a[s]}}const Yt={narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},At={narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},Ft={narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},Ht={narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},It={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},qt={narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},Rt=(e,t)=>{const n=Number(e),r=n%100;if(r>20||r<10)switch(r%10){case 1:return n+"st";case 2:return n+"nd";case 3:return n+"rd"}return n+"th"},Lt={ordinalNumber:Rt,era:W({values:Yt,defaultWidth:"wide"}),quarter:W({values:At,defaultWidth:"wide",argumentCallback:e=>e-1}),month:W({values:Ft,defaultWidth:"wide"}),day:W({values:Ht,defaultWidth:"wide"}),dayPeriod:W({values:It,defaultWidth:"wide",formattingValues:qt,defaultFormattingWidth:"wide"})};function Y(e){return(t,n={})=>{const r=n.width,a=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],s=t.match(a);if(!s)return null;const i=s[0],l=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],o=Array.isArray(l)?Bt(l,m=>m.test(i)):Ut(l,m=>m.test(i));let u;u=e.valueCallback?e.valueCallback(o):o,u=n.valueCallback?n.valueCallback(u):u;const d=t.slice(i.length);return{value:u,rest:d}}}function Ut(e,t){for(const n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Bt(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function jt(e){return(t,n={})=>{const r=t.match(e.matchPattern);if(!r)return null;const a=r[0],s=t.match(e.parsePattern);if(!s)return null;let i=e.valueCallback?e.valueCallback(s[0]):s[0];i=n.valueCallback?n.valueCallback(i):i;const l=t.slice(a.length);return{value:i,rest:l}}}const zt=/^(\d+)(th|st|nd|rd)?/i,Qt=/\d+/i,Xt={narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},Gt={any:[/^b/i,/^(a|c)/i]},Vt={narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},Jt={any:[/1/i,/2/i,/3/i,/4/i]},Kt={narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},Zt={narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},te={narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},ee={narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},ne={narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},re={any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},ae={ordinalNumber:jt({matchPattern:zt,parsePattern:Qt,valueCallback:e=>parseInt(e,10)}),era:Y({matchPatterns:Xt,defaultMatchWidth:"wide",parsePatterns:Gt,defaultParseWidth:"any"}),quarter:Y({matchPatterns:Vt,defaultMatchWidth:"wide",parsePatterns:Jt,defaultParseWidth:"any",valueCallback:e=>e+1}),month:Y({matchPatterns:Kt,defaultMatchWidth:"wide",parsePatterns:Zt,defaultParseWidth:"any"}),day:Y({matchPatterns:te,defaultMatchWidth:"wide",parsePatterns:ee,defaultParseWidth:"any"}),dayPeriod:Y({matchPatterns:ne,defaultMatchWidth:"any",parsePatterns:re,defaultParseWidth:"any"})},se={code:"en-US",formatDistance:Pt,formatLong:_t,formatRelative:Wt,localize:Lt,match:ae,options:{weekStartsOn:0,firstWeekContainsDate:1}};function ie(e,t){const n=k(e,t==null?void 0:t.in);return kt(n,xt(n))+1}function oe(e,t){const n=k(e,t==null?void 0:t.in),r=+R(n)-+Dt(n);return Math.round(r/ot)+1}function ut(e,t){var d,m,p,g;const n=k(e,t==null?void 0:t.in),r=n.getFullYear(),a=L(),s=(t==null?void 0:t.firstWeekContainsDate)??((m=(d=t==null?void 0:t.locale)==null?void 0:d.options)==null?void 0:m.firstWeekContainsDate)??a.firstWeekContainsDate??((g=(p=a.locale)==null?void 0:p.options)==null?void 0:g.firstWeekContainsDate)??1,i=S((t==null?void 0:t.in)||e,0);i.setFullYear(r+1,0,s),i.setHours(0,0,0,0);const l=H(i,t),o=S((t==null?void 0:t.in)||e,0);o.setFullYear(r,0,s),o.setHours(0,0,0,0);const u=H(o,t);return+n>=+l?r+1:+n>=+u?r:r-1}function ce(e,t){var l,o,u,d;const n=L(),r=(t==null?void 0:t.firstWeekContainsDate)??((o=(l=t==null?void 0:t.locale)==null?void 0:l.options)==null?void 0:o.firstWeekContainsDate)??n.firstWeekContainsDate??((d=(u=n.locale)==null?void 0:u.options)==null?void 0:d.firstWeekContainsDate)??1,a=ut(e,t),s=S((t==null?void 0:t.in)||e,0);return s.setFullYear(a,0,r),s.setHours(0,0,0,0),H(s,t)}function ht(e,t){const n=k(e,t==null?void 0:t.in),r=+H(n,t)-+ce(n,t);return Math.round(r/ot)+1}function h(e,t){const n=e<0?"-":"",r=Math.abs(e).toString().padStart(t,"0");return n+r}const M={y(e,t){const n=e.getFullYear(),r=n>0?n:1-n;return h(t==="yy"?r%100:r,t.length)},M(e,t){const n=e.getMonth();return t==="M"?String(n+1):h(n+1,2)},d(e,t){return h(e.getDate(),t.length)},a(e,t){const n=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.toUpperCase();case"aaa":return n;case"aaaaa":return n[0];case"aaaa":default:return n==="am"?"a.m.":"p.m."}},h(e,t){return h(e.getHours()%12||12,t.length)},H(e,t){return h(e.getHours(),t.length)},m(e,t){return h(e.getMinutes(),t.length)},s(e,t){return h(e.getSeconds(),t.length)},S(e,t){const n=t.length,r=e.getMilliseconds(),a=Math.trunc(r*Math.pow(10,n-3));return h(a,t.length)}},$={midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},et={G:function(e,t,n){const r=e.getFullYear()>0?1:0;switch(t){case"G":case"GG":case"GGG":return n.era(r,{width:"abbreviated"});case"GGGGG":return n.era(r,{width:"narrow"});case"GGGG":default:return n.era(r,{width:"wide"})}},y:function(e,t,n){if(t==="yo"){const r=e.getFullYear(),a=r>0?r:1-r;return n.ordinalNumber(a,{unit:"year"})}return M.y(e,t)},Y:function(e,t,n,r){const a=ut(e,r),s=a>0?a:1-a;if(t==="YY"){const i=s%100;return h(i,2)}return t==="Yo"?n.ordinalNumber(s,{unit:"year"}):h(s,t.length)},R:function(e,t){const n=ct(e);return h(n,t.length)},u:function(e,t){const n=e.getFullYear();return h(n,t.length)},Q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(r);case"QQ":return h(r,2);case"Qo":return n.ordinalNumber(r,{unit:"quarter"});case"QQQ":return n.quarter(r,{width:"abbreviated",context:"formatting"});case"QQQQQ":return n.quarter(r,{width:"narrow",context:"formatting"});case"QQQQ":default:return n.quarter(r,{width:"wide",context:"formatting"})}},q:function(e,t,n){const r=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(r);case"qq":return h(r,2);case"qo":return n.ordinalNumber(r,{unit:"quarter"});case"qqq":return n.quarter(r,{width:"abbreviated",context:"standalone"});case"qqqqq":return n.quarter(r,{width:"narrow",context:"standalone"});case"qqqq":default:return n.quarter(r,{width:"wide",context:"standalone"})}},M:function(e,t,n){const r=e.getMonth();switch(t){case"M":case"MM":return M.M(e,t);case"Mo":return n.ordinalNumber(r+1,{unit:"month"});case"MMM":return n.month(r,{width:"abbreviated",context:"formatting"});case"MMMMM":return n.month(r,{width:"narrow",context:"formatting"});case"MMMM":default:return n.month(r,{width:"wide",context:"formatting"})}},L:function(e,t,n){const r=e.getMonth();switch(t){case"L":return String(r+1);case"LL":return h(r+1,2);case"Lo":return n.ordinalNumber(r+1,{unit:"month"});case"LLL":return n.month(r,{width:"abbreviated",context:"standalone"});case"LLLLL":return n.month(r,{width:"narrow",context:"standalone"});case"LLLL":default:return n.month(r,{width:"wide",context:"standalone"})}},w:function(e,t,n,r){const a=ht(e,r);return t==="wo"?n.ordinalNumber(a,{unit:"week"}):h(a,t.length)},I:function(e,t,n){const r=oe(e);return t==="Io"?n.ordinalNumber(r,{unit:"week"}):h(r,t.length)},d:function(e,t,n){return t==="do"?n.ordinalNumber(e.getDate(),{unit:"date"}):M.d(e,t)},D:function(e,t,n){const r=ie(e);return t==="Do"?n.ordinalNumber(r,{unit:"dayOfYear"}):h(r,t.length)},E:function(e,t,n){const r=e.getDay();switch(t){case"E":case"EE":case"EEE":return n.day(r,{width:"abbreviated",context:"formatting"});case"EEEEE":return n.day(r,{width:"narrow",context:"formatting"});case"EEEEEE":return n.day(r,{width:"short",context:"formatting"});case"EEEE":default:return n.day(r,{width:"wide",context:"formatting"})}},e:function(e,t,n,r){const a=e.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"e":return String(s);case"ee":return h(s,2);case"eo":return n.ordinalNumber(s,{unit:"day"});case"eee":return n.day(a,{width:"abbreviated",context:"formatting"});case"eeeee":return n.day(a,{width:"narrow",context:"formatting"});case"eeeeee":return n.day(a,{width:"short",context:"formatting"});case"eeee":default:return n.day(a,{width:"wide",context:"formatting"})}},c:function(e,t,n,r){const a=e.getDay(),s=(a-r.weekStartsOn+8)%7||7;switch(t){case"c":return String(s);case"cc":return h(s,t.length);case"co":return n.ordinalNumber(s,{unit:"day"});case"ccc":return n.day(a,{width:"abbreviated",context:"standalone"});case"ccccc":return n.day(a,{width:"narrow",context:"standalone"});case"cccccc":return n.day(a,{width:"short",context:"standalone"});case"cccc":default:return n.day(a,{width:"wide",context:"standalone"})}},i:function(e,t,n){const r=e.getDay(),a=r===0?7:r;switch(t){case"i":return String(a);case"ii":return h(a,t.length);case"io":return n.ordinalNumber(a,{unit:"day"});case"iii":return n.day(r,{width:"abbreviated",context:"formatting"});case"iiiii":return n.day(r,{width:"narrow",context:"formatting"});case"iiiiii":return n.day(r,{width:"short",context:"formatting"});case"iiii":default:return n.day(r,{width:"wide",context:"formatting"})}},a:function(e,t,n){const a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"aaa":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"aaaa":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},b:function(e,t,n){const r=e.getHours();let a;switch(r===12?a=$.noon:r===0?a=$.midnight:a=r/12>=1?"pm":"am",t){case"b":case"bb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"bbb":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"bbbb":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},B:function(e,t,n){const r=e.getHours();let a;switch(r>=17?a=$.evening:r>=12?a=$.afternoon:r>=4?a=$.morning:a=$.night,t){case"B":case"BB":case"BBB":return n.dayPeriod(a,{width:"abbreviated",context:"formatting"});case"BBBBB":return n.dayPeriod(a,{width:"narrow",context:"formatting"});case"BBBB":default:return n.dayPeriod(a,{width:"wide",context:"formatting"})}},h:function(e,t,n){if(t==="ho"){let r=e.getHours()%12;return r===0&&(r=12),n.ordinalNumber(r,{unit:"hour"})}return M.h(e,t)},H:function(e,t,n){return t==="Ho"?n.ordinalNumber(e.getHours(),{unit:"hour"}):M.H(e,t)},K:function(e,t,n){const r=e.getHours()%12;return t==="Ko"?n.ordinalNumber(r,{unit:"hour"}):h(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t==="ko"?n.ordinalNumber(r,{unit:"hour"}):h(r,t.length)},m:function(e,t,n){return t==="mo"?n.ordinalNumber(e.getMinutes(),{unit:"minute"}):M.m(e,t)},s:function(e,t,n){return t==="so"?n.ordinalNumber(e.getSeconds(),{unit:"second"}):M.s(e,t)},S:function(e,t){return M.S(e,t)},X:function(e,t,n){const r=e.getTimezoneOffset();if(r===0)return"Z";switch(t){case"X":return rt(r);case"XXXX":case"XX":return P(r);case"XXXXX":case"XXX":default:return P(r,":")}},x:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"x":return rt(r);case"xxxx":case"xx":return P(r);case"xxxxx":case"xxx":default:return P(r,":")}},O:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+nt(r,":");case"OOOO":default:return"GMT"+P(r,":")}},z:function(e,t,n){const r=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+nt(r,":");case"zzzz":default:return"GMT"+P(r,":")}},t:function(e,t,n){const r=Math.trunc(+e/1e3);return h(r,t.length)},T:function(e,t,n){return h(+e,t.length)}};function nt(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=Math.trunc(r/60),s=r%60;return s===0?n+String(a):n+String(a)+t+h(s,2)}function rt(e,t){return e%60===0?(e>0?"-":"+")+h(Math.abs(e)/60,2):P(e,t)}function P(e,t=""){const n=e>0?"-":"+",r=Math.abs(e),a=h(Math.trunc(r/60),2),s=h(r%60,2);return n+a+t+s}const at=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});case"PPPP":default:return t.date({width:"full"})}},dt=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});case"pppp":default:return t.time({width:"full"})}},le=(e,t)=>{const n=e.match(/(P+)(p+)?/)||[],r=n[1],a=n[2];if(!a)return at(e,t);let s;switch(r){case"P":s=t.dateTime({width:"short"});break;case"PP":s=t.dateTime({width:"medium"});break;case"PPP":s=t.dateTime({width:"long"});break;case"PPPP":default:s=t.dateTime({width:"full"});break}return s.replace("{{date}}",at(r,t)).replace("{{time}}",dt(a,t))},ue={p:dt,P:le},he=/^D+$/,de=/^Y+$/,fe=["D","DD","YY","YYYY"];function me(e){return he.test(e)}function ge(e){return de.test(e)}function ye(e,t,n){const r=pe(e,t,n);if(console.warn(r),fe.includes(e))throw new RangeError(r)}function pe(e,t,n){const r=e[0]==="Y"?"years":"days of the month";return`Use \`${e.toLowerCase()}\` instead of \`${e}\` (in \`${t}\`) for formatting ${r} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`}const we=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,be=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ke=/^'([^]*?)'?$/,De=/''/g,Se=/[a-zA-Z]/;function Me(e,t,n){var d,m,p,g;const r=L(),a=r.locale??se,s=r.firstWeekContainsDate??((m=(d=r.locale)==null?void 0:d.options)==null?void 0:m.firstWeekContainsDate)??1,i=r.weekStartsOn??((g=(p=r.locale)==null?void 0:p.options)==null?void 0:g.weekStartsOn)??0,l=k(e,n==null?void 0:n.in);if(!Mt(l))throw new RangeError("Invalid time value");let o=t.match(be).map(w=>{const b=w[0];if(b==="p"||b==="P"){const E=ue[b];return E(w,a.formatLong)}return w}).join("").match(we).map(w=>{if(w==="''")return{isToken:!1,value:"'"};const b=w[0];if(b==="'")return{isToken:!1,value:ve(w)};if(et[b])return{isToken:!0,value:w};if(b.match(Se))throw new RangeError("Format string contains an unescaped latin alphabet character `"+b+"`");return{isToken:!1,value:w}});a.localize.preprocessor&&(o=a.localize.preprocessor(l,o));const u={firstWeekContainsDate:s,weekStartsOn:i,locale:a};return o.map(w=>{if(!w.isToken)return w.value;const b=w.value;(ge(b)||me(b))&&ye(b,t,String(e));const E=et[b[0]];return E(l,b,a.localize,u)}).join("")}function ve(e){const t=e.match(ke);return t?t[1].replace(De,"'"):e}function Te(e,t){const n=k(e,t==null?void 0:t.in).getDay();return n===0?7:n}function xe(e,t,n="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(" ")}const X={},F={};function C(e,t){try{const r=(X[e]||(X[e]=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format))(t).split("GMT")[1];return r in F?F[r]:st(r,r.split(":"))}catch{if(e in F)return F[e];const n=e==null?void 0:e.match(Oe);return n?st(e,n.slice(1)):NaN}}const Oe=/([+-]\d\d):?(\d\d)?/;function st(e,t){const n=+(t[0]||0),r=+(t[1]||0),a=+(t[2]||0)/60;return F[e]=n*60+r>0?n*60+r+a:n*60-r-a}class D extends Date{constructor(...t){super(),t.length>1&&typeof t[t.length-1]=="string"&&(this.timeZone=t.pop()),this.internal=new Date,isNaN(C(this.timeZone,this))?this.setTime(NaN):t.length?typeof t[0]=="number"&&(t.length===1||t.length===2&&typeof t[1]!="number")?this.setTime(t[0]):typeof t[0]=="string"?this.setTime(+new Date(t[0])):t[0]instanceof Date?this.setTime(+t[0]):(this.setTime(+new Date(...t)),ft(this),V(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new D(...n,t):new D(Date.now(),t)}withTimeZone(t){return new D(+this,t)}getTimezoneOffset(){const t=-C(this.timeZone,this);return t>0?Math.floor(t):Math.ceil(t)}setTime(t){return Date.prototype.setTime.apply(this,arguments),V(this),+this}[Symbol.for("constructDateFrom")](t){return new D(+new Date(t),this.timeZone)}}const it=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!it.test(e))return;const t=e.replace(it,"$1UTC");D.prototype[t]&&(e.startsWith("get")?D.prototype[e]=function(){return this.internal[t]()}:(D.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Pe(this),+this},D.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),V(this),+this}))});function V(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-C(e.timeZone,e)*60))}function Pe(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),ft(e)}function ft(e){const t=C(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);const a=-new Date(+e).getTimezoneOffset(),s=-new Date(+r).getTimezoneOffset(),i=a-s,l=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();i&&l&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+i);const o=a-n;o&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+o);const u=new Date(+e);u.setUTCSeconds(0);const d=a>0?u.getSeconds():(u.getSeconds()-60)%60,m=Math.round(-(C(e.timeZone,e)*60))%60;(m||d)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+m),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+m+d));const p=C(e.timeZone,e),g=p>0?Math.floor(p):Math.ceil(p),b=-new Date(+e).getTimezoneOffset()-g,E=g!==n,J=b-o;if(E&&J){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+J);const U=C(e.timeZone,e),pt=U>0?Math.floor(U):Math.ceil(U),B=g-pt;B&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+B),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+B))}}class T extends D{static tz(t,...n){return n.length?new T(...n,t):new T(Date.now(),t)}toISOString(){const[t,n,r]=this.tzComponents(),a=`${t}${n}:${r}`;return this.internal.toISOString().slice(0,-1)+a}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){const[t,n,r,a]=this.internal.toUTCString().split(" ");return`${t==null?void 0:t.slice(0,-1)} ${r} ${n} ${a}`}toTimeString(){const t=this.internal.toUTCString().split(" ")[4],[n,r,a]=this.tzComponents();return`${t} GMT${n}${r}${a} (${xe(this.timeZone,this)})`}toLocaleString(t,n){return Date.prototype.toLocaleString.call(this,t,{...n,timeZone:(n==null?void 0:n.timeZone)||this.timeZone})}toLocaleDateString(t,n){return Date.prototype.toLocaleDateString.call(this,t,{...n,timeZone:(n==null?void 0:n.timeZone)||this.timeZone})}toLocaleTimeString(t,n){return Date.prototype.toLocaleTimeString.call(this,t,{...n,timeZone:(n==null?void 0:n.timeZone)||this.timeZone})}tzComponents(){const t=this.getTimezoneOffset(),n=t>0?"-":"+",r=String(Math.floor(Math.abs(t)/60)).padStart(2,"0"),a=String(Math.abs(t)%60).padStart(2,"0");return[n,r,a]}withTimeZone(t){return new T(+this,t)}[Symbol.for("constructDateFrom")](t){return new T(+new Date(t),this.timeZone)}}window.pktTz=window.pktTz===void 0?"Europe/Oslo":window.pktTz;const Ce=(e=window.pktTz)=>{const t=new T(new Date().toISOString(),e);return t.setHours(0,0,0,0),isNaN(t.getTime())?new Date:new Date(t.getFullYear(),t.getMonth(),t.getDate())};function x(e){if(!e||e==="")return new Date;if(/^\d{4}-\d{2}-\d{2}$/.test(e)){const[t,n,r]=e.split("-").map(Number);return new Date(t,n-1,r)}if(/^\d{4}-\d{2}$/.test(e)){const[t,n]=e.split("-").map(Number);return new Date(t,n-1,1)}return/^\d{4}$/.test(e)?new Date(Number(e),0,1):new Date(e)}const y=e=>{if(!e||isNaN(e.getTime()))return"";const t=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0");return`${t}-${n}-${r}`},_=e=>{if(!e)return null;const t=x(e);return isNaN(t.getTime())?null:t},Ne=(e,t)=>{const n=N(e);return isNaN(n.getTime())?"":Me(n,t)},N=(e="",t)=>{const n=typeof e=="string"?x(e):e;return!n||isNaN(n.getTime())?new Date:t?t==="end"?vt(n):G(n):n},v=(e,t,n=1)=>{if(typeof e!="number"||typeof t!="number"||typeof n!="number"||isNaN(e)||isNaN(t)||isNaN(n))return new Date;const r=new Date(e,t,n);return isNaN(r.getTime())?new Date:r},A=e=>{let t;return typeof e=="number"?t=new T(e,window.pktTz):t=new T(e,window.pktTz),t.setHours(12,0,0,0),t},$e=e=>!e||isNaN(e.getTime())?"":new Intl.DateTimeFormat("no",{dateStyle:"full",timeZone:window.pktTz}).format(e),_e=(e,t,n)=>{if(!e||isNaN(e.getTime()))return!1;const r=t?N(t):null,a=n?N(n):null;return!(r&&e<r||a&&e>a)},Ee=(e,t)=>{if(!e||isNaN(e.getTime())||!Array.isArray(t))return!1;const n=y(e);return t.includes(n)},We=(e,t)=>{if(!e||isNaN(e.getTime())||!Array.isArray(t))return!1;const n=e.getDay().toString();return t.includes(n)},mt=(e,t,n,r,a)=>!(!e||isNaN(e.getTime())||!_e(e,t,n)||r&&Ee(e,r)||a&&We(e,a)),Ye=(e,t,n,r,a)=>e.filter(s=>{const i=_(s);return i&&mt(i,t,n,r,a)}),Ae=e=>e.slice().sort((t,n)=>{const r=_(t),a=_(n);return!r||!a?0:r.getTime()-a.getTime()}),Fe=(e,t)=>{const n=_(e),r=_(t);return!n||!r?!1:n<=r},gt=e=>e?Array.isArray(e)?e.filter(Boolean):String(e).split(",").map(t=>t.trim()).filter(Boolean):[],He=e=>e.join(","),yt=e=>gt(e),Ie=e=>e?x(e):null,qe=e=>{if(typeof e=="string")return e.split(",").map(t=>x(t));if(Array.isArray(e))return e.map(t=>x(t))},q={csvToArray:yt,stringToDate:Ie,stringsToDate:qe},Re={earliest:{default:null},latest:{default:null},weeknumbers:{default:!1},withcontrols:{default:!1},multiple:{default:!1},maxMultiple:{default:4},range:{default:!1}},O={props:Re};var Le=Object.defineProperty,Ue=Object.getOwnPropertyDescriptor,f=(e,t,n,r)=>{for(var a=r>1?void 0:r?Ue(t,n):t,s=e.length-1,i;s>=0;s--)(i=e[s])&&(a=(r?i(t,n,a):i(a))||a);return r&&a&&Le(t,n,a),a};exports.PktCalendar=class extends c.PktElement{constructor(){super(...arguments),this.multiple=O.props.multiple.default,this.maxMultiple=O.props.maxMultiple.default,this.range=O.props.range.default,this.weeknumbers=O.props.weeknumbers.default,this.withcontrols=O.props.withcontrols.default,this.selected=[],this.earliest=O.props.earliest.default,this.latest=O.props.latest.default,this.excludedates=[],this.excludeweekdays=[],this.currentmonth=null,this.dayStrings=this.strings.dates.daysShort,this.dayStringsLong=this.strings.dates.days,this.monthStrings=this.strings.dates.months,this.weekString=this.strings.dates.week,this.prevMonthString=this.strings.dates.prevMonth,this.nextMonthString=this.strings.dates.nextMonth,this._selected=[],this.year=0,this.month=0,this.week=0,this.rangeHovered=null,this.inRange={},this.focusedDate=null,this.selectableDates=[],this.currentmonthtouched=!1,this.tabIndexSet=0}connectedCallback(){super.connectedCallback()}disconnectedCallback(){this.removeEventListener("keydown",this.handleKeydown),super.disconnectedCallback()}attributeChangedCallback(t,n,r){t==="selected"&&r&&this.convertSelected(),super.attributeChangedCallback(t,n,r)}updated(t){super.updated(t),t.has("selected")&&this.convertSelected()}firstUpdated(t){this.addEventListener("keydown",this.handleKeydown)}convertSelected(){if(typeof this.selected=="string"&&(this.selected=this.selected.split(",")),this.selected.length===1&&this.selected[0]===""&&(this.selected=[]),this._selected=this.selected.map(t=>x(t)),this.range&&this.selected.length===2){const t=z({start:this._selected[0],end:this._selected[1]});if(this.inRange={},Array.isArray(t)&&t.length){const n={};for(let r=0;r<t.length;r++){const a=t[r],s=a>this._selected[0]&&a<this._selected[1];n[y(a)]=s}this.inRange=n}}this.setCurrentMonth()}setCurrentMonth(){if(this.currentmonth===null&&!this.currentmonthtouched&&(this.currentmonthtouched=!0),this.selected.length&&this.selected[0]!==""){const t=x(this.selected[this.selected.length-1]);this.currentmonth=isNaN(t.getTime())?A(new Date):t}else this.currentmonth===null&&(this.currentmonth=A(new Date));(!this.currentmonth||isNaN(this.currentmonth.getTime()))&&(this.currentmonth=A(new Date)),this.year=this.currentmonth.getFullYear(),this.month=this.currentmonth.getMonth()}handleKeydown(t){switch(t.key){case"ArrowLeft":this.handleArrowKey(t,-1);break;case"ArrowRight":this.handleArrowKey(t,1);break;case"ArrowUp":this.handleArrowKey(t,-7);break;case"ArrowDown":this.handleArrowKey(t,7);break}}handleArrowKey(t,n){var s,i,l,o,u;if(((s=t.target)==null?void 0:s.nodeName)==="INPUT"||((i=t.target)==null?void 0:i.nodeName)==="SELECT"||((l=t.target)==null?void 0:l.nodeName)==="BUTTON"&&!((u=(o=t.target)==null?void 0:o.dataset)!=null&&u.date))return;t.preventDefault(),this.focusedDate||this.focusOnCurrentDate();const r=this.focusedDate?N(this.focusedDate):v(this.year,this.month,1);let a=j(r,n);if(a){let d=this.querySelector(`button[data-date="${y(a)}"]`);if(d instanceof HTMLButtonElement){if(d.dataset.disabled){a=j(a,n);let m=this.querySelector(`button[data-date="${y(a)}"]`);for(;m&&m instanceof HTMLButtonElement&&m.dataset.disabled;)a=j(a,n),m=this.querySelector(`button[data-date="${y(a)}"]`);d=m}d instanceof HTMLButtonElement&&!d.dataset.disabled&&(this.focusedDate=y(a),d.focus())}}}render(){return c.x`
2
- <div
3
- class="pkt-calendar ${this.weeknumbers?"pkt-cal-weeknumbers":""}"
4
- @focusout=${this.closeEvent}
5
- @keydown=${t=>{t.key==="Escape"&&(t.preventDefault(),this.close())}}
6
- >
7
- <nav class="pkt-cal-month-nav">
8
- <div>
9
- <button
10
- type="button"
11
- aria-label="${this.prevMonthString}"
12
- @click=${()=>this.isPrevMonthAllowed()&&this.prevMonth()}
13
- @keydown=${t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this.isPrevMonthAllowed()&&this.prevMonth())}}
14
- class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only pkt-calendar__prev-month ${this.isPrevMonthAllowed()?"":"pkt-hide"}"
15
- .data-disabled=${this.isPrevMonthAllowed()?c.E:"disabled"}
16
- ?aria-disabled=${!this.isPrevMonthAllowed()}
17
- tabindex=${this.isPrevMonthAllowed()?"0":"-1"}
18
- >
19
- <pkt-icon class="pkt-btn__icon" name="chevron-thin-left"></pkt-icon>
20
- <span class="pkt-btn__text">${this.prevMonthString}</span>
21
- </button>
22
- </div>
23
- ${this.renderMonthNav()}
24
- <div>
25
- <button
26
- type="button"
27
- aria-label="${this.nextMonthString}"
28
- @click=${()=>this.isNextMonthAllowed()&&this.nextMonth()}
29
- @keydown=${t=>{(t.key==="Enter"||t.key===" ")&&(t.preventDefault(),this.isNextMonthAllowed()&&this.nextMonth())}}
30
- class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only pkt-calendar__next-month ${this.isNextMonthAllowed()?"":"pkt-hide"}"
31
- .data-disabled=${this.isNextMonthAllowed()?c.E:"disabled"}
32
- ?aria-disabled=${!this.isNextMonthAllowed()}
33
- tabindex=${this.isNextMonthAllowed()?"0":"-1"}
34
- >
35
- <pkt-icon class="pkt-btn__icon" name="chevron-thin-right"></pkt-icon>
36
- <span class="pkt-btn__text">${this.nextMonthString}</span>
37
- </button>
38
- </div>
39
- </nav>
40
- <table
41
- class="pkt-cal-days pkt-txt-12-medium pkt-calendar__body"
42
- role="grid"
43
- ?aria-multiselectable=${this.range||this.multiple}
44
- >
45
- <thead>
46
- ${this.renderDayNames()}
47
- </thead>
48
- <tbody>
49
- ${this.renderCalendarBody()}
50
- </tbody>
51
- </table>
52
- </div>
53
- `}renderDayNames(){const t=[];this.weeknumbers&&t.push(c.x`<th><div class="pkt-calendar__week-number">${this.weekString}</div></th>`);for(let n=0;n<this.dayStrings.length;n++)t.push(c.x`<th>
54
- <div class="pkt-calendar__day-name" aria-label="${this.dayStringsLong[n]}">
55
- ${this.dayStrings[n]}
56
- </div>
57
- </th>`);return c.x`<tr class="pkt-cal-week-row">
58
- ${t}
59
- </tr>`}renderMonthNav(){let t=[];return this.withcontrols?t.push(c.x`<div class="pkt-cal-month-picker">
60
- <label for="${this.id}-monthnav" class="pkt-hide">${this.strings.dates.month}</label>
61
- <select
62
- aria-label="${this.strings.dates.month}"
63
- class="pkt-input pkt-input-compact"
64
- id="${this.id}-monthnav"
65
- @change=${n=>{n.stopImmediatePropagation(),this.changeMonth(this.year,n.target.value)}}
66
- >
67
- ${this.monthStrings.map((n,r)=>c.x`<option value=${r} ?selected=${this.month===r}>${n}</option>`)}
68
- </select>
69
- <label for="${this.id}-yearnav" class="pkt-hide">${this.strings.dates.year}</label>
70
- <input
71
- aria-label="${this.strings.dates.year}"
72
- class="pkt-input pkt-cal-input-year pkt-input-compact"
73
- id="${this.id}-yearnav"
74
- type="number"
75
- size="4"
76
- placeholder="0000"
77
- @change=${n=>{n.stopImmediatePropagation(),this.changeMonth(n.target.value,this.month)}}
78
- .value=${this.year}
79
- />
80
- </div> `):t.push(c.x`<div class="pkt-txt-16-medium pkt-calendar__month-title" aria-live="polite">
81
- ${this.monthStrings[this.month]} ${this.year}
82
- </div>`),t}renderDayView(t,n){var p;const r=v(this.year,this.month,t),a=y(r),s=a===y(n),i=this.selected.includes(a),l=$e(r),o=this.isExcluded(r)||!i&&this.multiple&&this.maxMultiple>0&&this.selected.length>=this.maxMultiple,u=this.focusedDate?this.focusedDate===a&&!o?"0":"-1":!o&&this.tabIndexSet===0||this.tabIndexSet===t?"0":"-1";u==="0"&&(this.tabIndexSet=t),this.selectableDates.push({currentDateISO:a,isDisabled:o,tabindex:u});const d={"pkt-cal-today":s,"pkt-cal-selected":i,"pkt-cal-in-range":this.inRange[a],"pkt-cal-excluded":this.isExcluded(r),"pkt-cal-in-range-first":this.range&&(this.selected.length===2||this.rangeHovered!==null)&&a===this.selected[0],"pkt-cal-in-range-last":this.range&&this.selected.length===2&&a===this.selected[1],"pkt-cal-range-hover":this.rangeHovered!==null&&a===y(this.rangeHovered)},m={"pkt-calendar__date":!0,"pkt-calendar__date--today":s,"pkt-calendar__date--selected":i,"pkt-calendar__date--disabled":o,"pkt-calendar__date--in-range":this.inRange[a],"pkt-calendar__date--in-range-hover":this.rangeHovered!==null&&a===y(this.rangeHovered),"pkt-calendar__date--range-start":this.range&&(this.selected.length===2||this.rangeHovered!==null)&&a===this.selected[0],"pkt-calendar__date--range-end":this.range&&this.selected.length===2&&a===this.selected[1]};return c.x`<td class=${K.e(d)}>
83
- <button
84
- type="button"
85
- aria-pressed=${i?"true":"false"}
86
- ?disabled=${o}
87
- class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only ${K.e(m)}"
88
- @mouseover=${()=>this.range&&!this.isExcluded(r)&&this.handleRangeHover(r)}
89
- @focus=${()=>{this.range&&!this.isExcluded(r)&&this.handleRangeHover(r),this.focusedDate=a}}
90
- aria-label="${l}"
91
- tabindex=${(p=this.selectableDates.find(g=>g.currentDateISO===a))==null?void 0:p.tabindex}
92
- data-disabled=${o?"disabled":c.E}
93
- data-date=${a}
94
- @keydown=${g=>{(g.key==="Enter"||g.key===" ")&&(g.preventDefault(),this.handleDateSelect(r))}}
95
- @click=${g=>{o||(g.preventDefault(),this.handleDateSelect(r))}}
96
- >
97
- <span class="pkt-btn__text pkt-txt-14-light">${t}</span>
98
- </button>
99
- </td>`}renderCalendarBody(){const t=Ce(),n=v(this.year,this.month,1),r=v(this.year,this.month+1,0),a=(n.getDay()+6)%7,s=r.getDate(),i=Math.ceil((s+a)/7),o=v(this.year,this.month,0).getDate();let u=1;this.week=ht(v(this.year,this.month,1));const d=[];for(let m=0;m<i;m++){const p=[];this.weeknumbers&&p.push(c.x`<td class="pkt-cal-week">${this.week}</td>`),this.week++;for(let g=1;g<8;g++)if(m===0&&g<a+1){const w=o-(a-g);p.push(c.x`<td class="pkt-cal-other">
100
- <div
101
- class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only"
102
- data-disabled="disabled"
103
- >
104
- <span class="pkt-btn__text pkt-txt-14-light">${w}</span>
105
- </div>
106
- </td>`)}else u>s?(p.push(c.x`<td class="pkt-cal-other">
107
- <div
108
- class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only"
109
- data-disabled="disabled"
110
- >
111
- <span class="pkt-btn__text pkt-txt-14-light">${u-s}</span>
112
- </div>
113
- </td>`),u++):(p.push(this.renderDayView(u,t)),u++);d.push(c.x`<tr class="pkt-cal-week-row" role="row">
114
- ${p}
115
- </tr>`)}return d}isExcluded(t){const n=this.excludedates.map(r=>typeof r=="string"?r:y(r));return!mt(t,this.earliest,this.latest,n,this.excludeweekdays)}isPrevMonthAllowed(){const t=v(this.year,this.month,0);return!(this.earliest&&N(this.earliest)>t)}prevMonth(){const t=this.month===0?11:this.month-1,n=this.month===0?this.year-1:this.year;this.changeMonth(n,t)}isNextMonthAllowed(){const t=v(this.month===11?this.year+1:this.year,this.month===11?0:this.month+1,1);return!(this.latest&&N(this.latest)<t)}nextMonth(){const t=this.month===11?0:this.month+1,n=this.month===11?this.year+1:this.year;this.changeMonth(n,t)}changeMonth(t,n){this.year=typeof t=="string"?parseInt(t):t,this.month=typeof n=="string"?parseInt(n):n,this.currentmonth=A(new Date(this.year,this.month,1)),this.tabIndexSet=0,this.focusedDate=null,this.selectableDates=[]}isRangeAllowed(t){let n=!0;if(this._selected.length===1){const r=z({start:this._selected[0],end:t});if(Array.isArray(r)&&r.length)for(let a=0;a<r.length;a++)this.excludedates.forEach(s=>{s>this._selected[0]&&s<t&&(n=!1)}),this.excludeweekdays.includes(Te(r[a]).toString())&&(n=!1)}return n}emptySelected(){this.selected=[],this._selected=[],this.inRange={}}addToSelected(t){this.selected.includes(y(t))||(this.selected=[...this.selected,y(t)],this._selected=[...this._selected,t],this.range&&this.selected.length===2&&(this.convertSelected(),this.close()))}removeFromSelected(t){if(this.selected.length===1)this.emptySelected();else{const n=this.selected.indexOf(y(t)),r=[...this.selected],a=[...this._selected];r.splice(n,1),a.splice(n,1),this.selected=r,this._selected=a}}toggleSelected(t){const n=y(t);this.selected.includes(n)?this.removeFromSelected(t):this.maxMultiple&&this.selected.length>=this.maxMultiple||this.addToSelected(t)}handleRangeSelect(t){const n=y(t);return this.selected.includes(n)?this.selected.indexOf(n)===0?this.emptySelected():this.removeFromSelected(t):this.selected.length>1?(this.emptySelected(),this.addToSelected(t)):(this.selected.length===1&&!this.isRangeAllowed(t)&&this.emptySelected(),this.selected.length===1&&this._selected[0]>t&&this.emptySelected(),this.addToSelected(t)),Promise.resolve()}handleRangeHover(t){if(this.range&&this._selected.length===1&&this.isRangeAllowed(t)&&this._selected[0]<t){this.rangeHovered=t,this.inRange={};const n=z({start:this._selected[0],end:t});if(Array.isArray(n)&&n.length)for(let r=0;r<n.length;r++){const a=n[r],s=a>this._selected[0]&&a<t;this.inRange[y(a)]=s}}else this.rangeHovered=null}handleDateSelect(t){if(t)return this.range?this.handleRangeSelect(t):this.multiple?this.toggleSelected(t):(this.selected.includes(y(t))?this.emptySelected():(this.emptySelected(),this.addToSelected(t)),this.close()),this.dispatchEvent(new CustomEvent("date-selected",{detail:this.selected,bubbles:!0,composed:!0})),Promise.resolve()}focusOnCurrentDate(){const t=y(A(new Date)),n=this.querySelector(`button[data-date="${t}"]`);if(n instanceof HTMLButtonElement)this.focusedDate=t,n.focus();else{const r=this.selectableDates.find(a=>!a.isDisabled);if(r){const a=this.querySelector(`button[data-date="${r.currentDateISO}"]`);a instanceof HTMLButtonElement&&(this.focusedDate=r.currentDateISO,a.focus())}}}closeEvent(t){!this.contains(t.relatedTarget)&&!t.target.classList.contains("pkt-hide")&&this.close()}close(){this.dispatchEvent(new CustomEvent("close",{detail:!0,bubbles:!0,composed:!0}))}};f([c.n({type:Boolean})],exports.PktCalendar.prototype,"multiple",2);f([c.n({type:Number})],exports.PktCalendar.prototype,"maxMultiple",2);f([c.n({type:Boolean})],exports.PktCalendar.prototype,"range",2);f([c.n({type:Boolean})],exports.PktCalendar.prototype,"weeknumbers",2);f([c.n({type:Boolean})],exports.PktCalendar.prototype,"withcontrols",2);f([c.n({converter:q.csvToArray})],exports.PktCalendar.prototype,"selected",2);f([c.n({type:String})],exports.PktCalendar.prototype,"earliest",2);f([c.n({type:String})],exports.PktCalendar.prototype,"latest",2);f([c.n({converter:q.stringsToDate})],exports.PktCalendar.prototype,"excludedates",2);f([c.n({converter:q.csvToArray})],exports.PktCalendar.prototype,"excludeweekdays",2);f([c.n({converter:q.stringToDate})],exports.PktCalendar.prototype,"currentmonth",2);f([c.n({type:Array})],exports.PktCalendar.prototype,"dayStrings",2);f([c.n({type:Array})],exports.PktCalendar.prototype,"dayStringsLong",2);f([c.n({type:Array})],exports.PktCalendar.prototype,"monthStrings",2);f([c.n({type:String})],exports.PktCalendar.prototype,"weekString",2);f([c.n({type:String})],exports.PktCalendar.prototype,"prevMonthString",2);f([c.n({type:String})],exports.PktCalendar.prototype,"nextMonthString",2);f([c.n({type:Array})],exports.PktCalendar.prototype,"_selected",2);f([c.n({type:Number})],exports.PktCalendar.prototype,"year",2);f([c.n({type:Number})],exports.PktCalendar.prototype,"month",2);f([c.n({type:Number})],exports.PktCalendar.prototype,"week",2);f([c.n({type:Date})],exports.PktCalendar.prototype,"rangeHovered",2);f([I.r()],exports.PktCalendar.prototype,"inRange",2);f([I.r()],exports.PktCalendar.prototype,"focusedDate",2);f([I.r()],exports.PktCalendar.prototype,"selectableDates",2);f([I.r()],exports.PktCalendar.prototype,"currentmonthtouched",2);f([I.r()],exports.PktCalendar.prototype,"tabIndexSet",2);exports.PktCalendar=f([c.t("pkt-calendar")],exports.PktCalendar);exports.arrayToCsv=He;exports.converters=q;exports.csvToArray=yt;exports.filterSelectableDates=Ye;exports.formatISODate=y;exports.fromISOToDate=_;exports.fromISOtoLocal=Ne;exports.isValidDateRange=Fe;exports.newDate=N;exports.parseISODateString=x;exports.sortDateStrings=Ae;exports.valueToArray=gt;
@@ -1,289 +0,0 @@
1
- "use strict";const a=require("./element-CJ_QKaki.cjs"),_=require("./state-DSjcvzDN.cjs"),u=require("./calendar-Dz1Cnzx5.cjs"),I=require("./input-element-BmXkhljw.cjs"),p=require("./ref-BFa5Utho.cjs");require("./icon-BGuizDwk.cjs");require("./input-wrapper-WEGSbIA6.cjs");const f=require("./class-map-C_erArZz.cjs"),O=require("./repeat-BZb41H64.cjs");require("./tag-BkuJjOy7.cjs");const S=require("./utils-byXsEz1u.cjs"),y=require("./if-defined-Bc9-_I01.cjs"),B=require("./pkt-slot-controller-BzddBp7z.cjs");var A=Object.defineProperty,M=Object.getOwnPropertyDescriptor,w=(i,e,t,s)=>{for(var n=s>1?void 0:s?M(e,t):e,l=i.length-1,r;l>=0;l--)(r=i[l])&&(n=(s?r(e,t,n):r(n))||n);return s&&n&&A(e,t,n),n};exports.PktDateTags=class extends a.PktElement{constructor(){super(...arguments),this.dates=[],this.dateformat="dd.MM.yyyy",this.className="pkt-datepicker__tags",this.idBase=S.uuidish()}render(){return this.classes={"pkt-date-tags":!0,[this.className]:!0},a.x`
2
- <div class=${f.e(this.classes)} aria-live="polite">
3
- ${Array.isArray(this.dates)&&this.dates[0]?O.c(u.sortDateStrings((this.dates??[]).filter(Boolean)),e=>e,e=>{var t;return a.x` <pkt-tag
4
- id=${this.idBase+e+"-tag"}
5
- closeTag
6
- @close=${()=>{this.dispatchEvent(new CustomEvent("date-tag-removed",{detail:e}))}}
7
- .ariaLabel=${`${(t=this.strings)==null?void 0:t.calendar.deleteDate} ${u.fromISOtoLocal(e,this.dateformat)}`}
8
- >
9
- <time datetime=${e}>${u.fromISOtoLocal(e,this.dateformat)}</time>
10
- </pkt-tag>`}):a.E}
11
- </div>
12
- `}};w([a.n({type:Array})],exports.PktDateTags.prototype,"dates",2);w([a.n({type:String})],exports.PktDateTags.prototype,"dateformat",2);w([a.n({type:String,attribute:"class"})],exports.PktDateTags.prototype,"className",2);w([a.n({type:String,attribute:"id-base"})],exports.PktDateTags.prototype,"idBase",2);exports.PktDateTags=w([a.t("pkt-date-tags")],exports.PktDateTags);const F={dateformat:{default:"dd.MM.yyyy"},weeknumbers:{default:!1},withcontrols:{default:!1},multiple:{default:!1},range:{default:!1}},$={props:F},b=()=>{const i=navigator.userAgent;return!!(/iP(hone|od|ad)/.test(i)||/Macintosh/.test(i)&&"ontouchend"in document)},P={normalizeNameForMultiple(i,e,t){return i?(e||t)&&!i.endsWith("[]")?i+"[]":i:null},validateRangeOrder(i){return!i||i.length!==2?!0:u.isValidDateRange(i[0],i[1])},sortDates(i){return u.sortDateStrings(i)},filterSelectableDates(i,e,t,s,n){return u.filterSelectableDates(i,e,t,s,n)}},j={getInputType(){return b()?"text":"date"}},D={submitForm(i){var t;const e=(t=i.internals)==null?void 0:t.form;e&&e.requestSubmit()},submitFormOrFallback(i,e){const t=i==null?void 0:i.form;t?t.requestSubmit():e()},validateDateInput(i,e,t,s,n){var r,h,T,E;const l=i.value;l&&(t&&t>l?e.setValidity({rangeUnderflow:!0},((h=(r=n==null?void 0:n.forms)==null?void 0:r.messages)==null?void 0:h.rangeUnderflow)||"Value is below minimum",i):s&&s<l&&e.setValidity({rangeOverflow:!0},((E=(T=n==null?void 0:n.forms)==null?void 0:T.messages)==null?void 0:E.rangeOverflow)||"Value is above maximum",i))}},x={addToSelected(i,e,t,s){const n=i.target;if(!n.value)return;const l=t?u.newDate(t):null,r=s?u.newDate(s):null,h=u.newDate(n.value.split(",")[0]);h&&!isNaN(h.getTime())&&(!l||h>=l)&&(!r||h<=r)&&e.value&&e.value.handleDateSelect(h),n.value=""},handleCalendarPosition(i,e,t=!1){var h;if(!i.value||!e.value)return;const s=((h=e.value.parentElement)==null?void 0:h.getBoundingClientRect())||e.value.getBoundingClientRect(),n=t?s.height+30:s.height,l=i.value.getBoundingClientRect().height;let r=t?"calc(100% - 30px)":"100%";s&&s.top+l>window.innerHeight&&s.top-l>0&&(r=`calc(100% - ${n}px - ${l}px)`),i.value.style.top=r}},C={getInputClasses(i,e,t,s,n,l){return{"pkt-input":!0,"pkt-datepicker__input":!0,"pkt-input--fullwidth":i,"pkt-datepicker--hasrangelabels":e,"pkt-datepicker--multiple":t,"pkt-datepicker--range":s,"ios-readonly-hack":n===!1&&l==="text"}},getButtonClasses(){return{"pkt-input-icon":!0,"pkt-btn":!0,"pkt-btn--icon-only":!0,"pkt-btn--tertiary":!0,"pkt-datepicker__calendar-button":!0}},getRangeLabelClasses(i){return{"pkt-input-prefix":i,"pkt-hide":!i}}},R={processDateSelection(i,e,t){return!e&&!t?i[0]||"":Array.isArray(i)?i.join(","):i},updateInputValues(i,e,t,s,n,l){i.value&&(s&&(e!=null&&e.value)?(i.value.value=t[0]??"",e.value.value=t[1]??"",l(i.value),l(e.value)):n||(i.value.value=t.length?t[0]:"",l(i.value)))},processRangeBlur(i,e,t,s,n){var r;const l=i.target;if(l.value){n(l);const h=u.fromISOToDate(l.value);h&&e[0]!==l.value&&e[1]&&(s(),(r=t==null?void 0:t.value)==null||r.handleDateSelect(h))}else e[0]&&s()}},k={handleInputKeydown(i,e,t,s,n,l){const{key:r}=i;r===","&&(i.preventDefault(),l?l(i):n&&n()),(r==="Space"||r===" ")&&(i.preventDefault(),e(i)),r==="Enter"&&(i.preventDefault(),t?t():s?s():n&&n())},handleButtonKeydown(i,e){const{key:t}=i;(t==="Enter"||t===" "||t==="Space")&&(i.preventDefault(),e(i))}};var q=Object.defineProperty,L=Object.getOwnPropertyDescriptor,c=(i,e,t,s)=>{for(var n=s>1?void 0:s?L(e,t):e,l=i.length-1,r;l>=0;l--)(r=i[l])&&(n=(s?r(e,t,n):r(n))||n);return s&&n&&q(e,t,n),n};let d=class extends a.PktElement{constructor(){super(...arguments),this.open=!1,this.multiple=!1,this.range=!1,this.weeknumbers=!1,this.withcontrols=!1,this.maxMultiple=null,this.selected=[],this.earliest=null,this.latest=null,this.excludedates=[],this.excludeweekdays=[],this.currentmonth=null,this.popupRef=p.e(),this.calendarRef=p.e(),this.handleDocumentClick=i=>{if(!this.open)return;const e=i.composedPath(),t=this.parentElement,s=this.popupRef.value;!e.includes(this)&&!e.includes(s)&&!(t&&e.includes(t))&&(this.hide(),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0})))},this.handleDocumentKeydown=i=>{this.open&&i.key==="Escape"&&(this.hide(),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0})))}}firstUpdated(){this.calRef=this.calendarRef,document.addEventListener("keydown",this.handleDocumentKeydown),document.addEventListener("click",this.handleDocumentClick)}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.handleDocumentClick),document.removeEventListener("keydown",this.handleDocumentKeydown)}show(){var i;this.open=!0,(i=this.calendarRef.value)==null||i.focus()}hide(){this.open=!1}toggle(){this.open?this.hide():this.show()}contains(i){var e;return!!i&&!!((e=this.popupRef.value)!=null&&e.contains(i))}focusOnCurrentDate(){const i=this.calendarRef.value;i&&typeof i.focusOnCurrentDate=="function"&&i.focusOnCurrentDate()}addToSelected(i,e,t){if(typeof x.addToSelected=="function")return x.addToSelected(i,this.calendarRef,e,t)}handleDateSelect(i){const e=this.calendarRef.value;if(e&&typeof e.handleDateSelect=="function")return e.handleDateSelect(i)}render(){const i={"pkt-calendar-popup":!0,show:this.open,hide:!this.open};return a.x`
13
- <div
14
- class="${f.e(i)}"
15
- ${p.n(this.popupRef)}
16
- id="date-popup"
17
- ?hidden=${!this.open}
18
- aria-hidden="${!this.open}"
19
- >
20
- <pkt-calendar
21
- ${p.n(this.calendarRef)}
22
- ?multiple=${this.multiple}
23
- ?range=${this.range}
24
- ?weeknumbers=${this.weeknumbers}
25
- ?withcontrols=${this.withcontrols}
26
- .maxMultiple=${this.maxMultiple}
27
- .selected=${this.selected}
28
- .earliest=${this.earliest}
29
- .latest=${this.latest}
30
- .excludedates=${this.excludedates}
31
- .excludeweekdays=${this.excludeweekdays}
32
- .currentmonth=${this.currentmonth}
33
- @date-selected=${e=>{this.selected=e.detail,this.dispatchEvent(new CustomEvent("date-selected",{detail:e.detail,bubbles:!0,composed:!0}))}}
34
- @close=${()=>{this.hide(),this.dispatchEvent(new CustomEvent("close",{bubbles:!0,composed:!0}))}}
35
- ></pkt-calendar>
36
- </div>
37
- `}};c([a.n({type:Boolean,reflect:!0})],d.prototype,"open",2);c([a.n({type:Boolean})],d.prototype,"multiple",2);c([a.n({type:Boolean})],d.prototype,"range",2);c([a.n({type:Boolean})],d.prototype,"weeknumbers",2);c([a.n({type:Boolean})],d.prototype,"withcontrols",2);c([a.n({type:Number})],d.prototype,"maxMultiple",2);c([a.n({type:Array})],d.prototype,"selected",2);c([a.n({type:String})],d.prototype,"earliest",2);c([a.n({type:String})],d.prototype,"latest",2);c([a.n({type:Array})],d.prototype,"excludedates",2);c([a.n({type:Array})],d.prototype,"excludeweekdays",2);c([a.n({type:String})],d.prototype,"currentmonth",2);d=c([a.t("pkt-datepicker-popup")],d);var V=Object.defineProperty,K=Object.getOwnPropertyDescriptor,v=(i,e,t,s)=>{for(var n=s>1?void 0:s?K(e,t):e,l=i.length-1,r;l>=0;l--)(r=i[l])&&(n=(s?r(e,t,n):r(n))||n);return s&&n&&V(e,t,n),n};exports.PktDatepickerSingle=class extends a.PktElement{constructor(){super(...arguments),this.value="",this.inputType="date",this.id="",this.readonly=!1,this.disabled=!1,this.inputClasses={},this.strings={calendar:{buttonAltText:"Åpne kalender"}},this.inputRef=p.e(),this.btnRef=p.e()}get inputElement(){return this.inputRef.value}get buttonElement(){return this.btnRef.value}get isInputReadonly(){return this.readonly||this.inputType==="text"}dispatchToggleCalendar(e){this.readonly||this.dispatchEvent(new CustomEvent("toggle-calendar",{detail:e,bubbles:!0,composed:!0}))}dispatchInput(e){this.dispatchEvent(new CustomEvent("input-change",{detail:e,bubbles:!0,composed:!0}))}dispatchFocus(){this.dispatchEvent(new CustomEvent("input-focus",{bubbles:!0,composed:!0}))}dispatchBlur(e){this.dispatchEvent(new CustomEvent("input-blur",{detail:e,bubbles:!0,composed:!0}))}dispatchChange(e){this.dispatchEvent(new CustomEvent("input-changed",{detail:e,bubbles:!0,composed:!0}))}dispatchManageValidity(e){this.dispatchEvent(new CustomEvent("manage-validity",{detail:e,bubbles:!0,composed:!0}))}createRenderRoot(){return this}render(){return a.x`
38
- <div class="pkt-input__container">
39
- <input
40
- class="${f.e(this.inputClasses)}"
41
- .type=${this.inputType}
42
- id="${this.id}-input"
43
- .value=${this.value}
44
- min=${y.o(this.min)}
45
- max=${y.o(this.max)}
46
- placeholder=${y.o(this.placeholder)}
47
- ?readonly=${this.isInputReadonly}
48
- aria-describedby="${this.id}-helptext"
49
- @click=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
50
- @touchend=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
51
- ?disabled=${this.disabled}
52
- @keydown=${e=>k.handleInputKeydown(e,t=>this.dispatchToggleCalendar(t),()=>D.submitFormOrFallback(this.internals,()=>{var t;return(t=this.inputRef.value)==null?void 0:t.blur()}),void 0,()=>{var t;return(t=this.inputRef.value)==null?void 0:t.blur()})}
53
- @input=${e=>{this.dispatchInput(e),e.stopImmediatePropagation()}}
54
- @focus=${()=>{this.dispatchFocus(),b()&&this.dispatchToggleCalendar(new Event("focus"))}}
55
- @blur=${e=>{this.dispatchBlur(e),this.dispatchManageValidity(e.target),this.dispatchEvent(new CustomEvent("value-change",{detail:e.target.value,bubbles:!0,composed:!0}))}}
56
- @change=${e=>{this.dispatchChange(e),e.stopImmediatePropagation()}}
57
- ${p.n(this.inputRef)}
58
- />
59
- <button
60
- class="${f.e(C.getButtonClasses())}"
61
- type="button"
62
- @click=${e=>this.dispatchToggleCalendar(e)}
63
- @keydown=${e=>k.handleButtonKeydown(e,t=>this.dispatchToggleCalendar(t))}
64
- ?disabled=${this.disabled}
65
- ${p.n(this.btnRef)}
66
- >
67
- <pkt-icon name="calendar"></pkt-icon>
68
- <span class="pkt-btn__text">${this.strings.calendar.buttonAltText}</span>
69
- </button>
70
- </div>
71
- `}};v([a.n({type:String})],exports.PktDatepickerSingle.prototype,"value",2);v([a.n({type:String})],exports.PktDatepickerSingle.prototype,"inputType",2);v([a.n({type:String})],exports.PktDatepickerSingle.prototype,"id",2);v([a.n({type:String})],exports.PktDatepickerSingle.prototype,"min",2);v([a.n({type:String})],exports.PktDatepickerSingle.prototype,"max",2);v([a.n({type:String})],exports.PktDatepickerSingle.prototype,"placeholder",2);v([a.n({type:Boolean})],exports.PktDatepickerSingle.prototype,"readonly",2);v([a.n({type:Boolean})],exports.PktDatepickerSingle.prototype,"disabled",2);v([a.n({type:Object})],exports.PktDatepickerSingle.prototype,"inputClasses",2);v([a.n({type:Object})],exports.PktDatepickerSingle.prototype,"internals",2);v([a.n({type:Object})],exports.PktDatepickerSingle.prototype,"strings",2);exports.PktDatepickerSingle=v([a.t("pkt-datepicker-single")],exports.PktDatepickerSingle);var N=Object.defineProperty,U=Object.getOwnPropertyDescriptor,g=(i,e,t,s)=>{for(var n=s>1?void 0:s?U(e,t):e,l=i.length-1,r;l>=0;l--)(r=i[l])&&(n=(s?r(e,t,n):r(n))||n);return s&&n&&N(e,t,n),n};exports.PktDatepickerRange=class extends a.PktElement{constructor(){super(...arguments),this.value=[],this.inputType="date",this.id="",this.readonly=!1,this.disabled=!1,this.showRangeLabels=!1,this.inputClasses={},this.strings={generic:{from:"Fra",to:"Til"}},this.inputRef=p.e(),this.inputRefTo=p.e(),this.btnRef=p.e()}get inputElement(){return this.inputRef.value}get inputElementTo(){return this.inputRefTo.value}get buttonElement(){return this.btnRef.value}get isInputReadonly(){return this.readonly||this.inputType==="text"}dispatchToggleCalendar(e){this.readonly||this.dispatchEvent(new CustomEvent("toggle-calendar",{detail:e,bubbles:!0,composed:!0}))}dispatchInput(e){this.dispatchEvent(new CustomEvent("input-change",{detail:e,bubbles:!0,composed:!0}))}dispatchFocus(){this.dispatchEvent(new CustomEvent("input-focus",{bubbles:!0,composed:!0}))}dispatchBlur(e){this.dispatchEvent(new CustomEvent("input-blur",{detail:e,bubbles:!0,composed:!0}))}dispatchChange(e){this.dispatchEvent(new CustomEvent("input-changed",{detail:e,bubbles:!0,composed:!0}))}dispatchManageValidity(e){this.dispatchEvent(new CustomEvent("manage-validity",{detail:e,bubbles:!0,composed:!0}))}createRenderRoot(){return this}render(){const e=C.getRangeLabelClasses(this.showRangeLabels);return a.x`
72
- <div class="pkt-input__container">
73
- ${this.showRangeLabels?a.x` <div class="pkt-input-prefix">${this.strings.generic.from}</div> `:a.E}
74
- <input
75
- class=${f.e(this.inputClasses)}
76
- .type=${this.inputType}
77
- id="${this.id}-input"
78
- .value=${this.value[0]??""}
79
- min=${y.o(this.min)}
80
- max=${y.o(this.max)}
81
- placeholder=${y.o(this.placeholder)}
82
- ?readonly=${this.isInputReadonly}
83
- ?disabled=${this.disabled}
84
- @click=${t=>{t.preventDefault(),this.dispatchToggleCalendar(t)}}
85
- @touchend=${t=>{t.preventDefault(),this.dispatchToggleCalendar(t)}}
86
- @keydown=${t=>k.handleInputKeydown(t,s=>this.dispatchToggleCalendar(s),()=>D.submitFormOrFallback(this.internals,()=>{var s;return(s=this.inputRefTo.value)==null?void 0:s.focus()}),()=>{var s;return(s=this.inputRefTo.value)==null?void 0:s.focus()},()=>{var s;return(s=this.inputRef.value)==null?void 0:s.blur()})}
87
- @input=${t=>{this.dispatchInput(t),t.stopImmediatePropagation()}}
88
- @focus=${()=>{this.dispatchFocus(),b()&&this.dispatchToggleCalendar(new Event("focus"))}}
89
- @blur=${t=>{this.dispatchEvent(new CustomEvent("range-blur",{detail:{event:t,values:this.value,inputType:"from"},bubbles:!0,composed:!0}))}}
90
- @change=${t=>{t.stopImmediatePropagation()}}
91
- ${p.n(this.inputRef)}
92
- />
93
- <div class="${f.e(e)}" id="${this.id}-to-label">
94
- ${this.strings.generic.to}
95
- </div>
96
- ${this.showRangeLabels?a.E:a.x` <div class="pkt-input-separator">–</div> `}
97
- <input
98
- class=${f.e(this.inputClasses)}
99
- .type=${this.inputType}
100
- id="${this.id}-to"
101
- aria-labelledby="${this.id}-to-label"
102
- .value=${this.value[1]??""}
103
- min=${y.o(this.min)}
104
- max=${y.o(this.max)}
105
- placeholder=${y.o(this.placeholder)}
106
- ?readonly=${this.isInputReadonly}
107
- ?disabled=${this.disabled}
108
- @click=${t=>{t.preventDefault(),this.dispatchToggleCalendar(t)}}
109
- @touchend=${t=>{t.preventDefault(),this.dispatchToggleCalendar(t)}}
110
- @keydown=${t=>k.handleInputKeydown(t,s=>this.dispatchToggleCalendar(s),()=>D.submitFormOrFallback(this.internals,()=>{var s;return(s=this.inputRefTo.value)==null?void 0:s.blur()}),void 0,()=>{var s;return(s=this.inputRefTo.value)==null?void 0:s.blur()})}
111
- @input=${t=>{this.dispatchInput(t),t.stopImmediatePropagation()}}
112
- @focus=${()=>{this.dispatchFocus(),b()&&this.dispatchToggleCalendar(new Event("focus"))}}
113
- @blur=${t=>{this.dispatchBlur(t),t.target.value&&(this.dispatchManageValidity(t.target),this.dispatchEvent(new CustomEvent("validate-date-input",{detail:t.target,bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("handle-date-select",{detail:t.target.value,bubbles:!0,composed:!0})))}}
114
- @change=${t=>{this.dispatchChange(t),t.stopImmediatePropagation()}}
115
- ${p.n(this.inputRefTo)}
116
- />
117
- <button
118
- class="${f.e(C.getButtonClasses())}"
119
- type="button"
120
- @click=${t=>this.dispatchToggleCalendar(t)}
121
- @keydown=${t=>k.handleButtonKeydown(t,s=>this.dispatchToggleCalendar(s))}
122
- ?disabled=${this.disabled}
123
- ${p.n(this.btnRef)}
124
- >
125
- <pkt-icon name="calendar"></pkt-icon>
126
- <span class="pkt-btn__text">${this.strings.calendar.buttonAltText}</span>
127
- </button>
128
- </div>
129
- `}};g([a.n({type:Array})],exports.PktDatepickerRange.prototype,"value",2);g([a.n({type:String})],exports.PktDatepickerRange.prototype,"inputType",2);g([a.n({type:String})],exports.PktDatepickerRange.prototype,"id",2);g([a.n({type:String})],exports.PktDatepickerRange.prototype,"min",2);g([a.n({type:String})],exports.PktDatepickerRange.prototype,"max",2);g([a.n({type:String})],exports.PktDatepickerRange.prototype,"placeholder",2);g([a.n({type:Boolean})],exports.PktDatepickerRange.prototype,"readonly",2);g([a.n({type:Boolean})],exports.PktDatepickerRange.prototype,"disabled",2);g([a.n({type:Boolean})],exports.PktDatepickerRange.prototype,"showRangeLabels",2);g([a.n({type:Object})],exports.PktDatepickerRange.prototype,"inputClasses",2);g([a.n({type:Object})],exports.PktDatepickerRange.prototype,"internals",2);g([a.n({type:Object})],exports.PktDatepickerRange.prototype,"strings",2);exports.PktDatepickerRange=g([a.t("pkt-datepicker-range")],exports.PktDatepickerRange);var z=Object.defineProperty,W=Object.getOwnPropertyDescriptor,m=(i,e,t,s)=>{for(var n=s>1?void 0:s?W(e,t):e,l=i.length-1,r;l>=0;l--)(r=i[l])&&(n=(s?r(e,t,n):r(n))||n);return s&&n&&z(e,t,n),n};exports.PktDatepickerMultiple=class extends a.PktElement{constructor(){super(...arguments),this.value=[],this.inputType="date",this.id="",this.readonly=!1,this.disabled=!1,this.inputClasses={},this.strings={calendar:{buttonAltText:"Åpne kalender"}},this.inputRef=p.e(),this.btnRef=p.e()}get inputElement(){return this.inputRef.value}get buttonElement(){return this.btnRef.value}get isInputReadonly(){return this.readonly||this.inputType==="text"}get isInputDisabled(){return this.disabled||this.maxlength!==void 0&&this.maxlength!==null&&this.value.length>=this.maxlength}dispatchToggleCalendar(e){this.readonly||this.dispatchEvent(new CustomEvent("toggle-calendar",{detail:e,bubbles:!0,composed:!0}))}dispatchInput(e){this.dispatchEvent(new CustomEvent("input-change",{detail:e,bubbles:!0,composed:!0}))}dispatchFocus(){this.dispatchEvent(new CustomEvent("input-focus",{bubbles:!0,composed:!0}))}dispatchBlur(e){this.dispatchEvent(new CustomEvent("input-blur",{detail:e,bubbles:!0,composed:!0}))}dispatchChange(e){this.dispatchEvent(new CustomEvent("input-changed",{detail:e,bubbles:!0,composed:!0}))}dispatchAddToSelected(e){this.dispatchEvent(new CustomEvent("add-to-selected",{detail:e,bubbles:!0,composed:!0}))}createRenderRoot(){return this}render(){return a.x`
130
- <div class="pkt-input__container">
131
- <input
132
- class=${f.e(this.inputClasses)}
133
- .type=${this.inputType}
134
- id="${this.id}-input"
135
- min=${y.o(this.min)}
136
- max=${y.o(this.max)}
137
- placeholder=${y.o(this.placeholder)}
138
- ?readonly=${this.isInputReadonly}
139
- ?disabled=${this.isInputDisabled}
140
- @click=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
141
- @touchend=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
142
- @blur=${e=>{this.dispatchBlur(e),this.dispatchAddToSelected(e)}}
143
- @input=${e=>{this.dispatchInput(e),e.stopImmediatePropagation()}}
144
- @focus=${()=>{this.dispatchFocus(),b()&&this.dispatchToggleCalendar(new Event("focus"))}}
145
- @keydown=${e=>k.handleInputKeydown(e,t=>this.dispatchToggleCalendar(t),()=>D.submitFormOrFallback(this.internals,()=>{var t;return(t=this.inputRef.value)==null?void 0:t.blur()}),void 0,void 0,t=>this.dispatchAddToSelected(t))}
146
- @change=${e=>{this.dispatchChange(e),e.stopImmediatePropagation()}}
147
- ${p.n(this.inputRef)}
148
- />
149
- <button
150
- class="${f.e(C.getButtonClasses())}"
151
- type="button"
152
- @click=${e=>this.dispatchToggleCalendar(e)}
153
- @keydown=${e=>k.handleButtonKeydown(e,t=>this.dispatchToggleCalendar(t))}
154
- ?disabled=${this.disabled}
155
- ${p.n(this.btnRef)}
156
- >
157
- <pkt-icon name="calendar"></pkt-icon>
158
- <span class="pkt-btn__text">${this.strings.calendar.buttonAltText}</span>
159
- </button>
160
- </div>
161
- `}};m([a.n({type:Array})],exports.PktDatepickerMultiple.prototype,"value",2);m([a.n({type:String})],exports.PktDatepickerMultiple.prototype,"inputType",2);m([a.n({type:String})],exports.PktDatepickerMultiple.prototype,"id",2);m([a.n({type:String})],exports.PktDatepickerMultiple.prototype,"min",2);m([a.n({type:String})],exports.PktDatepickerMultiple.prototype,"max",2);m([a.n({type:String})],exports.PktDatepickerMultiple.prototype,"placeholder",2);m([a.n({type:Boolean})],exports.PktDatepickerMultiple.prototype,"readonly",2);m([a.n({type:Boolean})],exports.PktDatepickerMultiple.prototype,"disabled",2);m([a.n({type:Number})],exports.PktDatepickerMultiple.prototype,"maxlength",2);m([a.n({type:Object})],exports.PktDatepickerMultiple.prototype,"inputClasses",2);m([a.n({type:Object})],exports.PktDatepickerMultiple.prototype,"internals",2);m([a.n({type:Object})],exports.PktDatepickerMultiple.prototype,"strings",2);exports.PktDatepickerMultiple=m([a.t("pkt-datepicker-multiple")],exports.PktDatepickerMultiple);var H=Object.defineProperty,G=Object.getOwnPropertyDescriptor,o=(i,e,t,s)=>{for(var n=s>1?void 0:s?G(e,t):e,l=i.length-1,r;l>=0;l--)(r=i[l])&&(n=(s?r(e,t,n):r(n))||n);return s&&n&&H(e,t,n),n};exports.PktDatepicker=class extends I.PktInputElement{constructor(){super(),this._valueProperty="",this.datepickerPopupRef=p.e(),this._value=[],this.label="Datovelger",this.dateformat=$.props.dateformat.default,this.multiple=$.props.multiple.default,this.maxlength=null,this.range=$.props.range.default,this.showRangeLabels=!1,this.min=null,this.max=null,this.weeknumbers=$.props.weeknumbers.default,this.withcontrols=$.props.withcontrols.default,this.excludedates=[],this.excludeweekdays=[],this.currentmonth=null,this.calendarOpen=!1,this.timezone="Europe/Oslo",this.inputClasses={},this.calRef=p.e(),this.popupRef=p.e(),this.helptextSlot=p.e(),this.singleInputRef=p.e(),this.rangeInputRef=p.e(),this.multipleInputRef=p.e(),this.addToSelected=e=>{const t=this.datepickerPopupRef.value;return t&&typeof t.addToSelected=="function"?t.addToSelected(e,this.min,this.max):x.addToSelected(e,this.calRef,this.min,this.max)},this.slotController=new B.PktSlotController(this,this.helptextSlot)}get value(){return this._valueProperty}set value(e){const t=this._valueProperty;this._valueProperty=Array.isArray(e)?e.join(","):e||"",this.valueChanged(this._valueProperty,t),this.requestUpdate("value",t)}get inputType(){return j.getInputType()}connectedCallback(){super.connectedCallback(),this.timezone&&this.timezone!==window.pktTz&&(window.pktTz=this.timezone),this.name=P.normalizeNameForMultiple(this.name,this.multiple,this.range)||this.name}disconnectedCallback(){super.disconnectedCallback()}onInput(){this.dispatchEvent(new Event("input",{bubbles:!0}))}valueChanged(e,t){if(e===t)return;const s=u.valueToArray(e),n=this.multiple&&s.length>1?P.filterSelectableDates(s,this.min,this.max,this.excludedates,this.excludeweekdays):s;if(this.range&&!P.validateRangeOrder(n)){this._value=[],this._valueProperty="",super.valueChanged("",t);return}this._value=n;const l=u.arrayToCsv(n);this._valueProperty!==l&&(this._valueProperty=l),super.valueChanged(l,t)}attributeChangedCallback(e,t,s){e==="value"&&this.value!==t&&this.valueChanged(s,t),e==="excludedates"&&typeof this.excludedates=="string"&&(this.excludedates=u.valueToArray(s||"")),e==="excludeweekdays"&&typeof this.excludeweekdays=="string"&&(this.excludeweekdays=u.valueToArray(s||"")),super.attributeChangedCallback(e,t,s)}updated(e){if(e.has("value")){const t=Array.isArray(this.value)?this.value.join(","):this.value,s=e.get("value"),n=Array.isArray(s)?s.join(","):s;this.valueChanged(t,n)}(e.has("multiple")||e.has("range"))&&(this.name=P.normalizeNameForMultiple(this.name,this.multiple,this.range)||this.name),e.has("multiple")&&(this.multiple&&!Array.isArray(this._value)?this._value=u.valueToArray(this.value):!this.multiple&&Array.isArray(this._value)&&(this._value=this._value.filter(Boolean)),!this.multiple&&!this.range&&Array.isArray(this._value)&&(this._value=[this._value[0]??""])),super.updated(e)}get inputRef(){return{value:this.currentInputElement}}get inputRefTo(){return{value:this.currentInputElementTo}}get currentInputElement(){var e,t,s;return this.multiple?(e=this.multipleInputRef.value)==null?void 0:e.inputElement:this.range?(t=this.rangeInputRef.value)==null?void 0:t.inputElement:(s=this.singleInputRef.value)==null?void 0:s.inputElement}get currentInputElementTo(){var e;if(this.range)return(e=this.rangeInputRef.value)==null?void 0:e.inputElementTo}get currentButtonElement(){var e,t,s;return this.multiple?(e=this.multipleInputRef.value)==null?void 0:e.buttonElement:this.range?(t=this.rangeInputRef.value)==null?void 0:t.buttonElement:(s=this.singleInputRef.value)==null?void 0:s.buttonElement}get btnRef(){return{value:this.currentButtonElement}}renderInput(){return a.x`
162
- <pkt-datepicker-single
163
- .value=${this._value[0]??""}
164
- .inputType=${this.inputType}
165
- .id=${this.id}
166
- .min=${this.min}
167
- .max=${this.max}
168
- .placeholder=${this.placeholder}
169
- .readonly=${this.readonly}
170
- .disabled=${this.disabled}
171
- .inputClasses=${this.inputClasses}
172
- .internals=${this.internals}
173
- .strings=${this.strings}
174
- @toggle-calendar=${e=>this.toggleCalendar(e.detail)}
175
- @input-change=${()=>this.onInput()}
176
- @input-focus=${()=>this.onFocus()}
177
- @input-blur=${e=>{var t;(t=this.calRef.value)!=null&&t.contains(e.detail.relatedTarget)||this.onBlur()}}
178
- @manage-validity=${e=>this.manageValidity(e.detail)}
179
- @value-change=${e=>{this.value=e.detail}}
180
- @input-changed=${()=>{this.touched=!0}}
181
- ${p.n(this.singleInputRef)}
182
- ></pkt-datepicker-single>
183
- `}renderRangeInput(){return a.x`
184
- <pkt-datepicker-range
185
- .value=${this._value}
186
- .inputType=${this.inputType}
187
- .id=${this.id}
188
- .min=${this.min}
189
- .max=${this.max}
190
- .placeholder=${this.placeholder}
191
- .readonly=${this.readonly}
192
- .disabled=${this.disabled}
193
- .showRangeLabels=${this.showRangeLabels}
194
- .inputClasses=${this.inputClasses}
195
- .internals=${this.internals}
196
- .strings=${this.strings}
197
- @toggle-calendar=${e=>this.toggleCalendar(e.detail)}
198
- @input-change=${()=>this.onInput()}
199
- @input-focus=${()=>this.onFocus()}
200
- @input-blur=${e=>{var t;(t=this.calRef.value)!=null&&t.contains(e.detail.relatedTarget)||this.onBlur()}}
201
- @range-blur=${e=>{R.processRangeBlur(e.detail.event,e.detail.values,this.calRef,()=>this.clearInputValue(),t=>this.manageValidity(t))}}
202
- @manage-validity=${e=>this.manageValidity(e.detail)}
203
- @validate-date-input=${e=>{D.validateDateInput(e.detail,this.internals,this.min,this.max,this.strings)}}
204
- @handle-date-select=${e=>{var s,n;const t=u.fromISOToDate(e.detail);t&&this._value[1]!==u.formatISODate(t)&&((n=(s=this.calRef)==null?void 0:s.value)==null||n.handleDateSelect(t))}}
205
- @input-changed=${()=>{this.touched=!0}}
206
- ${p.n(this.rangeInputRef)}
207
- ></pkt-datepicker-range>
208
- `}renderMultipleInput(){return a.x`
209
- <pkt-datepicker-multiple
210
- .value=${this._value}
211
- .inputType=${this.inputType}
212
- .id=${this.id}
213
- .min=${this.min}
214
- .max=${this.max}
215
- .placeholder=${this.placeholder}
216
- .readonly=${this.readonly}
217
- .disabled=${this.disabled}
218
- .maxlength=${this.maxlength}
219
- .inputClasses=${this.inputClasses}
220
- .internals=${this.internals}
221
- .strings=${this.strings}
222
- @toggle-calendar=${e=>this.toggleCalendar(e.detail)}
223
- @input-change=${()=>this.onInput()}
224
- @input-focus=${()=>this.onFocus()}
225
- @input-blur=${e=>{var t;(t=this.calRef.value)!=null&&t.contains(e.detail.relatedTarget)||this.onBlur()}}
226
- @add-to-selected=${e=>this.addToSelected(e.detail)}
227
- @input-changed=${()=>{this.touched=!0}}
228
- ${p.n(this.multipleInputRef)}
229
- ></pkt-datepicker-multiple>
230
- `}renderCalendar(){return a.x`
231
- <pkt-datepicker-popup
232
- class="pkt-contents"
233
- ?open=${this.calendarOpen}
234
- ?multiple=${this.multiple}
235
- ?range=${this.range}
236
- ?weeknumbers=${this.weeknumbers}
237
- ?withcontrols=${this.withcontrols}
238
- .maxMultiple=${this.maxlength}
239
- .selected=${this._value}
240
- .earliest=${this.min}
241
- .latest=${this.max}
242
- .excludedates=${Array.isArray(this.excludedates)?this.excludedates:this.excludedates.split(",")}
243
- .excludeweekdays=${this.excludeweekdays}
244
- .currentmonth=${this.currentmonth?u.parseISODateString(this.currentmonth):null}
245
- @date-selected=${e=>{this.value=R.processDateSelection(e.detail,this.multiple,this.range),this._value=e.detail,R.updateInputValues(this.inputRef,this.inputRefTo,this._value,this.range,this.multiple,t=>this.manageValidity(t))}}
246
- @close=${()=>{this.onBlur(),this.hideCalendar()}}
247
- ${p.n(this.datepickerPopupRef)}
248
- ></pkt-datepicker-popup>
249
- `}render(){return this.inputClasses=C.getInputClasses(this.fullwidth,this.showRangeLabels,this.multiple,this.range,this.readonly,this.inputType),a.x`
250
- <pkt-input-wrapper
251
- label="${this.label}"
252
- forId="${this.id}-input"
253
- ?counter=${this.multiple&&!!this.maxlength}
254
- .counterCurrent=${this.value?this._value.length:0}
255
- .counterMaxLength=${this.maxlength}
256
- ?disabled=${this.disabled}
257
- ?hasError=${this.hasError}
258
- ?hasFieldset=${this.hasFieldset}
259
- ?inline=${this.inline}
260
- ?required=${this.required}
261
- ?optionalTag=${this.optionalTag}
262
- ?requiredTag=${this.requiredTag}
263
- useWrapper=${this.useWrapper}
264
- .optionalText=${this.optionalText}
265
- .requiredText=${this.requiredText}
266
- .tagText=${this.tagText}
267
- .errorMessage=${this.errorMessage}
268
- .helptext=${this.helptext}
269
- .helptextDropdown=${this.helptextDropdown}
270
- .helptextDropdownButton=${this.helptextDropdownButton}
271
- .ariaDescribedBy=${this.ariaDescribedBy}
272
- class="pkt-datepicker"
273
- >
274
- <div class="pkt-contents" ${p.n(this.helptextSlot)} name="helptext" slot="helptext"></div>
275
- ${this.multiple?a.x`<pkt-date-tags
276
- .dates=${this._value}
277
- dateformat=${this.dateformat}
278
- strings=${this.strings}
279
- id-base=${this.id}
280
- @date-tag-removed=${e=>{var n;const t=this.datepickerPopupRef.value,s=u.fromISOToDate(e.detail);t&&s&&typeof t.handleDateSelect=="function"?t.handleDateSelect(s):(n=this.calRef.value)==null||n.handleDateSelect(s)}}
281
- ></pkt-date-tags>`:a.E}
282
- <div
283
- class="pkt-datepicker__inputs ${this.range&&this.showRangeLabels?"pkt-input__range-inputs":""}"
284
- >
285
- ${this.range?this.renderRangeInput():this.multiple?this.renderMultipleInput():this.renderInput()}
286
- </div>
287
- </pkt-input-wrapper>
288
- ${this.renderCalendar()}
289
- `}handleCalendarPosition(){const e=this.multiple&&!!this.maxlength;x.handleCalendarPosition(this.popupRef,this.inputRef,e)}async showCalendar(){var t;const e=this.datepickerPopupRef.value;if(this.calendarOpen=!0,e&&typeof e.show=="function"){e.show(),b()&&e.focusOnCurrentDate();return}await S.sleep(20),this.handleCalendarPosition(),b()&&((t=this.calRef.value)==null||t.focusOnCurrentDate())}hideCalendar(){const e=this.datepickerPopupRef.value;if(this.calendarOpen=!1,e&&typeof e.hide=="function")return e.hide()}async toggleCalendar(e){e.preventDefault();const t=this.datepickerPopupRef.value;if(t&&typeof t.toggle=="function"){const s=!!t.open;t.toggle(),this.calendarOpen=!s;return}this.calendarOpen?this.hideCalendar():this.showCalendar()}clearInputValue(){this._value=[],this.value="",this.internals.setFormValue(this.value),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("value-change",{detail:this._value,bubbles:!0,composed:!0}))}};o([a.n({type:String,reflect:!0})],exports.PktDatepicker.prototype,"value",1);o([a.n({type:Array})],exports.PktDatepicker.prototype,"_value",2);o([a.n({type:String,reflect:!0})],exports.PktDatepicker.prototype,"label",2);o([a.n({type:String})],exports.PktDatepicker.prototype,"dateformat",2);o([a.n({type:Boolean,reflect:!0})],exports.PktDatepicker.prototype,"multiple",2);o([a.n({type:Number,reflect:!0})],exports.PktDatepicker.prototype,"maxlength",2);o([a.n({type:Boolean,reflect:!0})],exports.PktDatepicker.prototype,"range",2);o([a.n({type:Boolean})],exports.PktDatepicker.prototype,"showRangeLabels",2);o([a.n({type:String,reflect:!0})],exports.PktDatepicker.prototype,"min",2);o([a.n({type:String,reflect:!0})],exports.PktDatepicker.prototype,"max",2);o([a.n({type:Boolean})],exports.PktDatepicker.prototype,"weeknumbers",2);o([a.n({type:Boolean,reflect:!0})],exports.PktDatepicker.prototype,"withcontrols",2);o([a.n({converter:u.converters.csvToArray})],exports.PktDatepicker.prototype,"excludedates",2);o([a.n({converter:u.converters.csvToArray})],exports.PktDatepicker.prototype,"excludeweekdays",2);o([a.n({type:String})],exports.PktDatepicker.prototype,"currentmonth",2);o([a.n({type:Boolean,reflect:!0})],exports.PktDatepicker.prototype,"calendarOpen",2);o([a.n({type:String})],exports.PktDatepicker.prototype,"timezone",2);o([_.r()],exports.PktDatepicker.prototype,"inputClasses",2);exports.PktDatepicker=o([a.t("pkt-datepicker")],exports.PktDatepicker);