@oslokommune/punkt-react 16.21.0 → 16.21.1

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.
@@ -33,2390 +33,4 @@
33
33
  return [];
34
34
  };
35
35
  }
36
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react`),require(`react/jsx-runtime`),require(`react-router-dom`)):typeof define==`function`&&define.amd?define([`exports`,`react`,`react/jsx-runtime`,`react-router-dom`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e[`punkt-react`]={},e.React,e.ReactJsxRuntime,e.ReactRouterDOM))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var i=Object.create,a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=(e,t)=>()=>(e&&(t=e(e=0)),t),d=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),f=(e,t)=>{let n={};for(var r in e)a(n,r,{get:e[r],enumerable:!0});return t||a(n,Symbol.toStringTag,{value:`Module`}),n},p=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=s(t),c=0,u=i.length,d;c<u;c++)d=i[c],!l.call(e,d)&&d!==n&&a(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=o(t,d))||r.enumerable});return e},m=(e,t,n)=>(n=e==null?{}:i(c(e)),p(t||!e||!e.__esModule?a(n,`default`,{value:e,enumerable:!0}):n,e));t=m(t,1);var h=(0,t.createContext)({}),g=()=>(0,t.useContext)(h),_=(0,t.forwardRef)(({compact:e=!1,skin:t=`borderless`,ariaLabelledBy:r,children:i,name:a,className:o},s)=>{let c=[`pkt-accordion`,e&&`pkt-accordion--compact`,t&&`pkt-accordion--${t}`,o].filter(Boolean).join(` `);return(0,n.jsx)(h.Provider,{value:{name:a},children:(0,n.jsx)(`div`,{ref:s,className:c,"data-testid":`pkt-accordion`,"aria-labelledby":r||void 0,children:i})})});_.displayName=`PktAccordion`;var v=m(d(((e,t)=>{(function(){"use strict";var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()}))(),1),y=`https://punkt-cdn.oslo.kommune.no/16.21/icons/`;typeof window<`u`&&(window.pktFetch=window.pktFetch===void 0?fetch:window.pktFetch,window.pktIconPath=window.pktIconPath||y);var b=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>`,x={},S=2,C=1500,w=typeof Storage<`u`&&typeof sessionStorage<`u`,ee=typeof window<`u`?t.useLayoutEffect:t.useEffect,T=(e,t)=>!e||!w?``:sessionStorage.getItem(t+e+`.svg`)??``,E=e=>window.pktFetch(e).then(t=>{if(!t.ok)throw Error(`Missing icon: `+e);return t.text()}),te=async(e,t=S)=>{try{return await E(e)}catch{return t>0?(await new Promise(e=>setTimeout(e,C)),te(e,t-1)):(console.error(`Failed to fetch icon: `+e),b)}},ne=async(e,t)=>{let n=t+e+`.svg`;return w&&sessionStorage.getItem(n)?sessionStorage.getItem(n):n in x?x[n]:typeof window<`u`&&typeof window.pktFetch==`function`?(x[n]=te(n).then(e=>(e!==b&&w&&sessionStorage.setItem(n,e),delete x[n],e)),x[n]):b},re=e=>{if(e!==void 0)return e===!0||e===`true`},D=(0,t.forwardRef)(function({name:e=``,path:r,className:i,ariaHidden:a,ariaLabel:o,"aria-hidden":s,"aria-label":c,...l},u){let d=r??(typeof window<`u`?window.pktIconPath:y),f=(0,t.useRef)(null),p=re(a)??re(s),m=o??c,h=p===void 0?!m:p,g=h?void 0:m||e;ee(()=>{let t=f.current;if(!t)return;let n=e=>{let t=e.querySelector(`svg`);t&&(t.setAttribute(`aria-hidden`,String(h)),g?t.setAttribute(`aria-label`,g):t.removeAttribute(`aria-label`))};if(!e){t.innerHTML=``;return}let r=T(e,d);if(r){t.innerHTML=r,n(t);return}let i=!1;return ne(e,d).then(e=>{if(i)return;let t=f.current;t&&(t.innerHTML=e||b,n(t))}),()=>{i=!0}},[e,d,h,g]);let _=e=>{f.current=e,typeof u==`function`?u(e):u&&(u.current=e)};return(0,n.jsx)(`span`,{...l,ref:_,className:(0,v.default)(`pkt-icon`,i),...e?{name:e}:{},"data-path":d})});D.displayName=`PktIcon`;var O=(0,t.forwardRef)(({defaultOpen:e=!1,id:r,title:i,skin:a,compact:o=!1,isOpen:s,children:c,name:l,className:u,onClick:d,onToggle:f},p)=>{let[m,h]=(0,t.useState)(e),{name:_}=g(),v=l||_,y=s===void 0?m:s;return(0,t.useEffect)(()=>{s===void 0&&h(e)},[e,s]),(0,n.jsxs)(`details`,{ref:p,className:[`pkt-accordion-item`,o&&`pkt-accordion-item--compact`,a&&`pkt-accordion-item--${a}`,u].filter(Boolean).join(` `),id:r,open:y,onClick:e=>{setTimeout(()=>{d?.(e)},0)},name:v,onToggle:e=>{let t=e.currentTarget.open;t!==y&&(s===void 0&&h(t),f?.(e))},children:[(0,n.jsxs)(`summary`,{className:`pkt-accordion-item__title`,id:`pkt-accordion-item-summary-${r}`,children:[i,a===`plus-minus`?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(D,{name:`plus-sign`,className:`pkt-accordion-item__icon pkt-accordion-item__icon--plus`,"aria-hidden":`true`}),(0,n.jsx)(D,{name:`minus-sign`,className:`pkt-accordion-item__icon pkt-accordion-item__icon--minus`,"aria-hidden":`true`})]}):(0,n.jsx)(D,{name:`chevron-thin-down`,className:`pkt-accordion-item__icon`,"aria-hidden":`true`})]}),(0,n.jsx)(`div`,{className:`pkt-accordion-item__content`,id:`pkt-accordion-item__content-${r}`,role:`region`,children:(0,n.jsx)(`div`,{className:`pkt-accordion-item__content-inner`,children:c})})]})});O.displayName=`PktAccordionItem`,window.pktAnimationPath=window.pktAnimationPath||`https://punkt-cdn.oslo.kommune.no/16.21/animations/`;var k=(0,t.forwardRef)(({children:e,className:t,iconName:r=`user`,secondIconName:i=`user`,iconPath:a,secondIconPath:o,size:s=`medium`,fullWidth:c=!1,fullWidthOnMobile:l=!1,skin:u=`primary`,type:d=`button`,variant:f=`label-only`,state:p,color:m,isLoading:h=void 0,disabled:g=void 0,loadingAnimationPath:_=window.pktAnimationPath,...v},y)=>{let b=[t,`pkt-btn`,s&&`pkt-btn--${s}`,c&&`pkt-btn--full`,l&&`pkt-btn--full-small`,u&&`pkt-btn--${u}`,f&&`pkt-btn--${f}`,m&&`pkt-btn--${m}`,p&&`pkt-btn--${p}`,h&&`pkt-btn--isLoading`].filter(Boolean).join(` `);return(0,n.jsxs)(`button`,{...v,"aria-busy":h||void 0,"aria-disabled":g||void 0,disabled:g,className:b,type:d,ref:y,children:[h&&(0,n.jsx)(D,{className:`pkt-btn__icon pkt-btn__spinner`,name:`spinner-blue`,path:_}),f!==`label-only`&&(0,n.jsx)(D,{className:`pkt-btn__icon`,name:r,...a&&{path:a}}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:e}),f===`icons-right-and-left`&&(0,n.jsx)(D,{className:`pkt-btn__icon`,name:i,...o&&{path:o}})]})});k.displayName=`PktButton`;var ie=({children:e,closeAlert:r,compact:i,title:a,date:o,ariaLive:s,"aria-live":c=`polite`,role:l=`status`,skin:u=`info`,className:d,...f})=>{let[p,m]=(0,t.useState)(!1),h={"pkt-alert":!0,"pkt-alert--compact":i,[`pkt-alert--${u}`]:u,"pkt-hide":p},g={"pkt-alert__grid":!0,"pkt-alert__noTitle":!a,"pkt-alert__noDate":!o},_=(0,t.useCallback)(()=>{m(!0),f.onClose&&f.onClose(new CustomEvent(`close`,{detail:{origin:event},bubbles:!0,composed:!0}))},[f.onClose,m]),y=s||c;return(0,n.jsx)(`div`,{...f,"aria-live":y,role:l,className:(0,v.default)(h,d),children:(0,n.jsxs)(`div`,{className:(0,v.default)(g),children:[(0,n.jsx)(D,{className:`pkt-alert__icon`,"aria-hidden":`true`,name:u===`info`?`alert-information`:`alert-${u}`}),r&&(0,n.jsx)(`div`,{className:`pkt-alert__close`,children:(0,n.jsx)(k,{tabIndex:0,"aria-label":`close`,size:i?`small`:`medium`,type:`button`,skin:`tertiary`,iconName:`close`,variant:`icon-only`,onClick:_,children:(0,n.jsx)(`span`,{className:`sr-only`,children:`Lukk`})})}),a&&(0,n.jsx)(`div`,{className:`pkt-alert__title`,children:a}),(0,n.jsx)(`div`,{className:`pkt-alert__text`,children:e}),o&&(0,n.jsxs)(`div`,{className:`pkt-alert__date`,children:[`Sist oppdatert: `,o]})]})})};ie.displayName=`PktAlert`;var ae=(0,t.forwardRef)(({href:e=`/`,text:t=`Forsiden`,ariaLabel:r,renderLink:i,className:a,...o},s)=>{let c=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(D,{className:`pkt-back-link__icon pkt-icon pkt-link__icon`,name:`chevron-thin-left`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`pkt-back-link__text`,children:t})]}),l=i||(({href:e,className:t,children:r,props:i})=>(0,n.jsx)(`a`,{href:e,className:t,...i,children:r}));return(0,n.jsx)(`nav`,{className:[`pkt-back-link`,a].filter(Boolean).join(` `),"aria-label":r||`Gå tilbake til forrige side`,ref:s,children:l({href:e,className:`pkt-link pkt-link--icon-left`,children:c,props:o})})});ae.displayName=`PktBackLink`;var oe=(0,t.forwardRef)(({breadcrumbs:e,navigationType:t,renderLink:i,className:a,...o},s)=>{let c=e,l=c[c.length-2],u=[a,`pkt-breadcrumbs`].filter(Boolean).join(` `),d=i||(t===`router`?({href:e,className:t,children:i,props:a})=>(0,n.jsx)(r.Link,{to:e,className:t,...a,children:i}):({href:e,className:t,children:r,props:i})=>(0,n.jsx)(`a`,{href:e,className:t,...i,children:r}));return(0,n.jsxs)(`nav`,{ref:s,"aria-label":`brødsmulemeny`,className:u,children:[(0,n.jsx)(`ol`,{className:`pkt-breadcrumbs__list pkt-breadcrumbs--desktop`,children:c.map((e,t)=>(0,n.jsx)(`li`,{className:`pkt-breadcrumbs__item`,children:t===c.length-1?(0,n.jsx)(`span`,{className:`pkt-breadcrumbs__label`,"aria-current":`true`,children:(0,n.jsx)(`span`,{className:`pkt-breadcrumbs__text`,children:e.text})}):d({href:e.href,className:`pkt-link pkt-link--icon-right pkt-breadcrumbs__label pkt-breadcrumbs__link`,children:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(D,{className:`pkt-icon pkt-breadcrumbs__icon pkt-link__icon`,name:`chevron-thin-right`}),(0,n.jsx)(`span`,{className:`pkt-breadcrumbs__text`,children:e.text})]}),props:o})},`breadcrumb-${t}`))}),d({href:l.href,className:`pkt-link pkt-link--icon-left pkt-breadcrumbs--mobile`,children:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(D,{className:`pkt-back-link__icon pkt-icon pkt-link__icon`,name:`chevron-thin-left`}),(0,n.jsx)(`span`,{className:`pkt-breadcrumbs__text`,children:l.text})]}),props:o})]})});oe.displayName=`PktBreadcrumbs`;var se=365.2425,ce=6048e5,A=864e5,j=3600*24;j*7,j*se/12*3;var le=Symbol.for(`constructDateFrom`);function ue(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&le in e?e[le](t):e instanceof Date?new e.constructor(t):new Date(t)}function M(e,t){return ue(t||e,e)}function de(e,t,n){let r=M(e,n?.in);return isNaN(t)?ue(n?.in||e,NaN):(t&&r.setDate(r.getDate()+t),r)}var N={};function P(){return N}function F(e,t){let n=P(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=M(e,t?.in),a=i.getDay(),o=(a<r?7:0)+a-r;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function I(e,t){return F(e,{...t,weekStartsOn:1})}function fe(e,t){let n=M(e,t?.in),r=n.getFullYear(),i=ue(n,0);i.setFullYear(r+1,0,4),i.setHours(0,0,0,0);let a=I(i),o=ue(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);let s=I(o);return n.getTime()>=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function pe(e){let t=M(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 me(e,...t){let n=ue.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function L(e,t){let n=M(e,t?.in);return n.setHours(0,0,0,0),n}function he(e,t,n){let[r,i]=me(n?.in,e,t),a=L(r),o=L(i),s=+a-pe(a),c=+o-pe(o);return Math.round((s-c)/A)}function ge(e,t){let n=fe(e,t),r=ue(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),I(r)}function R(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function _e(e){return!(!R(e)&&typeof e!=`number`||isNaN(+M(e)))}function z(e,t){let n=M(e,t?.in);return n.setHours(23,59,59,999),n}function ve(e,t){let[n,r]=me(e,t.start,t.end);return{start:n,end:r}}function B(e,t){let{start:n,end:r}=ve(t?.in,e),i=+n>+r,a=i?+n:+r,o=i?r:n;o.setHours(0,0,0,0);let s=t?.step??1;if(!s)return[];s<0&&(s=-s,i=!i);let c=[];for(;+o<=a;)c.push(ue(n,o)),o.setDate(o.getDate()+s),o.setHours(0,0,0,0);return i?c.reverse():c}function ye(e,t){let n=M(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}var be={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`}},xe=(e,t,n)=>{let r,i=be[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function Se(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var Ce={date:Se({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:Se({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:Se({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},we={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},Te=(e,t,n,r)=>we[e];function Ee(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}var De={ordinalNumber:(e,t)=>{let 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`},era:Ee({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:Ee({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:Ee({values:{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`]},defaultWidth:`wide`}),day:Ee({values:{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`]},defaultWidth:`wide`}),dayPeriod:Ee({values:{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`}},defaultWidth:`wide`,formattingValues:{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`}},defaultFormattingWidth:`wide`})};function Oe(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?Ae(s,e=>e.test(o)):ke(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function ke(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Ae(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function je(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}var Me={code:`en-US`,formatDistance:xe,formatLong:Ce,formatRelative:Te,localize:De,match:{ordinalNumber:je({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:Oe({matchPatterns:{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},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:Oe({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:Oe({matchPatterns:{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},defaultMatchWidth:`wide`,parsePatterns:{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]},defaultParseWidth:`any`}),day:Oe({matchPatterns:{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},defaultMatchWidth:`wide`,parsePatterns:{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]},defaultParseWidth:`any`}),dayPeriod:Oe({matchPatterns:{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},defaultMatchWidth:`any`,parsePatterns:{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}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function Ne(e,t){let n=M(e,t?.in);return he(n,ye(n))+1}function Pe(e,t){let n=M(e,t?.in),r=I(n)-+ge(n);return Math.round(r/ce)+1}function Fe(e,t){let n=M(e,t?.in),r=n.getFullYear(),i=P(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=ue(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=F(o,t),c=ue(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=F(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function Ie(e,t){let n=P(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=Fe(e,t),a=ue(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),F(a,t)}function Le(e,t){let n=M(e,t?.in),r=F(n,t)-+Ie(n,t);return Math.round(r/ce)+1}function V(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var Re={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return V(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):V(n+1,2)},d(e,t){return V(e.getDate(),t.length)},a(e,t){let 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];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return V(e.getHours()%12||12,t.length)},H(e,t){return V(e.getHours(),t.length)},m(e,t){return V(e.getMinutes(),t.length)},s(e,t){return V(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return V(Math.trunc(r*10**(n-3)),t.length)}},ze={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},Be={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return Re.y(e,t)},Y:function(e,t,n,r){let i=Fe(e,r),a=i>0?i:1-i;return t===`YY`?V(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):V(a,t.length)},R:function(e,t){return V(fe(e),t.length)},u:function(e,t){return V(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return V(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`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return V(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`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return Re.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`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return V(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`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=Le(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):V(i,t.length)},I:function(e,t,n){let r=Pe(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):V(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):Re.d(e,t)},D:function(e,t,n){let r=Ne(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):V(r,t.length)},E:function(e,t,n){let 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`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return V(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return V(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return V(i,t.length);case`io`:return n.ordinalNumber(i,{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`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?ze.noon:r===0?ze.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?ze.evening:r>=12?ze.afternoon:r>=4?ze.morning:ze.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return Re.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):Re.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):V(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):V(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):Re.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):Re.s(e,t)},S:function(e,t){return Re.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return He(r);case`XXXX`:case`XX`:return Ue(r);default:return Ue(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return He(r);case`xxxx`:case`xx`:return Ue(r);default:return Ue(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+Ve(r,`:`);default:return`GMT`+Ue(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+Ve(r,`:`);default:return`GMT`+Ue(r,`:`)}},t:function(e,t,n){return V(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return V(+e,t.length)}};function Ve(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+V(a,2)}function He(e,t){return e%60==0?(e>0?`-`:`+`)+V(Math.abs(e)/60,2):Ue(e,t)}function Ue(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=V(Math.trunc(r/60),2),a=V(r%60,2);return n+i+t+a}var We=(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`});default:return t.date({width:`full`})}},Ge=(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`});default:return t.time({width:`full`})}},Ke={p:Ge,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return We(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`});break}return a.replace(`{{date}}`,We(r,t)).replace(`{{time}}`,Ge(i,t))}},qe=/^D+$/,Je=/^Y+$/,Ye=[`D`,`DD`,`YY`,`YYYY`];function Xe(e){return qe.test(e)}function Ze(e){return Je.test(e)}function Qe(e,t,n){let r=$e(e,t,n);if(console.warn(r),Ye.includes(e))throw RangeError(r)}function $e(e,t,n){let 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`}var et=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,tt=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,nt=/^'([^]*?)'?$/,rt=/''/g,it=/[a-zA-Z]/;function at(e,t,n){let r=P(),i=n?.locale??r.locale??Me,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=M(e,n?.in);if(!_e(s))throw RangeError(`Invalid time value`);let c=t.match(tt).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=Ke[t];return n(e,i.formatLong)}return e}).join(``).match(et).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:ot(e)};if(Be[t])return{isToken:!0,value:e};if(t.match(it))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&Ze(a)||!n?.useAdditionalDayOfYearTokens&&Xe(a))&&Qe(a,t,String(e));let o=Be[a[0]];return o(s,a,i.localize,l)}).join(``)}function ot(e){let t=e.match(nt);return t?t[1].replace(rt,`'`):e}function st(e,t){let n=M(e,t?.in).getDay();return n===0?7:n}function ct(e,t,n=`long`){return new Intl.DateTimeFormat(`en-US`,{hour:`numeric`,timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(` `)}var lt={},ut={};function dt(e,t){try{let n=(lt[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in ut?ut[n]:pt(n,n.split(`:`))}catch{if(e in ut)return ut[e];let t=e?.match(ft);return t?pt(e,t.slice(1)):NaN}}var ft=/([+-]\d\d):?(\d\d)?/;function pt(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return ut[e]=n*60+r>0?n*60+r+i:n*60-r-i}var mt=class e extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]==`string`&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(dt(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]==`number`&&(e.length===1||e.length===2&&typeof e[1]!=`number`)?this.setTime(e[0]):typeof e[0]==`string`?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),vt(this,NaN),gt(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){let e=-dt(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),gt(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}},ht=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!ht.test(e))return;let t=e.replace(ht,`$1UTC`);mt.prototype[t]&&(e.startsWith(`get`)?mt.prototype[e]=function(){return this.internal[t]()}:(mt.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),_t(this),+this},mt.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),gt(this),+this}))});function gt(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-dt(e.timeZone,e)*60))}function _t(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()),vt(e)}function vt(e){let t=dt(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);let i=-new Date(+e).getTimezoneOffset(),a=i- -new Date(+r).getTimezoneOffset(),o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();a&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+a);let s=i-n;s&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+s);let c=new Date(+e);c.setUTCSeconds(0);let l=i>0?c.getSeconds():(c.getSeconds()-60)%60,u=Math.round(-(dt(e.timeZone,e)*60))%60;(u||l)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+u),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+u+l));let d=dt(e.timeZone,e),f=d>0?Math.floor(d):Math.ceil(d),p=-new Date(+e).getTimezoneOffset()-f,m=f!==n,h=p-s;if(m&&h){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+h);let t=dt(e.timeZone,e),n=f-(t>0?Math.floor(t):Math.ceil(t));n&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+n),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n))}}var yt=class e extends mt{static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}toISOString(){let[e,t,n]=this.tzComponents(),r=`${e}${t}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){let[e,t,n,r]=this.internal.toUTCString().split(` `);return`${e?.slice(0,-1)} ${n} ${t} ${r}`}toTimeString(){let e=this.internal.toUTCString().split(` `)[4],[t,n,r]=this.tzComponents();return`${e} GMT${t}${n}${r} (${ct(this.timeZone,this)})`}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){let e=this.getTimezoneOffset();return[e>0?`-`:`+`,String(Math.floor(Math.abs(e)/60)).padStart(2,`0`),String(Math.abs(e)%60).padStart(2,`0`)]}withTimeZone(t){return new e(+this,t)}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}};window.pktTz=window.pktTz===void 0?`Europe/Oslo`:window.pktTz;var bt=(e=window.pktTz)=>{let t=new yt(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 xt(e){if(!e||e===``)return new Date;if(/^\d{4}-\d{2}-\d{2}$/.test(e)){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r)}if(/^\d{4}-\d{2}$/.test(e)){let[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)}var St=e=>!e||isNaN(e.getTime())?``:`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,Ct=e=>{if(!e)return null;let t=xt(e);return isNaN(t.getTime())?null:t},wt=(e,t)=>{let n=Tt(e);return isNaN(n.getTime())?``:at(n,t)},Tt=(e=``,t)=>{let n=typeof e==`string`?xt(e):e;return!n||isNaN(n.getTime())?new Date:t?t===`end`?z(n):L(n):n},Et=(e,t,n=1)=>{if(typeof e!=`number`||typeof t!=`number`||typeof n!=`number`||isNaN(e)||isNaN(t)||isNaN(n))return new Date;let r=new Date(e,t,n);return isNaN(r.getTime())?new Date:r},Dt=e=>{let t;return t=new yt(e,window.pktTz),t.setHours(12,0,0,0),t},Ot=null,kt=void 0,At=e=>{if(!e||isNaN(e.getTime()))return``;let t=typeof window<`u`?window.pktTz:void 0;return(!Ot||kt!==t)&&(Ot=new Intl.DateTimeFormat(`no`,{dateStyle:`full`,timeZone:t}),kt=t),Ot.format(e)},jt=(e,t,n)=>{if(!e||isNaN(e.getTime()))return!1;let r=t?Tt(t):null,i=n?Tt(n):null;return!(r&&e<r||i&&e>i)},Mt=(e,t)=>{if(!e||isNaN(e.getTime())||!Array.isArray(t))return!1;let n=St(e);return t.includes(n)},Nt=(e,t)=>{if(!e||isNaN(e.getTime())||!Array.isArray(t))return!1;let n=e.getDay().toString();return t.includes(n)},Pt=(e,t,n,r,i)=>!(!e||isNaN(e.getTime())||!jt(e,t,n)||r&&Mt(e,r)||i&&Nt(e,i)),Ft=(e,t,n,r,i)=>e.filter(e=>{let a=Ct(e);return a&&Pt(a,t,n,r,i)}),It=e=>e.slice().sort((e,t)=>{let n=Ct(e),r=Ct(t);return!n||!r?0:n.getTime()-r.getTime()}),Lt=(e,t)=>{let n=Ct(e),r=Ct(t);return!n||!r?!1:n<=r};function Rt(e,t){let n=(t.excludedates??[]).map(e=>typeof e==`string`?e:St(e));return!Pt(e,t.earliest,t.latest,n,t.excludeweekdays??[])}function zt(e,t,n,r){return!!(Rt(e,n)||!t&&r.multiple&&r.maxMultiple>0&&r.selectedCount>=r.maxMultiple)}function Bt(e,t,n){let r=Et(e,t,0);return!(n&&Tt(n)>r)}function Vt(e,t,n){let r=Et(t===11?e+1:e,t===11?0:t+1,1);return!(n&&Tt(n)<r)}function Ht(e){return typeof e==`string`&&(e=e.split(`,`)),e.length===1&&e[0]===``?[]:e.map(e=>xt(e))}function Ut(e,t){let n=B({start:e,end:t}),r={};if(Array.isArray(n)&&n.length)for(let i=0;i<n.length;i++){let a=n[i],o=a>e&&a<t;r[St(a)]=o}return r}function Wt(e,t,n,r){if(t.length!==1)return!0;let i=B({start:t[0],end:e});if(!Array.isArray(i)||!i.length)return!0;for(let a=0;a<i.length;a++){for(let r of n??[])if(r>t[0]&&r<e)return!1;if((r??[]).includes(st(i[a]).toString()))return!1}return!0}function Gt(e,t){let n=St(e);return t.includes(n)?t:[...t,n]}function Kt(e,t){let n=St(e),r=t.indexOf(n);if(r===-1)return t;if(t.length===1)return[];let i=[...t];return i.splice(r,1),i}function qt(e,t,n){let r=St(e);return t.includes(r)?Kt(e,t):n>0&&t.length>=n?t:Gt(e,t)}function Jt(e,t,n){let r=St(e),i=Ht(t);return t.includes(r)?t.indexOf(r)===0?[]:Kt(e,t):t.length>1||t.length===1&&(!Wt(e,i,n.excludedates,n.excludeweekdays)||i[0]>e)?[r]:Gt(e,t)}function Yt(e,t){let n=Et(e,t,1),r=Et(e,t+1,0),i=(n.getDay()+6)%7,a=r.getDate();return{firstDayOfMonth:n,lastDayOfMonth:r,startingDay:i,numDays:a,numRows:Math.ceil((a+i)/7),numDaysPrevMonth:Et(e,t,0).getDate(),initialWeek:Le(n)}}function Xt(e,t,n,r){let{startingDay:i,numDays:a}=r;return e===0&&t<i?`prev-month`:n>a?`next-month`:`current-month`}function Zt(e,t,n,r){let{startingDay:i,numDaysPrevMonth:a,numDays:o}=r;return e===`prev-month`?a-(i-t-1):e===`next-month`?n-o:n}var Qt={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7};function $t(e){let t=e.nodeName;return t===`INPUT`||t===`SELECT`||t===`BUTTON`&&!e.dataset?.date}function en(e,t,n){let r=de(e,t);if(!r)return null;let i=n(`button[data-date="${St(r)}"]`);for(;i instanceof HTMLButtonElement&&i.dataset.disabled;)if(r=de(r,t),i=n(`button[data-date="${St(r)}"]`),!i)return null;return r}function tn(e){return Qt[e]??null}var nn={month:`Måned`,year:`År`,days:[`Mandag`,`Tirsdag`,`Onsdag`,`Torsdag`,`Fredag`,`Lørdag`,`Søndag`],daysShort:[`Man`,`Tir`,`Ons`,`Tor`,`Fre`,`Lør`,`Søn`],months:[`Januar`,`Februar`,`Mars`,`April`,`Mai`,`Juni`,`Juli`,`August`,`September`,`Oktober`,`November`,`Desember`],week:`Uke`,prevMonth:`Forrige måned`,nextMonth:`Neste måned`};function rn(e){let{selected:n,multiple:r=!1,maxMultiple:i=0,range:a=!1,earliest:o=null,latest:s=null,excludedates:c,excludeweekdays:l=[],weeknumbers:u=!1,withcontrols:d=!1,currentmonth:f,today:p,strings:m,onDateSelected:h,onClose:g,id:_,className:v}=e,y=(0,t.useId)(),b=_??y,x=(0,t.useMemo)(()=>({...nn,...m}),[m]),S=(0,t.useMemo)(()=>p?xt(p):bt(),[p]),C=(0,t.useMemo)(()=>c?c.map(e=>typeof e==`string`?xt(e):e):[],[c]),w=n!==void 0,[ee,T]=(0,t.useState)([]),E=w?n:ee,te=(0,t.useMemo)(()=>Ht(E),[E]),[ne,re]=(0,t.useState)(0),[D,O]=(0,t.useState)(0),[k,ie]=(0,t.useState)({}),[ae,oe]=(0,t.useState)(null),[se,ce]=(0,t.useState)(null),A=(0,t.useRef)(null),j=(0,t.useRef)([]),le=(0,t.useRef)(0),ue=(0,t.useRef)(!1),M=(0,t.useRef)(!1),de=(0,t.useMemo)(()=>({earliest:o,latest:s,excludedates:C,excludeweekdays:l}),[o,s,C,l]);(0,t.useEffect)(()=>{let e=null;if(f!=null&&(f instanceof Date?e=Dt(f):typeof f==`string`&&(e=xt(f))),!e||isNaN(e.getTime()))if(E.length>0&&E[0]!==``){let t=xt(E[E.length-1]);e=isNaN(t.getTime())?Dt(S):t}else e=Dt(S);if((!e||isNaN(e.getTime()))&&(e=Dt(S)),s){let t=typeof s==`string`?xt(s):s;!isNaN(t.getTime())&&e>t&&(e=t)}if(o){let t=typeof o==`string`?xt(o):o;!isNaN(t.getTime())&&e<t&&(e=t)}re(e.getFullYear()),O(e.getMonth()),M.current=!0},[]),(0,t.useEffect)(()=>{if(M.current&&!ue.current&&E.length>0&&E[0]!==``){let e=xt(E[E.length-1]);isNaN(e.getTime())||(re(e.getFullYear()),O(e.getMonth()))}},[E]),(0,t.useEffect)(()=>{a&&te.length===2?ie(Ut(te[0],te[1])):(!a||te.length<2)&&ie({})},[a,te]);let N=(0,t.useCallback)(e=>{w||T(e),h?.(e)},[w,h]),P=(0,t.useCallback)(()=>{g?.()},[g]),F=(0,t.useCallback)((e,t)=>{re(typeof e==`string`?parseInt(e):e),O(typeof t==`string`?parseInt(t):t),le.current=0,ce(null),j.current=[],ue.current=!0},[]),I=(0,t.useCallback)(()=>{let e=D===0?11:D-1;F(D===0?ne-1:ne,e)},[ne,D,F]),fe=(0,t.useCallback)(()=>{let e=D===11?0:D+1;F(D===11?ne+1:ne,e)},[ne,D,F]),pe=(0,t.useCallback)(e=>Rt(e,de),[de]),me=(0,t.useCallback)((e,t)=>zt(e,t,de,{multiple:r,maxMultiple:i,selectedCount:E.length}),[de,r,i,E.length]),L=(0,t.useCallback)(()=>typeof E==`string`?E.split(`,`):E,[E]),he=(0,t.useCallback)(e=>{if(!a||te.length!==1||!Wt(e,te,C,l)||te[0]>=e){oe(null);return}oe(e),ie(Ut(te[0],e))},[a,te,C,l]),ge=(0,t.useCallback)(e=>{if(!e)return;let t;if(a)t=Jt(e,L(),{excludedates:C,excludeweekdays:l}),w||T(t),t.length===2?(h?.(t),P()):(t.length===1&&ie({}),h?.(t));else if(r)t=qt(e,L(),i),N(t);else{let n=St(e);t=E.includes(n)?[]:[n],N(t),P()}},[a,r,i,L,E,C,l,w,N,P,h]),R=(0,t.useCallback)(e=>{let t=Gt(e,L());w||T(t),a&&t.length===2&&(h?.(t),P())},[L,w,a,h,P]),_e=(0,t.useCallback)(e=>{let t=Kt(e,L());w||T(t)},[L,w]),z=(0,t.useCallback)(e=>{let t=qt(e,L(),i);w||T(t)},[L,i,w]),ve=(0,t.useCallback)(()=>{let e=St(Dt(S)),t=A.current?.querySelector(`button[data-date="${e}"]`);if(t instanceof HTMLButtonElement){ce(e),t.focus();return}let n=j.current.find(e=>!e.isDisabled);if(n){let e=A.current?.querySelector(`button[data-date="${n.currentDateISO}"]`);e instanceof HTMLButtonElement&&(ce(n.currentDateISO),e.focus())}},[]),B=(0,t.useCallback)((e,t)=>{let n=e.target;if($t(n))return;if(e.preventDefault(),!se){ve();return}let r=en(Tt(se),t,A.current.querySelector.bind(A.current));if(r){let e=A.current.querySelector(`button[data-date="${St(r)}"]`);e instanceof HTMLButtonElement&&!e.dataset.disabled&&(ce(St(r)),e.focus())}},[se,ve]);return{componentId:b,strings:x,todayDate:S,year:ne,month:D,activeSelected:E,_selected:te,inRange:k,rangeHovered:ae,focusedDate:se,range:a,multiple:r,weeknumbers:u,withcontrols:d,earliest:o,latest:s,excludedates:C,excludeweekdays:l,className:v,dateConstraints:de,calendarRef:A,selectableDatesRef:j,tabIndexSetRef:le,prevMonth:I,nextMonth:fe,changeMonth:F,handleDateSelect:ge,addToSelected:R,removeFromSelected:_e,toggleSelectedDate:z,handleRangeHover:he,isExcluded:pe,isDayDisabled:me,focusOnCurrentDate:ve,handleKeydown:(0,t.useCallback)(e=>{if(e.key===`Escape`){e.preventDefault(),P();return}let t=tn(e.key);t!==null&&B(e.nativeEvent,t)},[P,B]),handleFocusOut:(0,t.useCallback)(e=>{A.current&&!A.current.contains(e.relatedTarget)&&!e.target.classList.contains(`pkt-hide`)&&P()},[P]),close:P,setFocusedDate:ce}}var an=({componentId:e,strings:t,year:r,month:i,earliest:a,latest:o,withcontrols:s,prevMonth:c,nextMonth:l,changeMonth:u})=>{let d=e=>{let s=e===`prev`,u=s?Bt(r,i,a):Vt(r,i,o),d=s?t.prevMonth:t.nextMonth,f=s?`chevron-thin-left`:`chevron-thin-right`,p=s?`pkt-calendar__prev-month`:`pkt-calendar__next-month`,m=s?c:l;return(0,n.jsx)(`div`,{children:(0,n.jsxs)(`button`,{type:`button`,"aria-label":d,onClick:()=>u&&m(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),u&&m())},className:[`pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only`,p,!u&&`pkt-invisible`].filter(Boolean).join(` `),"data-disabled":u?void 0:`disabled`,"aria-disabled":!u||void 0,tabIndex:u?0:-1,children:[(0,n.jsx)(D,{className:`pkt-btn__icon`,name:f}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:d})]})})};return(0,n.jsxs)(`nav`,{className:`pkt-cal-month-nav`,children:[d(`prev`),s?(0,n.jsxs)(`div`,{className:`pkt-cal-month-picker`,children:[(0,n.jsx)(`label`,{htmlFor:`${e}-monthnav`,className:`pkt-hide`,children:t.month}),(0,n.jsx)(`select`,{"aria-label":t.month,className:`pkt-input pkt-input-compact`,id:`${e}-monthnav`,value:i,onChange:e=>{e.stopPropagation(),u(r,parseInt(e.target.value))},children:t.months.map((e,t)=>(0,n.jsx)(`option`,{value:t,children:e},t))}),(0,n.jsx)(`label`,{htmlFor:`${e}-yearnav`,className:`pkt-hide`,children:t.year}),(0,n.jsx)(`input`,{"aria-label":t.year,className:`pkt-input pkt-cal-input-year pkt-input-compact`,id:`${e}-yearnav`,type:`number`,size:4,placeholder:`0000`,value:r,onChange:e=>{e.stopPropagation(),u(parseInt(e.target.value),i)}})]}):(0,n.jsxs)(`div`,{className:`pkt-txt-16-medium pkt-calendar__month-title`,"aria-live":`polite`,children:[t.months[i],` `,r]}),d(`next`)]})};function on(e,t,n){let r=Et(n.year,n.month,e),i=St(r),a=i===St(t),o=n.activeSelected.includes(i),s=n.isDayDisabled(r,o),c;return n.focusedDate?c=n.focusedDate===i&&!s?`0`:`-1`:!s&&n.tabIndexSetRef.current===0?(n.tabIndexSetRef.current=e,c=`0`):c=n.tabIndexSetRef.current===e?`0`:`-1`,{currentDate:r,currentDateISO:i,isToday:a,isSelected:o,isDisabled:s,ariaLabel:At(r),tabindex:c}}function sn(e,t){let{currentDateISO:n,isToday:r,isSelected:i}=e,a=t.range&&(t.activeSelected.length===2||t.rangeHovered!==null)&&n===t.activeSelected[0],o=t.range&&t.activeSelected.length===2&&n===t.activeSelected[1];return(0,v.default)({"pkt-cal-today":r,"pkt-cal-selected":i,"pkt-cal-in-range":t.inRange[n],"pkt-cal-excluded":t.isExcluded(e.currentDate),"pkt-cal-in-range-first":a,"pkt-cal-in-range-last":o,"pkt-cal-range-hover":t.rangeHovered!==null&&n===St(t.rangeHovered)})}function cn(e,t){let{currentDateISO:n,isToday:r,isSelected:i,isDisabled:a}=e,o=t.range&&(t.activeSelected.length===2||t.rangeHovered!==null)&&n===t.activeSelected[0],s=t.range&&t.activeSelected.length===2&&n===t.activeSelected[1];return(0,v.default)({"pkt-calendar__date":!0,"pkt-calendar__date--today":r,"pkt-calendar__date--selected":i,"pkt-calendar__date--disabled":a,"pkt-calendar__date--in-range":t.inRange[n],"pkt-calendar__date--in-range-hover":t.rangeHovered!==null&&n===St(t.rangeHovered),"pkt-calendar__date--range-start":o,"pkt-calendar__date--range-end":s})}var ln=({state:e})=>{let{strings:t,year:r,month:i,activeSelected:a,focusedDate:o,inRange:s,rangeHovered:c,range:l,multiple:u,weeknumbers:d,selectableDatesRef:f,tabIndexSetRef:p,handleDateSelect:m,handleRangeHover:h,isExcluded:g,isDayDisabled:_,setFocusedDate:v,todayDate:y}=e,b={year:r,month:i,activeSelected:a,focusedDate:o,tabIndexSetRef:p,isDayDisabled:_},x={range:l,activeSelected:a,rangeHovered:c,inRange:s,isExcluded:g},S=()=>{let e=[];d&&e.push((0,n.jsx)(`th`,{children:(0,n.jsx)(`div`,{className:`pkt-calendar__week-number`,children:t.week})},`week-header`));for(let r=0;r<t.daysShort.length;r++)e.push((0,n.jsx)(`th`,{children:(0,n.jsx)(`div`,{className:`pkt-calendar__day-name`,"aria-label":t.days[r],children:t.daysShort[r]})},`day-${r}`));return(0,n.jsx)(`tr`,{className:`pkt-cal-week-row`,children:e})},C=(e,t)=>{let r=on(e,t,b),{currentDate:i,currentDateISO:a,isSelected:o,isDisabled:s,ariaLabel:c,tabindex:u}=r;f.current.push({currentDateISO:a,isDisabled:s,tabindex:u});let d=sn(r,x),p=cn(r,x);return(0,n.jsx)(`td`,{className:d,children:(0,n.jsx)(`button`,{type:`button`,"aria-pressed":o?`true`:`false`,disabled:s,className:`pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only ${p}`,onMouseOver:()=>l&&!g(i)&&h(i),onFocus:()=>{l&&!g(i)&&h(i),v(a)},"aria-label":c,tabIndex:parseInt(u),"data-disabled":s?`disabled`:void 0,"data-date":a,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),m(i))},onClick:e=>{s||(e.preventDefault(),m(i))},children:(0,n.jsx)(`span`,{className:`pkt-btn__text pkt-txt-14-light`,children:e})})},a)},w=(e,t)=>(0,n.jsx)(`td`,{className:`pkt-cal-other`,children:(0,n.jsx)(`div`,{className:`pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only`,"data-disabled":`disabled`,children:(0,n.jsx)(`span`,{className:`pkt-btn__text pkt-txt-14-light`,children:e})})},t);return(0,n.jsxs)(`table`,{className:`pkt-cal-days pkt-txt-12-medium pkt-calendar__body`,role:`grid`,"aria-multiselectable":l||u||void 0,children:[(0,n.jsx)(`thead`,{children:S()}),(0,n.jsx)(`tbody`,{children:(()=>{let e=y,t=Yt(r,i);f.current=[],p.current=0;let a=1,o=t.initialWeek,s=[];for(let r=0;r<t.numRows;r++){let i=[];d&&i.push((0,n.jsx)(`td`,{className:`pkt-cal-week`,children:o},`week-${o}`)),o++;for(let n=0;n<7;n++){let o=Xt(r,n,a,t);if(o===`current-month`)i.push(C(a,e)),a++;else{let e=Zt(o,n,a,t);i.push(w(e,`${o}-${r}-${n}`)),o===`next-month`&&a++}}s.push((0,n.jsx)(`tr`,{className:`pkt-cal-week-row`,role:`row`,children:i},`row-${r}`))}return s})()})]})},un=(0,t.forwardRef)((e,r)=>{let i=rn(e);return(0,t.useImperativeHandle)(r,()=>({handleDateSelect:i.handleDateSelect,addToSelected:i.addToSelected,removeFromSelected:i.removeFromSelected,toggleSelected:i.toggleSelectedDate,focusOnCurrentDate:i.focusOnCurrentDate,close:i.close}),[i.handleDateSelect,i.addToSelected,i.removeFromSelected,i.toggleSelectedDate,i.focusOnCurrentDate,i.close]),(0,n.jsxs)(`div`,{ref:i.calendarRef,className:[`pkt-calendar`,i.weeknumbers&&`pkt-cal-weeknumbers`,i.className].filter(Boolean).join(` `),onBlur:i.handleFocusOut,onKeyDown:i.handleKeydown,children:[(0,n.jsx)(an,{componentId:i.componentId,strings:i.strings,year:i.year,month:i.month,earliest:i.earliest,latest:i.latest,withcontrols:i.withcontrols,prevMonth:i.prevMonth,nextMonth:i.nextMonth,changeMonth:i.changeMonth}),(0,n.jsx)(ln,{state:i})]})});un.displayName=`PktCalendar`;var dn=(0,t.forwardRef)(({children:e,skin:r,textStyle:i,size:a,closeTag:o,className:s,iconName:c,ariaLabel:l,onClose:u,type:d,"aria-description":f,...p},m)=>{let[h,g]=(0,t.useState)(!1),_=(0,t.useCallback)(()=>{g(!0),u&&u()},[u]),y=(0,t.useRef)(null),[b,x]=(0,t.useState)(``);(0,t.useEffect)(()=>{x(y.current?.textContent?.trim()??``)},[e]);let S=(0,t.useMemo)(()=>{if(o&&!l)return b&&`Klikk for å fjerne ${b}`||f},[o,l,b,f]),C={"pkt-tag":!0,[`pkt-tag--${a}`]:!!a,[`pkt-tag--${r}`]:!!r,[`pkt-tag--${i}`]:!!i},w={"pkt-tag":!0,"pkt-btn":!0,"pkt-btn--tertiary":!0,[`pkt-tag--${i}`]:!!i,[`pkt-tag--${a}`]:!!a,[`pkt-tag--${r}`]:!!r,"pkt-btn--icons-right-and-left":o&&!!c,"pkt-hide":h};return o?(0,n.jsxs)(`button`,{...p,className:(0,v.default)(w,s),type:d,onClick:_,"aria-label":l,"aria-description":S,ref:m,children:[c&&(0,n.jsx)(D,{className:`pkt-tag__icon`,name:c}),(0,n.jsx)(`span`,{ref:y,children:e}),(0,n.jsx)(D,{className:`pkt-tag__close-btn`,name:`close`})]}):(0,n.jsxs)(`span`,{...p,className:(0,v.default)(C,s),ref:m,children:[c&&(0,n.jsx)(D,{className:`pkt-tag__icon`,name:c,"aria-hidden":`true`}),(0,n.jsx)(`span`,{ref:y,children:e})]})});dn.displayName=`PktTag`;var fn=(0,t.forwardRef)(({children:e,className:t,ariaLabel:r,metaLead:i,borderOnHover:a=!0,metaTrail:o,layout:s=`vertical`,heading:c=``,headingLevel:l=3,image:u,imageShape:d=`square`,clickCardLink:f,padding:p=`default`,openLinkInNewTab:m=!1,skin:h=`outlined`,subheading:g=``,tagPosition:_=`top`,tags:y=[],...b},x)=>{let S=(0,v.default)({"pkt-card":!0,[`pkt-card--${h}`]:h,[`pkt-card--${s}`]:s,[`pkt-card--padding-${p}`]:p,"pkt-card--border-on-hover":a}),C=r?.trim()||(c?`${c} lenkekort`:`lenkekort`),w=r?.trim()||c||`kort`,ee=`h${l}`,T=()=>u?.src?(0,n.jsx)(`div`,{className:(0,v.default)(`pkt-card__image`,`pkt-card__image-${d}`),children:(0,n.jsx)(`img`,{src:u.src,alt:u.alt||``})}):null,E=()=>y.length===0?null:(0,n.jsx)(`div`,{className:(0,v.default)(`pkt-card__tags`,`pkt-card__tags-${_}`),role:`list`,"aria-label":y.length>1?`merkelapper`:`merkelapp`,children:y.map((e,t)=>(0,n.jsx)(dn,{role:`listitem`,textStyle:`normal-text`,size:`medium`,skin:e.skin,iconName:e.iconName,children:(0,n.jsx)(`span`,{children:e.text})},t))}),te=()=>!c||f?null:(0,n.jsx)(ee,{className:`pkt-heading pkt-heading--medium pkt-heading--fw-regular pkt-card__heading`,children:c}),ne=()=>f?(0,n.jsx)(ee,{className:`pkt-heading pkt-heading--medium pkt-heading--fw-regular pkt-card__link-heading pkt-card__heading`,children:(0,n.jsx)(`a`,{className:`pkt-card__link`,href:f,target:m?`_blank`:`_self`,rel:m?`noopener noreferrer`:void 0,children:c})}):null,re=()=>g?(0,n.jsx)(`p`,{className:`pkt-card__subheading`,children:g}):null,D=()=>!c&&!g?null:(0,n.jsxs)(`header`,{className:`pkt-card__header`,children:[te(),ne(),re()]}),O=()=>!i&&!o?null:(0,n.jsxs)(`footer`,{className:`pkt-card__metadata`,children:[i&&(0,n.jsx)(`span`,{className:`pkt-card__metadata-lead`,children:i}),o&&(0,n.jsx)(`span`,{className:`pkt-card__metadata-trail`,children:o})]});return(0,n.jsx)(`div`,{ref:x,className:(0,v.default)(`pkt-card-root`,t),style:{display:`block`,width:`100%`},children:(0,n.jsxs)(`article`,{...b,className:S,"aria-label":f?C:w,children:[T(),(0,n.jsxs)(`div`,{className:`pkt-card__wrapper`,children:[_===`top`&&E(),D(),(0,n.jsx)(`section`,{className:`pkt-card__content`,children:e}),_===`bottom`&&E(),O()]})]})})});fn.displayName=`PktCard`;var pn=(0,t.forwardRef)(({id:e,hasTile:r=!1,disabled:i=!1,label:a,checkHelptext:o,hasError:s=!1,className:c,isSwitch:l=!1,hideLabel:u=!1,labelPosition:d=`right`,defaultChecked:f,checked:p,indeterminate:m,optionalTag:h,optionalText:g=`Valgfritt`,requiredTag:_,requiredText:v=`Må fylles ut`,tagText:y,...b},x)=>{let S=(0,t.useRef)(null);(0,t.useEffect)(()=>{S.current&&m!==void 0&&(S.current.indeterminate=m)},[m]),(0,t.useEffect)(()=>{typeof x==`function`?x(S.current):x&&(x.current=S.current)},[x]);let C=[c,`pkt-input-check`].filter(Boolean).join(` `),w=[`pkt-input-check__input-label`,i?`pkt-input-check__input-label--disabled`:``,`pkt-input-check__input-label--${d}`,u?`pkt-sr-only`:``].filter(Boolean).join(` `),ee=[`pkt-input-check__input`,r?`pkt-input-check__input--tile`:``,i&&r?`pkt-input-check__input--tile-disabled`:``].filter(Boolean).join(` `),T=[`pkt-tag`,`pkt-tag--small`,`pkt-tag--thin-text`].join(` `),E=()=>(0,n.jsxs)(n.Fragment,{children:[y&&(0,n.jsx)(`span`,{className:T+` pkt-tag--gray`,children:y}),h&&(0,n.jsx)(`span`,{className:T+` pkt-tag--blue-light`,children:g}),_&&(0,n.jsx)(`span`,{className:T+` pkt-tag--beige`,children:v})]});return(0,n.jsx)(`div`,{className:C,children:(0,n.jsxs)(`div`,{className:ee,children:[d===`left`&&(0,n.jsxs)(`label`,{className:w,htmlFor:e,children:[a,` `,E(),o&&(0,n.jsx)(`div`,{className:`pkt-input-check__input-helptext`,children:o})]}),(0,n.jsx)(`input`,{role:l?`switch`:`checkbox`,ref:S,className:`pkt-input-check__input-checkbox ${s?`pkt-input-check__input-checkbox--error`:``}`,type:`checkbox`,id:e,disabled:i,...p===void 0?{defaultChecked:f}:{checked:p},...b}),d===`right`&&(0,n.jsxs)(`label`,{className:w,htmlFor:e,children:[a,` `,E(),o&&(0,n.jsx)(`div`,{className:`pkt-input-check__input-helptext`,children:o})]})]})})});pn.displayName=`PktCheckbox`;function mn(e){let n=(0,t.useRef)(null),r=(0,t.useRef)(!1),i=(0,t.useRef)(void 0),a=e=>{let t=n.current;t&&(e===void 0?delete t.dataset.navtype:t.dataset.navtype=e)};return(0,t.useEffect)(()=>()=>{i.current!==void 0&&clearTimeout(i.current)},[]),{ref:t=>{n.current=t,typeof e==`function`?e(t):e&&(e.current=t)},onPointerDown:()=>{r.current=!0,i.current!==void 0&&clearTimeout(i.current),i.current=window.setTimeout(()=>{r.current=!1,i.current=void 0},0)},onFocus:()=>{a(r.current?`pointer`:void 0)},onBlur:e=>{n.current?.contains(e.relatedTarget)||a(void 0)}}}var hn=`Les mer <span class='pkt-sr-only'>om feltet</span>`,gn=e=>e==null||e===``?null:typeof e==`string`?(0,n.jsx)(`span`,{dangerouslySetInnerHTML:{__html:e}}):e,_n=(0,t.forwardRef)(function({helptext:e,helptextDropdown:r,helptextDropdownButton:i,forId:a,onToggleHelpText:o,className:s,children:c,...l},u){let[d,f]=(0,t.useState)(!1),p=()=>{let e=!d;f(e),o?.(e)},m=(0,v.default)(`pkt-inputwrapper__helptext-container`,!!(e||r||c)&&`pkt-inputwrapper__has-helptext`,s);return(0,n.jsxs)(`div`,{...l,ref:u,className:m,children:[(0,n.jsxs)(`div`,{className:`pkt-inputwrapper__helptext`,id:a?`${a}-helptext`:void 0,children:[c&&(0,n.jsx)(`div`,{className:`pkt-contents`,children:c}),gn(e)]}),r&&(0,n.jsxs)(`div`,{className:`pkt-inputwrapper__helptext-expandable`,children:[(0,n.jsxs)(`button`,{type:`button`,className:`pkt-link pkt-link--icon-right pkt-btn pkt-btn--small pkt-btn--tertiary pkt-btn--icon-right`,onClick:p,children:[(0,n.jsx)(D,{className:`pkt-btn__icon`,name:d?`chevron-thin-up`:`chevron-thin-down`}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,dangerouslySetInnerHTML:{__html:i??hn}})]}),(0,n.jsx)(`div`,{className:(0,v.default)(`pkt-inputwrapper__helptext`,d?`pkt-inputwrapper__helptext-expandable-open`:`pkt-inputwrapper__helptext-expandable-closed`),children:gn(r)})]})]})});_n.displayName=`PktHelptext`;var vn=(0,t.forwardRef)(({forId:e,label:t,helptext:r,helptextDropdown:i,helptextDropdownButton:a,counter:o,counterCurrent:s=0,counterMaxLength:c,optionalTag:l=!1,optionalText:u=`Valgfritt`,requiredTag:d=!1,requiredText:f=`Må fylles ut`,tagText:p=null,hasError:m=!1,errorMessage:h,disabled:g=!1,inline:_=!1,ariaDescribedby:v,useWrapper:y=!0,children:b,className:x=``,hasFieldset:S=!1,role:C=`group`,counterPosition:w=`bottom`},ee)=>{let T=mn(ee),E=v||(r?`${e}-helptext`:void 0),te=!!o,ne=te&&w===`top`,re=te&&w===`bottom`,D=[`pkt-inputwrapper`,x,m?`pkt-inputwrapper--error`:``,g?`pkt-inputwrapper--disabled`:``,_?`pkt-inputwrapper--inline`:``].filter(Boolean).join(` `),O=[`pkt-tag`,`pkt-tag--small`,`pkt-tag--thin-text`].join(` `),k=()=>te?(0,n.jsxs)(`div`,{className:`pkt-input__counter`,"aria-live":`polite`,"aria-atomic":`true`,children:[s,c?`/${c}`:``]}):null,ae=()=>(0,n.jsxs)(n.Fragment,{children:[p&&(0,n.jsx)(`span`,{className:O+` pkt-tag--gray`,children:p}),l&&(0,n.jsx)(`span`,{className:O+` pkt-tag--blue-light`,children:u}),d&&(0,n.jsx)(`span`,{className:O+` pkt-tag--beige`,children:f})]}),oe=(0,n.jsxs)(n.Fragment,{children:[(()=>{let r=(0,n.jsxs)(n.Fragment,{children:[t,` `,ae()]});return y?S?(0,n.jsx)(`legend`,{className:`pkt-inputwrapper__legend`,id:`${e}-label`,children:r}):(0,n.jsx)(`label`,{className:`pkt-inputwrapper__label`,htmlFor:e,"aria-describedby":E,id:`${e}-label`,children:r}):(0,n.jsx)(`label`,{htmlFor:e,className:`pkt-sr-only`,"aria-describedby":E,id:`${e}-label`,children:t})})(),(()=>{let t=y?r:void 0;return!t&&!i?null:(0,n.jsx)(_n,{forId:e,helptext:t,helptextDropdown:i,helptextDropdownButton:a})})(),ne&&(0,n.jsx)(k,{}),b,re&&(0,n.jsx)(k,{}),m&&h&&(0,n.jsx)(`div`,{className:`pkt-inputwrapper__alert-wrapper`,children:(0,n.jsx)(ie,{skin:`error`,"aria-live":`assertive`,role:`alert`,id:`${e}-error`,compact:!0,children:h})})]});return(0,n.jsx)(`div`,{className:D,role:C,...T,children:S?(0,n.jsx)(`fieldset`,{className:`pkt-inputwrapper__fieldset`,"aria-describedby":E,children:oe}):(0,n.jsx)(`div`,{className:`pkt-inputwrapper__fieldset`,children:oe})})});vn.displayName=`PktInputWrapper`;var yn=(e,t)=>t&&(e.find(e=>e.value===t)||e.find(e=>e.label===t))||null,bn=(e,t)=>{if(!t)return-1;let n=e.findIndex(e=>e.value===t);return n>=0?n:e.findIndex(e=>e.label===t)},xn=(e,t)=>{if(!t)return[...e];let n=t.toLowerCase();return e.filter(e=>(e.fulltext||e.value+(e.label||``)+(e.prefix||``)).toLowerCase().includes(n))},Sn=e=>e.value+(e.label||``)+(e.prefix||``),Cn=(e,t)=>t!==null&&e>=t,wn=(e,t)=>{if(!e)return``;switch(t){case`prefixAndValue`:return`${e.prefix||``} ${e.value}`.trim();case`value`:return e.value;default:return e.label||e.value}},Tn=(e,t)=>e?Array.isArray(e)?t?e:e.length>0?[e[0]]:[]:t?e.split(`,`).filter(Boolean):[e]:[],En=(e,t)=>{if(!t)return{filtered:[...e],suggestion:null};let n=t.toLowerCase(),r=e.filter(e=>e.fulltext?.toLowerCase().includes(n));return{filtered:r,suggestion:r.find(e=>!e.selected&&e.label?.toLowerCase().startsWith(n))||null}},Dn=(e,t,n,r)=>{if(!e.trim())return{addValueText:null,userInfoMessage:``};let i=e.trim().toLowerCase(),a=t.find(e=>e.toLowerCase()===i),o=n.filter(e=>e.label?.toLowerCase().includes(i)||e.value.toLowerCase().includes(i)),s=o.find(e=>e.label?.toLowerCase()===i||e.value.toLowerCase()===i);return(o.length===0||!s)&&r?{addValueText:e,userInfoMessage:``}:o.length===0&&!r?{addValueText:null,userInfoMessage:`Ingen treff i søket`}:a?{addValueText:null,userInfoMessage:`Verdien er allerede valgt`}:{addValueText:null,userInfoMessage:``}},On=(e,t,n)=>{switch(e){case`,`:return n?`addValue`:null;case`Enter`:return`addValue`;case`Tab`:case`ArrowDown`:return t?null:`focusListbox`;case`Escape`:return`closeOptions`;default:return null}},kn=(e,t,n,r,i)=>{if(!e)return{action:`none`,value:null};let a=yn(n,e);return!t.includes(e)&&!a?r?{action:`addUserValue`,value:e}:i?{action:`none`,value:null}:{action:`removeValue`,value:t[0]}:a&&!t.includes(a.value)?{action:`selectOption`,value:a.value}:{action:`none`,value:null}},An=(e,t,n)=>{let r=yn(t,e);return n===`label`&&r?.label?r.label:e},jn=e=>{e.scrollIntoView({block:`nearest`}),window.setTimeout(()=>e.focus(),0)},Mn=e=>Array.from(e.querySelectorAll(`[role="option"]:not([data-disabled])`)||[]),Nn=e=>{let t=e.nextElementSibling;t&&jn(t)},Pn=(e,t,n)=>{let r=e.previousElementSibling;if(e.dataset.index===`0`&&n){let e=t.querySelector(`[role="searchbox"]`);e&&jn(e)}else r&&jn(r)},Fn=e=>{let t=Mn(e);t[0]&&jn(t[0])},In=(e,t)=>{if(t.disabled)return;let n=Mn(e);if(t.allowUserInput&&t.customUserInput){let t=e.querySelector(`[data-type="new-option"]`);if(t){jn(t);return}}let r=n.find(e=>e.dataset.selected===`true`);if(r){jn(r);return}if(t.includeSearch&&!(document.activeElement instanceof HTMLInputElement)){let t=e.querySelector(`[role="searchbox"]`);if(t){window.setTimeout(()=>t.focus(),0);return}}n[0]&&jn(n[0])},Ln=({state:e,outside:r=!1})=>{let{values:i,options:a,disabled:o,displayValueAs:s,handleTagRemove:c,handleTagKeydown:l,focusedTagIndex:u}=e,d=(0,t.useRef)([]);if((0,t.useEffect)(()=>{!r&&u>=0&&u<i.length&&d.current[u]?.focus()},[r,u,i.length]),i.length===0)return null;let f=i.map((e,t)=>{let i=yn(a,e),f=i?.tagSkinColor,p=i?wn(i,s):e;return o?(0,n.jsx)(`li`,{role:`listitem`,children:(0,n.jsx)(dn,{skin:f||`blue-dark`,children:(0,n.jsx)(`span`,{className:`pkt-combobox__value`,children:p})})},e):r?(0,n.jsx)(`li`,{role:`listitem`,children:(0,n.jsx)(dn,{skin:f||`blue-dark`,closeTag:!0,onClose:()=>c(e),children:(0,n.jsx)(`span`,{className:`pkt-combobox__value`,children:p})})},e):(0,n.jsx)(`li`,{role:`listitem`,onClick:e=>e.stopPropagation(),onMouseDown:e=>e.preventDefault(),children:(0,n.jsx)(dn,{ref:e=>{d.current[t]=e},skin:f||`blue-dark`,closeTag:!0,tabIndex:u===t?0:-1,onClose:()=>c(e),onKeyDown:e=>l(e,t),children:(0,n.jsx)(`span`,{className:`pkt-combobox__value`,children:p})})},e)});return r?(0,n.jsx)(`div`,{className:`pkt-combobox__tags-outside`,children:(0,n.jsx)(`ul`,{role:`list`,className:`pkt-combobox__tag-list`,children:f})}):(0,n.jsx)(`ul`,{role:`list`,className:`pkt-combobox__tag-list`,children:f})},Rn=({state:e})=>{let{values:t,options:r,editingSingleValue:i,displayValueAs:a}=e;if(i||t.length===0)return null;let o=yn(r,t[0]);return o?(0,n.jsx)(`span`,{className:`pkt-combobox__value`,children:wn(o,a)}):null},zn=({state:e})=>{let{id:t,inputId:r,listboxId:i,values:a,options:o,isOpen:s,multiple:c,typeahead:l,allowUserInput:u,tagPlacement:d,placeholder:f,disabled:p,fullwidth:m,hasError:h,label:g,inputFocus:_,inputRef:v,triggerRef:y,handleInputChange:b,handleInputKeydown:x,handleInputFocus:S,handleInputBlur:C,handleInputClick:w,handlePlaceholderClick:ee,handleSelectOnlyKeydown:T,name:E}=e,te=[`pkt-combobox__input`,m&&`pkt-combobox__input--fullwidth`,s&&`pkt-combobox__input--open`,h&&`pkt-combobox__input--error`,p&&`pkt-combobox__input--disabled`].filter(Boolean).join(` `),ne=[`pkt-combobox__arrow-icon`,s&&`pkt-combobox__arrow-icon--open`].filter(Boolean).join(` `),re=l||u,O=!re&&f&&(!a.length||c&&d===`outside`)&&!_,k=d!==`outside`,ie=a[0]&&yn(o,a[0])?`${i}-${bn(o,a[0])}`:void 0,ae=c&&a.length>0?`${a.length} valgt`:void 0;return(0,n.jsxs)(`div`,{ref:y,className:te,onClick:w,...re?{tabIndex:-1}:{id:`${t}-combobox`,role:`combobox`,"aria-expanded":s?`true`:`false`,"aria-controls":i,"aria-haspopup":`listbox`,"aria-labelledby":`${t}-combobox-label`,"aria-activedescendant":ie,"aria-description":ae,tabIndex:p?-1:0,onKeyDown:T},children:[O?(0,n.jsx)(`span`,{className:`pkt-combobox__placeholder`,onClick:ee,children:f}):k?c?(0,n.jsx)(Ln,{state:e}):re?null:(0,n.jsx)(Rn,{state:e}):null,re?(0,n.jsx)(`div`,{className:`pkt-combobox__input-div combobox__input`,children:(0,n.jsx)(`input`,{ref:v,type:`text`,id:r,name:`${E||t}-input`,onChange:b,onKeyDown:x,onFocus:S,onBlur:C,placeholder:!a.length||c&&d===`outside`?f:void 0,autoComplete:`off`,role:`combobox`,"aria-expanded":s?`true`:`false`,"aria-label":g,"aria-autocomplete":l?`both`:u?`list`:`none`,"aria-controls":i,"aria-activedescendant":ie,"aria-description":ae,disabled:p})}):(0,n.jsx)(`input`,{ref:v,type:`hidden`,id:r,name:`${E||t}-input`,value:a.join(`,`),readOnly:!0}),(0,n.jsx)(D,{className:ne,name:`chevron-thin-down`,"aria-hidden":`true`})]})},Bn=({state:e})=>{let{listboxId:t,label:r,isOpen:i,options:a,filteredOptions:o,multiple:s,disabled:c,maxIsReached:l,maxlength:u,includeSearch:d,allowUserInput:f,addValueText:p,userInfoMessage:m,searchPlaceholder:h,searchValue:g,handleOptionClick:_,handleOptionKeydown:v,handleSearchInput:y,handleSearchKeydown:b,handleNewOptionClick:x,handleNewOptionKeydown:S,listboxRef:C}=e,w=o.filter(e=>e.selected).length,ee=s&&w>0&&u!=null&&u>0,T=f&&p&&!l,E=!!m;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{ref:C,id:t,className:[`pkt-listbox`,i&&`pkt-listbox__open`,`pkt-txt-16-light`].filter(Boolean).join(` `),role:o.length>0?`listbox`:void 0,"aria-label":o.length>0?`Liste: ${r||``}`:void 0,"aria-multiselectable":o.length>0&&s?`true`:void 0,children:[(0,n.jsxs)(`div`,{className:`pkt-listbox__banners`,children:[d&&(0,n.jsxs)(`div`,{className:`pkt-listbox__search`,children:[(0,n.jsx)(`span`,{className:`pkt-listbox__search-icon`,children:(0,n.jsx)(D,{name:`magnifying-glass-small`})}),(0,n.jsx)(`input`,{className:`pkt-txt-16-light`,type:`text`,"aria-label":`Søk i listen`,form:``,placeholder:h||`Søk...`,onChange:y,onKeyDown:b,value:g,"data-type":`searchbox`,disabled:c,readOnly:c,role:`searchbox`})]}),ee&&(0,n.jsxs)(`div`,{className:`pkt-listbox__banner pkt-listbox__banner--maximum-reached`,children:[w,` av maks `,u,` mulige er valgt.`]}),E&&(0,n.jsxs)(`div`,{className:`pkt-listbox__banner pkt-listbox__banner--user-message`,children:[(0,n.jsx)(D,{className:`pkt-listbox__banner-icon`,name:`exclamation-mark-circle`}),m]}),T&&(0,n.jsxs)(`div`,{className:`pkt-listbox__banner pkt-listbox__banner--new-option pkt-listbox__option`,"data-type":`new-option`,"data-value":p,"data-selected":`false`,tabIndex:0,onClick:()=>x(p),onKeyDown:S,children:[(0,n.jsx)(D,{className:`pkt-listbox__banner-icon`,name:`plus-sign`}),`Legg til "`,p,`"`]}),a.length===0&&o.length===0&&!E&&(0,n.jsxs)(`div`,{className:`pkt-listbox__banner pkt-listbox__banner--empty`,children:[(0,n.jsx)(D,{className:`pkt-listbox__banner-icon`,name:`exclamation-mark-circle`}),`Tom liste`]})]}),(0,n.jsx)(`ul`,{className:`pkt-listbox__options`,role:`presentation`,children:o.map((e,r)=>{let i=[`pkt-listbox__option`,!s&&e.selected&&`pkt-listbox__option--selected`,s&&`pkt-listbox__option--checkBox`].filter(Boolean).join(` `),a=c||e.disabled||l&&!e.selected;return(0,n.jsxs)(`li`,{className:i,onClick:()=>_(e.value),onKeyDown:t=>v(t,e.value),"aria-selected":e.selected?`true`:`false`,tabIndex:a?-1:0,"data-index":r,"data-value":e.value,"data-selected":e.selected?`true`:`false`,"data-disabled":a||void 0,"aria-disabled":a?`true`:`false`,role:`option`,id:`${t}-${r}`,children:[s?(0,n.jsx)(`input`,{className:`pkt-input-check__input-checkbox`,type:`checkbox`,tabIndex:-1,value:e.value,checked:e.selected||!1,readOnly:!0,"aria-hidden":`true`,disabled:a}):e.selected?(0,n.jsx)(D,{name:`check-big`}):null,(0,n.jsxs)(`span`,{className:`pkt-listbox__option-label`,id:`${t}-option-label-${r}`,children:[e.prefix&&(0,n.jsx)(`span`,{className:`pkt-listbox__option-prefix`,children:e.prefix}),e.label||e.value]}),e.description&&(0,n.jsx)(`span`,{className:`pkt-listbox__option-description pkt-txt-14-light`,children:e.description})]},`${e.value}-${r}`)})})]}),(0,n.jsx)(`div`,{"aria-live":`polite`,className:`pkt-visually-hidden`,children:m})]})};function Vn(e,t){return e.map(e=>({...e,label:e.label||e.value,fulltext:Sn(e),selected:t.includes(e.value)}))}function Hn(e,n){let{id:r=``,label:i,value:a,defaultValue:o,options:s,defaultOptions:c,multiple:l=!1,maxlength:u,typeahead:d=!1,includeSearch:f=!1,allowUserInput:p=!1,displayValueAs:m=`label`,tagPlacement:h,searchPlaceholder:g,placeholder:_,disabled:v=!1,required:y=!1,fullwidth:b=!1,hasError:x=!1,errorMessage:S,helptext:C,helptextDropdown:w,helptextDropdownButton:ee,optionalTag:T=!1,optionalText:E,requiredTag:te=!1,requiredText:ne,tagText:re,useWrapper:D=!0,name:O,className:k,onChange:ie,onValueChange:ae,children:oe}=e,se=`${r}-input`,ce=`${r}-listbox`,A=d||p,j=(0,t.useRef)(null),le=(0,t.useRef)(null),ue=(0,t.useRef)(null),M=(0,t.useRef)(null),de=(0,t.useRef)(null),N=(0,t.useCallback)(()=>{A?j.current?.focus():ue.current?.focus()},[A]),P=(0,t.useMemo)(()=>{let e=[];return t.Children.forEach(oe,n=>{if((0,t.isValidElement)(n)&&n.type===`option`){let t=n.props;e.push({value:t.value??t.children??``,label:t.children??t.value??``,selected:t.selected,disabled:t.disabled})}}),e},[oe]),F=(0,t.useMemo)(()=>c&&c.length>0?c.map(e=>({...e,fulltext:Sn(e)})):s&&s.length>0?s.map(e=>({...e,fulltext:Sn(e)})):P.length>0?P.map(e=>({...e,fulltext:Sn(e)})):[],[c,s,P]),I=a!==void 0,[fe,pe]=(0,t.useState)(()=>Tn(a??o,l)),me=(0,t.useRef)(fe);(0,t.useEffect)(()=>{I&&pe(Tn(a,l))},[a,I,l]);let L=I?Tn(a,l):fe,[he,ge]=(0,t.useState)([]),R=(0,t.useMemo)(()=>Vn([...he.filter(e=>!F.some(t=>t.value===e.value)),...F],L),[F,he,L]),[_e,z]=(0,t.useState)(!1),[ve,B]=(0,t.useState)(``),[ye,be]=(0,t.useState)(``),[xe,Se]=(0,t.useState)(``),[Ce,we]=(0,t.useState)(null),[Te,Ee]=(0,t.useState)(!1),[De,Oe]=(0,t.useState)(!1),[ke,Ae]=(0,t.useState)(-1),je=(0,t.useRef)(!1),Me=Cn(L.length,u??null),Ne=l&&u!=null,Pe=(0,t.useMemo)(()=>ve?d?En(R,ve).filtered:xn(R,ve):R,[R,ve,d]),Fe=(0,t.useMemo)(()=>Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,`value`)?.set,[]),Ie=(0,t.useCallback)(e=>{let t=le.current;if(!t||!Fe)return;let n=l?e.join(`,`):e[0]||``;Fe.call(t,n),t.dispatchEvent(new Event(`input`,{bubbles:!0}))},[Fe,l]),Le=l?L.join(`,`):L[0]||``;(0,t.useEffect)(()=>{le.current&&(le.current.value=Le)},[Le]),(0,t.useEffect)(()=>{if(_e||l||!j.current)return;let e=L[0]?An(L[0],R,m):``;j.current.value!==e&&(j.current.value=e)},[L,R,m,l,_e]);let V=(0,t.useCallback)((e,t=!0)=>{I||pe(e),t&&(ae?.(e),Ie(e))},[I,ae,Ie]),Re=(0,t.useCallback)(e=>{if(e&&!L.includes(e)){if(l&&Cn(L.length,u??null)){Se(`Maks antall valg nådd`);return}V(l?[...L,e]:[e])}},[L,l,u,V]),ze=(0,t.useCallback)(e=>{if(!e)return;let t=L.filter(t=>t!==e);yn(R,e)?.userAdded&&ge(t=>t.filter(t=>t.value!==e)),V(t)},[L,R,V]),Be=(0,t.useCallback)(()=>{ge([]),V([])},[V]),Ve=(0,t.useCallback)(e=>{if(!e||e.trim()===``)return;let t;if(!l)t=[e];else{if(yn(R,e)||Cn(L.length,u??null))return;t=[...L,e]}let n={value:e,label:e,userAdded:!0,selected:!0};ge(t=>[n,...t.filter(t=>t.value!==e)]),V(t)},[l,R,L,u,V]),He=(0,t.useCallback)((e=!0,t)=>{if(we(null),e&&j.current&&j.current.type!==`hidden`){B(``),be(``);let e=t===void 0?L[0]:t;!l&&e?j.current.value=An(e,R,m):j.current.value=``,l||(Oe(!1),Se(``))}},[l,L,R,m]),Ue=(0,t.useCallback)(e=>{if(v)return;Se(``),we(null);let t=yn(R,e)?.value||null,n=L.includes(e||t||``),r=!!t,i=R.find(t=>t.value===e)?.disabled||!1,a=!e?.trim(),o=!l,s=l,c=Cn(L.length,u??null),d=!1,f=!0,m=``,h=``,g;i||(!r&&p&&!a?(Ve(e),m=`Ny verdi lagt til`,d=s,o&&(g=e||``)):!r&&!p?(o&&L[0]&&ze(L[0]),f=!1,d=!0,m=`Ingen treff i søket`):n?(ze(t),d=!0,g=``,o&&A&&j.current&&j.current.type!==`hidden`&&(j.current.value=``)):a&&o?(Be(),d=!0,g=``):o?(L[0]&&ze(L[0]),Re(t),d=!1,g=t||``):s&&!c?(Re(t),d=!0):s&&c?(m=`Maks antall valg nådd`,f=!1,h=e||``):(o&&Be(),m=`Ingen gyldig verdi valgt`,f=!1,d=!0,h=e||``,g=``),z(d),Se(m),B(h),He(f,g),d||(o&&A&&(je.current=!0),window.setTimeout(()=>{N()},0)))},[v,R,L,l,u,p,Ve,ze,Be,Re,He,N]),We=(0,t.useCallback)(()=>{if(Ee(!1),we(null),Se(``),B(``),j.current&&j.current.type!==`hidden`){let e=j.current.value,t=L[0];if(!l)if(!e)L[0]&&ze(L[0]),t=void 0;else{let n=yn(R,e);n&&n.value!==L[0]?(L[0]&&ze(L[0]),Re(n.value),t=n.value):!n&&p&&(L[0]&&ze(L[0]),Ve(e),t=e)}else if(e!==``){let{action:t,value:n}=kn(e,L,R,p,l);switch(t){case`addUserValue`:Ve(n);break;case`selectOption`:Re(n);break;case`removeValue`:ze(n);break}}!l&&t?j.current.value=An(t,R,m):j.current.value=``}z(!1),Oe(!1)},[L,R,p,l,m,Ve,Re,ze]),Ge=(0,t.useCallback)(e=>{if(!e.trim().toLowerCase()){we(null),Se(``),!l&&L[0]&&ze(L[0]);return}let t=Dn(e,L,R,p);we(t.addValueText),Se(t.userInfoMessage)},[L,R,p,l,ze]),Ke=(0,t.useCallback)(e=>{if(v)return;let t=e.target.value;if(be(t),B(t),Ge(t),d&&t){let{suggestion:n}=En(R,t);n?.label&&j.current&&!e.nativeEvent.inputType?.includes(`deleteContent`)&&(j.current.value=n.label,window.setTimeout(()=>j.current?.setSelectionRange(t.length,n.label.length),0))}},[v,d,R,Ge]),qe=(0,t.useCallback)(e=>{if(e.key===`Backspace`){let t=!j.current?.value;if(!ve&&t&&l&&L.length>0){e.preventDefault();let t=L[L.length-1];ze(t)}return}if(e.key===`ArrowLeft`&&l&&L.length>0&&(j.current?.selectionStart??0)===0&&!j.current?.value){e.preventDefault(),Ae(L.length-1);return}let t=On(e.key,e.shiftKey,l);if(t&&!(e.key===`Tab`&&!_e)){if(t===`focusListbox`&&e.key===`Tab`&&!M.current?.querySelector(`[role="option"]:not([data-disabled]), [data-type="new-option"]`)){We();return}switch(e.preventDefault(),t){case`addValue`:{let e=j.current?.value.trim()||``;if(B(e),e&&L.includes(e)){He(!0),Se(`Verdien er allerede valgt`);break}Ue(e);break}case`focusListbox`:M.current&&(_e||z(!0),In(M.current,{disabled:v,allowUserInput:p,customUserInput:Ce,includeSearch:f}));break;case`closeOptions`:z(!1);break}}},[ve,L,l,v,p,Ce,f,_e,ze,Ue,N]),Je=(0,t.useCallback)(()=>{if(!v){if(je.current){je.current=!1,Ee(!0);return}!l&&L[0]&&j.current&&j.current.type!==`hidden`&&(Oe(!0),j.current.value=An(L[0],R,m)),Ee(!0),B(``),z(!0)}},[v,l,L,R,m]),Ye=(0,t.useCallback)(()=>{Ee(!1),Oe(!1)},[]),Xe=(0,t.useCallback)(e=>{if(v||!_e)return;let t=e.relatedTarget,n=de.current;n&&t&&n.contains(t)||We()},[v,_e,We]),Ze=(0,t.useCallback)(e=>{if(v){e.preventDefault(),e.stopPropagation();return}if(A)j.current?.focus();else{e.stopPropagation(),e.preventDefault();let t=!_e;z(t),t&&M.current&&In(M.current,{disabled:v,allowUserInput:p,customUserInput:Ce,includeSearch:f})}},[v,A,_e,p,Ce,f]),Qe=(0,t.useCallback)(e=>{v||(e.stopPropagation(),A&&j.current?(j.current.focus(),Ee(!0)):z(e=>!e))},[v,A]),$e=(0,t.useCallback)(e=>{if(!v)switch(e.key){case`Enter`:case` `:case`ArrowDown`:case`ArrowUp`:e.preventDefault(),_e?z(!1):(z(!0),M.current&&window.setTimeout(()=>{M.current&&In(M.current,{disabled:v,allowUserInput:p&&!Me,customUserInput:Ce,includeSearch:f})},0));break;case`Escape`:_e&&(e.preventDefault(),z(!1));break;case`Home`:case`End`:e.preventDefault(),_e||z(!0),M.current&&window.setTimeout(()=>{M.current&&In(M.current,{disabled:v,allowUserInput:p&&!Me,customUserInput:Ce,includeSearch:f})},0);break;case`ArrowLeft`:l&&L.length>0&&(e.preventDefault(),Ae(L.length-1));break;case`Backspace`:case`Delete`:if(l&&L.length>0){e.preventDefault();let t=L[L.length-1];ze(t)}break}},[v,_e,p,Me,Ce,f,l,L,ze]),et=(0,t.useCallback)(e=>{Ue(e)},[Ue]),tt=(0,t.useCallback)((e,t)=>{switch(e.key){case`Enter`:case` `:e.preventDefault(),Ue(t);break;case`ArrowDown`:e.preventDefault(),Nn(e.currentTarget);break;case`ArrowUp`:e.preventDefault(),M.current&&Pn(e.currentTarget,M.current,f);break;case`Escape`:e.preventDefault(),z(!1),N();break;case`Tab`:We();break}},[Ue,f,N,We]),nt=(0,t.useCallback)(e=>{ze(e),Ae(-1),A&&j.current&&(Ee(!0),j.current.focus())},[ze,A]),rt=(0,t.useCallback)((e,t)=>{switch(e.stopPropagation(),e.key){case`ArrowLeft`:e.preventDefault(),t>0&&Ae(t-1);break;case`ArrowRight`:e.preventDefault(),t<L.length-1?Ae(t+1):(Ae(-1),A&&j.current?j.current.focus():ue.current?.focus());break;case`Backspace`:case`Delete`:e.preventDefault();{let e=L[t],n=t>=L.length-1?t-1:t;ze(e),n>=0?Ae(n):(Ae(-1),A&&j.current?j.current.focus():ue.current?.focus())}break;case`Tab`:Ae(-1);break;case`Escape`:e.preventDefault(),Ae(-1),A&&j.current?j.current.focus():ue.current?.focus();break}},[L,A,ze]),it=(0,t.useCallback)(e=>{B(e.target.value),Ge(e.target.value)},[Ge]),at=(0,t.useCallback)(e=>{switch(e.key){case`ArrowDown`:e.preventDefault(),M.current&&M.current.querySelector(`[role="option"]:not([data-disabled]), [data-type="new-option"]`)?.focus();break;case`Tab`:We();break;case`Escape`:e.preventDefault(),z(!1),N();break}},[N,We]),ot=(0,t.useCallback)(e=>{Ue(e)},[Ue]),st=(0,t.useCallback)(e=>{switch(e.key){case`Enter`:case` `:e.preventDefault(),Ue(e.currentTarget.dataset.value||``);break;case`ArrowDown`:e.preventDefault(),M.current&&Fn(M.current);break;case`ArrowUp`:e.preventDefault(),M.current&&Pn(e.currentTarget,M.current,f);break;case`Escape`:e.preventDefault(),z(!1),N();break}},[Ue,f,N]);return(0,t.useEffect)(()=>{if(!_e)return;let e=e=>{let t=e.target;de.current&&!de.current.contains(t)&&We()};return document.addEventListener(`click`,e,!0),()=>{document.removeEventListener(`click`,e,!0)}},[_e,We]),(0,t.useEffect)(()=>{let e=de.current?.closest(`form`);if(!e)return;let t=()=>{window.setTimeout(()=>{if(pe(me.current),ge([]),be(``),B(``),we(null),Se(``),le.current){let e=l?me.current.join(`,`):me.current[0]||``;le.current.value=e}},0)};return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)},[l]),(0,t.useImperativeHandle)(n,()=>({get value(){return le.current?.value??``},set value(e){let t=Array.isArray(e)?e:e?String(e).split(`,`).filter(Boolean):[];I||pe(t),le.current&&(le.current.value=t.join(`,`))},focus(){A?j.current?.focus():ue.current?.focus()},blur(){A?j.current?.blur():ue.current?.blur()}}),[I]),{id:r,inputId:se,listboxId:ce,values:L,inputValue:ye,searchValue:ve,options:R,filteredOptions:Pe,isOpen:_e,userInfoMessage:xe,addValueText:Ce,maxIsReached:Me,editingSingleValue:De,inputFocus:Te,focusedTagIndex:ke,label:i,multiple:l,maxlength:u,typeahead:d,includeSearch:f,allowUserInput:p,displayValueAs:m,tagPlacement:h,searchPlaceholder:g,placeholder:_,disabled:v,required:y,fullwidth:b,hasError:x,errorMessage:S,helptext:C,helptextDropdown:w,helptextDropdownButton:ee,optionalTag:T,optionalText:E,requiredTag:te,requiredText:ne,tagText:re,useWrapper:D,name:O,className:k,hasCounter:Ne,inputRef:j,changeInputRef:le,triggerRef:ue,listboxRef:M,wrapperRef:de,handleInputChange:Ke,handleInputKeydown:qe,handleInputFocus:Je,handleInputBlur:Ye,handleFocusOut:Xe,handleInputClick:Ze,handlePlaceholderClick:Qe,handleSelectOnlyKeydown:$e,handleOptionClick:et,handleOptionKeydown:tt,handleTagRemove:nt,handleTagKeydown:rt,handleSearchInput:it,handleSearchKeydown:at,handleNewOptionClick:ot,handleNewOptionKeydown:st,onChange:ie}}var Un=(0,t.forwardRef)((e,t)=>{let r=Hn(e,t),i=[`pkt-combobox-component`,r.fullwidth&&`pkt-combobox-component--fullwidth`,r.className].filter(Boolean).join(` `),a=r.allowUserInput||r.typeahead,o=a?r.inputId:`${r.id}-combobox`;return(0,n.jsxs)(`div`,{className:i,ref:r.wrapperRef,id:r.id||void 0,children:[(0,n.jsxs)(vn,{forId:o,hasFieldset:!a,label:r.label||``,helptext:r.helptext,helptextDropdown:r.helptextDropdown,helptextDropdownButton:r.helptextDropdownButton,hasError:r.hasError,errorMessage:r.errorMessage,disabled:r.disabled,optionalTag:r.optionalTag,optionalText:r.optionalText,requiredTag:r.requiredTag,requiredText:r.requiredText,tagText:r.tagText,useWrapper:r.useWrapper,counter:r.hasCounter,counterCurrent:r.values.length,counterMaxLength:r.maxlength,className:`pkt-combobox__wrapper`,children:[(0,n.jsxs)(`div`,{className:`pkt-combobox`,onBlur:r.handleFocusOut,children:[(0,n.jsx)(zn,{state:r}),(0,n.jsx)(Bn,{state:r})]}),r.tagPlacement===`outside`&&r.multiple&&(0,n.jsx)(Ln,{state:r,outside:!0})]}),(0,n.jsx)(`input`,{ref:r.changeInputRef,type:`text`,name:r.name||r.id,onChange:r.onChange,tabIndex:-1,"aria-hidden":`true`,className:`pkt-visually-hidden`})]})});Un.displayName=`PktCombobox`;var Wn=new Set([`children`,`localName`,`ref`,`style`,`className`]),Gn=new WeakMap,Kn=(e,t,n,r,i)=>{let a=i?.[t];a===void 0?(e[t]=n,n==null&&t in HTMLElement.prototype&&e.removeAttribute(t)):n!==r&&((e,t,n)=>{let r=Gn.get(e);r===void 0&&Gn.set(e,r=new Map);let i=r.get(t);n===void 0?i!==void 0&&(r.delete(t),e.removeEventListener(t,i)):i===void 0?(r.set(t,i={handleEvent:n}),e.addEventListener(t,i)):i.handleEvent=n})(e,a,n)},qn=({react:e,tagName:t,elementClass:n,events:r,displayName:i})=>{let a=new Set(Object.keys(r??{})),o=e.forwardRef(((i,o)=>{let s=e.useRef(new Map),c=e.useRef(null),l={},u={};for(let[e,t]of Object.entries(i))Wn.has(e)?l[e===`className`?`class`:e]=t:a.has(e)||e in n.prototype?u[e]=t:l[e]=t;return e.useLayoutEffect((()=>{if(c.current===null)return;let e=new Map;for(let t in u)Kn(c.current,t,i[t],s.current.get(t),r),s.current.delete(t),e.set(t,i[t]);for(let[e,t]of s.current)Kn(c.current,e,void 0,t,r);s.current=e})),e.useLayoutEffect((()=>{c.current?.removeAttribute(`defer-hydration`)}),[]),l.suppressHydrationWarning=!0,e.createElement(t,{...l,ref:e.useCallback((e=>{c.current=e,typeof o==`function`?o(e):o!==null&&(o.current=e)}),[o])})}));return o.displayName=i??n.name,o},Jn=globalThis,Yn=e=>e,Xn=Jn.trustedTypes,Zn=Xn?Xn.createPolicy(`lit-html`,{createHTML:e=>e}):void 0,Qn=`$lit$`,$n=`lit$${Math.random().toFixed(9).slice(2)}$`,er=`?`+$n,tr=`<${er}>`,nr=document,rr=()=>nr.createComment(``),ir=e=>e===null||typeof e!=`object`&&typeof e!=`function`,ar=Array.isArray,or=e=>ar(e)||typeof e?.[Symbol.iterator]==`function`,sr=`[
37
- \f\r]`,cr=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,lr=/-->/g,ur=/>/g,dr=RegExp(`>|${sr}(?:([^\\s"'>=/]+)(${sr}*=${sr}*(?:[^ \t\n\f\r"'\`<>=]|("|')|))|$)`,`g`),fr=/'/g,pr=/"/g,mr=/^(?:script|style|textarea|title)$/i,H=(e=>(t,...n)=>({_$litType$:e,strings:t,values:n}))(1),hr=Symbol.for(`lit-noChange`),U=Symbol.for(`lit-nothing`),gr=new WeakMap,_r=nr.createTreeWalker(nr,129);function vr(e,t){if(!ar(e)||!e.hasOwnProperty(`raw`))throw Error(`invalid template strings array`);return Zn===void 0?t:Zn.createHTML(t)}var yr=(e,t)=>{let n=e.length-1,r=[],i,a=t===2?`<svg>`:t===3?`<math>`:``,o=cr;for(let t=0;t<n;t++){let n=e[t],s,c,l=-1,u=0;for(;u<n.length&&(o.lastIndex=u,c=o.exec(n),c!==null);)u=o.lastIndex,o===cr?c[1]===`!--`?o=lr:c[1]===void 0?c[2]===void 0?c[3]!==void 0&&(o=dr):(mr.test(c[2])&&(i=RegExp(`</`+c[2],`g`)),o=dr):o=ur:o===dr?c[0]===`>`?(o=i??cr,l=-1):c[1]===void 0?l=-2:(l=o.lastIndex-c[2].length,s=c[1],o=c[3]===void 0?dr:c[3]===`"`?pr:fr):o===pr||o===fr?o=dr:o===lr||o===ur?o=cr:(o=dr,i=void 0);let d=o===dr&&e[t+1].startsWith(`/>`)?` `:``;a+=o===cr?n+tr:l>=0?(r.push(s),n.slice(0,l)+Qn+n.slice(l)+$n+d):n+$n+(l===-2?t:d)}return[vr(e,a+(e[n]||`<?>`)+(t===2?`</svg>`:t===3?`</math>`:``)),r]},br=class e{constructor({strings:t,_$litType$:n},r){let i;this.parts=[];let a=0,o=0,s=t.length-1,c=this.parts,[l,u]=yr(t,n);if(this.el=e.createElement(l,r),_r.currentNode=this.el.content,n===2||n===3){let e=this.el.content.firstChild;e.replaceWith(...e.childNodes)}for(;(i=_r.nextNode())!==null&&c.length<s;){if(i.nodeType===1){if(i.hasAttributes())for(let e of i.getAttributeNames())if(e.endsWith(Qn)){let t=u[o++],n=i.getAttribute(e).split($n),r=/([.?@])?(.*)/.exec(t);c.push({type:1,index:a,name:r[2],strings:n,ctor:r[1]===`.`?Tr:r[1]===`?`?Er:r[1]===`@`?Dr:wr}),i.removeAttribute(e)}else e.startsWith($n)&&(c.push({type:6,index:a}),i.removeAttribute(e));if(mr.test(i.tagName)){let e=i.textContent.split($n),t=e.length-1;if(t>0){i.textContent=Xn?Xn.emptyScript:``;for(let n=0;n<t;n++)i.append(e[n],rr()),_r.nextNode(),c.push({type:2,index:++a});i.append(e[t],rr())}}}else if(i.nodeType===8)if(i.data===er)c.push({type:2,index:a});else{let e=-1;for(;(e=i.data.indexOf($n,e+1))!==-1;)c.push({type:7,index:a}),e+=$n.length-1}a++}}static createElement(e,t){let n=nr.createElement(`template`);return n.innerHTML=e,n}};function xr(e,t,n=e,r){if(t===hr)return t;let i=r===void 0?n._$Cl:n._$Co?.[r],a=ir(t)?void 0:t._$litDirective$;return i?.constructor!==a&&(i?._$AO?.(!1),a===void 0?i=void 0:(i=new a(e),i._$AT(e,n,r)),r===void 0?n._$Cl=i:(n._$Co??=[])[r]=i),i!==void 0&&(t=xr(e,i._$AS(e,t.values),i,r)),t}var Sr=class{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){let{el:{content:t},parts:n}=this._$AD,r=(e?.creationScope??nr).importNode(t,!0);_r.currentNode=r;let i=_r.nextNode(),a=0,o=0,s=n[0];for(;s!==void 0;){if(a===s.index){let t;s.type===2?t=new Cr(i,i.nextSibling,this,e):s.type===1?t=new s.ctor(i,s.name,s.strings,this,e):s.type===6&&(t=new Or(i,this,e)),this._$AV.push(t),s=n[++o]}a!==s?.index&&(i=_r.nextNode(),a++)}return _r.currentNode=nr,r}p(e){let t=0;for(let n of this._$AV)n!==void 0&&(n.strings===void 0?n._$AI(e[t]):(n._$AI(e,n,t),t+=n.strings.length-2)),t++}},Cr=class e{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(e,t,n,r){this.type=2,this._$AH=U,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=n,this.options=r,this._$Cv=r?.isConnected??!0}get parentNode(){let e=this._$AA.parentNode,t=this._$AM;return t!==void 0&&e?.nodeType===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=xr(this,e,t),ir(e)?e===U||e==null||e===``?(this._$AH!==U&&this._$AR(),this._$AH=U):e!==this._$AH&&e!==hr&&this._(e):e._$litType$===void 0?e.nodeType===void 0?or(e)?this.k(e):this._(e):this.T(e):this.$(e)}O(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}T(e){this._$AH!==e&&(this._$AR(),this._$AH=this.O(e))}_(e){this._$AH!==U&&ir(this._$AH)?this._$AA.nextSibling.data=e:this.T(nr.createTextNode(e)),this._$AH=e}$(e){let{values:t,_$litType$:n}=e,r=typeof n==`number`?this._$AC(e):(n.el===void 0&&(n.el=br.createElement(vr(n.h,n.h[0]),this.options)),n);if(this._$AH?._$AD===r)this._$AH.p(t);else{let e=new Sr(r,this),n=e.u(this.options);e.p(t),this.T(n),this._$AH=e}}_$AC(e){let t=gr.get(e.strings);return t===void 0&&gr.set(e.strings,t=new br(e)),t}k(t){ar(this._$AH)||(this._$AH=[],this._$AR());let n=this._$AH,r,i=0;for(let a of t)i===n.length?n.push(r=new e(this.O(rr()),this.O(rr()),this,this.options)):r=n[i],r._$AI(a),i++;i<n.length&&(this._$AR(r&&r._$AB.nextSibling,i),n.length=i)}_$AR(e=this._$AA.nextSibling,t){for(this._$AP?.(!1,!0,t);e!==this._$AB;){let t=Yn(e).nextSibling;Yn(e).remove(),e=t}}setConnected(e){this._$AM===void 0&&(this._$Cv=e,this._$AP?.(e))}},wr=class{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(e,t,n,r,i){this.type=1,this._$AH=U,this._$AN=void 0,this.element=e,this.name=t,this._$AM=r,this.options=i,n.length>2||n[0]!==``||n[1]!==``?(this._$AH=Array(n.length-1).fill(new String),this.strings=n):this._$AH=U}_$AI(e,t=this,n,r){let i=this.strings,a=!1;if(i===void 0)e=xr(this,e,t,0),a=!ir(e)||e!==this._$AH&&e!==hr,a&&(this._$AH=e);else{let r=e,o,s;for(e=i[0],o=0;o<i.length-1;o++)s=xr(this,r[n+o],t,o),s===hr&&(s=this._$AH[o]),a||=!ir(s)||s!==this._$AH[o],s===U?e=U:e!==U&&(e+=(s??``)+i[o+1]),this._$AH[o]=s}a&&!r&&this.j(e)}j(e){e===U?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??``)}},Tr=class extends wr{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===U?void 0:e}},Er=class extends wr{constructor(){super(...arguments),this.type=4}j(e){this.element.toggleAttribute(this.name,!!e&&e!==U)}},Dr=class extends wr{constructor(e,t,n,r,i){super(e,t,n,r,i),this.type=5}_$AI(e,t=this){if((e=xr(this,e,t,0)??U)===hr)return;let n=this._$AH,r=e===U&&n!==U||e.capture!==n.capture||e.once!==n.once||e.passive!==n.passive,i=e!==U&&(n===U||r);r&&this.element.removeEventListener(this.name,this,n),i&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){typeof this._$AH==`function`?this._$AH.call(this.options?.host??this.element,e):this._$AH.handleEvent(e)}},Or=class{constructor(e,t,n){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=n}get _$AU(){return this._$AM._$AU}_$AI(e){xr(this,e)}},kr={M:Qn,P:$n,A:er,C:1,L:yr,R:Sr,D:or,V:xr,I:Cr,H:wr,N:Er,U:Dr,B:Tr,F:Or},Ar=Jn.litHtmlPolyfillSupport;Ar?.(br,Cr),(Jn.litHtmlVersions??=[]).push(`3.3.2`);var jr=(e,t,n)=>{let r=n?.renderBefore??t,i=r._$litPart$;if(i===void 0){let e=n?.renderBefore??null;r._$litPart$=i=new Cr(t.insertBefore(rr(),e),e,void 0,n??{})}return i._$AI(e),i},Mr={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},Nr=e=>(...t)=>({_$litDirective$:e,values:t}),Pr=class{constructor(e){}get _$AU(){return this._$AM._$AU}_$AT(e,t,n){this._$Ct=e,this._$AM=t,this._$Ci=n}_$AS(e,t){return this.update(e,t)}update(e,t){return this.render(...t)}},W=e=>(t,n)=>{n===void 0?customElements.define(e,t):n.addInitializer(()=>{customElements.define(e,t)})},Fr=globalThis,Ir=Fr.ShadowRoot&&(Fr.ShadyCSS===void 0||Fr.ShadyCSS.nativeShadow)&&`adoptedStyleSheets`in Document.prototype&&`replace`in CSSStyleSheet.prototype,Lr=Symbol(),Rr=new WeakMap,zr=class{constructor(e,t,n){if(this._$cssResult$=!0,n!==Lr)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=e,this.t=t}get styleSheet(){let e=this.o,t=this.t;if(Ir&&e===void 0){let n=t!==void 0&&t.length===1;n&&(e=Rr.get(t)),e===void 0&&((this.o=e=new CSSStyleSheet).replaceSync(this.cssText),n&&Rr.set(t,e))}return e}toString(){return this.cssText}},Br=e=>new zr(typeof e==`string`?e:e+``,void 0,Lr),Vr=(e,t)=>{if(Ir)e.adoptedStyleSheets=t.map(e=>e instanceof CSSStyleSheet?e:e.styleSheet);else for(let n of t){let t=document.createElement(`style`),r=Fr.litNonce;r!==void 0&&t.setAttribute(`nonce`,r),t.textContent=n.cssText,e.appendChild(t)}},Hr=Ir?e=>e:e=>e instanceof CSSStyleSheet?(e=>{let t=``;for(let n of e.cssRules)t+=n.cssText;return Br(t)})(e):e,{is:Ur,defineProperty:Wr,getOwnPropertyDescriptor:Gr,getOwnPropertyNames:Kr,getOwnPropertySymbols:qr,getPrototypeOf:Jr}=Object,Yr=globalThis,Xr=Yr.trustedTypes,Zr=Xr?Xr.emptyScript:``,Qr=Yr.reactiveElementPolyfillSupport,$r=(e,t)=>e,ei={toAttribute(e,t){switch(t){case Boolean:e=e?Zr:null;break;case Object:case Array:e=e==null?e:JSON.stringify(e)}return e},fromAttribute(e,t){let n=e;switch(t){case Boolean:n=e!==null;break;case Number:n=e===null?null:Number(e);break;case Object:case Array:try{n=JSON.parse(e)}catch{n=null}}return n}},ti=(e,t)=>!Ur(e,t),ni={attribute:!0,type:String,converter:ei,reflect:!1,useDefault:!1,hasChanged:ti};Symbol.metadata??=Symbol(`metadata`),Yr.litPropertyMetadata??=new WeakMap;var ri=class extends HTMLElement{static addInitializer(e){this._$Ei(),(this.l??=[]).push(e)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(e,t=ni){if(t.state&&(t.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(e)&&((t=Object.create(t)).wrapped=!0),this.elementProperties.set(e,t),!t.noAccessor){let n=Symbol(),r=this.getPropertyDescriptor(e,n,t);r!==void 0&&Wr(this.prototype,e,r)}}static getPropertyDescriptor(e,t,n){let{get:r,set:i}=Gr(this.prototype,e)??{get(){return this[t]},set(e){this[t]=e}};return{get:r,set(t){let a=r?.call(this);i?.call(this,t),this.requestUpdate(e,a,n)},configurable:!0,enumerable:!0}}static getPropertyOptions(e){return this.elementProperties.get(e)??ni}static _$Ei(){if(this.hasOwnProperty($r(`elementProperties`)))return;let e=Jr(this);e.finalize(),e.l!==void 0&&(this.l=[...e.l]),this.elementProperties=new Map(e.elementProperties)}static finalize(){if(this.hasOwnProperty($r(`finalized`)))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty($r(`properties`))){let e=this.properties,t=[...Kr(e),...qr(e)];for(let n of t)this.createProperty(n,e[n])}let e=this[Symbol.metadata];if(e!==null){let t=litPropertyMetadata.get(e);if(t!==void 0)for(let[e,n]of t)this.elementProperties.set(e,n)}this._$Eh=new Map;for(let[e,t]of this.elementProperties){let n=this._$Eu(e,t);n!==void 0&&this._$Eh.set(n,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(e){let t=[];if(Array.isArray(e)){let n=new Set(e.flat(1/0).reverse());for(let e of n)t.unshift(Hr(e))}else e!==void 0&&t.push(Hr(e));return t}static _$Eu(e,t){let n=t.attribute;return!1===n?void 0:typeof n==`string`?n:typeof e==`string`?e.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise(e=>this.enableUpdating=e),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach(e=>e(this))}addController(e){(this._$EO??=new Set).add(e),this.renderRoot!==void 0&&this.isConnected&&e.hostConnected?.()}removeController(e){this._$EO?.delete(e)}_$E_(){let e=new Map,t=this.constructor.elementProperties;for(let n of t.keys())this.hasOwnProperty(n)&&(e.set(n,this[n]),delete this[n]);e.size>0&&(this._$Ep=e)}createRenderRoot(){let e=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return Vr(e,this.constructor.elementStyles),e}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach(e=>e.hostConnected?.())}enableUpdating(e){}disconnectedCallback(){this._$EO?.forEach(e=>e.hostDisconnected?.())}attributeChangedCallback(e,t,n){this._$AK(e,n)}_$ET(e,t){let n=this.constructor.elementProperties.get(e),r=this.constructor._$Eu(e,n);if(r!==void 0&&!0===n.reflect){let i=(n.converter?.toAttribute===void 0?ei:n.converter).toAttribute(t,n.type);this._$Em=e,i==null?this.removeAttribute(r):this.setAttribute(r,i),this._$Em=null}}_$AK(e,t){let n=this.constructor,r=n._$Eh.get(e);if(r!==void 0&&this._$Em!==r){let e=n.getPropertyOptions(r),i=typeof e.converter==`function`?{fromAttribute:e.converter}:e.converter?.fromAttribute===void 0?ei:e.converter;this._$Em=r;let a=i.fromAttribute(t,e.type);this[r]=a??this._$Ej?.get(r)??a,this._$Em=null}}requestUpdate(e,t,n,r=!1,i){if(e!==void 0){let a=this.constructor;if(!1===r&&(i=this[e]),n??=a.getPropertyOptions(e),!((n.hasChanged??ti)(i,t)||n.useDefault&&n.reflect&&i===this._$Ej?.get(e)&&!this.hasAttribute(a._$Eu(e,n))))return;this.C(e,t,n)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(e,t,{useDefault:n,reflect:r,wrapped:i},a){n&&!(this._$Ej??=new Map).has(e)&&(this._$Ej.set(e,a??t??this[e]),!0!==i||a!==void 0)||(this._$AL.has(e)||(this.hasUpdated||n||(t=void 0),this._$AL.set(e,t)),!0===r&&this._$Em!==e&&(this._$Eq??=new Set).add(e))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let e=this.scheduleUpdate();return e!=null&&await e,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[e,t]of this._$Ep)this[e]=t;this._$Ep=void 0}let e=this.constructor.elementProperties;if(e.size>0)for(let[t,n]of e){let{wrapped:e}=n,r=this[t];!0!==e||this._$AL.has(t)||r===void 0||this.C(t,void 0,n,r)}}let e=!1,t=this._$AL;try{e=this.shouldUpdate(t),e?(this.willUpdate(t),this._$EO?.forEach(e=>e.hostUpdate?.()),this.update(t)):this._$EM()}catch(t){throw e=!1,this._$EM(),t}e&&this._$AE(t)}willUpdate(e){}_$AE(e){this._$EO?.forEach(e=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(e)),this.updated(e)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(e){return!0}update(e){this._$Eq&&=this._$Eq.forEach(e=>this._$ET(e,this[e])),this._$EM()}updated(e){}firstUpdated(e){}};ri.elementStyles=[],ri.shadowRootOptions={mode:`open`},ri[$r(`elementProperties`)]=new Map,ri[$r(`finalized`)]=new Map,Qr?.({ReactiveElement:ri}),(Yr.reactiveElementVersions??=[]).push(`2.1.2`);var ii={attribute:!0,type:String,converter:ei,reflect:!1,hasChanged:ti},ai=(e=ii,t,n)=>{let{kind:r,metadata:i}=n,a=globalThis.litPropertyMetadata.get(i);if(a===void 0&&globalThis.litPropertyMetadata.set(i,a=new Map),r===`setter`&&((e=Object.create(e)).wrapped=!0),a.set(n.name,e),r===`accessor`){let{name:r}=n;return{set(n){let i=t.get.call(this);t.set.call(this,n),this.requestUpdate(r,i,e,!0,n)},init(t){return t!==void 0&&this.C(r,void 0,e,t),t}}}if(r===`setter`){let{name:r}=n;return function(n){let i=this[r];t.call(this,n),this.requestUpdate(r,i,e,!0,n)}}throw Error(`Unsupported decorator location: `+r)};function G(e){return(t,n)=>typeof n==`object`?ai(e,t,n):((e,t,n)=>{let r=t.hasOwnProperty(n);return t.constructor.createProperty(n,e),r?Object.getOwnPropertyDescriptor(t,n):void 0})(e,t,n)}function K(e){return G({...e,state:!0,attribute:!1})}var oi=globalThis,si=class extends ri{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){let e=super.createRenderRoot();return this.renderOptions.renderBefore??=e.firstChild,e}update(e){let t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=jr(t,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return hr}};si._$litElement$=!0,si.finalized=!0,oi.litElementHydrateSupport?.({LitElement:si});var ci=oi.litElementPolyfillSupport;ci?.({LitElement:si}),(oi.litElementVersions??=[]).push(`4.2.2`);var li={example:{hi:`Hei!`},generic:{from:`Fra`,to:`Til`},calendar:{buttonAltText:`Åpne kalender`,deleteDate:`Fjern dato`},dates:{month:`Måned`,year:`År`,days:[`Mandag`,`Tirsdag`,`Onsdag`,`Torsdag`,`Fredag`,`Lørdag`,`Søndag`],daysShort:[`Man`,`Tir`,`Ons`,`Tor`,`Fre`,`Lør`,`Søn`],months:[`Januar`,`Februar`,`Mars`,`April`,`Mai`,`Juni`,`Juli`,`August`,`September`,`Oktober`,`November`,`Desember`],monthsShort:[`Jan`,`Feb`,`Mar`,`Apr`,`Mai`,`Jun`,`Jul`,`Aug`,`Sep`,`Okt`,`Nov`,`Des`],week:`Uke`,prevMonth:`Forrige måned`,nextMonth:`Neste måned`},timepicker:{hours:`Timer`,minutes:`Minutter`,openPicker:`Åpne tidspunkt-velger`,prevTime:`Forrige tidspunkt`,nextTime:`Neste tidspunkt`,selectTime:`Velg tidspunkt`},forms:{search:{placeholder:`Søk…`},labels:{optional:`Valgfritt`,required:`Må fylles ut`},messages:{required:`Dette feltet er påkrevd`,invalid:`Ugyldig verdi`,invalidPattern:`Ugyldig format`,tooShort:`For kort`,tooLong:`For lang`,rangeUnderflow:`For lav verdi`,rangeOverflow:`For høy verdi`,stepMismatch:`Må treffe på steget som er definert i elementet`,timeStepMismatch:`Må treffe på et steg, for eksempel 0, {step} minutter`,timeStepMismatchHour:`Må treffe på hver hele time`,timeStepMismatchHalfHour:`Må treffe på hver hele eller halve time`,rangeUnderflowMin:`Verdien må være større enn eller lik {min}.`,rangeOverflowMax:`Verdien må være mindre enn eller lik {max}.`,dateUnderflow:`For tidlig dato`,dateOverflow:`For sen dato`},helptext:{helptextDropdownButton:`Les mer`},date:{multiple:`Her kan du velge flere datoer. Trykk komma eller enter når du har skrevet inn en dato.`}}};function q(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}var ui=class extends si{constructor(...e){super(...e),this.strings=li,this.role=null}hotReplacedCallback(){this.requestUpdate()}};q([G({type:Object})],ui.prototype,`strings`,void 0),q([G({type:String})],ui.prototype,`role`,void 0);var di=class extends ui{createRenderRoot(){return this}},J=Nr(class extends Pr{constructor(e){if(super(e),e.type!==Mr.ATTRIBUTE||e.name!==`class`||e.strings?.length>2)throw Error("`classMap()` can only be used in the `class` attribute and must be the only part in the attribute.")}render(e){return` `+Object.keys(e).filter(t=>e[t]).join(` `)+` `}update(e,[t]){if(this.st===void 0){this.st=new Set,e.strings!==void 0&&(this.nt=new Set(e.strings.join(` `).split(/\s/).filter(e=>e!==``)));for(let e in t)t[e]&&!this.nt?.has(e)&&this.st.add(e);return this.render(t)}let n=e.element.classList;for(let e of this.st)e in t||(n.remove(e),this.st.delete(e));for(let e in t){let r=!!t[e];r===this.st.has(e)||this.nt?.has(e)||(r?(n.add(e),this.st.add(e)):(n.remove(e),this.st.delete(e)))}return hr}}),{I:fi}=kr,pi=e=>e,mi=e=>e.strings===void 0,hi=()=>document.createComment(``),gi=(e,t,n)=>{let r=e._$AA.parentNode,i=t===void 0?e._$AB:t._$AA;if(n===void 0)n=new fi(r.insertBefore(hi(),i),r.insertBefore(hi(),i),e,e.options);else{let t=n._$AB.nextSibling,a=n._$AM,o=a!==e;if(o){let t;n._$AQ?.(e),n._$AM=e,n._$AP!==void 0&&(t=e._$AU)!==a._$AU&&n._$AP(t)}if(t!==i||o){let e=n._$AA;for(;e!==t;){let t=pi(e).nextSibling;pi(r).insertBefore(e,i),e=t}}}return n},_i=(e,t,n=e)=>(e._$AI(t,n),e),vi={},yi=(e,t=vi)=>e._$AH=t,bi=e=>e._$AH,xi=e=>{e._$AR(),e._$AA.remove()},Si=(e,t)=>{let n=e._$AN;if(n===void 0)return!1;for(let e of n)e._$AO?.(t,!1),Si(e,t);return!0},Ci=e=>{let t,n;do{if((t=e._$AM)===void 0)break;n=t._$AN,n.delete(e),e=t}while(n?.size===0)},wi=e=>{for(let t;t=e._$AM;e=t){let n=t._$AN;if(n===void 0)t._$AN=n=new Set;else if(n.has(e))break;n.add(e),Di(t)}};function Ti(e){this._$AN===void 0?this._$AM=e:(Ci(this),this._$AM=e,wi(this))}function Ei(e,t=!1,n=0){let r=this._$AH,i=this._$AN;if(i!==void 0&&i.size!==0)if(t)if(Array.isArray(r))for(let e=n;e<r.length;e++)Si(r[e],!1),Ci(r[e]);else r!=null&&(Si(r,!1),Ci(r));else Si(this,e)}var Di=e=>{e.type==Mr.CHILD&&(e._$AP??=Ei,e._$AQ??=Ti)},Oi=class extends Pr{constructor(){super(...arguments),this._$AN=void 0}_$AT(e,t,n){super._$AT(e,t,n),wi(this),this.isConnected=e._$AU}_$AO(e,t=!0){e!==this.isConnected&&(this.isConnected=e,e?this.reconnected?.():this.disconnected?.()),t&&(Si(this,e),Ci(this))}setValue(e){if(mi(this._$Ct))this._$Ct._$AI(e,this);else{let t=[...this._$Ct._$AH];t[this._$Ci]=e,this._$Ct._$AI(t,this,0)}}disconnected(){}reconnected(){}};function ki(e){return e.classList&&(e.classList.contains(`_dialog_overlay`)||e.classList.contains(`backdrop`))?!0:typeof e.hasAttribute==`function`&&e.hasAttribute(`data-skip`)}function Ai(e){return e.nodeName===`OPTION`||e.nodeName===`DATA`}function ji(e){return e.nodeType===Node.TEXT_NODE&&e.nodeValue?.trim()!==``}var Mi=new WeakMap;function Ni(e){let t=Mi.get(e);return t||(t=new Ri(e),Mi.set(e,t)),t}var Pi=Symbol(`default`);function Fi(e){return e===void 0?Pi:e}function Ii(e,t){if(e.nodeType===Node.COMMENT_NODE)return!1;if(e.nodeType===Node.TEXT_NODE)return ji(e)?(Li(t,Pi,e),!0):!1;if(e.nodeType===Node.ELEMENT_NODE){let n=e;if(ki(n)||Ai(n))return!1;if(n instanceof HTMLTemplateElement){let e=Array.from(n.content.childNodes),r=Fi(n.getAttribute(`slot`)??void 0);for(let n of e)Li(t,r,n);return!0}let r=n.getAttribute(`slot`);return Li(t,r===null?Pi:Fi(r),e),!0}return!1}function Li(e,t,n){let r=e.get(t);r||(r=[],e.set(t,r)),r.push(n)}var Ri=class e{static{this.PLACEHOLDER_PREFIX=`pkt-slot`}constructor(e){this.observer=null,this.nodesBySlot=new Map,this.directives=new Set,this.observing=!1,this.trackedNodes=new Set,this.generation=0,this.initialCollectionDone=!1,this.processingMutations=!1,this.placeholderToNode=new Map,this.nodeToPlaceholder=new Map,this.host=e}collectNodes(){if(this.initialCollectionDone)return;this.initialCollectionDone=!0,this.generation++;let e=Array.from(this.host.childNodes);for(let t of e)Ii(t,this.nodesBySlot)&&this.trackedNodes.add(t)}addDirective(e){this.directives.add(e),this.startObserving()}removeDirective(e){this.directives.delete(e),this.directives.size===0&&this.stopObserving()}getNodes(e){return this.nodesBySlot.get(Fi(e))??[]}hasContent(e){return this.getNodes(e).length>0}ensurePlaceholder(t){if(this.nodeToPlaceholder.has(t)||t.parentNode!==this.host)return;let n=document.createComment(e.PLACEHOLDER_PREFIX);this.host.insertBefore(n,t),this.placeholderToNode.set(n,t),this.nodeToPlaceholder.set(t,n)}startObserving(){this.observing||(this.observing=!0,setTimeout(()=>{this.observing&&(this.observer=new MutationObserver(e=>{this.handleMutations(e)}),this.observer.observe(this.host,{childList:!0}))},0))}stopObserving(){this.observing&&(this.observing=!1,this.observer?.disconnect(),this.observer=null)}handleMutations(e){if(this.processingMutations)return;this.processingMutations=!0;let t=!1;for(let n of e)if(n.target===this.host){for(let e of n.removedNodes){let n=this.placeholderToNode.get(e);if(n){n.parentNode?.removeChild(n),this.trackedNodes.delete(n),this.removeFromSlots(n),this.placeholderToNode.delete(e),this.nodeToPlaceholder.delete(n),t=!0;continue}if(this.trackedNodes.has(e)){this.trackedNodes.delete(e),this.removeFromSlots(e);let n=this.nodeToPlaceholder.get(e);n&&(n.parentNode?.removeChild(n),this.placeholderToNode.delete(n),this.nodeToPlaceholder.delete(e)),t=!0}}for(let e of n.addedNodes)this.placeholderToNode.has(e)||!this.trackedNodes.has(e)&&this.isUserContent(e)&&Ii(e,this.nodesBySlot)&&(this.trackedNodes.add(e),t=!0)}t&&(this.generation++,this.notifyDirectives()),this.observer?.takeRecords(),this.processingMutations=!1}isUserContent(e){if(e.nodeType===Node.COMMENT_NODE)return!1;if(e.nodeType===Node.TEXT_NODE)return ji(e);if(e.nodeType===Node.ELEMENT_NODE){let t=e;return!(ki(t)||Ai(t))}return!1}removeFromSlots(e){for(let[t,n]of this.nodesBySlot){let r=n.indexOf(e);if(r!==-1){n.splice(r,1),n.length===0&&this.nodesBySlot.delete(t);return}}}notifyDirectives(){for(let e of this.directives)e.handleNodesChanged()}},zi=Nr(class extends Oi{constructor(e){if(super(e),this.manager=null,this.lastGeneration=-1,e.type!==Mr.CHILD)throw Error(`slotContent() can only be used in child expressions`)}render(e,t){return hr}update(e,[t,n]){return this.slotName=n,this.manager||(this.manager=Ni(t),this.manager.collectNodes(),this.manager.addDirective(this)),this.ensurePlaceholders(),this.getNodesOrNoChange()}handleNodesChanged(){if(!this.isConnected||!this.manager)return;this.ensurePlaceholders();let e=this.getNodesOrNoChange();e!==hr&&this.setValue(e)}ensurePlaceholders(){if(!this.manager)return;let e=this.manager.getNodes(this.slotName);for(let t of e)this.manager.ensurePlaceholder(t)}disconnected(){this.manager?.removeDirective(this),this.manager=null,this.lastGeneration=-1}reconnected(){}getNodesOrNoChange(){if(!this.manager)return hr;let e=this.manager.generation;return e===this.lastGeneration?hr:(this.lastGeneration=e,this.manager.getNodes(this.slotName))}}),Bi=class extends di{connectedCallback(){Ni(this).collectNodes(),super.connectedCallback()}hasSlotContent(e){return Ni(this).hasContent(e)}};function Vi(e,t,n){let r=e.getAttribute(`class`)||``,i=new Set(r.split(/\s+/).filter(Boolean));n?i.add(t):i.delete(t),e.setAttribute(`class`,Array.from(i).join(` `))}var Hi=class extends Pr{constructor(e){if(super(e),this.it=U,e.type!==Mr.CHILD)throw Error(this.constructor.directiveName+`() can only be used in child bindings`)}render(e){if(e===U||e==null)return this._t=void 0,this.it=e;if(e===hr)return e;if(typeof e!=`string`)throw Error(this.constructor.directiveName+`() called with a non-string value`);if(e===this.it)return this._t;this.it=e;let t=[e];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};Hi.directiveName=`unsafeHTML`,Hi.resultType=1;var Ui=Nr(Hi),Wi=class extends Hi{};Wi.directiveName=`unsafeSVG`,Wi.resultType=2;var Gi=Nr(Wi),Ki=`https://punkt-cdn.oslo.kommune.no/16.21/icons/`;typeof window<`u`&&(window.pktFetch=window.pktFetch===void 0?fetch:window.pktFetch,window.pktIconPath=window.pktIconPath||Ki);var qi=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>`,Ji={},Yi=2,Xi=1500,Zi=typeof Storage<`u`&&typeof sessionStorage<`u`,Qi=e=>window.pktFetch(e).then(t=>{if(!t.ok)throw Error(`Missing icon: `+e);return t.text()}),$i=async(e,t=Yi)=>{try{return await Qi(e)}catch{return t>0?(await new Promise(e=>setTimeout(e,Xi)),$i(e,t-1)):(console.error(`Failed to fetch icon: `+e),qi)}},ea=async(e,t)=>{let n=t+e+`.svg`;return Zi&&sessionStorage.getItem(n)?sessionStorage.getItem(n):n in Ji?Ji[n]:typeof window<`u`&&typeof window.pktFetch==`function`?(Ji[n]=$i(n).then(e=>(e!==qi&&Zi&&sessionStorage.setItem(n,e),delete Ji[n],e)),Ji[n]):qi},ta=class extends di{constructor(...e){super(...e),this.path=typeof window<`u`?window.pktIconPath:Ki,this.name=``,this.ariaHidden=null,this.ariaLabel=null,this.icon=Gi(qi),this._updatedProps=[]}get effectiveAriaHidden(){return this.ariaHidden!==null&&this.ariaHidden!==void 0?this.ariaHidden===``||this.ariaHidden===`true`:!this.ariaLabel}get effectiveAriaLabel(){return this.effectiveAriaHidden?null:this.ariaLabel||this.name||null}connectedCallback(){super.connectedCallback(),this.classList.add(`pkt-icon`)}async attributeChangedCallback(e,t,n){super.attributeChangedCallback(e,t,n),(e===`name`||e===`path`)&&this.getIcon(this.name)}async updated(e){super.updated(e),(e.has(`name`)||e.has(`path`))&&this.getIcon(this.name),this.applyAriaToSvg()}applyAriaToSvg(){let e=this.querySelector(`svg`);if(!e)return;e.setAttribute(`aria-hidden`,String(this.effectiveAriaHidden));let t=this.effectiveAriaLabel;t?e.setAttribute(`aria-label`,t):e.removeAttribute(`aria-label`)}async getIcon(e=``){if(this._updatedProps.length>0){this.path||=typeof window<`u`?window.pktIconPath:Ki;try{this.icon=Gi(await ea(this.name||``,this.path))}catch{this.icon=Gi(qi)}this._updatedProps=[]}else this._updatedProps.includes(e)||this._updatedProps.push(e)}render(){return H`${this.name&&this.icon}`}};q([G({type:String,reflect:!1})],ta.prototype,`path`,void 0),q([G({type:String,reflect:!0})],ta.prototype,`name`,void 0),q([G({type:String,attribute:`aria-hidden`,reflect:!0})],ta.prototype,`ariaHidden`,void 0),q([G({type:String,attribute:`aria-label`,reflect:!0})],ta.prototype,`ariaLabel`,void 0),q([G({type:SVGElement})],ta.prototype,`icon`,void 0),q([G({type:Array,noAccessor:!0})],ta.prototype,`_updatedProps`,void 0);try{W(`pkt-icon`)(ta)}catch{console.warn(`Forsøker å definere <pkt-icon>, men den er allerede definert`)}var Y=e=>e??U;window.pktAnimationPath=window.pktAnimationPath||`https://punkt-cdn.oslo.kommune.no/16.21/animations/`;var na=class extends Bi{constructor(...e){super(...e),this.iconName=`user`,this.secondIconName=`user`,this.mode=`light`,this.size=`medium`,this.fullWidth=!1,this.fullWidthOnMobile=!1,this.skin=`primary`,this.variant=`label-only`,this.state=`normal`,this.type=`button`,this.form=void 0,this.isLoading=!1,this.disabled=!1,this.loadingAnimationPath=window.pktAnimationPath}connectedCallback(){super.connectedCallback(),this.addEventListener(`click`,e=>{(this.disabled||this.hasAttribute(`disabled`)||this.isLoading)&&(e.preventDefault(),e.stopImmediatePropagation())},!0),this.addEventListener(`keydown`,e=>{(this.disabled||this.hasAttribute(`disabled`)||this.isLoading)&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopImmediatePropagation())},!0)}attributeChangedCallback(e,t,n){super.attributeChangedCallback(e,t,n),e===`disabled`&&n===`false`&&(this.disabled=!1),(e===`isloading`||e===`isLoading`)&&n===`false`&&(this.isLoading=!1)}firstUpdated(e){super.firstUpdated(e),this.disabled===`false`&&(this.disabled=!1),this.isLoading===`false`&&(this.isLoading=!1)}render(){let e=this.form??this.getAttribute(`form`)??void 0;return H`
38
- <button
39
- class=${J({"pkt-btn":!0,[`pkt-btn--${this.size}`]:!!this.size,[`pkt-btn--${this.skin}`]:!!this.skin,[`pkt-btn--${this.variant}`]:!!this.variant,[`pkt-btn--${this.color}`]:!!this.color,[`pkt-btn--${this.state}`]:!!this.state,"pkt-btn--full":!!this.fullWidth,"pkt-btn--full-small":!!this.fullWidthOnMobile,"pkt-btn--disabled":!!this.disabled,"pkt-btn--isLoading":!!this.isLoading})}
40
- type=${this.type}
41
- ?disabled=${!!this.disabled}
42
- aria-busy=${Y(this.isLoading?`true`:void 0)}
43
- aria-disabled=${Y(this.disabled||this.isLoading?`true`:void 0)}
44
- form=${Y(e)}
45
- >
46
- ${this.isLoading?H`<pkt-icon
47
- class="pkt-btn__icon pkt-btn__spinner"
48
- name="spinner-blue"
49
- path=${Y(this.loadingAnimationPath)}
50
- ></pkt-icon>`:U}
51
- ${this.variant===`label-only`?U:H`<pkt-icon
52
- class="pkt-btn__icon pkt-icon"
53
- name=${this.iconName}
54
- path=${Y(this.iconPath)}
55
- ></pkt-icon>`}
56
- <span class="pkt-btn__text">${zi(this)}</span>
57
- ${this.variant===`icons-right-and-left`?H`<pkt-icon
58
- class="pkt-btn__icon"
59
- name=${this.secondIconName}
60
- path=${Y(this.secondIconPath)}
61
- ></pkt-icon>`:U}
62
- </button>
63
- `}};q([G({type:String})],na.prototype,`iconName`,void 0),q([G({type:String})],na.prototype,`secondIconName`,void 0),q([G({type:String})],na.prototype,`iconPath`,void 0),q([G({type:String})],na.prototype,`secondIconPath`,void 0),q([G({type:String})],na.prototype,`mode`,void 0),q([G({type:String})],na.prototype,`size`,void 0),q([G({type:Boolean,attribute:`full-width`})],na.prototype,`fullWidth`,void 0),q([G({type:Boolean,attribute:`full-width-on-mobile`})],na.prototype,`fullWidthOnMobile`,void 0),q([G({type:String})],na.prototype,`color`,void 0),q([G({type:String})],na.prototype,`skin`,void 0),q([G({type:String})],na.prototype,`variant`,void 0),q([G({type:String,reflect:!0})],na.prototype,`state`,void 0),q([G({type:String,reflect:!0})],na.prototype,`type`,void 0),q([G({type:String})],na.prototype,`form`,void 0),q([G({type:Boolean,reflect:!0})],na.prototype,`isLoading`,void 0),q([G({type:Boolean,reflect:!0})],na.prototype,`disabled`,void 0),q([G({type:String})],na.prototype,`loadingAnimationPath`,void 0);try{W(`pkt-button`)(na)}catch{console.warn(`Forsøker å definere <pkt-button>, men den er allerede definert`)}var ra={name:`pkt-alert`,react:`PktAlert`,"css-class":`pkt-alert`,"dark-mode":!0,isElement:!0,isPureReact:!0,events:{onClose:{description:`React: Klikk-event for 'Lukk'-knappen`},close:{description:`Vue: Klikk-event for 'Lukk'-knappen`}},props:{title:{name:`Tittel`,description:`Tittelen som vises øverst i på meldingen`,type:`string`,category:`contents`},skin:{name:`Utseende`,description:`Hvordan type melding er dette?`,type:[`info`,`success`,`warning`,`error`],default:`info`,category:`ui`},date:{name:`Sist oppdatert`,description:`Dato som vises nederst i på meldingen`,type:`string`,category:`contents`},ariaLive:{name:`aria-live`,description:`Hvordan skal skjermleseren lese opp meldingen?`,type:[`off`,`polite`,`assertive`],default:`polite`,category:`accessibility`},compact:{name:`Kompakt`,description:`Gjør meldingen mindre`,type:`boolean`,category:`ui`,default:!1},closeAlert:{name:`Vis 'Lukk'-knapp`,description:`Viser 'Lukk'-knappen`,type:`boolean`,default:!1,category:`ui`}},slots:{default:{description:`Innholdet i meldingen`}}},ia=class extends Bi{constructor(){super(),this.compact=ra.props.compact.default,this.title=``,this.skin=ra.props.skin.default,this.ariaLive=ra.props.ariaLive.default,this.ariaLiveAttr=null,this.closeAlert=ra.props.closeAlert.default,this.date=null,this.role=`status`,this._isClosed=!1,this.close=e=>{this._isClosed=!0,this.dispatchEvent(new CustomEvent(`close`,{detail:{origin:e},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`on-close`,{detail:{origin:e},bubbles:!0,composed:!0}))},this._isClosed=!1}connectedCallback(){super.connectedCallback(),this.ariaLiveAttr=this.getAttribute(`aria-live`)||this.ariaLive}attributeChangedCallback(e,t,n){e===`ariaLive`&&(this.ariaLiveAttr=n),super.attributeChangedCallback(e,t,n)}updated(e){super.updated(e),e.has(`ariaLive`)&&(this.ariaLiveAttr=this.ariaLive),e.has(`_isClosed`)&&Vi(this,`pkt-hide`,this._isClosed)}render(){let e={"pkt-alert":!0,"pkt-alert--compact":this.compact,[`pkt-alert--${this.skin}`]:this.skin,"pkt-hide":this._isClosed},t={"pkt-alert__grid":!0,"pkt-alert__noTitle":!this.title,"pkt-alert__noDate":!this.date};return H`
64
- <div class=${J(e)} aria-live=${this.ariaLiveAttr}>
65
- <div class=${J(t)}>
66
- <pkt-icon
67
- class="pkt-alert__icon"
68
- aria-hidden="true"
69
- name=${this.skin===`info`?`alert-information`:`alert-${this.skin}`}
70
- ></pkt-icon>
71
-
72
- ${this.closeAlert?H`
73
- <div class="pkt-alert__close">
74
- <pkt-button
75
- tabindex="0"
76
- aria-label="close"
77
- size=${this.compact?`small`:`medium`}
78
- type="button"
79
- skin="tertiary"
80
- iconName="close"
81
- variant="icon-only"
82
- @click=${this.close}
83
- >
84
- <span class="sr-only">Lukk</span>
85
- </pkt-button>
86
- </div>
87
- `:U}
88
- ${this.title?H`<div class="pkt-alert__title">${this.title}</div>`:U}
89
-
90
- <div class="pkt-alert__text">${zi(this)}</div>
91
-
92
- ${this.date?H`<div class="pkt-alert__date">Sist oppdatert: ${this.date}</div>`:U}
93
- </div>
94
- </div>
95
- `}};q([G({type:Boolean,reflect:!1})],ia.prototype,`compact`,void 0),q([G({type:String,reflect:!0})],ia.prototype,`title`,void 0),q([G({type:String,reflect:!0})],ia.prototype,`skin`,void 0),q([G({type:String})],ia.prototype,`ariaLive`,void 0),q([G({type:String,reflect:!0,attribute:`aria-live`})],ia.prototype,`ariaLiveAttr`,void 0),q([G({type:Boolean,reflect:!0})],ia.prototype,`closeAlert`,void 0),q([G({type:String,reflect:!0})],ia.prototype,`date`,void 0),q([G({type:String,reflect:!0})],ia.prototype,`role`,void 0),q([K()],ia.prototype,`_isClosed`,void 0);try{W(`pkt-alert`)(ia)}catch{console.warn(`Forsøker å definere <pkt-alert>, men den er allerede definert`)}var X=()=>new aa,aa=class{},oa=new WeakMap,Z=Nr(class extends Oi{render(e){return U}update(e,[t]){let n=t!==this.G;return n&&this.G!==void 0&&this.rt(void 0),(n||this.lt!==this.ct)&&(this.G=t,this.ht=e.options?.host,this.rt(this.ct=e.element)),U}rt(e){if(this.isConnected||(e=void 0),typeof this.G==`function`){let t=this.ht??globalThis,n=oa.get(t);n===void 0&&(n=new WeakMap,oa.set(t,n)),n.get(this.G)!==void 0&&this.G.call(this.ht,void 0),n.set(this.G,e),e!==void 0&&this.G.call(this.ht,e)}else this.G.value=e}get lt(){return typeof this.G==`function`?oa.get(this.ht??globalThis)?.get(this.G):this.G?.value}disconnected(){this.lt===this.ct&&this.rt(void 0)}reconnected(){this.rt(this.ct)}}),sa=class extends si{constructor(...e){super(...e),this.ariaLabelledBy=``,this.compact=!1,this.skin=`borderless`,this.name=``}updated(e){e.has(`skin`)&&this.requestUpdate(),e.has(`name`)&&this.updateAccordionItemNames()}updateAccordionItemNames(){if(this.name){let e=this.renderRoot?.querySelector(`slot`);e&&e.assignedElements().forEach(e=>{e.tagName.toLowerCase()===`pkt-accordion-item`&&(e.hasAttribute(`name`)||e.setAttribute(`name`,this.name))})}}firstUpdated(){let e=this.renderRoot?.querySelector(`slot`);e&&e.addEventListener(`slotchange`,()=>{this.updateAccordionItemNames()})}render(){return H`
96
- <div
97
- part="container"
98
- class=${J({"pkt-accordion":!0,"pkt-accordion--compact":this.compact,[`pkt-accordion--${this.skin}`]:this.skin})}
99
- data-testid="pkt-accordion"
100
- aria-labelledby=${this.ariaLabelledBy}
101
- >
102
- <slot></slot>
103
- </div>
104
- `}};q([G({type:String,reflect:!0,attribute:`aria-labelledby`})],sa.prototype,`ariaLabelledBy`,void 0),q([G({type:Boolean,reflect:!0,attribute:`compact`})],sa.prototype,`compact`,void 0),q([G({type:String,reflect:!0,attribute:`skin`})],sa.prototype,`skin`,void 0),q([G({type:String,reflect:!0,attribute:`name`})],sa.prototype,`name`,void 0);try{W(`pkt-accordion`)(sa)}catch{console.warn(`Forsøker å definere <pkt-accordion>, men den er allerede definert`)}var ca=class extends Bi{constructor(){super(),this.defaultOpen=!1,this.title=``,this.skin=void 0,this.compact=!1,this.isOpen=!1,this.name=void 0,this.accordionItemRef=X()}firstUpdated(e){this.defaultOpen&&(this.isOpen=!0)}render(){let e={"pkt-accordion-item":!0,"pkt-accordion-item--compact":this.compact,[`pkt-accordion-item--${this.skin}`]:!!this.skin},t=this.skin===`plus-minus`;return H`
105
- <details
106
- class=${J(e)}
107
- id=${this.id}
108
- ?open=${this.isOpen}
109
- ${Z(this.accordionItemRef)}
110
- name=${Y(this.name)}
111
- >
112
- <summary class="pkt-accordion-item__title" id=${`pkt-accordion-item-summary-${this.id}`}>
113
- ${this.title}
114
- ${t?H`
115
- <pkt-icon
116
- name="plus-sign"
117
- class="pkt-accordion-item__icon pkt-accordion-item__icon--plus"
118
- aria-hidden="true"
119
- ></pkt-icon>
120
- <pkt-icon
121
- name="minus-sign"
122
- class="pkt-accordion-item__icon pkt-accordion-item__icon--minus"
123
- aria-hidden="true"
124
- ></pkt-icon>
125
- `:H`
126
- <pkt-icon
127
- name="chevron-thin-down"
128
- class="pkt-accordion-item__icon"
129
- aria-hidden="true"
130
- ></pkt-icon>
131
- `}
132
- </summary>
133
- <div
134
- class="pkt-accordion-item__content"
135
- id="pkt-accordion-item__content-${this.id}"
136
- role="region"
137
- >
138
- <div class="pkt-accordion-item__content-inner">${zi(this)}</div>
139
- </div>
140
- </details>
141
- `}};q([G({type:Boolean})],ca.prototype,`defaultOpen`,void 0),q([G({type:String})],ca.prototype,`title`,void 0),q([G({type:String,reflect:!0})],ca.prototype,`skin`,void 0),q([G({type:Boolean,reflect:!0})],ca.prototype,`compact`,void 0),q([G({type:Boolean,reflect:!0})],ca.prototype,`isOpen`,void 0),q([G({type:String,reflect:!0})],ca.prototype,`name`,void 0);try{W(`pkt-accordion-item`)(ca)}catch{console.warn(`Forsøker å definere <pkt-accordion-item>, men den er allerede definert`)}var la=class extends di{constructor(...e){super(...e),this.href=``,this.text=`Forsiden`,this.ariaLabel=``}attributeChangedCallback(e,t,n){e===`arialabel`&&this.removeAttribute(`arialabel`),e===`href`&&this.removeAttribute(`href`),e===`text`&&this.removeAttribute(`text`),super.attributeChangedCallback(e,t,n)}render(){return H`<nav
142
- class="pkt-back-link"
143
- aria-label=${this.ariaLabel||`Gå tilbake til forrige side`}
144
- >
145
- <a href=${Y(this.href||`/`)} class="pkt-link pkt-link--icon-left"
146
- ><pkt-icon
147
- class="pkt-back-link__icon pkt-icon pkt-link__icon"
148
- name="chevron-thin-left"
149
- aria-hidden="true"
150
- ></pkt-icon
151
- ><span class="pkt-back-link__text">${this.text}</span></a
152
- >
153
- </nav>`}};q([G({type:String})],la.prototype,`href`,void 0),q([G({type:String})],la.prototype,`text`,void 0),q([G({type:String})],la.prototype,`ariaLabel`,void 0);try{W(`pkt-backlink`)(la)}catch{console.warn(`Forsøker å definere <pkt-backlink>, men den er allerede definert`)}var ua=class extends di{constructor(...e){super(...e),this.breadcrumbs=[]}handleLinkClick(e,t,n){let r=new CustomEvent(`navigate`,{detail:{item:t,index:n,originalEvent:e},bubbles:!0,composed:!0,cancelable:!0});this.dispatchEvent(r)||e.preventDefault()}render(){if(!this.breadcrumbs||this.breadcrumbs.length===0)return U;let e=this.breadcrumbs[this.breadcrumbs.length-2];return H`
154
- <nav class="pkt-breadcrumbs" aria-label="brødsmulemeny">
155
- <ol class="pkt-breadcrumbs__list pkt-breadcrumbs--desktop">
156
- ${this.breadcrumbs.map((e,t)=>t===this.breadcrumbs.length-1?H`
157
- <li class="pkt-breadcrumbs__item">
158
- <span class="pkt-breadcrumbs__label" aria-current="true">
159
- <span class="pkt-breadcrumbs__text">${e.text}</span>
160
- </span>
161
- </li>
162
- `:H`
163
- <li class="pkt-breadcrumbs__item">
164
- <a
165
- class="pkt-link pkt-link--icon-right pkt-breadcrumbs__label pkt-breadcrumbs__link"
166
- href=${e.href}
167
- @click=${n=>this.handleLinkClick(n,e,t)}
168
- >
169
- <pkt-icon
170
- class="pkt-icon pkt-breadcrumbs__icon pkt-link__icon"
171
- name="chevron-thin-right"
172
- aria-hidden="true"
173
- ></pkt-icon>
174
- <span class="pkt-breadcrumbs__text">${e.text}</span>
175
- </a>
176
- </li>
177
- `)}
178
- </ol>
179
-
180
- ${e?H`
181
- <a
182
- class="pkt-link pkt-link--icon-left pkt-breadcrumbs--mobile"
183
- href=${e.href}
184
- @click=${t=>this.handleLinkClick(t,e,this.breadcrumbs.length-2)}
185
- >
186
- <pkt-icon
187
- class="pkt-back-link__icon pkt-icon pkt-link__icon"
188
- name="chevron-thin-left"
189
- aria-hidden="true"
190
- ></pkt-icon>
191
- <span class="pkt-breadcrumbs__text">${e.text}</span>
192
- </a>
193
- `:U}
194
- </nav>
195
- `}};q([G({type:Array})],ua.prototype,`breadcrumbs`,void 0);try{W(`pkt-breadcrumbs`)(ua)}catch{console.warn(`Forsøker å definere <pkt-breadcrumbs>, men den er allerede definert`)}var da=365.2425,fa=6048e5,pa=864e5,ma=3600*24;ma*7,ma*da/12*3;var ha=Symbol.for(`constructDateFrom`);function ga(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&ha in e?e[ha](t):e instanceof Date?new e.constructor(t):new Date(t)}function _a(e,t){return ga(t||e,e)}var va={};function ya(){return va}function ba(e,t){let n=ya(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=_a(e,t?.in),a=i.getDay(),o=(a<r?7:0)+a-r;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function xa(e,t){return ba(e,{...t,weekStartsOn:1})}function Sa(e,t){let n=_a(e,t?.in),r=n.getFullYear(),i=ga(n,0);i.setFullYear(r+1,0,4),i.setHours(0,0,0,0);let a=xa(i),o=ga(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);let s=xa(o);return n.getTime()>=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function Ca(e){let t=_a(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 wa(e,...t){let n=ga.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function Ta(e,t){let n=_a(e,t?.in);return n.setHours(0,0,0,0),n}function Ea(e,t,n){let[r,i]=wa(n?.in,e,t),a=Ta(r),o=Ta(i),s=+a-Ca(a),c=+o-Ca(o);return Math.round((s-c)/pa)}function Da(e,t){let n=Sa(e,t),r=ga(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),xa(r)}function Oa(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function ka(e){return!(!Oa(e)&&typeof e!=`number`||isNaN(+_a(e)))}function Aa(e,t){let n=_a(e,t?.in);return n.setHours(23,59,59,999),n}function ja(e,t){let n=_a(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}var Ma={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`}},Na=(e,t,n)=>{let r,i=Ma[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function Pa(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var Fa={date:Pa({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:Pa({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:Pa({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},Ia={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},La=(e,t,n,r)=>Ia[e];function Ra(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}var za={ordinalNumber:(e,t)=>{let 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`},era:Ra({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:Ra({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:Ra({values:{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`]},defaultWidth:`wide`}),day:Ra({values:{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`]},defaultWidth:`wide`}),dayPeriod:Ra({values:{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`}},defaultWidth:`wide`,formattingValues:{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`}},defaultFormattingWidth:`wide`})};function Ba(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?Ha(s,e=>e.test(o)):Va(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function Va(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function Ha(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function Ua(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}var Wa={code:`en-US`,formatDistance:Na,formatLong:Fa,formatRelative:La,localize:za,match:{ordinalNumber:Ua({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:Ba({matchPatterns:{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},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:Ba({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:Ba({matchPatterns:{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},defaultMatchWidth:`wide`,parsePatterns:{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]},defaultParseWidth:`any`}),day:Ba({matchPatterns:{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},defaultMatchWidth:`wide`,parsePatterns:{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]},defaultParseWidth:`any`}),dayPeriod:Ba({matchPatterns:{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},defaultMatchWidth:`any`,parsePatterns:{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}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function Ga(e,t){let n=_a(e,t?.in);return Ea(n,ja(n))+1}function Ka(e,t){let n=_a(e,t?.in),r=xa(n)-+Da(n);return Math.round(r/fa)+1}function qa(e,t){let n=_a(e,t?.in),r=n.getFullYear(),i=ya(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=ga(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=ba(o,t),c=ga(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=ba(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function Ja(e,t){let n=ya(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=qa(e,t),a=ga(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),ba(a,t)}function Ya(e,t){let n=_a(e,t?.in),r=ba(n,t)-+Ja(n,t);return Math.round(r/fa)+1}function Xa(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var Za={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return Xa(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):Xa(n+1,2)},d(e,t){return Xa(e.getDate(),t.length)},a(e,t){let 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];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return Xa(e.getHours()%12||12,t.length)},H(e,t){return Xa(e.getHours(),t.length)},m(e,t){return Xa(e.getMinutes(),t.length)},s(e,t){return Xa(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return Xa(Math.trunc(r*10**(n-3)),t.length)}},Qa={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},$a={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return Za.y(e,t)},Y:function(e,t,n,r){let i=qa(e,r),a=i>0?i:1-i;return t===`YY`?Xa(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):Xa(a,t.length)},R:function(e,t){return Xa(Sa(e),t.length)},u:function(e,t){return Xa(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return Xa(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`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return Xa(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`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return Za.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`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return Xa(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`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=Ya(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):Xa(i,t.length)},I:function(e,t,n){let r=Ka(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):Xa(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):Za.d(e,t)},D:function(e,t,n){let r=Ga(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):Xa(r,t.length)},E:function(e,t,n){let 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`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return Xa(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return Xa(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return Xa(i,t.length);case`io`:return n.ordinalNumber(i,{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`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?Qa.noon:r===0?Qa.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?Qa.evening:r>=12?Qa.afternoon:r>=4?Qa.morning:Qa.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return Za.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):Za.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):Xa(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):Xa(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):Za.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):Za.s(e,t)},S:function(e,t){return Za.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return to(r);case`XXXX`:case`XX`:return no(r);default:return no(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return to(r);case`xxxx`:case`xx`:return no(r);default:return no(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+eo(r,`:`);default:return`GMT`+no(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+eo(r,`:`);default:return`GMT`+no(r,`:`)}},t:function(e,t,n){return Xa(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return Xa(+e,t.length)}};function eo(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+Xa(a,2)}function to(e,t){return e%60==0?(e>0?`-`:`+`)+Xa(Math.abs(e)/60,2):no(e,t)}function no(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Xa(Math.trunc(r/60),2),a=Xa(r%60,2);return n+i+t+a}var ro=(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`});default:return t.date({width:`full`})}},io=(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`});default:return t.time({width:`full`})}},ao={p:io,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return ro(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`});break}return a.replace(`{{date}}`,ro(r,t)).replace(`{{time}}`,io(i,t))}},oo=/^D+$/,so=/^Y+$/,co=[`D`,`DD`,`YY`,`YYYY`];function lo(e){return oo.test(e)}function uo(e){return so.test(e)}function fo(e,t,n){let r=po(e,t,n);if(console.warn(r),co.includes(e))throw RangeError(r)}function po(e,t,n){let 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`}var mo=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,ho=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,go=/^'([^]*?)'?$/,_o=/''/g,vo=/[a-zA-Z]/;function yo(e,t,n){let r=ya(),i=n?.locale??r.locale??Wa,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=_a(e,n?.in);if(!ka(s))throw RangeError(`Invalid time value`);let c=t.match(ho).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=ao[t];return n(e,i.formatLong)}return e}).join(``).match(mo).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:bo(e)};if($a[t])return{isToken:!0,value:e};if(t.match(vo))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&uo(a)||!n?.useAdditionalDayOfYearTokens&&lo(a))&&fo(a,t,String(e));let o=$a[a[0]];return o(s,a,i.localize,l)}).join(``)}function bo(e){let t=e.match(go);return t?t[1].replace(_o,`'`):e}function xo(e,t,n=`long`){return new Intl.DateTimeFormat(`en-US`,{hour:`numeric`,timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(` `)}var So={},Co={};function wo(e,t){try{let n=(So[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in Co?Co[n]:Eo(n,n.split(`:`))}catch{if(e in Co)return Co[e];let t=e?.match(To);return t?Eo(e,t.slice(1)):NaN}}var To=/([+-]\d\d):?(\d\d)?/;function Eo(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return Co[e]=n*60+r>0?n*60+r+i:n*60-r-i}var Do=class e extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]==`string`&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(wo(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]==`number`&&(e.length===1||e.length===2&&typeof e[1]!=`number`)?this.setTime(e[0]):typeof e[0]==`string`?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),jo(this,NaN),ko(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){let e=-wo(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),ko(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}},Oo=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!Oo.test(e))return;let t=e.replace(Oo,`$1UTC`);Do.prototype[t]&&(e.startsWith(`get`)?Do.prototype[e]=function(){return this.internal[t]()}:(Do.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Ao(this),+this},Do.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),ko(this),+this}))});function ko(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-wo(e.timeZone,e)*60))}function Ao(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()),jo(e)}function jo(e){let t=wo(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);let i=-new Date(+e).getTimezoneOffset(),a=i- -new Date(+r).getTimezoneOffset(),o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();a&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+a);let s=i-n;s&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+s);let c=new Date(+e);c.setUTCSeconds(0);let l=i>0?c.getSeconds():(c.getSeconds()-60)%60,u=Math.round(-(wo(e.timeZone,e)*60))%60;(u||l)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+u),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+u+l));let d=wo(e.timeZone,e),f=d>0?Math.floor(d):Math.ceil(d),p=-new Date(+e).getTimezoneOffset()-f,m=f!==n,h=p-s;if(m&&h){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+h);let t=wo(e.timeZone,e),n=f-(t>0?Math.floor(t):Math.ceil(t));n&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+n),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n))}}var Mo=class e extends Do{static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}toISOString(){let[e,t,n]=this.tzComponents(),r=`${e}${t}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){let[e,t,n,r]=this.internal.toUTCString().split(` `);return`${e?.slice(0,-1)} ${n} ${t} ${r}`}toTimeString(){let e=this.internal.toUTCString().split(` `)[4],[t,n,r]=this.tzComponents();return`${e} GMT${t}${n}${r} (${xo(this.timeZone,this)})`}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){let e=this.getTimezoneOffset();return[e>0?`-`:`+`,String(Math.floor(Math.abs(e)/60)).padStart(2,`0`),String(Math.abs(e)%60).padStart(2,`0`)]}withTimeZone(t){return new e(+this,t)}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}};window.pktTz=window.pktTz===void 0?`Europe/Oslo`:window.pktTz;var No=(e=window.pktTz)=>{let t=new Mo(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 Po(e){if(!e||e===``)return new Date;if(/^\d{4}-\d{2}-\d{2}$/.test(e)){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r)}if(/^\d{4}-\d{2}$/.test(e)){let[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)}var Fo=e=>!e||isNaN(e.getTime())?``:`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,Io=e=>{if(!e)return null;let t=Po(e);return isNaN(t.getTime())?null:t},Lo=(e,t)=>{let n=Ro(e);return isNaN(n.getTime())?``:yo(n,t)},Ro=(e=``,t)=>{let n=typeof e==`string`?Po(e):e;return!n||isNaN(n.getTime())?new Date:t?t===`end`?Aa(n):Ta(n):n},zo=(e,t,n=1)=>{if(typeof e!=`number`||typeof t!=`number`||typeof n!=`number`||isNaN(e)||isNaN(t)||isNaN(n))return new Date;let r=new Date(e,t,n);return isNaN(r.getTime())?new Date:r},Bo=e=>{let t;return t=new Mo(e,window.pktTz),t.setHours(12,0,0,0),t},Vo=null,Ho=void 0,Uo=e=>{if(!e||isNaN(e.getTime()))return``;let t=typeof window<`u`?window.pktTz:void 0;return(!Vo||Ho!==t)&&(Vo=new Intl.DateTimeFormat(`no`,{dateStyle:`full`,timeZone:t}),Ho=t),Vo.format(e)},Wo=(e,t,n)=>{if(!e||isNaN(e.getTime()))return!1;let r=t?Ro(t):null,i=n?Ro(n):null;return!(r&&e<r||i&&e>i)},Go=(e,t)=>{if(!e||isNaN(e.getTime())||!Array.isArray(t))return!1;let n=Fo(e);return t.includes(n)},Ko=(e,t)=>{if(!e||isNaN(e.getTime())||!Array.isArray(t))return!1;let n=e.getDay().toString();return t.includes(n)},qo=(e,t,n,r,i)=>!(!e||isNaN(e.getTime())||!Wo(e,t,n)||r&&Go(e,r)||i&&Ko(e,i)),Jo=(e,t,n,r,i)=>e.filter(e=>{let a=Io(e);return a&&qo(a,t,n,r,i)}),Yo=e=>e.slice().sort((e,t)=>{let n=Io(e),r=Io(t);return!n||!r?0:n.getTime()-r.getTime()}),Xo=(e,t)=>{let n=Io(e),r=Io(t);return!n||!r?!1:n<=r},Zo=e=>{if(!e)return[];if(Array.isArray(e))return e.filter(Boolean);if(typeof e==`string`&&e.trimStart().startsWith(`[`))try{let t=JSON.parse(e);if(Array.isArray(t))return t.filter(Boolean)}catch{}return String(e).split(`,`).map(e=>e.trim()).filter(Boolean)},Qo=e=>e.join(`,`),$o={csvToArray:e=>Zo(e),stringToDate:e=>e?Po(e):null,stringsToDate:e=>{if(typeof e==`string`)return e.split(`,`).map(e=>Po(e));if(Array.isArray(e))return e.map(e=>Po(e))}};function es(e,t,n){let r=_a(e,n?.in);return isNaN(t)?ga(n?.in||e,NaN):(t&&r.setDate(r.getDate()+t),r)}function ts(e,t){let[n,r]=wa(e,t.start,t.end);return{start:n,end:r}}function ns(e,t){let{start:n,end:r}=ts(t?.in,e),i=+n>+r,a=i?+n:+r,o=i?r:n;o.setHours(0,0,0,0);let s=t?.step??1;if(!s)return[];s<0&&(s=-s,i=!i);let c=[];for(;+o<=a;)c.push(ga(n,o)),o.setDate(o.getDate()+s),o.setHours(0,0,0,0);return i?c.reverse():c}function rs(e,t){let n=_a(e,t?.in).getDay();return n===0?7:n}var is={name:`pkt-calendar`,react:`PktCalendar`,"css-class":`pkt-calendar`,isElement:!0,isPureReact:!0,props:{id:{type:`string`,name:`ID`,description:`Unik identifikasjon for kalenderen`},currentmonth:{type:`date`,name:`Gjeldende måned`,converter:`stringToDate`,description:`Måneden som vises i kalenderen`},selected:{type:`array`,name:`Valgte datoer`,converter:`csvToArray`,reflect:!0,items:{type:`date`},description:`Liste over valgte datoer`},excludeweekdays:{type:`array`,name:`Utelat ukedager`,converter:`csvToArray`,items:{type:`string`},description:`Liste over ukedager (1-7) som skal ekskluderes`},excludedates:{type:`array`,name:`Utelat datoer`,converter:`stringsToDate`,items:{type:`date`},description:`Liste over spesifikke datoer som skal ekskluderes`},earliest:{type:`date`,name:`Tidligst tillatte dato`,converter:`stringToDate`,default:null,description:`Tidligste dato som kan velges`},latest:{type:`date`,name:`Senest tillatte dato`,converter:`stringToDate`,default:null,description:`Seneste dato som kan velges`},weeknumbers:{type:`boolean`,name:`Vis ukenummer`,reflect:!0,default:!1,description:`Vis ukenummer i kalenderen`},withcontrols:{type:`boolean`,name:`Med velgere for måned/år`,reflect:!0,default:!1,description:`Vis navigasjonskontroller for måned og år`},multiple:{type:`boolean`,name:`Flervalg`,reflect:!0,default:!1,description:`Tillat valg av flere datoer`},maxMultiple:{attribute:`max-multiple`,type:`number`,name:`Maks antall i flervalg`,default:4,description:`Maksimalt antall datoer som kan velges`},today:{type:`string`,name:`Dagens dato (overstyring)`,description:`ISO-datostreng som overstyrer dagens dato. Nyttig for snapshot-tester.`},range:{type:`boolean`,name:`Datotidsrom (fra og til)`,reflect:!0,default:!1,description:`Tillat valg av datotidsrom`},dayStrings:{attribute:`day-strings`,type:`array`,name:`Korte dagsnavn`,items:{type:`string`},description:`Korte dagsnavn for kalenderoverskriften`},dayStringsLong:{attribute:`day-strings-long`,type:`array`,name:`Fulle dagsnavn`,items:{type:`string`},description:`Fulle dagsnavn for tilgjengelighetsetiketter`},monthStrings:{attribute:`month-strings`,type:`array`,name:`Månedsnavn`,items:{type:`string`},description:`Månedsnavn for kalendernavigasjonen`},weekString:{attribute:`week-string`,type:`string`,name:`Ukenummer-etikett`,description:`Etikett for ukenummerkolonnen`},prevMonthString:{attribute:`prev-month-string`,type:`string`,name:`Forrige måned-etikett`,description:`Tilgjengelighetsetikett for forrige måned-knappen`},nextMonthString:{attribute:`next-month-string`,type:`string`,name:`Neste måned-etikett`,description:`Tilgjengelighetsetikett for neste måned-knappen`}},events:{"date-selected":{description:`Returnerer en liste med valgte datoer i ISO-format`},close:{description:`Utløses når kalenderen ber om å lukkes (Escape-tast eller fokus forlater)`}}};function as(e,t){let n=(t.excludedates??[]).map(e=>typeof e==`string`?e:Fo(e));return!qo(e,t.earliest,t.latest,n,t.excludeweekdays??[])}function os(e,t,n,r){return!!(as(e,n)||!t&&r.multiple&&r.maxMultiple>0&&r.selectedCount>=r.maxMultiple)}function ss(e,t,n){let r=zo(e,t,0);return!(n&&Ro(n)>r)}function cs(e,t,n){let r=zo(t===11?e+1:e,t===11?0:t+1,1);return!(n&&Ro(n)<r)}function ls(e,t){let n=zo(e,t,1),r=zo(e,t+1,0),i=(n.getDay()+6)%7,a=r.getDate();return{firstDayOfMonth:n,lastDayOfMonth:r,startingDay:i,numDays:a,numRows:Math.ceil((a+i)/7),numDaysPrevMonth:zo(e,t,0).getDate(),initialWeek:Ya(n)}}function us(e,t,n,r){let{startingDay:i,numDays:a}=r;return e===0&&t<i?`prev-month`:n>a?`next-month`:`current-month`}function ds(e,t,n,r){let{startingDay:i,numDaysPrevMonth:a,numDays:o}=r;return e===`prev-month`?a-(i-t-1):e===`next-month`?n-o:n}function fs(e){return typeof e==`string`&&(e=e.split(`,`)),e.length===1&&e[0]===``?[]:e.map(e=>Po(e))}function ps(e,t){let n=ns({start:e,end:t}),r={};if(Array.isArray(n)&&n.length)for(let i=0;i<n.length;i++){let a=n[i],o=a>e&&a<t;r[Fo(a)]=o}return r}function ms(e,t,n,r){if(t.length!==1)return!0;let i=ns({start:t[0],end:e});if(!Array.isArray(i)||!i.length)return!0;for(let a=0;a<i.length;a++){for(let r of n??[])if(r>t[0]&&r<e)return!1;if((r??[]).includes(rs(i[a]).toString()))return!1}return!0}function hs(e,t){let n=Fo(e);return t.includes(n)?t:[...t,n]}function gs(e,t){let n=Fo(e),r=t.indexOf(n);if(r===-1)return t;if(t.length===1)return[];let i=[...t];return i.splice(r,1),i}function _s(e,t,n){let r=Fo(e);return t.includes(r)?gs(e,t):n>0&&t.length>=n?t:hs(e,t)}function vs(e,t,n){let r=Fo(e),i=fs(t);return t.includes(r)?t.indexOf(r)===0?[]:gs(e,t):t.length>1||t.length===1&&(!ms(e,i,n.excludedates,n.excludeweekdays)||i[0]>e)?[r]:hs(e,t)}var ys={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7};function bs(e){let t=e.nodeName;return t===`INPUT`||t===`SELECT`||t===`BUTTON`&&!e.dataset?.date}function xs(e,t,n){let r=es(e,t);if(!r)return null;let i=n(`button[data-date="${Fo(r)}"]`);for(;i instanceof HTMLButtonElement&&i.dataset.disabled;)if(r=es(r,t),i=n(`button[data-date="${Fo(r)}"]`),!i)return null;return r}function Ss(e){return ys[e]??null}var Cs=class extends di{constructor(...e){super(...e),this.selected=[],this.multiple=is.props.multiple.default,this.maxMultiple=is.props.maxMultiple.default,this.range=is.props.range.default,this.earliest=is.props.earliest.default,this.latest=is.props.latest.default,this.excludedates=[],this.excludeweekdays=[],this.weeknumbers=is.props.weeknumbers.default,this.withcontrols=is.props.withcontrols.default,this.currentmonth=null,this.today=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.inRange={},this.rangeHovered=null,this.year=0,this.month=0,this.week=0,this.currentmonthtouched=!1,this.focusedDate=null,this.selectableDates=[],this.tabIndexSet=0}get todayDate(){return this.today?Po(this.today):No()}firstUpdated(e){this.addEventListener(`keydown`,this.handleKeydown)}disconnectedCallback(){this.removeEventListener(`keydown`,this.handleKeydown),super.disconnectedCallback()}updated(e){super.updated(e),e.has(`selected`)&&this.convertSelected()}convertSelected(){typeof this.selected==`string`&&(this.selected=this.selected.split(`,`)),this.selected.length===1&&this.selected[0]===``&&(this.selected=[]),this._selected=fs(this.selected),this.range&&this.selected.length===2&&(this.inRange=ps(this._selected[0],this._selected[1])),this.setCurrentMonth()}setCurrentMonth(){if(this.currentmonth===null&&!this.currentmonthtouched&&(this.currentmonthtouched=!0),this.selected.length&&this.selected[0]!==``){let e=Po(this.selected[this.selected.length-1]);this.currentmonth=isNaN(e.getTime())?Bo(this.todayDate):e}else this.currentmonth===null&&(this.currentmonth=Bo(this.todayDate));(!this.currentmonth||isNaN(this.currentmonth.getTime()))&&(this.currentmonth=Bo(this.todayDate)),this.year=this.currentmonth.getFullYear(),this.month=this.currentmonth.getMonth()}handleKeydown(e){let t=Ss(e.key);t!==null&&this.handleArrowKey(e,t)}handleArrowKey(e,t){let n=e.target;if(bs(n))return;if(e.preventDefault(),!this.focusedDate){this.focusOnCurrentDate();return}let r=xs(this.focusedDate?Ro(this.focusedDate):zo(this.year,this.month,1),t,this.querySelector.bind(this));if(r){let e=this.querySelector(`button[data-date="${Fo(r)}"]`);e instanceof HTMLButtonElement&&!e.dataset.disabled&&(this.focusedDate=Fo(r),e.focus())}}render(){return H`
196
- <div
197
- class="pkt-calendar ${this.weeknumbers?`pkt-cal-weeknumbers`:``}"
198
- @focusout=${this.closeEvent}
199
- @keydown=${e=>{e.key===`Escape`&&(e.preventDefault(),this.close())}}
200
- >
201
- <nav class="pkt-cal-month-nav">
202
- ${this.renderMonthNavButton(`prev`)}
203
- ${this.renderMonthNav()}
204
- ${this.renderMonthNavButton(`next`)}
205
- </nav>
206
- <table
207
- class="pkt-cal-days pkt-txt-12-medium pkt-calendar__body"
208
- role="grid"
209
- ?aria-multiselectable=${this.range||this.multiple}
210
- >
211
- <thead>
212
- ${this.renderDayNames()}
213
- </thead>
214
- <tbody>
215
- ${this.renderCalendarBody()}
216
- </tbody>
217
- </table>
218
- </div>
219
- `}renderMonthNavButton(e){let t=e===`prev`,n=t?this.isPrevMonthAllowed():this.isNextMonthAllowed(),r=t?this.prevMonthString:this.nextMonthString,i=t?`chevron-thin-left`:`chevron-thin-right`,a=t?`pkt-calendar__prev-month`:`pkt-calendar__next-month`,o=t?()=>this.prevMonth():()=>this.nextMonth();return H`<div>
220
- <button
221
- type="button"
222
- aria-label="${r}"
223
- @click=${()=>n&&o()}
224
- @keydown=${e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),n&&o())}}
225
- class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only ${a} ${n?``:`pkt-invisible`}"
226
- .data-disabled=${n?U:`disabled`}
227
- ?aria-disabled=${!n}
228
- tabindex=${n?`0`:`-1`}
229
- >
230
- <pkt-icon class="pkt-btn__icon" name="${i}"></pkt-icon>
231
- <span class="pkt-btn__text">${r}</span>
232
- </button>
233
- </div>`}renderDayNames(){let e=[];this.weeknumbers&&e.push(H`<th><div class="pkt-calendar__week-number">${this.weekString}</div></th>`);for(let t=0;t<this.dayStrings.length;t++)e.push(H`<th>
234
- <div class="pkt-calendar__day-name" aria-label="${this.dayStringsLong[t]}">
235
- ${this.dayStrings[t]}
236
- </div>
237
- </th>`);return H`<tr class="pkt-cal-week-row">${e}</tr>`}renderMonthNav(){return this.withcontrols?H`<div class="pkt-cal-month-picker">
238
- <label for="${this.id}-monthnav" class="pkt-hide">${this.strings.dates.month}</label>
239
- <select
240
- aria-label="${this.strings.dates.month}"
241
- class="pkt-input pkt-input-compact"
242
- id="${this.id}-monthnav"
243
- @change=${e=>{e.stopImmediatePropagation();let t=e.target;this.changeMonth(this.year,parseInt(t.value))}}
244
- >
245
- ${this.monthStrings.map((e,t)=>H`<option value=${t} ?selected=${this.month===t}>${e}</option>`)}
246
- </select>
247
- <label for="${this.id}-yearnav" class="pkt-hide">${this.strings.dates.year}</label>
248
- <input
249
- aria-label="${this.strings.dates.year}"
250
- class="pkt-input pkt-cal-input-year pkt-input-compact"
251
- id="${this.id}-yearnav"
252
- type="number"
253
- size="4"
254
- placeholder="0000"
255
- @change=${e=>{e.stopImmediatePropagation();let t=e.target;this.changeMonth(parseInt(t.value),this.month)}}
256
- .value=${this.year}
257
- />
258
- </div>`:H`<div class="pkt-txt-16-medium pkt-calendar__month-title" aria-live="polite">
259
- ${this.monthStrings[this.month]} ${this.year}
260
- </div>`}getDayViewData(e,t){let n=zo(this.year,this.month,e),r=Fo(n),i=r===Fo(t),a=this.selected.includes(r),o=this.isDayDisabled(n,a),s=this.calculateTabIndex(r,o,e);return{currentDate:n,currentDateISO:r,isToday:i,isSelected:a,isDisabled:o,ariaLabel:Uo(n),tabindex:s}}getDateConstraints(){return{earliest:this.earliest,latest:this.latest,excludedates:this.excludedates,excludeweekdays:this.excludeweekdays}}isDayDisabled(e,t){return os(e,t,this.getDateConstraints(),{multiple:this.multiple,maxMultiple:this.maxMultiple,selectedCount:this.selected.length})}calculateTabIndex(e,t,n){return this.focusedDate?this.focusedDate===e&&!t?`0`:`-1`:!t&&this.tabIndexSet===0?(this.tabIndexSet=n,`0`):this.tabIndexSet===n?`0`:`-1`}getDayCellClasses(e){let{currentDateISO:t,isToday:n,isSelected:r}=e,i=this.range&&(this.selected.length===2||this.rangeHovered!==null)&&t===this.selected[0],a=this.range&&this.selected.length===2&&t===this.selected[1];return{"pkt-cal-today":n,"pkt-cal-selected":r,"pkt-cal-in-range":this.inRange[t],"pkt-cal-excluded":this.isExcluded(e.currentDate),"pkt-cal-in-range-first":i,"pkt-cal-in-range-last":a,"pkt-cal-range-hover":this.rangeHovered!==null&&t===Fo(this.rangeHovered)}}getDayButtonClasses(e){let{currentDateISO:t,isToday:n,isSelected:r,isDisabled:i}=e,a=this.range&&(this.selected.length===2||this.rangeHovered!==null)&&t===this.selected[0],o=this.range&&this.selected.length===2&&t===this.selected[1];return{"pkt-calendar__date":!0,"pkt-calendar__date--today":n,"pkt-calendar__date--selected":r,"pkt-calendar__date--disabled":i,"pkt-calendar__date--in-range":this.inRange[t],"pkt-calendar__date--in-range-hover":this.rangeHovered!==null&&t===Fo(this.rangeHovered),"pkt-calendar__date--range-start":a,"pkt-calendar__date--range-end":o}}handleDayFocus(e,t){this.range&&!this.isExcluded(e)&&this.handleRangeHover(e),this.focusedDate=t}renderDayView(e,t){let n=this.getDayViewData(e,t),{currentDate:r,currentDateISO:i,isSelected:a,isDisabled:o,ariaLabel:s,tabindex:c}=n;this.selectableDates.push({currentDateISO:i,isDisabled:o,tabindex:c});let l=this.getDayCellClasses(n),u=this.getDayButtonClasses(n);return H`<td class=${J(l)}>
261
- <button
262
- type="button"
263
- aria-pressed=${a?`true`:`false`}
264
- ?disabled=${o}
265
- class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only ${J(u)}"
266
- @mouseover=${()=>this.range&&!this.isExcluded(r)&&this.handleRangeHover(r)}
267
- @focus=${()=>this.handleDayFocus(r,i)}
268
- aria-label="${s}"
269
- tabindex=${c}
270
- data-disabled=${o?`disabled`:U}
271
- data-date=${i}
272
- @keydown=${e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),this.handleDateSelect(r))}}
273
- @click=${e=>{o||(e.preventDefault(),this.handleDateSelect(r))}}
274
- >
275
- <span class="pkt-btn__text pkt-txt-14-light">${e}</span>
276
- </button>
277
- </td>`}renderEmptyDayCell(e){return H`<td class="pkt-cal-other">
278
- <div
279
- class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only"
280
- data-disabled="disabled"
281
- >
282
- <span class="pkt-btn__text pkt-txt-14-light">${e}</span>
283
- </div>
284
- </td>`}renderWeekRow(e){return H`<tr class="pkt-cal-week-row" role="row">${e}</tr>`}renderCalendarBody(){let e=this.todayDate,t=ls(this.year,this.month);this.selectableDates=[],this.tabIndexSet=0;let n=1;this.week=t.initialWeek;let r=[];for(let i=0;i<t.numRows;i++){let a=[];this.weeknumbers&&a.push(H`<td class="pkt-cal-week">${this.week}</td>`),this.week++;for(let r=0;r<7;r++){let o=us(i,r,n,t);if(o===`current-month`)a.push(this.renderDayView(n,e)),n++;else{let e=ds(o,r,n,t);a.push(this.renderEmptyDayCell(e)),o===`next-month`&&n++}}r.push(this.renderWeekRow(a))}return r}isExcluded(e){return as(e,this.getDateConstraints())}isPrevMonthAllowed(){return ss(this.year,this.month,this.earliest)}prevMonth(){let e=this.month===0?11:this.month-1,t=this.month===0?this.year-1:this.year;this.changeMonth(t,e)}isNextMonthAllowed(){return cs(this.year,this.month,this.latest)}nextMonth(){let e=this.month===11?0:this.month+1,t=this.month===11?this.year+1:this.year;this.changeMonth(t,e)}changeMonth(e,t){this.year=typeof e==`string`?parseInt(e):e,this.month=typeof t==`string`?parseInt(t):t,this.currentmonth=Bo(new Date(this.year,this.month,1)),this.tabIndexSet=0,this.focusedDate=null,this.selectableDates=[]}emptySelected(){this.selected=[],this._selected=[],this.inRange={}}normalizeSelected(){return typeof this.selected==`string`?this.selected.split(`,`):this.selected}addToSelected(e){this.selected=hs(e,this.normalizeSelected()),this._selected=fs(this.selected),this.range&&this.selected.length===2&&(this.convertSelected(),this.close())}removeFromSelected(e){this.selected=gs(e,this.normalizeSelected()),this._selected=fs(this.selected)}toggleSelected(e){this.selected=_s(e,this.normalizeSelected(),this.maxMultiple),this._selected=fs(this.selected)}isRangeAllowed(e){return ms(e,this._selected,this.excludedates,this.excludeweekdays)}handleRangeSelect(e){return this.selected=vs(e,this.normalizeSelected(),{excludedates:this.excludedates,excludeweekdays:this.excludeweekdays}),this._selected=fs(this.selected),this.selected.length===2?(this.convertSelected(),this.close()):this.selected.length===1&&(this.inRange={}),Promise.resolve()}handleRangeHover(e){if(!this.range||this._selected.length!==1||!this.isRangeAllowed(e)||this._selected[0]>=e){this.rangeHovered=null;return}this.rangeHovered=e,this.inRange=ps(this._selected[0],e)}handleDateSelect(e){return e?(this.range?this.handleRangeSelect(e):this.multiple?this.toggleSelected(e):(this.selected.includes(Fo(e))?this.emptySelected():(this.emptySelected(),this.addToSelected(e)),this.close()),this.dispatchEvent(new CustomEvent(`date-selected`,{detail:this.selected,bubbles:!0,composed:!0})),Promise.resolve()):Promise.resolve()}focusOnCurrentDate(){let e=Fo(Bo(this.todayDate)),t=this.querySelector(`button[data-date="${e}"]`);if(t instanceof HTMLButtonElement){this.focusedDate=e,t.focus();return}let n=this.selectableDates.find(e=>!e.isDisabled);if(n){let e=this.querySelector(`button[data-date="${n.currentDateISO}"]`);e instanceof HTMLButtonElement&&(this.focusedDate=n.currentDateISO,e.focus())}}closeEvent(e){!this.contains(e.relatedTarget)&&!e.target.classList.contains(`pkt-invisible`)&&this.close()}close(){this.dispatchEvent(new CustomEvent(`close`,{detail:!0,bubbles:!0,composed:!0}))}};q([G({converter:$o.csvToArray})],Cs.prototype,`selected`,void 0),q([G({type:Boolean})],Cs.prototype,`multiple`,void 0),q([G({type:Number,attribute:`max-multiple`})],Cs.prototype,`maxMultiple`,void 0),q([G({type:Boolean})],Cs.prototype,`range`,void 0),q([G({type:String})],Cs.prototype,`earliest`,void 0),q([G({type:String})],Cs.prototype,`latest`,void 0),q([G({converter:$o.stringsToDate})],Cs.prototype,`excludedates`,void 0),q([G({converter:$o.csvToArray})],Cs.prototype,`excludeweekdays`,void 0),q([G({type:Boolean})],Cs.prototype,`weeknumbers`,void 0),q([G({type:Boolean})],Cs.prototype,`withcontrols`,void 0),q([G({converter:$o.stringToDate})],Cs.prototype,`currentmonth`,void 0),q([G({type:String})],Cs.prototype,`today`,void 0),q([G({type:Array,attribute:`day-strings`})],Cs.prototype,`dayStrings`,void 0),q([G({type:Array,attribute:`day-strings-long`})],Cs.prototype,`dayStringsLong`,void 0),q([G({type:Array,attribute:`month-strings`})],Cs.prototype,`monthStrings`,void 0),q([G({type:String,attribute:`week-string`})],Cs.prototype,`weekString`,void 0),q([G({type:String,attribute:`prev-month-string`})],Cs.prototype,`prevMonthString`,void 0),q([G({type:String,attribute:`next-month-string`})],Cs.prototype,`nextMonthString`,void 0),q([G({type:Array})],Cs.prototype,`_selected`,void 0),q([K()],Cs.prototype,`inRange`,void 0),q([G({type:Date})],Cs.prototype,`rangeHovered`,void 0),q([G({type:Number})],Cs.prototype,`year`,void 0),q([G({type:Number})],Cs.prototype,`month`,void 0),q([G({type:Number})],Cs.prototype,`week`,void 0),q([K()],Cs.prototype,`currentmonthtouched`,void 0),q([K()],Cs.prototype,`focusedDate`,void 0);try{W(`pkt-calendar`)(Cs)}catch{console.warn(`Forsøker å definere <pkt-calendar>, men den er allerede definert`)}var ws={name:`pkt-tag`,react:`PktTag`,"css-class":`pkt-tag`,isElement:!0,"dark-mode":!0,props:{size:{name:`Størrelse`,description:`Størrelsen på taggen`,required:!1,default:`medium`,type:[`small`,`medium`,`large`],category:`ui`},iconName:{name:`Ikon`,description:`Navnet på ikonet som skal vises i taggen`,type:`icon`,required:!1,category:`ui`},skin:{name:`Utseende`,description:`Utseendet til taggen`,required:!1,default:`blue`,type:[`blue`,`blue-light`,`blue-dark`,`green`,`red`,`beige`,`yellow`,`gray`],category:`ui`},closeTag:{name:`Lukk tag`,description:`Skal taggen ha en lukkeknapp?`,type:`boolean`,required:!1,default:!1,category:`ui`},textStyle:{name:`Tekststil`,description:`Stilen på teksten i taggen`,required:!1,default:`normal-text`,type:[`thin-text`,`normal-text`],category:`ui`},type:{name:`Type, dersom lukkeknapp`,description:`Type tag, brukes for å spesifisere om det er en knapp, submit eller reset`,required:!1,default:`button`,type:[`button`,`submit`,`reset`],category:`tech`},ariaLabel:{name:`aria-label`,description:`aria-label for taggen, brukes for tilgjengelighet`,type:`string`,required:!1,category:`accessibility`}},slots:{default:{description:`Teksten til tag`}}},Ts=class extends Bi{constructor(){super(),this.closeTag=ws.props.closeTag.default,this.size=ws.props.size.default,this.skin=ws.props.skin.default,this.textStyle=null,this.iconName=void 0,this.type=ws.props.type.default,this.ariaLabel=null,this.buttonTabindex=void 0,this._isClosed=!1,this._ariaDescription=null,this.close=e=>{this._isClosed=!0,this.dispatchEvent(new CustomEvent(`close`,{detail:{origin:e},bubbles:!1,composed:!0})),this.dispatchEvent(new CustomEvent(`on-close`,{detail:{origin:e},bubbles:!1,composed:!0}))},this._isClosed=!1}firstUpdated(e){if(super.firstUpdated(e),this.closeTag&&!this.ariaLabel){let e=this.querySelector(`button span, .pkt-tag > span`)?.textContent?.trim();e&&(this._ariaDescription=`Klikk for å fjerne ${e}`)}}render(){let e={"pkt-tag":!0,[`pkt-tag--${this.size}`]:!!this.size,[`pkt-tag--${this.skin}`]:!!this.skin,[`pkt-tag--${this.textStyle}`]:!!this.textStyle},t={"pkt-tag":!0,"pkt-btn":!0,"pkt-btn--tertiary":!0,[`pkt-tag--${this.textStyle}`]:!!this.textStyle,[`pkt-tag--${this.size}`]:!!this.size,[`pkt-tag--${this.skin}`]:!!this.skin,"pkt-btn--icons-right-and-left":this.closeTag&&!!this.iconName,"pkt-hide":this._isClosed};return this.closeTag?H`
285
- <button
286
- class=${J(t)}
287
- type=${this.type}
288
- tabindex=${Y(this.buttonTabindex)}
289
- @click=${this.close}
290
- aria-label=${Y(this.ariaLabel||void 0)}
291
- aria-description=${Y(this._ariaDescription||void 0)}
292
- >
293
- ${this.iconName&&H`<pkt-icon
294
- class="pkt-tag__icon"
295
- name=${this.iconName}
296
- aria-hidden="true"
297
- ></pkt-icon>`}
298
- <span>${zi(this)}</span>
299
- <pkt-icon class="pkt-tag__close-btn" name="close"></pkt-icon>
300
- </button>
301
- `:H`
302
- <span class=${J(e)}>
303
- ${this.iconName&&H`<pkt-icon
304
- class="pkt-tag__icon"
305
- name=${this.iconName}
306
- aria-hidden="true"
307
- ></pkt-icon>`}
308
- <span>${zi(this)}</span>
309
- </span>
310
- `}};q([G({type:Boolean,reflect:!0})],Ts.prototype,`closeTag`,void 0),q([G({type:String,reflect:!0})],Ts.prototype,`size`,void 0),q([G({type:String,reflect:!0})],Ts.prototype,`skin`,void 0),q([G({type:String,reflect:!0})],Ts.prototype,`textStyle`,void 0),q([G({type:String,reflect:!0})],Ts.prototype,`iconName`,void 0),q([G({type:String})],Ts.prototype,`type`,void 0),q([G({type:String})],Ts.prototype,`ariaLabel`,void 0),q([G({type:Number,attribute:`button-tabindex`})],Ts.prototype,`buttonTabindex`,void 0),q([K()],Ts.prototype,`_isClosed`,void 0),q([K()],Ts.prototype,`_ariaDescription`,void 0);try{W(`pkt-tag`)(Ts)}catch{console.warn(`Forsøker å definere <pkt-tag>, men den er allerede definert`)}var Es=class extends Bi{constructor(...e){super(...e),this.size=void 0,this.level=2,this.weight=void 0,this.visuallyHidden=!1,this.align=void 0}updated(e){super.updated(e),e.has(`level`)&&((this.level<1||this.level>6)&&console.warn(`Invalid heading level: ${this.level}. Must be between 1 and 6.`),this.hasAttribute(`size`)||(this.size=this.defaultSizeForLevel),this.hasAttribute(`weight`)||(this.weight=this.defaultWeightForLevel)),!this.hasAttribute(`size`)&&this.size===void 0&&(this.size=this.defaultSizeForLevel)}get defaultSizeForLevel(){switch(this.level){case 1:return`xlarge`;case 2:return`large`;case 3:return`medium`;case 4:return`small`;case 5:case 6:return`xsmall`;default:return`medium`}}get defaultWeightForLevel(){switch(this.level){case 1:case 2:return`regular`;case 3:case 4:case 5:case 6:return`medium`;default:return`medium`}}get headingClasses(){return[`pkt-heading`,this.size&&`pkt-heading--${this.size}`,this.weight&&`pkt-heading--fw-${this.weight}`,this.visuallyHidden&&`pkt-sr-only`,this.align&&`pkt-heading--${this.align}`].filter(Boolean).join(` `)}render(){let e=this.headingClasses,t=zi(this);switch(this.level>=1&&this.level<=6?this.level:2){case 1:return H`<h1 class=${e}>${t}</h1>`;case 2:return H`<h2 class=${e}>${t}</h2>`;case 3:return H`<h3 class=${e}>${t}</h3>`;case 4:return H`<h4 class=${e}>${t}</h4>`;case 5:return H`<h5 class=${e}>${t}</h5>`;case 6:return H`<h6 class=${e}>${t}</h6>`;default:return H`<h2 class=${e}>${t}</h2>`}}};q([G({type:String,reflect:!0})],Es.prototype,`size`,void 0),q([G({type:Number,reflect:!0})],Es.prototype,`level`,void 0),q([G({type:String,reflect:!0})],Es.prototype,`weight`,void 0),q([G({type:Boolean,reflect:!0})],Es.prototype,`visuallyHidden`,void 0),q([G({type:String,reflect:!0})],Es.prototype,`align`,void 0);try{W(`pkt-heading`)(Es)}catch{console.warn(`Forsøker å definere <pkt-heading>, men den er allerede definert`)}var Ds={name:`pkt-card`,react:`PktCard`,"css-class":`pkt-card`,isElement:!0,isPureReact:!0,"dark-mode":!0,props:{heading:{type:`string`,name:`Overskrift`,description:`Tittel på card`,category:`contents`},headingLevel:{type:[1,2,3,4,5,6],name:`Overskriftsnivå`,description:`Nivået på headingen. Brukes for tilgjengelighet.`,default:3,category:`accessibility`},subheading:{type:`string`,name:`Undertittel`,description:`Undertittel på card`,category:`contents`},layout:{type:[`vertical`,`horizontal`],name:`Layout`,description:`Horisontal eller vertikal layout. Ved horisontal layout vil bildet være plassert til venstre for teksten på desktop, og over teksten på mobil.`,default:`vertical`,category:`ui`},skin:{type:[`outlined`,`outlined-beige`,`gray`,`blue`,`beige`,`green`],name:`Utseende`,description:`Fargen på card. Velg mellom outlined, outlined-beige, gray, blue, beige og green. Ved padding=none er det ikke mulighet for outlined-skin. Card med kombinasjonen av propsene padding=none + layout=vertical vil alltid være transparante.`,default:`outlined`,category:`ui`},padding:{type:[`none`,`default`],name:`Padding`,description:`Padding rundt card. Ved "none" strekker innholdet i card seg ut til kantene, og dette er derfor ikke mulig å kombinere med outlined skin.`,default:`default`,category:`ui`},metaLead:{type:`string`,name:`Forfatter eller annen metadata`,description:`Undertekst med fet skriftvekt`,default:!1,category:`contents`},metaTrail:{type:`string`,name:`Dato eller annen metadata`,description:`Undertekst med normal skriftvekt`,default:!1,category:`contents`},tagPosition:{type:[`top`,`bottom`],name:`Tagplassering`,description:`Plassering av tags i card`,default:`top`,category:`ui`},clickCardLink:{type:`string`,name:`Lenke for klikkbart card`,description:`Href sendes inn som streng for å gjøre card klikkbart. Ved bruk MÅ heading sendes inn da denne vil brukes som lenketekst i klikkbart card.`,category:`contents`},openLinkInNewTab:{type:`boolean`,name:`Åpne i ny fane`,description:`Velg denne dersom du ønsker at lenken i card skal åpnes i ny fane.`,default:!1,category:`tech`},borderOnHover:{type:`boolean`,name:`Hover border for klikkbart card`,description:`Vi anbefaler hoverborder på klikkbart card. Kan slås av ved behov.`,default:!0,category:`ui`},image:{type:`object`,name:`Bilde`,description:`Bildet på card. Tar inn et objekt av typen {src: string, alt: string}.`,properties:{src:{type:`string`,description:`Stien til bildet`,required:!0},alt:{type:`string`,description:`Tekst til skjermleser. Skal kun sendes inn for bilder som ikke er dekorative`,required:!1}},category:`contents`},imageShape:{type:[`square`,`round`],name:`Bildeform`,description:`Valg for om bildet skal ha rektangulær eller rund form.`,default:`square`,category:`contents`},tags:{type:`array`,description:`Liste av tags på card. Tar inn et array med objekter med følgende stringproperties: skin, iconName, ariaLabel, text`,name:`Tags`,items:{type:`object`,name:`Tag`,properties:{skin:{type:[`blue`,`green`,`red`,`yellow`],description:`Farge på tag`},iconName:{type:`icon`,description:`Id på ikonet du ønsker å bruke til tag`},ariaLabel:{type:`string`,description:`Tekst for aria-label`},text:{type:`string`,description:`Tekst på tag`,required:!0}}},category:`contents`},ariaLabel:{type:`string`,name:`Aria-label for card`,description:`Tekst til skjermleser for aria-label på card. Settes automatisk til headingen, eller subheadingen der heading ikke eksisterer. Ved bruk av klikkbart card må heading alltid sendes inn da denne brukes som lenketekst.`,category:`accessibility`}},slots:{default:{description:`Innholdet i card`}}},Os=class extends Bi{constructor(...e){super(...e),this.ariaLabel=``,this.metaLead=null,this.borderOnHover=!0,this.clickCardLink=null,this.metaTrail=null,this.layout=Ds.props.layout.default,this.heading=``,this.headinglevel=3,this.image={src:``,alt:``},this.imageShape=`square`,this.openLinkInNewTab=!1,this.padding=Ds.props.padding.default,this.skin=Ds.props.skin.default,this.subheading=``,this.tagPosition=`top`,this.tags=[]}connectedCallback(){super.connectedCallback()}render(){let e={"pkt-card":!0,[`pkt-card--${this.skin}`]:this.skin,[`pkt-card--${this.layout}`]:this.layout,[`pkt-card--padding-${this.padding}`]:this.padding,"pkt-card--border-on-hover":this.borderOnHover},t=this.ariaLabel?.trim()||(this.heading?`${this.heading} lenkekort`:`lenkekort`),n=this.ariaLabel?.trim()||(this.heading?this.heading:`kort`);return H`
311
- <article
312
- class=${J(e)}
313
- aria-label=${Y(this.clickCardLink?t:n)}
314
- >
315
- ${this.renderImage()}
316
- <div class="pkt-card__wrapper">
317
- ${this.tagPosition===`top`?this.renderTags():U}
318
- ${this.renderHeader()}
319
- ${this.renderSlot()}
320
- ${this.tagPosition===`bottom`?this.renderTags():U}
321
- ${this.renderMetadata()}
322
- </div>
323
- </article>
324
- `}renderImage(){let e={"pkt-card__image":!0,[`pkt-card__image-${this.imageShape}`]:this.imageShape};return H`
325
- ${this.image.src&&H`
326
- <div class=${J(e)}>
327
- <img src=${this.image.src} alt=${this.image.alt||``} />
328
- </div>
329
- `}
330
- `}renderHeading(){return H`
331
- ${this.heading&&!this.clickCardLink?H`
332
- <pkt-heading
333
- class="pkt-card__heading"
334
- .level=${this.headinglevel||3}
335
- size="medium"
336
- nospacing
337
- weight="regular"
338
- >
339
- ${this.heading}
340
- </pkt-heading>
341
- `:U}
342
- `}renderLinkHeading(){return H`
343
- ${this.clickCardLink?H`
344
- <pkt-heading
345
- class="pkt-card__link-heading pkt-card__heading"
346
- .level=${this.headinglevel||3}
347
- size="medium"
348
- weight="regular"
349
- nospacing
350
- >
351
- <a
352
- class="pkt-card__link"
353
- href=${this.clickCardLink}
354
- target=${this.openLinkInNewTab?`_blank`:`_self`}
355
- >${this.heading}</a
356
- >
357
- </pkt-heading>
358
- `:U}
359
- `}renderSubheading(){return H`
360
- ${this.subheading?H` <p class="pkt-card__subheading ">${this.subheading}</p> `:U}
361
- `}renderHeader(){return H`
362
- ${this.heading||this.subheading?H`
363
- <header class="pkt-card__header">
364
- ${this.renderHeading()}
365
- ${this.renderLinkHeading()}
366
- ${this.renderSubheading()}
367
- </header>
368
- `:U}
369
- `}renderTags(){let e={"pkt-card__tags":!0,[`pkt-card__tags-${this.tagPosition}`]:this.tagPosition};return H`
370
- ${this.tags.length>0?H`
371
- <div
372
- class=${J(e)}
373
- role="list"
374
- aria-label=${this.tags.length>1?`merkelapper`:`merkelapp`}
375
- >
376
- ${this.tags.map(e=>H`
377
- <pkt-tag
378
- role="listitem"
379
- textStyle="normal-text"
380
- size="medium"
381
- skin=${Y(e.skin)}
382
- iconName=${Y(e.iconName)}
383
- >
384
- <span>${e.text}</span>
385
- </pkt-tag>
386
- `)}
387
- </div>
388
- `:U}
389
- `}renderSlot(){return H`<section class="pkt-card__content">${zi(this)}</section>`}renderMetadata(){return H`
390
- ${this.metaLead||this.metaTrail?H`
391
- <footer class="pkt-card__metadata">
392
- ${this.metaLead?H`<span class="pkt-card__metadata-lead">${this.metaLead}</span>`:U}
393
- ${this.metaTrail?H`<span class="pkt-card__metadata-trail">${this.metaTrail}</span>`:U}
394
- </footer>
395
- `:U}
396
- `}};q([G({type:String})],Os.prototype,`ariaLabel`,void 0),q([G({type:String})],Os.prototype,`metaLead`,void 0),q([G({type:Boolean})],Os.prototype,`borderOnHover`,void 0),q([G({type:String,reflect:!0})],Os.prototype,`clickCardLink`,void 0),q([G({type:String})],Os.prototype,`metaTrail`,void 0),q([G({type:String})],Os.prototype,`layout`,void 0),q([G({type:String})],Os.prototype,`heading`,void 0),q([G({type:Number})],Os.prototype,`headinglevel`,void 0),q([G({type:Object})],Os.prototype,`image`,void 0),q([G({type:String})],Os.prototype,`imageShape`,void 0),q([G({type:Boolean})],Os.prototype,`openLinkInNewTab`,void 0),q([G({type:String})],Os.prototype,`padding`,void 0),q([G({type:String,converter:{fromAttribute:e=>{let t=Ds.props.skin.type;return e&&t.includes(e)?e:(e&&!t.includes(e)&&console.warn(`Invalid skin value "${e}". Using default skin "${Ds.props.skin.default}".`),Ds.props.skin.default)},toAttribute:e=>e}})],Os.prototype,`skin`,void 0),q([G({type:String})],Os.prototype,`subheading`,void 0),q([G({type:String})],Os.prototype,`tagPosition`,void 0),q([G({type:Array})],Os.prototype,`tags`,void 0);try{W(`pkt-card`)(Os)}catch{console.warn(`Forsøker å definere <pkt-card>, men den er allerede definert`)}var ks=(e,t,n)=>{let r=new Map;for(let i=t;i<=n;i++)r.set(e[i],i);return r},As=Nr(class extends Pr{constructor(e){if(super(e),e.type!==Mr.CHILD)throw Error(`repeat() can only be used in text expressions`)}dt(e,t,n){let r;n===void 0?n=t:t!==void 0&&(r=t);let i=[],a=[],o=0;for(let t of e)i[o]=r?r(t,o):o,a[o]=n(t,o),o++;return{values:a,keys:i}}render(e,t,n){return this.dt(e,t,n).values}update(e,[t,n,r]){let i=bi(e),{values:a,keys:o}=this.dt(t,n,r);if(!Array.isArray(i))return this.ut=o,a;let s=this.ut??=[],c=[],l,u,d=0,f=i.length-1,p=0,m=a.length-1;for(;d<=f&&p<=m;)if(i[d]===null)d++;else if(i[f]===null)f--;else if(s[d]===o[p])c[p]=_i(i[d],a[p]),d++,p++;else if(s[f]===o[m])c[m]=_i(i[f],a[m]),f--,m--;else if(s[d]===o[m])c[m]=_i(i[d],a[m]),gi(e,c[m+1],i[d]),d++,m--;else if(s[f]===o[p])c[p]=_i(i[f],a[p]),gi(e,i[d],i[f]),f--,p++;else if(l===void 0&&(l=ks(o,p,m),u=ks(s,d,f)),l.has(s[d]))if(l.has(s[f])){let t=u.get(o[p]),n=t===void 0?null:i[t];if(n===null){let t=gi(e,i[d]);_i(t,a[p]),c[p]=t}else c[p]=_i(n,a[p]),gi(e,i[d],n),i[t]=null;p++}else xi(i[f]),f--;else xi(i[d]),d++;for(;p<=m;){let t=gi(e,c[m+1]);_i(t,a[p]),c[p++]=t}for(;d<=f;){let e=i[d++];e!==null&&xi(e)}return this.ut=o,yi(e,c),hr}}),js=()=>(`00000000000000000`+(Math.random()*0x10000000000000000).toString(16)).slice(-16),Ms=e=>new Promise(t=>setTimeout(t,e)),Ns=()=>{let e=js(),t=js();return e.slice(0,8)+`-`+e.slice(8,12)+`-4`+e.slice(13)+`-a`+t.slice(1,4)+`-`+t.slice(4)},Ps=(e,t)=>t&&(e.find(e=>e.value===t)||e.find(e=>e.label===t))||null,Fs=(e,t)=>{if(!t)return-1;let n=e.findIndex(e=>e.value===t);return n>=0?n:e.findIndex(e=>e.label===t)},Is=(e,t)=>{if(!t)return[...e];let n=t.toLowerCase();return e.filter(e=>(e.fulltext||e.value+(e.label||``)+(e.prefix||``)).toLowerCase().includes(n))},Ls=e=>e.value+(e.label||``)+(e.prefix||``),Rs=(e,t)=>t!==null&&e>=t,zs=(e,t)=>{if(!t)return{filtered:[...e],suggestion:null};let n=t.toLowerCase(),r=e.filter(e=>e.fulltext?.toLowerCase().includes(n));return{filtered:r,suggestion:r.find(e=>!e.selected&&e.label?.toLowerCase().startsWith(n))||null}},Bs=(e,t,n,r)=>{if(!e.trim())return{addValueText:null,userInfoMessage:``};let i=e.trim().toLowerCase(),a=t.find(e=>e.toLowerCase()===i),o=n.filter(e=>e.label?.toLowerCase().includes(i)||e.value.toLowerCase().includes(i)),s=o.find(e=>e.label?.toLowerCase()===i||e.value.toLowerCase()===i);return(o.length===0||!s)&&r?{addValueText:e,userInfoMessage:``}:o.length===0&&!r?{addValueText:null,userInfoMessage:`Ingen treff i søket`}:a?{addValueText:null,userInfoMessage:`Verdien er allerede valgt`}:{addValueText:null,userInfoMessage:``}},Vs=e=>/^[\p{L} ]$/u.test(e),Hs=(e=500)=>{let t=``,n;return{append:r=>(t+=r.toLowerCase(),n!==void 0&&clearTimeout(n),n=setTimeout(()=>{t=``},e),t),reset:()=>{t=``,n!==void 0&&(clearTimeout(n),n=void 0)},getBuffer:()=>t}},Us=(e,t)=>{let n=t.toLowerCase();return e.findIndex(e=>e.textContent?.trim().toLowerCase().startsWith(n))},Ws=e=>{e.scrollIntoView({block:`nearest`}),window.setTimeout(()=>e.focus(),0)},Gs=e=>Array.from(e.querySelectorAll(`[role="option"]:not([data-disabled])`)||[]),Ks=e=>{let t=e.nextElementSibling;t&&Ws(t)},qs=(e,t,n)=>{let r=e.previousElementSibling;if(e.dataset.index===`0`&&n){let e=t.querySelector(`[role="searchbox"]`);e&&Ws(e)}else r&&Ws(r)},Js=e=>{let t=Gs(e);t[0]&&Ws(t[0])},Ys=e=>{let t=Gs(e),n=t[t.length-1];n&&Ws(n)},Xs=(e,t)=>{if(t.disabled)return;let n=Gs(e);if(t.allowUserInput&&t.customUserInput){let t=e.querySelector(`[data-type="new-option"]`);if(t){Ws(t);return}}let r=n.find(e=>e.dataset.selected===`true`);if(r){Ws(r);return}if(t.includeSearch&&!(document.activeElement instanceof HTMLInputElement)){let t=e.querySelector(`[role="searchbox"]`);if(t){window.setTimeout(()=>t.focus(),0);return}}n[0]&&Ws(n[0])},Zs=class extends di{constructor(...e){super(...e),this.id=Ns(),this.label=null,this.options=[],this.isOpen=!1,this.disabled=!1,this.includeSearch=!1,this.isMultiSelect=!1,this.allowUserInput=!1,this.maxIsReached=!1,this.customUserInput=null,this.searchPlaceholder=null,this.searchValue=null,this.maxLength=0,this.userMessage=null,this._selectedOptions=0,this.typeahead=Hs(),this._filteredOptions=[]}connectedCallback(){super.connectedCallback(),this.includeSearch&&!this.searchValue&&(this.searchValue=``),this.options.length>0&&this.filterOptions(),this.setAttribute(`tabindex`,`-1`),this.addEventListener(`focus`,this.focusFirstOrSelectedOption)}disconnectedCallback(){super.disconnectedCallback(),this.typeahead.reset()}updated(e){(e.has(`options`)||e.has(`searchValue`))&&this.filterOptions(),super.updated(e)}attributeChangedCallback(e,t,n){(e===`options`||e===`search-value`)&&this.filterOptions(),super.attributeChangedCallback(e,t,n)}get _hasOptions(){return this._filteredOptions.length>0||this.options.length>0}render(){return H`
397
- <div
398
- class=${J({"pkt-listbox":!0,"pkt-listbox__open":this.isOpen,"pkt-txt-16-light":!0})}
399
- role=${Y(this._hasOptions?`listbox`:void 0)}
400
- aria-multiselectable=${Y(this._hasOptions&&this.isMultiSelect?`true`:void 0)}
401
- aria-label=${Y(this._hasOptions?this.label??void 0:void 0)}
402
- >
403
- <div class="pkt-listbox__banners">
404
- ${this.renderSearch()} ${this.renderMaximumReachedBanner()} ${this.renderUserMessage()}
405
- ${this.renderEmptyMessage()} ${this.renderNewOptionBanner()}
406
- </div>
407
- <ul class="pkt-listbox__options" role="presentation">
408
- ${this.renderList()}
409
- </ul>
410
- </div>
411
- <div aria-live="polite" class="pkt-visually-hidden">${this.userMessage}</div>
412
- `}renderCheckboxOrCheckIcon(e,t){return this.isMultiSelect?H`
413
- <input
414
- class="pkt-input-check__input-checkbox"
415
- type="checkbox"
416
- role="presentation"
417
- tabindex="-1"
418
- value=${e.value}
419
- @change=${e=>{e.stopPropagation()}}
420
- .checked=${e.selected}
421
- aria-labelledby=${this.id+`-option-label-`+t}
422
- ?disabled=${this.disabled||e.disabled||this.maxIsReached&&!e.selected}
423
- />
424
- `:e.selected?H`<pkt-icon name="check-big"></pkt-icon>`:U}renderEmptyMessage(){return this.options.length>0||this._filteredOptions.length>0||this.userMessage?U:H`<div class="pkt-listbox__banner pkt-listbox__banner--empty">
425
- <pkt-icon
426
- class="pkt-listbox__banner-icon"
427
- name="exclamation-mark-circle"
428
- size="large"
429
- ></pkt-icon>
430
- Tom liste
431
- </div>`}renderList(){return H`
432
- ${As(this._filteredOptions,e=>e.value,(e,t)=>H`
433
- <li
434
- @click=${()=>{this.toggleOption(e)}}
435
- aria-selected=${e.selected?`true`:`false`}
436
- @keydown=${this.handleOptionKeydown}
437
- class=${J({"pkt-listbox__option":!0,"pkt-listbox__option--selected":!!(!this.isMultiSelect&&e.selected),"pkt-listbox__option--checkBox":this.isMultiSelect})}
438
- tabindex="${this.disabled||e.disabled?`-1`:`0`}"
439
- data-index=${t}
440
- data-value=${e.value}
441
- data-selected=${e.selected?`true`:`false`}
442
- ?data-disabled=${this.disabled||e.disabled||this.maxIsReached&&!e.selected}
443
- aria-disabled=${this.disabled||e.disabled||this.maxIsReached&&!e.selected?`true`:`false`}
444
- role="option"
445
- id=${`${this.id}-${t}`}
446
- >
447
- ${this.renderCheckboxOrCheckIcon(e,t)}
448
- <span class="pkt-listbox__option-label" id=${this.id+`-option-label-`+t}>
449
- ${e.prefix?H`<span class="pkt-listbox__option-prefix">${e.prefix}</span>`:U}
450
- ${e.label||e.value}
451
- </span>
452
- ${e.description?H`<span class="pkt-listbox__option-description pkt-txt-14-light"
453
- >${e.description}</span
454
- >`:U}
455
- </li>
456
- `)}
457
- `}renderNewOptionBanner(){return this.allowUserInput&&this.customUserInput?H`
458
- <div
459
- class="pkt-listbox__banner pkt-listbox__banner--new-option pkt-listbox__option"
460
- data-type="new-option"
461
- data-value=${this.customUserInput}
462
- data-selected="false"
463
- tabindex="0"
464
- @click=${()=>this.toggleOption({value:this.customUserInput||``})}
465
- @keydown=${this.handleOptionKeydown}
466
- >
467
- <pkt-icon class="pkt-listbox__banner-icon" name="plus-sign" size="large"></pkt-icon>
468
- Legg til "${this.customUserInput}"
469
- </div>
470
- `:U}renderMaximumReachedBanner(){return this._selectedOptions=this.options.filter(e=>e.selected).length,this.isMultiSelect&&this._selectedOptions>0&&this.maxLength>0?H`
471
- <div class="pkt-listbox__banner pkt-listbox__banner--maximum-reached">
472
- ${this._selectedOptions} av maks ${this.maxLength} mulige er valgt.
473
- </div>
474
- `:U}renderUserMessage(){return this.userMessage?H`<div class="pkt-listbox__banner pkt-listbox__banner--user-message">
475
- <pkt-icon
476
- class="pkt-listbox__banner-icon"
477
- name="exclamation-mark-circle"
478
- size="large"
479
- ></pkt-icon>
480
- ${this.userMessage}
481
- </div>`:U}renderSearch(){return this.includeSearch?H`
482
- <div class="pkt-listbox__search">
483
- <span class="pkt-listbox__search-icon">
484
- <pkt-icon name="magnifying-glass-small" size="large"></pkt-icon>
485
- </span>
486
- <input
487
- class="pkt-txt-16-light"
488
- type="text"
489
- aria-label="Søk i listen"
490
- form=""
491
- placeholder=${this.searchPlaceholder||li.forms.search.placeholder}
492
- @input=${this.handleSearchInput}
493
- @keydown=${this.handleSearchKeydown}
494
- .value=${this.searchValue}
495
- data-type="searchbox"
496
- ?disabled=${this.disabled}
497
- ?readonly=${this.disabled}
498
- role="searchbox"
499
- />
500
- </div>
501
- `:U}handleSearchInput(e){this.searchValue=e.target.value,this.dispatchEvent(new CustomEvent(`search`,{detail:this.searchValue,bubbles:!1}))}handleSearchKeydown(e){switch(e.key){case`Enter`:e.preventDefault();break;case`ArrowUp`:case`Escape`:this.closeOptions(),e.preventDefault();break;case`ArrowDown`:this.focusFirstOrSelectedOption();break;case`Tab`:this.tabClose();break}}handleOptionKeydown(e){let t=e.currentTarget,n=t.dataset.value,r=t.dataset.type,i=t.dataset.selected===`true`;if(!(!Gs(this).length&&(!this.customUserInput||!this.allowUserInput&&this.customUserInput)&&r!==`new-option`&&r!==`searchbox`))switch(e.key){case` `:case`Enter`:this.toggleOption(t),e.preventDefault();break;case`Backspace`:n&&(i?this.toggleOption(t):this.closeOptions()),e.preventDefault();break;case`Escape`:this.closeOptions(),e.preventDefault();break;case`Tab`:this.tabClose();break;case`ArrowDown`:e.altKey?Ys(this):r===`searchbox`||r===`new-option`?Js(this):Ks(t),e.preventDefault();break;case`ArrowUp`:if(e.altKey)Js(this);else if(t.dataset.index===`0`&&this.includeSearch){let e=this.querySelector(`[role="searchbox"]`);e&&e.focus()}else if(t.dataset.index===`0`&&this.customUserInput){let e=this.querySelector(`[data-type="new-option"]`);e&&e.focus()}else qs(t,this,this.includeSearch);e.preventDefault();break;case`Home`:Js(this),e.preventDefault();break;case`End`:Ys(this),e.preventDefault();break;default:(e.metaKey||e.ctrlKey)&&e.key===`a`&&(this.selectAll(),e.preventDefault()),Vs(e.key)&&(this.handleTypeAhead(e.key),e.preventDefault());break}}focusFirstOrSelectedOption(){Xs(this,{disabled:this.disabled,allowUserInput:this.allowUserInput,customUserInput:this.customUserInput,includeSearch:this.includeSearch})}toggleOption(e){let t=e instanceof HTMLElement?e.dataset.disabled:e.disabled;if(this.disabled||t)return;let n=e instanceof HTMLElement?e.dataset.value:e.value;this.dispatchEvent(new CustomEvent(`option-toggle`,{detail:n,bubbles:!1}))}selectAll(){this.dispatchEvent(new CustomEvent(`select-all`,{bubbles:!1}))}closeOptions(){this.dispatchEvent(new CustomEvent(`close-options`,{bubbles:!1}))}tabClose(){this.dispatchEvent(new CustomEvent(`tab-close`,{bubbles:!1}))}filterOptions(){this._filteredOptions=Is(this.options,this.searchValue)}handleTypeAhead(e){let t=this.typeahead.append(e),n=Gs(this),r=Us(n,t);r>=0&&Ws(n[r])}};q([G({type:String})],Zs.prototype,`id`,void 0),q([G({type:String})],Zs.prototype,`label`,void 0),q([G({type:Array})],Zs.prototype,`options`,void 0),q([G({type:Boolean,reflect:!0,attribute:`is-open`})],Zs.prototype,`isOpen`,void 0),q([G({type:Boolean})],Zs.prototype,`disabled`,void 0),q([G({type:Boolean,attribute:`include-search`})],Zs.prototype,`includeSearch`,void 0),q([G({type:Boolean,attribute:`is-multi-select`})],Zs.prototype,`isMultiSelect`,void 0),q([G({type:Boolean,attribute:`allow-user-input`})],Zs.prototype,`allowUserInput`,void 0),q([G({type:Boolean,attribute:`max-is-reached`})],Zs.prototype,`maxIsReached`,void 0),q([G({type:String,attribute:`custom-user-input`})],Zs.prototype,`customUserInput`,void 0),q([G({type:String,attribute:`search-placeholder`})],Zs.prototype,`searchPlaceholder`,void 0),q([G({type:String,attribute:`search-value`})],Zs.prototype,`searchValue`,void 0),q([G({type:Number,attribute:`max-length`})],Zs.prototype,`maxLength`,void 0),q([G({type:String,attribute:`user-message`})],Zs.prototype,`userMessage`,void 0),q([K()],Zs.prototype,`_filteredOptions`,void 0);try{W(`pkt-listbox`)(Zs)}catch{console.warn(`Forsøker å definere <pkt-listbox>, men den er allerede definert`)}var Qs={fromAttribute(e){return e==null?!1:e===``||e===`true`||e===!0?!0:e===`false`||e===!1?!1:!!e},toAttribute(e){return e?`true`:`false`}},$s={name:`pkt-input-wrapper`,react:`PktInputWrapper`,"css-class":`pkt-inputwrapper`,isElement:!0,isPureReact:!0,events:{toggleHelpText:{description:`Event for å vise eller skjule hjelpetekst i dropdown`}},slots:{default:{description:`Innholdet i input-wrapperen, som kan være et skjemaelement eller en annen komponent`}},props:{forId:{name:`For ID`,description:`Id-en til skjemaelementet som dette wrapper rundt`,type:`string`,required:!0,category:`tech`},label:{name:`Merkelapp`,description:`Merkelapp for skjemaelementet`,type:`string`,required:!0,category:`contents`},helptext:{name:`Hjelpetekst`,description:`Hjelpetekst for skjemaelementet`,type:`string`,category:`contents`},helptextDropdown:{name:`Hjelpetekst i dropdown`,description:`Hjelpetekst som vises i ekspanderende felt`,type:`string`,category:`contents`},helptextDropdownButton:{name:`Tekst i hjelpetekst-knapp`,description:`Tekst som vises i knappen for å vise hjelpetekst i dropdown`,default:`Les mer <span class='pkt-sr-only'>om feltet</span>`,type:`string`,category:`contents`},ariaDescribedby:{name:`aria-describedby`,description:`Id-en til elementet som beskriver skjemaelementet`,type:`string`,category:`accessibility`},counter:{name:`Teller`,description:`Teller for antall tegn i skjemaelementet`,type:`boolean`,default:!1,category:`ui`},counterCurrent:{name:`Tellerverdi`,description:`Tellerens nåværende verdi`,type:`number`,category:`ui`,showIf:{counter:!0}},counterMaxLength:{name:`Maks tegn i teller`,description:`Maks antall tegn som kan skrives i skjemaelementet`,type:`number`,category:`ui`,showIf:{counter:!0}},counterPosition:{name:`Tellerplassering`,description:`Telleren sin plassering i forhold til elementet`,type:[`top`,`bottom`],default:`bottom`,category:`ui`,showIf:{counter:!0}},optionalTag:{name:`Vise valgfritt-merking`,description:`Viser en merking som indikerer at feltet er valgfritt`,type:`boolean`,default:!1,category:`ui`},optionalText:{name:`Valgfritt-tekst`,description:`Tekst som vises i valgfritt-merkingen`,type:`string`,default:`Valgfritt`,category:`contents`},requiredTag:{name:`Vise påkrevd-merking`,description:`Viser en merking som indikerer at feltet er påkrevd`,type:`boolean`,default:!1,category:`ui`},requiredText:{name:`Påkrevd-tekst`,description:`Tekst som vises i påkrevd-merkingen`,type:`string`,default:`Må fylles ut`,category:`contents`},tagText:{type:`string`,name:`Tag-tekst`,description:`Tekst som vises i en tag ved siden av label`,category:`ui`},hasError:{name:`Feil`,description:`Indikerer at skjemaelementet har en feil`,type:`boolean`,default:!1,category:`ui`},errorMessage:{name:`Feilmelding`,description:`Feilmelding som vises når skjemaelementet har en feil`,type:`string`,category:`contents`},disabled:{name:`Deaktivert`,description:`Indikerer at skjemaelementet er deaktivert`,type:`boolean`,default:!1,category:`tech`},inline:{name:`Inline`,description:`Indikerer at skjemaelementet skal flyte sammen med sidens innhold`,type:`boolean`,default:!1,category:`ui`},hasFieldset:{name:`Er fieldset`,description:`Indikerer at innholdet er et fieldset`,type:`boolean`,default:!1,category:`ui`},useWrapper:{name:`Bruk wrapper`,description:`Indikerer om skjemaelementet skal bruke en wrapper`,type:`boolean`,displayAsFalse:!0,default:!0,category:`ui`},role:{name:`Rolle`,description:`Rollen til elementet`,type:`string`,default:`group`,category:`accessibility`}}};(function(e){let t=new WeakMap,n=new WeakMap,r=new WeakMap,i=new WeakMap,a=new WeakMap,o=new WeakMap,s=new WeakMap,c=new WeakMap,l=new WeakMap,u=new WeakMap,d=new WeakMap,f=new WeakMap,p=new WeakMap,m=new WeakMap,h=new WeakMap,g={ariaAtomic:`aria-atomic`,ariaAutoComplete:`aria-autocomplete`,ariaBusy:`aria-busy`,ariaChecked:`aria-checked`,ariaColCount:`aria-colcount`,ariaColIndex:`aria-colindex`,ariaColIndexText:`aria-colindextext`,ariaColSpan:`aria-colspan`,ariaCurrent:`aria-current`,ariaDescription:`aria-description`,ariaDisabled:`aria-disabled`,ariaExpanded:`aria-expanded`,ariaHasPopup:`aria-haspopup`,ariaHidden:`aria-hidden`,ariaInvalid:`aria-invalid`,ariaKeyShortcuts:`aria-keyshortcuts`,ariaLabel:`aria-label`,ariaLevel:`aria-level`,ariaLive:`aria-live`,ariaModal:`aria-modal`,ariaMultiLine:`aria-multiline`,ariaMultiSelectable:`aria-multiselectable`,ariaOrientation:`aria-orientation`,ariaPlaceholder:`aria-placeholder`,ariaPosInSet:`aria-posinset`,ariaPressed:`aria-pressed`,ariaReadOnly:`aria-readonly`,ariaRelevant:`aria-relevant`,ariaRequired:`aria-required`,ariaRoleDescription:`aria-roledescription`,ariaRowCount:`aria-rowcount`,ariaRowIndex:`aria-rowindex`,ariaRowIndexText:`aria-rowindextext`,ariaRowSpan:`aria-rowspan`,ariaSelected:`aria-selected`,ariaSetSize:`aria-setsize`,ariaSort:`aria-sort`,ariaValueMax:`aria-valuemax`,ariaValueMin:`aria-valuemin`,ariaValueNow:`aria-valuenow`,ariaValueText:`aria-valuetext`,role:`role`},_=(e,t)=>{for(let n in g){t[n]=null;let r=null,i=g[n];Object.defineProperty(t,n,{get(){return r},set(n){r=n,e.isConnected?T(e,i,n):u.set(e,t)}})}};function v(e){let t=i.get(e),{form:n}=t;se(e,n,t),D(e,t.labels)}let y=(e,t=!1)=>{let n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode(e){return i.has(e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}}),r=n.nextNode(),a=!t||e.disabled;for(;r;)r.formDisabledCallback&&a&&E(r,e.disabled),r=n.nextNode()},b={attributes:!0,attributeFilter:[`disabled`,`name`]},x=ue()?new MutationObserver(e=>{for(let t of e){let e=t.target;if(t.attributeName===`disabled`&&(e.constructor.formAssociated?E(e,e.hasAttribute(`disabled`)):e.localName===`fieldset`&&y(e)),t.attributeName===`name`&&e.constructor.formAssociated){let t=i.get(e),n=l.get(e);t.setFormValue(n)}}}):{};function S(e){e.forEach(e=>{let{addedNodes:t,removedNodes:n}=e,a=Array.from(t),o=Array.from(n);a.forEach(e=>{var t;if(i.has(e)&&e.constructor.formAssociated&&v(e),u.has(e)){let t=u.get(e);Object.keys(g).filter(e=>t[e]!==null).forEach(n=>{T(e,g[n],t[n])}),u.delete(e)}if(h.has(e)){let t=h.get(e);T(e,`internals-valid`,t.validity.valid.toString()),T(e,`internals-invalid`,(!t.validity.valid).toString()),T(e,`aria-invalid`,(!t.validity.valid).toString()),h.delete(e)}if(e.localName===`form`){let t=c.get(e),n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode(e){return i.has(e)&&e.constructor.formAssociated&&!(t&&t.has(e))?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}}),r=n.nextNode();for(;r;)v(r),r=n.nextNode()}e.localName===`fieldset`&&((t=x.observe)==null||t.call(x,e,b),y(e,!0))}),o.forEach(e=>{let t=i.get(e);t&&r.get(t)&&te(t),s.has(e)&&s.get(e).disconnect()})})}function C(e){e.forEach(e=>{let{removedNodes:t}=e;t.forEach(t=>{let n=p.get(e.target);i.has(t)&&le(t),n.disconnect()})})}let w=e=>{var t;let n=new MutationObserver(C);(window==null?void 0:window.ShadyDOM)?.inUse&&e.mode&&e.host&&(e=e.host),(t=n.observe)==null||t.call(n,e,{childList:!0}),p.set(e,n)};ue()&&new MutationObserver(S);let ee={childList:!0,subtree:!0},T=(e,t,n)=>{e.getAttribute(t)!==n&&e.setAttribute(t,n)},E=(e,t)=>{e.toggleAttribute(`internals-disabled`,t),t?T(e,`aria-disabled`,`true`):e.removeAttribute(`aria-disabled`),e.formDisabledCallback&&e.formDisabledCallback.apply(e,[t])},te=e=>{r.get(e).forEach(e=>{e.remove()}),r.set(e,[])},ne=(e,t)=>{let n=document.createElement(`input`);return n.type=`hidden`,n.name=e.getAttribute(`name`),e.after(n),r.get(t).push(n),n},re=(e,t)=>{var n;r.set(t,[]),(n=x.observe)==null||n.call(x,e,b)},D=(e,t)=>{if(t.length){Array.from(t).forEach(t=>t.addEventListener(`click`,e.click.bind(e)));let n=t[0].id;t[0].id||(n=`${t[0].htmlFor}_Label`,t[0].id=n),T(e,`aria-labelledby`,n)}},O=e=>{let t=Array.from(e.elements).filter(e=>!e.tagName.includes(`-`)&&e.validity).map(e=>e.validity.valid),n=c.get(e)||[],r=Array.from(n).filter(e=>e.isConnected).map(e=>i.get(e).validity.valid),a=[...t,...r].includes(!1);e.toggleAttribute(`internals-invalid`,a),e.toggleAttribute(`internals-valid`,!a)},k=e=>{O(ce(e.target))},ie=e=>{O(ce(e.target))},ae=e=>{let t=[`button[type=submit]`,`input[type=submit]`,`button:not([type])`].map(e=>`${e}:not([disabled])`).map(t=>`${t}:not([form])${e.id?`,${t}[form='${e.id}']`:``}`).join(`,`);e.addEventListener(`click`,n=>{if(n.target.closest(t)){let t=c.get(e);if(e.noValidate)return;t.size&&Array.from(t).reverse().map(e=>i.get(e).reportValidity()).includes(!1)&&n.preventDefault()}})},oe=e=>{let t=c.get(e.target);t&&t.size&&t.forEach(e=>{e.constructor.formAssociated&&e.formResetCallback&&e.formResetCallback.apply(e)})},se=(e,t,n)=>{if(t){let r=c.get(t);if(r)r.add(e);else{let n=new Set;n.add(e),c.set(t,n),ae(t),t.addEventListener(`reset`,oe),t.addEventListener(`input`,k),t.addEventListener(`change`,ie)}o.set(t,{ref:e,internals:n}),e.constructor.formAssociated&&e.formAssociatedCallback&&setTimeout(()=>{e.formAssociatedCallback.apply(e,[t])},0),O(t)}},ce=e=>{let t=e.parentNode;return t&&t.tagName!==`FORM`&&(t=ce(t)),t},A=(e,t,n=DOMException)=>{if(!e.constructor.formAssociated)throw new n(t)},j=(e,t,n)=>{let r=c.get(e);return r&&r.size&&r.forEach(e=>{i.get(e)[n]()||(t=!1)}),t},le=e=>{if(e.constructor.formAssociated){let t=i.get(e),{labels:n,form:r}=t;D(e,n),se(e,r,t)}};function ue(){return typeof MutationObserver<`u`}class M{constructor(){this.badInput=!1,this.customError=!1,this.patternMismatch=!1,this.rangeOverflow=!1,this.rangeUnderflow=!1,this.stepMismatch=!1,this.tooLong=!1,this.tooShort=!1,this.typeMismatch=!1,this.valid=!0,this.valueMissing=!1,Object.seal(this)}}let de=e=>(e.badInput=!1,e.customError=!1,e.patternMismatch=!1,e.rangeOverflow=!1,e.rangeUnderflow=!1,e.stepMismatch=!1,e.tooLong=!1,e.tooShort=!1,e.typeMismatch=!1,e.valid=!0,e.valueMissing=!1,e),N=(e,t,n)=>(e.valid=P(t),Object.keys(t).forEach(n=>e[n]=t[n]),n&&O(n),e),P=e=>{let t=!0;for(let n in e)n!==`valid`&&e[n]!==!1&&(t=!1);return t},F=new WeakMap;function I(e,t){e.toggleAttribute(t,!0),e.part&&e.part.add(t)}class fe extends Set{static get isPolyfilled(){return!0}constructor(e){if(super(),!e||!e.tagName||e.tagName.indexOf(`-`)===-1)throw TypeError(`Illegal constructor`);F.set(this,e)}add(e){if(!/^--/.test(e)||typeof e!=`string`)throw new DOMException(`Failed to execute 'add' on 'CustomStateSet': The specified value ${e} must start with '--'.`);let t=super.add(e),n=F.get(this),r=`state${e}`;return n.isConnected?I(n,r):setTimeout(()=>{I(n,r)}),t}clear(){for(let[e]of this.entries())this.delete(e);super.clear()}delete(e){let t=super.delete(e),n=F.get(this);return n.isConnected?(n.toggleAttribute(`state${e}`,!1),n.part&&n.part.remove(`state${e}`)):setTimeout(()=>{n.toggleAttribute(`state${e}`,!1),n.part&&n.part.remove(`state${e}`)}),t}}function pe(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}function me(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}var L;class he{constructor(e){L.set(this,void 0),me(this,L,e,`f`);for(let t=0;t<e.length;t++){let n=e[t];this[t]=n,n.hasAttribute(`name`)&&(this[n.getAttribute(`name`)]=n)}Object.freeze(this)}get length(){return pe(this,L,`f`).length}[(L=new WeakMap,Symbol.iterator)](){return pe(this,L,`f`)[Symbol.iterator]()}item(e){return this[e]==null?null:this[e]}namedItem(e){return this[e]==null?null:this[e]}}function ge(){let e=HTMLFormElement.prototype.checkValidity;HTMLFormElement.prototype.checkValidity=n;let t=HTMLFormElement.prototype.reportValidity;HTMLFormElement.prototype.reportValidity=r;function n(...t){let n=e.apply(this,t);return j(this,n,`checkValidity`)}function r(...e){let n=t.apply(this,e);return j(this,n,`reportValidity`)}let{get:i}=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,`elements`);Object.defineProperty(HTMLFormElement.prototype,`elements`,{get(...e){let t=i.call(this,...e),n=Array.from(c.get(this)||[]);return n.length===0?t:new he(Array.from(t).concat(n).sort((e,t)=>e.compareDocumentPosition?e.compareDocumentPosition(t)&2?1:-1:0))}})}class R{static get isPolyfilled(){return!0}constructor(e){if(!e||!e.tagName||e.tagName.indexOf(`-`)===-1)throw TypeError(`Illegal constructor`);let r=e.getRootNode(),a=new M;this.states=new fe(e),t.set(this,e),n.set(this,a),i.set(e,this),_(e,this),re(e,this),Object.seal(this),r instanceof DocumentFragment&&w(r)}checkValidity(){let e=t.get(this);if(A(e,`Failed to execute 'checkValidity' on 'ElementInternals': The target element is not a form-associated custom element.`),!this.willValidate)return!0;let r=n.get(this);if(!r.valid){let t=new Event(`invalid`,{bubbles:!1,cancelable:!0,composed:!1});e.dispatchEvent(t)}return r.valid}get form(){let e=t.get(this);A(e,`Failed to read the 'form' property from 'ElementInternals': The target element is not a form-associated custom element.`);let n;return e.constructor.formAssociated===!0&&(n=ce(e)),n}get labels(){let e=t.get(this);A(e,`Failed to read the 'labels' property from 'ElementInternals': The target element is not a form-associated custom element.`);let n=e.getAttribute(`id`),r=e.getRootNode();return r&&n?r.querySelectorAll(`[for="${n}"]`):[]}reportValidity(){let e=t.get(this);if(A(e,`Failed to execute 'reportValidity' on 'ElementInternals': The target element is not a form-associated custom element.`),!this.willValidate)return!0;let n=this.checkValidity(),r=f.get(this);if(r&&!e.constructor.formAssociated)throw new DOMException(`Failed to execute 'reportValidity' on 'ElementInternals': The target element is not a form-associated custom element.`);return!n&&r&&(e.focus(),r.focus()),n}setFormValue(e){let n=t.get(this);if(A(n,`Failed to execute 'setFormValue' on 'ElementInternals': The target element is not a form-associated custom element.`),te(this),e!=null&&!(e instanceof FormData)){if(n.getAttribute(`name`)){let t=ne(n,this);t.value=e}}else e!=null&&e instanceof FormData&&Array.from(e).reverse().forEach(([e,t])=>{if(typeof t==`string`){let r=ne(n,this);r.name=e,r.value=t}});l.set(n,e)}setValidity(e,r,i){let o=t.get(this);if(A(o,`Failed to execute 'setValidity' on 'ElementInternals': The target element is not a form-associated custom element.`),!e)throw TypeError(`Failed to execute 'setValidity' on 'ElementInternals': 1 argument required, but only 0 present.`);f.set(this,i);let s=n.get(this),c={};for(let t in e)c[t]=e[t];Object.keys(c).length===0&&de(s);let l=Object.assign(Object.assign({},s),c);delete l.valid;let{valid:u}=N(s,l,this.form);if(!u&&!r)throw new DOMException(`Failed to execute 'setValidity' on 'ElementInternals': The second argument should not be empty if one or more flags in the first argument are true.`);a.set(this,u?``:r),o.isConnected?(o.toggleAttribute(`internals-invalid`,!u),o.toggleAttribute(`internals-valid`,u),T(o,`aria-invalid`,`${!u}`)):h.set(o,this)}get shadowRoot(){let e=t.get(this);return d.get(e)||null}get validationMessage(){return A(t.get(this),`Failed to read the 'validationMessage' property from 'ElementInternals': The target element is not a form-associated custom element.`),a.get(this)}get validity(){return A(t.get(this),`Failed to read the 'validity' property from 'ElementInternals': The target element is not a form-associated custom element.`),n.get(this)}get willValidate(){let e=t.get(this);return A(e,`Failed to read the 'willValidate' property from 'ElementInternals': The target element is not a form-associated custom element.`),!(e.disabled||e.hasAttribute(`disabled`)||e.hasAttribute(`readonly`))}}function _e(){if(typeof window>`u`||!window.ElementInternals||!HTMLElement.prototype.attachInternals)return!1;class e extends HTMLElement{constructor(){super(),this.internals=this.attachInternals()}}let t=`element-internals-feature-detection-${Math.random().toString(36).replace(/[^a-z]+/g,``)}`;customElements.define(t,e);let n=new e;return[`shadowRoot`,`form`,`willValidate`,`validity`,`validationMessage`,`labels`,`setFormValue`,`setValidity`,`checkValidity`,`reportValidity`].every(e=>e in n.internals)}let z=!1,ve=!1;function B(e){ve||(ve=!0,window.CustomStateSet=fe,e&&(HTMLElement.prototype.attachInternals=function(...t){let n=e.call(this,t);return n.states=new fe(this),n}))}function ye(e=!0){if(!z){if(z=!0,typeof window<`u`&&(window.ElementInternals=R),typeof CustomElementRegistry<`u`){let e=CustomElementRegistry.prototype.define;CustomElementRegistry.prototype.define=function(t,n,r){if(n.formAssociated){let e=n.prototype.connectedCallback;n.prototype.connectedCallback=function(){m.has(this)||(m.set(this,!0),this.hasAttribute(`disabled`)&&E(this,!0)),e?.apply(this),le(this)}}e.call(this,t,n,r)}}if(typeof HTMLElement<`u`&&(HTMLElement.prototype.attachInternals=function(){if(!this.tagName)return{};if(this.tagName.indexOf(`-`)===-1)throw Error(`Failed to execute 'attachInternals' on 'HTMLElement': Unable to attach ElementInternals to non-custom elements.`);if(i.has(this))throw new DOMException(`DOMException: Failed to execute 'attachInternals' on 'HTMLElement': ElementInternals for the specified element was already attached.`);return new R(this)}),typeof Element<`u`){function e(...e){let n=t.apply(this,e);if(d.set(this,n),ue()){let e=new MutationObserver(S);window.ShadyDOM?e.observe(this,ee):e.observe(n,ee),s.set(this,e)}return n}let t=Element.prototype.attachShadow;Element.prototype.attachShadow=e}ue()&&typeof document<`u`&&new MutationObserver(S).observe(document.documentElement,ee),typeof HTMLFormElement<`u`&&ge(),(e||typeof window<`u`&&!window.CustomStateSet)&&B()}}return customElements.polyfillWrapFlushCallback||(_e()?typeof window<`u`&&!window.CustomStateSet&&B(HTMLElement.prototype.attachInternals):ye(!1)),e.forceCustomStateSetPolyfill=B,e.forceElementInternalsPolyfill=ye,Object.defineProperty(e,`__esModule`,{value:!0}),e})({});var ec=`on`,tc=`--checked`,nc=`,`,Q=class extends Bi{static get formAssociated(){return!0}constructor(){super(),this.defaultValue=null,this.disabled=!1,this.readonly=!1,this.required=!1,this.max=null,this.maxlength=null,this.min=null,this.minlength=null,this.step=null,this.ariaDescribedBy=null,this.ariaLabelledby=null,this.name=``,this.pattern=null,this.placeholder=null,this.id=Ns(),this.counter=!1,this.hasError=!1,this.inline=!1,this.hasFieldset=!1,this.optionalTag=!1,this.requiredTag=!1,this.skipForwardTestid=!1,this.useWrapper=!0,this.fullwidth=!1,this.counterMaxLength=0,this.errorMessage=``,this.helptext=``,this.helptextDropdown=``,this.helptextDropdownButton=$s.props.helptextDropdownButton.default,this.label=null,this.optionalText=li.forms.labels.optional,this.requiredText=li.forms.labels.required,this.tagText=null,this.dataTestid=``,this.touched=!1,this.internals=this.attachInternals()}manageValidity(e){if(!e){console.warn(`manageValidity called without valid input element`);return}this.required&&!this.value?this.internals.setValidity({valueMissing:!0},li.forms.messages.required,e):e.validity?.typeMismatch||e.validity?.badInput?this.internals.setValidity({typeMismatch:!0},li.forms.messages.invalid,e):e.validity?.patternMismatch?this.internals.setValidity({patternMismatch:!0},li.forms.messages.invalidPattern,e):e.validity?.tooShort||this.minlength&&this.minlength>0&&this.value.length<this.minlength?this.internals.setValidity({tooShort:!0},li.forms.messages.tooShort,e):e.validity?.tooLong||this.maxlength&&this.maxlength>0&&this.value.length>this.maxlength?this.internals.setValidity({tooLong:!0},li.forms.messages.tooLong,e):e.validity?.rangeUnderflow?this.internals.setValidity({rangeUnderflow:!0},this.min?li.forms.messages.rangeUnderflowMin.replace(`{min}`,this.min?.toString()):li.forms.messages.rangeUnderflow,e):e.validity?.stepMismatch?this.internals.setValidity({stepMismatch:!0},li.forms.messages.invalid,e):e.validity?.rangeOverflow?this.internals.setValidity({rangeOverflow:!0},this.max?li.forms.messages.rangeOverflowMax.replace(`{max}`,this.max?.toString()):li.forms.messages.rangeOverflow,e):e.validity?.customError?this.internals.setValidity({customError:!0},e.validationMessage,e):this.internals.setValidity({})}setFormValue(e){if(this.internals)if(Array.isArray(e)){let t=new FormData;e.forEach(e=>{t.append(this.name,e)}),this.internals.setFormValue(t)}else this.internals.setFormValue(e)}coordinateRadioGroup(){if(!this.form||!this.name||this.type!==`radio`)return;let e=`pkt-radiobutton[name="${this.name}"], input[type=radio][name="${this.name}"]`;this.form.querySelectorAll(e).forEach(e=>{if(e!==this&&e.getAttribute(`name`)===this.name&&e.getAttribute(`value`)!==this.value){let t=e;t.checked&&(t.checked=!1,t.internals&&(t.internals.setFormValue(null),t.internals.states?.delete(tc)))}})}valueChecked(e){if(!this.touched)return;let t=this.internals.form||this.closest(`form`),n=t?new FormData(t):null;if(this.type===`radio`&&this.coordinateRadioGroup(),typeof e==`string`?(this.checked=e===`true`,this.internals.ariaChecked=String(e===`true`)):typeof e==`boolean`&&(this.checked=e,this.internals.ariaChecked=String(e)),this.checked){let e=(typeof this.value==`string`?this.value:``)||ec;this.internals.setFormValue(e),n&&n.append(this.name,e),this.internals.states.add(tc)}else this.internals.setFormValue(null),n&&n.delete(this.name),this.internals.states.delete(tc);this.dispatchChangeEvents(this.checked),this.internals.reportValidity()}valueChanged(e,t){(t!==this.value||t!==this._value)&&(typeof e==`string`?((this.multiple||this.range)&&e.includes(nc)&&(e=e.split(nc)),this.value=e,this._value=Array.isArray(e)?e:[e]):Array.isArray(e)?(this.value=this.multiple||this.range?e:e[0],this._value=e):(this.value=``,this._value=[]),(!this.value||this.value.length===0)&&t&&t.length!==0?this.clearInputValue():this.value&&this.value.toString()!==t?.toString()&&this.onChange(this.value))}dispatchChangeEvents(e){this.dispatchEvent(new Event(`change`,{bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent(`value-change`,{detail:e,bubbles:!0,composed:!0}))}clearInputValue(){let e=this.multiple||this.range?[]:``;this.value=e,this.setFormValue(e),this.dispatchChangeEvents(e)}onFocus(){this.dispatchEvent(new FocusEvent(`focus`,{bubbles:!0,composed:!0}))}onBlur(){this.dispatchEvent(new FocusEvent(`blur`,{bubbles:!0,composed:!0}))}onInput(){this.dispatchEvent(new InputEvent(`input`,{bubbles:!0,composed:!0}))}normalizeValue(e){return(this.range||this.multiple)&&typeof e==`string`&&e.includes(nc)?e.split(nc):!this.multiple&&!this.range&&Array.isArray(e)?e[0]||``:e}validate(){this.inputRef?.value&&this.manageValidity(this.inputRef.value),this.inputRefTo?.value&&this.manageValidity(this.inputRefTo.value)}onChange(e){if(!this.touched){this.touched=!0,e&&this.setFormValue(e),this.validate();return}if(typeof e!=`string`&&!Array.isArray(e))return;let t=this.normalizeValue(e);this.setFormValue(t),this.validate(),this.dispatchChangeEvents(t)}formResetCallback(){if(this.touched=!1,this._options&&this._options.length&&this._options.forEach(e=>{`selected`in e&&(e.selected=!1)}),this.checked!==void 0)this.checked=!1,this.internals.ariaChecked=`false`,this.internals.setFormValue(``),this.inputRef?.value&&`checked`in this.inputRef.value&&(this.inputRef.value.checked=!1),this.valueChecked(this.checked);else{this.internals.setFormValue(``);let e=this.defaultValue||(this.multiple||this.range?[]:``);this.value=e,this._value=Array.isArray(e)?e:[e],this.valueChanged(this.value,null)}this.internals.ariaInvalid=`false`}updated(e){super.updated(e),e.has(`dataTestid`)&&this.dataTestid&&this.inputRef.value&&(this.skipForwardTestid?this.hasAttribute(`data-testid`)||this.setAttribute(`data-testid`,this.dataTestid):(this.inputRef.value.dataset.testid=this.dataTestid,this.removeAttribute(`data-testid`)))}firstUpdated(e){if(super.firstUpdated(e),this.form||=this.internals.form||this.closest(`form`),this.value&&this.defaultValue===null&&(this.defaultValue=this.value),this.defaultValue!==null&&!this.value&&this.valueChanged(this.defaultValue,null),this.defaultChecked&&(this.internals.ariaChecked=`true`,this.checked=!0),this.required&&(this.internals.ariaRequired=`true`),this.disabled&&(this.internals.ariaDisabled=`true`),this.id&&!this.name&&(this.name=this.id),this.checked!==void 0){let e=this.checked===``||this.checked===`true`||this.checked===!0;this.internals.ariaChecked=String(e);let t=e?(typeof this.value==`string`?this.value:``)||ec:null;this.internals.setFormValue(t)}else this.setFormValue(this.value);this.inputRef&&this.inputRef.value&&(this.inputRef.value.setAttribute(`form`,``),this.manageValidity(this.inputRef.value)),this.inputRefTo&&this.inputRefTo.value&&(this.inputRefTo.value.setAttribute(`form`,``),this.manageValidity(this.inputRefTo.value))}};q([G({type:Boolean,reflect:!0})],Q.prototype,`checked`,void 0),q([G({type:Boolean})],Q.prototype,`defaultChecked`,void 0),q([G({type:Boolean})],Q.prototype,`multiple`,void 0),q([G({type:Boolean})],Q.prototype,`range`,void 0),q([G({type:String,reflect:!0})],Q.prototype,`type`,void 0),q([G()],Q.prototype,`defaultValue`,void 0),q([G({type:Boolean,reflect:!0})],Q.prototype,`disabled`,void 0),q([G({type:Boolean,reflect:!0})],Q.prototype,`readonly`,void 0),q([G({type:Boolean,reflect:!0})],Q.prototype,`required`,void 0),q([G({reflect:!0,converter:{fromAttribute:e=>e,toAttribute:e=>e?.toString()??null}})],Q.prototype,`max`,void 0),q([G({type:Number,reflect:!0})],Q.prototype,`maxlength`,void 0),q([G({reflect:!0,converter:{fromAttribute:e=>e,toAttribute:e=>e?.toString()??null}})],Q.prototype,`min`,void 0),q([G({type:Number,reflect:!0})],Q.prototype,`minlength`,void 0),q([G({type:Number,reflect:!0})],Q.prototype,`step`,void 0),q([G({type:String})],Q.prototype,`ariaDescribedBy`,void 0),q([G({type:String})],Q.prototype,`ariaLabelledby`,void 0),q([G({type:String,reflect:!0})],Q.prototype,`name`,void 0),q([G({type:String,reflect:!0})],Q.prototype,`pattern`,void 0),q([G({type:String,reflect:!0})],Q.prototype,`placeholder`,void 0),q([G({type:String,reflect:!0})],Q.prototype,`id`,void 0),q([G({type:Boolean})],Q.prototype,`counter`,void 0),q([G({type:Boolean})],Q.prototype,`hasError`,void 0),q([G({type:Boolean})],Q.prototype,`inline`,void 0),q([G({type:Boolean})],Q.prototype,`hasFieldset`,void 0),q([G({type:Boolean})],Q.prototype,`optionalTag`,void 0),q([G({type:Boolean})],Q.prototype,`requiredTag`,void 0),q([G({type:Boolean})],Q.prototype,`skipForwardTestid`,void 0),q([G({type:Boolean,reflect:!0,converter:Qs})],Q.prototype,`useWrapper`,void 0),q([G({type:Boolean,reflect:!0})],Q.prototype,`fullwidth`,void 0),q([G({type:Number})],Q.prototype,`counterMaxLength`,void 0),q([G({type:String})],Q.prototype,`errorMessage`,void 0),q([G({type:String})],Q.prototype,`helptext`,void 0),q([G({type:String})],Q.prototype,`helptextDropdown`,void 0),q([G({type:String,reflect:!1})],Q.prototype,`helptextDropdownButton`,void 0),q([G({type:String})],Q.prototype,`label`,void 0),q([G({type:String,reflect:!1})],Q.prototype,`optionalText`,void 0),q([G({type:String,reflect:!1})],Q.prototype,`requiredText`,void 0),q([G({type:String,reflect:!1})],Q.prototype,`tagText`,void 0),q([G({type:String,attribute:`data-testid`})],Q.prototype,`dataTestid`,void 0);var rc=class{constructor(e){this.nodes=[],this.options=[],this.generation=0,this.host=e,this.host.addController(this),this.nodes=[],this.options=[],this.observer=new MutationObserver(e=>this.handleMutations(e))}hostConnected(){Array.from(this.host.childNodes).forEach(e=>{(e.nodeName===`OPTION`||e.nodeName===`DATA`)&&this.addNode(e)}),this.createOptions(),this.observer.observe(this.host,{childList:!0,subtree:!1,attributes:!0})}hostDisconnected(){this.observer.disconnect()}addNode(e){(e.nodeName===`OPTION`||e.nodeName===`DATA`)&&(e.hasAttribute(`hidden`)&&!e.hasAttribute(`data-skip`)&&e.setAttribute(`data-hidden`,`true`),!e.hasAttribute(`hidden`)&&e.hasAttribute(`data-skip`)&&e.hasAttribute(`data-hidden`)&&e.removeAttribute(`data-hidden`),e.setAttribute(`class`,`pkt-hide`),e.setAttribute(`data-skip`,`true`),e.setAttribute(`hidden`,`true`),this.nodes.push(e))}createOptions(){this.options=this.nodes.map(e=>({value:e.hasAttribute(`value`)?e.getAttribute(`value`)??``:e.textContent??``,label:e.textContent||e.getAttribute(`value`)||``,selected:e.hasAttribute(`selected`),disabled:e.hasAttribute(`disabled`),hidden:e.hasAttribute(`data-hidden`)})),this.generation++,this.host.requestUpdate()}handleMutations(e){let t=!1;e.forEach(e=>{e.type===`childList`&&(e.addedNodes.forEach(e=>{Ai(e)&&(this.addNode(e),t=!0)}),e.removedNodes.forEach(e=>{Ai(e)&&(this.nodes=this.nodes.filter(t=>t!==e),t=!0)})),e.type===`attributes`&&Ai(e.target)&&(this.addNode(e.target),t=!0)}),t&&this.createOptions()}},ic=class extends Bi{constructor(...e){super(...e),this.forId=Ns(),this.helptext=``,this.helptextDropdown=``,this.helptextDropdownButton=$s.props.helptextDropdownButton.default,this.isHelpTextOpen=!1}render(){return H`${H`<div class="${J({"pkt-inputwrapper__helptext-container":!0,"pkt-inputwrapper__has-helptext":this.helptext||this.helptextDropdown||this.hasSlotContent()})}">
502
- <div class="pkt-inputwrapper__helptext" id="${this.forId}-helptext">
503
- <div class="pkt-contents" name="helptext">${zi(this)}</div>
504
- ${this.helptext&&Ui(this.helptext)}
505
- </div>
506
- ${this.helptextDropdown?H`<div class="pkt-inputwrapper__helptext-expandable">
507
- <button
508
- class="pkt-link pkt-link--icon-right pkt-btn pkt-btn--small pkt-btn--tertiary pkt-btn--icon-right"
509
- type="button"
510
- @click=${()=>{let e=!this.isHelpTextOpen;this.isHelpTextOpen=e,this.dispatchEvent(new CustomEvent(`toggleHelpText`,{bubbles:!0,detail:{isOpen:e}}))}}
511
- >
512
- <pkt-icon
513
- class="pkt-btn__icon"
514
- name="${this.isHelpTextOpen?`chevron-thin-up`:`chevron-thin-down`}"
515
- ></pkt-icon>
516
- <span class="pkt-btn__text">${Ui(this.helptextDropdownButton)}</span>
517
- </button>
518
- <div
519
- class="${J({"pkt-inputwrapper__helptext":!0,"pkt-inputwrapper__helptext-expandable-open":this.isHelpTextOpen,"pkt-inputwrapper__helptext-expandable-closed":!this.isHelpTextOpen})}"
520
- >
521
- ${Ui(this.helptextDropdown)}
522
- </div>
523
- </div>`:U}
524
- </div>`}`}};q([G({type:String,reflect:!0})],ic.prototype,`forId`,void 0),q([G({type:String})],ic.prototype,`helptext`,void 0),q([G({type:String})],ic.prototype,`helptextDropdown`,void 0),q([G({type:String})],ic.prototype,`helptextDropdownButton`,void 0),q([K()],ic.prototype,`isHelpTextOpen`,void 0);try{W(`pkt-helptext`)(ic)}catch{console.warn(`Forsøker å definere <pkt-helptext>, men den er allerede definert`)}var ac=class{constructor(e,t=null){this.pointerJustUsed=!1,this.handlePointerDown=()=>{this.pointerJustUsed=!0,this.pointerTimeoutId!==void 0&&clearTimeout(this.pointerTimeoutId),this.pointerTimeoutId=window.setTimeout(()=>{this.pointerJustUsed=!1,this.pointerTimeoutId=void 0},0)},this.handleFocusIn=()=>{this.setNavtype(this.pointerJustUsed?`pointer`:void 0)},this.handleFocusOut=e=>{this.host.contains(e.relatedTarget)||this.setNavtype(void 0)},this.host=e,this.targetSelector=t,e.addController(this)}hostConnected(){this.host.addEventListener(`pointerdown`,this.handlePointerDown,!0),this.host.addEventListener(`focusin`,this.handleFocusIn),this.host.addEventListener(`focusout`,this.handleFocusOut)}hostDisconnected(){this.host.removeEventListener(`pointerdown`,this.handlePointerDown,!0),this.host.removeEventListener(`focusin`,this.handleFocusIn),this.host.removeEventListener(`focusout`,this.handleFocusOut),this.pointerTimeoutId!==void 0&&(clearTimeout(this.pointerTimeoutId),this.pointerTimeoutId=void 0)}getTarget(){return this.targetSelector===null?this.host:this.host.querySelector(this.targetSelector)}setNavtype(e){let t=this.getTarget();t&&(e===void 0?delete t.dataset.navtype:t.dataset.navtype=e)}},oc=class extends Bi{constructor(...e){super(...e),this.forId=Ns(),this.label=``,this.helptext=null,this.helptextDropdown=null,this.helptextDropdownButton=null,this.counter=$s.props.counter.default,this.counterCurrent=0,this.counterMaxLength=0,this.counterError=null,this.counterPosition=`bottom`,this.optionalTag=$s.props.optionalTag.default,this.optionalText=$s.props.optionalText.default,this.requiredTag=$s.props.requiredTag.default,this.requiredText=$s.props.requiredText.default,this.tagText=null,this.hasError=$s.props.hasError.default,this.errorMessage=``,this.disabled=$s.props.disabled.default,this.inline=$s.props.inline.default,this.ariaDescribedby=void 0,this.hasFieldset=$s.props.hasFieldset.default,this.role=`group`,this.useWrapper=$s.props.useWrapper.default,this.focusModality=new ac(this,`.pkt-inputwrapper`)}updated(e){super.updated(e)}render(){let e={"pkt-inputwrapper":!0,"pkt-inputwrapper--error":this.hasError,"pkt-inputwrapper--disabled":this.disabled,"pkt-inputwrapper--inline":this.inline},t=`pkt-tag pkt-tag--small pkt-tag--thin-text`,n=this.ariaDescribedby?this.ariaDescribedby:this.helptext?`${this.forId}-helptext`:U,r=()=>H`
525
- ${this.tagText?H`<span class=${t+` pkt-tag--gray`}>${this.tagText}</span>`:U}
526
- ${this.optionalTag?H`<span class=${t+` pkt-tag--blue-light`}>${this.optionalText}</span>`:U}
527
- ${this.requiredTag?H`<span class=${t+` pkt-tag--beige`}>${this.requiredText}</span>`:U}
528
- `,i=()=>this.useWrapper?this.hasFieldset?H`<legend
529
- class="pkt-inputwrapper__legend"
530
- id="${this.forId}-label"
531
- @click=${this.handleLabelClick}
532
- >
533
- ${this.label} ${r()}
534
- </legend>`:H`<label
535
- class="pkt-inputwrapper__label"
536
- for="${this.forId}"
537
- aria-describedby="${n}"
538
- id="${this.forId}-label"
539
- @click=${this.handleLabelClick}
540
- >${this.label}${r()}</label
541
- >`:H`<label
542
- for="${this.forId}"
543
- class="pkt-sr-only"
544
- aria-describedby="${n}"
545
- id="${this.forId}-label"
546
- >
547
- ${this.label}
548
- </label>`,a=()=>H`
549
- <pkt-helptext
550
- class="${Y(this.useWrapper?void 0:`pkt-hide`)}"
551
- .forId=${this.forId}
552
- .helptext=${this.helptext}
553
- .helptextDropdown=${this.helptextDropdown}
554
- .helptextDropdownButton=${this.helptextDropdownButton||$s.props.helptextDropdownButton.default}
555
- @toggleHelpText=${e=>{this.toggleDropdown(e)}}
556
- >${zi(this,`helptext`)}</pkt-helptext
557
- >
558
- `,o=()=>this.counter?H`<div class="pkt-input__counter" aria-live="polite" aria-atomic="true">
559
- ${this.counterError?this.counterError:U} ${this.counterCurrent||0}
560
- ${this.counterMaxLength?`/${this.counterMaxLength}`:U}
561
- </div>`:U,s=()=>this.hasError&&this.errorMessage?H`<pkt-alert
562
- skin="error"
563
- compact
564
- id=${`${this.forId}-error`}
565
- aria-live="assertive"
566
- aria-atomic="true"
567
- >
568
- ${Ui(this.errorMessage)}
569
- </pkt-alert>`:U,c=()=>H`
570
- ${i()}
571
- ${a()}
572
- ${this.counterPosition===`top`?o():U}
573
- <div class="pkt-contents">${zi(this)}</div>
574
- ${this.counterPosition===`bottom`?o():U}
575
- ${s()}
576
- `;return H`<div class=${J(e)}>${this.hasFieldset?H`<fieldset class="pkt-inputwrapper__fieldset" aria-describedby="${n}">
577
- ${c()}
578
- </fieldset>`:H`<div class="pkt-inputwrapper__fieldset">${c()}</div>`}</div> `}toggleDropdown(e){this.dispatchEvent(new CustomEvent(`toggleHelpText`,{bubbles:!1,detail:{isOpen:e.detail.isOpen}}))}handleLabelClick(){this.dispatchEvent(new CustomEvent(`labelClick`,{bubbles:!0,composed:!0,detail:`label clicked`}))}};q([G({type:String})],oc.prototype,`forId`,void 0),q([G({type:String})],oc.prototype,`label`,void 0),q([G({type:String})],oc.prototype,`helptext`,void 0),q([G({type:String})],oc.prototype,`helptextDropdown`,void 0),q([G({type:String})],oc.prototype,`helptextDropdownButton`,void 0),q([G({type:Boolean})],oc.prototype,`counter`,void 0),q([G({type:Number})],oc.prototype,`counterCurrent`,void 0),q([G({type:Number})],oc.prototype,`counterMaxLength`,void 0),q([G({type:String})],oc.prototype,`counterError`,void 0),q([G({type:String,reflect:!1})],oc.prototype,`counterPosition`,void 0),q([G({type:Boolean})],oc.prototype,`optionalTag`,void 0),q([G({type:String})],oc.prototype,`optionalText`,void 0),q([G({type:Boolean})],oc.prototype,`requiredTag`,void 0),q([G({type:String})],oc.prototype,`requiredText`,void 0),q([G({type:String})],oc.prototype,`tagText`,void 0),q([G({type:Boolean})],oc.prototype,`hasError`,void 0),q([G({type:String})],oc.prototype,`errorMessage`,void 0),q([G({type:Boolean})],oc.prototype,`disabled`,void 0),q([G({type:Boolean})],oc.prototype,`inline`,void 0),q([G({type:String})],oc.prototype,`ariaDescribedby`,void 0),q([G({type:Boolean})],oc.prototype,`hasFieldset`,void 0),q([G({type:String,reflect:!0})],oc.prototype,`role`,void 0),q([G({type:Boolean,reflect:!0,converter:Qs})],oc.prototype,`useWrapper`,void 0);try{W(`pkt-input-wrapper`)(oc)}catch{console.warn(`Forsøker å definere <pkt-input-wrapper>, men den er allerede definert`)}var sc=(e,t,n)=>{switch(e){case`,`:return n?`addValue`:null;case`Enter`:return`addValue`;case`Tab`:case`ArrowDown`:return t?null:`focusListbox`;case`Escape`:return`closeOptions`;default:return null}},cc=(e,t,n,r,i)=>{if(!e)return{action:`none`,value:null};let a=Ps(n,e);return!t.includes(e)&&!a?r?{action:`addUserValue`,value:e}:i?{action:`none`,value:null}:{action:`removeValue`,value:t[0]}:a&&!t.includes(a.value)?{action:`selectOption`,value:a.value}:{action:`none`,value:null}},lc=(e,t,n,r,i)=>e.trim().toLowerCase()?{...Bs(e,t,n,r),shouldRemoveValue:!1,shouldResetInput:!1}:{addValueText:null,userInfoMessage:``,shouldRemoveValue:!i&&!!t[0],shouldResetInput:!0},uc=(e,t,n)=>{let r=Ps(t,e);return n===`label`&&r?.label?r.label:e},dc={markOptionSelected(e,t){if(t){for(let n of e)if(n.value===t){n.selected=!0;break}}},markOptionDeselected(e,t){if(t){for(let n of e)if(n.value===t){n.selected=!1;break}}},markAllSelected(e){for(let t of e)t.selected=!0},markAllDeselected(e){for(let t of e)t.selected=!1},removeUserAddedOptions(e){return e.filter(e=>!e.userAdded)}},fc={parseOptionsFromSlot(e){let t=[];return e.forEach(e=>{if(!e.textContent&&!e.getAttribute(`value`))return;let n={value:e.getAttribute(`value`)||e.textContent||``,label:e.textContent||e.getAttribute(`value`)||``};e.getAttribute(`data-prefix`)&&(n.prefix=e.getAttribute(`data-prefix`)||void 0),e.getAttribute(`tagskincolor`)&&(n.tagSkinColor=e.getAttribute(`tagskincolor`)),e.getAttribute(`description`)&&(n.description=e.getAttribute(`description`)||void 0),n.fulltext=Ls(n),t.push(n)}),t}},pc={syncOptionsWithValues(e,t){let n=[...t];return e.forEach(e=>{e.value&&!e.label&&(e.label=e.value),e.selected&&!n.includes(e.value)&&n.push(e.value),e.fulltext=Ls(e),e.selected=e.selected||n.includes(e.value)}),{options:e,newValues:n}},mergeWithUserAdded(e,t){return[...t.filter(e=>e?.userAdded&&e.selected).filter(t=>!(Array.isArray(e)?e:[]).some(e=>e.value===t.value)),...e]}},mc={name:`pkt-combobox`,react:`PktCombobox`,"css-class":`pkt-combobox`,isElement:!0,isPureReact:!0,props:{name:{type:`string`,name:`Navn`,description:`Navn som brukes i skjema ved innsending`,category:`tech`},id:{type:`string`,name:`ID`,description:`Unik ID for feltet`,category:`tech`},label:{type:`string`,name:`Etikett/label`,description:`Tekst som vises over feltet`,category:`contents`},placeholder:{name:`Hint`,description:`Spesifiserer en kort hint som beskriver forventet verdi av feltet.`,type:`string`,category:`contents`,required:!1},multiple:{type:`boolean`,name:`Flervalg`,default:!1,description:`Mulighet for å velge flere valg`,category:`functionality`},tagPlacement:{attribute:`tag-placement`,type:[`inside`,`outside`],name:`Plassering av tags i flervalg`,description:`Plassering av valgte verdier i feltet ved flervalg`,category:`functionality`,showIf:{multiple:!0}},maxlength:{type:`number`,name:`Maks antall i flervalg`,description:`Maks antall valg dersom flervalg er aktivert`,category:`functionality`,showIf:{multiple:!0}},typeahead:{type:`boolean`,name:`Typeahead`,default:!1,description:`Mulighet for automatisk utfylling av feltet fra listen over valg`,category:`functionality`},includeSearch:{attribute:`include-search`,type:`boolean`,name:`Inkluder søk`,description:`Mulighet for å søke etter valg inni dropdown`,category:`functionality`},allowUserInput:{attribute:`allow-user-input`,type:`boolean`,name:`Brukervalgte verdier`,description:`Mulighet for å skrive inn egne verdier`,category:`functionality`},searchPlaceholder:{attribute:`search-placeholder`,type:`string`,name:`Søke-plassholder`,description:`Plassholdertekst for søkefeltet i dropdown`,category:`contents`,showIf:{includeSearch:!0}},displayValueAs:{attribute:`display-value-as`,type:[`label`,`value`,`prefixAndValue`],name:`Visning av valgt verdi`,description:`Hvordan valgt verdi vises i feltet`,default:`label`,category:`ui`},value:{name:`Verdi`,type:`string`,description:`Valgt verdi. Streng ved enkelt valg, array av strenger ved flervalg.`,category:`tech`},helptext:{type:`string`,name:`Hjelpetekst`,description:`Hjelpetekst som vises over feltet`,category:`contents`},helptextDropdown:{type:`string`,name:`Utvidet hjelpetekst`,description:`Hjelpetekst som vises i en lukket boks man kan åpne`,category:`contents`},helptextDropdownButton:{type:`string`,name:`Knappetekst for hjelpetekst`,description:`Tekst som vises på knappen for å åpne/lukke utvidet hjelpetekst`,category:`contents`,default:`Les mer`},disabled:{type:`boolean`,name:`Deaktivert`,description:`Feltet er deaktivert`,category:`tech`},hasError:{type:`boolean`,name:`Feil`,description:`Feltet har en feil`,category:`ui`},errorMessage:{type:`string`,name:`Feilmelding`,description:`Tekst som vises under feltet ved feil`,category:`contents`},required:{type:`boolean`,name:`Påkrevd`,description:`Feltet må fylles ut`,category:`tech`},requiredTag:{type:`boolean`,name:`Påkrevd-merking`,description:`Viser en merking som indikerer at feltet er påkrevd`,category:`ui`},requiredText:{type:`string`,name:`Påkrevd-tekst`,description:`Tekst som vises i påkrevd-merkingen`,category:`contents`},optionalTag:{type:`boolean`,name:`Valgfritt-merking`,description:`Viser en merking som indikerer at feltet er valgfritt`,category:`ui`},optionalText:{type:`string`,name:`Valgfritt-tekst`,description:`Tekst som vises i valgfritt-merkingen`,category:`contents`},tagText:{type:`string`,name:`Tag-tekst`,description:`Tekst som vises i en tag ved siden av label`,category:`ui`},fullwidth:{type:`boolean`,name:`Full bredde`,description:`Skal feltet ta opp hele bredden?`,category:`ui`},defaultOptions:{attribute:`default-options`,name:`Initielle valg (default options)`,description:`Liste over valg som kan velges, om options sendes inn som array med objekter (denne vil ikke modifiseres ved endring innad i komponenten)`,type:`array`,default:[],previewDefault:[{value:`bfr`,label:`Frogner`},{value:`bgo`,label:`Gamle Oslo`},{value:`bgr`,label:`Grorud`},{value:`bxx`,label:`Andre bydeler`}],items:{type:`object`,properties:{value:{type:`string`,description:`Verdi som sendes ved valg`},label:{type:`string`,description:`Tekst som vises for valget`},prefix:{type:`string`,description:`Tekst som vises før valget`},description:{type:`string`,description:`Beskrivelse av valget`},disabled:{type:`boolean`,description:`Valget er deaktivert`},selected:{type:`boolean`,description:`Valget er valgt`},tagSkinColor:{type:[`blue`,`blue-dark`,`blue-light`,`green`,`red`,`yellow`,`beige`,`gray`,`grey`],description:`Farge på tag`}},required:[`value`]},category:`contents`},options:{name:`Valg`,type:`array`,description:`Liste over valg som kan velges, om options sendes inn som array med objekter`,default:[],items:{type:`object`,properties:{value:{type:`string`,description:`Verdi som sendes ved valg`},label:{type:`string`,description:`Tekst som vises for valget`},prefix:{type:`string`,description:`Tekst som vises før valget`},description:{type:`string`,description:`Beskrivelse av valget`},disabled:{type:`boolean`,description:`Valget er deaktivert`},selected:{type:`boolean`,description:`Valget er valgt`},tagSkinColor:{type:[`blue`,`blue-dark`,`blue-light`,`green`,`red`,`yellow`,`beige`,`gray`,`grey`],description:`Farge på tag`}},required:[`value`]},category:`contents`}},events:{change:{type:`Event`,description:`Returnerer valgt verdi som streng. Ved flervalg returneres kommaseparerte verdier.`},"value-change":{type:`CustomEvent`,description:`Returnerer valgt verdi. Ved enkeltvalg en streng, ved flervalg en <code>string[]</code>.`},search:{type:`CustomEvent`,description:`Returnerer søketeksten som streng i <code>event.detail</code> når brukeren skriver i søkefeltet`},toggleHelpText:{type:`CustomEvent`,description:`Returnerer <code>event.detail { isOpen: true }</code> eller <code>event.detail { isOpen: false }</code> når hjelpeteksten åpnes eller lukkes`}}},hc=class extends Q{constructor(){super(),this.value=``,this.options=[],this.defaultOptions=[],this.allowUserInput=!1,this.typeahead=!1,this.includeSearch=!1,this.searchPlaceholder=``,this.multiple=!1,this.maxlength=null,this.displayValueAs=mc.props.displayValueAs.default,this.tagPlacement=null,this.isOpen=!1,this._options=[],this._value=[],this._isOptionsOpen=!1,this._userInfoMessage=``,this._addValueText=null,this._maxIsReached=!1,this._search=``,this._inputFocus=!1,this._internalValueSync=!1,this._optionsFromSlot=!1,this._lastSlotGeneration=0,this._suppressNextOpen=!1,this.inputRef=X(),this.triggerRef=X(),this.listboxRef=X(),this.optionsController=new rc(this)}get _hasTextInput(){return this.typeahead||this.allowUserInput}get _selectionDescription(){if(!(!this.multiple||this._value.length===0))return`${this._value.length} valgt`}focusTrigger(){this._hasTextInput?this.inputRef.value?.focus():this.triggerRef.value?.focus()}parseValue(){return Array.isArray(this.value)?this.multiple?this.value:this.value.length>0?[this.value[0]]:[]:this.value&&this.multiple?this.value.split(`,`):this.value?[this.value]:[]}updateMaxReached(){this._maxIsReached=Rs(this._value.length,this.maxlength)}syncValueAndDispatch(e){let t=this._value,n=this.multiple?t.join(`,`):t[0]||``;if(n!==(Array.isArray(this.value)?this.value.join(`,`):String(this.value||``))&&(this._internalValueSync=!0,this.value=n),e?.join(`,`)!==t.join(`,`)){let e=this.multiple?[...t]:t[0]||``;this.onChange(e)}else t.length===0&&e&&e.length>0&&this.clearInputValue()}onChange(e){this.touched=!0,super.onChange(e)}valueChanged(){}};q([G({type:String,reflect:!0})],hc.prototype,`value`,void 0),q([G({type:Array})],hc.prototype,`options`,void 0),q([G({type:Array,attribute:`default-options`})],hc.prototype,`defaultOptions`,void 0),q([G({type:Boolean,attribute:`allow-user-input`})],hc.prototype,`allowUserInput`,void 0),q([G({type:Boolean})],hc.prototype,`typeahead`,void 0),q([G({type:Boolean,attribute:`include-search`})],hc.prototype,`includeSearch`,void 0),q([G({type:String,attribute:`search-placeholder`})],hc.prototype,`searchPlaceholder`,void 0),q([G({type:Boolean})],hc.prototype,`multiple`,void 0),q([G({type:Number})],hc.prototype,`maxlength`,void 0),q([G({type:String,attribute:`display-value-as`})],hc.prototype,`displayValueAs`,void 0),q([G({type:String,attribute:`tag-placement`})],hc.prototype,`tagPlacement`,void 0),q([G({type:Boolean,attribute:`open`})],hc.prototype,`isOpen`,void 0),q([K()],hc.prototype,`_options`,void 0),q([K()],hc.prototype,`_value`,void 0),q([K()],hc.prototype,`_isOptionsOpen`,void 0),q([K()],hc.prototype,`_userInfoMessage`,void 0),q([K()],hc.prototype,`_addValueText`,void 0),q([K()],hc.prototype,`_maxIsReached`,void 0),q([K()],hc.prototype,`_search`,void 0),q([K()],hc.prototype,`_inputFocus`,void 0);var gc=class extends hc{toggleValue(e){if(this.disabled)return;this.touched=!0,this._userInfoMessage=``,this._addValueText=null;let t=Ps(this.options,e)?.value||null,n=this._value.includes(e||t||``),r=!!t,i=this._options.find(t=>t.value===e)?.disabled||!1,a=!e?.trim(),o=!this.multiple,s=this.multiple,c=Rs(this._value.length,this.maxlength),l=!1,u=!0,d=``,f=``;i||(!r&&this.allowUserInput&&!a?(this.addNewUserValue(e),d=`Ny verdi lagt til`,l=s):!r&&!this.allowUserInput?(o&&this._value[0]&&this.removeValue(this._value[0]),u=!1,l=!0,d=`Ingen treff i søket`):n?(this.removeValue(t),l=!0,o&&this._hasTextInput&&this.inputRef.value&&this.inputRef.value.type!==`hidden`&&(this.inputRef.value.value=``)):a&&o?(this.removeAllSelected(),l=!0):o?(this._value[0]&&this.removeSelected(this._value[0]),this.setSelected(t),l=!1):s&&!c?(this.setSelected(t),l=!0):s&&c?(d=`Maks antall valg nådd`,u=!1,f=e):(o&&this.removeAllSelected(),d=`Ingen gyldig verdi valgt`,u=!1,l=!0,f=e),this._isOptionsOpen=l,l||(o&&this._hasTextInput&&(this._suppressNextOpen=!0),window.setTimeout(()=>{this.focusTrigger()},0)),this._userInfoMessage=d,this._search=f||``,this.resetComboboxInput(u),s&&this.updateMaxReached())}setSelected(e){if(!this._value.includes(e)){if(this.multiple&&Rs(this._value.length,this.maxlength)){this._userInfoMessage=`Maks antall valg nådd`;return}!this.multiple&&this.removeAllSelected(),this._value=e?[...this._value,e]:this._value,dc.markOptionSelected(this._options,e),this.resetComboboxInput(!0)}}removeSelected(e){if(!e)return;this._value=this._value.filter(t=>t!==e);let t=Ps(this.options,e);t&&(dc.markOptionDeselected(this.options,e),t.userAdded?(this._options=[...this._options.filter(t=>t.value!==e)],this.options=[...this.options.filter(t=>t.value!==e)]):this._options.some(t=>t.value===e)||(this._options=[...this._options,t]))}addAllOptions(){if(this.multiple){if(this.maxlength&&this._options.length>this.maxlength){this._userInfoMessage=`For mange valgt`;return}this._value=this._options.map(e=>e.value),dc.markAllSelected(this._options),this.requestUpdate()}}removeAllSelected(){this._value=[],dc.markAllDeselected(this._options),this._options=dc.removeUserAddedOptions(this._options),this.requestUpdate()}addValue(){let e=this.inputRef.value?.value.trim()||``;if(this._search=e,e&&this._value.includes(e)){this.resetComboboxInput(!0),this._userInfoMessage=`Verdien er allerede valgt`;return}this.toggleValue(e)}removeValue(e){this._value=this.multiple?this._value.filter(t=>t!==e):[],this.removeSelected(e)}addNewUserValue(e){if(!e||e.trim()===``)return;if(!this.multiple)this._value[0]&&this.removeSelected(this._value[0]),this._value=[e];else if(!Ps(this.options,e)){if(Rs(this._value.length,this.maxlength))return;this._value=[...this._value,e]}let t={value:e,label:e,userAdded:!0,selected:!0};this.options=[t,...this.options],this._options=[t,...this._options],this.resetComboboxInput(!0),this.multiple||(this._isOptionsOpen=!1,this._hasTextInput&&(this._suppressNextOpen=!0),window.setTimeout(()=>{this.focusTrigger()},0)),this.requestUpdate()}resetComboboxInput(e=!0){this._addValueText=null,this.inputRef.value&&this.inputRef.value.type!==`hidden`&&e&&(this._search=``,this.multiple?this.inputRef.value.value=``:(this.inputRef.value.value=this._value[0]?uc(this._value[0],this.options,this.displayValueAs):``,this._userInfoMessage=``)),this._options=[...this.options]}removeLastValue(e){if(this._value.length===0)return;e.preventDefault();let t=this._value[this._value.length-1];t&&this.removeSelected(t),this.updateMaxReached()}},_c=class extends gc{handleInput(e){if(e.stopPropagation(),e.stopImmediatePropagation(),this.disabled)return;this.touched=!0;let t=e.target;if(this._search=t.value,this.checkForMatches(),this.typeahead)if(this._search){let{filtered:n,suggestion:r}=zs(this.options,this._search);this._options=n,e.inputType!==`deleteContentBackward`&&r?.label&&this.inputRef.value&&this.inputRef.value.type!==`hidden`&&(t.value=r.label,window.setTimeout(()=>t.setSelectionRange(this._search.length,t.value.length),0),t.selectionDirection=`backward`)}else this._options=[...this.options]}handleFocus(){if(!this.disabled){if(this._suppressNextOpen){this._suppressNextOpen=!1,this._inputFocus=!0,this.requestUpdate();return}!this.multiple&&this._value[0]&&this.inputRef.value&&this.inputRef.value.type!==`hidden`&&(this.inputRef.value.value=uc(this._value[0],this.options,this.displayValueAs)),this._inputFocus=!0,this._search=``,this._options=[...this.options],this._isOptionsOpen=!0,this.onFocus(),this.requestUpdate()}}handleFocusOut(e){if(this.disabled||!this._isOptionsOpen)return;let t=e.relatedTarget;t?.closest(`pkt-combobox`)?.id===this.id||e.target?.getAttribute(`data-focusfix`)===this.id||t===this.inputRef.value||t===this.triggerRef.value||this.closeAndProcessInput()}closeAndProcessInput(){if(this._inputFocus=!1,this._addValueText=null,this._userInfoMessage=``,this._search=``,this.inputRef.value&&this.inputRef.value.type!==`hidden`){let e=this.inputRef.value.value;if(!this.multiple)if(!e)this._value[0]&&this.removeSelected(this._value[0]);else{let t=Ps(this.options,e);t&&t.value!==this._value[0]?(this._value[0]&&this.removeSelected(this._value[0]),this.setSelected(t.value)):!t&&this.allowUserInput&&(this._value[0]&&this.removeSelected(this._value[0]),this.addNewUserValue(e))}else if(e!==``){let{action:t,value:n}=cc(e,this._value,this.options,this.allowUserInput,this.multiple);switch(t){case`addUserValue`:this.addNewUserValue(n);break;case`selectOption`:this.setSelected(n);break;case`removeValue`:this.removeValue(n);break}}!this.multiple&&this._value[0]?this.inputRef.value.value=uc(this._value[0],this.options,this.displayValueAs):this.inputRef.value.value=``}this._isOptionsOpen=!1,this.onBlur()}handleBlur(){this._inputFocus=!1,this.onBlur()}handleInputClick(e){if(this.disabled){e.preventDefault(),e.stopImmediatePropagation();return}this._hasTextInput?(this.inputRef.value?.focus(),this.requestUpdate()):(e.stopImmediatePropagation(),e.preventDefault(),this._isOptionsOpen=!this._isOptionsOpen,this._isOptionsOpen&&this.listboxRef.value?.focusFirstOrSelectedOption())}handlePlaceholderClick(e){this.disabled||(e.stopPropagation(),this._hasTextInput&&this.inputRef.value?(this.inputRef.value.focus(),this._inputFocus=!0,this.requestUpdate()):(this._isOptionsOpen=!this._isOptionsOpen,this.requestUpdate()))}handleSelectOnlyKeydown(e){if(!this.disabled)switch(e.key){case`Enter`:case` `:case`ArrowDown`:case`ArrowUp`:e.preventDefault(),this._isOptionsOpen?this._isOptionsOpen=!1:(this._isOptionsOpen=!0,this.listboxRef.value?.focusFirstOrSelectedOption());break;case`Escape`:this._isOptionsOpen&&=(e.preventDefault(),!1);break;case`Home`:case`End`:e.preventDefault(),this._isOptionsOpen||=!0,this.listboxRef.value?.focusFirstOrSelectedOption();break;case`ArrowLeft`:this.multiple&&this._value.length>0&&(e.preventDefault(),this.focusTag(this._value.length-1));break;case`Backspace`:case`Delete`:this.multiple&&this._value.length>0&&(e.preventDefault(),this.removeSelected(this._value[this._value.length-1]));break}}handleOptionToggled(e){this.toggleValue(e.detail)}handleSearch(e){e.stopPropagation(),this._search=e.detail.toLowerCase(),this.checkForMatches()}handleInputKeydown(e){if(e.key===`Backspace`){let t=!this.inputRef.value?.value;!this._search&&t&&this.multiple&&this._value.length>0&&this.removeLastValue(e);return}if(e.key===`ArrowLeft`&&this.multiple&&this._value.length>0){let t=this.inputRef.value;if(t&&t.selectionStart===0&&!t.value){e.preventDefault(),this.focusTag(this._value.length-1);return}}let t=sc(e.key,e.shiftKey,this.multiple);if(t&&!(e.key===`Tab`&&!this._isOptionsOpen)){if(t===`focusListbox`&&e.key===`Tab`&&!this.listboxRef.value?.querySelector(`[role="option"]:not([data-disabled]), [data-type="new-option"]`)){this.closeAndProcessInput();return}switch(e.preventDefault(),t){case`addValue`:this.addValue();break;case`focusListbox`:this.listboxRef.value?.focusFirstOrSelectedOption();break;case`closeOptions`:this._isOptionsOpen=!1;break}}}handleTagRemove(e){this.removeSelected(e),this._hasTextInput&&this.inputRef.value&&(this._inputFocus=!0,this.inputRef.value.focus(),this.requestUpdate())}getInsideTags(){return Array.from(this.querySelectorAll(`.pkt-combobox__input .pkt-combobox__tag-list pkt-tag`))}focusTag(e){let t=this.getInsideTags();t.forEach((t,n)=>{t.buttonTabindex=n===e?0:-1}),(t[e]?.querySelector(`button`))?.focus()}resetTagTabindices(){this.getInsideTags().forEach(e=>{e.buttonTabindex=-1})}handleTagKeydown(e,t){e.stopPropagation();let n=()=>{this.resetTagTabindices(),this._hasTextInput&&this.inputRef.value?this.inputRef.value.focus():this.triggerRef.value?.focus()};switch(e.key){case`ArrowLeft`:e.preventDefault(),t>0&&this.focusTag(t-1);break;case`ArrowRight`:e.preventDefault(),t<this._value.length-1?this.focusTag(t+1):n();break;case`Backspace`:case`Delete`:e.preventDefault();{let e=this._value[t],r=t>=this._value.length-1?t-1:t;this.removeSelected(e),r>=0?(this.requestUpdate(),this.updateComplete.then(()=>this.focusTag(r))):n()}break;case`Tab`:this.resetTagTabindices();break;case`Escape`:e.preventDefault(),n();break}}checkForMatches(){let e=lc(this.inputRef.value?.value||this._search||``,this._value,this.options,this.allowUserInput,this.multiple);if(e.shouldRemoveValue&&this.removeValue(this._value[0]),e.shouldResetInput){this.resetComboboxInput(!1);return}this._addValueText=e.addValueText,this._userInfoMessage=e.userInfoMessage}},vc=class extends _c{constructor(...e){super(...e),this.handleBodyClick=e=>{this._isOptionsOpen&&!this.contains(e.target)&&this.closeAndProcessInput()}}connectedCallback(){if(super.connectedCallback(),document?.body.addEventListener(`click`,this.handleBodyClick),this._options=[],this.defaultOptions&&this.defaultOptions.length&&(this.options=[...this.options?.filter(e=>e.userAdded)||[],...JSON.parse(JSON.stringify(this.defaultOptions))],this._options=Array.isArray(this.options)?[...this.options]:[]),this.optionsController?.nodes&&this.optionsController.nodes.length){let e=fc.parseOptionsFromSlot(this.optionsController.nodes);e.length&&(this.options=[...e],this._options=[...e],this._optionsFromSlot=!0,this._lastSlotGeneration=this.optionsController.generation)}}willUpdate(e){if(this._optionsFromSlot&&this.optionsController){let e=this.optionsController.generation;if(e!==this._lastSlotGeneration){this._lastSlotGeneration=e;let t=fc.parseOptionsFromSlot(this.optionsController.nodes);this.options=[...this._options.filter(e=>e.userAdded),...t]}}super.willUpdate(e)}disconnectedCallback(){super.disconnectedCallback(),document?.body.removeEventListener(`click`,this.handleBodyClick)}firstUpdated(e){this.defaultValue!==null&&!this.value&&(this.value=this.defaultValue),super.firstUpdated(e)}updated(e){e.has(`isOpen`)&&(this._isOptionsOpen=this.isOpen);let t=e.has(`value`),n=e.has(`_value`);if(t&&this._internalValueSync)this._internalValueSync=!1,n&&this.syncValueAndDispatch(e.get(`_value`));else if(t){let e=[...this._value],t=this.parseValue();t.join(`,`)!==this._value.join(`,`)&&(this._value=t),this.updateMaxReached(),this.syncValueAndDispatch(e)}else n&&this.syncValueAndDispatch(e.get(`_value`));if(e.has(`defaultOptions`)&&this.defaultOptions.length&&(this.options=[...(Array.isArray(this.options)?this.options:[]).filter(e=>e.userAdded)||[],...JSON.parse(JSON.stringify(this.defaultOptions))],this._options=Array.isArray(this.options)?[...this.options]:[]),e.has(`options`)){let t=e.get(`options`)||this._options||[],n=pc.mergeWithUserAdded(this.options,t);this._options=n,n.length>this.options.length&&(this.options=n);let r=pc.syncOptionsWithValues(this._options,this._value);if(this._options=r.options,r.newValues.length>this._value.length){let e=[...this._value];this._value=r.newValues,this.syncValueAndDispatch(e)}}if(e.has(`_search`)&&this.dispatchEvent(new CustomEvent(`search`,{detail:this._search,bubbles:!1})),!this._isOptionsOpen&&!this.multiple&&this._hasTextInput&&this.inputRef.value&&this.inputRef.value.type!==`hidden`){let e=this._value[0]?uc(this._value[0],this.options,this.displayValueAs):``;this.inputRef.value.value!==e&&(this.inputRef.value.value=e)}super.updated(e)}formResetCallback(){this.touched=!1,this.value=this.defaultValue||(this.multiple,``),this._value=this.parseValue(),this._options=this._options.filter(e=>!e.userAdded).map(e=>({...e,selected:this._value.includes(e.value)})),this.options=this.options.filter(e=>!e.userAdded).map(e=>({...e,selected:this._value.includes(e.value)})),this._search=``,this._isOptionsOpen=!1,this._userInfoMessage=``,this._addValueText=null,this._inputFocus=!1,this.updateMaxReached(),this.inputRef.value&&this.inputRef.value.type!==`hidden`&&(this.inputRef.value.value=``),this.internals.setFormValue(``),this.internals.ariaInvalid=`false`,this.requestUpdate()}attributeChangedCallback(e,t,n){if(e===`options`){this._options=Array.isArray(this.options)?[...this.options]:[];let e=pc.syncOptionsWithValues(this._options,this._value);this._options=e.options,e.newValues.length>this._value.length&&(this._value=e.newValues),this._search=``}super.attributeChangedCallback(e,t,n)}render(){return H`
579
- <pkt-input-wrapper
580
- .label=${this.label}
581
- .helptext=${this.helptext}
582
- .helptextDropdown=${Y(this.helptextDropdown)}
583
- .helptextDropdownButton=${Y(this.helptextDropdownButton)}
584
- ?fullwidth=${this.fullwidth}
585
- ?hasError=${this.hasError}
586
- ?inline=${this.inline}
587
- ?disabled=${this.disabled}
588
- .errorMessage=${this.errorMessage}
589
- ?optionalTag=${this.optionalTag}
590
- .optionalText=${this.optionalText}
591
- ?requiredTag=${this.requiredTag}
592
- .requiredText=${this.requiredText}
593
- .tagText=${this.tagText}
594
- useWrapper=${this.useWrapper}
595
- .forId=${this._hasTextInput?this.id+`-input`:this.id+`-combobox`}
596
- ?hasFieldset=${!this._hasTextInput}
597
- class="pkt-combobox__wrapper"
598
- @labelClick=${this.handleInputClick}
599
- >
600
- <div class="pkt-contents" slot="helptext">${zi(this,`helptext`)}</div>
601
- <div class="pkt-combobox" @focusout=${this.handleFocusOut}>
602
- <div
603
- class=${J({"pkt-combobox__input":!0,"pkt-combobox__input--fullwidth":this.fullwidth,"pkt-combobox__input--open":this._isOptionsOpen,"pkt-combobox__input--error":this.hasError,"pkt-combobox__input--disabled":this.disabled})}
604
- id=${Y(this._hasTextInput?void 0:`${this.id}-combobox`)}
605
- role=${Y(this._hasTextInput?void 0:`combobox`)}
606
- aria-expanded=${Y(this._hasTextInput?void 0:this._isOptionsOpen?`true`:`false`)}
607
- aria-controls=${Y(this._hasTextInput?void 0:`${this.id}-listbox`)}
608
- aria-haspopup=${Y(this._hasTextInput?void 0:`listbox`)}
609
- aria-labelledby=${Y(this._hasTextInput?void 0:`${this.id}-combobox-label`)}
610
- aria-activedescendant=${Y(!this._hasTextInput&&this._value[0]&&Ps(this.options,this._value[0])?`${this.id}-listbox-${Fs(this._options,this._value[0])}`:void 0)}
611
- aria-description=${Y(this._selectionDescription||void 0)}
612
- tabindex=${this._hasTextInput||this.disabled?`-1`:`0`}
613
- @click=${this.handleInputClick}
614
- @keydown=${this._hasTextInput?U:this.handleSelectOnlyKeydown}
615
- ${Z(this.triggerRef)}
616
- >
617
- ${!this._hasTextInput&&this.placeholder&&(!this._value.length||this.multiple&&this.tagPlacement==`outside`)&&!this._inputFocus?H`<span class="pkt-combobox__placeholder" @click=${this.handlePlaceholderClick}
618
- >${this.placeholder}</span
619
- >`:this.tagPlacement===`outside`?U:this.renderSingleOrMultipleValues()}
620
- ${this.renderInputField()}
621
- <pkt-icon
622
- class=${J({"pkt-combobox__arrow-icon":!0,"pkt-combobox__arrow-icon--open":this._isOptionsOpen})}
623
- name="chevron-thin-down"
624
- aria-hidden="true"
625
- ></pkt-icon>
626
- </div>
627
-
628
- <pkt-listbox
629
- id="${this.id}-listbox"
630
- .options=${this._options}
631
- .isOpen=${this._isOptionsOpen}
632
- .searchPlaceholder=${this.searchPlaceholder}
633
- .label="Liste: ${this.label||``}"
634
- ?include-search=${this.includeSearch}
635
- ?is-multi-select=${this.multiple}
636
- ?allow-user-input=${this.allowUserInput&&!this._maxIsReached}
637
- ?max-is-reached=${this._maxIsReached}
638
- .customUserInput=${Y(this._addValueText)}
639
- .userMessage=${this._userInfoMessage}
640
- @search=${this.handleSearch}
641
- @option-toggle=${this.handleOptionToggled}
642
- @select-all=${this.addAllOptions}
643
- @close-options=${()=>this._isOptionsOpen=!1}
644
- @tab-close=${()=>this.closeAndProcessInput()}
645
- .searchValue=${this._search||null}
646
- .maxLength=${this.maxlength||0}
647
- ${Z(this.listboxRef)}
648
- ></pkt-listbox>
649
- </div>
650
-
651
- ${this.tagPlacement===`outside`&&this.multiple?H`<div class="pkt-combobox__tags-outside">
652
- ${this.renderSingleOrMultipleValues()}
653
- </div>`:U}
654
- </pkt-input-wrapper>
655
- `}renderInputField(){return this.typeahead||this.allowUserInput?H`
656
- <div class="pkt-combobox__input-div combobox__input">
657
- <input
658
- type="text"
659
- id="${this.id}-input"
660
- name=${(this.name||this.id)+`-input`}
661
- placeholder=${Y(!this._value.length||this.multiple&&this.tagPlacement===`outside`?this.placeholder:void 0)}
662
- @input=${this.handleInput}
663
- @change=${e=>{e.stopPropagation(),e.stopImmediatePropagation()}}
664
- @keydown=${this.handleInputKeydown}
665
- @focus=${this.handleFocus}
666
- @blur=${this.handleBlur}
667
- autocomplete="off"
668
- role="combobox"
669
- aria-expanded=${this._isOptionsOpen?`true`:`false`}
670
- aria-label=${Y(this.label)}
671
- aria-autocomplete=${this.typeahead?`both`:this.allowUserInput?`list`:`none`}
672
- aria-controls="${this.id}-listbox"
673
- aria-activedescendant=${Y(this._value[0]&&Ps(this.options,this._value[0])?`${this.id}-listbox-${Fs(this._options,this._value[0])}`:void 0)}
674
- aria-description=${Y(this._selectionDescription||void 0)}
675
- ${Z(this.inputRef)}
676
- />
677
- </div>
678
- `:H`
679
- <input
680
- type="hidden"
681
- id="${this.id}-input"
682
- name=${(this.name||this.id)+`-input`}
683
- .value=${this._value.join(`,`)}
684
- ${Z(this.inputRef)}
685
- />
686
- `}renderSingleOrMultipleValues(){if(!this.multiple&&this._hasTextInput)return U;let e=!this.multiple,t=this.renderValueTag(Ps(this.options,this._value[0])),n=this.tagPlacement===`outside`,r=H`
687
- <ul role="list" class="pkt-combobox__tag-list">
688
- ${As(this._value,e=>e,(e,t)=>{let r=Ps(this.options,e),i=r?.tagSkinColor;return H`
689
- <li
690
- role="listitem"
691
- @click=${n?U:e=>e.stopPropagation()}
692
- @mousedown=${n?U:e=>e.preventDefault()}
693
- >
694
- <pkt-tag
695
- skin=${i||`blue-dark`}
696
- ?closeTag=${!this.disabled}
697
- .buttonTabindex=${n?void 0:-1}
698
- @close=${()=>this.handleTagRemove(e)}
699
- @keydown=${n?U:e=>this.handleTagKeydown(e,t)}
700
- >
701
- ${this.renderValueTag(r)}
702
- </pkt-tag>
703
- </li>
704
- `})}
705
- </ul>
706
- `;return e?t:r}renderValueTag(e){if(!e)return``;switch(this.displayValueAs){case`prefixAndValue`:return H`<span class="pkt-combobox__value" data-focusfix=${this.id}
707
- >${e.prefix||``} ${e.value}</span
708
- >`;case`value`:return H`<span class="pkt-combobox__value" data-focusfix=${this.id}
709
- >${e.value}</span
710
- >`;default:return H`<span class="pkt-combobox__value" data-focusfix=${this.id}
711
- >${e.label||e.value}</span
712
- >`}}};try{W(`pkt-combobox`)(vc)}catch{console.warn(`Forsøker å definere <pkt-combobox>, men den er allerede definert`)}var yc={name:`pkt-link`,react:`PktLink`,"css-class":`pkt-link`,"dark-mode":!0,isElement:!0,props:{href:{name:`URL`,description:`URL til lenken`,type:`string`,default:`#`,category:`contents`},target:{name:`Mål`,description:`Mål for lenken`,type:[`_blank`,`_self`,`_parent`,`_top`],default:`_self`,category:`tech`},iconName:{name:`Ikon`,description:`Ikon som skal vises ved siden av lenketeksten`,type:`icon`,category:`ui`},iconPosition:{name:`Ikonposisjon`,description:`Posisjonen til ikonet i forhold til lenketeksten`,type:[`left`,`right`],category:`ui`}},slots:{default:{description:`Innholdet i lenken`}}},bc=class extends Bi{constructor(...e){super(...e),this.href=yc.props.href.default,this.iconName=void 0,this.iconPosition=void 0,this.external=!1,this.target=yc.props.target.default}render(){return H`<a
713
- class=${J({"pkt-link":!0,"pkt-link--icon-left":!!this.iconName&&this.iconPosition===`left`||!!(this.iconName&&!this.iconPosition),"pkt-link--icon-right":!!this.iconName&&this.iconPosition===`right`,"pkt-link--external":this.external})}
714
- href=${this.href}
715
- .target=${this.target}
716
- .rel=${this.external?`noopener noreferrer`:U}
717
- >${this.iconName?H`<pkt-icon name=${this.iconName} class="pkt-link__icon"></pkt-icon>`:``} <span>${zi(this)}</span></a
718
- >`}};q([G({type:String,reflect:!0})],bc.prototype,`href`,void 0),q([G({type:String,reflect:!0})],bc.prototype,`iconName`,void 0),q([G({type:String,reflect:!0})],bc.prototype,`iconPosition`,void 0),q([G({type:Boolean,reflect:!0})],bc.prototype,`external`,void 0),q([G({type:String,reflect:!0})],bc.prototype,`target`,void 0);try{W(`pkt-link`)(bc)}catch{console.warn(`Forsøker å definere <pkt-link>, men den er allerede definert`)}var xc=class extends Q{constructor(...e){super(...e),this.inputRef=X(),this.value=``,this.type=`text`,this.size=null,this.autocomplete=null,this.iconNameRight=null,this.prefix=null,this.suffix=null,this.omitSearchIcon=!1,this.counterCurrent=0}attributeChangedCallback(e,t,n){e===`value`&&this.value!==t&&(this.counterCurrent=n?n.length:0,this.valueChanged(n,t)),super.attributeChangedCallback(e,t,n)}updated(e){super.updated(e),e.has(`value`)&&(this.counterCurrent=this.value?.length||0,this.valueChanged(this.value,e.get(`value`))),e.has(`id`)&&!this.name&&this.id&&(this.name=this.id)}render(){let e=this.type===`search`&&!this.iconNameRight&&!this.omitSearchIcon,t=J({"pkt-input":!0,"pkt-input--fullwidth":this.fullwidth,"pkt-input--counter-error":this.counter&&this.counterMaxLength&&this.value.length&&this.value.length>this.counterMaxLength}),n=this.ariaLabelledby||`${this.id}-input-label`;return H`
719
- <pkt-input-wrapper
720
- label="${this.label}"
721
- ?counter=${this.counter}
722
- ?disabled=${this.disabled}
723
- ?hasError=${this.hasError}
724
- ?hasFieldset=${this.hasFieldset}
725
- ?inline=${this.inline}
726
- ?optionalTag=${this.optionalTag}
727
- ?required=${this.required}
728
- ?requiredTag=${this.requiredTag}
729
- useWrapper=${this.useWrapper}
730
- .ariaDescribedBy=${this.ariaDescribedBy}
731
- .counterCurrent=${this.counterCurrent}
732
- .counterMaxLength=${this.counterMaxLength}
733
- .errorMessage=${this.errorMessage}
734
- .forId="${this.id+`-input`}"
735
- .helptext=${this.helptext}
736
- .helptextDropdown=${this.helptextDropdown}
737
- .helptextDropdownButton=${this.helptextDropdownButton}
738
- .optionalText=${this.optionalText}
739
- .requiredText=${this.requiredText}
740
- .tagText=${this.tagText}
741
- class="pkt-textinput"
742
- >
743
- <div class="pkt-contents" slot="helptext">${zi(this,`helptext`)}</div>
744
- <div class="pkt-input__container">
745
- ${this.prefix?H`<div class="pkt-input-prefix">${this.prefix}</div>`:U}
746
- <input
747
- ${Z(this.inputRef)}
748
- class=${t}
749
- type=${this.type}
750
- name=${(this.name||this.id)+`-input`}
751
- id=${this.id+`-input`}
752
- placeholder=${Y(this.placeholder)}
753
- aria-labelledby=${n}
754
- autocomplete=${this.autocomplete||`off`}
755
- minlength=${Y(this.minlength||void 0)}
756
- maxlength=${Y(this.maxlength||void 0)}
757
- min=${Y(this.min||void 0)}
758
- max=${Y(this.max||void 0)}
759
- step=${Y(this.step||void 0)}
760
- ?readonly=${this.readonly}
761
- size=${this.size||U}
762
- .value=${this.value}
763
- ?disabled=${this.disabled}
764
- aria-invalid=${this.hasError}
765
- aria-errormessage=${`${this.id}-error`}
766
- @input=${e=>{this.value=e.target.value,this.onInput(),e.stopImmediatePropagation()}}
767
- @change=${e=>{e.stopImmediatePropagation()}}
768
- @focus=${e=>{this.onFocus(),e.stopImmediatePropagation()}}
769
- @blur=${e=>{this.value=e.target.value,this.onBlur(),e.stopImmediatePropagation()}}
770
- @keydown=${e=>{if(e.key===`Enter`){let e=this.internals.form;e?e.requestSubmit():this.inputRef.value?.blur()}}}
771
- />
772
- ${this.suffix?H`<div class="pkt-input-suffix">
773
- ${this.suffix}
774
- ${this.iconNameRight?H`<pkt-icon
775
- class="pkt-input-suffix-icon"
776
- name=${this.iconNameRight}
777
- ></pkt-icon>`:U}
778
- ${e?H`<pkt-icon
779
- class="pkt-input-suffix-icon"
780
- name="magnifying-glass-big"
781
- ></pkt-icon>`:U}
782
- </div>`:U}
783
- ${!this.suffix&&this.iconNameRight?H`<pkt-icon class="pkt-input-icon" name=${this.iconNameRight}></pkt-icon>`:U}
784
- ${!this.suffix&&e?H`<pkt-icon class="pkt-input-icon" name="magnifying-glass-big"></pkt-icon>`:U}
785
- </div>
786
- </pkt-input-wrapper>
787
- `}};q([G({type:String,reflect:!0})],xc.prototype,`value`,void 0),q([G({type:String})],xc.prototype,`type`,void 0),q([G({type:Number})],xc.prototype,`size`,void 0),q([G({type:String})],xc.prototype,`autocomplete`,void 0),q([G({type:String})],xc.prototype,`iconNameRight`,void 0),q([G({type:String})],xc.prototype,`prefix`,void 0),q([G({type:String})],xc.prototype,`suffix`,void 0),q([G({type:Boolean})],xc.prototype,`omitSearchIcon`,void 0),q([K()],xc.prototype,`counterCurrent`,void 0);try{W(`pkt-textinput`)(xc)}catch{console.warn(`Forsøker å definere <pkt-textinput>, men den er allerede definert`)}var Sc=e=>typeof e.target==`string`?{title:e.title,iconName:e.iconName,href:e.target}:{title:e.title,iconName:e.iconName,onClick:e.target},Cc=e=>Sc(e),wc=e=>{if(!e)return;let t=typeof e==`string`?new Date(e):e;if(!isNaN(t.getTime()))return t.toLocaleDateString(`nb-NO`,{day:`numeric`,month:`long`,year:`numeric`,hour:`2-digit`,minute:`2-digit`})},Tc=class extends di{constructor(...e){super(...e),this.canChangeRepresentation=!1,this.logoutOnClick=!1}handleChangeRepresentation(){this.dispatchEvent(new CustomEvent(`change-representation`,{bubbles:!0,composed:!0}))}handleLogout(){this.dispatchEvent(new CustomEvent(`log-out`,{bubbles:!0,composed:!0}))}handleMenuItemClick(e){`onClick`in e&&typeof e.onClick==`function`&&e.onClick()}renderLinkOrButton(e,t){let n=`href`in e,r=J({"pkt-user-menu__link":!0,"pkt-link-button":!n,"pkt-link":!n,"pkt-link--icon-left":!n,[t||``]:!!t});return n?H`
788
- <pkt-link
789
- icon-name=${e.iconName||U}
790
- href=${e.href}
791
- aria-hidden="true"
792
- class="pkt-user-menu__link ${t||``}"
793
- >
794
- ${e.title}
795
- </pkt-link>
796
- `:H`
797
- <button class=${r} type="button" @click=${()=>this.handleMenuItemClick(e)}>
798
- ${e.iconName?H`<pkt-icon
799
- name=${e.iconName}
800
- class="pkt-link__icon"
801
- aria-hidden="true"
802
- ></pkt-icon>`:U}
803
- ${e.title}
804
- </button>
805
- `}renderLinkSection(e){return H`
806
- <ul class="pkt-user-menu__sublist">
807
- ${e.map(e=>H`
808
- <li class="pkt-user-menu__subitem">${this.renderLinkOrButton(e)}</li>
809
- `)}
810
- </ul>
811
- `}render(){let e=this.userMenu?.map(Cc);return H`
812
- <nav class="pkt-user-menu" aria-label="Meny for innlogget bruker">
813
- <ul class="pkt-user-menu__list">
814
- <!-- User section -->
815
- ${this.user?H`
816
- <li class="pkt-user-menu__item">
817
- <div class="pkt-user-menu__label">Pålogget som</div>
818
- <div class="pkt-user-menu__name" translate="no">${this.user.name}</div>
819
- ${this.formattedLastLoggedIn?H`
820
- <div class="pkt-user-menu__last-logged-in">
821
- Sist pålogget: <time>${this.formattedLastLoggedIn}</time>
822
- </div>
823
- `:U}
824
- </li>
825
- `:U}
826
-
827
- <!-- User menu items -->
828
- ${e&&e.length>0?H`
829
- <li class="pkt-user-menu__item">${this.renderLinkSection(e)}</li>
830
- `:U}
831
-
832
- <!-- Representing section -->
833
- ${this.representing?H`
834
- <li class="pkt-user-menu__item">
835
- <div class="pkt-user-menu__label">Representerer</div>
836
- <div class="pkt-user-menu__name" translate="no">${this.representing.name}</div>
837
- ${this.representing.orgNumber?H`<div class="pkt-user-menu__org-number">
838
- Org.nr. ${this.representing.orgNumber}
839
- </div>`:U}
840
- ${this.canChangeRepresentation?H`
841
- <ul class="pkt-user-menu__sublist mt-size-16">
842
- <li class="pkt-user-menu__subitem">
843
- ${this.renderLinkOrButton({title:`Endre organisasjon`,iconName:`cogwheel`,onClick:()=>this.handleChangeRepresentation()})}
844
- </li>
845
- </ul>
846
- `:U}
847
- </li>
848
- `:U}
849
-
850
- <!-- Change representation without representing object -->
851
- ${!this.representing&&this.canChangeRepresentation?H`
852
- <li class="pkt-user-menu__item">
853
- <ul class="pkt-user-menu__sublist">
854
- <li class="pkt-user-menu__subitem">
855
- ${this.renderLinkOrButton({title:`Endre organisasjon`,iconName:`cogwheel`,onClick:()=>this.handleChangeRepresentation()})}
856
- </li>
857
- </ul>
858
- </li>
859
- `:U}
860
-
861
- <!-- Logout -->
862
- ${this.logoutOnClick?H`
863
- <li class="pkt-user-menu__item">
864
- ${this.renderLinkOrButton({title:`Logg ut`,iconName:`exit`,onClick:()=>this.handleLogout()})}
865
- </li>
866
- `:U}
867
- </ul>
868
- </nav>
869
- `}};q([G({type:Object})],Tc.prototype,`user`,void 0),q([G({type:String,attribute:`formatted-last-logged-in`})],Tc.prototype,`formattedLastLoggedIn`,void 0),q([G({type:Object})],Tc.prototype,`representing`,void 0),q([G({type:Array,attribute:`user-menu`})],Tc.prototype,`userMenu`,void 0),q([G({type:Boolean,attribute:`can-change-representation`,converter:Qs})],Tc.prototype,`canChangeRepresentation`,void 0),q([G({type:Boolean,attribute:`logout-on-click`,converter:Qs})],Tc.prototype,`logoutOnClick`,void 0);try{W(`pkt-header-user-menu`)(Tc)}catch{console.warn(`Forsøker å definere <pkt-header-user-menu>, men den er allerede definert`)}var Ec=`https://punkt-cdn.oslo.kommune.no/16.21/logos/`,Dc=class extends Bi{constructor(...e){super(...e),this.searchPlaceholder=`Søk`,this.searchValue=``,this.mobileBreakpoint=768,this.tabletBreakpoint=1280,this.openedMenu=`none`,this.logOutButtonPlacement=`none`,this.position=`fixed`,this.scrollBehavior=`hide`,this.slotMenuVariant=`icon-only`,this.slotMenuText=`Meny`,this.hideLogo=!1,this.compact=!1,this.showSearch=!1,this.canChangeRepresentation=!1,this.hasLogOut=!1,this.isMobile=!1,this.isTablet=!1,this.openMenu=`none`,this.isHidden=!1,this.componentWidth=typeof window<`u`?window.innerWidth:0,this.alignSlotRight=!1,this.alignSearchRight=!1,this.headerRef=X(),this.userContainerRef=X(),this.slotContainerRef=X(),this.searchContainerRef=X(),this.slotContentRef=X(),this.searchMenuRef=X(),this.lastScrollPosition=0,this.savedScrollY=0,this.lastFocusedElement=null,this.shouldRestoreFocus=!1,this.handleScroll=()=>{if(!this.shouldHideOnScroll)return;let e=window.pageYOffset||document.documentElement.scrollTop;e<0||Math.abs(e-this.lastScrollPosition)<60||(this.isHidden=e>this.lastScrollPosition,this.lastScrollPosition=e)},this.handleClickOutside=e=>{let t=e.target;this.user&&this.openMenu===`user`&&!t.closest(`.pkt-header-service__user-container`)&&(this.openMenu=`none`),this.openMenu===`slot`&&!t.closest(`.pkt-header-service__slot-container`)&&(this.openMenu=`none`),this.openMenu===`search`&&!t.closest(`.pkt-header-service__search-container`)&&!t.closest(`.pkt-header-service__search-input`)&&(this.openMenu=`none`)},this.handleFocusOut=(e,t)=>{let n=e.relatedTarget,r;switch(t){case`user`:r=this.userContainerRef;break;case`slot`:r=this.slotContainerRef;break;case`search`:r=this.searchContainerRef;break;default:return}let i=r.value;i&&(!n||!i.contains(n))&&(this.openMenu=`none`)},this.handleEscapeKey=e=>{e.key===`Escape`&&this.openMenu!==`none`&&(e.preventDefault(),this.shouldRestoreFocus=!0,this.openMenu=`none`)}}connectedCallback(){super.connectedCallback(),this.setupScrollListener()}disconnectedCallback(){super.disconnectedCallback(),this.resizeObserver?.disconnect(),window.removeEventListener(`scroll`,this.handleScroll),this.unlockScroll()}firstUpdated(){this.setupResizeObserver()}updated(e){if(super.updated(e),e.has(`openedMenu`)&&this.openedMenu!==this.openMenu&&(this.openMenu=this.openedMenu),(e.has(`mobileBreakpoint`)||e.has(`tabletBreakpoint`))&&(this.updateIsMobile(),this.updateIsTablet()),e.has(`openMenu`)){let t=e.get(`openMenu`);this.openMenu!==`none`&&(t===`none`||t===void 0)?(document.addEventListener(`mousedown`,this.handleClickOutside),document.addEventListener(`keydown`,this.handleEscapeKey),(this.openMenu===`slot`||this.openMenu===`search`)&&requestAnimationFrame(()=>{this.checkDropdownAlignment(this.openMenu)})):this.openMenu===`none`&&t!==`none`&&(document.removeEventListener(`mousedown`,this.handleClickOutside),document.removeEventListener(`keydown`,this.handleEscapeKey),this.restoreFocus())}(e.has(`openMenu`)||e.has(`isMobile`))&&this.updateScrollLock()}setupResizeObserver(){let e=this.headerRef.value;e&&(this.componentWidth=e.offsetWidth,this.updateIsMobile(),this.updateIsTablet(),this.resizeObserver=new ResizeObserver(e=>{for(let t of e)t.borderBoxSize&&t.borderBoxSize.length>0?this.componentWidth=t.borderBoxSize[0].inlineSize:this.componentWidth=t.contentRect.width,this.updateIsMobile(),this.updateIsTablet()}),this.resizeObserver.observe(e))}updateIsMobile(){this.isMobile=this.componentWidth<this.mobileBreakpoint}updateIsTablet(){this.isTablet=this.componentWidth<this.tabletBreakpoint}updateScrollLock(){this.position===`fixed`&&this.isMobile&&this.openMenu!==`none`?this.lockScroll():this.unlockScroll()}lockScroll(){let e=document.body,t=document.documentElement;this.savedScrollY=window.scrollY||window.pageYOffset;let n=window.innerWidth-t.clientWidth;n>0&&(e.style.paddingRight=`${n}px`),e.style.position=`fixed`,e.style.top=`-${this.savedScrollY}px`,e.style.left=`0`,e.style.right=`0`,e.style.width=`100%`,e.style.overflow=`hidden`,t.classList.add(`is-scroll-locked`)}unlockScroll(){let e=document.body,t=document.documentElement;t.classList.contains(`is-scroll-locked`)&&(e.style.removeProperty(`position`),e.style.removeProperty(`top`),e.style.removeProperty(`left`),e.style.removeProperty(`right`),e.style.removeProperty(`width`),e.style.removeProperty(`overflow`),e.style.removeProperty(`padding-right`),t.classList.remove(`is-scroll-locked`),window.scrollTo({top:this.savedScrollY}))}setupScrollListener(){window.addEventListener(`scroll`,this.handleScroll)}restoreFocus(){this.shouldRestoreFocus&&this.lastFocusedElement&&document.contains(this.lastFocusedElement)&&this.lastFocusedElement.focus(),this.lastFocusedElement=null,this.shouldRestoreFocus=!1}checkDropdownAlignment(e){let t=e===`slot`?this.slotContainerRef:this.searchContainerRef,n=e===`slot`?this.slotContentRef:this.searchMenuRef;if(!t.value||!n.value||!this.isTablet||this.isMobile)return;let r=t.value.getBoundingClientRect(),i=n.value.offsetWidth,a=r.left+i>window.innerWidth;e===`slot`?this.alignSlotRight=a:this.alignSearchRight=a}handleMenuToggle(e){this.openMenu===`none`?(this.lastFocusedElement=document.activeElement,this.openMenu=e):this.openMenu=`none`}handleLogoClick(e){this.dispatchEvent(new CustomEvent(`logo-click`,{bubbles:!0,composed:!0,detail:{originalEvent:e}}))}handleServiceClick(e){this.dispatchEvent(new CustomEvent(`service-click`,{bubbles:!0,composed:!0,detail:{originalEvent:e}}))}handleLogout(){this.dispatchEvent(new CustomEvent(`log-out`,{bubbles:!0,composed:!0}))}handleSearch(e){this.dispatchEvent(new CustomEvent(`search`,{detail:{query:e},bubbles:!0,composed:!0}))}handleSearchChange(e){this.dispatchEvent(new CustomEvent(`search-change`,{detail:{query:e},bubbles:!0,composed:!0}))}handleSearchInputChange(e){let t=e.target.value;this.handleSearchChange(t)}handleSearchKeyDown(e){e.key===`Enter`&&this.handleSearch(e.target.value)}get formattedLastLoggedIn(){return wc(this.user?.lastLoggedIn)}get isFixed(){return this.position===`fixed`}get shouldHideOnScroll(){return this.scrollBehavior===`hide`}get showLogoutInHeader(){return this.hasLogOut&&(this.logOutButtonPlacement===`header`||this.logOutButtonPlacement===`both`)}get showLogoutInUserMenu(){return this.hasLogOut&&(this.logOutButtonPlacement===`userMenu`||this.logOutButtonPlacement===`both`)}renderLogo(){if(this.hideLogo)return U;let e=H`
870
- <pkt-icon name="oslologo" aria-hidden="true" path=${Ec}></pkt-icon>
871
- `;return this.logoLink&&typeof this.logoLink==`string`?H`
872
- <span class="pkt-header-service__logo">
873
- <a href=${this.logoLink} aria-label="Tilbake til forside" @click=${this.handleLogoClick}>
874
- ${e}
875
- </a>
876
- </span>
877
- `:this.hasAttribute(`logo-link`)?H`
878
- <span class="pkt-header-service__logo">
879
- <button
880
- aria-label="Tilbake til forside"
881
- class="pkt-link-button pkt-link pkt-header-service__logo-link"
882
- @click=${this.handleLogoClick}
883
- >
884
- ${e}
885
- </button>
886
- </span>
887
- `:H`
888
- <span class="pkt-header-service__logo" @click=${this.handleLogoClick}>${e}</span>
889
- `}renderServiceName(){return this.serviceName?this.serviceLink&&typeof this.serviceLink==`string`?H`
890
- <span class="pkt-header-service__service-name" translate="no">
891
- <pkt-link
892
- href=${this.serviceLink}
893
- class="pkt-header-service__service-link"
894
- @click=${this.handleServiceClick}
895
- >
896
- ${this.serviceName}
897
- </pkt-link>
898
- </span>
899
- `:this.hasAttribute(`service-link`)?H`
900
- <span class="pkt-header-service__service-name" translate="no">
901
- <button
902
- class="pkt-link-button pkt-link pkt-header-service__service-link"
903
- @click=${this.handleServiceClick}
904
- >
905
- ${this.serviceName}
906
- </button>
907
- </span>
908
- `:H`
909
- <span class="pkt-header-service__service-name" translate="no" @click=${this.handleServiceClick}>
910
- <span class="pkt-header-service__service-link">${this.serviceName}</span>
911
- </span>
912
- `:U}renderSlotContainer(){if(!this.hasSlotContent())return U;let e=J({"pkt-header-service__slot-container":!0,"is-open":this.openMenu===`slot`}),t=J({"pkt-header-service__slot-content":!0,"align-right":this.alignSlotRight});return H`
913
- <div
914
- class=${e}
915
- @focusout=${e=>this.handleFocusOut(e,`slot`)}
916
- ${Z(this.slotContainerRef)}
917
- >
918
- ${this.isTablet&&this.hasSlotContent()?H`
919
- <pkt-button
920
- skin="secondary"
921
- variant=${this.slotMenuVariant}
922
- iconName="menu"
923
- size=${this.isMobile?`small`:`medium`}
924
- state=${this.openMenu===`slot`?`active`:`normal`}
925
- @click=${()=>this.handleMenuToggle(`slot`)}
926
- aria-expanded=${this.openMenu===`slot`}
927
- aria-controls="mobile-slot-menu"
928
- aria-label="Åpne meny"
929
- >
930
- ${this.slotMenuText}
931
- </pkt-button>
932
- `:U}
933
- <div
934
- class=${t}
935
- id="mobile-slot-menu"
936
- role=${this.isTablet?`menu`:U}
937
- aria-label=${this.isTablet?`Meny`:U}
938
- ${Z(this.slotContentRef)}
939
- >
940
- ${zi(this)}
941
- </div>
942
- </div>
943
- `}renderSearch(){if(!this.showSearch)return U;if(this.isTablet){let e=J({"pkt-header-service__search-container":!0,"is-open":this.openMenu===`search`}),t=J({"pkt-header-service__mobile-menu":!0,"is-open":this.openMenu===`search`,"align-right":this.alignSearchRight});return H`
944
- <div
945
- class=${e}
946
- @focusout=${e=>this.handleFocusOut(e,`search`)}
947
- ${Z(this.searchContainerRef)}
948
- >
949
- <pkt-button
950
- skin="secondary"
951
- variant="icon-only"
952
- iconName="magnifying-glass-big"
953
- size=${this.isMobile?`small`:`medium`}
954
- @click=${()=>this.handleMenuToggle(`search`)}
955
- state=${this.openMenu===`search`?`active`:`normal`}
956
- aria-expanded=${this.openMenu===`search`}
957
- aria-controls="mobile-search-menu"
958
- aria-label="Åpne søkefelt"
959
- >
960
- Søk
961
- </pkt-button>
962
- <div class=${t} ${Z(this.searchMenuRef)}>
963
- ${this.openMenu===`search`?H`
964
- <pkt-textinput
965
- id="mobile-search-menu"
966
- class="pkt-header-service__search-input"
967
- type="search"
968
- label="Søk"
969
- useWrapper="false"
970
- placeholder=${this.searchPlaceholder}
971
- value=${this.searchValue}
972
- autofocus
973
- fullwidth
974
- @input=${this.handleSearchInputChange}
975
- @keydown=${e=>{e.key===`Enter`&&this.handleSearch(e.target.value)}}
976
- ></pkt-textinput>
977
- `:U}
978
- </div>
979
- </div>
980
- `}return H`
981
- <pkt-textinput
982
- id="header-service-search"
983
- class="pkt-header-service__search-input"
984
- type="search"
985
- label="Søk"
986
- useWrapper="false"
987
- placeholder=${this.searchPlaceholder}
988
- value=${this.searchValue}
989
- @input=${this.handleSearchInputChange}
990
- @keydown=${this.handleSearchKeyDown}
991
- ></pkt-textinput>
992
- `}renderUserButton(){if(!this.user)return U;let e=J({"pkt-header-service__user-menu":this.isMobile===!1,"pkt-header-service__mobile-menu":this.isMobile===!0,"is-open":this.openMenu===`user`});return H`
993
- <div
994
- class="pkt-header-service__user-container"
995
- @focusout=${e=>this.handleFocusOut(e,`user`)}
996
- ${Z(this.userContainerRef)}
997
- >
998
- <pkt-button
999
- class=${J({"pkt-header-service__user-button":!0,"pkt-header-service__user-button--mobile":this.isMobile})}
1000
- skin="secondary"
1001
- size=${this.isMobile?`small`:`medium`}
1002
- state=${this.openMenu===`user`?`active`:`normal`}
1003
- variant="icons-right-and-left"
1004
- iconName="user"
1005
- secondIconName=${this.openMenu===`user`?`chevron-thin-up`:`chevron-thin-down`}
1006
- @click=${()=>this.handleMenuToggle(`user`)}
1007
- >
1008
- <span class="pkt-sr-only">Brukermeny: </span>
1009
- <span translate="no">${this.representing?.name||this.user.name}</span>
1010
- </pkt-button>
1011
- ${this.openMenu===`user`&&this.user?H`
1012
- <div class=${e}>
1013
- <pkt-header-user-menu
1014
- .user=${this.user}
1015
- formatted-last-logged-in=${this.formattedLastLoggedIn||U}
1016
- .representing=${this.representing}
1017
- .userMenu=${this.userMenu}
1018
- ?can-change-representation=${this.canChangeRepresentation}
1019
- ?logout-on-click=${this.showLogoutInUserMenu}
1020
- @change-representation=${()=>this.dispatchEvent(new CustomEvent(`change-representation`,{bubbles:!0,composed:!0}))}
1021
- @log-out=${this.handleLogout}
1022
- ></pkt-header-user-menu>
1023
- </div>
1024
- `:U}
1025
- </div>
1026
- `}renderHeader(){let e=J({"pkt-header-service":!0,"pkt-header-service--compact":this.compact,"pkt-header-service--mobile":this.isMobile,"pkt-header-service--tablet":this.isTablet,"pkt-header-service--fixed":this.isFixed,"pkt-header-service--scroll-to-hide":this.shouldHideOnScroll,"pkt-header-service--hidden":this.isHidden}),t=J({"pkt-header-service__logo-area":!0,"pkt-header-service__logo-area--without-service":!this.serviceName});return H`
1027
- <header class=${e} ${Z(this.headerRef)}>
1028
- <div class=${t}>${this.renderLogo()} ${this.renderServiceName()}</div>
1029
-
1030
- ${this.hasSlotContent()||this.showSearch||this.showLogoutInHeader?H`<div class="pkt-header-service__content">
1031
- ${this.renderSlotContainer()} ${this.renderSearch()}
1032
- ${this.isTablet&&this.showLogoutInHeader?H`
1033
- <pkt-button
1034
- skin="secondary"
1035
- size=${this.isMobile?`small`:`medium`}
1036
- variant="icon-only"
1037
- iconName="exit"
1038
- @click=${this.handleLogout}
1039
- >
1040
- Logg ut
1041
- </pkt-button>
1042
- `:U}
1043
- </div>`:U}
1044
- ${this.user||!this.isTablet&&this.showLogoutInHeader?H`<div class="pkt-header-service__user">
1045
- ${this.renderUserButton()}
1046
- ${!this.isTablet&&this.showLogoutInHeader?H`
1047
- <pkt-button
1048
- skin="tertiary"
1049
- size="medium"
1050
- variant="icon-right"
1051
- iconName="exit"
1052
- @click=${this.handleLogout}
1053
- >
1054
- Logg ut
1055
- </pkt-button>
1056
- `:U}
1057
- </div>`:U}
1058
- </header>
1059
- `}render(){let e=this.renderHeader();return this.isFixed?H`
1060
- <div class="pkt-header-service-wrapper">
1061
- ${e}
1062
- <div class=${J({"pkt-header-service-spacer":!0,"pkt-header-service-spacer--compact":this.compact,"pkt-header-service-spacer--has-user":!!this.user,"pkt-header-service-spacer--mobile":this.isMobile,"pkt-header-service-spacer--tablet":this.isTablet})}></div>
1063
- </div>
1064
- `:e}};q([G({type:String,attribute:`service-name`})],Dc.prototype,`serviceName`,void 0),q([G({type:String,attribute:`service-link`})],Dc.prototype,`serviceLink`,void 0),q([G({type:String,attribute:`logo-link`})],Dc.prototype,`logoLink`,void 0),q([G({type:String,attribute:`search-placeholder`})],Dc.prototype,`searchPlaceholder`,void 0),q([G({type:String,attribute:`search-value`})],Dc.prototype,`searchValue`,void 0),q([G({type:Number,attribute:`mobile-breakpoint`})],Dc.prototype,`mobileBreakpoint`,void 0),q([G({type:Number,attribute:`tablet-breakpoint`})],Dc.prototype,`tabletBreakpoint`,void 0),q([G({type:String,attribute:`opened-menu`})],Dc.prototype,`openedMenu`,void 0),q([G({type:String,attribute:`log-out-button-placement`})],Dc.prototype,`logOutButtonPlacement`,void 0),q([G({type:String})],Dc.prototype,`position`,void 0),q([G({type:String,attribute:`scroll-behavior`})],Dc.prototype,`scrollBehavior`,void 0),q([G({type:String,attribute:`slot-menu-variant`})],Dc.prototype,`slotMenuVariant`,void 0),q([G({type:String,attribute:`slot-menu-text`})],Dc.prototype,`slotMenuText`,void 0),q([G({type:Boolean,attribute:`hide-logo`,converter:Qs})],Dc.prototype,`hideLogo`,void 0),q([G({type:Boolean,converter:Qs})],Dc.prototype,`compact`,void 0),q([G({type:Boolean,attribute:`show-search`,converter:Qs})],Dc.prototype,`showSearch`,void 0),q([G({type:Boolean,attribute:`can-change-representation`,converter:Qs})],Dc.prototype,`canChangeRepresentation`,void 0),q([G({type:Boolean,attribute:`has-log-out`,converter:Qs})],Dc.prototype,`hasLogOut`,void 0),q([G({type:Object})],Dc.prototype,`user`,void 0),q([G({type:Array,attribute:`user-menu`})],Dc.prototype,`userMenu`,void 0),q([G({type:Object})],Dc.prototype,`representing`,void 0),q([K()],Dc.prototype,`isMobile`,void 0),q([K()],Dc.prototype,`isTablet`,void 0),q([K()],Dc.prototype,`openMenu`,void 0),q([K()],Dc.prototype,`isHidden`,void 0),q([K()],Dc.prototype,`componentWidth`,void 0),q([K()],Dc.prototype,`alignSlotRight`,void 0),q([K()],Dc.prototype,`alignSearchRight`,void 0);try{W(`pkt-header-service`)(Dc)}catch{console.warn(`Forsøker å definere <pkt-header-service>, men den er allerede definert`)}var Oc=class extends Bi{constructor(...e){super(...e),this.searchPlaceholder=`Søk`,this.searchValue=``,this.mobileBreakpoint=768,this.tabletBreakpoint=1280,this.openedMenu=`none`,this.logOutButtonPlacement=`none`,this.position=`fixed`,this.scrollBehavior=`hide`,this.slotMenuVariant=`icon-only`,this.slotMenuText=`Meny`,this.hideLogo=!1,this.compact=!1,this.showSearch=!1,this.canChangeRepresentation=!1,this.hasLogOut=!1}firstUpdated(e){super.firstUpdated(e),this.emitDeprecationWarnings()}emitDeprecationWarnings(){this.userMenuFooter!==void 0&&console.warn(`[PktHeader] userMenuFooter is deprecated. Use userMenu instead.`),this.userOptions!==void 0&&console.warn(`[PktHeader] userOptions is deprecated. Use userMenu instead.`)}get effectiveUserMenu(){let e=this.userMenu||[],t=this.userMenuFooter||[],n=this.userOptions||[];return t.length||n.length?[...e,...n,...t]:this.userMenu}render(){return H`
1065
- <pkt-header-service
1066
- service-name=${Y(this.serviceName)}
1067
- service-link=${Y(this.serviceLink)}
1068
- logo-link=${Y(this.logoLink)}
1069
- search-placeholder=${this.searchPlaceholder}
1070
- search-value=${this.searchValue}
1071
- mobile-breakpoint=${this.mobileBreakpoint}
1072
- tablet-breakpoint=${this.tabletBreakpoint}
1073
- opened-menu=${this.openedMenu}
1074
- log-out-button-placement=${this.logOutButtonPlacement}
1075
- position=${this.position}
1076
- scroll-behavior=${this.scrollBehavior}
1077
- slot-menu-variant=${this.slotMenuVariant}
1078
- slot-menu-text=${this.slotMenuText}
1079
- .hideLogo=${this.hideLogo}
1080
- .compact=${this.compact}
1081
- .showSearch=${this.showSearch}
1082
- .canChangeRepresentation=${this.canChangeRepresentation}
1083
- .hasLogOut=${this.hasLogOut}
1084
- .user=${this.user}
1085
- .userMenu=${this.effectiveUserMenu}
1086
- .representing=${this.representing}
1087
- >
1088
- ${this.hasSlotContent()?H`<div class="pkt-contents">${zi(this)}</div>`:U}
1089
- </pkt-header-service>
1090
- `}};q([G({type:String,attribute:`service-name`})],Oc.prototype,`serviceName`,void 0),q([G({type:String,attribute:`service-link`})],Oc.prototype,`serviceLink`,void 0),q([G({type:String,attribute:`logo-link`})],Oc.prototype,`logoLink`,void 0),q([G({type:String,attribute:`search-placeholder`})],Oc.prototype,`searchPlaceholder`,void 0),q([G({type:String,attribute:`search-value`})],Oc.prototype,`searchValue`,void 0),q([G({type:Number,attribute:`mobile-breakpoint`})],Oc.prototype,`mobileBreakpoint`,void 0),q([G({type:Number,attribute:`tablet-breakpoint`})],Oc.prototype,`tabletBreakpoint`,void 0),q([G({type:String,attribute:`opened-menu`})],Oc.prototype,`openedMenu`,void 0),q([G({type:String,attribute:`log-out-button-placement`})],Oc.prototype,`logOutButtonPlacement`,void 0),q([G({type:String})],Oc.prototype,`position`,void 0),q([G({type:String,attribute:`scroll-behavior`})],Oc.prototype,`scrollBehavior`,void 0),q([G({type:String,attribute:`slot-menu-variant`})],Oc.prototype,`slotMenuVariant`,void 0),q([G({type:String,attribute:`slot-menu-text`})],Oc.prototype,`slotMenuText`,void 0),q([G({type:Boolean,attribute:`hide-logo`,converter:Qs})],Oc.prototype,`hideLogo`,void 0),q([G({type:Boolean,converter:Qs})],Oc.prototype,`compact`,void 0),q([G({type:Boolean,attribute:`show-search`,converter:Qs})],Oc.prototype,`showSearch`,void 0),q([G({type:Boolean,attribute:`can-change-representation`,converter:Qs})],Oc.prototype,`canChangeRepresentation`,void 0),q([G({type:Boolean,attribute:`has-log-out`,converter:Qs})],Oc.prototype,`hasLogOut`,void 0),q([G({type:Object})],Oc.prototype,`user`,void 0),q([G({type:Array,attribute:`user-menu`})],Oc.prototype,`userMenu`,void 0),q([G({type:Object})],Oc.prototype,`representing`,void 0),q([G({type:Array,attribute:`user-menu-footer`})],Oc.prototype,`userMenuFooter`,void 0),q([G({type:Array,attribute:`user-options`})],Oc.prototype,`userOptions`,void 0);try{W(`pkt-header`)(Oc)}catch{console.warn(`Forsøker å definere <pkt-header>, men den er allerede definert`)}var kc=`https://cdn.web.oslo.kommune.no/header-footer/header-footer.json`,Ac={automat:`parking-meter`,bike:`bicycle`,corona:`virus`,directions:`arrow-directions`,document:`document-plain`,"download-document":`document-download`,elcar:`electric-car`,"error-hexa":`alert-error`,"fire-emblem":`shield-fire`,"link-arrow":`arrow-link`,"linked-in":`linkedin`,"map-layer":`map-layers`,mobile:`mobile-phone`,neutral:`smiley-neutral`,placeholder:`placeholder-icon`,sad:`smiley-sad`,signing:`signature`,sky:`cloud`,smile:`smiley-smile`,"success-square":`alert-success`,trash:`trash-can`,treatment:`processing`,"warning-triangle":`alert-warning`};function jc(e){return e&&(Ac[e]??e)}var Mc={"facebook.com":`facebook`,"fb.com":`facebook`,"instagram.com":`instagram`,"linkedin.com":`linkedin`,"x.com":`x`,"github.com":`github`};function Nc(e){return e.toLowerCase().replace(/^(?:www|m)\./,``)}function Pc(e,t){if(e)try{let t=Mc[Nc(new URL(e).hostname)];if(t)return t}catch{}if(t){let e=t.trim().toLowerCase().replace(/\s+/g,`-`);if(e){let t=jc(e);if(t)return t}}}var Fc=`nb-NO`;function Ic(e,t=Fc){if(e)return e[t]??e[Fc]}async function Lc(e=kc,t){let n=await fetch(e,{signal:t});if(!n.ok)throw Error(`pkt-header-menu: failed to fetch ${e} (HTTP ${n.status})`);let r=await n.json();if(!r||typeof r!=`object`)throw Error(`pkt-header-menu: ${e} returned a non-object payload`);return r}var Rc=class extends di{constructor(...e){super(...e),this.dataUrl=kc,this.locale=`nb-NO`,this.open=!1,this.ariaLabelledBy=``,this.mobileBreakpoint=768,this.loadState=`idle`,this.isMobile=!1,this.handleMediaChange=e=>{this.isMobile=e.matches}}connectedCallback(){super.connectedCallback(),this.classList.add(`pkt-header-menu`),this.updateOpenClass(),this.setupMediaQuery(),this.data?(this.loadState=`ready`,this.dispatchEvent(new CustomEvent(`data-loaded`,{detail:{data:this.data},bubbles:!0,composed:!0}))):this.loadData()}updateOpenClass(){this.classList.toggle(`pkt-header-menu--open`,!!this.open)}disconnectedCallback(){super.disconnectedCallback(),this.abortController?.abort(),this.teardownMediaQuery()}updated(e){super.updated(e),e.has(`open`)&&this.updateOpenClass(),e.has(`mobileBreakpoint`)&&e.get(`mobileBreakpoint`)!==void 0&&this.setupMediaQuery(),e.has(`dataUrl`)&&e.get(`dataUrl`)!==void 0&&!this.data&&this.loadData(),e.has(`data`)&&e.get(`data`)!==void 0&&this.data&&(this.loadState=`ready`,this.dispatchEvent(new CustomEvent(`data-loaded`,{detail:{data:this.data},bubbles:!0,composed:!0})))}setupMediaQuery(){this.teardownMediaQuery(),!(typeof window>`u`||typeof window.matchMedia!=`function`)&&(this.mediaQuery=window.matchMedia(`(max-width: ${this.mobileBreakpoint-1}px)`),this.isMobile=this.mediaQuery.matches,this.mediaQuery.addEventListener(`change`,this.handleMediaChange))}teardownMediaQuery(){this.mediaQuery?.removeEventListener(`change`,this.handleMediaChange),this.mediaQuery=void 0}async loadData(){this.abortController?.abort(),this.abortController=new AbortController,this.loadState=`loading`;try{let e=await Lc(this.dataUrl,this.abortController.signal);this.fetchedData=e,this.loadState=`ready`,this.dispatchEvent(new CustomEvent(`data-loaded`,{detail:{data:e},bubbles:!0,composed:!0}))}catch(e){if(e.name===`AbortError`)return;this.loadState=`error`,this.dispatchEvent(new CustomEvent(`data-error`,{detail:{error:e},bubbles:!0,composed:!0}))}}get effectiveData(){return this.data??this.fetchedData}get localeData(){return Ic(this.effectiveData,this.locale)}render(){if(this.loadState===`loading`)return H`
1091
- <nav aria-busy="true">
1092
- <p class="pkt-header-menu__loading">Laster meny…</p>
1093
- </nav>
1094
- `;if(this.loadState===`error`||!this.localeData)return H`
1095
- <nav aria-hidden=${!this.open}>
1096
- <p class="pkt-header-menu__error">Kunne ikke laste meny.</p>
1097
- </nav>
1098
- `;let{megamenu:e,i18n:t}=this.localeData,n=t?.navAriaLabel||`Hovedmeny`;return this.isMobile?H`
1099
- <nav aria-label=${n}>
1100
- ${this.renderMobileAccordion(e.services,e.sections)}
1101
- ${this.renderButtons(e.buttons,!0)}
1102
- ${this.renderFooter(e.links,e.some)}
1103
- </nav>
1104
- `:H`
1105
- <nav aria-label=${n}>
1106
- ${this.renderServices(e.services)} ${this.renderButtons(e.buttons,!1)}
1107
- ${this.renderSections(e.sections)}
1108
- ${this.renderFooter(e.links,e.some)}
1109
- </nav>
1110
- `}renderMobileAccordion(e,t){return H`
1111
- <div class="pkt-header-menu__sections">
1112
- <pkt-accordion
1113
- class="pkt-header-menu__sections-inner"
1114
- skin="plus-minus"
1115
- name="header-menu-accordion"
1116
- >
1117
- <pkt-accordion-item
1118
- class="pkt-header-menu__section"
1119
- skin="plus-minus"
1120
- id="pkt-header-menu-services"
1121
- title=${e.title}
1122
- >
1123
- ${this.renderServicesList(e)}
1124
- </pkt-accordion-item>
1125
- ${t.map((e,t)=>H`
1126
- <pkt-accordion-item
1127
- class="pkt-header-menu__section"
1128
- skin="plus-minus"
1129
- id=${`pkt-header-menu-section-${t}`}
1130
- title=${e.title}
1131
- >
1132
- ${this.renderSectionList(e.links)}
1133
- </pkt-accordion-item>
1134
- `)}
1135
- </pkt-accordion>
1136
- </div>
1137
- `}renderServicesList(e){return H`
1138
- <ul class="pkt-header-menu__services-list">
1139
- ${e.links.map(e=>H`
1140
- <li class="pkt-header-menu__service">
1141
- <a class="pkt-header-menu__service-link" href=${e.url}>
1142
- <pkt-icon
1143
- class="pkt-header-menu__service-icon"
1144
- name=${jc(e.icon)}
1145
- aria-hidden="true"
1146
- ></pkt-icon>
1147
- <span class="pkt-header-menu__service-text">${e.text}</span>
1148
- </a>
1149
- </li>
1150
- `)}
1151
- </ul>
1152
- `}renderServices(e){return H`
1153
- <div class="pkt-header-menu__services">
1154
- <h2 class="pkt-header-menu__services-title">${e.title}</h2>
1155
- ${this.renderServicesList(e)}
1156
- </div>
1157
- `}renderButtons(e,t){return!e||e.length===0?U:H`
1158
- <div class=${J({"pkt-header-menu__buttons":!0,"pkt-header-menu__buttons--mobile":t})}>
1159
- ${e.map(e=>H`
1160
- <a
1161
- class="pkt-btn pkt-btn--secondary pkt-btn--icon-right pkt-btn--small"
1162
- href=${e.url}
1163
- >
1164
- <pkt-icon
1165
- class="pkt-btn__icon"
1166
- name=${e.iconName?jc(e.iconName):`user`}
1167
- aria-hidden="true"
1168
- ></pkt-icon>
1169
- <span class="pkt-btn__text">${e.text}</span>
1170
- </a>
1171
- `)}
1172
- </div>
1173
- `}renderSections(e){return!e||e.length===0?U:H`
1174
- <div class="pkt-header-menu__sections">
1175
- <div class="pkt-header-menu__sections-inner">
1176
- ${e.map(e=>H`
1177
- <div class="pkt-header-menu__section">
1178
- <h2 class="pkt-header-menu__section-title">${e.title}</h2>
1179
- ${this.renderSectionList(e.links)}
1180
- </div>
1181
- `)}
1182
- </div>
1183
- </div>
1184
- `}renderSectionList(e){return H`
1185
- <ul class="pkt-header-menu__section-list">
1186
- ${e.map(e=>H`
1187
- <li>
1188
- <a class="pkt-header-menu__section-link" href=${e.url}>${e.text}</a>
1189
- </li>
1190
- `)}
1191
- </ul>
1192
- `}renderFooter(e,t){return(!e||e.length===0)&&(!t||t.length===0)?U:H`
1193
- <div class="pkt-header-menu__footer">
1194
- ${e&&e.length>0?H`
1195
- <ul class="pkt-header-menu__footer-list">
1196
- ${e.map(e=>H`
1197
- <li>
1198
- <a class="pkt-header-menu__footer-link" href=${e.url}>${e.text}</a>
1199
- </li>
1200
- `)}
1201
- </ul>
1202
- `:U}
1203
- ${t&&t.length>0?H`
1204
- <ul class="pkt-header-menu__footer-list pkt-header-menu__footer-list--social">
1205
- ${t.map(e=>this.renderSocialLink(e))}
1206
- </ul>
1207
- `:U}
1208
- </div>
1209
- `}renderSocialLink(e){let t=Pc(e.url,e.text);return H`
1210
- <li>
1211
- <a class="pkt-header-menu__social-link" href=${e.url} aria-label=${e.text}>
1212
- ${t?H`<pkt-icon name=${t} aria-hidden="true"></pkt-icon>`:H`<span>${e.text}</span>`}
1213
- </a>
1214
- </li>
1215
- `}};q([G({type:String,attribute:`data-url`})],Rc.prototype,`dataUrl`,void 0),q([G({type:Object,attribute:!1})],Rc.prototype,`data`,void 0),q([G({type:String})],Rc.prototype,`locale`,void 0),q([G({type:Boolean,reflect:!0,converter:Qs})],Rc.prototype,`open`,void 0),q([G({type:String,attribute:`aria-labelledby`,reflect:!0})],Rc.prototype,`ariaLabelledBy`,void 0),q([G({type:Number,attribute:`mobile-breakpoint`})],Rc.prototype,`mobileBreakpoint`,void 0),q([K()],Rc.prototype,`loadState`,void 0),q([K()],Rc.prototype,`fetchedData`,void 0),q([K()],Rc.prototype,`isMobile`,void 0);try{W(`pkt-header-menu`)(Rc)}catch{console.warn(`Forsøker å definere <pkt-header-menu>, men den er allerede definert`)}var zc={calendar:{buttonAltText:`Åpne kalender`}},Bc={calendar:{buttonAltText:`Åpne kalender`},generic:{from:`Fra`,to:`Til`}},Vc=class extends di{constructor(...e){super(...e),this.dates=[],this.dateformat=`dd.MM.yyyy`,this.className=`pkt-datepicker__tags`,this.idBase=Ns()}render(){return this.classes={"pkt-date-tags":!0,[this.className]:!0},H`
1216
- <div class=${J(this.classes)} aria-live="polite">
1217
- ${Array.isArray(this.dates)&&this.dates[0]?As(Yo((this.dates??[]).filter(Boolean)),e=>e,e=>H` <pkt-tag
1218
- id=${this.idBase+e+`-tag`}
1219
- closeTag
1220
- @close=${()=>{this.dispatchEvent(new CustomEvent(`date-tag-removed`,{detail:e}))}}
1221
- .ariaLabel=${`${this.strings?.calendar.deleteDate} ${Lo(e,this.dateformat)}`}
1222
- >
1223
- <time datetime=${e}>${Lo(e,this.dateformat)}</time>
1224
- </pkt-tag>`):U}
1225
- </div>
1226
- `}};q([G({type:Array})],Vc.prototype,`dates`,void 0),q([G({type:String})],Vc.prototype,`dateformat`,void 0),q([G({type:String,attribute:`class`})],Vc.prototype,`className`,void 0),q([G({type:String,attribute:`id-base`})],Vc.prototype,`idBase`,void 0);try{W(`pkt-date-tags`)(Vc)}catch{console.warn(`Forsøker å definere <pkt-date-tags>, men den er allerede definert`)}var Hc={name:`pkt-datepicker`,react:`PktDatepicker`,"css-class":`pkt-datepicker`,isElement:!0,isPureReact:!0,"dark-mode":!0,props:{name:{type:`string`,name:`Navn for innsending`,category:`tech`},label:{type:`string`,name:`Tekst/label`,category:`contents`},helptext:{type:`string`,name:`Hjelpetekst`,category:`contents`},helptextDropdown:{type:`string`,name:`Utvidet hjelpetekst`,description:`Hjelpetekst som vises i en lukket boks man kan åpne`,category:`contents`},helptextDropdownButton:{type:`string`,name:`Knappetekst for utvidet hjelpetekst`,default:`Les mer`,category:`contents`},dateformat:{name:`Datoformat for tags i flervalg`,type:`string`,default:`dd.MM.yyyy`,category:`tech`},currentmonth:{name:`Måned som vises i datovelgeren`,type:`ISOdatestring`,category:`tech`},value:{name:`Verdi (kommaseparert ved flervalg)`,type:`ISOdatestring`,variant:`multiple`,category:`tech`},excludeweekdays:{name:`Utelat ukedager`,type:`string`,description:`Kommaseparert liste over ukedager (1-7) som skal ekskluderes`,category:`functionality`},excludedates:{name:`Utelat datoer (Kommaseparerte ISO-datoer)`,type:`ISOdatestring`,variant:`multiple`,category:`functionality`},min:{name:`Tidligst tillatte dato`,type:`ISOdatestring`,default:null,category:`functionality`},max:{name:`Senest tillatte dato`,type:`ISOdatestring`,default:null,category:`functionality`},weeknumbers:{name:`Vis ukenummer`,type:`boolean`,reflect:!0,default:!1,category:`ui`},withcontrols:{name:`Med velgere for måned/år`,type:`boolean`,reflect:!0,default:!1,category:`ui`},multiple:{name:`Flervalg`,type:`boolean`,reflect:!0,default:!1,category:`functionality`},maxlength:{name:`Maks antall datoer i flervalg`,type:`number`,category:`functionality`,showIf:{multiple:!0}},range:{name:`Datotidsrom (fra og til)`,type:`boolean`,reflect:!0,default:!1,category:`functionality`},showRangeLabels:{attribute:`show-range-labels`,name:`Vis fra/til-etiketter`,type:`boolean`,default:!1,category:`ui`,showIf:{range:!0}},today:{name:`Dagens dato (overstyring)`,type:`ISOdatestring`,description:`ISO-datostreng som overstyrer dagens dato i kalenderen. Nyttig for snapshot-tester.`,category:`tech`},calendarOpen:{attribute:`calendar-open`,name:`Kalender åpen`,type:`boolean`,reflect:!0,default:!1,category:`ui`},hasError:{type:`boolean`,name:`Feil`,default:!1,category:`ui`},errorMessage:{type:`string`,name:`Feilmelding ved feil`,category:`contents`},disabled:{type:`boolean`,name:`Deaktivert`,default:!1,reflect:!0,category:`tech`},fullwidth:{type:`boolean`,name:`Full bredde`,default:!1,reflect:!0,category:`ui`},required:{type:`boolean`,name:`Påkrevd`,default:!1,reflect:!0,category:`tech`},requiredTag:{type:`boolean`,name:`Vise påkrevd-merking`,default:!1,category:`ui`},requiredText:{type:`string`,name:`Påkrevd-tekst`,default:`Må fylles ut`,category:`contents`},optionalTag:{type:`boolean`,name:`Vise valgfritt-merking`,default:!1,category:`ui`},optionalText:{type:`string`,name:`Valgfritt-tekst`,default:`Valgfritt`,category:`contents`},tagText:{type:`string`,name:`Tag-tekst`,description:`Tekst som vises i en tag ved siden av label`,category:`ui`},useWrapper:{type:`boolean`,name:`Bruk wrapper`,description:`Indikerer at feltet skal ha synlig label og hjelpetekst`,displayAsFalse:!0,default:!0,category:`ui`},id:{type:`string`,name:`ID`,description:`Unik identifikasjon for datovelgeren`,category:`tech`},ariaDescribedby:{attribute:`aria-describedby`,name:`aria-describedby`,description:`Spesifiserer ID-en til elementet som beskriver feltet.`,type:`string`,category:`accessibility`}},events:{change:{type:`Event`,name:`change (Elements)`,description:`Returnerer valgt dato som streng i ISO-format. I range-modus utløses kun når begge datoer er valgt.`},"value-change":{type:`CustomEvent`,name:`value-change (Elements)`,description:`Returnerer en <code>array</code> med valgte datoer i ISO-format. I range-modus utløses kun når begge datoer er valgt.`},toggleHelpText:{type:`CustomEvent`,description:`Returnerer <code>event.detail { isOpen: true }</code> eller <code>event.detail { isOpen: false }</code> når hjelpeteksten åpnes eller lukkes`},onChange:{type:`Event`,name:`onChange (React)`,reactOnly:!0,description:`Utløses når en dato velges. <code>e.target.value</code> inneholder kommaseparerte ISO-datoer. I range-modus utløses kun når begge datoer er valgt.`},onValueChange:{type:`string[]`,name:`onValueChange (React)`,reactOnly:!0,description:`Returnerer en <code>string[]</code> med valgte datoer i ISO-format. I range-modus utløses kun når begge datoer er valgt.`}}},Uc=()=>{let e=navigator.userAgent;return!!(/iP(hone|od|ad)/.test(e)||/Macintosh/.test(e)&&`ontouchend`in document)},Wc=()=>Uc()?`text`:`date`,Gc=e=>!e||e.length!==2?!0:Xo(e[0],e[1]),Kc=e=>Yo(e),qc=(e,t,n,r,i)=>Jo(e,t,n,r,i),Jc=(e,t,n,r,i,a)=>({"pkt-input":!0,"pkt-datepicker__input":!0,"pkt-input--fullwidth":e,"pkt-datepicker--hasrangelabels":t,"pkt-datepicker--multiple":n,"pkt-datepicker--range":r,"ios-readonly-hack":i===!1&&a===`text`}),Yc=()=>({"pkt-input-icon":!0,"pkt-btn":!0,"pkt-btn--icon-only":!0,"pkt-btn--tertiary":!0,"pkt-datepicker__calendar-button":!0}),Xc=e=>({"pkt-input-prefix":e,"pkt-hide":!e}),Zc=(e,t,n)=>!t&&!n?Array.isArray(e)?e[0]||``:e:Array.isArray(e)?e.join(`,`):e,Qc=(e,t,n=!1)=>{if(!e||!t)return;let r=t.parentElement?.getBoundingClientRect()||t.getBoundingClientRect(),i=n?r.height+30:r.height,a=e.getBoundingClientRect().height,o=n?`calc(100% - 30px)`:`100%`;r&&r.top+a>window.innerHeight&&r.top-a>0&&(o=`calc(100% - ${i}px - ${a}px)`),e.style.top=o},$c=(e,t,n,r,i,a)=>{let{key:o}=e;o===`,`&&(e.preventDefault(),a?a(e):i&&i()),(o===`Space`||o===` `)&&(e.preventDefault(),t(e)),o===`Enter`&&(e.preventDefault(),n?n():r?r():i&&i())},el=(e,t)=>{let{key:n}=e;(n===`Enter`||n===` `||n===`Space`)&&(e.preventDefault(),t(e))},tl={validateRangeOrder:Gc,sortDates:Kc,filterSelectableDates:qc},nl={getInputType:Wc},rl={submitForm(e){let t=e.internals?.form;t&&t.requestSubmit()},submitFormOrFallback(e,t){let n=e?.form;n?n.requestSubmit():t()},validateDateInput(e,t,n,r,i){let a=e.value;a&&(n&&n>a?t.setValidity({rangeUnderflow:!0},i?.forms?.messages?.rangeUnderflow||`Value is below minimum`,e):r&&r<a&&t.setValidity({rangeOverflow:!0},i?.forms?.messages?.rangeOverflow||`Value is above maximum`,e))}},il={addToSelected(e,t,n,r){let i=e.target;if(!i.value)return;let a=n?Ro(n):null,o=r?Ro(r):null,s=Ro(i.value.split(`,`)[0]);s&&!isNaN(s.getTime())&&(!a||s>=a)&&(!o||s<=o)&&t.value&&t.value.handleDateSelect(s),i.value=``},handleCalendarPosition(e,t,n=!1){Qc(e.value??null,t.value??null,n)}},al={getInputClasses:Jc,getButtonClasses:Yc,getRangeLabelClasses:Xc},ol={processDateSelection:Zc,updateInputValues(e,t,n,r,i,a){e.value&&(r&&t?.value?(e.value.value=n[0]??``,t.value.value=n[1]??``,a(e.value),a(t.value)):i||(e.value.value=n.length?n[0]:``,a(e.value)))},processRangeBlur(e,t,n,r,i){let a=e.target;if(a.value){i(a);let e=Io(a.value);e&&n?.value?.handleDateSelect(e)}else t[0]&&r()}},sl={handleInputKeydown:$c,handleButtonKeydown:el},cl=class extends di{constructor(...e){super(...e),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.today=null,this._hasBeenOpened=!1,this.popupRef=X(),this.calendarRef=X(),this.handleDocumentClick=e=>{if(!this.open)return;let t=e.composedPath(),n=this.parentElement,r=this.popupRef.value;!t.includes(this)&&!t.includes(r)&&!(n&&t.includes(n))&&(this.hide(),this.dispatchEvent(new CustomEvent(`close`,{bubbles:!0,composed:!0})))},this.handleDocumentKeydown=e=>{this.open&&e.key===`Escape`&&(this.hide(),this.dispatchEvent(new CustomEvent(`close`,{bubbles:!0,composed:!0})))}}firstUpdated(){this.calRef=this.calendarRef}updated(e){super.updated(e),e.has(`open`)&&(this.open?(this._hasBeenOpened=!0,document.addEventListener(`keydown`,this.handleDocumentKeydown),document.addEventListener(`click`,this.handleDocumentClick)):(document.removeEventListener(`click`,this.handleDocumentClick),document.removeEventListener(`keydown`,this.handleDocumentKeydown)))}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(`click`,this.handleDocumentClick),document.removeEventListener(`keydown`,this.handleDocumentKeydown)}show(){this.open=!0,this.calendarRef.value?.focus()}hide(){this.open=!1}toggle(){this.open?this.hide():this.show()}contains(e){return!!e&&!!this.popupRef.value?.contains(e)}focusOnCurrentDate(){let e=this.calendarRef.value;e&&typeof e.focusOnCurrentDate==`function`&&e.focusOnCurrentDate()}addToSelected(e,t,n){if(this.calendarRef.value&&typeof il.addToSelected==`function`)return il.addToSelected(e,this.calendarRef,t,n);let r=e.target;if(!r.value)return;let i=t?Ro(t):null,a=n?Ro(n):null,o=Ro(r.value.split(`,`)[0]);o&&!isNaN(o.getTime())&&(!i||o>=i)&&(!a||o<=a)&&this.handleDateSelect(o),r.value=``}handleDateSelect(e){let t=this.calendarRef.value;if(t&&typeof t.handleDateSelect==`function`)return t.handleDateSelect(e);let n=Fo(e),r=this.selected.indexOf(n)>=0?this.selected.filter(e=>e!==n):[...this.selected,n];this.selected=r,this.dispatchEvent(new CustomEvent(`date-selected`,{detail:r,bubbles:!0,composed:!0}))}render(){return H`
1227
- <div
1228
- class="${J({"pkt-calendar-popup":!0,show:this.open,hide:!this.open})}"
1229
- ${Z(this.popupRef)}
1230
- id="date-popup"
1231
- ?hidden=${!this.open}
1232
- aria-hidden="${!this.open}"
1233
- >
1234
- ${this.open||this._hasBeenOpened?H`<pkt-calendar
1235
- ${Z(this.calendarRef)}
1236
- ?multiple=${this.multiple}
1237
- ?range=${this.range}
1238
- ?weeknumbers=${this.weeknumbers}
1239
- ?withcontrols=${this.withcontrols}
1240
- .maxMultiple=${this.maxMultiple}
1241
- .selected=${this.selected}
1242
- .earliest=${this.earliest}
1243
- .latest=${this.latest}
1244
- .excludedates=${this.excludedates}
1245
- .excludeweekdays=${this.excludeweekdays}
1246
- .currentmonth=${this.currentmonth}
1247
- .today=${this.today}
1248
- @date-selected=${e=>{this.selected=e.detail,this.dispatchEvent(new CustomEvent(`date-selected`,{detail:e.detail,bubbles:!0,composed:!0}))}}
1249
- @close=${()=>{this.hide(),this.dispatchEvent(new CustomEvent(`close`,{bubbles:!0,composed:!0}))}}
1250
- ></pkt-calendar>`:U}
1251
- </div>
1252
- `}};q([G({type:Boolean,reflect:!0})],cl.prototype,`open`,void 0),q([G({type:Boolean})],cl.prototype,`multiple`,void 0),q([G({type:Boolean})],cl.prototype,`range`,void 0),q([G({type:Boolean})],cl.prototype,`weeknumbers`,void 0),q([G({type:Boolean})],cl.prototype,`withcontrols`,void 0),q([G({type:Number})],cl.prototype,`maxMultiple`,void 0),q([G({type:Array})],cl.prototype,`selected`,void 0),q([G({type:String})],cl.prototype,`earliest`,void 0),q([G({type:String})],cl.prototype,`latest`,void 0),q([G({type:Array})],cl.prototype,`excludedates`,void 0),q([G({type:Array})],cl.prototype,`excludeweekdays`,void 0),q([G({type:String})],cl.prototype,`currentmonth`,void 0),q([G({type:String})],cl.prototype,`today`,void 0),q([K()],cl.prototype,`_hasBeenOpened`,void 0);try{W(`pkt-datepicker-popup`)(cl)}catch{console.warn(`Forsøker å definere <pkt-datepicker-popup>, men den er allerede definert`)}var ll=class extends di{constructor(...e){super(...e),this.inputType=`date`,this.id=``,this.readonly=!1,this.disabled=!1,this.inputClasses={},this.inputRef=X(),this.btnRef=X()}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}))}renderCalendarButton(){return H`
1253
- <button
1254
- class="${J(al.getButtonClasses())}"
1255
- type="button"
1256
- @click=${e=>this.dispatchToggleCalendar(e)}
1257
- @keydown=${e=>{let{key:t}=e;(t===`Enter`||t===` `||t===`Space`)&&(e.preventDefault(),this.dispatchToggleCalendar(e))}}
1258
- ?disabled=${this.disabled}
1259
- ${this.btnRef}
1260
- >
1261
- <pkt-icon name="calendar"></pkt-icon>
1262
- <span class="pkt-btn__text">${this.strings.calendar?.buttonAltText||`Åpne kalender`}</span>
1263
- </button>
1264
- `}createRenderRoot(){return this}};q([G({type:String})],ll.prototype,`inputType`,void 0),q([G({type:String})],ll.prototype,`id`,void 0),q([G({type:String})],ll.prototype,`min`,void 0),q([G({type:String})],ll.prototype,`max`,void 0),q([G({type:String})],ll.prototype,`placeholder`,void 0),q([G({type:Boolean})],ll.prototype,`readonly`,void 0),q([G({type:Boolean})],ll.prototype,`disabled`,void 0),q([G({type:Object})],ll.prototype,`inputClasses`,void 0),q([G({type:Object})],ll.prototype,`internals`,void 0);var ul=class extends ll{constructor(...e){super(...e),this.value=``,this.strings=zc}dispatchManageValidity(e){this.dispatchEvent(new CustomEvent(`manage-validity`,{detail:e,bubbles:!0,composed:!0}))}render(){return H`
1265
- <div class="pkt-input__container">
1266
- <input
1267
- class="${J(this.inputClasses)}"
1268
- .type=${this.inputType}
1269
- id="${this.id}-input"
1270
- .value=${this.value}
1271
- min=${Y(this.min)}
1272
- max=${Y(this.max)}
1273
- placeholder=${Y(this.placeholder)}
1274
- ?readonly=${this.isInputReadonly}
1275
- aria-describedby="${this.id}-helptext"
1276
- @click=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
1277
- @touchend=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
1278
- ?disabled=${this.disabled}
1279
- @keydown=${e=>sl.handleInputKeydown(e,e=>this.dispatchToggleCalendar(e),()=>rl.submitFormOrFallback(this.internals,()=>this.inputRef.value?.blur()),void 0,()=>this.inputRef.value?.blur())}
1280
- @input=${e=>{this.dispatchInput(e),e.stopImmediatePropagation()}}
1281
- @focus=${()=>{this.dispatchFocus(),Uc()&&this.dispatchToggleCalendar(new Event(`focus`))}}
1282
- @blur=${e=>{this.dispatchBlur(e),this.dispatchManageValidity(e.target),this.dispatchEvent(new CustomEvent(`value-change`,{detail:e.target.value,bubbles:!0,composed:!0}))}}
1283
- @change=${e=>{this.dispatchChange(e),e.stopImmediatePropagation()}}
1284
- ${Z(this.inputRef)}
1285
- />
1286
- ${this.renderCalendarButton()}
1287
- </div>
1288
- `}};q([G({type:String})],ul.prototype,`value`,void 0),q([G({type:Object})],ul.prototype,`strings`,void 0);try{W(`pkt-datepicker-single`)(ul)}catch{console.warn(`Forsøker å definere <pkt-datepicker-single>, men den er allerede definert`)}var dl=class extends ll{constructor(...e){super(...e),this.value=[],this.label=``,this.showRangeLabels=!1,this.strings=Bc,this.inputRefTo=X()}get inputElementTo(){return this.inputRefTo.value}render(){let e=al.getRangeLabelClasses(this.showRangeLabels);return H`
1289
- <div class="pkt-input__container">
1290
- ${this.showRangeLabels?H` <div class="pkt-input-prefix">${this.strings.generic?.from}</div> `:U}
1291
- <input
1292
- class=${J(this.inputClasses)}
1293
- .type=${this.inputType}
1294
- id="${this.id}-input"
1295
- aria-label="${this.label} ${this.strings.generic?.from??`Fra`}"
1296
- .value=${this.value[0]??``}
1297
- min=${Y(this.min)}
1298
- max=${Y(this.max)}
1299
- placeholder=${Y(this.placeholder)}
1300
- ?readonly=${this.isInputReadonly}
1301
- ?disabled=${this.disabled}
1302
- @click=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
1303
- @touchend=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
1304
- @keydown=${e=>sl.handleInputKeydown(e,e=>this.dispatchToggleCalendar(e),()=>rl.submitFormOrFallback(this.internals,()=>this.inputRefTo.value?.focus()),()=>this.inputRefTo.value?.focus(),()=>this.inputRef.value?.blur())}
1305
- @input=${e=>{this.dispatchInput(e),e.stopImmediatePropagation()}}
1306
- @focus=${()=>{this.dispatchFocus(),Uc()&&this.dispatchToggleCalendar(new Event(`focus`))}}
1307
- @blur=${e=>{this.dispatchBlur(e),this.dispatchEvent(new CustomEvent(`range-blur`,{detail:{event:e,values:this.value,inputType:`from`},bubbles:!0,composed:!0}))}}
1308
- @change=${e=>{this.dispatchChange(e),e.stopImmediatePropagation()}}
1309
- ${Z(this.inputRef)}
1310
- />
1311
- <div class="${J(e)}" id="${this.id}-to-label">
1312
- ${this.strings.generic?.to}
1313
- </div>
1314
- ${this.showRangeLabels?U:H` <div class="pkt-input-separator">–</div> `}
1315
- <input
1316
- class=${J(this.inputClasses)}
1317
- .type=${this.inputType}
1318
- id="${this.id}-to"
1319
- aria-label="${this.label} ${this.strings.generic?.to??`Til`}"
1320
- .value=${this.value[1]??``}
1321
- min=${Y(this.min)}
1322
- max=${Y(this.max)}
1323
- placeholder=${Y(this.placeholder)}
1324
- ?readonly=${this.isInputReadonly}
1325
- ?disabled=${this.disabled}
1326
- @click=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
1327
- @touchend=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
1328
- @keydown=${e=>sl.handleInputKeydown(e,e=>this.dispatchToggleCalendar(e),()=>rl.submitFormOrFallback(this.internals,()=>this.inputRefTo.value?.blur()),void 0,()=>this.inputRefTo.value?.blur())}
1329
- @input=${e=>{this.dispatchInput(e),e.stopImmediatePropagation()}}
1330
- @focus=${()=>{this.dispatchFocus(),Uc()&&this.dispatchToggleCalendar(new Event(`focus`))}}
1331
- @blur=${e=>{this.dispatchBlur(e),this.dispatchEvent(new CustomEvent(`range-blur`,{detail:{event:e,values:this.value,inputType:`to`},bubbles:!0,composed:!0}))}}
1332
- @change=${e=>{this.dispatchChange(e),e.stopImmediatePropagation()}}
1333
- ${Z(this.inputRefTo)}
1334
- />
1335
- ${this.renderCalendarButton()}
1336
- </div>
1337
- `}};q([G({type:Array})],dl.prototype,`value`,void 0),q([G({type:String})],dl.prototype,`label`,void 0),q([G({type:Boolean})],dl.prototype,`showRangeLabels`,void 0),q([G({type:Object})],dl.prototype,`strings`,void 0);try{W(`pkt-datepicker-range`)(dl)}catch{console.warn(`Forsøker å definere <pkt-datepicker-range>, men den er allerede definert`)}var fl=class extends ll{constructor(...e){super(...e),this.value=[],this.strings=zc}get isInputDisabled(){return this.disabled||this.maxlength!==void 0&&this.maxlength!==null&&this.value.length>=this.maxlength}dispatchAddToSelected(e){this.dispatchEvent(new CustomEvent(`add-to-selected`,{detail:e,bubbles:!0,composed:!0}))}render(){return H`
1338
- <div class="pkt-input__container">
1339
- <input
1340
- class=${J(this.inputClasses)}
1341
- .type=${this.inputType}
1342
- id="${this.id}-input"
1343
- min=${Y(this.min)}
1344
- max=${Y(this.max)}
1345
- placeholder=${Y(this.placeholder)}
1346
- ?readonly=${this.isInputReadonly}
1347
- ?disabled=${this.isInputDisabled}
1348
- @click=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
1349
- @touchend=${e=>{e.preventDefault(),this.dispatchToggleCalendar(e)}}
1350
- @blur=${e=>{this.dispatchBlur(e),this.dispatchAddToSelected(e)}}
1351
- @input=${e=>{this.dispatchInput(e),e.stopImmediatePropagation()}}
1352
- @focus=${()=>{this.dispatchFocus(),Uc()&&this.dispatchToggleCalendar(new Event(`focus`))}}
1353
- @keydown=${e=>sl.handleInputKeydown(e,e=>this.dispatchToggleCalendar(e),()=>rl.submitFormOrFallback(this.internals,()=>this.inputRef.value?.blur()),void 0,void 0,e=>this.dispatchAddToSelected(e))}
1354
- @change=${e=>{this.dispatchChange(e),e.stopImmediatePropagation()}}
1355
- ${Z(this.inputRef)}
1356
- />
1357
- ${this.renderCalendarButton()}
1358
- </div>
1359
- `}};q([G({type:Array})],fl.prototype,`value`,void 0),q([G({type:Number})],fl.prototype,`maxlength`,void 0),q([G({type:Object})],fl.prototype,`strings`,void 0);try{W(`pkt-datepicker-multiple`)(fl)}catch{console.warn(`Forsøker å definere <pkt-datepicker-multiple>, men den er allerede definert`)}var pl=class extends Q{constructor(...e){super(...e),this._valueProperty=``,this._valueProcessing=!1,this.datepickerPopupRef=X(),this._value=[],this.label=`Datovelger`,this.dateformat=Hc.props.dateformat.default,this.multiple=Hc.props.multiple.default,this.maxlength=null,this.range=Hc.props.range.default,this.showRangeLabels=!1,this.min=null,this.max=null,this.weeknumbers=Hc.props.weeknumbers.default,this.withcontrols=Hc.props.withcontrols.default,this.excludedates=[],this.excludeweekdays=[],this.currentmonth=null,this.today=null,this.calendarOpen=!1,this.timezone=`Europe/Oslo`,this.inputClasses={},this.calRef=X(),this.popupRef=X(),this.singleInputRef=X(),this.rangeInputRef=X(),this.multipleInputRef=X(),this.addToSelected=e=>{let t=this.datepickerPopupRef.value;return t&&typeof t.addToSelected==`function`?t.addToSelected(e,this.min,this.max):il.addToSelected(e,this.calRef,this.min,this.max)}}get value(){return this._valueProperty}set value(e){let t=this._valueProperty;this._valueProperty=Array.isArray(e)?e.join(`,`):e||``,this.valueChanged(this._valueProperty,t),this.requestUpdate(`value`,t)}get inputType(){return nl.getInputType()}connectedCallback(){super.connectedCallback(),this.timezone&&this.timezone!==window.pktTz&&(window.pktTz=this.timezone)}disconnectedCallback(){super.disconnectedCallback()}onInput(){this.dispatchEvent(new Event(`input`,{bubbles:!0}))}valueChanged(e,t){if(!(this._valueProcessing||e===t)){this._valueProcessing=!0;try{let n=Zo(e),r=this.multiple&&n.length>1?tl.filterSelectableDates(n,this.min,this.max,this.excludedates,this.excludeweekdays):n;if(this.range&&!tl.validateRangeOrder(r)){this._value=[],this._valueProperty=``,super.valueChanged(``,t);return}this._value=r;let i=Qo(r);if(this._valueProperty!==i&&(this._valueProperty=i),this.range&&r.length<2)return;super.valueChanged(i,t)}finally{this._valueProcessing=!1}}}attributeChangedCallback(e,t,n){e===`value`&&this.value!==t&&this.valueChanged(n,t),e===`excludedates`&&typeof this.excludedates==`string`&&(this.excludedates=Zo(n||``)),e===`excludeweekdays`&&typeof this.excludeweekdays==`string`&&(this.excludeweekdays=Zo(n||``)),super.attributeChangedCallback(e,t,n)}updated(e){if(e.has(`value`)&&(e.has(`multiple`)||e.has(`range`))){let t=Array.isArray(this.value)?this.value.join(`,`):this.value,n=e.get(`value`),r=Array.isArray(n)?n.join(`,`):n;this.valueChanged(t,r)}e.has(`multiple`)&&(this.multiple&&!Array.isArray(this._value)?this._value=Zo(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(){return this.multiple?this.multipleInputRef.value?.inputElement:this.range?this.rangeInputRef.value?.inputElement:this.singleInputRef.value?.inputElement}get currentInputElementTo(){if(this.range)return this.rangeInputRef.value?.inputElementTo}get currentButtonElement(){return this.multiple?this.multipleInputRef.value?.buttonElement:this.range?this.rangeInputRef.value?.buttonElement:this.singleInputRef.value?.buttonElement}get btnRef(){return{value:this.currentButtonElement}}renderInput(){return H`
1360
- <pkt-datepicker-single
1361
- .value=${this._value[0]??``}
1362
- .inputType=${this.inputType}
1363
- .id=${this.id}
1364
- .min=${this.min}
1365
- .max=${this.max}
1366
- .placeholder=${this.placeholder}
1367
- .readonly=${this.readonly}
1368
- .disabled=${this.disabled}
1369
- .inputClasses=${this.inputClasses}
1370
- .internals=${this.internals}
1371
- .strings=${this.strings}
1372
- @toggle-calendar=${e=>this.toggleCalendar(e.detail)}
1373
- @input-change=${()=>this.onInput()}
1374
- @input-focus=${()=>this.onFocus()}
1375
- @input-blur=${e=>{this.calRef.value?.contains(e.detail.relatedTarget)||this.onBlur()}}
1376
- @manage-validity=${e=>this.manageValidity(e.detail)}
1377
- @value-change=${e=>{this.value=e.detail}}
1378
- @input-changed=${()=>{this.touched=!0}}
1379
- ${Z(this.singleInputRef)}
1380
- ></pkt-datepicker-single>
1381
- `}renderRangeInput(){return H`
1382
- <pkt-datepicker-range
1383
- .value=${this._value}
1384
- .inputType=${this.inputType}
1385
- .id=${this.id}
1386
- .label=${this.label}
1387
- .min=${this.min}
1388
- .max=${this.max}
1389
- .placeholder=${this.placeholder}
1390
- .readonly=${this.readonly}
1391
- .disabled=${this.disabled}
1392
- .showRangeLabels=${this.showRangeLabels}
1393
- .inputClasses=${this.inputClasses}
1394
- .internals=${this.internals}
1395
- .strings=${this.strings}
1396
- @toggle-calendar=${e=>this.toggleCalendar(e.detail)}
1397
- @input-change=${()=>this.onInput()}
1398
- @input-focus=${()=>this.onFocus()}
1399
- @input-blur=${e=>{this.calRef.value?.contains(e.detail.relatedTarget)||this.onBlur()}}
1400
- @range-blur=${e=>{let t=this.currentInputElement,n=this.currentInputElementTo;if(t&&n){let e=t.value,r=n.value;if(e&&r&&e>r)n.value=``,this._value=[e],this.value=e;else{let t=[e,r].filter(Boolean);t.length>0&&(t[0]!==this._value[0]||t[1]!==this._value[1])&&(this._value=t,this.value=t.join(`,`))}}ol.processRangeBlur(e.detail.event,e.detail.values,this.calRef,()=>this.clearInputValue(),e=>this.manageValidity(e))}}
1401
- @manage-validity=${e=>this.manageValidity(e.detail)}
1402
- @validate-date-input=${e=>{rl.validateDateInput(e.detail,this.internals,this.min,this.max,this.strings)}}
1403
- @handle-date-select=${e=>{let t=Io(e.detail);if(t){let e=Fo(t);this._value[0]!==e&&this._value[1]!==e&&this.calRef?.value?.handleDateSelect(t)}}}
1404
- @input-changed=${()=>{this.touched=!0}}
1405
- ${Z(this.rangeInputRef)}
1406
- ></pkt-datepicker-range>
1407
- `}renderMultipleInput(){return H`
1408
- <pkt-datepicker-multiple
1409
- .value=${this._value}
1410
- .inputType=${this.inputType}
1411
- .id=${this.id}
1412
- .min=${this.min}
1413
- .max=${this.max}
1414
- .placeholder=${this.placeholder}
1415
- .readonly=${this.readonly}
1416
- .disabled=${this.disabled}
1417
- .maxlength=${this.maxlength}
1418
- .inputClasses=${this.inputClasses}
1419
- .internals=${this.internals}
1420
- .strings=${this.strings}
1421
- @toggle-calendar=${e=>this.toggleCalendar(e.detail)}
1422
- @input-change=${()=>this.onInput()}
1423
- @input-focus=${()=>this.onFocus()}
1424
- @input-blur=${e=>{this.calRef.value?.contains(e.detail.relatedTarget)||this.onBlur()}}
1425
- @add-to-selected=${e=>this.addToSelected(e.detail)}
1426
- @input-changed=${()=>{this.touched=!0}}
1427
- ${Z(this.multipleInputRef)}
1428
- ></pkt-datepicker-multiple>
1429
- `}renderCalendar(){return H`
1430
- <pkt-datepicker-popup
1431
- class="pkt-contents"
1432
- ?open=${this.calendarOpen}
1433
- ?multiple=${this.multiple}
1434
- ?range=${this.range}
1435
- ?weeknumbers=${this.weeknumbers}
1436
- ?withcontrols=${this.withcontrols}
1437
- .maxMultiple=${this.maxlength}
1438
- .selected=${this._value}
1439
- .earliest=${this.min}
1440
- .latest=${this.max}
1441
- .excludedates=${Array.isArray(this.excludedates)?this.excludedates:this.excludedates.split(`,`)}
1442
- .excludeweekdays=${this.excludeweekdays}
1443
- .currentmonth=${this.currentmonth?Po(this.currentmonth):null}
1444
- .today=${this.today}
1445
- @date-selected=${e=>{this.value=ol.processDateSelection(e.detail,this.multiple,this.range),this._value=e.detail,ol.updateInputValues(this.inputRef,this.inputRefTo,this._value,this.range,this.multiple,e=>this.manageValidity(e))}}
1446
- @close=${()=>{this.onBlur(),this.hideCalendar()}}
1447
- ${Z(this.datepickerPopupRef)}
1448
- ></pkt-datepicker-popup>
1449
- `}render(){return this.inputClasses=al.getInputClasses(this.fullwidth,this.showRangeLabels,this.multiple,this.range,this.readonly,this.inputType),H`
1450
- <pkt-input-wrapper
1451
- label="${this.label}"
1452
- forId="${this.id}-input"
1453
- ?counter=${this.multiple&&!!this.maxlength}
1454
- .counterCurrent=${this.value?this._value.length:0}
1455
- .counterMaxLength=${this.maxlength}
1456
- ?disabled=${this.disabled}
1457
- ?hasError=${this.hasError}
1458
- ?hasFieldset=${this.hasFieldset}
1459
- ?inline=${this.inline}
1460
- ?required=${this.required}
1461
- ?optionalTag=${this.optionalTag}
1462
- ?requiredTag=${this.requiredTag}
1463
- useWrapper=${this.useWrapper}
1464
- .optionalText=${this.optionalText}
1465
- .requiredText=${this.requiredText}
1466
- .tagText=${this.tagText}
1467
- .errorMessage=${this.errorMessage}
1468
- .helptext=${this.helptext}
1469
- .helptextDropdown=${this.helptextDropdown}
1470
- .helptextDropdownButton=${this.helptextDropdownButton}
1471
- .ariaDescribedBy=${this.ariaDescribedBy}
1472
- class="pkt-datepicker"
1473
- >
1474
- <div class="pkt-contents" slot="helptext">${zi(this,`helptext`)}</div>
1475
- ${this.multiple?H`<pkt-date-tags
1476
- .dates=${this._value}
1477
- dateformat=${this.dateformat}
1478
- strings=${this.strings}
1479
- id-base=${this.id}
1480
- @date-tag-removed=${e=>{let t=this.datepickerPopupRef.value,n=Io(e.detail);t&&n&&typeof t.handleDateSelect==`function`?t.handleDateSelect(n):this.calRef.value?.handleDateSelect(n)}}
1481
- ></pkt-date-tags>`:U}
1482
- <div class="pkt-datepicker__inputs ${this.range?`pkt-input__range-inputs`:``}">
1483
- ${this.range?this.renderRangeInput():this.multiple?this.renderMultipleInput():this.renderInput()}
1484
- </div>
1485
- </pkt-input-wrapper>
1486
- ${this.renderCalendar()}
1487
- `}handleCalendarPosition(){let e=this.multiple&&!!this.maxlength;il.handleCalendarPosition(this.popupRef,this.inputRef,e)}async showCalendar(){let e=this.datepickerPopupRef.value;if(this.calendarOpen=!0,e&&typeof e.show==`function`){e.show(),Uc()&&e.focusOnCurrentDate();return}await Ms(20),this.handleCalendarPosition(),Uc()&&this.calRef.value?.focusOnCurrentDate()}hideCalendar(){let e=this.datepickerPopupRef.value;if(this.calendarOpen=!1,e&&typeof e.hide==`function`)return e.hide()}async toggleCalendar(e){e.preventDefault();let t=this.datepickerPopupRef.value;if(t&&typeof t.toggle==`function`){let e=!!t.open;t.toggle(),this.calendarOpen=!e;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}))}};q([G({type:String,reflect:!0})],pl.prototype,`value`,null),q([G({type:String,reflect:!0})],pl.prototype,`label`,void 0),q([G({type:String})],pl.prototype,`dateformat`,void 0),q([G({type:Boolean,reflect:!0})],pl.prototype,`multiple`,void 0),q([G({type:Number,reflect:!0})],pl.prototype,`maxlength`,void 0),q([G({type:Boolean,reflect:!0})],pl.prototype,`range`,void 0),q([G({type:Boolean,attribute:`show-range-labels`})],pl.prototype,`showRangeLabels`,void 0),q([G({type:String,reflect:!0})],pl.prototype,`min`,void 0),q([G({type:String,reflect:!0})],pl.prototype,`max`,void 0),q([G({type:Boolean})],pl.prototype,`weeknumbers`,void 0),q([G({type:Boolean,reflect:!0})],pl.prototype,`withcontrols`,void 0),q([G({converter:$o.csvToArray})],pl.prototype,`excludedates`,void 0),q([G({converter:$o.csvToArray})],pl.prototype,`excludeweekdays`,void 0),q([G({type:String})],pl.prototype,`currentmonth`,void 0),q([G({type:String})],pl.prototype,`today`,void 0),q([G({type:Boolean,reflect:!0,attribute:`calendar-open`})],pl.prototype,`calendarOpen`,void 0),q([G({type:String})],pl.prototype,`timezone`,void 0),q([K()],pl.prototype,`inputClasses`,void 0);try{W(`pkt-datepicker`)(pl)}catch{console.warn(`Forsøker å definere <pkt-datepicker>, men den er allerede definert`)}var ml=f({default:()=>Dl});function hl(e,t){var n=`on`+t.type.toLowerCase();return typeof e[n]==`function`&&e[n](t),e.dispatchEvent(t)}function gl(e){for(;e&&e!==document.body;){var t=window.getComputedStyle(e),n=function(e,n){return!(t[e]===void 0||t[e]===n)};if(t.opacity<1||n(`zIndex`,`auto`)||n(`transform`,`none`)||n(`mixBlendMode`,`normal`)||n(`filter`,`none`)||n(`perspective`,`none`)||t.isolation===`isolate`||t.position===`fixed`||t.webkitOverflowScrolling===`touch`)return!0;e=e.parentElement}return!1}function _l(e){for(;e;){if(e.localName===`dialog`)return e;e=e.parentElement?e.parentElement:e.parentNode?e.parentNode.host:null}return null}function vl(e){for(;e&&e.shadowRoot&&e.shadowRoot.activeElement;)e=e.shadowRoot.activeElement;e&&e.blur&&e!==document.body&&e.blur()}function yl(e,t){for(var n=0;n<e.length;++n)if(e[n]===t)return!0;return!1}function bl(e){return!e||!e.hasAttribute(`method`)?!1:e.getAttribute(`method`).toLowerCase()===`dialog`}function xl(e){var t=[`button`,`input`,`keygen`,`select`,`textarea`].map(function(e){return e+`:not([disabled])`});t.push(`[tabindex]:not([disabled]):not([tabindex=""])`);var n=e.querySelector(t.join(`, `));if(!n&&`attachShadow`in Element.prototype)for(var r=e.querySelectorAll(`*`),i=0;i<r.length&&!(r[i].tagName&&r[i].shadowRoot&&(n=xl(r[i].shadowRoot),n));i++);return n}function Sl(e){return e.isConnected||document.body.contains(e)}function Cl(e){if(e.submitter)return e.submitter;var t=e.target;if(!(t instanceof HTMLFormElement))return null;var n=Dl.formSubmitter;if(!n){var r=e.target;n=(`getRootNode`in r&&r.getRootNode()||document).activeElement}return!n||n.form!==t?null:n}function wl(e){if(!e.defaultPrevented){var t=e.target,n=Dl.imagemapUseValue,r=Cl(e);n===null&&r&&(n=r.value);var i=_l(t);i&&(r&&r.getAttribute(`formmethod`)||t.getAttribute(`method`))===`dialog`&&(e.preventDefault(),n==null?i.close():i.close(n))}}function Tl(e){if(this.dialog_=e,this.replacedStyleTop_=!1,this.openAsModal_=!1,e.hasAttribute(`role`)||e.setAttribute(`role`,`dialog`),e.show=this.show.bind(this),e.showModal=this.showModal.bind(this),e.close=this.close.bind(this),e.addEventListener(`submit`,wl,!1),`returnValue`in e||(e.returnValue=``),`MutationObserver`in window)new MutationObserver(this.maybeHideModal.bind(this)).observe(e,{attributes:!0,attributeFilter:[`open`]});else{var t=!1,n=function(){t?this.downgradeModal():this.maybeHideModal(),t=!1}.bind(this),r,i=function(i){if(i.target===e){var a=`DOMNodeRemoved`;t|=i.type.substr(0,a.length)===a,window.clearTimeout(r),r=window.setTimeout(n,0)}};[`DOMAttrModified`,`DOMNodeRemoved`,`DOMNodeRemovedFromDocument`].forEach(function(t){e.addEventListener(t,i)})}Object.defineProperty(e,`open`,{set:this.setOpen.bind(this),get:e.hasAttribute.bind(e,`open`)}),this.backdrop_=document.createElement(`div`),this.backdrop_.className=`backdrop`,this.backdrop_.addEventListener(`mouseup`,this.backdropMouseEvent_.bind(this)),this.backdrop_.addEventListener(`mousedown`,this.backdropMouseEvent_.bind(this)),this.backdrop_.addEventListener(`click`,this.backdropMouseEvent_.bind(this))}var El,Dl,Ol,kl,Al,jl,Ml,Nl,Pl=u((()=>{El=window.CustomEvent,(!El||typeof El==`object`)&&(El=function(e,t){t||={};var n=document.createEvent(`CustomEvent`);return n.initCustomEvent(e,!!t.bubbles,!!t.cancelable,t.detail||null),n},El.prototype=window.Event.prototype),Tl.prototype={get dialog(){return this.dialog_},maybeHideModal:function(){this.dialog_.hasAttribute(`open`)&&Sl(this.dialog_)||this.downgradeModal()},downgradeModal:function(){this.openAsModal_&&(this.openAsModal_=!1,this.dialog_.style.zIndex=``,this.replacedStyleTop_&&=(this.dialog_.style.top=``,!1),this.backdrop_.parentNode&&this.backdrop_.parentNode.removeChild(this.backdrop_),Dl.dm.removeDialog(this))},setOpen:function(e){e?this.dialog_.hasAttribute(`open`)||this.dialog_.setAttribute(`open`,``):(this.dialog_.removeAttribute(`open`),this.maybeHideModal())},backdropMouseEvent_:function(e){if(this.dialog_.hasAttribute(`tabindex`))this.dialog_.focus();else{var t=document.createElement(`div`);this.dialog_.insertBefore(t,this.dialog_.firstChild),t.tabIndex=-1,t.focus(),this.dialog_.removeChild(t)}var n=document.createEvent(`MouseEvents`);n.initMouseEvent(e.type,e.bubbles,e.cancelable,window,e.detail,e.screenX,e.screenY,e.clientX,e.clientY,e.ctrlKey,e.altKey,e.shiftKey,e.metaKey,e.button,e.relatedTarget),this.dialog_.dispatchEvent(n),e.stopPropagation()},focus_:function(){var e=this.dialog_.querySelector(`[autofocus]:not([disabled])`);!e&&this.dialog_.tabIndex>=0&&(e=this.dialog_),e||=xl(this.dialog_),vl(document.activeElement),e&&e.focus()},updateZIndex:function(e,t){if(e<t)throw Error(`dialogZ should never be < backdropZ`);this.dialog_.style.zIndex=e,this.backdrop_.style.zIndex=t},show:function(){this.dialog_.open||(this.setOpen(!0),this.focus_())},showModal:function(){if(this.dialog_.hasAttribute(`open`))throw Error(`Failed to execute 'showModal' on dialog: The element is already open, and therefore cannot be opened modally.`);if(!Sl(this.dialog_))throw Error(`Failed to execute 'showModal' on dialog: The element is not in a Document.`);if(!Dl.dm.pushDialog(this))throw Error(`Failed to execute 'showModal' on dialog: There are too many open modal dialogs.`);gl(this.dialog_.parentElement)&&console.warn(`A dialog is being shown inside a stacking context. This may cause it to be unusable. For more information, see this link: https://github.com/GoogleChrome/dialog-polyfill/#stacking-context`),this.setOpen(!0),this.openAsModal_=!0,Dl.needsCentering(this.dialog_)?(Dl.reposition(this.dialog_),this.replacedStyleTop_=!0):this.replacedStyleTop_=!1,this.dialog_.parentNode.insertBefore(this.backdrop_,this.dialog_.nextSibling),this.focus_()},close:function(e){if(!this.dialog_.hasAttribute(`open`))throw Error(`Failed to execute 'close' on dialog: The element does not have an 'open' attribute, and therefore cannot be closed.`);this.setOpen(!1),e!==void 0&&(this.dialog_.returnValue=e);var t=new El(`close`,{bubbles:!1,cancelable:!1});hl(this.dialog_,t)}},Dl={},Dl.reposition=function(e){var t=document.body.scrollTop||document.documentElement.scrollTop,n=t+(window.innerHeight-e.offsetHeight)/2;e.style.top=Math.max(t,n)+`px`},Dl.isInlinePositionSetByStylesheet=function(e){for(var t=0;t<document.styleSheets.length;++t){var n=document.styleSheets[t],r=null;try{r=n.cssRules}catch{}if(r)for(var i=0;i<r.length;++i){var a=r[i],o=null;try{o=document.querySelectorAll(a.selectorText)}catch{}if(!(!o||!yl(o,e))){var s=a.style.getPropertyValue(`top`),c=a.style.getPropertyValue(`bottom`);if(s&&s!==`auto`||c&&c!==`auto`)return!0}}}return!1},Dl.needsCentering=function(e){return window.getComputedStyle(e).position!==`absolute`||e.style.top!==`auto`&&e.style.top!==``||e.style.bottom!==`auto`&&e.style.bottom!==``?!1:!Dl.isInlinePositionSetByStylesheet(e)},Dl.forceRegisterDialog=function(e){if((window.HTMLDialogElement||e.showModal)&&console.warn(`This browser already supports <dialog>, the polyfill may not work correctly`,e),e.localName!==`dialog`)throw Error(`Failed to register dialog: The element is not a dialog.`);new Tl(e)},Dl.registerDialog=function(e){e.showModal||Dl.forceRegisterDialog(e)},Dl.DialogManager=function(){this.pendingDialogStack=[];var e=this.checkDOM_.bind(this);this.overlay=document.createElement(`div`),this.overlay.className=`_dialog_overlay`,this.overlay.addEventListener(`click`,function(t){this.forwardTab_=void 0,t.stopPropagation(),e([])}.bind(this)),this.handleKey_=this.handleKey_.bind(this),this.handleFocus_=this.handleFocus_.bind(this),this.zIndexLow_=1e5,this.zIndexHigh_=100150,this.forwardTab_=void 0,`MutationObserver`in window&&(this.mo_=new MutationObserver(function(t){var n=[];t.forEach(function(e){for(var t=0,r;r=e.removedNodes[t];++t){if(r instanceof Element)r.localName===`dialog`&&n.push(r);else continue;n=n.concat(r.querySelectorAll(`dialog`))}}),n.length&&e(n)}))},Dl.DialogManager.prototype.blockDocument=function(){document.documentElement.addEventListener(`focus`,this.handleFocus_,!0),document.addEventListener(`keydown`,this.handleKey_),this.mo_&&this.mo_.observe(document,{childList:!0,subtree:!0})},Dl.DialogManager.prototype.unblockDocument=function(){document.documentElement.removeEventListener(`focus`,this.handleFocus_,!0),document.removeEventListener(`keydown`,this.handleKey_),this.mo_&&this.mo_.disconnect()},Dl.DialogManager.prototype.updateStacking=function(){for(var e=this.zIndexHigh_,t=0,n;n=this.pendingDialogStack[t];++t)n.updateZIndex(--e,--e),t===0&&(this.overlay.style.zIndex=--e);var r=this.pendingDialogStack[0];r?(r.dialog.parentNode||document.body).appendChild(this.overlay):this.overlay.parentNode&&this.overlay.parentNode.removeChild(this.overlay)},Dl.DialogManager.prototype.containedByTopDialog_=function(e){for(;e=_l(e);){for(var t=0,n;n=this.pendingDialogStack[t];++t)if(n.dialog===e)return t===0;e=e.parentElement}return!1},Dl.DialogManager.prototype.handleFocus_=function(e){var t=e.composedPath?e.composedPath()[0]:e.target;if(!this.containedByTopDialog_(t)&&document.activeElement!==document.documentElement&&(e.preventDefault(),e.stopPropagation(),vl(t),this.forwardTab_!==void 0)){var n=this.pendingDialogStack[0];return n.dialog.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_PRECEDING&&(this.forwardTab_?n.focus_():t!==document.documentElement&&document.documentElement.focus()),!1}},Dl.DialogManager.prototype.handleKey_=function(e){if(this.forwardTab_=void 0,e.keyCode===27){e.preventDefault(),e.stopPropagation();var t=new El(`cancel`,{bubbles:!1,cancelable:!0}),n=this.pendingDialogStack[0];n&&hl(n.dialog,t)&&n.dialog.close()}else e.keyCode===9&&(this.forwardTab_=!e.shiftKey)},Dl.DialogManager.prototype.checkDOM_=function(e){this.pendingDialogStack.slice().forEach(function(t){e.indexOf(t.dialog)===-1?t.maybeHideModal():t.downgradeModal()})},Dl.DialogManager.prototype.pushDialog=function(e){var t=(this.zIndexHigh_-this.zIndexLow_)/2-1;return this.pendingDialogStack.length>=t?!1:(this.pendingDialogStack.unshift(e)===1&&this.blockDocument(),this.updateStacking(),!0)},Dl.DialogManager.prototype.removeDialog=function(e){var t=this.pendingDialogStack.indexOf(e);t!==-1&&(this.pendingDialogStack.splice(t,1),this.pendingDialogStack.length===0&&this.unblockDocument(),this.updateStacking())},Dl.dm=new Dl.DialogManager,Dl.formSubmitter=null,Dl.imagemapUseValue=null,window.HTMLDialogElement===void 0&&(Ol=document.createElement(`form`),Ol.setAttribute(`method`,`dialog`),Ol.method!==`dialog`&&(kl=Object.getOwnPropertyDescriptor(HTMLFormElement.prototype,`method`),kl&&(Al=kl.get,kl.get=function(){return bl(this)?`dialog`:Al.call(this)},jl=kl.set,kl.set=function(e){return typeof e==`string`&&e.toLowerCase()===`dialog`?this.setAttribute(`method`,e):jl.call(this,e)},Object.defineProperty(HTMLFormElement.prototype,`method`,kl))),document.addEventListener(`click`,function(e){if(Dl.formSubmitter=null,Dl.imagemapUseValue=null,!e.defaultPrevented){var t=e.target;if(`composedPath`in e&&(t=e.composedPath().shift()||t),!(!t||!bl(t.form))){if(!(t.type===`submit`&&[`button`,`input`].indexOf(t.localName)>-1)){if(!(t.localName===`input`&&t.type===`image`))return;Dl.imagemapUseValue=e.offsetX+`,`+e.offsetY}_l(t)&&(Dl.formSubmitter=t)}}},!1),document.addEventListener(`submit`,function(e){var t=e.target;if(!_l(t)){var n=Cl(e);(n&&n.getAttribute(`formmethod`)||t.getAttribute(`method`))===`dialog`&&e.preventDefault()}}),Ml=HTMLFormElement.prototype.submit,Nl=function(){if(!bl(this))return Ml.call(this);var e=_l(this);e&&e.close()},HTMLFormElement.prototype.submit=Nl)})),Fl=`pkt-modal--open`,Il=`data-pkt-modal-open-count`,Ll=()=>{let e=document.body.getAttribute(Il),t=e?parseInt(e,10):0;return Number.isFinite(t)&&t>0?t:0},Rl=e=>{e<=0?(document.body.removeAttribute(Il),document.body.classList.remove(Fl)):(document.body.setAttribute(Il,String(e)),document.body.classList.add(Fl))},zl=e=>{e.locked||(e.locked=!0,Rl(Ll()+1))},Bl=e=>{e.locked&&(e.locked=!1,Rl(Ll()-1))},Vl=()=>({locked:!1}),Hl={name:`pkt-modal`,react:`PktModal`,"css-class":`pkt-modal`,isElement:!0,isPureReact:!0,events:{"background-click":{description:`Event som trigges når bakgrunnen trykkes på`},close:{description:`Event som trigges når meldingsboksen lukkes`}},props:{open:{name:`Åpen`,description:`Deklarativ styring av modalens åpen/lukket-tilstand. Kan brukes i stedet for showModal()/close()-metodene.`,type:`boolean`,category:`tech`,default:!1},headingText:{name:`Heading text`,description:`Heading tekst på modalen`,type:`string`,category:`contents`},hideCloseButton:{name:`Gjem 'Lukk'-knapp`,description:`Gjemmer lukkeknappen. Dersom denne er satt til true, vil ikke lukkeknappen vises, og dermed er det viktig at man tilbyr en annen måte som f.eks. en knapp for å lukke modalen på.`,type:`boolean`,category:`ui`,default:!1},closeOnBackdropClick:{name:`Lukk modalen når bakgrunnen trykkes på`,description:`Lukk modalen når bakgrunnen trykkes på`,type:`boolean`,category:`tech`,default:!1},closeButtonSkin:{name:`Stil på lukkeknappen`,description:`Stil på lukkeknappen`,type:[`blue`,`yellow-filled`],category:`ui`,default:`blue`},size:{name:`Størrelse`,description:`Størrelsen på modalen`,type:[`small`,`medium`,`large`,`fit-content`],category:`ui`,default:`medium`},variant:{name:`Variant`,description:`Standard dialog eller skuff`,type:[`dialog`,`drawer`],category:`ui`,default:`dialog`},drawerPosition:{name:`Skuffposisjon`,description:`Posisjonen til skuffen`,type:[`left`,`right`],category:`ui`,default:`right`},transparentBackdrop:{name:`Gjennomsiktig bakgrunn`,description:`Bakgrunnen er gjennomsiktig`,type:`boolean`,category:`ui`,default:!1},removePadding:{name:`Fjern padding`,description:`Fjerner paddingen rundt innholdet i modalen`,type:`boolean`,category:`ui`,default:!1}},slots:{default:{description:`Innholdet i meldingen. Her tilbyr vi støtteklasser for å style 1-3 knapper i modalen.`}}},Ul=class extends Bi{constructor(){super(),this.open=!1,this.headingText=``,this.removePadding=!1,this.hideCloseButton=Hl.props.hideCloseButton.default,this.closeOnBackdropClick=Hl.props.closeOnBackdropClick.default,this.closeButtonSkin=`blue`,this.size=Hl.props.size.default,this.variant=`dialog`,this.drawerPosition=`right`,this.transparentBackdrop=!1,this.dialogRef=X(),this._scrollLockToken=Vl(),this._isOpen=!1,this.close=(e,t=!1)=>{if(!this._isOpen)return;this._isOpen=!1,this.open=!1,Bl(this._scrollLockToken);let n=document.activeElement;n&&!this.isElementInViewport(n)&&n.scrollIntoView({behavior:`smooth`,block:`nearest`}),this.dispatchEvent(new CustomEvent(`close`,{detail:{origin:e},bubbles:!0,composed:!0})),t||this.dialogRef.value?.close(),this.requestUpdate()},this.showModal=(e=null)=>{this._isOpen=!0,this.open=!0,this.dialogRef.value?.showModal(),zl(this._scrollLockToken),this.dispatchEvent(new CustomEvent(`showModal`,{detail:{origin:e},bubbles:!0,composed:!0})),this.requestUpdate()},this._isOpen=!1}async connectedCallback(){super.connectedCallback(),document.addEventListener(`keydown`,this.handleKeyDown.bind(this)),document.addEventListener(`click`,this.handleBackdropClick.bind(this))}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener(`keydown`,this.handleKeyDown),document.removeEventListener(`click`,this.handleBackdropClick),Bl(this._scrollLockToken)}updated(e){super.updated(e),e.has(`open`)&&(this.open&&!this._isOpen?this.showModal():!this.open&&this._isOpen&&this.close(new Event(`close`),!1))}async firstUpdated(e){super.firstUpdated(e),this.dialogRef.value&&!window.HTMLDialogElement&&!this.dialogRef.value.showModal&&(`document`in window&&`createElement`in document&&(await Promise.resolve().then(()=>(Pl(),ml)).then(e=>e.default)).registerDialog(this.dialogRef.value),this.dialogRef.value.addEventListener(`close`,()=>{this.close(new Event(`close`),!0)}))}handleKeyDown(e){e.key===`Escape`&&this.close(e)}handleBackdropClick(e){this.closeOnBackdropClick&&e.target===this.dialogRef?.value&&this.close(e)}isElementInViewport(e){let t=e.getBoundingClientRect();return t.top>=0&&t.left>=0&&t.bottom<=(window.innerHeight||document.documentElement.clientHeight)&&t.right<=(window.innerWidth||document.documentElement.clientWidth)}render(){let e={"pkt-modal":!0,"pkt-modal--removePadding":this.removePadding??!1,"pkt-modal--noHeadingText":this.headingText===``||this.headingText===void 0,"pkt-modal--noShadow":this.closeButtonSkin===`yellow-filled`,"pkt-modal--transparentBackdrop":this.transparentBackdrop??!1,[`pkt-modal--${this.size}`]:this.size!==void 0,[`pkt-modal__${this.variant}`]:this.variant!==void 0,[`pkt-modal__drawer--${this.drawerPosition}`]:this.variant===`drawer`},t={"pkt-modal__headingText":!0,"pkt-txt-24":!0},n={"pkt-modal__content":!0,"pkt-txt-18-light":!0},r=this.closeButtonSkin===`blue`,i={"pkt-modal__closeButton":!0,[`pkt-modal__closeButton--${this.closeButtonSkin}`]:!0};return H`
1488
- <dialog
1489
- class=${J(e)}
1490
- ${Z(this.dialogRef)}
1491
- aria-labelledby=${this.headingText?`pkt-modal__headingText`:U}
1492
- aria-describedby="pkt-modal__content"
1493
- @close=${e=>this.close(e,!0)}
1494
- >
1495
- <div class="pkt-modal__wrapper">
1496
- ${this.headingText||!this.hideCloseButton?H`<div class="pkt-modal__header">
1497
- <div class="pkt-modal__header-background"></div>
1498
- ${this.headingText?H`<h1 id="pkt-modal__headingText" class=${J(t)}>
1499
- ${this.headingText}
1500
- </h1>`:H`<div class="pkt-modal__headingText"></div>`}
1501
- ${this.hideCloseButton?H`<div class="pkt-modal__noCloseButton"></div>`:H`<div class="${J(i)}">
1502
- <pkt-button
1503
- @click=${e=>this.close(e)}
1504
- aria-label="close"
1505
- iconname="close"
1506
- variant="icon-only"
1507
- size="medium"
1508
- skin=${r?`tertiary`:`primary`}
1509
- >
1510
- Lukk
1511
- </pkt-button>
1512
- </div>`}
1513
- </div>`:U}
1514
- <div class="pkt-modal__container">
1515
- <div id="pkt-modal__content" class=${J(n)}>
1516
- ${zi(this)}
1517
- </div>
1518
- </div>
1519
- </div>
1520
- </dialog>
1521
- `}};q([G({type:Boolean,reflect:!0})],Ul.prototype,`open`,void 0),q([G({type:String})],Ul.prototype,`headingText`,void 0),q([G({type:Boolean})],Ul.prototype,`removePadding`,void 0),q([G({type:Boolean})],Ul.prototype,`hideCloseButton`,void 0),q([G({type:Boolean})],Ul.prototype,`closeOnBackdropClick`,void 0),q([G({type:String})],Ul.prototype,`closeButtonSkin`,void 0),q([G({type:String})],Ul.prototype,`size`,void 0),q([G({type:String})],Ul.prototype,`variant`,void 0),q([G({type:String})],Ul.prototype,`drawerPosition`,void 0),q([G({type:Boolean})],Ul.prototype,`transparentBackdrop`,void 0),q([K()],Ul.prototype,`_isOpen`,void 0);try{W(`pkt-modal`)(Ul)}catch{console.warn(`Forsøker å definere <pkt-modal>, men den er allerede definert`)}var Wl=`important`,Gl=` !`+Wl,Kl=Nr(class extends Pr{constructor(e){if(super(e),e.type!==Mr.ATTRIBUTE||e.name!==`style`||e.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(e){return Object.keys(e).reduce((t,n)=>{let r=e[n];return r==null?t:t+`${n=n.includes(`-`)?n:n.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,`-$&`).toLowerCase()}:${r};`},``)}update(e,[t]){let{style:n}=e.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(t)),this.render(t);for(let e of this.ft)t[e]??(this.ft.delete(e),e.includes(`-`)?n.removeProperty(e):n[e]=null);for(let e in t){let r=t[e];if(r!=null){this.ft.add(e);let t=typeof r==`string`&&r.endsWith(Gl);e.includes(`-`)||t?n.setProperty(e,t?r.slice(0,-11):r,t?Wl:``):n[e]=r}}return hr}}),ql=class extends di{constructor(){super(),this.ariaLabel=null,this.ariaLabelledby=null,this.ariaValueText=null,this.ariaLive=`polite`,this.id=Ns(),this.role=`progressbar`,this.skin=`dark-blue`,this.statusPlacement=`following`,this.statusType=`none`,this.title=``,this.titlePosition=`left`,this.valueCurrent=0,this.valueMax=100,this.valueMin=0,this.labelWidth=0,this.progressbarId=this.id,this.computedAriaLabelledby=null,this.computedAriaValueText=``,this.labelRef=X(),this.progressBarRef=X()}firstUpdated(e){super.firstUpdated(e),this.setComputedValues(),this.syncAttributes()}updated(e){super.updated(e),e.has(`valueCurrent`)&&this.labelRef.value&&(this.labelWidth=this.labelRef.value.getBoundingClientRect().width||0),e.has(`id`)&&this.id&&(this.progressBarId=this.id),(e.has(`statusType`)||e.has(`id`)||e.has(`ariaLabelledby`))&&(this.progressbarId=this.id||Ns(),this.computedAriaLabelledby=this.ariaLabelledby||`${this.progressbarId}-title`),(e.has(`ariaValueText`)||e.has(`valueCurrent`)||e.has(`valueMax`))&&(this.computedAriaValueText=this.statusType===`fraction`&&!this.ariaValueText?`${this.valueCurrent} av ${this.valueMax-this.valueMin}`:this.ariaValueText||``),this.syncAttributes()}render(){let e=this.statusType!==`none`,t=this.valueMax-this.valueMin,n=this.valueCurrent/t*100,r=this.statusType===`fraction`?Math.round(n):Math.round((this.valueCurrent-this.valueMin)/(this.valueMax-this.valueMin)*100),i=`${this.valueCurrent} av ${t}`,a=J({"pkt-progressbar__bar":!0,[`pkt-progressbar__bar--${this.skin}`]:!!this.skin}),o=J({"pkt-progressbar__title":!0,"pkt-progressbar__title-center":this.titlePosition===`center`}),s=J({"pkt-progressbar__status":!0,"pkt-progressbar__status--center":this.statusPlacement===`center`}),c=J({"pkt-progressbar__status-placement--following":this.statusPlacement===`following`,"pkt-progressbar__status-placement--center":this.statusPlacement===`center`,"pkt-progressbar__status-placement--left":this.statusPlacement===`left`});return H` <div
1522
- class="pkt-progressbar__container"
1523
- .ref=${this.progressBarRef}
1524
- style=${Kl({"--pkt-progress-label-width":`${this.labelWidth}px`,"--pkt-progress-width":`${r}%`})}
1525
- >
1526
- ${this.title?H`<p id=${`${this.progressBarId}-title`} class=${o}>${this.title}</p>`:U}
1527
-
1528
- <div class="pkt-progressbar__bar-wrapper">
1529
- <div class=${a}></div>
1530
- </div>
1531
-
1532
- ${e?H`<div class=${s}>
1533
- <span class=${c} ${Z(this.labelRef)}>
1534
- ${this.statusType===`percentage`?`${r}%`:i}
1535
- </span>
1536
- </div>`:U}
1537
- </div>`}setComputedValues(){this.progressbarId=this.id||Ns(),this.computedAriaLabelledby=this.ariaLabelledby||`${this.progressbarId}-title`,this.computedAriaValueText=this.statusType===`fraction`&&!this.ariaValueText?`${this.valueCurrent} av ${this.valueMax-this.valueMin}`:this.ariaValueText||``}syncAttributes(){this._handleAttribute(`aria-live`,this.ariaLive),this._handleAttribute(`aria-valuenow`,this.valueCurrent),this._handleAttribute(`aria-valuemin`,this.valueMin),this._handleAttribute(`aria-valuemax`,this.valueMax),this._handleAttribute(`aria-valuetext`,this.computedAriaValueText),this._handleAttribute(`aria-label`,this.ariaLabel),this._handleAttribute(`role`,this.role),this._handleAttribute(`aria-atomic`,`true`),this._handleAttribute(`id`,this.progressbarId),this.ariaLabel||this._handleAttribute(`aria-labelledby`,this.computedAriaLabelledby)}_handleAttribute(e,t){t==null||t===``?this.removeAttribute(e):this.setAttribute(e,String(t))}};q([G({type:String})],ql.prototype,`ariaLabel`,void 0),q([G({type:String,reflect:!0})],ql.prototype,`ariaLabelledby`,void 0),q([G({type:String,reflect:!0})],ql.prototype,`ariaValueText`,void 0),q([G({type:String})],ql.prototype,`ariaLive`,void 0),q([G({type:String,reflect:!0})],ql.prototype,`id`,void 0),q([G({type:String})],ql.prototype,`role`,void 0),q([G({type:String})],ql.prototype,`skin`,void 0),q([G({type:String})],ql.prototype,`statusPlacement`,void 0),q([G({type:String})],ql.prototype,`statusType`,void 0),q([G({type:String,reflect:!0})],ql.prototype,`title`,void 0),q([G({type:String})],ql.prototype,`titlePosition`,void 0),q([G({type:Number,reflect:!0})],ql.prototype,`valueCurrent`,void 0),q([G({type:Number})],ql.prototype,`valueMax`,void 0),q([G({type:Number})],ql.prototype,`valueMin`,void 0),q([K()],ql.prototype,`labelWidth`,void 0),q([K()],ql.prototype,`progressbarId`,void 0),q([K()],ql.prototype,`computedAriaLabelledby`,void 0),q([K()],ql.prototype,`computedAriaValueText`,void 0);try{W(`pkt-progressbar`)(ql)}catch{console.warn(`Forsøker å definere <pkt-progressbar>, men den er allerede definert`)}var Jl={dropZoneDragMultiple:`Dra filer hit for å laste dem opp eller`,dropZoneDragSingle:`Dra en fil hit for å laste den opp eller`,dropZoneDragMultipleThumbnail:`Dra bilder hit for å laste dem opp eller`,dropZoneDragSingleThumbnail:`Dra et bilde hit for å laste det opp eller`,dropZoneDragActiveMultiple:`Slipp filene her`,dropZoneDragActiveSingle:`Slipp filen her`,dropZoneDragActiveMultipleThumbnail:`Slipp bildene her`,dropZoneDragActiveSingleThumbnail:`Slipp bildet her`,dropZoneOpenFileDialogMultiple:`velg filer`,dropZoneOpenFileDialogSingle:`velg en fil`,dropZoneOpenFileDialogMultipleThumbnail:`velg fra kamerarull`,dropZoneOpenFileDialogSingleThumbnail:`velg fra kamerarull`,supportedFormatsPrefix:`Format:`,invalidFormatDefault:e=>`Ugyldig filtype. Tillatte formater: ${e}`,sizeTooLargeDefault:e=>`Filen er for stor. Maks størrelse er ${e}.`,requiredMissing:`Du må laste opp minst én fil.`,genericValidationRejection:`Filen ble avvist av validering.`,unknownFilename:`Ukjent fil`,fileLabel:e=>e===1?`fil`:`filer`,srFileAdded:e=>`Filen «${e}» er lagt til`,srFilesAdded:e=>`${e} filer er lagt til`,srFilesUploadedOfTotal:(e,t,n)=>`${e} av ${t} ${n} lastet opp`,srFilesFailedOfTotal:(e,t,n)=>`Feil ved opplasting: ${e} av ${t} ${n} feilet`};function Yl(e){if(e==null||e===``)return;if(typeof e==`number`)return Number.isFinite(e)&&e>0?e:void 0;let t=String(e).trim(),n=Number(t);if(!Number.isNaN(n)&&n>0)return n;let r=t.match(/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!r){console.warn(`PktFileUpload: Invalid maxFileSize format "${t}". Use format like "5MB", "500KB", "1GB", or bytes.`);return}let i=parseFloat(r[1]);switch(r[2].toUpperCase()){case`B`:return i;case`KB`:return i*1024;case`MB`:return i*1024*1024;case`GB`:return i*1024*1024*1024;default:return}}function Xl(e){return e<1024?`${Math.round(e)} B`:e<1024*1024?`${Math.round(e/1024)} KB`:e<1024*1024*1024?`${Math.round(e/(1024*1024))} MB`:`${Math.round(e/(1024*1024*1024))} GB`}function Zl(e){return Array.isArray(e)?e.map(e=>String(e).trim().toLowerCase()).filter(Boolean):[]}function Ql(e){return e?e.split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean):[]}function $l(e,t,n){let r=e.toLowerCase().replace(/^\./,``);if(r.includes(`/`)){if(r.endsWith(`/*`)){let e=r.replace(`/*`,``);return n.startsWith(`${e}/`)}return n===r}return t===r}function eu(e,t){let n=Zl(t);if(n.length===0)return!0;let r=e.name.split(`.`).pop()?.toLowerCase()??``,i=e.type.toLowerCase();return n.some(e=>$l(e,r,i))}function tu(e,t){let n=(e??``).trim();if(n)return n;let r=Zl(t);return r.length===0?``:r.map(e=>e.includes(`/`)||e.startsWith(`.`)?e:`.${e}`).join(`, `)}function nu(e){return e.includes(`/`)?e:e.replace(/^\./,``).toUpperCase()}function ru(e,t){let n=Zl(e);if(n.length>0)return n.map(nu).join(`, `);let r=Ql(t);return r.length>0?r.map(nu).join(`, `):``}function iu(e,t,n){return((e??``).trim()||t).replace(/\{(\w+)\}/g,(e,t)=>n[t]??`{${t}}`)}function au(e,t){let n=Zl(t.allowedFormats);if(n.length>0&&!eu(e,n)){let e=n.join(`, `),r=`Ugyldig filtype. Tillatte formater: ${e}`;return iu(t.formatErrorMessage,r,{formats:e})}let r=Yl(t.maxFileSize);if(r!==void 0&&e.size>r){let e=Xl(r),n=`Filen er for stor. Maks størrelse er ${e}.`;return iu(t.sizeErrorMessage,n,{maxSize:e})}if(t.onFileValidation){let n=t.onFileValidation(e);if(n)return n}return null}function ou(e){let t=e.file;if(t?.type?.startsWith(`image/`))return!0;let n=e.attributes?.targetFilename||t?.name||``;return/\.(jpe?g|png|gif|webp|heic|heif|bmp|svg)$/i.test(n)}function su(e){return typeof e==`number`?`in-progress`:e===`error`?`error`:`idle`}function cu(e,t,n){let r={"in-progress":0,error:1,idle:2};return e.map(e=>{let r=t?.find(t=>t.fileId===e.fileId);return{...e,progress:r?.progress??(n===`form`?`done`:`queued`),errorMessage:r?.errorMessage,showProgress:r?.showProgress,lastProgress:r?.lastProgress}}).sort((e,t)=>r[su(e.progress)]-r[su(t.progress)])}function lu(e){if(!e)return[];let t=[`a[href]:not([tabindex="-1"])`,`button:not([disabled]):not([tabindex="-1"])`,`input:not([disabled]):not([type="hidden"]):not([tabindex="-1"])`,`select:not([disabled]):not([tabindex="-1"])`,`textarea:not([disabled]):not([tabindex="-1"])`,`[tabindex]:not([tabindex="-1"])`].join(`, `);return Array.from(e.querySelectorAll(t)).filter(e=>!e.hasAttribute(`inert`))}function uu(e,t){if(e.key!==`Tab`)return!1;let n=lu(t);if(n.length===0)return e.preventDefault(),!0;let r=n[0],i=n[n.length-1],a=(t?.ownerDocument??document).activeElement,o=!!a&&n.includes(a);return e.shiftKey?!o||a===r?(e.preventDefault(),i.focus(),!0):!1:!o||a===i?(e.preventDefault(),r.focus(),!0):!1}function du(e,t){return!t||t<=0||e.length<=t+3?null:{head:e.slice(0,e.length-t),tail:e.slice(-t)}}function fu(e,t,n){return n<=0?0:t===`prev`?e<=0?n-1:e-1:e>=n-1?0:e+1}function pu(e,t){let n=e.length;if(n===0||!t||t.length===0)return{totalCount:n,uploadedCount:0,failedCount:0};let r=0,i=0;for(let n of e){let e=t.find(e=>e.fileId===n.fileId);e?.progress===`done`?r++:e?.progress===`error`&&i++}return{totalCount:n,uploadedCount:r,failedCount:i}}function mu(e,t=Jl.unknownFilename){return e.attributes?.targetFilename||e.file?.name||t}var $=class extends di{constructor(...e){super(...e),this.id=`pkt-fileupload-${Ns()}`,this.name=`files`,this.label=``,this.helptext=``,this.required=!1,this.multiple=!1,this.disabled=!1,this.fullwidth=!1,this.uploadStrategy=`form`,this.itemRenderer=`filename`,this.accept=``,this.allowedFormats=[],this.formatErrorMessage=``,this.sizeErrorMessage=``,this.transfers=[],this.addCommentsEnabled=!1,this.renameFilesEnabled=!1,this.extraOperations=[],this.enableImagePreview=!1,this.hasError=!1,this.errorMessage=``,this.optionalTag=!1,this.requiredTag=!1,this.truncateTail=4,this.files=[],this.isDragActive=!1,this.validationErrorMessage=null,this.addedAnnouncement=``,this.thumbnailUrls={},this.hasInitializedValue=!1,this.hasWarnedInvalidValueCombo=!1,this.thumbnailFileById=new Map,this.connectedForm=null,this.addedAnnouncementTimer=null,this.requiredSelectionMessage=Jl.requiredMissing,this.onNativeFileChange=e=>{let t=e.target;this.addFiles(t.files?Array.from(t.files):[]),this.uploadStrategy===`custom`&&(t.value=``)},this.openFileDialog=e=>{e.preventDefault(),e.stopPropagation(),!this.disabled&&this.querySelector(`#${this.id}-input`)?.click()},this.onDropZoneClick=e=>{this.disabled||e.target.closest(`.pkt-fileupload__drop-zone__placeholder__title__open-file-dialog`)||this.querySelector(`#${this.id}-input`)?.click()},this.onDragOver=e=>{e.preventDefault(),!this.disabled&&(this.isDragActive=!0)},this.onDragLeave=()=>{this.isDragActive=!1},this.onDrop=e=>{if(e.preventDefault(),this.isDragActive=!1,this.disabled)return;let t=e.dataTransfer?.files?Array.from(e.dataTransfer.files):[];this.addFiles(t)},this.onHostFormSubmit=e=>{!this.required||this.uploadStrategy!==`custom`||this.getCurrentFiles().length>0||(this.validationErrorMessage=this.requiredSelectionMessage,e.preventDefault())}}get isControlled(){return this.value!==void 0}get hasEffectiveError(){return!!this.validationErrorMessage||this.hasError||!!this.errorMessage.trim()}get effectiveErrorMessage(){return this.validationErrorMessage??this.errorMessage??``}get hasValidationError(){return!!this.validationErrorMessage}firstUpdated(e){super.firstUpdated?.(e),this.hasInitializedValue||=(this.files=this.value??this.defaultValue??[],this.syncThumbnailUrls(this.files),!0),this.value!==void 0&&this.defaultValue!==void 0&&this.warnInvalidValueCombo()}willUpdate(e){super.willUpdate(e),this.hasInitializedValue&&this.isControlled&&(e.has(`value`)||e.has(`itemRenderer`)||e.has(`enableImagePreview`))&&(this.files=this.value??[],this.syncThumbnailUrls(this.files))}updated(e){super.updated(e),(e.has(`uploadStrategy`)||e.has(`required`)||e.has(`value`))&&this.syncFormSubmitListener(),this.uploadStrategy===`form`&&(e.has(`value`)||e.has(`files`)||e.has(`uploadStrategy`))&&this.syncNativeInputFiles()}syncNativeInputFiles(){let e=this.querySelector(`#${this.id}-input`);if(!(!e||typeof DataTransfer>`u`))try{let t=new DataTransfer;for(let e of this.getCurrentFiles())e.file&&t.items.add(e.file);e.files=t.files}catch{}}warnInvalidValueCombo(){this.hasWarnedInvalidValueCombo||=(console.warn(`PktFileUpload: Både value og defaultValue er angitt. Komponenten kan være enten kontrollert eller ukontrollert, ikke begge. value vil bli prioritert.`),!0)}disconnectedCallback(){this.teardownFormSubmitListener(),this.addedAnnouncementTimer&&=(clearTimeout(this.addedAnnouncementTimer),null),super.disconnectedCallback(),this.revokeAllThumbnailUrls()}setAddedAnnouncement(e){this.addedAnnouncement=e,this.addedAnnouncementTimer&&clearTimeout(this.addedAnnouncementTimer),this.addedAnnouncementTimer=setTimeout(()=>{this.addedAnnouncement=``,this.addedAnnouncementTimer=null},1500)}connectedCallback(){super.connectedCallback(),this.syncFormSubmitListener()}addFiles(e){if(e.length===0)return;let t=this.multiple?e:[e[0]];for(let e of t){let t=this.validateFile(e);if(t){this.validationErrorMessage=t;return}}this.validationErrorMessage=null;let n=t.map(e=>({fileId:Ns(),file:e,attributes:{targetFilename:e.name}}));this.setAddedAnnouncement(n.length===1?Jl.srFileAdded(n[0].attributes.targetFilename):Jl.srFilesAdded(n.length));let r=this.getCurrentFiles(),i=this.multiple?[...r,...n]:[n[0]];this.commitFiles(i,`add`,n.map(e=>e.fileId)),this.uploadStrategy===`custom`&&n.forEach(e=>{this.dispatchEvent(new CustomEvent(`file-upload-requested`,{detail:{fileId:e.fileId,file:e.file,attributes:e.attributes},bubbles:!0,composed:!0}))})}getCurrentFiles(){return this.isControlled?this.value??[]:this.files}cancelTransfer(e){if(this.disabled)return;let t=this.getCurrentFiles().find(t=>t.fileId===e);t&&(this.removeFileItem(e),this.dispatchEvent(new CustomEvent(`transfer-cancelled`,{detail:{fileId:t.fileId,file:t.file,attributes:t.attributes},bubbles:!0,composed:!0})))}removeFileItem(e){if(this.disabled)return;let t=this.getCurrentFiles(),n=t.filter(t=>t.fileId!==e);n.length!==t.length&&this.commitFiles(n,`remove`,[e])}updateFileItem(e,t){let n=this.getCurrentFiles().map(n=>n.fileId===e?{...n,...t}:n);this.commitFiles(n,`update`,[e])}commitFiles(e,t,n){this.isControlled||(this.files=e,this.syncThumbnailUrls(e)),this.validationErrorMessage===this.requiredSelectionMessage&&e.length>0&&(this.validationErrorMessage=null),this.dispatchEvent(new CustomEvent(`files-changed`,{detail:{files:e,reason:t,changedFileIds:n},bubbles:!0,composed:!0}))}getThumbnailUrl(e){return this.thumbnailUrls[e.fileId]}getTransferProgress(e){let t=this.transfers.find(t=>t.fileId===e);return t?t.progress:this.uploadStrategy===`form`?`done`:`queued`}getTransferForFile(e){return this.transfers.find(t=>t.fileId===e)}isImageFile(e){return ou(e)}formatFileSize(e){return Xl(e)}getResolvedAcceptValue(){return tu(this.accept,this.allowedFormats)}getSupportedFormatsText(){return ru(this.allowedFormats,this.accept)}getSortedFilesAndTransfers(){return cu(this.getCurrentFiles(),this.transfers,this.uploadStrategy)}validateFile(e){let t=au(e,{allowedFormats:this.allowedFormats,maxFileSize:this.maxFileSize,formatErrorMessage:this.formatErrorMessage,sizeErrorMessage:this.sizeErrorMessage,onFileValidation:this.onFileValidation});if(t)return t;let n={file:e,errorMessage:null},r=new CustomEvent(`file-validate`,{detail:n,bubbles:!0,composed:!0,cancelable:!0});return this.dispatchEvent(r),n.errorMessage?n.errorMessage:r.defaultPrevented?Jl.genericValidationRejection:null}syncThumbnailUrls(e){if(!(typeof URL<`u`&&typeof URL.createObjectURL==`function`&&typeof URL.revokeObjectURL==`function`)){this.thumbnailUrls={},this.thumbnailFileById.clear();return}let t=new Set(e.map(e=>e.fileId)),n={};for(let[e,n]of Object.entries(this.thumbnailUrls))t.has(e)||(URL.revokeObjectURL(n),this.thumbnailFileById.delete(e));for(let t of e){let e=this.thumbnailUrls[t.fileId],r=this.thumbnailFileById.get(t.fileId);if(!t.file||!this.isImageFile(t)){e&&(URL.revokeObjectURL(e),this.thumbnailFileById.delete(t.fileId));continue}if(e&&r===t.file){n[t.fileId]=e;continue}e&&r!==t.file&&URL.revokeObjectURL(e);let i=URL.createObjectURL(t.file);this.thumbnailFileById.set(t.fileId,t.file),n[t.fileId]=i}this.thumbnailUrls=n}revokeAllThumbnailUrls(){if(typeof URL>`u`||typeof URL.revokeObjectURL!=`function`){this.thumbnailUrls={},this.thumbnailFileById.clear();return}Object.values(this.thumbnailUrls).forEach(e=>URL.revokeObjectURL(e)),this.thumbnailUrls={},this.thumbnailFileById.clear()}getSrUploadedMessage(){if(this.addedAnnouncement)return this.addedAnnouncement;let{totalCount:e,uploadedCount:t}=pu(this.getCurrentFiles(),this.transfers);return e===0||t===0?``:Jl.srFilesUploadedOfTotal(t,e,Jl.fileLabel(e))}getSrErrorsMessage(){let{totalCount:e,failedCount:t}=pu(this.getCurrentFiles(),this.transfers);return e===0||t===0?``:Jl.srFilesFailedOfTotal(t,e,Jl.fileLabel(e))}syncFormSubmitListener(){let e=this.closest(`form`);this.connectedForm!==e&&(this.teardownFormSubmitListener(),this.connectedForm=e,this.connectedForm&&this.connectedForm.addEventListener(`submit`,this.onHostFormSubmit))}teardownFormSubmitListener(){this.connectedForm&&=(this.connectedForm.removeEventListener(`submit`,this.onHostFormSubmit),null)}};q([G({type:String})],$.prototype,`id`,void 0),q([G({type:String})],$.prototype,`name`,void 0),q([G({type:String})],$.prototype,`label`,void 0),q([G({type:String})],$.prototype,`helptext`,void 0),q([G({type:Boolean,reflect:!0})],$.prototype,`required`,void 0),q([G({type:Boolean,reflect:!0})],$.prototype,`multiple`,void 0),q([G({type:Boolean,reflect:!0})],$.prototype,`disabled`,void 0),q([G({type:Boolean,reflect:!0,attribute:`fullwidth`})],$.prototype,`fullwidth`,void 0),q([G({type:String,reflect:!0,attribute:`upload-strategy`})],$.prototype,`uploadStrategy`,void 0),q([G({type:String,reflect:!0,attribute:`item-renderer`})],$.prototype,`itemRenderer`,void 0),q([G({type:String})],$.prototype,`accept`,void 0),q([G({converter:$o.csvToArray,attribute:`allowed-formats`})],$.prototype,`allowedFormats`,void 0),q([G({type:String,attribute:`format-error-message`})],$.prototype,`formatErrorMessage`,void 0),q([G({attribute:`max-file-size`})],$.prototype,`maxFileSize`,void 0),q([G({type:String,attribute:`size-error-message`})],$.prototype,`sizeErrorMessage`,void 0),q([G({attribute:!1})],$.prototype,`onFileValidation`,void 0),q([G({attribute:!1})],$.prototype,`transfers`,void 0),q([G({type:Boolean,attribute:`add-comments-enabled`})],$.prototype,`addCommentsEnabled`,void 0),q([G({type:Boolean,attribute:`rename-files-enabled`})],$.prototype,`renameFilesEnabled`,void 0),q([G({attribute:!1})],$.prototype,`extraOperations`,void 0),q([G({type:Boolean,reflect:!0,attribute:`enable-image-preview`})],$.prototype,`enableImagePreview`,void 0),q([G({type:Boolean,attribute:`has-error`})],$.prototype,`hasError`,void 0),q([G({type:String,attribute:`error-message`})],$.prototype,`errorMessage`,void 0),q([G({type:Boolean,attribute:`optional-tag`})],$.prototype,`optionalTag`,void 0),q([G({type:Boolean,attribute:`required-tag`})],$.prototype,`requiredTag`,void 0),q([G({type:Number,attribute:`truncate-tail`})],$.prototype,`truncateTail`,void 0),q([G({attribute:!1})],$.prototype,`value`,void 0),q([G({attribute:!1})],$.prototype,`defaultValue`,void 0),q([K()],$.prototype,`files`,void 0),q([K()],$.prototype,`isDragActive`,void 0),q([K()],$.prototype,`validationErrorMessage`,void 0),q([K()],$.prototype,`addedAnnouncement`,void 0),q([K()],$.prototype,`thumbnailUrls`,void 0);var hu=`comments`,gu=e=>{let t=new Date(e);return Number.isNaN(t.getTime())?e:`${String(t.getDate()).padStart(2,`0`)}.${String(t.getMonth()+1).padStart(2,`0`)}.${t.getFullYear()} kl. ${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`},_u=(e,t,n)=>{e.key===`Enter`&&(e.preventDefault(),e.stopPropagation(),t()),e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),n())},vu=(e,t,n)=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),n()),(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),e.stopPropagation(),t())},yu=e=>({id:`remove`,title:`Slett`,ariaLabel:`Slett fil`,onClick:({file:t})=>e(t.fileId)}),bu=()=>({id:`rename`,title:`Rediger`,ariaLabel:`Rediger filnavn`,renderInlineUI:e=>{let t=e.getAttribute(`targetFilename`)||e.file.attributes?.targetFilename||e.file.file?.name||``,n=`pkt-fileupload-rename-${e.file.fileId}`,r=()=>{let t=document.getElementById(n)?.value?.trim();t&&e.setAttribute(`targetFilename`,t),e.close()};return H`
1538
- <label for=${n} class="pkt-sr-only">Endre filnavn</label>
1539
- <input
1540
- id=${n}
1541
- type="text"
1542
- class="pkt-fileupload__queue-display__item__rename-input"
1543
- ?disabled=${e.disabled}
1544
- .value=${t}
1545
- @keydown=${t=>_u(t,r,e.close)}
1546
- />
1547
- <button
1548
- type="button"
1549
- class="pkt-btn pkt-btn--secondary pkt-btn--small"
1550
- ?disabled=${e.disabled}
1551
- @click=${r}
1552
- >
1553
- Lagre
1554
- </button>
1555
- <button
1556
- type="button"
1557
- class="pkt-btn pkt-btn--tertiary pkt-btn--small"
1558
- ?disabled=${e.disabled}
1559
- @click=${e.close}
1560
- >
1561
- Avbryt
1562
- </button>
1563
- `},renderHidden:e=>{let t=e.getAttribute(`targetFilename`)||e.file.attributes?.targetFilename||e.file.file?.name||``;return H`<input
1564
- type="hidden"
1565
- name=${`${e.inputName}-targetFilename`}
1566
- value=${t}
1567
- />`}}),xu=()=>({id:`comment`,title:e=>(e.attributes?.[hu]??[]).length>0?``:`Legg til kommentar`,ariaLabel:`Legg til kommentar`,renderExtendedUI:e=>{let t=(e.getAttribute(hu)??[])[0],n=`pkt-fileupload-comment-${e.file.fileId}`,r=()=>{let t=document.getElementById(n)?.value?.trim();t&&e.setAttribute(hu,[{text:t,timestamp:new Date().toISOString()}]),e.close()};return H`
1568
- <label for=${n} class="pkt-fileupload__queue-display__item__comment-label">
1569
- ${t?`Rediger kommentar`:`Legg til kommentar`}
1570
- </label>
1571
- <textarea
1572
- id=${n}
1573
- class="pkt-fileupload__queue-display__item__comment-input"
1574
- ?disabled=${e.disabled}
1575
- .value=${t?.text??``}
1576
- rows="2"
1577
- placeholder="Skriv inn kommentar"
1578
- @keydown=${t=>vu(t,r,e.close)}
1579
- ></textarea>
1580
- <button
1581
- type="button"
1582
- class="pkt-btn pkt-btn--secondary pkt-btn--small"
1583
- ?disabled=${e.disabled}
1584
- @click=${r}
1585
- >
1586
- ${t?`Lagre kommentar`:`Legg til kommentar`}
1587
- </button>
1588
- <button
1589
- type="button"
1590
- class="pkt-btn pkt-btn--tertiary pkt-btn--small"
1591
- ?disabled=${e.disabled}
1592
- @click=${e.close}
1593
- >
1594
- Avbryt
1595
- </button>
1596
- `},renderContent:e=>{if(e.isActive)return null;let t=e.getAttribute(hu)??[];if(t.length===0)return null;let n=t[0];return H`
1597
- <div class="pkt-fileupload__queue-display__item__comments">
1598
- <div class="pkt-fileupload__queue-display__item__comment">
1599
- <div class="pkt-fileupload__queue-display__item__comment__content">
1600
- <span class="pkt-fileupload__queue-display__item__comment__text" aria-label="Kommentar tekst">
1601
- ${n.text}
1602
- </span>
1603
- <time class="pkt-fileupload__queue-display__item__comment__time">
1604
- ${gu(n.timestamp)}
1605
- </time>
1606
- </div>
1607
- <div class="pkt-fileupload__queue-display__item__comment__actions">
1608
- <button
1609
- type="button"
1610
- class="pkt-fileupload__queue-display__item__comment__action"
1611
- aria-label="Rediger kommentar"
1612
- ?disabled=${e.disabled}
1613
- @click=${e.activate}
1614
- >
1615
- <pkt-icon name="edit"></pkt-icon>
1616
- </button>
1617
- <button
1618
- type="button"
1619
- class="pkt-fileupload__queue-display__item__comment__action"
1620
- aria-label="Slett kommentar"
1621
- ?disabled=${e.disabled}
1622
- @click=${()=>e.setAttribute(hu,void 0)}
1623
- >
1624
- <pkt-icon name="trash-can"></pkt-icon>
1625
- </button>
1626
- </div>
1627
- </div>
1628
- </div>
1629
- `},renderHidden:e=>{let t=e.getAttribute(hu);return H`<input
1630
- type="hidden"
1631
- name=${`${e.inputName}-comments`}
1632
- value=${t?JSON.stringify(t):``}
1633
- />`}}),Su=(e,t)=>{let n=du(e,t);return n?H`<span
1634
- class="pkt-fileupload__queue-display__item__title__head"
1635
- data-pkt-truncate-part="first"
1636
- >${n.head}</span
1637
- ><span
1638
- class="pkt-fileupload__queue-display__item__title__tail"
1639
- data-pkt-truncate-part="tail"
1640
- >${n.tail}</span
1641
- >`:H`<span data-pkt-truncate-part="first">${e}</span>`},Cu=(e,t,n)=>H`
1642
- <p class="pkt-fileupload__queue-display__item__title">
1643
- ${Su(e,n)}${t?H`<span class="pkt-fileupload__queue-display__item__filesize"> (${t})</span>`:null}
1644
- </p>
1645
- `,wu=e=>typeof e==`number`?`in-progress`:e===`error`?`error`:`idle`,Tu=e=>H`<span class="pkt-fileupload__queue-display__item__loading-text" aria-label="Laster opp fil"
1646
- >${e??`Laster opp...`}</span
1647
- >`,Eu=({operationId:e,file:t,inputName:n,disabled:r,isActive:i,onActivateOperation:a,onCloseOperation:o,getFileAttribute:s,setFileAttribute:c})=>({file:t,inputName:n,disabled:r,isActive:i,activate:()=>a(t.fileId,e),close:()=>o(t.fileId),getAttribute:e=>s(t.fileId,e),setAttribute:(e,n)=>c(t.fileId,e,n)}),Du=({file:e,fileSize:t,disabled:n,transferProgress:r,transferShowProgress:i,loadingText:a,truncateTail:o,onCancel:s,iconName:c=`document-text`})=>{let l=mu(e),u=i??r!==0;return H`
1648
- <pkt-icon
1649
- name=${c}
1650
- class="pkt-fileupload__queue-display__item__icon pkt-icon--medium"
1651
- aria-hidden="true"
1652
- ></pkt-icon>
1653
- ${Cu(l,t,o)}
1654
- <button
1655
- type="button"
1656
- class="pkt-fileupload__queue-display__item__cancel-button"
1657
- aria-label="Avbryt opplasting"
1658
- ?disabled=${n}
1659
- @click=${()=>s(e.fileId)}
1660
- >
1661
- Avbryt
1662
- </button>
1663
- ${u?H`
1664
- <pkt-progressbar
1665
- class="pkt-fileupload__queue-display__item__progress"
1666
- valueCurrent=${Math.round(r*100)}
1667
- valueMax=${100}
1668
- statusType="none"
1669
- statusPlacement="following"
1670
- ></pkt-progressbar>
1671
- <span class="pkt-fileupload__queue-display__item__percentage" aria-hidden="true"
1672
- >${Math.round(r*100)}%</span
1673
- >
1674
- `:Tu(a)}
1675
- `},Ou=({file:e,fileSize:t,disabled:n,transferShowProgress:r,transferLastProgress:i,transferErrorMessage:a,truncateTail:o,onCancel:s})=>{let c=mu(e),l=!!r,u=Math.round((i??1)*100);return H`
1676
- <pkt-icon
1677
- name="alert-error"
1678
- class="pkt-fileupload__queue-display__item__icon pkt-icon--medium"
1679
- aria-hidden="true"
1680
- ></pkt-icon>
1681
- ${Cu(c,t,o)}
1682
- <button
1683
- type="button"
1684
- class="pkt-fileupload__queue-display__item__cancel-button"
1685
- aria-label="Fjern fil som feilet under opplasting"
1686
- ?disabled=${n}
1687
- @click=${()=>s(e.fileId)}
1688
- >
1689
- Fjern
1690
- </button>
1691
- ${l?H`
1692
- <pkt-progressbar
1693
- class="pkt-fileupload__queue-display__item__progress pkt-fileupload__queue-display__item__progress--error"
1694
- valueCurrent=${u}
1695
- valueMax=${100}
1696
- statusType="none"
1697
- statusPlacement="following"
1698
- ></pkt-progressbar>
1699
- `:null}
1700
- ${a?H`<span class="pkt-fileupload__queue-display__item__error-message"
1701
- >${a}</span
1702
- >`:null}
1703
- `},ku=({file:e,disabled:t,inputName:n,operations:r,activeOperationId:i,onActivateOperation:a,onCloseOperation:o,getFileAttribute:s,setFileAttribute:c})=>{let l=r.find(e=>e.id===i);if(l?.renderInlineUI||l?.renderExtendedUI)return null;let u=r.map(r=>{let l=Eu({operationId:r.id,file:e,inputName:n,disabled:t,isActive:r.id===i,onActivateOperation:a,onCloseOperation:o,getFileAttribute:s,setFileAttribute:c}),u=typeof r.title==`function`?r.title(e):r.title;return u?H`<button
1704
- type="button"
1705
- class="pkt-fileupload__queue-display__item__operation"
1706
- aria-label=${Y(typeof r.ariaLabel==`function`?r.ariaLabel(e):r.ariaLabel)}
1707
- ?disabled=${t}
1708
- @click=${()=>{(r.renderInlineUI||r.renderExtendedUI)&&l.activate(),r.onClick?.(l)}}
1709
- >
1710
- ${u}
1711
- </button>`:null}).filter(Boolean);return u.length===0?null:H`<div class="pkt-fileupload__queue-display__item__actions">${u}</div>`},Au=({file:e,disabled:t,inputName:n,operations:r,activeOperationId:i,onActivateOperation:a,onCloseOperation:o,getFileAttribute:s,setFileAttribute:c})=>r.map(r=>{if(!r.renderContent)return null;let l=Eu({operationId:r.id,file:e,inputName:n,disabled:t,isActive:r.id===i,onActivateOperation:a,onCloseOperation:o,getFileAttribute:s,setFileAttribute:c}),u=r.renderContent(l);return u==null?null:H`<div class="pkt-fileupload__queue-display__item__operation-content">
1712
- ${u}
1713
- </div>`}),ju=({file:e,disabled:t,inputName:n,operations:r,activeOperationId:i,onActivateOperation:a,onCloseOperation:o,getFileAttribute:s,setFileAttribute:c})=>{if(!i)return null;let l=r.find(e=>e.id===i);if(!l?.renderExtendedUI)return null;let u=Eu({operationId:l.id,file:e,inputName:n,disabled:t,isActive:!0,onActivateOperation:a,onCloseOperation:o,getFileAttribute:s,setFileAttribute:c});return H`<div class="pkt-fileupload__queue-display__item__expanded-operation-ui">
1714
- ${l.renderExtendedUI(u)}
1715
- </div>`},Mu=({file:e,disabled:t,inputName:n,operations:r,activeOperationId:i,onActivateOperation:a,onCloseOperation:o,getFileAttribute:s,setFileAttribute:c})=>r.map(r=>{if(!r.renderHidden)return null;let l=Eu({operationId:r.id,file:e,inputName:n,disabled:t,isActive:r.id===i,onActivateOperation:a,onCloseOperation:o,getFileAttribute:s,setFileAttribute:c});return r.renderHidden(l)}),Nu=(e,t,n)=>H`
1716
- <pkt-icon
1717
- name="document-text"
1718
- class="pkt-fileupload__queue-display__item__icon pkt-icon--medium"
1719
- aria-hidden="true"
1720
- ></pkt-icon>
1721
- ${Cu(mu(e),t,n)}
1722
- `,Pu=({file:e,thumbnailUrl:t,previewEnabled:n,canOpenPreview:r,truncateTail:i,onOpenPreview:a,onThumbnailImageError:o})=>{let s=mu(e),c=!!t,l=!!n&&!!r,u=l&&!!a;return H`
1723
- <div
1724
- class=${J({"pkt-fileupload__queue-display__item__thumbnail":!0,"pkt-fileupload__queue-display__item__thumbnail--fallback":!c})}
1725
- >
1726
- <button
1727
- type="button"
1728
- class="pkt-fileupload__queue-display__item__thumbnail__image-wrapper pkt-btn pkt-btn--medium pkt-btn--secondary pkt-btn--label-only"
1729
- aria-label=${`Forhåndsvis bilde ${s}`}
1730
- ?disabled=${!u}
1731
- @click=${()=>{!u||!a||a(e.fileId)}}
1732
- >
1733
- <span class="pkt-btn__text">
1734
- ${l?H`<pkt-icon
1735
- name="expand"
1736
- class="pkt-fileupload__queue-display__item__thumbnail__expand-icon"
1737
- aria-hidden="true"
1738
- ></pkt-icon>`:null}
1739
- ${c?H`<img
1740
- src=${Y(t)}
1741
- alt=${s}
1742
- @error=${()=>o?.(e.fileId)}
1743
- />`:H`<pkt-icon
1744
- name="document-text"
1745
- class="pkt-fileupload__queue-display__item__icon pkt-icon--medium"
1746
- aria-hidden="true"
1747
- ></pkt-icon>`}
1748
- </span>
1749
- </button>
1750
- <span class="pkt-fileupload__queue-display__item__thumbnail__title"
1751
- >${Su(s,i)}</span
1752
- >
1753
- </div>
1754
- `},Fu=({file:e,inputName:t,disabled:n,fileSize:r,operations:i,activeOperationId:a,onActivateOperation:o,onCloseOperation:s,getFileAttribute:c,setFileAttribute:l,transferProgress:u,transferErrorMessage:d,transferShowProgress:f,transferLastProgress:p,loadingText:m,truncateTail:h,onCancel:g})=>{let _=wu(u),v=i.find(e=>e.id===a),y=v?.renderInlineUI?v.renderInlineUI(Eu({operationId:v.id,file:e,inputName:t,disabled:n,isActive:!0,onActivateOperation:o,onCloseOperation:s,getFileAttribute:c,setFileAttribute:l})):null;return H`
1755
- <li
1756
- class=${J({"pkt-fileupload__queue-display__item":!0,"pkt-fileupload__queue-display__item--in-progress":_===`in-progress`,"pkt-fileupload__queue-display__item--error":_===`error`,[`pkt-fileupload__queue-display__item--${u}`]:typeof u==`string`})}
1757
- >
1758
- ${Mu({file:e,disabled:n,inputName:t,operations:i,activeOperationId:a,onActivateOperation:o,onCloseOperation:s,getFileAttribute:c,setFileAttribute:l})}
1759
- ${_===`in-progress`?Du({file:e,fileSize:r,disabled:n,transferProgress:u,transferShowProgress:f,loadingText:m,truncateTail:h,onCancel:g}):_===`error`?Ou({file:e,fileSize:r,disabled:n,transferShowProgress:f,transferLastProgress:p,transferErrorMessage:d,truncateTail:h,onCancel:g}):y?H`
1760
- <pkt-icon
1761
- name="document-text"
1762
- class="pkt-fileupload__queue-display__item__icon pkt-icon--medium"
1763
- aria-hidden="true"
1764
- ></pkt-icon>
1765
- <div class="pkt-fileupload__queue-display__item__inline-ui">
1766
- ${y}
1767
- </div>
1768
- `:Nu(e,r,h)}
1769
- ${_===`idle`?ku({file:e,disabled:n,inputName:t,operations:i,activeOperationId:a,onActivateOperation:o,onCloseOperation:s,getFileAttribute:c,setFileAttribute:l}):null}
1770
- ${_===`idle`?Au({file:e,disabled:n,inputName:t,operations:i,activeOperationId:a,onActivateOperation:o,onCloseOperation:s,getFileAttribute:c,setFileAttribute:l}):null}
1771
- ${_===`idle`?ju({file:e,disabled:n,inputName:t,operations:i,activeOperationId:a,onActivateOperation:o,onCloseOperation:s,getFileAttribute:c,setFileAttribute:l}):null}
1772
- </li>
1773
- `},Iu=({file:e,inputName:t,disabled:n,fileSize:r,thumbnailUrl:i,previewEnabled:a,canOpenPreview:o,operations:s,activeOperationId:c,onActivateOperation:l,onCloseOperation:u,getFileAttribute:d,setFileAttribute:f,transferProgress:p,transferErrorMessage:m,transferShowProgress:h,transferLastProgress:g,loadingText:_,truncateTail:v,onCancel:y,onOpenPreview:b,onThumbnailImageError:x})=>{let S=wu(p),C=s.find(e=>e.id===c),w=C?.renderInlineUI?C.renderInlineUI(Eu({operationId:C.id,file:e,inputName:t,disabled:n,isActive:!0,onActivateOperation:l,onCloseOperation:u,getFileAttribute:d,setFileAttribute:f})):null;return H`
1774
- <li
1775
- class=${J({"pkt-fileupload__queue-display__item":!0,"pkt-fileupload__queue-display__item--in-progress":S===`in-progress`,"pkt-fileupload__queue-display__item--error":S===`error`,[`pkt-fileupload__queue-display__item--${p}`]:typeof p==`string`})}
1776
- >
1777
- ${Mu({file:e,disabled:n,inputName:t,operations:s,activeOperationId:c,onActivateOperation:l,onCloseOperation:u,getFileAttribute:d,setFileAttribute:f})}
1778
- ${S===`in-progress`?Du({file:e,fileSize:r,disabled:n,transferProgress:p,transferShowProgress:h,loadingText:_,truncateTail:v,onCancel:y,iconName:`picture`}):S===`error`?Ou({file:e,fileSize:r,disabled:n,transferShowProgress:h,transferLastProgress:g,transferErrorMessage:m,truncateTail:v,onCancel:y}):w?H`
1779
- <pkt-icon
1780
- name="picture"
1781
- class="pkt-fileupload__queue-display__item__icon pkt-icon--medium"
1782
- aria-hidden="true"
1783
- ></pkt-icon>
1784
- <div class="pkt-fileupload__queue-display__item__inline-ui">
1785
- ${w}
1786
- </div>
1787
- `:Pu({file:e,thumbnailUrl:i,previewEnabled:a,canOpenPreview:o,truncateTail:v,onOpenPreview:b,onThumbnailImageError:x})}
1788
- ${S===`idle`?ku({file:e,disabled:n,inputName:t,operations:s,activeOperationId:c,onActivateOperation:l,onCloseOperation:u,getFileAttribute:d,setFileAttribute:f}):null}
1789
- ${S===`idle`?Au({file:e,disabled:n,inputName:t,operations:s,activeOperationId:c,onActivateOperation:l,onCloseOperation:u,getFileAttribute:d,setFileAttribute:f}):null}
1790
- ${S===`idle`?ju({file:e,disabled:n,inputName:t,operations:s,activeOperationId:c,onActivateOperation:l,onCloseOperation:u,getFileAttribute:d,setFileAttribute:f}):null}
1791
- </li>
1792
- `},Lu=class extends ${constructor(...e){super(...e),this.activeOperationByFileId={},this.isPreviewModalOpen=!1,this.previewCurrentIndex=0,this.failedImageFileIds={},this.closePreview=()=>{this.isPreviewModalOpen=!1},this.onPreviewKeyDown=(e,t)=>{if(this.isPreviewModalOpen){if(e.key===`Tab`){uu(e,e.currentTarget);return}switch(e.key){case`ArrowLeft`:e.preventDefault(),this.navigatePreview(`prev`,t);break;case`ArrowRight`:e.preventDefault(),this.navigatePreview(`next`,t);break;case`Escape`:e.preventDefault(),this.closePreview();break;default:break}}}}render(){let e=this.renderContent();return this.label?H`
1793
- <pkt-input-wrapper
1794
- .forId=${`${this.id}-input`}
1795
- .label=${this.label}
1796
- .helptext=${this.helptext}
1797
- ?disabled=${this.disabled}
1798
- ?hasError=${this.hasEffectiveError}
1799
- ?optionalTag=${this.optionalTag}
1800
- ?requiredTag=${this.requiredTag}
1801
- class=${J({"pkt-fileupload-wrapper":!0,"pkt-fileupload-wrapper--full-width":this.fullwidth})}
1802
- >
1803
- ${e}
1804
- </pkt-input-wrapper>
1805
- `:e}renderContent(){let e=this.getSortedFilesAndTransfers(),t=this.getPreviewableImages(e),n=this.getSupportedFormatsText(),r=[!this.label&&this.helptext?`${this.id}-helptext`:void 0,this.hasEffectiveError?`${this.id}-error`:void 0].filter(Boolean).join(` `)||void 0,i=this.itemRenderer===`thumbnail`?this.multiple?{dragInactive:Jl.dropZoneDragMultipleThumbnail,dragActive:Jl.dropZoneDragActiveMultipleThumbnail,openFileDialog:Jl.dropZoneOpenFileDialogMultipleThumbnail}:{dragInactive:Jl.dropZoneDragSingleThumbnail,dragActive:Jl.dropZoneDragActiveSingleThumbnail,openFileDialog:Jl.dropZoneOpenFileDialogSingleThumbnail}:this.multiple?{dragInactive:Jl.dropZoneDragMultiple,dragActive:Jl.dropZoneDragActiveMultiple,openFileDialog:Jl.dropZoneOpenFileDialogMultiple}:{dragInactive:Jl.dropZoneDragSingle,dragActive:Jl.dropZoneDragActiveSingle,openFileDialog:Jl.dropZoneOpenFileDialogSingle};return H`
1806
- <div
1807
- class=${J({"pkt-fileupload":!0,"pkt-fileupload--full-width":this.fullwidth,"pkt-fileupload--error":this.hasEffectiveError,"pkt-fileupload--disabled":this.disabled})}
1808
- aria-disabled=${String(this.disabled)}
1809
- ?inert=${this.disabled}
1810
- >
1811
- <div class="pkt-sr-only" aria-live="polite" aria-atomic="true">
1812
- ${this.getSrUploadedMessage()}
1813
- </div>
1814
- <div class="pkt-sr-only" aria-live="assertive" aria-atomic="true">
1815
- ${this.getSrErrorsMessage()}
1816
- </div>
1817
- <div
1818
- class=${J({"pkt-fileupload__drop-zone":!0,"pkt-fileupload__drop-zone--drag-active":this.isDragActive,"pkt-fileupload__drop-zone--disabled":this.disabled})}
1819
- @dragover=${this.onDragOver}
1820
- @dragleave=${this.onDragLeave}
1821
- @drop=${this.onDrop}
1822
- @click=${this.onDropZoneClick}
1823
- >
1824
- <input
1825
- id=${`${this.id}-input`}
1826
- type="file"
1827
- name=${Y(this.uploadStrategy===`form`?this.name:void 0)}
1828
- ?multiple=${this.multiple}
1829
- ?disabled=${this.disabled}
1830
- ?required=${this.required&&this.uploadStrategy===`form`}
1831
- accept=${this.getResolvedAcceptValue()}
1832
- aria-label=${Y(this.label?void 0:this.multiple?`Velg filer`:`Velg fil`)}
1833
- aria-required=${Y(this.required?`true`:void 0)}
1834
- aria-invalid=${Y(this.hasEffectiveError?`true`:void 0)}
1835
- aria-describedby=${Y(r)}
1836
- @change=${this.onNativeFileChange}
1837
- />
1838
- ${this.uploadStrategy===`custom`?e.map(e=>H`<input type="hidden" name=${this.name} value=${e.fileId} />`):null}
1839
- <div class="pkt-fileupload__drop-zone__placeholder">
1840
- <pkt-icon
1841
- name="attachment"
1842
- class="pkt-fileupload__drop-zone__placeholder__icon"
1843
- aria-hidden="true"
1844
- ></pkt-icon>
1845
- <p class="pkt-fileupload__drop-zone__placeholder__title">
1846
- ${this.isDragActive?`${i.dragActive} ...`:H`${i.dragInactive}
1847
- <button
1848
- type="button"
1849
- class="pkt-fileupload__drop-zone__placeholder__title__open-file-dialog"
1850
- @click=${this.openFileDialog}
1851
- >
1852
- ${i.openFileDialog}
1853
- </button>`}
1854
- </p>
1855
- ${n?H`<p class="pkt-fileupload__drop-zone__placeholder__formats">
1856
- ${Jl.supportedFormatsPrefix} ${n}
1857
- </p>`:null}
1858
- </div>
1859
- </div>
1860
- ${this.hasEffectiveError?H`
1861
- <pkt-alert
1862
- skin="error"
1863
- role="alert"
1864
- aria-live="assertive"
1865
- compact
1866
- id=${`${this.id}-error`}
1867
- class="pkt-alert--error pkt-fileupload__error-alert"
1868
- >
1869
- ${this.effectiveErrorMessage}
1870
- </pkt-alert>
1871
- `:null}
1872
- ${e.length>0?H`<ul class="pkt-fileupload__queue-display">
1873
- ${e.map(e=>this.renderQueueItem(e,t))}
1874
- </ul>`:null}
1875
- ${this.renderPreviewModal(t)}
1876
- </div>
1877
- `}renderQueueItem(e,t){let n=typeof e.file?.size==`number`?this.formatFileSize(e.file.size):``,r=this.getQueueItemOperations();if(this.itemRenderer===`thumbnail`){let i=this.canOpenPreview(e),a=this.failedImageFileIds[e.fileId]?.thumbnail?void 0:this.getThumbnailUrl(e);return Iu({file:e,inputName:this.name,disabled:this.disabled,fileSize:n,operations:r,activeOperationId:this.activeOperationByFileId[e.fileId],onActivateOperation:(e,t)=>this.activateOperation(e,t),onCloseOperation:e=>this.closeOperation(e),getFileAttribute:(e,t)=>this.getFileAttribute(e,t),setFileAttribute:(e,t,n)=>this.setFileAttribute(e,t,n),thumbnailUrl:a,previewEnabled:this.enableImagePreview,canOpenPreview:i,transferProgress:e.progress,transferErrorMessage:e.errorMessage,transferShowProgress:e.showProgress,transferLastProgress:e.lastProgress,loadingText:`Laster opp`,truncateTail:this.truncateTail,onCancel:e=>this.cancelTransfer(e),onOpenPreview:e=>this.openPreview(e,t),onThumbnailImageError:e=>this.markImageFailed(e,`thumbnail`)})}return Fu({file:e,inputName:this.name,disabled:this.disabled,fileSize:n,operations:r,activeOperationId:this.activeOperationByFileId[e.fileId],onActivateOperation:(e,t)=>this.activateOperation(e,t),onCloseOperation:e=>this.closeOperation(e),getFileAttribute:(e,t)=>this.getFileAttribute(e,t),setFileAttribute:(e,t,n)=>this.setFileAttribute(e,t,n),transferProgress:e.progress,transferErrorMessage:e.errorMessage,transferShowProgress:e.showProgress,transferLastProgress:e.lastProgress,loadingText:`Laster opp`,truncateTail:this.truncateTail,onCancel:e=>this.cancelTransfer(e)})}markImageFailed(e,t){this.failedImageFileIds={...this.failedImageFileIds,[e]:{...this.failedImageFileIds[e],[t]:!0}}}getPreviewableImages(e){return this.enableImagePreview?e.filter(e=>e.progress===`done`&&this.isImageFile(e)):[]}canOpenPreview(e){return this.enableImagePreview&&e.progress===`done`&&this.isImageFile(e)}openPreview(e,t){let n=t.findIndex(t=>t.fileId===e);n<0||(this.previewCurrentIndex=n,this.isPreviewModalOpen=!0,this.failedImageFileIds={...this.failedImageFileIds,[e]:{...this.failedImageFileIds[e],preview:!1}})}navigatePreview(e,t){t.length!==0&&(this.previewCurrentIndex=fu(this.previewCurrentIndex,e,t.length))}renderPreviewModal(e){if(!this.enableImagePreview||e.length===0)return null;let t=e[this.previewCurrentIndex];if(!t)return null;let n=e.length>1,r=this.getThumbnailUrl(t),i=!!r&&!this.failedImageFileIds[t.fileId]?.preview,a=t.attributes?.targetFilename||t.file?.name||`Forhåndsvisning`;return H`
1878
- <pkt-modal
1879
- .open=${this.isPreviewModalOpen}
1880
- .headingText=${a}
1881
- closeOnBackdropClick
1882
- class="pkt-fileupload__image-preview-modal"
1883
- @close=${this.closePreview}
1884
- @keydown=${t=>this.onPreviewKeyDown(t,e)}
1885
- >
1886
- <div class="pkt-fileupload__image-preview">
1887
- ${n?H`<button
1888
- type="button"
1889
- class="pkt-fileupload__image-preview__nav pkt-fileupload__image-preview__nav--prev pkt-btn pkt-btn--medium pkt-btn--secondary pkt-btn--icon-only"
1890
- aria-label=${`Forrige bilde ${this.previewCurrentIndex} / ${e.length}`}
1891
- @click=${()=>this.navigatePreview(`prev`,e)}
1892
- >
1893
- <pkt-icon
1894
- class="pkt-btn__icon pkt-icon"
1895
- name="chevron-thin-left"
1896
- aria-hidden="true"
1897
- ></pkt-icon>
1898
- <span class="pkt-btn__text"></span>
1899
- </button>`:null}
1900
-
1901
- <div class="pkt-fileupload__image-preview__content">
1902
- ${i?H`<img
1903
- src=${r}
1904
- alt=${`${a} - ${this.previewCurrentIndex+1} av ${e.length}`}
1905
- class="pkt-fileupload__image-preview__image"
1906
- @error=${()=>this.markImageFailed(t.fileId,`preview`)}
1907
- />`:H`<pkt-icon
1908
- name="picture"
1909
- class="pkt-fileupload__queue-display__item__icon pkt-icon--medium"
1910
- aria-hidden="true"
1911
- ></pkt-icon>`}
1912
- </div>
1913
-
1914
- ${n?H`<span class="pkt-fileupload__image-preview__counter">
1915
- ${this.previewCurrentIndex+1} / ${e.length}
1916
- </span>`:null}
1917
- ${n?H`<button
1918
- type="button"
1919
- class="pkt-fileupload__image-preview__nav pkt-fileupload__image-preview__nav--next pkt-btn pkt-btn--medium pkt-btn--secondary pkt-btn--icon-only"
1920
- aria-label=${`Neste bilde ${this.previewCurrentIndex+2} / ${e.length}`}
1921
- @click=${()=>this.navigatePreview(`next`,e)}
1922
- >
1923
- <pkt-icon
1924
- class="pkt-btn__icon pkt-icon"
1925
- name="chevron-thin-right"
1926
- aria-hidden="true"
1927
- ></pkt-icon>
1928
- <span class="pkt-btn__text"></span>
1929
- </button>`:null}
1930
- </div>
1931
- </pkt-modal>
1932
- `}getQueueItemOperations(){let e=[];return this.renameFilesEnabled&&this.itemRenderer!==`thumbnail`&&e.push(bu()),this.addCommentsEnabled&&this.itemRenderer!==`thumbnail`&&e.push(xu()),e.push(...this.extraOperations),e.push(yu(e=>this.removeFileItem(e))),e}activateOperation(e,t){this.activeOperationByFileId={...this.activeOperationByFileId,[e]:t}}closeOperation(e){this.activeOperationByFileId={...this.activeOperationByFileId,[e]:void 0}}getFileAttribute(e,t){let n=this.getCurrentFiles().find(t=>t.fileId===e);if(n)return n.attributes?.[t]??void 0}setFileAttribute(e,t,n){let r=this.getCurrentFiles().find(t=>t.fileId===e);if(!r)return;let i={...r.attributes,[t]:n};n===void 0&&delete i[t],this.updateFileItem(e,{attributes:i})}};q([K()],Lu.prototype,`activeOperationByFileId`,void 0),q([K()],Lu.prototype,`isPreviewModalOpen`,void 0),q([K()],Lu.prototype,`previewCurrentIndex`,void 0),q([K()],Lu.prototype,`failedImageFileIds`,void 0),Lu=q([W(`pkt-fileupload`)],Lu);var Ru={i18n:{nb:{contentPresentation:{title:`Oslo kommune bruker informasjonskapsler`,description:[`For at nettstedet skal fungere og være trygt, bruker Oslo kommune informasjonskapsler. Noen er teknisk nødvendige, mens andre sikrer ulik funksjonalitet.`,`Godtar du alle informasjonskapsler, tillater du også at vi samler inn data om statistikk og brukeradferd. Da hjelper du oss med å lage et bedre nettsted uten at du trenger å dele noe personlig informasjon med oss.`],buttons:{accept:`Godta alle`,reject:`Kun nødvendige`,settings:`Innstillinger for informasjonskapsler`}},contentSettings:{title:`Innstillinger for informasjonskapsler`,description:[`Her kan du velge hvilke typer informasjonskapsler du vil tillate. Tillatelsen gjelder i 90 dager. Husk at nødvendige informasjonskapsler ikke kan velges bort.`,`Du kan når som helst endre innstillingene og finne mer informasjon nederst på nettstedet under «Innstillinger for informasjonskapsler» og «Personvern og informasjonskapsler».`],buttons:{back:`Tilbake`,save:`Lagre innstillinger`}}},en:{contentPresentation:{title:`Before you visit Oslo kommune ...`,description:[`This website uses cookies to make improvements. In this context, we need your consent to measure the traffic on the website in relation to statistics and feedback.`,`To read more about what we use cookies for, go to our privacy declaration which you will find at the bottom of our websites.`],buttons:{accept:`Yes, I accept`,reject:`Only necessary`,settings:`Go to settings`}},contentSettings:{title:`Her kan du aktivt velge mellom ulike informasjonskapsler`,description:[`For å lese mer om hva vi bruker informasjonskapsler til gå til vår personvernserklering som du finner på våre nettsider`],buttons:{back:`Back`,save:`Save settings`}}}},cookies:[{name:`statistics`,defaultValue:null,i18n:{nb:{title:`Statistikk og analyse`,description:`Jeg godtar at Oslo kommune bruker informasjonskapsler til å innhente data om statistikk og brukeradferd.`,buttons:{yes:`Ja`,no:`Nei`}},en:{title:`Statistics and analytics`,description:`Select your preference for statistics and analytics`,buttons:{yes:`Yes`,no:`No`}}}},{name:`survey`,defaultValue:null,i18n:{nb:{title:`Skriftlige tilbakemeldinger`,description:`Jeg godtar at Oslo kommune bruker informasjonskapsler til å vise responsfelt og registrere tilbakemeldinger.`,buttons:{yes:`Ja`,no:`Nei`}},en:{title:`Survey`,description:`Select your preference for survey`,buttons:{yes:`Yes`,no:`No`}}}},{name:`functional`,defaultValue:!0,i18n:{nb:{title:`Funksjonelle informasjonskapsler`,description:`Jeg godtar at Oslo kommune bruker informasjonskapsler for å gjøre ulike funksjoner på nettstedet mulige (for eksempel skjemaer og barnehagevelger).`,buttons:{yes:`Ja`,no:`Nei`}},en:{title:`Functional cookies`,description:`For the website to function optimally, we recommend that you accept these cookies`,buttons:{yes:`Yes`,no:`No`}}}}]},zu=null;function Bu(){return zu||(zu=new Promise((e,t)=>{if(document.querySelector(`#oslo-consent-script`)){e();return}let n=document.createElement(`script`);n.src=`https://cdn.web.oslo.kommune.no/cb/cb-v1.1.0.js`,n.id=`oslo-consent-script`,n.onload=()=>e(),n.onerror=t,document.head.appendChild(n);let r=document.createElement(`link`);r.href=`https://cdn.web.oslo.kommune.no/cb/cb-v1.1.0.css`,r.type=`text/css`,r.rel=`stylesheet`,r.id=`oslo-consent-styles`,document.head.appendChild(r)}),zu)}var Vu=class extends di{constructor(){super(),this.devMode=!1,this.hotjarId=null,this.googleAnalyticsId=null,this.cookieDomain=null,this.cookieSecure=null,this.cookieExpiryDays=null,this.triggerType=`button`,this.triggerText=null,this.i18nLanguage=`nb`}connectedCallback(){super.connectedCallback(),this.triggerText=this.triggerText||Ru.i18n[this.i18nLanguage].contentPresentation.buttons.settings}disconnectedCallback(){super.disconnectedCallback(),this._cookieEventHandler&&window.__cookieEvents?.off(`CookieManager.setCookie`,this._cookieEventHandler)}returnJsonOrObject(e){let t;try{t=JSON.parse(e)}catch{t=e}return t}emitCookieConsents(e){let t=this.returnJsonOrObject(e.value).items.reduce((e,t)=>(e[t.name]=t.consent,e),{});this.dispatchEvent(new CustomEvent(`toggle-consent`,{detail:t,bubbles:!0,cancelable:!1}))}async firstUpdated(e){window.cookieBanner_googleAnalyticsId=this.googleAnalyticsId,window.cookieBanner_hotjarId=this.hotjarId,this.cookieDomain&&(window.cookieBanner_cookieDomain=this.cookieDomain),this.cookieSecure&&(window.cookieBanner_cookieSecure=this.cookieSecure),this.cookieExpiryDays&&(window.cookieBanner_cookieExpiryDays=this.cookieExpiryDays),this.devMode&&(window.cookieBanner_devMode=this.devMode),await Bu(),this.triggerInit()}triggerInit(){window.document.dispatchEvent(new Event(`CookieBannerReady`,{bubbles:!0,cancelable:!0})),window.cookieBanner.cookieConsent.validateConsentCookie().then(e=>{if(e){let e={value:window.cookieBanner.cookieConsent.getConsentCookie()};window.setTimeout(()=>this.emitCookieConsents(e),0),this._cookieEventHandler&&window.__cookieEvents.off(`CookieManager.setCookie`,this._cookieEventHandler),this._cookieEventHandler=e=>{this.emitCookieConsents(e)},window.__cookieEvents.on(`CookieManager.setCookie`,this._cookieEventHandler)}})}openModal(e){e.preventDefault(),window.cookieBanner?.cookieConsent||this.triggerInit(),setTimeout(()=>window.cookieBanner.openCookieModal())}render(){return this.triggerType===`link`?H`<a href="#" class="pkt-link" @click=${this.openModal}>${this.triggerText}</a>`:this.triggerType===`footerlink`?H`<a href="#" class="pkt-footer__link" @click=${this.openModal}>
1933
- <pkt-icon name="chevron-right" class="pkt-footer__link-icon"></pkt-icon>
1934
- ${this.triggerText}
1935
- </a>`:this.triggerType===`icon`?H`<pkt-button
1936
- skin="tertiary"
1937
- variant="icon-only"
1938
- iconName="cookie"
1939
- @click=${this.openModal}
1940
- >
1941
- >${this.triggerText}</pkt-button
1942
- >`:H`<pkt-button @click=${this.openModal}>${this.triggerText}</pkt-button>`}};q([G({type:Boolean})],Vu.prototype,`devMode`,void 0),q([G({type:String})],Vu.prototype,`hotjarId`,void 0),q([G({type:String})],Vu.prototype,`googleAnalyticsId`,void 0),q([G({type:String})],Vu.prototype,`cookieDomain`,void 0),q([G({type:String})],Vu.prototype,`cookieSecure`,void 0),q([G({type:String})],Vu.prototype,`cookieExpiryDays`,void 0),q([G({type:String})],Vu.prototype,`triggerType`,void 0),q([G({type:String})],Vu.prototype,`triggerText`,void 0),q([G({type:String})],Vu.prototype,`i18nLanguage`,void 0);try{W(`pkt-consent`)(Vu)}catch{console.warn(`Forsøker å definere <pkt-consent>, men den er allerede definert`)}var Hu=class extends Q{constructor(...e){super(...e),this.inputRef=X(),this.value=``,this.checkHelptext=null,this.defaultChecked=!1,this.hasTile=!1,this.isSwitch=!1,this.labelPosition=`right`,this.hideLabel=!1,this.checked=null,this.indeterminate=!1,this.type=`checkbox`,this.tagText=null,this.optionalTag=!1,this.optionalText=`Valgfritt`,this.requiredTag=!1,this.requiredText=`Må fylles ut`}connectedCallback(){super.connectedCallback()}attributeChangedCallback(e,t,n){e===`defaultChecked`&&!this.checked&&(this.checked=this.defaultChecked),e===`checked`&&(this.checked=this.checked===``||this.checked===`true`||this.checked===!0,this.inputRef.value&&(this.inputRef.value.checked=this.checked)),e===`indeterminate`&&(this.indeterminate=this.indeterminate===``||this.indeterminate===`true`||this.indeterminate===!0,this.inputRef.value&&(this.inputRef.value.indeterminate=this.indeterminate)),super.attributeChangedCallback(e,t,n)}firstUpdated(e){e.has(`defaultChecked`)&&!this.checked&&(this.checked=this.defaultChecked),this.inputRef.value&&(this.inputRef.value.indeterminate=this.indeterminate===``||this.indeterminate===`true`||this.indeterminate===!0),super.firstUpdated(e)}updated(e){e.has(`defaultChecked`)&&!this.checked&&(this.checked=this.defaultChecked),e.has(`checked`)&&this.inputRef.value&&(this.inputRef.value.checked=this.checked===``||this.checked===`true`||this.checked===!0),e.has(`indeterminate`)&&this.inputRef.value&&(this.inputRef.value.indeterminate=this.indeterminate===``||this.indeterminate===`true`||this.indeterminate===!0),super.updated(e)}render(){let e=J({"pkt-input-check__input":!0,"pkt-input-check__input--tile":this.hasTile,"pkt-input-check__input--tile-disabled":this.disabled&&this.hasTile}),t=J({"pkt-input-check__input-checkbox":!0,"pkt-input-check__input-checkbox--error":this.hasError}),n=J({"pkt-input-check__input-label":!0,"pkt-input-check__input-label--disabled":this.disabled,"pkt-input-check__input-label--left":this.labelPosition===`left`,"pkt-input-check__input-label--right":this.labelPosition===`right`,"pkt-sr-only":this.hideLabel}),r=`pkt-tag pkt-tag--small pkt-tag--thin-text`,i=()=>H`
1943
- ${this.tagText?H`<span class=${r+` pkt-tag--gray`}>${this.tagText}</span>`:U}
1944
- ${this.optionalTag?H`<span class=${r+` pkt-tag--blue-light`}>${this.optionalText}</span>`:U}
1945
- ${this.requiredTag?H`<span class=${r+` pkt-tag--beige`}>${this.requiredText}</span>`:U}
1946
- `,a=()=>H`
1947
- <label class=${n} for=${this.id+`-internal`}>
1948
- ${this.label} ${i()}
1949
- ${this.checkHelptext?H`<div class="pkt-input-check__input-helptext">${this.checkHelptext}</div>`:U}
1950
- </label>
1951
- `;return H`
1952
- <div class="pkt-input-check">
1953
- <div class=${e}>
1954
- ${this.labelPosition===`left`?a():U}
1955
- <input
1956
- id=${this.id+`-internal`}
1957
- class=${t}
1958
- type="checkbox"
1959
- ?disabled=${this.disabled}
1960
- name=${this.name+`-internal`}
1961
- ${Z(this.inputRef)}
1962
- @change=${this.handleChange}
1963
- @click=${this.handleClick}
1964
- @blur=${this.onBlur}
1965
- @focus=${this.onFocus}
1966
- ?checked=${this.checked}
1967
- role=${this.isSwitch?`switch`:`checkbox`}
1968
- />
1969
- ${this.labelPosition===`right`?a():U}
1970
- </div>
1971
- </div>
1972
- `}handleClick(e){if(this.disabled)return e.preventDefault(),e.stopImmediatePropagation(),!1}handleChange(e){if(this.disabled)return e.preventDefault(),e.stopImmediatePropagation(),!1;this.toggleChecked(e)}toggleChecked(e){if(this.disabled){e.preventDefault(),e.stopImmediatePropagation();return}let t=e.target;if(t&&t.disabled){e.preventDefault(),e.stopImmediatePropagation();return}e.stopImmediatePropagation(),this.touched=!0,this.inputRef.value&&(this.checked=this.inputRef.value.matches(`:checked`),this.valueChecked(this.checked))}};q([G({type:String,reflect:!0})],Hu.prototype,`value`,void 0),q([G({type:String})],Hu.prototype,`checkHelptext`,void 0),q([G({type:Boolean})],Hu.prototype,`defaultChecked`,void 0),q([G({type:Boolean})],Hu.prototype,`hasTile`,void 0),q([G({type:Boolean})],Hu.prototype,`isSwitch`,void 0),q([G({type:String})],Hu.prototype,`labelPosition`,void 0),q([G({type:Boolean})],Hu.prototype,`hideLabel`,void 0),q([G({type:Boolean,reflect:!0})],Hu.prototype,`checked`,void 0),q([G({type:Boolean,reflect:!0})],Hu.prototype,`indeterminate`,void 0),q([G({type:String,reflect:!0})],Hu.prototype,`type`,void 0),q([G({type:String})],Hu.prototype,`tagText`,void 0),q([G({type:Boolean})],Hu.prototype,`optionalTag`,void 0),q([G({type:String})],Hu.prototype,`optionalText`,void 0),q([G({type:Boolean})],Hu.prototype,`requiredTag`,void 0),q([G({type:String})],Hu.prototype,`requiredText`,void 0);try{W(`pkt-checkbox`)(Hu)}catch{console.warn(`Forsøker å definere <pkt-checkbox>, men den er allerede definert`)}var Uu=class extends Bi{constructor(...e){super(...e),this.title=``,this.href=`#`,this.iconName=``,this.external=!1,this.openInNewTab=!1,this.skin=`normal`}render(){let e=[`pkt-linkcard`,this.skin&&`pkt-linkcard--${this.skin}`].filter(Boolean).join(` `),t=[`pkt-linkcard__title`,this.external&&`pkt-link pkt-link--external`].filter(Boolean).join(` `);return H`
1973
- <a
1974
- href=${this.href}
1975
- class=${e}
1976
- target=${this.openInNewTab?`_blank`:`_self`}
1977
- rel=${Y(this.openInNewTab?`noopener noreferrer`:void 0)}
1978
- >
1979
- ${this.iconName&&H`<pkt-icon class="pkt-link__icon" name="${this.iconName}" />`}
1980
- ${this.title&&H`<div class=${t}>${this.title}</div>`}
1981
-
1982
- <div class="pkt-linkcard__text">${zi(this)}</div>
1983
- </a>
1984
- `}};q([G({type:String,reflect:!0})],Uu.prototype,`title`,void 0),q([G({type:String,reflect:!0})],Uu.prototype,`href`,void 0),q([G({type:String,reflect:!0})],Uu.prototype,`iconName`,void 0),q([G({type:Boolean,reflect:!0})],Uu.prototype,`external`,void 0),q([G({type:Boolean,reflect:!0})],Uu.prototype,`openInNewTab`,void 0),q([G({type:String,reflect:!0})],Uu.prototype,`skin`,void 0);try{W(`pkt-linkcard`)(Uu)}catch{console.warn(`Forsøker å definere <pkt-linkcard>, men den er allerede definert`)}window.pktAnimationPath=window.pktAnimationPath||`https://punkt-cdn.oslo.kommune.no/16.21/animations/`;var Wu=class extends Bi{constructor(...e){super(...e),this.delay=0,this.inline=!1,this.isLoading=!0,this.message=null,this.size=`medium`,this.variant=`shapes`,this.loadingAnimationPath=window.pktAnimationPath,this._shouldDisplayLoader=!1}connectedCallback(){super.connectedCallback(),this._shouldDisplayLoader=this.delay===0,this.delay>0&&this.setupLoader()}updated(e){e.has(`delay`)&&this.setupLoader()}render(){let e=J({"pkt-loader":!0,[`pkt-loader--${this.inline?`inline`:`box`}`]:!0,[`pkt-loader--${this.size}`]:!0}),t=J({"pkt-contents":!0,"pkt-hide":this.isLoading});return H`<div
1985
- role="status"
1986
- aria-live="polite"
1987
- aria-busy=${this.isLoading?`true`:`false`}
1988
- class=${e}
1989
- >
1990
- ${this.isLoading&&this._shouldDisplayLoader?H`<div class="pkt-loader__spinner">
1991
- <pkt-icon
1992
- name=${this.getVariant(this.variant)}
1993
- path=${this.loadingAnimationPath}
1994
- class="pkt-loader__svg pkt-loader__${this.variant}"
1995
- ></pkt-icon>
1996
- ${this.message&&H`<p>${this.message}</p>`}
1997
- </div>`:U}
1998
- <div class=${t}>${zi(this)}</div>
1999
- </div>`}getVariant(e){switch(e){case`blue`:return`spinner-blue`;case`rainbow`:return`spinner`;default:return`loader`}}setupLoader(){this.delay>0&&(this._shouldDisplayLoader=!1,setTimeout(()=>{this._shouldDisplayLoader=!0,this.requestUpdate()},this.delay))}};q([G({type:Number})],Wu.prototype,`delay`,void 0),q([G({type:Boolean})],Wu.prototype,`inline`,void 0),q([G({type:Boolean})],Wu.prototype,`isLoading`,void 0),q([G({type:String})],Wu.prototype,`message`,void 0),q([G({type:String})],Wu.prototype,`size`,void 0),q([G({type:String})],Wu.prototype,`variant`,void 0),q([G({type:String})],Wu.prototype,`loadingAnimationPath`,void 0),q([K()],Wu.prototype,`_shouldDisplayLoader`,void 0);try{W(`pkt-loader`)(Wu)}catch{console.warn(`Forsøker å definere <pkt-loader>, men den er allerede definert`)}var Gu={name:`pkt-messagebox`,react:`PktMessagebox`,"css-class":`pkt-messagebox`,isElement:!0,isPureReact:!0,events:{onClose:{description:`React: Event som trigges når meldingsboksen lukkes`},"on-close":{description:`Vue: Event som trigges når meldingsboksen lukkes`}},props:{title:{name:`Tittel`,description:`Tittelen på meldingsboksen`,type:`string`,category:`contents`},skin:{name:`Utseende`,description:`Velg farge på meldingsboksen`,type:[`beige`,`blue`,`red`,`green`],category:`ui`,default:`beige`},compact:{name:`Kompakt`,description:`Gjør meldingsboksen mindre`,type:`boolean`,category:`ui`,default:!1},closable:{name:`Kan lukkes`,description:`Viser lukkeknapp`,type:`boolean`,category:`ui`,default:!1}},slots:{default:{description:`Innholdet i meldingsboksen`}}},Ku=class extends Bi{constructor(){super(),this.closable=Gu.props.closable.default,this.compact=Gu.props.compact.default,this.title=``,this.skin=Gu.props.skin.default,this._isClosed=!1,this.close=e=>{this._isClosed=!0,this.dispatchEvent(new CustomEvent(`close`,{detail:{origin:e},bubbles:!0})),this.dispatchEvent(new CustomEvent(`on-close`,{detail:{origin:e},bubbles:!0}))},this._isClosed=!1}updated(e){super.updated(e),e.has(`_isClosed`)&&Vi(this,`pkt-hide`,this._isClosed)}render(){return H`<div class=${J({"pkt-messagebox":!0,"pkt-messagebox--compact":this.compact,[`pkt-messagebox--${this.skin}`]:this.skin,"pkt-messagebox--closable":this.closable,"pkt-hide":this._isClosed})}>
2000
- ${this.closable?H`<div class="pkt-messagebox__close">
2001
- <button
2002
- @click=${this.close}
2003
- class="pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only"
2004
- aria-label="Lukk"
2005
- >
2006
- <pkt-icon name="close" class="pkt-link__icon"></pkt-icon>
2007
- </button>
2008
- </div>`:U}
2009
- ${this.title?H`<div class="pkt-messagebox__title">${this.title}</div>`:U}
2010
- <div class="pkt-messagebox__text">${zi(this)}</div>
2011
- </div>`}};q([G({type:Boolean,reflect:!0})],Ku.prototype,`closable`,void 0),q([G({type:Boolean,reflect:!0})],Ku.prototype,`compact`,void 0),q([G({type:String,reflect:!0})],Ku.prototype,`title`,void 0),q([G({type:String,reflect:!0})],Ku.prototype,`skin`,void 0),q([K()],Ku.prototype,`_isClosed`,void 0);try{W(`pkt-messagebox`)(Ku)}catch{console.warn(`Forsøker å definere <pkt-messagebox>, men den er allerede definert`)}var qu=class extends Q{constructor(...e){super(...e),this.inputRef=X(),this.value=``,this.checkHelptext=null,this.defaultChecked=!1,this.hasTile=!1,this.checked=null,this.type=`radio`,this.tagText=null,this.optionalTag=!1,this.optionalText=`Valgfritt`,this.requiredTag=!1,this.requiredText=`Må fylles ut`,this._checked=!1}connectedCallback(){super.connectedCallback()}attributeChangedCallback(e,t,n){e===`defaultChecked`&&(this._checked=this.defaultChecked),e===`checked`&&(this._checked=this.checked===``||this.checked===`true`||this.checked===!0),super.attributeChangedCallback(e,t,n)}render(){let e=J({"pkt-input-check__input":!0,"pkt-input-check__input--tile":this.hasTile,"pkt-input-check__input--tile-disabled":this.disabled&&this.hasTile}),t=J({"pkt-input-check__input-checkbox":!0,"pkt-input-check__input-checkbox--error":this.hasError}),n=J({"pkt-input-check__input-label":!0,"pkt-input-check__input-label--disabled":this.disabled,"pkt-sr-only":this.hideLabel}),r=`pkt-tag pkt-tag--small pkt-tag--thin-text`;return H`
2012
- <div class="pkt-input-check">
2013
- <div class=${e}>
2014
- <input
2015
- id=${this.id+`-internal`}
2016
- class=${t}
2017
- type="radio"
2018
- role="radio"
2019
- ?disabled=${this.disabled}
2020
- form=""
2021
- name=${this.name+`-internal`}
2022
- ${Z(this.inputRef)}
2023
- @change=${this.toggleChecked}
2024
- @input=${this.onInput}
2025
- @blur=${this.onBlur}
2026
- @focus=${this.onFocus}
2027
- ?checked=${this.checked}
2028
- />
2029
- ${H`
2030
- <label class=${n} for=${this.id+`-internal`}>
2031
- ${this.label} ${H`
2032
- ${this.tagText?H`<span class=${r+` pkt-tag--gray`}>${this.tagText}</span>`:U}
2033
- ${this.optionalTag?H`<span class=${r+` pkt-tag--blue-light`}>${this.optionalText}</span>`:U}
2034
- ${this.requiredTag?H`<span class=${r+` pkt-tag--beige`}>${this.requiredText}</span>`:U}
2035
- `}
2036
- ${this.checkHelptext?H`<div class="pkt-input-check__input-helptext">${this.checkHelptext}</div>`:U}
2037
- </label>
2038
- `}
2039
- </div>
2040
- </div>
2041
- `}toggleChecked(e=null){e&&e.preventDefault(),e&&e.stopImmediatePropagation(),this.touched=!0,this.inputRef.value&&(this._checked=this.inputRef.value.matches(`:checked`),this.valueChecked(this._checked))}};q([G({type:String,reflect:!0})],qu.prototype,`value`,void 0),q([G({type:String})],qu.prototype,`checkHelptext`,void 0),q([G({type:Boolean})],qu.prototype,`defaultChecked`,void 0),q([G({type:Boolean})],qu.prototype,`hasTile`,void 0),q([G({type:Boolean,reflect:!0})],qu.prototype,`checked`,void 0),q([G({type:String,reflect:!0})],qu.prototype,`type`,void 0),q([G({type:String})],qu.prototype,`tagText`,void 0),q([G({type:Boolean})],qu.prototype,`optionalTag`,void 0),q([G({type:String})],qu.prototype,`optionalText`,void 0),q([G({type:Boolean})],qu.prototype,`requiredTag`,void 0),q([G({type:String})],qu.prototype,`requiredText`,void 0),q([K()],qu.prototype,`_checked`,void 0);try{W(`pkt-radiobutton`)(qu)}catch{console.warn(`Forsøker å definere <pkt-radiobutton>, men den er allerede definert`)}var Ju=class extends Event{constructor(e,t,n,r){super(`context-request`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t,this.callback=n,this.subscribe=r??!1}};function Yu(e){return e}var Xu=class{constructor(e,t,n,r){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(e,t)=>{this.unsubscribe&&(this.unsubscribe!==t&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=e,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(e,t)),this.unsubscribe=t},this.host=e,t.context!==void 0){let e=t;this.context=e.context,this.callback=e.callback,this.subscribe=e.subscribe??!1}else this.context=t,this.callback=n,this.subscribe=r??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&=(this.unsubscribe(),void 0)}dispatchRequest(){this.host.dispatchEvent(new Ju(this.context,this.host,this.t,this.subscribe))}},Zu=class{get value(){return this.o}set value(e){this.setValue(e)}setValue(e,t=!1){let n=t||!Object.is(e,this.o);this.o=e,n&&this.updateObservers()}constructor(e){this.subscriptions=new Map,this.updateObservers=()=>{for(let[e,{disposer:t}]of this.subscriptions)e(this.o,t)},e!==void 0&&(this.value=e)}addCallback(e,t,n){if(!n)return void e(this.value);this.subscriptions.has(e)||this.subscriptions.set(e,{disposer:()=>{this.subscriptions.delete(e)},consumerHost:t});let{disposer:r}=this.subscriptions.get(e);e(this.value,r)}clearCallbacks(){this.subscriptions.clear()}},Qu=class extends Event{constructor(e,t){super(`context-provider`,{bubbles:!0,composed:!0}),this.context=e,this.contextTarget=t}},$u=class extends Zu{constructor(e,t,n){super(t.context===void 0?n:t.initialValue),this.onContextRequest=e=>{if(e.context!==this.context)return;let t=e.contextTarget??e.composedPath()[0];t!==this.host&&(e.stopPropagation(),this.addCallback(e.callback,t,e.subscribe))},this.onProviderRequest=e=>{if(e.context!==this.context||(e.contextTarget??e.composedPath()[0])===this.host)return;let t=new Set;for(let[e,{consumerHost:n}]of this.subscriptions)t.has(e)||(t.add(e),n.dispatchEvent(new Ju(this.context,n,e,!0)));e.stopPropagation()},this.host=e,t.context===void 0?this.context=t:this.context=t.context,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener(`context-request`,this.onContextRequest),this.host.addEventListener(`context-provider`,this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new Qu(this.context,this.host))}};function ed({context:e}){return(t,n)=>{let r=new WeakMap;if(typeof n==`object`)return{get(){return t.get.call(this)},set(e){return r.get(this).setValue(e),t.set.call(this,e)},init(t){return r.set(this,new $u(this,{context:e,initialValue:t})),t}};{t.constructor.addInitializer((t=>{r.set(t,new $u(t,{context:e}))}));let i=Object.getOwnPropertyDescriptor(t,n),a;if(i===void 0){let e=new WeakMap;a={get(){return e.get(this)},set(t){r.get(this).setValue(t),e.set(this,t)},configurable:!0,enumerable:!0}}else{let e=i.set;a={...i,set(t){r.get(this).setValue(t),e?.call(this,t)}}}Object.defineProperty(t,n,a);return}}}function td({context:e,subscribe:t}){return(n,r)=>{typeof r==`object`?r.addInitializer((function(){new Xu(this,{context:e,callback:e=>{n.set.call(this,e)},subscribe:t})})):n.constructor.addInitializer((n=>{new Xu(n,{context:e,callback:e=>{n[r]=e},subscribe:t})}))}}var nd=Yu(Symbol(`pkt-tabs-context`)),rd=class extends Bi{constructor(...e){super(...e),this.arrowNav=!0,this.disableArrowNav=!1,this.separatorIconName=``,this.separatorIconPath=``,this.tabRefs=[],this.disabledMap={},this.tabCount=0,this.context={useArrowNav:this.useArrowNav,registerTab:this.registerTab.bind(this),handleClick:this.handleClick.bind(this),handleKeyUp:this.handleKeyUp.bind(this)}}get useArrowNav(){return this.arrowNav&&!this.disableArrowNav}updated(e){(e.has(`arrowNav`)||e.has(`disableArrowNav`))&&(this.context={...this.context,useArrowNav:this.useArrowNav}),this.updateComplete.then(()=>this.syncSeparators())}syncSeparators(){let e=this.querySelector(`.pkt-tabs__list`);if(!e||(e.querySelectorAll(`.pkt-tabs__separator`).forEach(e=>e.remove()),!(this.separatorIconName||this.separatorIconPath)))return;let t=Array.from(e.children).filter(e=>!e.classList.contains(`pkt-tabs__separator`));for(let e=0;e<t.length-1;e++){let n=document.createElement(`span`);if(n.className=`pkt-tabs__separator`,n.setAttribute(`aria-hidden`,`true`),n.setAttribute(`role`,`presentation`),this.separatorIconPath){let e=document.createElement(`img`);e.setAttribute(`src`,this.separatorIconPath),e.setAttribute(`alt`,``),e.setAttribute(`aria-hidden`,`true`),n.appendChild(e)}else if(this.separatorIconName){let e=document.createElement(`pkt-icon`);e.setAttribute(`name`,this.separatorIconName),e.classList.add(`pkt-tabs__separator-icon`),n.appendChild(e)}t[e].after(n)}}registerTab(e,t,n=!1){this.tabRefs[t]=e,this.disabledMap[t]=n,this.tabCount=Math.max(this.tabCount,t+1)}isTabDisabled(e){return!!this.disabledMap[e]}findEnabledIndex(e,t){let n=e+t;for(;n>=0&&n<this.tabCount;){if(!this.isTabDisabled(n))return n;n+=t}return null}handleClick(e){this.isTabDisabled(e)||this.dispatchEvent(new CustomEvent(`tab-selected`,{detail:{index:e},bubbles:!0,composed:!0}))}handleKeyUp(e,t){if(this.useArrowNav){if(e.key===`ArrowLeft`){e.preventDefault();let n=this.findEnabledIndex(t,-1);n!==null&&this.tabRefs[n]?.focus()}if(e.key===`ArrowRight`){e.preventDefault();let n=this.findEnabledIndex(t,1);n!==null&&this.tabRefs[n]?.focus()}(e.key===`Enter`||e.key===` `||e.key===`Spacebar`||e.key===`ArrowDown`)&&(e.preventDefault(),this.handleClick(t))}}render(){let e=this.useArrowNav?`tablist`:`navigation`;return H`
2042
- <div class=${this.separatorIconName||this.separatorIconPath?`pkt-tabs pkt-tabs--with-separator`:`pkt-tabs`}>
2043
- <div class="pkt-tabs__list" role=${e}>${zi(this)}</div>
2044
- </div>
2045
- `}};q([G({type:Boolean,reflect:!0,attribute:`arrow-nav`})],rd.prototype,`arrowNav`,void 0),q([G({type:Boolean,reflect:!0,attribute:`disable-arrow-nav`})],rd.prototype,`disableArrowNav`,void 0),q([G({type:String,reflect:!0,attribute:`separator-icon-name`})],rd.prototype,`separatorIconName`,void 0),q([G({type:String,reflect:!0,attribute:`separator-icon-path`})],rd.prototype,`separatorIconPath`,void 0),q([K()],rd.prototype,`tabRefs`,void 0),q([K()],rd.prototype,`disabledMap`,void 0),q([K()],rd.prototype,`tabCount`,void 0),q([ed({context:nd}),K()],rd.prototype,`context`,void 0);try{W(`pkt-tabs`)(rd)}catch{console.warn(`Forsøker å definere <pkt-tabs>, men den er allerede definert`)}var id=class extends Bi{constructor(){super(),this.active=!1,this.disabled=!1,this.href=``,this.icon=``,this.controls=``,this.tag=``,this.tagSkin=`blue`,this.index=0,this.elementRef=X()}connectedCallback(){super.connectedCallback(),this.updateComplete.then(()=>{this.elementRef.value&&this.context&&this.context.registerTab(this.elementRef.value,this.index,this.disabled)})}updated(){this.elementRef.value&&this.context&&this.context.registerTab(this.elementRef.value,this.index,this.disabled)}handleClick(e){if(this.disabled){e.preventDefault(),e.stopPropagation();return}this.context&&this.context.handleClick(this.index)}handleKeyDown(e){if(this.disabled&&(e.key===`Enter`||e.key===` `||e.key===`Spacebar`)){e.preventDefault(),e.stopPropagation();return}this.context&&this.context.handleKeyUp(e,this.index)}render(){let e=this.context?.useArrowNav??!0,t=this.active&&!this.disabled,n=[t?`active`:``,this.disabled?`pkt-tabs__item--disabled`:``].filter(Boolean).join(` `),r=e?`tab`:void 0,i=e?t:void 0,a=this.disabled?-1:t||!e?void 0:-1,o=`pkt-icon--small ${this.icon===`check`?`pkt-tabs__status-icon`:``}`,s=H`
2046
- ${this.icon?H`<pkt-icon name=${this.icon} class=${o}></pkt-icon>`:``}
2047
- <span>${zi(this)}</span>
2048
- ${this.tag?H`<pkt-tag skin=${this.tagSkin} size="small">${this.tag}</pkt-tag>`:``}
2049
- `;return this.href?H`
2050
- <a
2051
- ${Z(this.elementRef)}
2052
- href=${Y(this.disabled?void 0:this.href)}
2053
- class="pkt-tabs__link ${n}"
2054
- role=${Y(r)}
2055
- aria-selected=${Y(i)}
2056
- aria-disabled=${Y(this.disabled?`true`:void 0)}
2057
- aria-controls=${Y(this.controls||void 0)}
2058
- tabindex=${Y(a)}
2059
- @click=${this.handleClick}
2060
- @keydown=${this.handleKeyDown}
2061
- >
2062
- ${s}
2063
- </a>
2064
- `:H`
2065
- <button
2066
- ${Z(this.elementRef)}
2067
- type="button"
2068
- class="pkt-tabs__button pkt-link-button ${n}"
2069
- ?disabled=${this.disabled}
2070
- aria-disabled=${Y(this.disabled?`true`:void 0)}
2071
- role=${Y(r)}
2072
- aria-selected=${Y(i)}
2073
- aria-controls=${Y(this.controls||void 0)}
2074
- tabindex=${Y(a)}
2075
- @click=${this.handleClick}
2076
- @keydown=${this.handleKeyDown}
2077
- >
2078
- ${s}
2079
- </button>
2080
- `}};q([G({type:Boolean,reflect:!0})],id.prototype,`active`,void 0),q([G({type:Boolean,reflect:!0})],id.prototype,`disabled`,void 0),q([G({type:String,reflect:!0})],id.prototype,`href`,void 0),q([G({type:String,reflect:!0})],id.prototype,`icon`,void 0),q([G({type:String,reflect:!0})],id.prototype,`controls`,void 0),q([G({type:String,reflect:!0})],id.prototype,`tag`,void 0),q([G({type:String,reflect:!0,attribute:`tag-skin`})],id.prototype,`tagSkin`,void 0),q([G({type:Number,reflect:!0})],id.prototype,`index`,void 0),q([td({context:nd,subscribe:!0}),G({attribute:!1})],id.prototype,`context`,void 0);try{W(`pkt-tab-item`)(id)}catch{console.warn(`Forsøker å definere <pkt-tab-item>, men den er allerede definert`)}var ad=Nr(class extends Pr{constructor(e){if(super(e),e.type!==Mr.PROPERTY&&e.type!==Mr.ATTRIBUTE&&e.type!==Mr.BOOLEAN_ATTRIBUTE)throw Error("The `live` directive is not allowed on child or event bindings");if(!mi(e))throw Error("`live` bindings can only contain a single expression")}render(e){return e}update(e,[t]){if(t===hr||t===U)return t;let n=e.element,r=e.name;if(e.type===Mr.PROPERTY){if(t===n[r])return hr}else if(e.type===Mr.BOOLEAN_ATTRIBUTE){if(!!t===n.hasAttribute(r))return hr}else if(e.type===Mr.ATTRIBUTE&&n.getAttribute(r)===t+``)return hr;return yi(e),t}}),od=class extends Q{constructor(...e){super(...e),this.inputRef=X(),this.value=``,this.autocomplete=`off`,this.rows=null,this.counterCurrent=0}attributeChangedCallback(e,t,n){e===`value`&&this.value!==t&&(this.counterCurrent=n?n.length:0,this.valueChanged(n,t)),super.attributeChangedCallback(e,t,n)}updated(e){super.updated(e),e.has(`value`)&&(this.counterCurrent=this.value?.length||0,this.valueChanged(this.value,e.get(`value`))),e.has(`id`)&&!this.name&&this.id&&(this.name=this.id)}render(){let e=J({"pkt-input":!0,"pkt-input--fullwidth":this.fullwidth,"pkt-input--counter-error":this.counter&&this.counterMaxLength&&this.value.length&&this.value.length>this.counterMaxLength}),t=this.ariaLabelledby||`${this.id}-input-label`;return H`<pkt-input-wrapper
2081
- label=${this.label}
2082
- ?counter=${this.counter}
2083
- ?disabled=${this.disabled}
2084
- ?hasError=${this.hasError}
2085
- ?inline=${this.inline}
2086
- ?optionalTag=${this.optionalTag}
2087
- ?required=${this.required}
2088
- ?requiredTag=${this.requiredTag}
2089
- useWrapper=${this.useWrapper}
2090
- .ariaDescribedBy=${this.ariaDescribedBy}
2091
- .counterCurrent=${this.counterCurrent}
2092
- .counterMaxLength=${this.counterMaxLength}
2093
- .errorMessage=${this.errorMessage}
2094
- .forId="${this.id+`-input`}"
2095
- .helptext=${this.helptext}
2096
- .helptextDropdown=${this.helptextDropdown}
2097
- .helptextDropdownButton=${this.helptextDropdownButton}
2098
- .optionalText=${this.optionalText}
2099
- .requiredText=${this.requiredText}
2100
- .tagText=${this.tagText}
2101
- class="pkt-textarea"
2102
- >
2103
- <div class="pkt-contents" slot="helptext">${zi(this,`helptext`)}</div>
2104
- <textarea
2105
- ${Z(this.inputRef)}
2106
- class=${e}
2107
- id=${this.id+`-input`}
2108
- name=${(this.name||this.id)+`-input`}
2109
- placeholder=${Y(this.placeholder)}
2110
- .value=${ad(this.value)}
2111
- minlength=${Y(this.minlength)}
2112
- maxlength=${Y(this.maxlength)}
2113
- ?readonly=${this.readonly}
2114
- autocomplete=${this.autocomplete}
2115
- aria-labelledby=${t}
2116
- aria-invalid=${this.hasError}
2117
- aria-errormessage=${`${this.id}-error`}
2118
- rows=${this.rows}
2119
- ?disabled=${this.disabled}
2120
- @input=${e=>{this.value=e.target.value,this.onInput(),e.stopImmediatePropagation()}}
2121
- @change=${e=>{e.stopImmediatePropagation()}}
2122
- @focus=${e=>{this.onFocus(),e.stopImmediatePropagation()}}
2123
- @blur=${e=>{this.value=e.target.value,this.onBlur(),e.stopImmediatePropagation()}}
2124
- ></textarea>
2125
- </pkt-input-wrapper>`}};q([G({type:String,reflect:!0})],od.prototype,`value`,void 0),q([G({type:String})],od.prototype,`autocomplete`,void 0),q([G({type:Number})],od.prototype,`rows`,void 0),q([K()],od.prototype,`counterCurrent`,void 0);try{W(`pkt-textarea`)(od)}catch{console.warn(`Forsøker å definere <pkt-textarea>, men den er allerede definert`)}var sd=class extends Q{constructor(...e){super(...e),this._optionsProp=[],this._options=[]}get options(){return this._options.map(e=>({...e,selected:this.isOptionSelected(e)}))}set options(e){this._optionsProp=e,this.requestUpdate(`_optionsProp`,this._options)}isOptionSelected(e){return Array.isArray(this.value)?this.value.includes(e.value):e.value===this.value}findOptionByValue(e){return this._options.find(t=>t.value===e)}getSelectedOptions(){return this._options.filter(e=>this.isOptionSelected(e))}parseOptions(){let e=this._optionsProp.length>0,t=this.optionsController?.nodes?.length&&this.optionsController.nodes.length>0;e?this._options=this._optionsProp:t&&(this._options=this.optionsController.options)}willUpdate(e){super.willUpdate(e),this.parseOptions()}};q([G({type:Array,attribute:`options`})],sd.prototype,`_optionsProp`,void 0),q([K()],sd.prototype,`_options`,void 0);var cd=class extends sd{constructor(){super(),this.inputRef=X(),this.value=``,this.selectedIndex=-1,this.selectedOptions=void 0,this.optionsController=new rc(this)}connectedCallback(){super.connectedCallback(),this.parseOptions(),this._options.forEach(e=>{e.selected&&!this.value&&(this.value=e.value)})}add(e,t){let n={value:e.value||e.text,label:e.text||e.value,selected:e.selected,disabled:e.disabled};if(t===void 0)this._options.push(n);else if(typeof t==`number`)this._options.splice(t,0,n);else{let e=t.value||t.text,r=this._options.findIndex(t=>t.value===e);r>=0?this._options.splice(r,0,n):this._options.push(n)}e.selected&&(this.value=e.value||e.text,this.selectedIndex=this._options.findIndex(e=>e.value===this.value)),this.requestUpdate()}remove(e){typeof e==`number`&&(this.selectedIndex===e&&(this.value=this._options[0]?.value||``),this._options.splice(e,1),this.requestUpdate())}item(e){return this.inputRef.value?.item(e)}namedItem(e){return this.inputRef.value?.namedItem(e)}showPicker(){this.inputRef.value&&`showPicker`in this.inputRef.value&&this.inputRef.value.showPicker()}attributeChangedCallback(e,t,n){e===`options`&&(this._options=n?JSON.parse(n):[]),e===`value`&&this.value!==t&&(this.selectedIndex=this.touched?this.returnNumberOrNull(this.inputRef.value?.selectedIndex):this._options.findIndex(e=>e.value===n),this.selectedOptions=this.inputRef.value?.selectedOptions,this.valueChanged(n,t)),super.attributeChangedCallback(e,t,n)}update(e){super.update(e),e.has(`_optionsProp`)&&this._optionsProp.length>0&&(this._options=this._optionsProp,this.requestUpdate(`_options`),!this.value&&this._options.length>0&&(this.value=this._options[0].value,this.selectedIndex=0)),e.has(`value`)&&this.value!==e.get(`value`)&&(this.selectedIndex=this.touched?this.returnNumberOrNull(this.inputRef.value?.selectedIndex):this._options.findIndex(e=>e.value===this.value),this.selectedOptions=this.inputRef.value?.selectedOptions,this.valueChanged(this.value,e.get(`value`))),e.has(`id`)&&!this.name&&this.id&&(this.name=this.id)}firstUpdated(e){super.firstUpdated(e),this._optionsProp.length&&(this._options=this._optionsProp),!this.value&&this._options.length>0?(this.value=this._options[0].value,this.selectedIndex=0):this.selectedIndex=this._options.findIndex(e=>e.value===this.value),this.selectedOptions=this.inputRef.value?.selectedOptions}render(){let e=`pkt-input ${this.fullwidth?`pkt-input--fullwidth`:``}`;return H`
2126
- <pkt-input-wrapper
2127
- ?counter=${this.counter}
2128
- ?disabled=${this.disabled}
2129
- ?hasError=${this.hasError}
2130
- ?hasFieldset=${this.hasFieldset}
2131
- ?inline=${this.inline}
2132
- ?optionalTag=${this.optionalTag}
2133
- ?requiredTag=${this.requiredTag}
2134
- useWrapper=${this.useWrapper}
2135
- ariaDescribedBy=${Y(this.ariaDescribedBy)}
2136
- class="pkt-select"
2137
- errorMessage=${Y(this.errorMessage)}
2138
- forId=${this.id+`-input`}
2139
- helptext=${Y(this.helptext)}
2140
- helptextDropdown=${Y(this.helptextDropdown)}
2141
- helptextDropdownButton=${Y(this.helptextDropdownButton)}
2142
- label=${Y(this.label)}
2143
- optionalText=${Y(this.optionalText)}
2144
- requiredText=${Y(this.requiredText)}
2145
- tagText=${Y(this.tagText)}
2146
- >
2147
- <select
2148
- class=${e}
2149
- aria-invalid=${this.hasError}
2150
- aria-errormessage=${`${this.id}-error`}
2151
- aria-labelledby=${Y(this.ariaLabelledby)}
2152
- ?disabled=${this.disabled}
2153
- id=${this.id+`-input`}
2154
- name=${(this.name||this.id)+`-input`}
2155
- value=${this.value}
2156
- @change=${e=>{this.touched=!0,this.value=e.target.value,e.stopImmediatePropagation()}}
2157
- @input=${e=>{this.onInput(),e.stopImmediatePropagation()}}
2158
- @focus=${e=>{this.onFocus(),e.stopImmediatePropagation()}}
2159
- @blur=${e=>{this.onBlur(),e.stopImmediatePropagation()}}
2160
- ${Z(this.inputRef)}
2161
- >
2162
- ${this._options.length>0?this._options.map(e=>H`<option
2163
- value=${e.value}
2164
- ?selected=${this.value==e.value||e.selected}
2165
- ?disabled=${e.disabled}
2166
- ?hidden=${e.hidden}
2167
- >
2168
- ${e.label}
2169
- </option>`):``}
2170
- </select>
2171
- <div class="pkt-contents" slot="helptext">${zi(this,`helptext`)}</div>
2172
- </pkt-input-wrapper>
2173
- `}returnNumberOrNull(e){return e==null||isNaN(e)?null:e}};q([G({type:String})],cd.prototype,`value`,void 0);try{W(`pkt-select`)(cd)}catch{console.warn(`Forsøker å definere <pkt-select>, men den er allerede definert`)}var ld=class extends di{constructor(...e){super(...e),this.appearance=`local`,this.disabled=!1,this.fullwidth=!1,this.id=``,this.placeholder=`Søk…`,this.value=``,this.focusModality=new ac(this,`.pkt-searchinput`)}get suggestionsId(){return`${this.id}-suggestions`}dispatchSearch(){this.dispatchEvent(new CustomEvent(`pkt-search`,{detail:{value:this.value},bubbles:!0,composed:!0}))}onInput(e){this.value=e.target.value}onInputKeydown(e){e.key===`Enter`&&(e.preventDefault(),this.dispatchSearch())}onSearchClick(e){e.preventDefault(),this.dispatchSearch()}onSuggestionClick(e,t,n){let r=new CustomEvent(`pkt-suggestion-click`,{detail:{index:n,suggestion:t},bubbles:!0,composed:!0,cancelable:!0});this.dispatchEvent(r)||e.preventDefault()}renderSuggestion(e,t){let n=H`
2174
- ${e.title?H`<h3 class="pkt-searchinput__suggestion-title">${e.title}</h3>`:U}
2175
- ${e.text?H`<p class="pkt-searchinput__suggestion-text">${e.text}</p>`:U}
2176
- `;return e.href?H`<a
2177
- href=${e.href}
2178
- class="pkt-searchinput__suggestion"
2179
- @click=${n=>this.onSuggestionClick(n,e,t)}
2180
- >
2181
- ${n}
2182
- </a>`:e.nonInteractive?H`<div class="pkt-searchinput__suggestion">${n}</div>`:H`<button
2183
- type="button"
2184
- class="pkt-searchinput__suggestion"
2185
- @click=${n=>this.onSuggestionClick(n,e,t)}
2186
- >
2187
- ${n}
2188
- </button>`}render(){let e=J({"pkt-searchinput":!0,[`pkt-searchinput--${this.appearance}`]:!0,"pkt-searchinput--fullwidth":this.fullwidth}),t=J({"pkt-searchinput__button":!0,"pkt-input-icon":this.appearance===`local`,"pkt-btn":!0,"pkt-btn--medium":!0,"pkt-btn--icon-only":!0,"pkt-btn--tertiary":this.appearance===`local`,"pkt-btn--primary":this.appearance===`global`||this.appearance===`local-with-button`,"pkt-btn--yellow":this.appearance===`global`}),n=J({"pkt-input":!0,"pkt-input--fullwidth":this.fullwidth}),r=this.appearance===`local`?`pkt-input__container`:`pkt-searchinput__field`,i=H`
2189
- ${this.label?H`<label for=${Y(this.id||void 0)} class="pkt-inputwrapper__label"
2190
- >${this.label}</label
2191
- >`:U}
2192
- <div class=${r}>
2193
- <input
2194
- class=${n}
2195
- type="search"
2196
- name=${this.name||this.id}
2197
- id=${this.id}
2198
- placeholder=${this.placeholder||`Søk…`}
2199
- .value=${this.value}
2200
- ?disabled=${this.disabled}
2201
- autocomplete="off"
2202
- aria-autocomplete="list"
2203
- aria-controls=${this.suggestionsId}
2204
- @input=${this.onInput}
2205
- @keydown=${this.onInputKeydown}
2206
- />
2207
- <button
2208
- type="submit"
2209
- class=${t}
2210
- ?disabled=${this.disabled}
2211
- @click=${this.onSearchClick}
2212
- >
2213
- <pkt-icon class="pkt-btn__icon" name="magnifying-glass-big" />
2214
- <span class="pkt-btn__text">${this.label||this.placeholder||`Søk…`}</span>
2215
- </button>
2216
- </div>
2217
- ${this.suggestions?H`<ul
2218
- id=${this.suggestionsId}
2219
- class="pkt-searchinput__suggestions"
2220
- aria-live="assertive"
2221
- >
2222
- ${this.suggestions.map((e,t)=>H` <li>${this.renderSuggestion(e,t)}</li> `)}
2223
- </ul>`:U}
2224
- `;return this.action?H`<form
2225
- role="search"
2226
- class=${e}
2227
- action=${this.action}
2228
- method=${Y(this.method)}
2229
- @submit=${e=>{e.preventDefault()}}
2230
- >
2231
- ${i}
2232
- </form>`:H`<div role="search" class=${e}>${i}</div>`}};q([G({type:String})],ld.prototype,`appearance`,void 0),q([G({type:Boolean,reflect:!0})],ld.prototype,`disabled`,void 0),q([G({type:Boolean,reflect:!0})],ld.prototype,`fullwidth`,void 0),q([G({type:String,reflect:!0})],ld.prototype,`id`,void 0),q([G({type:String})],ld.prototype,`label`,void 0),q([G({type:String})],ld.prototype,`name`,void 0),q([G({type:String})],ld.prototype,`placeholder`,void 0),q([G({type:String})],ld.prototype,`value`,void 0),q([G({type:Array})],ld.prototype,`suggestions`,void 0),q([G({type:String})],ld.prototype,`action`,void 0),q([G({type:String})],ld.prototype,`method`,void 0);try{W(`pkt-searchinput`)(ld)}catch{console.warn(`Forsøker å definere <pkt-searchinput>, men den er allerede definert`)}var ud=e=>/^\d{2}:\d{2}$/.test(e)&&parseInt(e.slice(0,2),10)<=23&&parseInt(e.slice(3),10)<=59,dd=e=>{let[t,n]=e.split(`:`).map(Number);return t*60+n},fd=e=>e?Math.max(1,Math.round(e/60)):1,pd=(e,t)=>{let n=e?parseInt(String(e).split(`:`)[0],10):0,r=t?parseInt(String(t).split(`:`)[0],10):23;return Array.from({length:r-n+1},(e,t)=>t+n)},md=e=>{let t=fd(e);return Array.from({length:Math.floor(60/t)},(e,n)=>n*t)},hd=(e,t,n,r)=>{let i=e===``?n===1?0:23:parseInt(e,10),a=t===``?n===1?0:Math.floor(59/r)*r:parseInt(t,10);return a+=n*r,a>59?(a=0,i=(i+1)%24):a<0&&(a=Math.floor(59/r)*r,i=(i-1+24)%24),{hours:String(i).padStart(2,`0`),minutes:String(a).padStart(2,`0`)}},gd=class extends Q{constructor(...e){super(...e),this.hiddenInputRef=X(),this.hoursInputRef=X(),this.minutesInputRef=X(),this.buttonRef=X(),this.value=``,this.hidePicker=!1,this.stepArrows=!1,this._hours=``,this._minutes=``,this._isOpen=!1,this._hoursDigitCount=0,this._hoursFirstDigit=-1,this._minutesDigitCount=0,this._minutesFirstDigit=-1,this._hasFocus=!1,this._outsideClickHandler=e=>{this.contains(e.target)||this._closePopup()},this._handleComponentFocusIn=()=>{this._hasFocus||(this._hasFocus=!0,this.onFocus())},this._handleComponentFocusOut=e=>{this.contains(e.relatedTarget)||(this._hasFocus=!1,this.onBlur())},this._handleHoursKeydown=e=>{let t=e.target;switch(e.key){case`ArrowUp`:{e.preventDefault();let t=this._hours===``?0:parseInt(this._hours,10);this._hours=String((t+1)%24).padStart(2,`0`),this._syncValueFromDisplay(),this.onInput();break}case`ArrowDown`:{e.preventDefault();let t=this._hours===``?0:parseInt(this._hours,10);this._hours=String((t-1+24)%24).padStart(2,`0`),this._syncValueFromDisplay(),this.onInput();break}case`ArrowRight`:e.preventDefault(),this.minutesInputRef.value?.focus();break;case`Backspace`:case`Delete`:this._hoursDigitCount=0,this._hoursFirstDigit=-1;break;case`Tab`:break;case`Enter`:{e.preventDefault();let n=this.internals.form;n?n.requestSubmit():t.blur();break}default:if(/^\d$/.test(e.key)){e.preventDefault();let t=parseInt(e.key,10);if(this._hoursDigitCount===0)this._hoursFirstDigit=t,this._hours=String(t).padStart(2,`0`),this._hoursDigitCount=1,this.onInput(),t>=3&&(this._hoursFirstDigit=-1,this._hoursDigitCount=0,this._syncValueFromDisplay(),this.minutesInputRef.value?.focus());else{let e=this._hoursFirstDigit*10+t;this._hours=e<=23?String(e).padStart(2,`0`):String(t).padStart(2,`0`),this._hoursFirstDigit=-1,this._hoursDigitCount=0,this._syncValueFromDisplay(),this.onInput(),this.minutesInputRef.value?.focus()}}else e.preventDefault()}},this._handleHoursBlur=()=>{this._hours!==``&&(this._hours=String(parseInt(this._hours,10)).padStart(2,`0`)),this._hoursDigitCount=0,this._hoursFirstDigit=-1,this._syncValueFromDisplay()},this._handleMinutesKeydown=e=>{let t=e.target;switch(e.key){case`ArrowUp`:{e.preventDefault();let t=this._minutes===``?0:parseInt(this._minutes,10);this._minutes=String((t+this._minuteStep)%60).padStart(2,`0`),this._syncValueFromDisplay(),this.onInput();break}case`ArrowDown`:{e.preventDefault();let t=this._minutes===``?0:parseInt(this._minutes,10);this._minutes=String((t-this._minuteStep+60)%60).padStart(2,`0`),this._syncValueFromDisplay(),this.onInput();break}case`ArrowLeft`:e.preventDefault(),this.hoursInputRef.value?.focus();break;case`Backspace`:case`Delete`:this._minutesDigitCount=0,this._minutesFirstDigit=-1;break;case`Tab`:break;case`Enter`:{e.preventDefault();let n=this.internals.form;n?n.requestSubmit():t.blur();break}default:if(/^\d$/.test(e.key)){e.preventDefault();let t=parseInt(e.key,10);if(this._minutesDigitCount===0)this._minutesFirstDigit=t,this._minutes=String(t).padStart(2,`0`),this._minutesDigitCount=1,this.onInput(),t>=6&&(this._minutesFirstDigit=-1,this._minutesDigitCount=0,this._syncValueFromDisplay());else{let e=this._minutesFirstDigit*10+t;this._minutes=e<=59?String(e).padStart(2,`0`):String(t).padStart(2,`0`),this._minutesFirstDigit=-1,this._minutesDigitCount=0,this._syncValueFromDisplay(),this.onInput()}}else e.preventDefault()}},this._handleMinutesBlur=()=>{this._minutes!==``&&(this._minutes=String(parseInt(this._minutes,10)).padStart(2,`0`)),this._minutesDigitCount=0,this._minutesFirstDigit=-1,this._syncValueFromDisplay()},this._handlePopupKeydown=e=>{let t=document.activeElement,n=t.closest(`.pkt-timepicker-popup__col`);if(!n)return;let r=Array.from(n.querySelectorAll(`.pkt-timepicker-popup__option`)),i=r.indexOf(t),a=t.dataset.type??``;switch(e.key){case`ArrowDown`:e.preventDefault(),this._focusOptionAndSync(r[Math.min(i+1,r.length-1)],a);break;case`ArrowUp`:e.preventDefault(),this._focusOptionAndSync(r[Math.max(i-1,0)],a);break;case`Home`:e.preventDefault(),this._focusOptionAndSync(r[0],a);break;case`End`:e.preventDefault(),this._focusOptionAndSync(r[r.length-1],a);break;case`ArrowRight`:e.preventDefault(),a===`hour`&&(this._focusOptionAndSync(t,a),this.updateComplete.then(()=>{this._scrollToSelected(),this._focusSelectedOrFirst(`minute`)}));break;case`ArrowLeft`:e.preventDefault(),a===`minute`&&(this._focusOptionAndSync(t,a),this.updateComplete.then(()=>{this._scrollToSelected(),this._focusSelectedOrFirst(`hour`)}));break;case`Enter`:case` `:e.preventDefault(),t.click();break;case`Escape`:e.preventDefault(),this._closePopup(),this.buttonRef.value?.focus();break}}}get inputRef(){return this.hiddenInputRef}manageValidity(e){let t=this.hoursInputRef.value;if(!t)return;if(this.required&&!this.value){this.internals.setValidity({valueMissing:!0},li.forms.messages.required,t),this._setAriaInvalid(!0);return}if(!this.value){this.internals.setValidity({}),this._setAriaInvalid(!1);return}let n=dd(this.value),r=fd(this.step);if(this.min&&n<dd(String(this.min))){this.internals.setValidity({rangeUnderflow:!0},li.forms.messages.rangeUnderflowMin.replace(`{min}`,String(this.min)),t),this._setAriaInvalid(!0);return}if(this.max&&n>dd(String(this.max))){this.internals.setValidity({rangeOverflow:!0},li.forms.messages.rangeOverflowMax.replace(`{max}`,String(this.max)),t),this._setAriaInvalid(!0);return}if(this.step&&n%r!==0){let e=r===60?li.forms.messages.timeStepMismatchHour:r===30?li.forms.messages.timeStepMismatchHalfHour:li.forms.messages.timeStepMismatch.replace(`{step}`,`${r}, ${r*2}, ${r*3}`);this.internals.setValidity({stepMismatch:!0},e,t),this._setAriaInvalid(!0);return}this.internals.setValidity({}),this._setAriaInvalid(!1)}_setAriaInvalid(e){if(!this.touched&&e)return;let t=this.hoursInputRef.value,n=this.minutesInputRef.value;e?(t?.setAttribute(`aria-invalid`,`true`),n?.setAttribute(`aria-invalid`,`true`)):(t?.removeAttribute(`aria-invalid`),n?.removeAttribute(`aria-invalid`))}connectedCallback(){super.connectedCallback(),this.addEventListener(`focusin`,this._handleComponentFocusIn),this.addEventListener(`focusout`,this._handleComponentFocusOut),document.addEventListener(`click`,this._outsideClickHandler)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener(`focusin`,this._handleComponentFocusIn),this.removeEventListener(`focusout`,this._handleComponentFocusOut),document.removeEventListener(`click`,this._outsideClickHandler)}willUpdate(e){super.willUpdate(e),e.has(`value`)&&this._syncDisplayFromValue()}updated(e){super.updated(e),this.classList.toggle(`pkt-timepicker--stepper`,this.stepArrows),this.classList.toggle(`pkt-timepicker--fullwidth`,this.fullwidth),e.has(`step`)&&this.step!==null&&!this._isValidStep(this.step)&&console.warn(`pkt-timepicker: step="${this.step}" er ikke en gyldig verdi. Step må være et multiplum av 60 (hele minutter) eller nøyaktig 3600 (hel time).`)}formResetCallback(){super.formResetCallback(),this._hours=``,this._minutes=``,this._isOpen=!1}_isValidStep(e){return e===3600||e<3600&&3600%e==0&&e%60==0}_syncDisplayFromValue(){let e=ud(this.value)?this.value.split(`:`):null;e?(this._hours=e[0],this._minutes=e[1]):(this._hours=``,this._minutes=``)}_syncValueFromDisplay(){if(this._hours!==``&&this._minutes!==``){let e=`${this._hours}:${this._minutes}`;e!==this.value&&(this.value=e,this.onChange(e))}else this.value!==``&&(this.value=``,this.onChange(``))}get _minuteStep(){return fd(this.step)}get _hourOptions(){return pd(this.min,this.max)}get _minuteOptions(){return md(this.step)}_openPopup(){this._isOpen=!0,this.updateComplete.then(()=>{this._scrollToSelected(),this._focusSelectedOrFirst(`hour`)})}_closePopup(){this._isOpen=!1,this._syncValueFromDisplay()}_togglePopup(){this._isOpen?this._closePopup():this._openPopup()}_scrollToSelected(){let e=this.querySelector(`.pkt-timepicker-popup`);e&&e.querySelectorAll(`.pkt-timepicker-popup__col`).forEach(e=>{let t=e.querySelector(`.pkt-timepicker-popup__option--selected`);t&&t.scrollIntoView({block:`center`})})}_focusSelectedOrFirst(e){let t=this.querySelector(`.pkt-timepicker-popup`);if(!t)return;let n=t.querySelectorAll(`.pkt-timepicker-popup__col`),r=e===`hour`?n[0]:n[1];if(!r)return;let i=r.querySelector(`.pkt-timepicker-popup__option--selected`),a=r.querySelector(`.pkt-timepicker-popup__option`);(i||a)?.focus()}_handleOptionClick(e,t){let n=String(e).padStart(2,`0`);t===`hour`?(this._hours=n,this.updateComplete.then(()=>this._focusSelectedOrFirst(`minute`))):(this._minutes=n,this._closePopup(),this.buttonRef.value?.focus())}_focusOptionAndSync(e,t){if(!e)return;let n=parseInt(e.dataset.value??`0`,10);t===`hour`?this._hours=String(n).padStart(2,`0`):this._minutes=String(n).padStart(2,`0`),e.focus()}_stepTime(e){let t=hd(this._hours,this._minutes,e,this._minuteStep);this._hours=t.hours,this._minutes=t.minutes,this._syncValueFromDisplay()}_renderOption(e,t){let n=String(e).padStart(2,`0`),r=e===(t===`hour`?this._hours===``?NaN:parseInt(this._hours,10):this._minutes===``?NaN:parseInt(this._minutes,10));return H`
2233
- <button
2234
- class=${J({"pkt-btn":!0,"pkt-btn--tertiary":!0,"pkt-btn--small":!0,"pkt-btn--label-only":!0,"pkt-timepicker-popup__option":!0,"pkt-timepicker-popup__option--selected":r})}
2235
- type="button"
2236
- role="option"
2237
- aria-selected=${r?`true`:`false`}
2238
- tabindex=${r?`0`:`-1`}
2239
- data-type=${t}
2240
- data-value=${e}
2241
- @click=${n=>{n.stopImmediatePropagation(),this._handleOptionClick(e,t)}}
2242
- >
2243
- <span class="pkt-btn__text pkt-txt-14-light">${n}</span>
2244
- </button>
2245
- `}_renderPopup(){return H`
2246
- <div
2247
- class="pkt-timepicker-popup"
2248
- id=${this.id+`-popup`}
2249
- ?hidden=${!this._isOpen}
2250
- role="group"
2251
- aria-label=${this.strings.timepicker?.selectTime??`Velg tidspunkt`}
2252
- @keydown=${this._handlePopupKeydown}
2253
- @focusout=${e=>{this.querySelector(`.pkt-timepicker-popup`)?.contains(e.relatedTarget)||this._closePopup()}}
2254
- >
2255
- <div
2256
- class="pkt-timepicker-popup__col"
2257
- role="listbox"
2258
- aria-label=${this.strings.timepicker?.hours??`Timer`}
2259
- aria-orientation="vertical"
2260
- >
2261
- ${this._hourOptions.map(e=>this._renderOption(e,`hour`))}
2262
- </div>
2263
- <div
2264
- class="pkt-timepicker-popup__col"
2265
- role="listbox"
2266
- aria-label=${this.strings.timepicker?.minutes??`Minutter`}
2267
- aria-orientation="vertical"
2268
- >
2269
- ${this._minuteOptions.map(e=>this._renderOption(e,`minute`))}
2270
- </div>
2271
- </div>
2272
- `}_renderContainer(){let e=this.strings.timepicker?.hours??`Timer`,t=this.strings.timepicker?.minutes??`Minutter`,n=this.label?`${e}, ${this.label}`:e,r=this.label?`${t}, ${this.label}`:t;return H`
2273
- <div
2274
- class="pkt-input__container"
2275
- @click=${e=>{e.target.closest(`button, input`)||this.hoursInputRef.value?.focus()}}
2276
- >
2277
- ${this.stepArrows?H`
2278
- <button
2279
- class="pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-timepicker__button pkt-timepicker__button--prev"
2280
- type="button"
2281
- aria-label=${this.strings.timepicker?.prevTime??`Forrige tidspunkt`}
2282
- ?disabled=${this.disabled}
2283
- @click=${()=>this._stepTime(-1)}
2284
- >
2285
- <pkt-icon name="chevron-thin-left"></pkt-icon>
2286
- <span class="pkt-btn__text"
2287
- >${this.strings.timepicker?.prevTime??`Forrige tidspunkt`}</span
2288
- >
2289
- </button>
2290
- `:U}
2291
- <input
2292
- ${Z(this.hoursInputRef)}
2293
- type="text"
2294
- inputmode="numeric"
2295
- maxlength="2"
2296
- size="2"
2297
- class="pkt-input pkt-timepicker__input"
2298
- id=${this.id+`-hours`}
2299
- data-min="0"
2300
- data-max="23"
2301
- .value=${this._hours}
2302
- placeholder="––"
2303
- aria-label=${n}
2304
- role="spinbutton"
2305
- aria-invalid=${this.hasError?`true`:U}
2306
- aria-valuemin="0"
2307
- aria-valuemax="23"
2308
- aria-valuenow=${this._hours===``?U:this._hours}
2309
- aria-valuetext=${this._hours===``?U:`${this._hours} ${e.toLowerCase()}`}
2310
- autocomplete="off"
2311
- ?disabled=${this.disabled}
2312
- @keydown=${this._handleHoursKeydown}
2313
- @blur=${this._handleHoursBlur}
2314
- @focus=${e=>{e.target.select(),e.stopImmediatePropagation()}}
2315
- />
2316
- <span class="pkt-timepicker__separator">:</span>
2317
- <input
2318
- ${Z(this.minutesInputRef)}
2319
- type="text"
2320
- inputmode="numeric"
2321
- maxlength="2"
2322
- size="2"
2323
- class="pkt-input pkt-timepicker__input"
2324
- id=${this.id+`-minutes`}
2325
- data-min="0"
2326
- data-max="59"
2327
- .value=${this._minutes}
2328
- placeholder="––"
2329
- aria-label=${r}
2330
- role="spinbutton"
2331
- aria-invalid=${this.hasError?`true`:U}
2332
- aria-valuemin="0"
2333
- aria-valuemax="59"
2334
- aria-valuenow=${this._minutes===``?U:this._minutes}
2335
- aria-valuetext=${this._minutes===``?U:`${this._minutes} ${t.toLowerCase()}`}
2336
- autocomplete="off"
2337
- ?disabled=${this.disabled}
2338
- @keydown=${this._handleMinutesKeydown}
2339
- @blur=${this._handleMinutesBlur}
2340
- @focus=${e=>{e.target.select(),e.stopImmediatePropagation()}}
2341
- />
2342
- ${this.hidePicker&&!this.stepArrows?H`<pkt-icon
2343
- class="pkt-input-icon pkt-timepicker__icon"
2344
- name="clock"
2345
- aria-hidden="true"
2346
- ></pkt-icon>`:U}
2347
- ${!this.hidePicker&&!this.stepArrows?H`
2348
- <button
2349
- ${Z(this.buttonRef)}
2350
- class="pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-timepicker__button"
2351
- type="button"
2352
- aria-label=${this.strings.timepicker?.openPicker??`Åpne tidspunkt-velger`}
2353
- aria-haspopup="listbox"
2354
- aria-expanded=${this._isOpen?`true`:`false`}
2355
- aria-controls=${this.id+`-popup`}
2356
- ?disabled=${this.disabled}
2357
- @click=${this._togglePopup}
2358
- >
2359
- <pkt-icon name="clock"></pkt-icon>
2360
- <span class="pkt-btn__text"
2361
- >${this.strings.timepicker?.openPicker??`Åpne tidspunkt-velger`}</span
2362
- >
2363
- </button>
2364
- `:U}
2365
- ${this.stepArrows?H`
2366
- <button
2367
- class="pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-timepicker__button pkt-timepicker__button--next"
2368
- type="button"
2369
- aria-label=${this.strings.timepicker?.nextTime??`Neste tidspunkt`}
2370
- ?disabled=${this.disabled}
2371
- @click=${()=>this._stepTime(1)}
2372
- >
2373
- <pkt-icon name="chevron-thin-right"></pkt-icon>
2374
- <span class="pkt-btn__text"
2375
- >${this.strings.timepicker?.nextTime??`Neste tidspunkt`}</span
2376
- >
2377
- </button>
2378
- `:U}
2379
- <input
2380
- ${Z(this.hiddenInputRef)}
2381
- type="time"
2382
- hidden
2383
- name=${this.name||this.id}
2384
- id=${this.id+`-input`}
2385
- .value=${this.value}
2386
- min=${Y(this.min??void 0)}
2387
- max=${Y(this.max??void 0)}
2388
- step=${Y(this.step??void 0)}
2389
- ?required=${this.required}
2390
- ?disabled=${this.disabled}
2391
- tabindex="-1"
2392
- />
2393
- </div>
2394
- `}render(){return H`
2395
- <pkt-input-wrapper
2396
- label="${this.label}"
2397
- ?disabled=${this.disabled}
2398
- ?fullwidth=${this.fullwidth}
2399
- ?hasError=${this.hasError}
2400
- ?inline=${this.inline}
2401
- ?optionalTag=${this.optionalTag}
2402
- ?required=${this.required}
2403
- ?requiredTag=${this.requiredTag}
2404
- useWrapper=${this.useWrapper}
2405
- .ariaDescribedBy=${this.ariaDescribedBy}
2406
- .errorMessage=${this.errorMessage}
2407
- .forId="${this.id+`-hours`}"
2408
- .helptext=${this.helptext}
2409
- .helptextDropdown=${this.helptextDropdown}
2410
- .helptextDropdownButton=${this.helptextDropdownButton}
2411
- .optionalText=${this.optionalText}
2412
- .requiredText=${this.requiredText}
2413
- .tagText=${this.tagText}
2414
- >
2415
- <div class="pkt-contents" slot="helptext">${zi(this,`helptext`)}</div>
2416
- ${!this.hidePicker&&!this.stepArrows?H`
2417
- <div class="pkt-timepicker__anchor">
2418
- ${this._renderContainer()} ${this._renderPopup()}
2419
- </div>
2420
- `:this._renderContainer()}
2421
- </pkt-input-wrapper>
2422
- `}};q([G({type:String,reflect:!0})],gd.prototype,`value`,void 0),q([G({type:Boolean,reflect:!0,attribute:`hide-picker`})],gd.prototype,`hidePicker`,void 0),q([G({type:Boolean,reflect:!0,attribute:`step-arrows`})],gd.prototype,`stepArrows`,void 0),q([K()],gd.prototype,`_hours`,void 0),q([K()],gd.prototype,`_minutes`,void 0),q([K()],gd.prototype,`_isOpen`,void 0);try{W(`pkt-timepicker`)(gd)}catch{console.warn(`Forsøker å definere <pkt-timepicker>, men den er allerede definert`)}var _d=qn({tagName:`pkt-consent`,elementClass:Vu,react:t.default,displayName:`PktConsent`,events:{onToggleConsent:`toggle-consent`}});_d.displayName=`PktConsent`;var vd=()=>{let e=navigator.userAgent;return!!(/iP(hone|od|ad)/.test(e)||/Macintosh/.test(e)&&`ontouchend`in document)},yd=()=>vd()?`text`:`date`,bd=e=>!e||e.length!==2?!0:Lt(e[0],e[1]),xd=(e,t,n,r,i,a)=>({"pkt-input":!0,"pkt-datepicker__input":!0,"pkt-input--fullwidth":e,"pkt-datepicker--hasrangelabels":t,"pkt-datepicker--multiple":n,"pkt-datepicker--range":r,"ios-readonly-hack":i===!1&&a===`text`}),Sd=()=>({"pkt-input-icon":!0,"pkt-btn":!0,"pkt-btn--icon-only":!0,"pkt-btn--tertiary":!0,"pkt-datepicker__calendar-button":!0}),Cd=e=>({"pkt-input-prefix":e,"pkt-hide":!e}),wd=(e,t,n)=>!t&&!n?Array.isArray(e)?e[0]||``:e:Array.isArray(e)?e.join(`,`):e,Td=(e,t,n=!1)=>{if(!e||!t)return;let r=t.parentElement?.getBoundingClientRect()||t.getBoundingClientRect(),i=n?r.height+30:r.height,a=e.getBoundingClientRect().height,o=n?`calc(100% - 30px)`:`100%`;r&&r.top+a>window.innerHeight&&r.top-a>0&&(o=`calc(100% - ${i}px - ${a}px)`),e.style.top=o},Ed=(e,t,n,r,i,a)=>{let{key:o}=e;o===`,`&&(e.preventDefault(),a?a(e):i&&i()),(o===`Space`||o===` `)&&(e.preventDefault(),t(e)),o===`Enter`&&(e.preventDefault(),n?n():r?r():i&&i())},Dd=({open:e,multiple:r=!1,range:i=!1,weeknumbers:a=!1,withcontrols:o=!1,selected:s=[],earliest:c,latest:l,excludedates:u,excludeweekdays:d,maxMultiple:f,currentmonth:p,today:m,inputRef:h,hasCounter:g=!1,onDateSelected:_,onClose:v})=>{let y=(0,t.useRef)(null),b=(0,t.useRef)(!1);e&&(b.current=!0),(0,t.useEffect)(()=>{e&&Td(y.current,h?.current??null,g)},[e,h,g]);let x=[`pkt-calendar-popup`,e?`show`:`hide`].join(` `),S=e||b.current;return(0,n.jsx)(`div`,{ref:y,className:x,hidden:!e,"aria-hidden":!e,children:S&&(0,n.jsx)(un,{multiple:r,range:i,weeknumbers:a,withcontrols:o,selected:s,earliest:c,latest:l,excludedates:u,excludeweekdays:d,maxMultiple:f,currentmonth:p,today:m,onDateSelected:_,onClose:v})})},Od=({dates:e,dateformat:t,idBase:r,strings:i,onDateRemoved:a})=>{let o=It(e),s=i?.calendar?.buttonAltText??`Slett dato`;return(0,n.jsx)(`div`,{className:`pkt-date-tags pkt-datepicker__tags`,"aria-live":`polite`,children:o.map(e=>{let i=wt(e,t);return(0,n.jsx)(dn,{id:`${r}${e}-tag`,closeTag:!0,ariaLabel:`${s} ${i}`,onClose:()=>a(e),children:(0,n.jsx)(`time`,{dateTime:e,children:i})},e)})})},kd=({state:e})=>{let{id:t,inputId:r,values:i,dateformat:a,multiple:o,range:s,showRangeLabels:c,disabled:l,readOnly:u,required:d,label:f,name:p,placeholder:m,hasError:h,helptext:g,minStr:_,maxStr:v,inputType:y,isIOSDevice:b,strings:x,inputClasses:S,buttonClasses:C,rangeLabelClasses:w,datepickerInputsClasses:ee,isInputDisabled:T,inputRef:E,inputRefTo:te,btnRef:ne,toggleCalendar:re,handleFocus:O,handleSingleInputChange:k,handleRangeFromChange:ie,handleRangeToChange:ae,handleRangeBlur:oe,handleMultipleBlur:se,handleTagRemoved:ce,handleSingleKeydown:A,handleRangeFromKeydown:j,handleRangeToKeydown:le,handleMultipleKeydown:ue,restProps:M}=e,de=e=>{e.preventDefault(),re()},N=()=>(0,n.jsxs)(`button`,{ref:ne,className:C,type:`button`,onClick:re,disabled:l,"aria-label":x.calendar?.buttonAltText??`Åpne kalender`,children:[(0,n.jsx)(D,{name:`calendar`}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:x.calendar?.buttonAltText??`Åpne kalender`})]});return o?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(Od,{dates:i,dateformat:a,idBase:t,strings:x,onDateRemoved:ce}),(0,n.jsx)(`div`,{className:`pkt-datepicker__inputs`,children:(0,n.jsxs)(`div`,{className:`pkt-input__container`,children:[(0,n.jsx)(`input`,{...M,ref:E,className:S,type:y,id:r,name:p??t,placeholder:m,readOnly:u||b&&!u,disabled:T,"aria-describedby":g?`${t}-helptext`:void 0,"aria-invalid":h,"aria-errormessage":h?`${t}-error`:void 0,onClick:de,onKeyDown:ue,onFocus:O,onBlur:se}),N()]})})]}):s?(0,n.jsx)(`div`,{className:ee,children:(0,n.jsxs)(`div`,{className:`pkt-input__container`,children:[c&&(0,n.jsx)(`div`,{className:`pkt-input-prefix`,children:x.generic?.from??`Fra`}),(0,n.jsx)(`input`,{...M,ref:E,className:S,type:y,id:r,name:p?`${p}-from`:`${t}-from`,value:i[0]??``,min:_,max:v,placeholder:m,readOnly:u||b&&!u,disabled:l,required:d,"aria-label":`${f} ${x.generic?.from??`Fra`}`,"aria-describedby":g?`${t}-helptext`:void 0,"aria-invalid":h,"aria-errormessage":h?`${t}-error`:void 0,onClick:de,onKeyDown:j,onFocus:O,onBlur:oe,onChange:ie}),(0,n.jsx)(`div`,{className:w,id:`${t}-to-label`,children:x.generic?.to??`Til`}),!c&&(0,n.jsx)(`div`,{className:`pkt-input-separator`,children:`–`}),(0,n.jsx)(`input`,{ref:te,className:S,type:y,id:`${t}-to`,name:p?`${p}-to`:`${t}-to`,value:i[1]??``,min:_,max:v,readOnly:u||b&&!u,disabled:l,"aria-label":`${f} ${x.generic?.to??`Til`}`,"aria-invalid":h,onClick:de,onKeyDown:le,onFocus:O,onBlur:oe,onChange:ae}),N()]})}):(0,n.jsx)(`div`,{className:`pkt-datepicker__inputs`,children:(0,n.jsxs)(`div`,{className:`pkt-input__container`,children:[(0,n.jsx)(`input`,{...M,ref:E,className:S,type:y,id:r,name:p??t,value:i[0]??``,min:_,max:v,placeholder:m,readOnly:u||b&&!u,disabled:l,required:d,"aria-describedby":g?`${t}-helptext`:void 0,"aria-invalid":h,"aria-errormessage":h?`${t}-error`:void 0,onClick:de,onKeyDown:A,onFocus:O,onBlur:void 0,onChange:k}),N()]})})},Ad={calendar:{buttonAltText:`Åpne kalender`}},jd={calendar:{buttonAltText:`Åpne kalender`},generic:{from:`Fra`,to:`Til`}},Md=e=>{if(!e)return[];if(Array.isArray(e))return e.filter(Boolean);if(typeof e==`string`&&e.trimStart().startsWith(`[`))try{let t=JSON.parse(e);if(Array.isArray(t))return t.filter(Boolean)}catch{}return String(e).split(`,`).map(e=>e.trim()).filter(Boolean)};function Nd(e,n){let{id:r,label:i,value:a,defaultValue:o,dateformat:s=`dd.MM.yyyy`,multiple:c=!1,maxlength:l,range:u=!1,showRangeLabels:d=!1,weeknumbers:f=!1,withcontrols:p=!1,excludedates:m,excludeweekdays:h,currentmonth:g,today:_,calendarOpen:v,timezone:y,fullwidth:b=!1,hasFieldset:x=!1,inline:S=!1,helptext:C,helptextDropdown:w,helptextDropdownButton:ee,hasError:T=!1,errorMessage:E,optionalTag:te=!1,optionalText:ne,requiredTag:re=!1,requiredText:D,tagText:O,useWrapper:k=!0,strings:ie,disabled:ae=!1,readOnly:oe=!1,required:se=!1,name:ce,min:A,max:j,placeholder:le,onChange:ue,onValueChange:M,className:de,...N}=e,P=(0,t.useCallback)(e=>e===void 0?[]:Md(e),[]),F=a!==void 0,I=typeof o==`number`?void 0:o,[fe,pe]=(0,t.useState)(()=>P(a??I)),me=F?P(a):fe,L=(0,t.useRef)(fe);(0,t.useEffect)(()=>{F&&pe(P(a))},[a,F,P]);let[he,ge]=(0,t.useState)(v??!1);(0,t.useEffect)(()=>{v!==void 0&&ge(v)},[v]);let R=(0,t.useRef)(null),_e=(0,t.useRef)(null),z=(0,t.useRef)(null),ve=(0,t.useRef)(null),B=(0,t.useRef)(null),ye=(0,t.useMemo)(()=>yd(),[]),be=(0,t.useMemo)(()=>vd(),[]),xe=(0,t.useMemo)(()=>ie??(u?jd:Ad),[ie,u]),Se=typeof A==`string`?A:A===void 0?void 0:String(A),Ce=typeof j==`string`?j:j===void 0?void 0:String(j),we=(0,t.useMemo)(()=>{let e=xd(b,d,c,u,oe,ye);return Object.entries(e).filter(([,e])=>e).map(([e])=>e).join(` `)},[b,d,c,u,oe,ye]),Te=(0,t.useMemo)(()=>{let e=Sd();return Object.entries(e).filter(([,e])=>e).map(([e])=>e).join(` `)},[]),Ee=(0,t.useMemo)(()=>{let e=Cd(d);return Object.entries(e).filter(([,e])=>e).map(([e])=>e).join(` `)},[d]),De=(0,t.useMemo)(()=>[`pkt-datepicker__inputs`,u&&`pkt-input__range-inputs`].filter(Boolean).join(` `),[u,d]),Oe=(0,t.useMemo)(()=>{if(g)return g;if(Ce)return Ce.slice(0,7)},[g,Ce]),ke=ae||c&&l!=null&&me.length>=l,Ae=c&&l!=null,je=`${r}-input`,Me=me.join(`,`);(0,t.useEffect)(()=>{z.current&&(z.current.value=Me)},[Me]),(0,t.useEffect)(()=>{y&&typeof window<`u`&&y!==window.pktTz&&(window.pktTz=y)},[y]);let Ne=(0,t.useCallback)((e,t=!0)=>{F||pe(e),t&&M?.(e)},[F,M]),Pe=(0,t.useMemo)(()=>Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,`value`)?.set,[]),Fe=(0,t.useCallback)(e=>{let t=z.current;!t||!Pe||(Pe.call(t,e.join(`,`)),t.dispatchEvent(new Event(`input`,{bubbles:!0})))},[Pe]),Ie=(0,t.useCallback)(()=>{ae||ge(e=>!e)},[ae]),Le=(0,t.useCallback)(()=>{ge(!1)},[]);(0,t.useEffect)(()=>{if(!he)return;let e=e=>{let t=e.target;B.current&&!B.current.contains(t)&&!t.closest?.(`.pkt-calendar-popup`)&&Le()},t=e=>{e.key===`Escape`&&(Le(),R.current?.focus())};return document.addEventListener(`click`,e,!0),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`click`,e,!0),document.removeEventListener(`keydown`,t)}},[he,Le]);let V=(0,t.useCallback)(()=>{be&&!he&&ge(!0)},[be,he]),Re=(0,t.useCallback)(e=>{let t=Md(wd(e,c,u));Ne(t),Fe(t),!c&&!u&&(Le(),R.current?.focus())},[c,u,Ne,Fe,Le]),ze=(0,t.useCallback)(()=>{Le(),R.current?.focus()},[Le]),Be=(0,t.useCallback)(e=>{let t=e.target.value,n=t?[t]:[];Ne(n),Fe(n)},[Ne,Fe]),Ve=(0,t.useCallback)(e=>{let t=[e.target.value,me[1]??``].filter(Boolean);Ne(t),Fe(t)},[me,Ne,Fe]),He=(0,t.useCallback)(e=>{let t=[me[0]??``,e.target.value].filter(Boolean);Ne(t),Fe(t)},[me,Ne,Fe]),Ue=(0,t.useCallback)(()=>{me.length===2&&!bd(me)&&(Ne([me[0]]),Fe([me[0]]))},[me,Ne,Fe]),We=(0,t.useCallback)(e=>{let t=Tt(e),n=Se?Tt(Se):null,r=Ce?Tt(Ce):null;if(t&&!isNaN(t.getTime())&&(!n||t>=n)&&(!r||t<=r)){let t=Ft([...me,e],Se,Ce,m,h),n=[...new Set(t)];Ne(n),Fe(n)}},[me,Se,Ce,m,h,Ne,Fe]),Ge=(0,t.useCallback)(e=>{let t=e.target;t.value&&=(We(t.value.split(`,`)[0]),``)},[We]),Ke=(0,t.useCallback)(e=>{let t=e.target;t.value&&=(We(t.value.split(`,`)[0]),``)},[We]),qe=(0,t.useCallback)(e=>{let t=me.filter(t=>t!==e);Ne(t),Fe(t)},[me,Ne,Fe]),Je=(0,t.useCallback)(e=>{let t=e?.closest(`form`);t?t.requestSubmit():e?.blur()},[]),Ye=(0,t.useCallback)(e=>{Ed(e.nativeEvent,()=>Ie(),()=>Je(R.current),void 0,()=>R.current?.blur())},[Ie,Je]),Xe=(0,t.useCallback)(e=>{Ed(e.nativeEvent,()=>Ie(),()=>Je(R.current),()=>_e.current?.focus(),()=>R.current?.blur())},[Ie,Je]),Ze=(0,t.useCallback)(e=>{Ed(e.nativeEvent,()=>Ie(),()=>Je(_e.current),void 0,()=>_e.current?.blur())},[Ie,Je]),Qe=(0,t.useCallback)(e=>{Ed(e.nativeEvent,()=>Ie(),()=>Je(R.current),void 0,()=>R.current?.blur(),Ke)},[Ie,Je,Ke]);return(0,t.useEffect)(()=>{let e=B.current?.closest(`form`);if(!e)return;let t=()=>{window.setTimeout(()=>{pe(L.current),ge(!1),z.current&&(z.current.value=L.current.join(`,`))},0)};return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)},[]),(0,t.useImperativeHandle)(n,()=>({get value(){return z.current?.value??``},set value(e){pe(e?e.split(`,`).filter(Boolean):[]),z.current&&(z.current.value=e??``)},focus(){R.current?.focus()},blur(){R.current?.blur()}}),[]),{id:r,inputId:je,label:i,values:me,calendarOpen:he,dateformat:s,multiple:c,maxlength:l,range:u,showRangeLabels:d,weeknumbers:f,withcontrols:p,excludedates:m,excludeweekdays:h,disabled:ae,readOnly:oe,required:se,name:ce,placeholder:le,fullwidth:b,hasFieldset:x,inline:S,helptext:C,helptextDropdown:w,helptextDropdownButton:ee,hasError:T,errorMessage:E,optionalTag:te,optionalText:ne,requiredTag:re,requiredText:D,tagText:O,useWrapper:k,className:de,minStr:Se,maxStr:Ce,effectiveCurrentMonth:Oe,today:_,inputType:ye,isIOSDevice:be,strings:xe,inputClasses:we,buttonClasses:Te,rangeLabelClasses:Ee,datepickerInputsClasses:De,isInputDisabled:ke,hasCounter:Ae,inputRef:R,inputRefTo:_e,changeInputRef:z,btnRef:ve,wrapperRef:B,onChange:ue,toggleCalendar:Ie,hideCalendar:Le,handleDateSelected:Re,handleCalendarClose:ze,handleFocus:V,handleSingleInputChange:Be,handleRangeFromChange:Ve,handleRangeToChange:He,handleRangeBlur:Ue,handleMultipleBlur:Ge,handleTagRemoved:qe,handleSingleKeydown:Ye,handleRangeFromKeydown:Xe,handleRangeToKeydown:Ze,handleMultipleKeydown:Qe,restProps:N}}var Pd=(0,t.forwardRef)((e,t)=>{let r=Nd(e,t);return(0,n.jsxs)(`div`,{className:[`pkt-datepicker`,r.className].filter(Boolean).join(` `),id:r.id||void 0,children:[(0,n.jsx)(vn,{ref:r.wrapperRef,forId:r.inputId,label:r.label,hasFieldset:r.hasFieldset,inline:r.inline,helptext:r.helptext,helptextDropdown:r.helptextDropdown,helptextDropdownButton:r.helptextDropdownButton,hasError:r.hasError,errorMessage:r.errorMessage,disabled:r.disabled,optionalTag:r.optionalTag,optionalText:r.optionalText,requiredTag:r.requiredTag,requiredText:r.requiredText,tagText:r.tagText,useWrapper:r.useWrapper,counter:r.hasCounter,counterCurrent:r.values.length,counterMaxLength:r.maxlength,children:(0,n.jsx)(kd,{state:r})}),(0,n.jsx)(Dd,{open:r.calendarOpen,multiple:r.multiple,range:r.range,weeknumbers:r.weeknumbers,withcontrols:r.withcontrols,selected:r.values,earliest:r.minStr,latest:r.maxStr,excludedates:r.excludedates,excludeweekdays:r.excludeweekdays,maxMultiple:r.maxlength,currentmonth:r.effectiveCurrentMonth,today:r.today,inputRef:r.inputRef,hasCounter:r.hasCounter,onDateSelected:r.handleDateSelected,onClose:r.handleCalendarClose}),(0,n.jsx)(`input`,{ref:r.changeInputRef,type:`text`,name:r.name,onChange:r.onChange,tabIndex:-1,"aria-hidden":`true`,className:`pkt-visually-hidden`})]})});Pd.displayName=`PktDatepicker`;var Fd=`https://cdn.web.oslo.kommune.no/header-footer/header-footer.json`,Id={hours:`Timer`,minutes:`Minutter`,openPicker:`Åpne tidspunkt-velger`,prevTime:`Forrige tidspunkt`,nextTime:`Neste tidspunkt`,selectTime:`Velg tidspunkt`},Ld={dropZoneDragMultiple:`Dra filer hit for å laste dem opp eller`,dropZoneDragSingle:`Dra en fil hit for å laste den opp eller`,dropZoneDragMultipleThumbnail:`Dra bilder hit for å laste dem opp eller`,dropZoneDragSingleThumbnail:`Dra et bilde hit for å laste det opp eller`,dropZoneDragActiveMultiple:`Slipp filene her`,dropZoneDragActiveSingle:`Slipp filen her`,dropZoneDragActiveMultipleThumbnail:`Slipp bildene her`,dropZoneDragActiveSingleThumbnail:`Slipp bildet her`,dropZoneOpenFileDialogMultiple:`velg filer`,dropZoneOpenFileDialogSingle:`velg en fil`,dropZoneOpenFileDialogMultipleThumbnail:`velg fra kamerarull`,dropZoneOpenFileDialogSingleThumbnail:`velg fra kamerarull`,supportedFormatsPrefix:`Format:`,invalidFormatDefault:e=>`Ugyldig filtype. Tillatte formater: ${e}`,sizeTooLargeDefault:e=>`Filen er for stor. Maks størrelse er ${e}.`,requiredMissing:`Du må laste opp minst én fil.`,genericValidationRejection:`Filen ble avvist av validering.`,unknownFilename:`Ukjent fil`,fileLabel:e=>e===1?`fil`:`filer`,srFileAdded:e=>`Filen «${e}» er lagt til`,srFilesAdded:e=>`${e} filer er lagt til`,srFilesUploadedOfTotal:(e,t,n)=>`${e} av ${t} ${n} lastet opp`,srFilesFailedOfTotal:(e,t,n)=>`Feil ved opplasting: ${e} av ${t} ${n} feilet`};function Rd(e){if(e==null||e===``)return;if(typeof e==`number`)return Number.isFinite(e)&&e>0?e:void 0;let t=String(e).trim(),n=Number(t);if(!Number.isNaN(n)&&n>0)return n;let r=t.match(/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!r){console.warn(`PktFileUpload: Invalid maxFileSize format "${t}". Use format like "5MB", "500KB", "1GB", or bytes.`);return}let i=parseFloat(r[1]);switch(r[2].toUpperCase()){case`B`:return i;case`KB`:return i*1024;case`MB`:return i*1024*1024;case`GB`:return i*1024*1024*1024;default:return}}function zd(e){return e<1024?`${Math.round(e)} B`:e<1024*1024?`${Math.round(e/1024)} KB`:e<1024*1024*1024?`${Math.round(e/(1024*1024))} MB`:`${Math.round(e/(1024*1024*1024))} GB`}function Bd(e){return Array.isArray(e)?e.map(e=>String(e).trim().toLowerCase()).filter(Boolean):[]}function Vd(e,t,n){let r=e.toLowerCase().replace(/^\./,``);if(r.includes(`/`)){if(r.endsWith(`/*`)){let e=r.replace(`/*`,``);return n.startsWith(`${e}/`)}return n===r}return t===r}function Hd(e,t){let n=Bd(t);if(n.length===0)return!0;let r=e.name.split(`.`).pop()?.toLowerCase()??``,i=e.type.toLowerCase();return n.some(e=>Vd(e,r,i))}function Ud(e,t){let n=(e??``).trim();if(n)return n;let r=Bd(t);return r.length===0?``:r.map(e=>e.includes(`/`)||e.startsWith(`.`)?e:`.${e}`).join(`, `)}function Wd(e,t,n){return((e??``).trim()||t).replace(/\{(\w+)\}/g,(e,t)=>n[t]??`{${t}}`)}function Gd(e,t){let n=Bd(t.allowedFormats);if(n.length>0&&!Hd(e,n)){let e=n.join(`, `),r=`Ugyldig filtype. Tillatte formater: ${e}`;return Wd(t.formatErrorMessage,r,{formats:e})}let r=Rd(t.maxFileSize);if(r!==void 0&&e.size>r){let e=zd(r),n=`Filen er for stor. Maks størrelse er ${e}.`;return Wd(t.sizeErrorMessage,n,{maxSize:e})}if(t.onFileValidation){let n=t.onFileValidation(e);if(n)return n}return null}function Kd(e){let t=e.file;if(t?.type?.startsWith(`image/`))return!0;let n=e.attributes?.targetFilename||t?.name||``;return/\.(jpe?g|png|gif|webp|heic|heif|bmp|svg)$/i.test(n)}function qd(e){return typeof e==`number`?`in-progress`:e===`error`?`error`:`idle`}function Jd(e,t,n){let r={"in-progress":0,error:1,idle:2};return e.map(e=>{let r=t?.find(t=>t.fileId===e.fileId);return{...e,progress:r?.progress??(n===`form`?`done`:`queued`),errorMessage:r?.errorMessage,showProgress:r?.showProgress,lastProgress:r?.lastProgress}}).sort((e,t)=>r[qd(e.progress)]-r[qd(t.progress)])}function Yd(e){if(!e)return[];let t=[`a[href]:not([tabindex="-1"])`,`button:not([disabled]):not([tabindex="-1"])`,`input:not([disabled]):not([type="hidden"]):not([tabindex="-1"])`,`select:not([disabled]):not([tabindex="-1"])`,`textarea:not([disabled]):not([tabindex="-1"])`,`[tabindex]:not([tabindex="-1"])`].join(`, `);return Array.from(e.querySelectorAll(t)).filter(e=>!e.hasAttribute(`inert`))}function Xd(e,t){if(e.key!==`Tab`)return!1;let n=Yd(t);if(n.length===0)return e.preventDefault(),!0;let r=n[0],i=n[n.length-1],a=(t?.ownerDocument??document).activeElement,o=!!a&&n.includes(a);return e.shiftKey?!o||a===r?(e.preventDefault(),i.focus(),!0):!1:!o||a===i?(e.preventDefault(),r.focus(),!0):!1}function Zd(e,t){return!t||t<=0||e.length<=t+3?null:{head:e.slice(0,e.length-t),tail:e.slice(-t)}}function Qd(e,t,n){return n<=0?0:t===`prev`?e<=0?n-1:e-1:e>=n-1?0:e+1}function $d(e,t){let n=e.length;if(n===0||!t||t.length===0)return{totalCount:n,uploadedCount:0,failedCount:0};let r=0,i=0;for(let n of e){let e=t.find(e=>e.fileId===n.fileId);e?.progress===`done`?r++:e?.progress===`error`&&i++}return{totalCount:n,uploadedCount:r,failedCount:i}}var ef=`.jpeg, .jpg, .png, .gif, .webp, .heic`;function tf(e,t=Ld.unknownFilename){return e.attributes?.targetFilename||e.file?.name||t}var nf=()=>(`00000000000000000`+(Math.random()*0x10000000000000000).toString(16)).slice(-16),rf=()=>{let e=nf(),t=nf();return e.slice(0,8)+`-`+e.slice(8,12)+`-4`+e.slice(13)+`-a`+t.slice(1,4)+`-`+t.slice(4)},af=class{fileId;file;attributes;constructor(e,t){this.fileId=t||rf(),this.file=e,this.attributes={targetFilename:e.name}}},of=(0,t.createContext)({}),sf=(0,t.forwardRef)(({id:e,multiple:r,value:i,onFilesAdded:a=()=>{},name:o,uploadStrategy:s,accept:c,isThumbnailView:l=!1,disabled:u=!1,hasVisibleLabel:d=!1,...f},p)=>{let m=(0,t.useRef)(null),h=typeof c==`string`&&c.trim().length>0?c:void 0,g=(0,t.useMemo)(()=>h?h.split(/\s*,\s*/).map(e=>e.trim()).filter(Boolean).join(`, `).toUpperCase():``,[h]);(0,t.useImperativeHandle)(p,()=>m.current);let[_,y]=(0,t.useState)(!1),b=(0,t.useMemo)(()=>l?r?{dragInactive:Ld.dropZoneDragMultipleThumbnail,dragActive:Ld.dropZoneDragActiveMultipleThumbnail,openFileDialog:Ld.dropZoneOpenFileDialogMultipleThumbnail}:{dragInactive:Ld.dropZoneDragSingleThumbnail,dragActive:Ld.dropZoneDragActiveSingleThumbnail,openFileDialog:Ld.dropZoneOpenFileDialogSingleThumbnail}:r?{dragInactive:Ld.dropZoneDragMultiple,dragActive:Ld.dropZoneDragActiveMultiple,openFileDialog:Ld.dropZoneOpenFileDialogMultiple}:{dragInactive:Ld.dropZoneDragSingle,dragActive:Ld.dropZoneDragActiveSingle,openFileDialog:Ld.dropZoneOpenFileDialogSingle},[r,l]),x=(0,t.useCallback)(e=>{if(m.current)try{m.current.files=cf(e)}catch{}},[m.current,i]);(0,t.useEffect)(()=>{x(i)},[m,i]);let S=(0,t.useCallback)(e=>{a(e.map(e=>new af(e))),m.current&&(m.current.value=``)},[a]),C=e=>{let t=e.target.files;if(t.length===0){x(i);return}S(Array.from(t))},w=e=>{S(e)};return(0,n.jsxs)(`div`,{onDrop:e=>{if(e.preventDefault(),y(!1),u)return;let t=e.dataTransfer.files;w(Array.from(t))},onDragOver:e=>{e.preventDefault(),!u&&y(!0)},onDragLeave:()=>{y(!1)},onClick:(0,t.useCallback)(e=>{u||e.target.closest(`.pkt-fileupload__drop-zone__placeholder__title__open-file-dialog`)||m.current?.click()},[u]),className:(0,v.default)(`pkt-fileupload__drop-zone`,{"pkt-fileupload__drop-zone--drag-active":_,"pkt-fileupload__drop-zone--disabled":u}),children:[(0,n.jsx)(`input`,{...f,id:e,type:`file`,ref:m,multiple:r,onChange:C,accept:h,disabled:u,name:s===`form`&&o||void 0,"aria-label":d?void 0:r?`Velg filer`:`Velg fil`}),s===`custom`&&(0,n.jsx)(n.Fragment,{children:i?.map(e=>(0,n.jsx)(`input`,{type:`hidden`,name:o,value:e.fileId},e.fileId))}),(0,n.jsxs)(`div`,{className:`pkt-fileupload__drop-zone__placeholder`,children:[(0,n.jsx)(D,{name:`attachment`,className:`pkt-fileupload__drop-zone__placeholder__icon`,"aria-hidden":`true`}),(0,n.jsx)(`p`,{className:`pkt-fileupload__drop-zone__placeholder__title`,children:_?`${b.dragActive} ...`:(0,n.jsxs)(n.Fragment,{children:[b.dragInactive,` `,(0,n.jsx)(`button`,{className:`pkt-fileupload__drop-zone__placeholder__title__open-file-dialog`,onClick:e=>{e.preventDefault(),e.stopPropagation(),m.current?.click()},type:`button`,children:b.openFileDialog})]})}),g?(0,n.jsxs)(`p`,{className:`pkt-fileupload__drop-zone__placeholder__formats`,children:[Ld.supportedFormatsPrefix,` `,g]}):null]})]})}),cf=e=>{let t=new DataTransfer;for(let n of e)t.items.add(n.file);return t.files},lf=(0,t.forwardRef)(({id:e,ariaDescribedby:r,ariaLabelledby:i,counter:a,counterMaxLength:o,className:s,disabled:c,errorMessage:l,hasError:u,helptext:d,helptextDropdown:f,helptextDropdownButton:p,inline:m,fullwidth:h=!1,label:g,name:_,optionalTag:v=!1,optionalText:y,requiredTag:b=!1,requiredText:x,tagText:S=null,placeholder:C,rows:w,useWrapper:ee=!0,onChange:T,value:E,autoComplete:te=`off`,minLength:ne,maxLength:re,readOnly:D,skipForwardTestid:O=!1,...k},ie)=>{let ae=[s,`pkt-textinput`,`pkt-textarea`].join(` `),oe=`${e}-input`,se=`${oe}-label`,ce=i||se,[A,j]=(0,t.useState)(0),le=e=>{a&&j(e.currentTarget?.value?.length||0),T&&T(e)};return(0,t.useEffect)(()=>{E!==void 0&&j(E?.length||0)},[E]),(0,n.jsx)(vn,{ariaDescribedby:r,className:ae,disabled:c,errorMessage:l,forId:oe,hasError:u,helptext:d,helptextDropdown:f,helptextDropdownButton:p,inline:m,label:g,optionalTag:v,optionalText:y,requiredTag:b,requiredText:x,tagText:S,useWrapper:ee,counter:a,counterCurrent:A,counterMaxLength:o,children:(0,n.jsx)(`textarea`,{ref:e=>{j(e?.value?.length||0),typeof ie==`function`&&ie(e)},className:`pkt-input ${h?`pkt-input--fullwidth`:``} ${o&&A>o?`pkt-input--counter-error`:``}`,name:`${_||e}`,id:oe,placeholder:C,disabled:c,rows:w,"aria-labelledby":ce,"aria-invalid":u,"aria-errormessage":`${e}-error`,...k,onChange:le,value:E,autoComplete:te,minLength:ne,maxLength:re,readOnly:D,"data-skip-forward-testid":O?`true`:void 0})})});lf.displayName=`PktTextarea`;var uf=`comments`,df=e=>{let t=new Date(e);return Number.isNaN(t.getTime())?e:`${String(t.getDate()).padStart(2,`0`)}.${String(t.getMonth()+1).padStart(2,`0`)}.${t.getFullYear()} kl. ${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`},ff=({fileItem:e,disabled:r,closeOperationUi:i,onAddComment:a,existingComment:o})=>{let s=(0,t.useRef)(null),c=!!o;return(0,t.useLayoutEffect)(()=>{let e=setTimeout(()=>s.current?.focus({preventScroll:!0}),0);return()=>clearTimeout(e)},[e.fileId]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(lf,{autoFocus:!0,label:c?`Rediger kommentar`:`Legg til kommentar`,name:`comment-${e.fileId}`,className:`pkt-fileupload__queue-display__item__comment-input`,placeholder:`Skriv inn kommentar`,rows:2,id:`comment-${e.fileId}`,ref:s,disabled:r,defaultValue:o?.text}),(0,n.jsx)(k,{skin:`secondary`,size:`small`,disabled:r,onClick:()=>{let e=s.current?.value?.trim();e&&a({text:e,timestamp:new Date().toISOString()}),i()},children:c?`Lagre kommentar`:`Legg til kommentar`}),(0,n.jsx)(k,{skin:`tertiary`,size:`small`,disabled:r,onClick:i,children:`Avbryt`})]})},pf=({comment:e,disabled:t,onDeleteComment:r,onEditComment:i})=>(0,n.jsx)(`div`,{className:`pkt-fileupload__queue-display__item__comments`,children:(0,n.jsxs)(`div`,{className:`pkt-fileupload__queue-display__item__comment`,children:[(0,n.jsxs)(`div`,{className:`pkt-fileupload__queue-display__item__comment__content`,children:[(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__comment__text`,"aria-label":`Kommentar tekst`,children:e.text}),(0,n.jsx)(`time`,{className:`pkt-fileupload__queue-display__item__comment__time`,children:df(e.timestamp)})]}),(0,n.jsxs)(`div`,{className:`pkt-fileupload__queue-display__item__comment__actions`,children:[(0,n.jsx)(`button`,{type:`button`,className:`pkt-fileupload__queue-display__item__comment__action`,onClick:i,disabled:t,"aria-label":`Rediger kommentar`,children:(0,n.jsx)(D,{name:`edit`})}),(0,n.jsx)(`button`,{type:`button`,className:`pkt-fileupload__queue-display__item__comment__action`,onClick:r,disabled:t,"aria-label":`Slett kommentar`,children:(0,n.jsx)(D,{name:`trash-can`})})]})]})}),mf=({comments:e})=>(0,n.jsx)(`input`,{type:`hidden`,name:`${(0,t.useContext)(of).name}-comments`,value:e?JSON.stringify(e):``}),hf=e=>e.getAttribute(uf)??[],gf={id:`comment`,title:e=>(e.attributes?.[uf]??[]).length>0?``:`Legg til kommentar`,ariaLabel:`Legg til kommentar`,renderExtendedUI:e=>{let t=hf(e)[0];return(0,n.jsx)(ff,{fileItem:e.file,disabled:e.disabled,closeOperationUi:e.close,onAddComment:t=>{e.setAttribute(uf,[t])},existingComment:t})},renderContent:e=>{if(e.isActive)return null;let t=hf(e)[0];return t?(0,n.jsx)(pf,{comment:t,disabled:e.disabled,onEditComment:e.activate,onDeleteComment:()=>e.setAttribute(uf,void 0)}):null},renderHidden:e=>(0,n.jsx)(mf,{comments:e.getAttribute(uf)},`comments${e.file.fileId}`)},_f=e=>({id:`remove`,title:`Slett`,ariaLabel:`Slett fil`,onClick:({file:t})=>e(t.fileId)}),vf=({initialValue:e,disabled:r,onSave:i,onCancel:a})=>{let o=(0,t.useRef)(null),s=(0,t.useId)(),c=()=>i(o.current?.value??``);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`label`,{htmlFor:s,className:`pkt-sr-only`,children:`Endre filnavn`}),(0,n.jsx)(`input`,{id:s,ref:o,type:`text`,autoFocus:!0,disabled:r,defaultValue:e,className:`pkt-fileupload__queue-display__item__rename-input`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.stopPropagation(),c()),e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),a())}}),(0,n.jsx)(k,{skin:`secondary`,size:`small`,disabled:r,onClick:c,children:`Lagre`}),(0,n.jsx)(k,{skin:`tertiary`,size:`small`,disabled:r,onClick:a,children:`Avbryt`})]})},yf=({targetFilename:e})=>(0,n.jsx)(`input`,{type:`hidden`,name:`${(0,t.useContext)(of).name}-targetFilename`,value:e}),bf=e=>e.getAttribute(`targetFilename`)||tf(e.file,``),xf={id:`rename`,title:`Rediger`,ariaLabel:`Rediger filnavn`,renderInlineUI:e=>(0,n.jsx)(vf,{initialValue:bf(e),disabled:e.disabled,onSave:t=>{let n=t.trim();n&&e.setAttribute(`targetFilename`,n),e.close()},onCancel:e.close}),renderHidden:e=>(0,n.jsx)(yf,{targetFilename:bf(e)},`rename${e.file.fileId}`)},Sf=(e,n)=>{let r=(0,t.useCallback)((t,n)=>e.find(e=>e.fileId===t)?.attributes?.[n],[e]),i=(0,t.useCallback)((t,r,i)=>{let a=e.find(e=>e.fileId===t);if(!a)return;let o={...a.attributes,[r]:i};i===void 0&&delete o[r],n(t,{attributes:o})},[n,e]);return{fileAttributes:(0,t.useMemo)(()=>e=>({get:t=>r(t,e),set:(t,n)=>i(t,e,n)}),[r,i]),buildAttributeAccessors:(0,t.useCallback)(e=>({getAttribute:t=>r(e,t),setAttribute:(t,n)=>i(e,t,n)}),[r,i])}},Cf=e=>{let[n,r]=(0,t.useState)(!1),[i,a]=(0,t.useState)(0),o=(0,t.useRef)(null);return{isOpen:n,currentIndex:i,modalRef:o,open:(0,t.useCallback)(t=>{let n=e.findIndex(e=>e.fileId===t);n>=0&&(a(n),r(!0),o.current?.showModal())},[e]),close:(0,t.useCallback)(()=>{r(!1),o.current?.close()},[]),navigate:(0,t.useCallback)(t=>{e.length!==0&&a(n=>Qd(n,t,e.length))},[e.length])}},wf=e=>{let[n,r]=(0,t.useState)({});return(0,t.useEffect)(()=>{r(t=>{let n=new Set(e.map(e=>e.id)),r=!1,i={};for(let[e,a]of Object.entries(t))n.has(a)?i[e]=a:r=!0;return r?i:t})},[e]),{getActivated:(0,t.useCallback)(t=>{let r=n[t];if(r)return e.find(e=>e.id===r)},[n,e]),activate:(0,t.useCallback)((e,t)=>{r(n=>({...n,[e]:t.id}))},[]),close:(0,t.useCallback)(e=>{r(t=>{if(!(e in t))return t;let n={...t};return delete n[e],n})},[])}},Tf=(e,{uploadStrategy:n,required:r,currentFileCount:i,onMissingFiles:a})=>{(0,t.useEffect)(()=>{if(n!==`custom`||!r)return;let t=e.current?.form;if(!t)return;let o=e=>{i>0||(e.preventDefault(),a())};return t.addEventListener(`submit`,o),()=>{t.removeEventListener(`submit`,o)}},[e,n,r,i,a])},Ef=()=>(`00000000000000000`+(Math.random()*0x10000000000000000).toString(16)).slice(-16),Df=()=>{let e=Ef(),t=Ef();return e.slice(0,8)+`-`+e.slice(8,12)+`-4`+e.slice(13)+`-a`+t.slice(1,4)+`-`+t.slice(4)},Of=(0,t.forwardRef)(({ariaLabel:e,ariaLabelledby:r,ariaLive:i=`polite`,ariaValueText:a,id:o,role:s=`progressbar`,skin:c=`dark-blue`,statusPlacement:l=`following`,statusType:u=`none`,title:d,titlePosition:f=`left`,valueCurrent:p=0,valueMax:m=100,valueMin:h=0,className:g,..._},y)=>{let b=(0,t.useMemo)(()=>Df(),[]),x=o||b,S=(0,t.useRef)(null),[C,w]=(0,t.useState)(0);(0,t.useEffect)(()=>{S.current&&w(S.current.getBoundingClientRect().width||0)},[p]);let ee=m-h,T=Math.round(u===`fraction`?p/ee*100:(p-h)/ee*100),E=`${p} av ${ee}`,te=u===`fraction`&&!a?`${p} av ${m-h}`:a||void 0,ne=e?void 0:r||`${x}-title`;return(0,n.jsx)(`div`,{ref:y,id:x,role:s,"aria-live":i,"aria-atomic":`true`,"aria-valuenow":p,"aria-valuemin":h,"aria-valuemax":m,"aria-valuetext":te,"aria-label":e||void 0,"aria-labelledby":ne,className:(0,v.default)(`pkt-progressbar`,g),..._,children:(0,n.jsxs)(`div`,{className:`pkt-progressbar__container`,style:{"--pkt-progress-label-width":`${C}px`,"--pkt-progress-width":`${T}%`},children:[d&&(0,n.jsx)(`p`,{id:`${x}-title`,className:(0,v.default)(`pkt-progressbar__title`,{"pkt-progressbar__title-center":f===`center`}),children:d}),(0,n.jsx)(`div`,{className:`pkt-progressbar__bar-wrapper`,children:(0,n.jsx)(`div`,{className:(0,v.default)(`pkt-progressbar__bar`,`pkt-progressbar__bar--${c}`)})}),u!==`none`&&(0,n.jsx)(`div`,{className:(0,v.default)(`pkt-progressbar__status`,{"pkt-progressbar__status--center":l===`center`}),children:(0,n.jsx)(`span`,{ref:S,className:(0,v.default)({"pkt-progressbar__status-placement--following":l===`following`,"pkt-progressbar__status-placement--center":l===`center`,"pkt-progressbar__status-placement--left":l===`left`}),children:u===`percentage`?`${T}%`:E})})]})})});Of.displayName=`PktProgressbar`;var kf=`pkt-modal--open`,Af=`data-pkt-modal-open-count`,jf=()=>{let e=document.body.getAttribute(Af),t=e?parseInt(e,10):0;return Number.isFinite(t)&&t>0?t:0},Mf=e=>{e<=0?(document.body.removeAttribute(Af),document.body.classList.remove(kf)):(document.body.setAttribute(Af,String(e)),document.body.classList.add(kf))},Nf=e=>{e.locked||(e.locked=!0,Mf(jf()+1))},Pf=e=>{e.locked&&(e.locked=!1,Mf(jf()-1))},Ff=()=>({locked:!1}),If=(0,t.forwardRef)(({children:e,className:r,open:i=!1,headingText:a=``,hideCloseButton:o=!1,closeOnBackdropClick:s=!1,size:c=`medium`,removePadding:l=!1,closeButtonSkin:u=`blue`,variant:d=`dialog`,drawerPosition:f=`right`,transparentBackdrop:p=!1,onClose:m,...h},g)=>{let _=(0,t.useRef)(null),y=(0,t.useRef)(Ff()),b=(0,t.useCallback)(e=>{_.current=e,typeof g==`function`?g(e):g&&(g.current=e)},[g]),x=(0,t.useCallback)(()=>{_.current?.open&&(_.current.close(),Pf(y.current),m?.())},[m]);(0,t.useEffect)(()=>{i?(_.current?.open||_.current?.showModal(),Nf(y.current)):(_.current?.open&&_.current.close(),Pf(y.current))},[i]),(0,t.useEffect)(()=>{let e=y.current;return()=>{Pf(e)}},[]);let S=(0,t.useCallback)(e=>{s&&e.target===_.current&&x()},[s,x]),C=(0,t.useCallback)(()=>{Pf(y.current),m?.()},[m]),w=u===`blue`,ee=(0,v.default)({"pkt-modal":!0,"pkt-modal--removePadding":l,"pkt-modal--noHeadingText":!a,"pkt-modal--noShadow":u===`yellow-filled`,"pkt-modal--transparentBackdrop":p,[`pkt-modal--${c}`]:c,[`pkt-modal__${d}`]:d,[`pkt-modal__drawer--${f}`]:d===`drawer`},r);return(0,n.jsx)(`dialog`,{...h,className:ee,ref:b,"aria-labelledby":a?`pkt-modal__headingText`:void 0,"aria-describedby":`pkt-modal__content`,onClick:S,onClose:C,children:(0,n.jsxs)(`div`,{className:`pkt-modal__wrapper`,children:[(a||!o)&&(0,n.jsxs)(`div`,{className:`pkt-modal__header`,children:[(0,n.jsx)(`div`,{className:`pkt-modal__header-background`}),a?(0,n.jsx)(`h1`,{id:`pkt-modal__headingText`,className:`pkt-modal__headingText pkt-txt-24`,children:a}):(0,n.jsx)(`div`,{className:`pkt-modal__headingText`}),o?(0,n.jsx)(`div`,{className:`pkt-modal__noCloseButton`}):(0,n.jsx)(`div`,{className:(0,v.default)(`pkt-modal__closeButton`,{[`pkt-modal__closeButton--${u}`]:!0}),children:(0,n.jsx)(k,{onClick:x,"aria-label":`close`,iconName:`close`,variant:`icon-only`,size:`medium`,skin:w?`tertiary`:`primary`,children:`Lukk`})})]}),(0,n.jsx)(`div`,{className:`pkt-modal__container`,children:(0,n.jsx)(`div`,{id:`pkt-modal__content`,className:`pkt-modal__content pkt-txt-18-light`,children:e})})]})})});If.displayName=`PktModal`;var Lf=(0,t.createContext)({tail:5}),Rf=({children:e,tail:r})=>{let i=(0,t.useContext)(Lf),a=Zd(e,r===void 0?i.tail:r);return a?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__title__head`,"data-pkt-truncate-part":`first`,children:a.head}),(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__title__tail`,"data-pkt-truncate-part":`tail`,children:a.tail})]}):(0,n.jsx)(`span`,{"data-pkt-truncate-part":`first`,children:e})},zf=e=>(0,n.jsx)(`button`,{type:`button`,onClick:e.onClick,disabled:e.disabled,className:`pkt-fileupload__queue-display__item__cancel-button`,"aria-label":e.ariaLabel||`Avbryt opplasting`,children:e.label||`Avbryt`}),Bf=()=>(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__loading-text`,"aria-label":`Laster opp fil`,children:`Laster opp`}),Vf=({cancelTransfer:e,transferItem:t,disabled:r=!1})=>{let i=t.showProgress??t.progress!==0;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(D,{name:`document-text`,className:`pkt-fileupload__queue-display__item__icon pkt-icon--medium`,"aria-hidden":`true`}),(0,n.jsxs)(`p`,{className:`pkt-fileupload__queue-display__item__title`,"aria-label":`Filnavn`,children:[(0,n.jsx)(Rf,{children:tf(t)}),(0,n.jsxs)(`span`,{className:`pkt-fileupload__queue-display__item__filesize`,children:[` `,`(`,zd(t.file.size),`)`]})]}),(0,n.jsx)(zf,{onClick:e,disabled:r}),i?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(Of,{valueCurrent:t.progress*100,statusType:`none`,valueMax:100,statusPlacement:`following`,className:`pkt-fileupload__queue-display__item__progress`}),(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__percentage`,"aria-hidden":`true`,children:`${Math.round(t.progress*100)}%`})]}):(0,n.jsx)(Bf,{})]})},Hf=({transferItem:e})=>(0,n.jsxs)(`p`,{className:`pkt-fileupload__queue-display__item__title`,children:[(0,n.jsx)(Rf,{children:tf(e)}),e.file&&(0,n.jsxs)(`span`,{className:`pkt-fileupload__queue-display__item__filesize`,children:[` `,`(`,zd(e.file.size),`)`]})]}),Uf=({transferItem:e,onRemove:t,disabled:r})=>{let i=(e.lastProgress??1)*100;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(D,{className:`pkt-fileupload__queue-display__item__icon pkt-icon--medium`,name:`alert-error`,"aria-hidden":`true`}),(0,n.jsx)(Hf,{transferItem:e}),(0,n.jsx)(zf,{onClick:t,label:`Fjern`,ariaLabel:`Fjern fil som feilet under opplasting`,disabled:r}),(0,n.jsx)(Of,{valueCurrent:i,statusType:`none`,valueMax:100,statusPlacement:`following`,className:`pkt-fileupload__queue-display__item__progress pkt-fileupload__queue-display__item__progress--error`}),e.errorMessage&&(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__error-message`,children:e.errorMessage})]})},Wf=({transferItem:e,onRemove:t,disabled:r})=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(D,{className:`pkt-fileupload__queue-display__item__icon pkt-icon--medium`,name:`alert-error`,"aria-hidden":`true`}),(0,n.jsx)(Hf,{transferItem:e}),(0,n.jsx)(zf,{onClick:t,label:`Fjern`,ariaLabel:`Fjern fil som feilet under opplasting`,disabled:r}),e.errorMessage&&(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__error-message`,children:e.errorMessage})]}),Gf=({transferItem:e,onRemove:t,disabled:r})=>e.showProgress?(0,n.jsx)(Uf,{transferItem:e,onRemove:t,disabled:r}):(0,n.jsx)(Wf,{transferItem:e,onRemove:t,disabled:r}),Kf=({operation:e,context:t})=>{let r=typeof e.title==`function`?e.title(t.file):e.title;return r?(0,n.jsx)(`button`,{type:`button`,className:`pkt-fileupload__queue-display__item__operation`,onClick:()=>{(e.renderInlineUI||e.renderExtendedUI)&&t.activate(),e.onClick?.(t)},disabled:t.disabled,"aria-label":typeof e.ariaLabel==`function`?e.ariaLabel(t.file):e.ariaLabel,children:r}):null},qf=({transferItem:e})=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(D,{name:`document-text`,className:`pkt-fileupload__queue-display__item__icon pkt-icon--medium`,"aria-hidden":`true`}),(0,n.jsx)(Hf,{transferItem:e})]}),Jf=({transferItem:e,onPreviewClick:r})=>{let[i,a]=(0,t.useState)(null),[o,s]=(0,t.useState)(!1),c=e.file;(0,t.useEffect)(()=>{if(s(!1),c.type.startsWith(`image/`)){let e=URL.createObjectURL(c);return a(e),()=>{URL.revokeObjectURL(e)}}a(null)},[c]);let l=i&&!o&&(0,n.jsx)(`img`,{src:i,alt:e.attributes.targetFilename,onError:()=>s(!0)})||(0,n.jsx)(D,{name:`document-text`,className:`pkt-fileupload__queue-display__item__icon pkt-icon--medium`}),u=!!r;return(0,n.jsxs)(`div`,{className:`pkt-fileupload__queue-display__item__thumbnail${i&&!o?``:` pkt-fileupload__queue-display__item__thumbnail--fallback`}`,children:[(0,n.jsxs)(k,{className:`pkt-fileupload__queue-display__item__thumbnail__image-wrapper`,"aria-label":`Forhåndsvis bilde ${e.attributes.targetFilename}`,type:`button`,skin:`secondary`,onClick:r,children:[u&&(0,n.jsx)(D,{name:`expand`,className:`pkt-fileupload__queue-display__item__thumbnail__expand-icon`,"aria-hidden":`true`}),l]}),(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__thumbnail__title`,children:(0,n.jsx)(Rf,{children:e.attributes.targetFilename})})]})},Yf=({isOpen:e,images:r,currentIndex:i,onClose:a,onNavigate:o,modalRef:s})=>{let[c,l]=(0,t.useState)(null),[u,d]=(0,t.useState)(!1),f=r[i],p=r.length>1;return(0,t.useEffect)(()=>{if(d(!1),f&&f.file.type.startsWith(`image/`)){let e=URL.createObjectURL(f.file);return l(e),()=>URL.revokeObjectURL(e)}l(null)},[f]),(0,t.useEffect)(()=>{if(!e)return;let t=e=>{if(e.key===`Tab`){Xd(e,s.current);return}switch(e.key){case`ArrowLeft`:e.preventDefault(),o(`prev`);break;case`ArrowRight`:e.preventDefault(),o(`next`);break;case`Escape`:e.preventDefault(),a();break}};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e,o,a,s]),f?(0,n.jsx)(If,{ref:s,headingText:f.attributes.targetFilename,closeOnBackdropClick:!0,className:`pkt-fileupload__image-preview-modal`,onClose:a,children:(0,n.jsxs)(`div`,{className:`pkt-fileupload__image-preview`,children:[p&&(0,n.jsx)(k,{variant:`icon-only`,iconName:`chevron-thin-left`,skin:`secondary`,size:`medium`,className:`pkt-fileupload__image-preview__nav pkt-fileupload__image-preview__nav--prev`,onClick:()=>o(`prev`),"aria-label":`Forrige bilde ${i} / ${r.length}`}),(0,n.jsx)(`div`,{className:`pkt-fileupload__image-preview__content`,children:c&&!u?(0,n.jsx)(`img`,{src:c,alt:`${f.attributes.targetFilename} - ${i+1} av ${r.length}`,className:`pkt-fileupload__image-preview__image`,onError:()=>d(!0)}):(0,n.jsx)(D,{name:`picture`,className:`pkt-fileupload__queue-display__item__icon pkt-icon--medium`})}),p&&(0,n.jsxs)(`span`,{className:`pkt-fileupload__image-preview__counter`,children:[i+1,` / `,r.length]}),p&&(0,n.jsx)(k,{variant:`icon-only`,iconName:`chevron-thin-right`,skin:`secondary`,size:`medium`,className:`pkt-fileupload__image-preview__nav pkt-fileupload__image-preview__nav--next`,onClick:()=>o(`next`),"aria-label":`Neste bilde ${i+2} / ${r.length}`})]})}):null},Xf=({operation:e,transferItem:t,inputName:n,disabled:r,activatedOperation:i,onActivate:a,onClose:o,buildAttributeAccessors:s})=>{let c=s(t.fileId);return{file:t,inputName:n,disabled:r,isActive:i?.id===e.id,activate:()=>a(t.fileId,e),close:()=>o(t.fileId),getAttribute:c.getAttribute,setAttribute:c.setAttribute}},Zf=(e,t)=>e.map(e=>({operation:e,context:Xf({operation:e,...t})})),Qf=e=>(0,n.jsx)(`div`,{className:`pkt-fileupload__queue-display__item__actions`,children:Zf(e.operations,e).filter(({operation:t})=>t.id!==e.activatedOperation?.id).map(({operation:e,context:t})=>(0,n.jsx)(Kf,{operation:e,context:t},e.id))}),$f=e=>(0,n.jsx)(n.Fragment,{children:Zf(e.operations,e).filter(({operation:e})=>e.renderContent).map(({operation:e,context:t})=>(0,n.jsx)(`div`,{className:`pkt-fileupload__queue-display__item__operation-content`,children:e.renderContent(t)},e.id))}),ep=e=>{let{transferItem:t,activatedOperation:r,operations:i,ItemRenderer:a,onPreviewClick:o}=e,s=r?Xf({operation:r,...e}):void 0,c=r?.renderInlineUI||r?.renderExtendedUI?[]:i;return(0,n.jsxs)(n.Fragment,{children:[r?.renderInlineUI&&s?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(D,{name:`document-text`,className:`pkt-fileupload__queue-display__item__icon`}),(0,n.jsx)(`div`,{className:`pkt-fileupload__queue-display__item__inline-ui`,children:r.renderInlineUI(s)})]}):(0,n.jsx)(a,{transferItem:t,queueItemOperations:i,onPreviewClick:o}),c.length>0&&(0,n.jsx)(Qf,{...e,operations:c}),(0,n.jsx)($f,{...e}),r?.renderExtendedUI&&s&&(0,n.jsx)(`div`,{className:`pkt-fileupload__queue-display__item__expanded-operation-ui`,children:r.renderExtendedUI(s)})]})},tp=e=>{let{transferItem:t,enableImagePreview:r,onCancelTransfer:i,onOpenPreview:a,disabled:o}=e,s=qd(t.progress),c=r&&t.progress===`done`&&Kd(t);switch(s){case`in-progress`:return(0,n.jsx)(Vf,{transferItem:t,cancelTransfer:()=>i(t.fileId),disabled:o});case`error`:return(0,n.jsx)(Gf,{transferItem:t,onRemove:()=>i(t.fileId),disabled:o});case`idle`:return(0,n.jsx)(ep,{...e,onPreviewClick:c?()=>a(t.fileId):void 0})}},np=(e,n,r)=>(0,t.useMemo)(()=>Jd(e,n,r),[e,n,r]),rp=(e,n)=>(0,t.useMemo)(()=>n?e.filter(e=>e.progress===`done`&&Kd(e)):[],[e,n]),ip=({files:e,cancelTransfer:t,transfers:r=[],queueItemOperations:i=[],ItemRenderer:a=qf,truncateTail:o,enableImagePreview:s=!1,uploadStrategy:c=`form`,disabled:l=!1,inputName:u,buildAttributeAccessors:d})=>{let f=np(e,r,c),p=rp(f,s),m=wf(i),h=Cf(p);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`ul`,{className:`pkt-fileupload__queue-display`,children:(0,n.jsx)(Lf.Provider,{value:{tail:o},children:f.map(e=>{let r={transferItem:e,operations:i,activatedOperation:m.getActivated(e.fileId),inputName:u,disabled:l,onActivate:m.activate,onClose:m.close,buildAttributeAccessors:d};return(0,n.jsxs)(`li`,{className:(0,v.default)(`pkt-fileupload__queue-display__item`,{"pkt-fileupload__queue-display__item--in-progress":typeof e.progress==`number`,[`pkt-fileupload__queue-display__item--${e.progress}`]:typeof e.progress==`string`}),children:[i.filter(e=>e.renderHidden).map(t=>(0,n.jsx)(`span`,{children:t.renderHidden(Xf({operation:t,...r}))},`${t.id}-${e.fileId}`)),(0,n.jsx)(tp,{...r,ItemRenderer:a,enableImagePreview:s,onCancelTransfer:t,onOpenPreview:h.open})]},e.fileId)})})}),s&&p.length>0&&(0,n.jsx)(Yf,{modalRef:h.modalRef,isOpen:h.isOpen,images:p,currentIndex:h.currentIndex,onClose:h.close,onNavigate:h.navigate})]})},ap={filename:qf,thumbnail:Jf},op=(0,t.forwardRef)(({value:e,defaultValue:r,id:i,multiple:a=!1,uploadStrategy:o=`form`,addCommentsEnabled:s=!1,renameFilesEnabled:c=!1,truncateTail:l=4,onFilesChanged:u,onFileUploadRequested:d,extraOperations:f=[],itemRenderer:p=ap.filename,fullwidth:m=!1,allowedFormats:h,formatErrorMessage:g,maxFileSize:_,sizeErrorMessage:y,onFileValidation:b,onFileValidate:x,errorMessage:S,hasError:C=!1,disabled:w=!1,label:ee,helptext:T,optionalTag:E,requiredTag:te,required:ne=!1,enableImagePreview:re=!1,"aria-describedby":D,"aria-invalid":O,...k},ae)=>{let oe=(0,t.useId)(),se=i??`pkt-fileupload-${oe}`,ce=(0,t.useRef)(null);(0,t.useImperativeHandle)(ae,()=>ce.current,[]);let A=`transfers`in k?k.transfers:void 0,[j,le]=(0,t.useState)(null),[ue,M]=(0,t.useState)(``);(0,t.useEffect)(()=>{if(!ue)return;let e=setTimeout(()=>M(``),1500);return()=>clearTimeout(e)},[ue]);let de=j??S??null,N=C||!!j||!!(S&&S.trim()),P=de?`${se}-error`:void 0,F=[D,T?`${se}-helptext`:void 0,P].filter(Boolean).join(` `)||void 0,I=N||O===!0||O===`true`,fe=(0,t.useCallback)(e=>{let t=Gd(e,{allowedFormats:h,maxFileSize:_,formatErrorMessage:g,sizeErrorMessage:y,onFileValidation:b});if(t)return t;if(x){let t={file:e,errorMessage:null};if(x(t),t.errorMessage)return t.errorMessage}return null},[h,g,_,y,b,x]);e!==void 0&&r!==void 0&&console.warn(`PktFileupload: Både value og defaultValue er angitt. Komponenten kan være enten 'controlled' eller 'uncontrolled', ikke begge deler. Bruk kun én av dem. Se https://react.dev/reference/react-dom/components/input#controlling-an-input-with-a-state-variable`),e!==void 0&&u===void 0&&console.warn(`PktFileupload: value-prop er angitt uten onFilesChanged-callback. Når en komponent er 'controlled', må endringer håndteres via en callback. Vennligst legg til onFilesChanged-callback for å håndtere endringer i fil-listen. Se https://react.dev/reference/react-dom/components/input#controlling-an-input-with-a-state-variable`);let pe=e!==void 0,[me,L]=(0,t.useState)(()=>r??[]),he=pe?e:me;Tf(ce,{uploadStrategy:o,required:ne,currentFileCount:he.length,onMissingFiles:(0,t.useCallback)(()=>le(Ld.requiredMissing),[])});let ge=typeof p==`string`?ap[p]:p,R=p===`thumbnail`,_e=typeof k.accept==`string`?k.accept.trim():void 0,z=(0,t.useMemo)(()=>Ud(_e,h)||void 0,[_e,h]),ve=c&&!R,B=s&&!R,ye=(0,t.useCallback)(e=>{for(let t of e){let e=fe(t.file);if(e){le(e);return}}le(null);let t=a?[...he,...e]:[e[0]],n=a?e:[e[0]];M(n.length===1?Ld.srFileAdded(n[0].attributes.targetFilename):Ld.srFilesAdded(n.length)),pe||L(t),u?.(t),o===`custom`&&d&&e.forEach(e=>{d?.(e)})},[u,he,a,o,d,fe,pe]),be=(0,t.useCallback)((e,t)=>{let n=he.map(n=>n.fileId===e?{...n,...t}:n);pe||L(n),u?.(n)},[u,he,pe]),xe=(0,t.useCallback)(e=>{let t=he.filter(t=>t.fileId!==e);pe||L(t),u?.(t),`onTransferCancelled`in k&&k.onTransferCancelled&&k.onTransferCancelled?.(e)},[u,he,k,pe]),{buildAttributeAccessors:Se}=Sf(he,be),Ce=(0,t.useMemo)(()=>{let e=[];return ve&&e.push(xf),B&&e.push(gf),e.push(...f),e.push(_f(xe)),e},[ve,B,f,xe]),{totalCount:we,uploadedCount:Te,failedCount:Ee}=(0,t.useMemo)(()=>$d(he,A),[he,A]),De=Ld.fileLabel(we),Oe=(0,n.jsx)(`div`,{className:(0,v.default)(`pkt-fileupload`,{"pkt-fileupload--full-width":m,"pkt-fileupload--error":N,"pkt-fileupload--disabled":w}),"aria-disabled":w,...w?{inert:``}:{},children:(0,n.jsxs)(of.Provider,{value:{name:k.name||``,multiple:!!a,id:se},children:[(0,n.jsx)(`div`,{className:`pkt-sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:ue||(we>0&&Te>0?Ld.srFilesUploadedOfTotal(Te,we,De):``)}),(0,n.jsx)(`div`,{className:`pkt-sr-only`,"aria-live":`assertive`,"aria-atomic":`true`,children:we>0&&Ee>0&&Ld.srFilesFailedOfTotal(Ee,we,De)}),(0,n.jsx)(sf,{id:se,name:k.name||``,value:he,onFilesAdded:ye,multiple:a,uploadStrategy:o,ref:ce,accept:R?ef:z,isThumbnailView:R,disabled:w,required:ne&&o===`form`,"aria-required":ne?`true`:void 0,"aria-invalid":I?`true`:void 0,"aria-describedby":F,hasVisibleLabel:!!ee}),N&&de&&(0,n.jsx)(ie,{skin:`error`,"aria-live":`assertive`,role:`alert`,compact:!0,id:P,className:`pkt-fileupload__error-alert`,children:de}),he.length>0&&(0,n.jsx)(ip,{files:he,cancelTransfer:xe,truncateTail:l,transfers:A,uploadStrategy:o,ItemRenderer:ge,enableImagePreview:R&&re,disabled:w,inputName:k.name||``,buildAttributeAccessors:Se,queueItemOperations:Ce})]})});return ee?(0,n.jsx)(vn,{forId:se,label:ee,helptext:T,disabled:w,hasError:N,optionalTag:E,requiredTag:te,className:(0,v.default)(`pkt-fileupload-wrapper`,{"pkt-fileupload-wrapper--full-width":m}),children:Oe}):Oe});op.displayName=`PktFileUpload`;var sp=({columnOne:e,columnTwo:r,socialLinks:i,className:a,openLinksInNewTab:o=!1,personvernOgInfoLink:s=`https://www.oslo.kommune.no/personvern-og-informasjonskapsler/`,tilgjengelighetLink:c=`https://www.oslo.kommune.no/tilgjengelighet/`,includeConsent:l=!1,hotjarId:u=null,googleAnalyticsId:d=null,devMode:f=!1,cookieDomain:p=null,cookieSecure:m=null,cookieExpiryDays:h=null,onToggleConsent:g=e=>{console.log(e.detail)}})=>(0,n.jsx)(`footer`,{className:[a,`pkt-footer`].filter(Boolean).join(` `),"data-mode":`dark`,children:(0,n.jsxs)(`div`,{className:`pkt-footer__container`,children:[(0,n.jsxs)(`div`,{className:`pkt-grid pkt-grid--rowgap-size-32 pkt-grid--gap-size-16`,children:[(0,n.jsxs)(`div`,{className:`pkt-footer__column pkt-cell pkt-cell--span12 pkt-cell--span4-laptop-up`,children:[(0,n.jsx)(`h2`,{className:`pkt-footer__title`,children:e.title}),(0,n.jsxs)(`ul`,{className:`pkt-footer__list`,children:[e.text&&(0,n.jsx)(`li`,{className:`pkt-footer__text`,children:e.text}),e.links?.map((e,t)=>(0,n.jsx)(`li`,{className:`pkt-footer__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer__link ${e.external?`pkt-link--external`:``}`,href:e.href,target:e.openInNewTab||o?`_blank`:`_self`,rel:e.openInNewTab||o?`noopener noreferrer`:void 0,children:[(0,n.jsx)(D,{className:`pkt-footer__link-icon`,name:`chevron-right`}),e.text]})},`links-${t}`))]})]}),(0,n.jsxs)(`div`,{className:`pkt-footer__column pkt-cell pkt-cell--span12 pkt-cell--span4-laptop-up`,children:[(0,n.jsx)(`h2`,{className:`pkt-footer__title`,children:r.title}),(0,n.jsxs)(`ul`,{className:`pkt-footer__list`,children:[r.text&&(0,n.jsx)(`li`,{className:`pkt-footer__text`,children:r.text}),r.links?.map((e,t)=>(0,n.jsx)(`li`,{className:`pkt-footer__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer__link ${e.external?`pkt-link--external`:``}`,href:e.href,target:e.openInNewTab||o?`_blank`:`_self`,rel:e.openInNewTab||o?`noopener noreferrer`:void 0,children:[(0,n.jsx)(D,{className:`pkt-footer__link-icon`,name:`chevron-right`}),e.text]})},`links-${t}`))]})]}),(0,n.jsxs)(`div`,{className:`pkt-footer__column pkt-cell pkt-cell--span12 pkt-cell--span4-laptop-up`,children:[(0,n.jsx)(`h2`,{className:`pkt-footer__title`,children:`Om nettstedet`}),(0,n.jsxs)(`ul`,{className:`pkt-footer__list`,children:[(0,n.jsx)(`li`,{className:`pkt-footer__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer__link`,href:s,target:o?`_blank`:`_self`,rel:o?`noopener noreferrer`:void 0,children:[(0,n.jsx)(D,{className:`pkt-footer__link-icon`,name:`chevron-right`}),`Personvern og informasjonskapsler`]})}),(0,n.jsx)(`li`,{className:`pkt-footer__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer__link`,href:c,target:o?`_blank`:`_self`,rel:o?`noopener noreferrer`:void 0,children:[(0,n.jsx)(D,{className:`pkt-footer__link-icon`,name:`chevron-right`}),`Tilgjengelighet`]})}),l&&(0,n.jsx)(`li`,{className:`pkt-footer__list-item`,children:(0,n.jsx)(_d,{triggerType:`footerlink`,hotjarId:u,googleAnalyticsId:d,devMode:f,cookieDomain:p,cookieSecure:m,cookieExpiryDays:h,onToggleConsent:g})})]})]})]}),i&&(0,n.jsxs)(`div`,{className:`pkt-footer__social`,"aria-label":`standard lenker`,children:[(0,n.jsx)(`div`,{className:`pkt-footer__social-languages`,children:i.filter(e=>e.language).map((e,t)=>(0,n.jsx)(`div`,{className:`pkt-footer__social-language`,children:(0,n.jsx)(`a`,{href:e.href,"aria-label":`til ${e.language} versjon av nettsiden`,target:e.openInNewTab||o?`_blank`:`_self`,rel:e.openInNewTab||o?`noopener noreferrer`:void 0,children:e.language})},`sociallinks-language-${t}`))}),(0,n.jsx)(`div`,{className:`pkt-footer__social-icons`,children:i.filter(e=>e.iconName).map((e,r)=>(0,n.jsx)(t.Fragment,{children:(0,n.jsx)(`a`,{href:e.href,"aria-label":`til ${e.iconName}`,className:`pkt-footer__social-icon-link`,target:e.openInNewTab||o?`_blank`:`_self`,rel:e.openInNewTab||o?`noopener noreferrer`:void 0,children:(0,n.jsx)(D,{className:`pkt-footer__social-icon`,name:e.iconName})})},`sociallinks-${r}`))})]})]})}),cp=({links:e=[],openLinksInNewTab:t=!1,personvernOgInfoLink:r=`https://www.oslo.kommune.no/personvern-og-informasjonskapsler/`,tilgjengelighetLink:i=`https://www.oslo.kommune.no/tilgjengelighet/`,includeConsent:a=!1,hotjarId:o=null,googleAnalyticsId:s=null,devMode:c=!1,cookieDomain:l=null,cookieSecure:u=null,cookieExpiryDays:d=null,onToggleConsent:f=e=>{console.log(e.detail)},className:p})=>(0,n.jsx)(`footer`,{className:[p,`pkt-footer-simple`].filter(Boolean).join(` `),"data-mode":`dark`,children:(0,n.jsx)(`div`,{className:`pkt-footer-simple__container`,children:(0,n.jsxs)(`ul`,{className:`pkt-footer-simple__list`,children:[e.map((e,r)=>(0,n.jsx)(`li`,{className:`pkt-footer-simple__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer-simple__link ${e.external?` pkt-link--external`:``}`,href:e.href,target:e.openInNewTab||t?`_blank`:`_self`,rel:e.openInNewTab||t?`noopener noreferrer`:void 0,children:[(0,n.jsx)(D,{className:`pkt-footer-simple__link-icon`,name:`chevron-right`}),e.text]})},r)),(0,n.jsx)(`li`,{className:`pkt-footer-simple__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer-simple__link`,href:r,target:t?`_blank`:`_self`,rel:t?`noopener noreferrer`:void 0,children:[(0,n.jsx)(D,{className:`pkt-footer-simple__link-icon`,name:`chevron-right`}),`Personvern og informasjonskapsler`]})}),(0,n.jsx)(`li`,{className:`pkt-footer-simple__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer-simple__link`,href:i,target:t?`_blank`:`_self`,rel:t?`noopener noreferrer`:void 0,children:[(0,n.jsx)(D,{className:`pkt-footer-simple__link-icon`,name:`chevron-right`}),`Tilgjengelighet`]})}),a&&(0,n.jsx)(`li`,{className:`pkt-footer-simple__list-item`,children:(0,n.jsx)(_d,{triggerType:`footerlink`,hotjarId:o,googleAnalyticsId:s,devMode:c,cookieDomain:l,cookieSecure:u,cookieExpiryDays:d,onToggleConsent:f})})]})})}),lp=(e,n)=>{let[r,i]=(0,t.useState)(()=>typeof window>`u`?n??0:n??window.innerWidth);return(0,t.useEffect)(()=>{let t=e.current;if(!t)return;if(i(t.offsetWidth),typeof ResizeObserver>`u`){let e=()=>{t&&i(t.offsetWidth)};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)}let n=new ResizeObserver(e=>{for(let t of e)t.borderBoxSize&&t.borderBoxSize.length>0?i(t.borderBoxSize[0].inlineSize):i(t.contentRect.width)});return n.observe(t),()=>{n.disconnect()}},[e]),r};function up(e){let n=(0,t.useRef)(0);(0,t.useEffect)(()=>{let t=document.body,r=document.documentElement;if(e){n.current=window.scrollY||window.pageYOffset;let e=window.innerWidth-r.clientWidth;e>0&&(t.style.paddingRight=`${e}px`),t.style.position=`fixed`,t.style.top=`-${n.current}px`,t.style.left=`0`,t.style.right=`0`,t.style.width=`100%`,t.style.overflow=`hidden`,r.classList.add(`is-scroll-locked`)}else t.style.removeProperty(`position`),t.style.removeProperty(`top`),t.style.removeProperty(`left`),t.style.removeProperty(`right`),t.style.removeProperty(`width`),t.style.removeProperty(`overflow`),t.style.removeProperty(`padding-right`),document.documentElement.classList.remove(`is-scroll-locked`),window.scrollTo({top:n.current});return()=>{e&&(t.style.cssText=``,document.documentElement.classList.remove(`is-scroll-locked`),window.scrollTo({top:n.current}))}},[e])}var dp=({href:e,iconName:t,className:r,iconPosition:i,external:a,target:o,children:s,...c})=>{let l={"pkt-link":!0,"pkt-link--icon-left":!!t&&i===`left`||!!(t&&!i),"pkt-link--icon-right":!!t&&i===`right`,"pkt-link--external":a};return(0,n.jsxs)(`a`,{...c,className:(0,v.default)(l,r),href:e,target:o,rel:a?`noopener noreferrer`:void 0,children:[t&&(0,n.jsx)(D,{name:t,className:`pkt-link__icon`}),s]})};dp.displayName=`PktLink`;var fp=e=>typeof e.target==`string`?{title:e.title,iconName:e.iconName,href:e.target}:{title:e.title,iconName:e.iconName,onClick:e.target},pp=({item:e,className:t})=>`href`in e?(0,n.jsx)(dp,{iconName:e.iconName,href:e.href,"aria-hidden":`true`,className:(0,v.default)(`pkt-user-menu__link`,t),children:e.title}):(0,n.jsxs)(`button`,{className:(0,v.default)(`pkt-user-menu__link pkt-link-button pkt-link pkt-link--icon-left`,t),type:`button`,onClick:()=>{`onClick`in e&&typeof e.onClick==`function`?e.onClick():console.error(`UserMenuButton item is missing onClick handler or onClick is not a function:`,e)},children:[e.iconName&&(0,n.jsx)(D,{name:e.iconName,className:`pkt-link__icon`,"aria-hidden":`true`}),e.title]}),mp=({links:e})=>(0,n.jsx)(`ul`,{className:`pkt-user-menu__sublist`,children:e.map((e,t)=>(0,n.jsx)(`li`,{className:`pkt-user-menu__subitem`,children:(0,n.jsx)(pp,{item:e})},t))}),hp=(0,t.forwardRef)(({user:e,formattedLastLoggedIn:t,representing:r,userMenu:i,canChangeRepresentation:a,changeRepresentation:o,logoutOnClick:s},c)=>{let l=i?.map(fp);return(0,n.jsx)(`nav`,{className:`pkt-user-menu`,ref:c,"aria-label":`Meny for innlogget bruker`,children:(0,n.jsxs)(`ul`,{className:`pkt-user-menu__list`,children:[e&&(0,n.jsxs)(`li`,{className:`pkt-user-menu__item`,children:[(0,n.jsx)(`div`,{className:`pkt-user-menu__label`,children:`Pålogget som`}),(0,n.jsx)(`div`,{className:`pkt-user-menu__name`,translate:`no`,children:e.name}),t&&(0,n.jsxs)(`div`,{className:`pkt-user-menu__last-logged-in`,children:[`Sist pålogget: `,(0,n.jsx)(`time`,{children:t})]})]}),l&&l.length>0&&(0,n.jsx)(`li`,{className:`pkt-user-menu__item`,children:(0,n.jsx)(mp,{links:l})}),r&&(0,n.jsxs)(`li`,{className:`pkt-user-menu__item`,children:[(0,n.jsx)(`div`,{className:`pkt-user-menu__label`,children:`Representerer`}),(0,n.jsx)(`div`,{className:`pkt-user-menu__name`,translate:`no`,children:r.name}),r.orgNumber&&(0,n.jsxs)(`div`,{className:`pkt-user-menu__org-number`,children:[`Org.nr. `,r.orgNumber]}),a&&o&&(0,n.jsx)(`ul`,{className:`pkt-user-menu__sublist mt-size-16`,children:(0,n.jsx)(`li`,{className:`pkt-user-menu__subitem`,children:(0,n.jsx)(pp,{item:{title:`Endre organisasjon`,iconName:`cogwheel`,onClick:o}})})})]}),!r&&a&&o&&(0,n.jsx)(`li`,{className:`pkt-user-menu__item`,children:(0,n.jsx)(`ul`,{className:`pkt-user-menu__sublist`,children:(0,n.jsx)(`li`,{className:`pkt-user-menu__subitem`,children:(0,n.jsx)(pp,{item:{title:`Endre organisasjon`,iconName:`cogwheel`,onClick:o}})})})}),s&&(0,n.jsx)(`li`,{className:`pkt-user-menu__item`,children:(0,n.jsx)(pp,{item:{title:`Logg ut`,iconName:`exit`,onClick:s}})})]})})});hp.displayName=`PktHeaderUserMenu`;var gp=(0,t.forwardRef)(({id:e,ariaDescribedby:r,ariaLabelledby:i,autocomplete:a=`off`,counter:o,counterMaxLength:s,className:c,disabled:l=!1,errorMessage:u,hasError:d=!1,helptext:f,helptextDropdown:p,helptextDropdownButton:m,iconNameRight:h,inline:g=!1,fullwidth:_=!1,label:v,name:y,optionalTag:b=!1,optionalText:x,requiredTag:S=!1,requiredText:C,tagText:w=null,placeholder:ee,prefix:T,suffix:E,type:te=`text`,useWrapper:ne=!0,omitSearchIcon:re=!1,value:O,minLength:k,maxLength:ie,min:ae,max:oe,step:se,size:ce,readonly:A,required:j,dataTestid:le,onChange:ue,skipForwardTestid:M=!1,...de},N)=>{let P=[c,`pkt-textinput`].join(` `),F=te===`search`&&!h&&!re,I=te===`date`&&O?O.slice(0,10):O,[fe,pe]=(0,t.useState)(O?.length||0),me=`${e}`,L=`${me}-label`,he=i||L,ge=e=>{o&&pe(e.currentTarget?.value?.length||0),ue&&ue(e)};return(0,t.useEffect)(()=>{O!==void 0&&pe(O?.length||0)},[O]),(0,n.jsx)(vn,{ariaDescribedby:r,className:P,disabled:l,errorMessage:u,forId:me,hasError:d,helptext:f,helptextDropdown:p,helptextDropdownButton:m,inline:g,label:v,optionalTag:b,optionalText:x,requiredTag:S,requiredText:C,tagText:w,useWrapper:ne,counter:o,counterCurrent:fe,counterMaxLength:s,children:(0,n.jsxs)(`div`,{className:`pkt-input__container`,"data-testid":le,"data-skip-forward-testid":M?`true`:void 0,children:[T&&(0,n.jsx)(`div`,{className:`pkt-input-prefix`,children:T}),(0,n.jsx)(`input`,{...de,ref:N,className:`pkt-input ${_?`pkt-input--fullwidth`:``} ${s&&fe>s?`pkt-input--counter-error`:``}`,type:te,name:`${y||e}`,value:I,id:me,placeholder:ee,autoComplete:a,disabled:l,"aria-invalid":d,"aria-errormessage":`${e}-error`,"aria-labelledby":he,min:ae,max:oe,onChange:ge,step:se,minLength:k,maxLength:ie,size:ce,readOnly:A,required:j}),E&&(0,n.jsxs)(`p`,{className:`pkt-input-suffix`,children:[E,h&&(0,n.jsx)(D,{className:`pkt-input-suffix-icon`,name:h}),F&&(0,n.jsx)(D,{className:`pkt-input-suffix-icon`,name:`magnifying-glass-big`})]}),!E&&h&&(0,n.jsx)(D,{className:`pkt-input-icon`,name:h}),!E&&F&&(0,n.jsx)(D,{className:`pkt-input-icon`,name:`magnifying-glass-big`})]})})});gp.displayName=`PktTextinput`;var _p=(0,t.forwardRef)(({mobileBreakpoint:e=768,tabletBreakpoint:r=1280,children:i,className:a,compact:o=!1,"data-mode":s,logOutButtonPlacement:c=`none`,logOut:l,openedMenu:u,showSearch:d=!1,onSearch:f,onSearchChange:p,searchValue:m,searchPlaceholder:h=`Søk`,representing:g,serviceLink:_,serviceClick:y,serviceName:b,user:x,userMenu:S,userMenuFooter:C,userOptions:w,canChangeRepresentation:ee=!1,changeRepresentation:T,hideLogo:E=!1,logoLink:te,logoClick:ne,position:re=`fixed`,scrollBehavior:O=`hide`,slotMenuVariant:ie=`icon-only`,slotMenuText:ae=`Meny`},oe)=>{let se=re===`fixed`,ce=O===`hide`;(0,t.useEffect)(()=>{C&&console.warn(`PktHeaderService: The "userMenuFooter" prop is deprecated and will be removed in a future version. Please use "userMenu" instead.`)},[C]),(0,t.useEffect)(()=>{w&&console.warn(`PktHeaderService: The "userOptions" prop is no longer available. Please use "userMenu" instead.`)},[w]),(0,t.useEffect)(()=>{x?.shortname&&console.warn(`PktHeaderService: The "shortname" property on the user object is deprecated and will be removed in a future version.`),g?.shortname&&console.warn(`PktHeaderService: The "shortname" property on the representing object is deprecated and will be removed in a future version.`)},[x?.shortname,g?.shortname]);let A=(0,t.useMemo)(()=>{if(x?.lastLoggedIn)return typeof x.lastLoggedIn==`string`?x.lastLoggedIn:new Date(x.lastLoggedIn).toLocaleString(`nb-NO`,{year:`numeric`,month:`long`,day:`numeric`})},[x?.lastLoggedIn]),[j,le]=(0,t.useState)(u||`none`);(0,t.useEffect)(()=>{u!==void 0&&le(u)},[u]);let[ue,M]=(0,t.useState)(!1),[de,N]=(0,t.useState)(0),[P,F]=(0,t.useState)(!1),[I,fe]=(0,t.useState)(!1),pe=(0,t.useRef)(null),me=(0,t.useRef)(null),L=(0,t.useRef)(null),he=(0,t.useRef)(null),ge=(0,t.useRef)(null),R=(0,t.useRef)(null),_e=(0,t.useRef)(null),z=(0,t.useRef)(!1),ve=lp(pe),B=ve<e,ye=ve<r,be=(0,t.useCallback)(e=>{pe.current=e,typeof oe==`function`?oe(e):oe&&(oe.current=e)},[oe]);up(se&&B&&j!==`none`);let xe=(0,t.useCallback)((e,t)=>{let n=e.relatedTarget,r;switch(t){case`user`:r=me;break;case`slot`:r=L;break;case`search`:r=he;break;default:return}let i=r.current;i&&(!n||!i.contains(n))&&le(`none`)},[]),Se=(0,t.useCallback)(()=>{z.current&&_e.current&&document.contains(_e.current)&&_e.current.focus(),_e.current=null,z.current=!1},[]);(0,t.useEffect)(()=>{let e=e=>{x&&j===`user`&&!e.target.closest(`.pkt-header-service__user-container`)&&le(`none`),j===`slot`&&!e.target.closest(`.pkt-header-service__slot-container`)&&le(`none`),j===`search`&&!e.target.closest(`.pkt-header-service__search-container`)&&!e.target.closest(`.pkt-header-service__search-input`)&&le(`none`)},t=e=>{e.key===`Escape`&&j!==`none`&&(e.preventDefault(),z.current=!0,le(`none`))};if(j!==`none`)return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)};Se()},[j,x,Se]),(0,t.useEffect)(()=>{let e=()=>{if(ce){let e=window.pageYOffset||document.documentElement.scrollTop;if(e<0||Math.abs(e-de)<60)return;M(e>de),N(e)}};return document&&window.addEventListener(`scroll`,e),()=>{document&&window.removeEventListener(`scroll`,e)}},[ce,de]);let Ce=(0,t.useCallback)(e=>{let t=e===`slot`?L:he,n=e===`slot`?ge:R;if(!t.current||!n.current||!ye||B)return;let r=t.current.getBoundingClientRect(),i=n.current.offsetWidth,a=r.left+i>window.innerWidth;e===`slot`?F(a):fe(a)},[ye,B]),we=(0,t.useCallback)(e=>{j===`none`?(_e.current=document.activeElement,le(e)):le(`none`)},[j]);(0,t.useEffect)(()=>{(j===`slot`||j===`search`)&&requestAnimationFrame(()=>{Ce(j)})},[j,Ce]);let Te=(0,n.jsxs)(`header`,{className:(0,v.default)(`pkt-header-service`,o&&`pkt-header-service--compact`,B&&`pkt-header-service--mobile`,ye&&`pkt-header-service--tablet`,se&&`pkt-header-service--fixed`,ce&&`pkt-header-service--scroll-to-hide`,ue&&`pkt-header-service--hidden`,a),"data-mode":s,ref:be,children:[(0,n.jsxs)(`div`,{className:(0,v.default)(`pkt-header-service__logo-area`,(!b||b===``)&&`pkt-header-service__logo-area--without-service`),children:[!E&&(0,n.jsx)(`span`,{className:`pkt-header-service__logo`,children:te?(0,n.jsx)(`a`,{href:te,"aria-label":`Tilbake til forside`,children:(0,n.jsx)(D,{name:`oslologo`,"aria-hidden":`true`,path:`https://punkt-cdn.oslo.kommune.no/16.21/logos/`})}):ne?(0,n.jsx)(`button`,{"aria-label":`Tilbake til forside`,className:`pkt-link-button pkt-link pkt-header-service__logo-link`,onClick:ne,children:(0,n.jsx)(D,{name:`oslologo`,"aria-hidden":`true`,path:`https://punkt-cdn.oslo.kommune.no/16.21/logos/`})}):(0,n.jsx)(D,{name:`oslologo`,"aria-hidden":`true`,path:`https://punkt-cdn.oslo.kommune.no/16.21/logos/`})}),b&&(0,n.jsx)(`span`,{className:`pkt-header-service__service-name`,translate:`no`,children:_?(0,n.jsx)(dp,{href:_,className:`pkt-header-service__service-link `,children:b}):y?(0,n.jsx)(`button`,{className:`pkt-link-button pkt-link pkt-header-service__service-link`,onClick:y,children:b}):(0,n.jsx)(`span`,{className:`pkt-header-service__service-link`,children:b})})]}),i||d||ye&&l&&(c===`header`||c===`both`)?(0,n.jsxs)(`div`,{className:`pkt-header-service__content`,children:[(0,n.jsxs)(`div`,{className:(0,v.default)(`pkt-header-service__slot-container`,j===`slot`&&`is-open`),onBlur:e=>xe(e,`slot`),ref:L,children:[ye&&i&&(0,n.jsx)(k,{skin:`secondary`,variant:ie,iconName:`menu`,size:B?`small`:`medium`,state:j===`slot`?`active`:`normal`,onClick:()=>we(`slot`),"aria-expanded":j===`slot`,"aria-controls":`mobile-slot-menu`,"aria-label":`Åpne meny`,children:ae}),(0,n.jsx)(`div`,{className:(0,v.default)(`pkt-header-service__slot-content`,P&&`align-right`),id:`mobile-slot-menu`,role:ye?`menu`:void 0,"aria-label":ye?`Meny`:void 0,ref:ge,children:(0,n.jsx)(`div`,{className:`pkt-contents`,children:i})})]}),d&&(0,n.jsx)(n.Fragment,{children:ye?(0,n.jsxs)(`div`,{className:(0,v.default)(`pkt-header-service__search-container`,j===`search`&&`is-open`),onBlur:e=>xe(e,`search`),ref:he,children:[(0,n.jsx)(k,{skin:`secondary`,variant:`icon-only`,iconName:`magnifying-glass-big`,size:B?`small`:`medium`,onClick:()=>we(`search`),state:j===`search`?`active`:`normal`,"aria-expanded":j===`search`,"aria-controls":`mobile-search-menu`,"aria-label":`Åpne søkefelt`,children:`Søk`}),(0,n.jsx)(`div`,{className:(0,v.default)(`pkt-header-service__mobile-menu`,j===`search`&&`is-open`,I&&`align-right`),ref:R,children:j===`search`&&(0,n.jsx)(gp,{id:`mobile-search-menu`,className:`pkt-header-service__search-input`,type:`search`,label:`Søk`,useWrapper:!1,placeholder:h,value:m,autoFocus:!0,fullwidth:!0,onChange:e=>p?.(e.target.value),onKeyDown:e=>{e.key===`Enter`&&f?.(e.target.value)}})})]}):(0,n.jsx)(gp,{id:`header-service-search`,className:`pkt-header-service__search-input`,type:`search`,label:`Søk`,useWrapper:!1,placeholder:h,value:m,onChange:e=>p?.(e.target.value),onKeyDown:e=>{e.key===`Enter`&&f?.(e.target.value)}})}),B&&l&&(c===`header`||c===`both`)&&(0,n.jsx)(k,{skin:`secondary`,size:B?`small`:`medium`,variant:`icon-only`,iconName:`exit`,onClick:l,children:`Logg ut`})]}):null,(x||!B&&l&&(c===`header`||c===`both`))&&(0,n.jsxs)(`div`,{className:`pkt-header-service__user`,children:[x&&(0,n.jsxs)(`div`,{className:`pkt-header-service__user-container`,onBlur:e=>xe(e,`user`),ref:me,children:[(0,n.jsxs)(k,{className:(0,v.default)(`pkt-header-service__user-button`,B&&`pkt-header-service__user-button--mobile`),skin:`secondary`,size:B?`small`:`medium`,state:j===`user`?`active`:`normal`,variant:`icons-right-and-left`,iconName:`user`,secondIconName:j===`user`?`chevron-thin-up`:`chevron-thin-down`,onClick:()=>we(`user`),children:[(0,n.jsx)(`span`,{className:`pkt-sr-only`,children:`Brukermeny: `}),(0,n.jsx)(`span`,{translate:`no`,children:g?.name||x.name})]}),j===`user`&&x&&(0,n.jsx)(`div`,{className:(0,v.default)(B?`pkt-header-service__mobile-menu`:`pkt-header-service__user-menu`,`is-open`),children:(0,n.jsx)(hp,{user:x,formattedLastLoggedIn:A,representing:g,userMenu:S,canChangeRepresentation:ee,changeRepresentation:T,logoutOnClick:c===`userMenu`||c===`both`?l:void 0})})]}),!B&&l&&(c===`header`||c===`both`)&&(0,n.jsx)(k,{skin:`tertiary`,size:`medium`,variant:`icon-right`,iconName:`exit`,onClick:l,children:`Logg ut`})]})]});return se?(0,n.jsxs)(`div`,{className:`pkt-header-service-wrapper`,children:[Te,(0,n.jsx)(`div`,{className:(0,v.default)(`pkt-header-service-spacer`,o&&`pkt-header-service-spacer--compact`,x&&`pkt-header-service-spacer--has-user`,B&&`pkt-header-service-spacer--mobile`,ye&&`pkt-header-service-spacer--tablet`)})]}):Te});_p.displayName=`PktHeaderService`;var vp=(0,t.forwardRef)((e,t)=>(0,n.jsx)(_p,{...e,ref:t}));vp.displayName=`PktHeader`;var yp={automat:`parking-meter`,bike:`bicycle`,corona:`virus`,directions:`arrow-directions`,document:`document-plain`,"download-document":`document-download`,elcar:`electric-car`,"error-hexa":`alert-error`,"fire-emblem":`shield-fire`,"link-arrow":`arrow-link`,"linked-in":`linkedin`,"map-layer":`map-layers`,mobile:`mobile-phone`,neutral:`smiley-neutral`,placeholder:`placeholder-icon`,sad:`smiley-sad`,signing:`signature`,sky:`cloud`,smile:`smiley-smile`,"success-square":`alert-success`,trash:`trash-can`,treatment:`processing`,"warning-triangle":`alert-warning`};function bp(e){return e&&(yp[e]??e)}var xp={"facebook.com":`facebook`,"fb.com":`facebook`,"instagram.com":`instagram`,"linkedin.com":`linkedin`,"x.com":`x`,"github.com":`github`};function Sp(e){return e.toLowerCase().replace(/^(?:www|m)\./,``)}function Cp(e,t){if(e)try{let t=xp[Sp(new URL(e).hostname)];if(t)return t}catch{}if(t){let e=t.trim().toLowerCase().replace(/\s+/g,`-`);if(e){let t=bp(e);if(t)return t}}}var wp=`nb-NO`;function Tp(e,t=wp){if(e)return e[t]??e[wp]}async function Ep(e=Fd,t){let n=await fetch(e,{signal:t});if(!n.ok)throw Error(`pkt-header-menu: failed to fetch ${e} (HTTP ${n.status})`);let r=await n.json();if(!r||typeof r!=`object`)throw Error(`pkt-header-menu: ${e} returned a non-object payload`);return r}var Dp=({dataUrl:e=Fd,data:r,locale:i=`nb-NO`,open:a=!1,mobileBreakpoint:o=768,ariaLabelledBy:s,className:c,onDataLoaded:l,onDataError:u,ref:d,...f})=>{let[p,m]=(0,t.useState)(r?`ready`:`idle`),[h,g]=(0,t.useState)(void 0),[_,v]=(0,t.useState)(!1),y=(0,t.useRef)(l),b=(0,t.useRef)(u);(0,t.useEffect)(()=>{y.current=l},[l]),(0,t.useEffect)(()=>{b.current=u},[u]),(0,t.useEffect)(()=>{if(typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(`(max-width: ${o-1}px)`);v(e.matches);let t=e=>v(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[o]),(0,t.useEffect)(()=>{r&&(m(`ready`),y.current?.(r))},[r]),(0,t.useEffect)(()=>{if(r)return;let t=new AbortController;return m(`loading`),Ep(e,t.signal).then(e=>{t.signal.aborted||(g(e),m(`ready`),y.current?.(e))}).catch(e=>{e.name!==`AbortError`&&(m(`error`),b.current?.(e))}),()=>t.abort()},[r,e]);let x=r??h,S=(0,t.useMemo)(()=>Tp(x,i),[x,i]),C=[`pkt-header-menu`,a&&`pkt-header-menu--open`,c].filter(Boolean).join(` `);if(p===`loading`)return(0,n.jsx)(`section`,{...f,ref:d,className:C,children:(0,n.jsx)(`nav`,{"aria-busy":`true`,children:(0,n.jsx)(`p`,{className:`pkt-header-menu__loading`,children:`Laster meny…`})})});if(p===`error`||!S)return(0,n.jsx)(`section`,{...f,ref:d,className:C,children:(0,n.jsx)(`nav`,{"aria-hidden":!a,children:(0,n.jsx)(`p`,{className:`pkt-header-menu__error`,children:`Kunne ikke laste meny.`})})});let{megamenu:w,i18n:ee}=S,T=ee?.navAriaLabel||`Hovedmeny`;return(0,n.jsx)(`section`,{...f,ref:d,className:C,"aria-labelledby":s||void 0,children:(0,n.jsxs)(`nav`,{"aria-label":T,children:[_?(0,n.jsx)(kp,{services:w.services,sections:w.sections}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(Ap,{services:w.services}),(0,n.jsx)(jp,{buttons:w.buttons,mobile:!1}),(0,n.jsx)(Mp,{sections:w.sections})]}),(0,n.jsx)(jp,{buttons:w.buttons,mobile:!0}),(0,n.jsx)(Pp,{links:w.links,some:w.some})]})})},Op=({services:e})=>(0,n.jsx)(`ul`,{className:`pkt-header-menu__services-list`,children:e.links.map((e,t)=>(0,n.jsx)(`li`,{className:`pkt-header-menu__service`,children:(0,n.jsxs)(`a`,{className:`pkt-header-menu__service-link`,href:e.url,children:[(0,n.jsx)(D,{className:`pkt-header-menu__service-icon`,name:bp(e.icon),"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`pkt-header-menu__service-text`,children:e.text})]})},`service-${t}`))}),kp=({services:e,sections:t})=>(0,n.jsx)(`div`,{className:`pkt-header-menu__sections`,children:(0,n.jsxs)(_,{className:`pkt-header-menu__sections-inner`,skin:`plus-minus`,name:`header-menu-accordion`,children:[(0,n.jsx)(O,{className:`pkt-header-menu__section`,skin:`plus-minus`,id:`pkt-header-menu-services`,title:e.title,children:(0,n.jsx)(Op,{services:e})}),t.map((e,t)=>(0,n.jsx)(O,{className:`pkt-header-menu__section`,skin:`plus-minus`,id:`pkt-header-menu-section-${t}`,title:e.title,children:(0,n.jsx)(Np,{links:e.links})},`section-${t}`))]})}),Ap=({services:e})=>(0,n.jsxs)(`div`,{className:`pkt-header-menu__services`,children:[(0,n.jsx)(`h2`,{className:`pkt-header-menu__services-title`,children:e.title}),(0,n.jsx)(Op,{services:e})]}),jp=({buttons:e,mobile:t})=>!e||e.length===0?null:(0,n.jsx)(`div`,{className:[`pkt-header-menu__buttons`,t&&`pkt-header-menu__buttons--mobile`].filter(Boolean).join(` `),children:e.map((e,t)=>(0,n.jsxs)(`a`,{className:`pkt-btn pkt-btn--secondary pkt-btn--icon-right pkt-btn--small`,href:e.url,children:[(0,n.jsx)(D,{className:`pkt-btn__icon`,name:e.iconName?bp(e.iconName):`user`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:e.text})]},`button-${t}`))}),Mp=({sections:e})=>!e||e.length===0?null:(0,n.jsx)(`div`,{className:`pkt-header-menu__sections`,children:(0,n.jsx)(`div`,{className:`pkt-header-menu__sections-inner`,children:e.map((e,t)=>(0,n.jsxs)(`div`,{className:`pkt-header-menu__section`,children:[(0,n.jsx)(`h2`,{className:`pkt-header-menu__section-title`,children:e.title}),(0,n.jsx)(Np,{links:e.links})]},`section-${t}`))})}),Np=({links:e})=>(0,n.jsx)(`ul`,{className:`pkt-header-menu__section-list`,children:e.map((e,t)=>(0,n.jsx)(`li`,{children:(0,n.jsx)(`a`,{className:`pkt-header-menu__section-link`,href:e.url,children:e.text})},`section-link-${t}`))}),Pp=({links:e,some:t})=>{let r=e&&e.length>0,i=t&&t.length>0;return!r&&!i?null:(0,n.jsxs)(`div`,{className:`pkt-header-menu__footer`,children:[r&&(0,n.jsx)(`ul`,{className:`pkt-header-menu__footer-list`,children:e.map((e,t)=>(0,n.jsx)(`li`,{children:(0,n.jsx)(`a`,{className:`pkt-header-menu__footer-link`,href:e.url,children:e.text})},`footer-link-${t}`))}),i&&(0,n.jsx)(`ul`,{className:`pkt-header-menu__footer-list pkt-header-menu__footer-list--social`,children:t.map((e,t)=>(0,n.jsx)(Fp,{entry:e},`some-${t}`))})]})},Fp=({entry:e})=>{let t=Cp(e.url,e.text);return(0,n.jsx)(`li`,{children:(0,n.jsx)(`a`,{className:`pkt-header-menu__social-link`,href:e.url,"aria-label":e.text,children:t?(0,n.jsx)(D,{name:t,"aria-hidden":`true`}):(0,n.jsx)(`span`,{children:e.text})})})},Ip=e=>{switch(e){case 1:return`xlarge`;case 2:return`large`;case 3:return`medium`;case 4:return`small`;case 5:case 6:return`xsmall`;default:return`medium`}},Lp=e=>{switch(e){case 1:case 2:return`regular`;case 3:case 4:case 5:case 6:return`medium`;default:return`medium`}},Rp=(0,t.forwardRef)(function({level:e=2,size:t,weight:r,visuallyHidden:i,align:a,className:o,children:s,...c},l){let u=t??Ip(e),d=r??Lp(e),f=(0,v.default)(`pkt-heading`,`pkt-heading--${u}`,`pkt-heading--fw-${d}`,a&&`pkt-heading--${a}`,i&&`pkt-sr-only`,o);return(0,n.jsx)(`h${e}`,{...c,ref:l,className:f,"data-testid":`pkt-heading`,children:s})});Rp.displayName=`PktHeading`;var zp=(0,t.forwardRef)(({label:e,id:t,children:r,...i},a)=>(0,n.jsxs)(`div`,{className:`pkt-form-group`,children:[(0,n.jsx)(`label`,{htmlFor:t,className:`pkt-form-label`,children:e}),(0,n.jsx)(`input`,{className:`pkt-form-input`,id:t,...i,ref:a}),r]}));zp.displayName=`PktInput`;var Bp=({children:e,skin:t,title:r,href:i,iconName:a,openInNewTab:o,external:s,className:c,...l})=>{let u=[`pkt-linkcard`,t&&`pkt-linkcard--${t}`].filter(Boolean).join(` `),d=[`pkt-linkcard__title`,s&&`pkt-link pkt-link--external`].filter(Boolean).join(` `);return(0,n.jsxs)(`a`,{...l,href:i,className:(0,v.default)(u,c),target:o?`_blank`:`_self`,rel:o?`noopener noreferrer`:void 0,children:[a&&(0,n.jsx)(D,{className:`pkt-link__icon`,name:a}),r&&(0,n.jsx)(`div`,{className:(0,v.default)(d),children:r}),(0,n.jsx)(`div`,{className:`pkt-linkcard__text`,children:e})]})};Bp.displayName=`PktLinkCard`,typeof window<`u`&&(window.pktAnimationPath=window.pktAnimationPath||`https://punkt-cdn.oslo.kommune.no/16.21/animations/`);var Vp=e=>{switch(e){case`blue`:return`spinner-blue`;case`rainbow`:return`spinner`;default:return`loader`}},Hp=(0,t.forwardRef)(function({delay:e=0,inline:r=!1,isLoading:i=!0,message:a=null,size:o=`medium`,variant:s=`shapes`,loadingAnimationPath:c=typeof window<`u`?window.pktAnimationPath:void 0,className:l,children:u,...d},f){let[p,m]=(0,t.useState)(e===0);(0,t.useEffect)(()=>{if(e>0){m(!1);let t=setTimeout(()=>m(!0),e);return()=>clearTimeout(t)}m(!0)},[e]);let h=(0,v.default)(`pkt-loader`,r?`pkt-loader--inline`:`pkt-loader--box`,`pkt-loader--${o}`,l);return(0,n.jsxs)(`div`,{...d,ref:f,role:`status`,"aria-live":`polite`,"aria-busy":i?`true`:`false`,className:h,children:[i&&p&&(0,n.jsxs)(`div`,{className:`pkt-loader__spinner`,children:[(0,n.jsx)(D,{name:Vp(s),path:c,className:`pkt-loader__svg pkt-loader__${s}`}),a&&(0,n.jsx)(`p`,{children:a})]}),(0,n.jsx)(`div`,{className:(0,v.default)(`pkt-contents`,i&&`pkt-hide`),children:u})]})});Hp.displayName=`PktLoader`;var Up=({children:e,className:r,skin:i,title:a,compact:o,closable:s,onClose:c,...l})=>{let[u,d]=(0,t.useState)(!1),f={"pkt-messagebox":!0,"pkt-messagebox--compact":o,[`pkt-messagebox--${i}`]:i,"pkt-messagebox--closable":s,"pkt-hide":u},p=(0,t.createRef)(),m=(0,t.useCallback)(()=>{d(!0),c&&c()},[d,c]);return(0,n.jsxs)(`div`,{...l,className:(0,v.default)(f,r),ref:p,children:[s&&(0,n.jsx)(`div`,{className:`pkt-messagebox__close`,children:(0,n.jsx)(`button`,{onClick:m,className:`pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only`,"aria-label":`Lukk`,children:(0,n.jsx)(D,{name:`close`,className:`pkt-link__icon`})})}),a&&(0,n.jsx)(`div`,{className:`pkt-messagebox__title`,children:a}),(0,n.jsx)(`div`,{className:`pkt-messagebox__text`,children:e})]})};Up.displayName=`PktMessagebox`;var Wp=(0,t.forwardRef)(({id:e,name:t,label:r,className:i,hasTile:a=!1,disabled:o=!1,checkHelptext:s,hasError:c=!1,defaultChecked:l,checked:u,optionalTag:d,optionalText:f,requiredTag:p,requiredText:m,tagText:h,...g},_)=>{let v=[i,`pkt-input-check`].filter(Boolean).join(` `),y=[`pkt-input-check__input`,a?`pkt-input-check__input--tile`:``,o&&a?`pkt-input-check__input--tile-disabled`:``].filter(Boolean).join(` `),b=[`pkt-input-check__input-checkbox`,c?`pkt-input-check__input-checkbox--error`:``].filter(Boolean).join(` `),x=[`pkt-input-check__input-label`,o?`pkt-input-check__input-label--disabled`:``].filter(Boolean).join(` `),S=[`pkt-tag`,`pkt-tag--small`,`pkt-tag--thin-text`].join(` `),C=()=>(0,n.jsxs)(n.Fragment,{children:[h&&(0,n.jsx)(`span`,{className:S+` pkt-tag--gray`,children:h}),d&&(0,n.jsx)(`span`,{className:S+` pkt-tag--blue-light`,children:f}),p&&(0,n.jsx)(`span`,{className:S+` pkt-tag--beige`,children:m})]});return(0,n.jsx)(`div`,{className:v,children:(0,n.jsxs)(`div`,{className:y,children:[(0,n.jsx)(`input`,{ref:_,id:e,type:`radio`,name:t,disabled:o,className:b,...u===void 0?{defaultChecked:l}:{checked:u},...g}),(0,n.jsxs)(`label`,{className:x,htmlFor:e,children:[r,` `,C(),s&&(0,n.jsx)(`div`,{className:`pkt-input-check__input-helptext`,children:s})]})]})})});Wp.displayName=`PktRadioButton`;var Gp=(0,t.forwardRef)(({appearance:e=`local`,disabled:t=!1,fullwidth:r=!1,id:i,label:a,name:o,placeholder:s=`Søk…`,suggestions:c,value:l=``,action:u,method:d,onChange:f,onSearch:p,onSuggestionClick:m,...h},g)=>{let _=(e,t)=>{e?e():m&&m(t)},v=e=>{l=e.target.value},y={role:`search`,className:`pkt-searchinput pkt-searchinput--${e} ${r?`pkt-searchinput--fullwidth`:``}`,...mn()},b=e=>u?(0,n.jsx)(`form`,{...y,action:u,method:d,children:e}):(0,n.jsx)(`div`,{...y,children:e}),x=e=>(0,n.jsxs)(n.Fragment,{children:[e.title&&(0,n.jsx)(`h3`,{className:`pkt-searchinput__suggestion-title`,children:e.title}),e.text&&(0,n.jsx)(`p`,{className:`pkt-searchinput__suggestion-text`,children:e.text})]}),S=e=>[`pkt-searchinput__suggestion`,e.onClick?`pkt-link-button`:``].filter(Boolean).join(` `);return b((0,n.jsxs)(n.Fragment,{children:[a&&(0,n.jsx)(`label`,{htmlFor:a?i:void 0,className:a?`pkt-inputwrapper__label`:``,children:a}),(0,n.jsxs)(`div`,{className:e===`local`?`pkt-input__container`:`pkt-searchinput__field`,children:[(0,n.jsx)(`input`,{className:`pkt-input ${r?`pkt-input--fullwidth`:``}`,type:`search`,name:o||i,id:i,placeholder:s,defaultValue:l,disabled:t,autoComplete:`off`,"aria-autocomplete":`list`,ref:g,"aria-controls":`${i}-suggestions`,onChange:f||v,onKeyUp:p&&(e=>{e.key===`Enter`&&(e.preventDefault(),p(l))}),...h}),(0,n.jsx)(k,{className:`pkt-searchinput__button ${e===`local`?`pkt-input-icon`:``}`,variant:`icon-only`,iconName:`magnifying-glass-big`,skin:e===`local`?`tertiary`:`primary`,color:e===`global`?`yellow`:void 0,type:`submit`,disabled:t,onClick:p&&(e=>{e.preventDefault(),p(l)}),children:a||s})]}),c&&(0,n.jsx)(`ul`,{id:`${i}-suggestions`,className:`pkt-searchinput__suggestions`,"aria-live":`assertive`,children:c.map((e,t)=>e.href?(0,n.jsx)(`li`,{children:(0,n.jsx)(`a`,{href:e.href,className:S(e),onClick:()=>_(e.onClick,t),children:x(e)})},`search-suggestion-${t}`):e.nonInteractive?(0,n.jsx)(`li`,{children:(0,n.jsx)(`div`,{className:`pkt-searchinput__suggestion`,children:x(e)})},`search-suggestion-${t}`):(0,n.jsx)(`li`,{children:(0,n.jsx)(`button`,{type:`button`,className:S(e),onClick:()=>_(e.onClick,t),children:x(e)})},`search-suggestion-${t}`))})]}))});Gp.displayName=`PktSearchInput`;var Kp=(0,t.forwardRef)(({ariaDescribedby:e,ariaLabelledby:t,children:r,className:i,disabled:a=!1,errorMessage:o,hasError:s,helptext:c,helptextDropdown:l,helptextDropdownButton:u,id:d,inline:f=!1,fullwidth:p=!1,label:m,name:h,optionalTag:g=!1,optionalText:_,requiredTag:v=!1,requiredText:y,tagText:b,...x},S)=>(0,n.jsx)(vn,{className:[i,`pkt-select`].join(` `),forId:`${d}-input`,label:m,helptext:c,helptextDropdown:l,helptextDropdownButton:u,optionalTag:g,optionalText:_,requiredTag:v,requiredText:y,tagText:b,hasError:s,errorMessage:o,disabled:a,inline:f,ariaDescribedby:e,children:(0,n.jsx)(`select`,{ref:S,className:`pkt-input ${p?`pkt-input--fullwidth`:``}`,"aria-invalid":s,"aria-errormessage":`${d}-error`,"aria-labelledby":t||void 0,disabled:a,id:`${d}-input`,name:h||d,...x,children:r})}));Kp.displayName=`PktSelect`;var qp=(0,n.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,fill:`none`,children:(0,n.jsx)(`circle`,{cx:`12`,cy:`12`,r:`7`,style:{fill:`var(--pkt-color-grays-grey-200, #CCC)`}})}),Jp=(0,n.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,fill:`none`,children:[(0,n.jsx)(`circle`,{opacity:`.15`,cx:`12`,cy:`12`,r:`12`,fill:`#2A2859`}),(0,n.jsx)(`circle`,{cx:`12`,cy:`12`,r:`6`,fill:`#2A2859`})]}),Yp=(0,n.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,fill:`none`,children:[(0,n.jsx)(`path`,{fill:`#2A2859`,d:`M3 3h18v18H3z`}),(0,n.jsx)(`path`,{d:`m10.34 16-1.11-1.14L7 12.58l1.11-1.15 2.23 2.28L15.88 8 17 9.15l-5.55 5.71L10.34 16Z`,fill:`#F1FDFF`})]}),Xp=({children:e,className:t,status:r=`incomplete`,title:i})=>(0,n.jsxs)(`li`,{className:(0,v.default)(`pkt-step`,t,`pkt-step--${r}`),"data-testid":`pkt-step`,children:[(0,n.jsx)(`span`,{className:`pkt-step__line pkt-step__line--1`,"aria-hidden":!0}),(0,n.jsx)(`span`,{className:`pkt-step__line pkt-step__line--2`,"aria-hidden":!0}),(0,n.jsx)(`span`,{className:(0,v.default)(`pkt-step__indicator`),children:r===`current`?Jp:r===`completed`?Yp:qp}),(0,n.jsx)(`span`,{className:`pkt-step__line pkt-step__line--3`,"aria-hidden":!0}),(0,n.jsxs)(`div`,{className:`pkt-step__wrapper`,children:[(0,n.jsx)(`div`,{className:`pkt-step__title`,children:i}),(0,n.jsx)(`div`,{className:`pkt-step__content`,children:e})]})]}),Zp=(0,t.forwardRef)(({activeStep:e,className:r,children:i,hideNonActiveSteps:a=!1,hideNonActiveStepsContent:o=!0,orientation:s=`vertical`,...c},l)=>{let u=(0,v.default)(r,`pkt-stepper`,s===`horizontal`?`pkt-stepper--horizontal`:`pkt-stepper--vertical`),d=t.Children.map(i,(n,r)=>(0,t.isValidElement)(n)?(0,t.cloneElement)(n,{className:(0,v.default)(n.props.className,{"pkt-step--hideStep":a&&r!==e,"pkt-step--hideContent":o&&r!==e})}):n);return(0,n.jsx)(`ol`,{"data-testid":`pkt-stepper`,className:u,ref:l,...c,children:d})});Zp.displayName=`PktStepper`;var Qp=({className:e,compact:t=!1,skin:r=`basic`,responsiveView:i=!0,children:a,...o})=>(0,n.jsx)(`table`,{"data-testid":`pkt-table`,className:(0,v.default)(e,`pkt-table`,{"pkt-table--responsive":i,"pkt-table--compact":t,"pkt-table--basic":r===`basic`,"pkt-table--zebra-blue":r===`zebra-blue`}),role:`table`,...o,children:a}),$p=({id:e,children:t,className:r,...i})=>(0,n.jsx)(`tbody`,{id:e,className:(0,v.default)(r,`pkt-table__body`,{}),...i,role:`rowgroup`,children:t}),em=({children:e,className:t,dataLabel:r,...i})=>(0,n.jsx)(`td`,{className:(0,v.default)(t,`pkt-table__data-cell`,{}),"data-label":r,role:`cell`,"data-testid":`pkt-table__data-cell`,...i,children:e}),tm=({className:e,children:t,...r})=>(0,n.jsx)(`thead`,{className:(0,v.default)(e,`pkt-table__header`,{}),role:`rowgroup`,...r,children:t}),nm=({className:e,children:t,...r})=>(0,n.jsx)(`th`,{className:(0,v.default)(e,`pkt-table__header-cell`,{}),role:`columnheader`,...r,children:t}),rm=({className:e,children:t,...r})=>(0,n.jsx)(`tr`,{className:(0,v.default)(e,`pkt-table__row`,{}),role:`row`,...r,children:t}),im=(0,t.forwardRef)(({children:e,active:t,disabled:r=!1,href:i,onClick:a,icon:o,controls:s,tag:c,tagSkin:l,index:u=0},d)=>{let{arrowNav:f,registerTabRef:p,handleKeyPress:m,selectTab:h}=om(),g=!!t&&!r,_={"aria-selected":f?g:void 0,"aria-controls":s,role:f?`tab`:void 0,onKeyDown:e=>{if(r&&(e.key===`Enter`||e.key===` `||e.key===`Spacebar`)){e.preventDefault(),e.stopPropagation();return}m(u,e)},onClick:e=>{if(r){e.preventDefault(),e.stopPropagation();return}h(u),a?.(e)},tabIndex:r?-1:g||!f?void 0:-1,ref:e=>{p(u,e,r),typeof d==`function`?d(e):d&&(d.current=e)}},v=(0,n.jsxs)(n.Fragment,{children:[o&&(0,n.jsx)(D,{name:o,className:`pkt-icon--small ${o===`check`?`pkt-tabs__status-icon`:``}`}),e,c&&(0,n.jsx)(dn,{skin:l,size:`small`,children:c})]});return i?(0,n.jsx)(`a`,{..._,href:r?void 0:i,"aria-disabled":r||void 0,className:`pkt-tabs__link ${g?`active`:``} ${r?`pkt-tabs__item--disabled`:``}`,children:v}):(0,n.jsx)(`button`,{..._,type:`button`,disabled:r,"aria-disabled":r||void 0,className:`pkt-tabs__button pkt-link-button ${g?`active`:``} ${r?`pkt-tabs__item--disabled`:``}`,children:v})});im.displayName=`PktTabItem`;var am=(0,t.createContext)(null),om=()=>{let e=(0,t.useContext)(am);if(!e)throw Error(`TabItem must be used within a Tabs component`);return e},sm=(0,t.forwardRef)(({arrowNav:e=!0,disableArrowNav:r=!1,separatorIconName:i,separatorIconPath:a,tabs:o,onTabSelected:s,children:c},l)=>{let u=(0,t.useRef)([]),d=(0,t.useRef)({}),f=e&&!r,p=t.Children.toArray(c),m=p.length>0,h=m?p.length:o?.length||0,g=!!(i||a);(0,t.useEffect)(()=>{u.current=u.current.slice(0,h),Object.keys(d.current).forEach(e=>{let t=Number(e);t>=h&&delete d.current[t]})},[h]);let _=e=>o?!!o[e]?.disabled:!!d.current[e],v=e=>{if(_(e))return;let t=o?.[e];t?.action&&t.action(e),s&&s(e)},y=(e,t)=>{let n=e+t;for(;n>=0&&n<h;){if(!_(n))return n;n+=t}return null},b=(e,t)=>{if(f){if(t.key===`ArrowLeft`){t.preventDefault();let n=y(e,-1);n!==null&&u.current[n]?.focus()}if(t.key===`ArrowRight`){t.preventDefault();let n=y(e,1);n!==null&&u.current[n]?.focus()}(t.key===`Enter`||t.key===` `||t.key===`Spacebar`||t.key===`ArrowDown`)&&(t.preventDefault(),_(e)||v(e))}},x=(e,t,n=!1)=>{u.current[e]=t,d.current[e]=n},S=e=>(0,n.jsx)(`span`,{className:`pkt-tabs__separator`,"aria-hidden":`true`,role:`presentation`,children:a?(0,n.jsx)(`img`,{src:a,alt:``,"aria-hidden":`true`}):i?(0,n.jsx)(D,{name:i,className:`pkt-tabs__separator-icon`}):null},e),C=e=>!g||e.length<=1?e:e.flatMap((t,n)=>n<e.length-1?[t,S(`separator-${n}`)]:[t]),w=o?.map((e,t)=>(0,n.jsx)(im,{active:e.disabled?!1:e.active,disabled:e.disabled,href:e.href,icon:e.icon,controls:e.controls,tag:e.tag?.text,tagSkin:e.tag?.skin,index:t,children:e.text},t)),ee=[`pkt-tabs`,g&&`pkt-tabs--with-separator`].filter(Boolean).join(` `),T=C(m?p:w||[]);return(0,n.jsx)(am.Provider,{value:{arrowNav:f,registerTabRef:x,handleKeyPress:b,selectTab:v},children:(0,n.jsx)(`div`,{className:ee,ref:l,children:(0,n.jsx)(`div`,{className:`pkt-tabs__list`,role:f?`tablist`:`navigation`,children:T})})})});sm.displayName=`PktTabs`;var cm=e=>e?Math.max(1,Math.round(e/60)):1,lm=(e,t)=>{let n=e?parseInt(String(e).split(`:`)[0],10):0,r=t?parseInt(String(t).split(`:`)[0],10):23;return Array.from({length:r-n+1},(e,t)=>t+n)},um=e=>{let t=cm(e);return Array.from({length:Math.floor(60/t)},(e,n)=>n*t)},dm=(e,t,n,r)=>{let i=e===``?n===1?0:23:parseInt(e,10),a=t===``?n===1?0:Math.floor(59/r)*r:parseInt(t,10);return a+=n*r,a>59?(a=0,i=(i+1)%24):a<0&&(a=Math.floor(59/r)*r,i=(i-1+24)%24),{hours:String(i).padStart(2,`0`),minutes:String(a).padStart(2,`0`)}},fm=e=>/^\d{2}:\d{2}$/.test(e)&&parseInt(e.slice(0,2),10)<=23&&parseInt(e.slice(3),10)<=59,pm=e=>{let[t,n]=e.split(`:`).map(Number);return t*60+n},mm={required:`Dette feltet er påkrevd`,invalid:`Ugyldig verdi`,timeStepMismatch:`Må treffe på et steg, for eksempel 0, {step} minutter`,timeStepMismatchHour:`Må treffe på hver hele time`,timeStepMismatchHalfHour:`Må treffe på hver hele eller halve time`,rangeUnderflowMin:`Verdien må være større enn eller lik {min}.`,rangeOverflowMax:`Verdien må være mindre enn eller lik {max}.`};function hm(e){if(e&&fm(e)){let[t,n]=e.split(`:`);return[t,n]}return[``,``]}function gm(e,t){return`${String(parseInt(e,10)).padStart(2,`0`)}:${String(parseInt(t,10)).padStart(2,`0`)}`}function _m(e,t){let{required:n,min:r,max:i,step:a}=t;if(n&&!e)return{valid:!1,message:mm.required};if(!e)return{valid:!0};if(!fm(e))return{valid:!1,message:mm.invalid};let o=pm(e),s=cm(a);return r&&o<pm(String(r))?{valid:!1,message:mm.rangeUnderflowMin.replace(`{min}`,String(r))}:i&&o>pm(String(i))?{valid:!1,message:mm.rangeOverflowMax.replace(`{max}`,String(i))}:a&&o%s!==0?{valid:!1,message:s===60?mm.timeStepMismatchHour:s===30?mm.timeStepMismatchHalfHour:mm.timeStepMismatch.replace(`{step}`,`${s}, ${s*2}, ${s*3}`)}:{valid:!0}}function vm(e){return e===3600||e<3600&&3600%e==0&&e%60==0}function ym(e,n){let{id:r,label:i,value:a,defaultValue:o,min:s,max:c,step:l=60,hidePicker:u=!1,stepArrows:d=!1,fullwidth:f=!1,name:p,disabled:m=!1,required:h=!1,helptext:g,helptextDropdown:_,helptextDropdownButton:v,hasError:y=!1,errorMessage:b,optionalTag:x=!1,optionalText:S,requiredTag:C=!1,requiredText:w,tagText:ee,inline:T=!1,useWrapper:E=!0,ariaDescribedby:te,strings:ne,className:re,onValueChange:D,onFocus:O,onBlur:k}=e,ie=(0,t.useMemo)(()=>ne??Id,[ne]),ae=a!==void 0,oe=a===void 0?o??``:a??``,se=(0,t.useRef)(oe),[ce,A]=(0,t.useState)(()=>oe),j=ae?a??``:ce,[le,ue]=(0,t.useState)(()=>hm(a===void 0?o:a)[0]),[M,de]=(0,t.useState)(()=>hm(a===void 0?o:a)[1]),N=(0,t.useRef)(le),P=(0,t.useRef)(M),F=(0,t.useCallback)(e=>{N.current=e,ue(e)},[]),I=(0,t.useCallback)(e=>{P.current=e,de(e)},[]),[fe,pe]=(0,t.useState)(!1),[me,L]=(0,t.useState)(!1),he=(0,t.useRef)(a);(0,t.useEffect)(()=>{if(!ae||a===he.current)return;he.current=a;let[e,t]=hm(a);F(e),I(t)},[a,ae,F,I]),(0,t.useEffect)(()=>{l!=null&&!vm(l)&&console.warn(`PktTimepicker: step="${l}" er ikke en gyldig verdi. Step må være et multiplum av 60 (hele minutter) eller nøyaktig 3600 (hel time).`)},[l]);let ge=(0,t.useRef)(null),R=(0,t.useRef)(null),_e=(0,t.useRef)(null),z=(0,t.useRef)(null),ve=(0,t.useRef)(null),B=(0,t.useRef)(null),ye=(0,t.useRef)(0),be=(0,t.useRef)(-1),xe=(0,t.useRef)(0),Se=(0,t.useRef)(-1),[Ce,we]=(0,t.useState)(!1),Te=(0,t.useMemo)(()=>Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,`value`)?.set,[]),Ee=(0,t.useMemo)(()=>cm(l),[l]),De=(0,t.useMemo)(()=>lm(s,c),[s,c]),Oe=(0,t.useMemo)(()=>um(l),[l]),ke=`${r}-hours`,Ae=`${r}-minutes`,je=`${r}-popup`,Me=`${r}-input`;(0,t.useEffect)(()=>{let e=ge.current;if(!e)return;let t=_m(j,{required:h,min:s,max:c,step:l});e.setCustomValidity(t.valid?``:t.message??``),L(Ce&&!t.valid)},[j,h,s,c,l,Ce]);let Ne=(0,t.useCallback)(e=>{ae||A(e);let t=B.current;!t||!Te||(Te.call(t,e),t.dispatchEvent(new Event(`input`,{bubbles:!0})),D?.(e))},[ae,Te,D]),Pe=(0,t.useCallback)(()=>{let e=N.current,t=P.current;if(e!==``&&t!==``){let n=gm(e,t);n!==j&&Ne(n)}else j!==``&&Ne(``)},[j,Ne]),Fe=(0,t.useCallback)(()=>{let e=N.current,t=P.current;if(e!==``&&t!==``){let n=gm(e,t);n===j?B.current?.dispatchEvent(new Event(`input`,{bubbles:!0})):Ne(n)}else j===``?B.current?.dispatchEvent(new Event(`input`,{bubbles:!0})):Ne(``)},[j,Ne]),Ie=(0,t.useCallback)(()=>{we(!0),Pe();let e=ge.current,t=B.current;if(!e)return;let n=_m(t?.value??``,{required:h,min:s,max:c,step:l});e.setCustomValidity(n.valid?``:n.message??``)},[Pe,h,s,c,l]);(0,t.useEffect)(()=>{let e=ve.current?.closest(`form`);if(!e)return;let t=t=>{let n=t;if(!n||!e.contains(n))return!1;let r=n.closest(`button, input[type="submit"], input[type="image"]`);return!r||!e.contains(r)?!1:r instanceof HTMLButtonElement?r.type!==`button`&&r.type!==`reset`:r instanceof HTMLInputElement},n=e=>{t(e.target)&&Ie()};return e.addEventListener(`pointerdown`,n,!0),()=>e.removeEventListener(`pointerdown`,n,!0)},[Ie]),(0,t.useEffect)(()=>{B.current&&(B.current.value=j)},[j]);let Le=(0,t.useCallback)(()=>{pe(!1),Pe()},[Pe]);(0,t.useLayoutEffect)(()=>{if(!fe)return;let e=z.current;if(!e)return;e.querySelectorAll(`.pkt-timepicker-popup__col`).forEach(e=>{let t=e.querySelector(`.pkt-timepicker-popup__option--selected`);t&&t.scrollIntoView({block:`center`})});let t=e.querySelectorAll(`.pkt-timepicker-popup__col`)[0];if(!t)return;let n=t.querySelector(`.pkt-timepicker-popup__option--selected`),r=t.querySelector(`.pkt-timepicker-popup__option`);(n||r)?.focus()},[fe]),(0,t.useEffect)(()=>{if(!fe)return;let e=e=>{let t=e.target;ve.current&&!ve.current.contains(t)&&Le()};return document.addEventListener(`click`,e,!0),()=>document.removeEventListener(`click`,e,!0)},[fe,Le]);let V=(0,t.useCallback)(e=>{let t=z.current;if(!t)return;let n=t.querySelectorAll(`.pkt-timepicker-popup__col`),r=e===`hour`?n[0]:n[1];if(!r)return;let i=r.querySelector(`.pkt-timepicker-popup__option--selected`),a=r.querySelector(`.pkt-timepicker-popup__option`);(i||a)?.focus()},[]),Re=(0,t.useCallback)((e,t)=>{let n=String(e).padStart(2,`0`);if(t===`hour`)F(n),requestAnimationFrame(()=>V(`minute`));else{I(n),pe(!1);let e=N.current;e!==``&&Ne(`${e}:${n}`),requestAnimationFrame(()=>_e.current?.focus())}},[Ne,V,F,I]),ze=(0,t.useCallback)(e=>{let t=dm(N.current,P.current,e,Ee);F(t.hours),I(t.minutes),`${t.hours}:${t.minutes}`!==j&&Ne(`${t.hours}:${t.minutes}`)},[Ee,j,Ne,F,I]),Be=(0,t.useCallback)(e=>{ge.current?.setCustomValidity(``);let t=e.currentTarget,n=P.current;switch(e.key){case`ArrowUp`:{e.preventDefault();let t=N.current===``?0:parseInt(N.current,10),r=String((t+1)%24).padStart(2,`0`);if(F(r),n!==``){let e=`${r}:${n}`;e===j?B.current?.dispatchEvent(new Event(`input`,{bubbles:!0})):Ne(e)}break}case`ArrowDown`:{e.preventDefault();let t=N.current===``?0:parseInt(N.current,10),r=String((t-1+24)%24).padStart(2,`0`);if(F(r),n!==``){let e=`${r}:${n}`;e===j?B.current?.dispatchEvent(new Event(`input`,{bubbles:!0})):Ne(e)}break}case`ArrowRight`:e.preventDefault(),R.current?.focus();break;case`Backspace`:case`Delete`:{e.preventDefault(),ye.current=0,be.current=-1;let t=N.current;t.length>0&&F(t.slice(0,-1)),Fe();break}case`Tab`:break;case`Enter`:{e.preventDefault(),Ie();let n=t.form;n?n.requestSubmit():t.blur();break}default:if(/^\d$/.test(e.key)){e.preventDefault();let t=parseInt(e.key,10);if(ye.current===0)be.current=t,F(String(t).padStart(2,`0`)),ye.current=1,B.current?.dispatchEvent(new Event(`input`,{bubbles:!0})),t>=3&&(be.current=-1,ye.current=0,Fe(),R.current?.focus());else{let e=be.current*10+t;F(e<=23?String(e).padStart(2,`0`):String(t).padStart(2,`0`)),be.current=-1,ye.current=0,Fe(),R.current?.focus()}}else e.preventDefault()}},[j,Ne,F,Fe,Ie]),Ve=(0,t.useCallback)(()=>{we(!0),N.current!==``&&F(String(parseInt(N.current,10)).padStart(2,`0`)),ye.current=0,be.current=-1,Pe()},[F,Pe]),He=(0,t.useCallback)(e=>{ge.current?.setCustomValidity(``);let t=e.currentTarget,n=N.current;switch(e.key){case`ArrowUp`:{e.preventDefault();let t=P.current===``?0:parseInt(P.current,10),r=String((t+Ee)%60).padStart(2,`0`);if(I(r),n!==``){let e=`${n}:${r}`;e===j?B.current?.dispatchEvent(new Event(`input`,{bubbles:!0})):Ne(e)}break}case`ArrowDown`:{e.preventDefault();let t=P.current===``?0:parseInt(P.current,10),r=String((t-Ee+60)%60).padStart(2,`0`);if(I(r),n!==``){let e=`${n}:${r}`;e===j?B.current?.dispatchEvent(new Event(`input`,{bubbles:!0})):Ne(e)}break}case`ArrowLeft`:e.preventDefault(),ge.current?.focus();break;case`Backspace`:case`Delete`:{e.preventDefault(),xe.current=0,Se.current=-1;let t=P.current;t.length>0&&I(t.slice(0,-1)),Fe();break}case`Tab`:break;case`Enter`:{e.preventDefault(),Ie();let n=t.form;n?n.requestSubmit():t.blur();break}default:if(/^\d$/.test(e.key)){e.preventDefault();let t=parseInt(e.key,10);if(xe.current===0)Se.current=t,I(String(t).padStart(2,`0`)),xe.current=1,B.current?.dispatchEvent(new Event(`input`,{bubbles:!0})),t>=6&&(Se.current=-1,xe.current=0,Fe());else{let e=Se.current*10+t;I(e<=59?String(e).padStart(2,`0`):String(t).padStart(2,`0`)),Se.current=-1,xe.current=0,Fe()}}else e.preventDefault()}},[Ee,j,Ne,I,Fe,Ie]),Ue=(0,t.useCallback)(()=>{we(!0),P.current!==``&&I(String(parseInt(P.current,10)).padStart(2,`0`)),xe.current=0,Se.current=-1,Pe()},[I,Pe]),We=(0,t.useCallback)(e=>{let t=document.activeElement,n=t.closest(`.pkt-timepicker-popup__col`);if(!n)return;let r=Array.from(n.querySelectorAll(`.pkt-timepicker-popup__option`)),i=r.indexOf(t),a=e=>{if(!e)return;let n=parseInt(e.dataset.value??`0`,10),r=String(n).padStart(2,`0`);t.dataset.type===`hour`?F(r):I(r),e.focus()};switch(e.key){case`ArrowDown`:e.preventDefault(),a(r[Math.min(i+1,r.length-1)]);break;case`ArrowUp`:e.preventDefault(),a(r[Math.max(i-1,0)]);break;case`Home`:e.preventDefault(),a(r[0]);break;case`End`:e.preventDefault(),a(r[r.length-1]);break;case`ArrowRight`:if(e.preventDefault(),t.dataset.type===`hour`){let e=parseInt(t.dataset.value??`0`,10);F(String(e).padStart(2,`0`)),requestAnimationFrame(()=>{z.current?.querySelectorAll(`.pkt-timepicker-popup__col`).forEach(e=>{e.querySelector(`.pkt-timepicker-popup__option--selected`)?.scrollIntoView({block:`center`})}),V(`minute`)})}break;case`ArrowLeft`:if(e.preventDefault(),t.dataset.type===`minute`){let e=parseInt(t.dataset.value??`0`,10);I(String(e).padStart(2,`0`)),requestAnimationFrame(()=>{z.current?.querySelectorAll(`.pkt-timepicker-popup__col`).forEach(e=>{e.querySelector(`.pkt-timepicker-popup__option--selected`)?.scrollIntoView({block:`center`})}),V(`hour`)})}break;case`Enter`:case` `:e.preventDefault(),t.click();break;case`Escape`:e.preventDefault(),Le(),_e.current?.focus();break;default:break}},[Le,V,F,I]),Ge=(0,t.useCallback)(e=>{let t=z.current;if(!t)return;let n=e.relatedTarget;(!n||!t.contains(n))&&Le()},[Le]),Ke=(0,t.useCallback)(e=>{let t=ve.current;if(!t)return;let n=e.relatedTarget;n&&t.contains(n)||O?.(e)},[O]),qe=(0,t.useCallback)(e=>{let t=ve.current;if(!t)return;let n=e.relatedTarget;n&&t.contains(n)||k?.(e)},[k]),Je=(0,t.useCallback)(()=>{m||(fe?Le():pe(!0))},[m,fe,Le]);return(0,t.useImperativeHandle)(n,()=>({get value(){return B.current?.value??``},set value(e){let t=e??``;ae||A(t);let[n,r]=hm(t);F(n),I(r),B.current&&(B.current.value=t)},focus(){ge.current?.focus()},blur(){ge.current?.blur()}}),[ae,F,I]),(0,t.useEffect)(()=>{let e=ve.current?.closest(`form`);if(!e)return;let t=()=>{window.setTimeout(()=>{let e=se.current,[t,n]=hm(e);F(t),I(n),ae||A(e),B.current&&(B.current.value=e),pe(!1),we(!1)},0)};return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)},[ae,F,I]),{id:r,containerRef:ve,outerClasses:[`pkt-timepicker`,f?`pkt-timepicker--fullwidth`:``,d?`pkt-timepicker--stepper`:``,re??``].filter(Boolean).join(` `),strings:ie,label:i,disabled:m,required:h,helptext:g,helptextDropdown:_,helptextDropdownButton:v,hasError:y,isInvalid:me,errorMessage:b,optionalTag:x,optionalText:S,requiredTag:C,requiredText:w,tagText:ee,inline:T,useWrapper:E,ariaDescribedby:te,hidePicker:u,stepArrows:d,min:s,max:c,step:l,hours:le,minutes:M,hoursId:ke,minutesId:Ae,popupId:je,hiddenInputId:Me,name:p??r,isOpen:fe,hourOptions:De,minuteOptions:Oe,hoursInputRef:ge,minutesInputRef:R,buttonRef:_e,popupRef:z,changeInputRef:B,handleHoursKeydown:Be,handleHoursBlur:Ve,handleMinutesKeydown:He,handleMinutesBlur:Ue,handlePopupKeydown:We,handlePopupFocusOut:Ge,handleFocusIn:Ke,handleFocusOut:qe,handleOptionClick:Re,handleClockButtonClick:Je,closePopup:Le,stepTimeDelta:ze,effectiveValue:j}}var bm=(0,t.forwardRef)((e,t)=>{let{onChange:r,onInput:i}=e,a=ym(e,t),o=a.strings.hours,s=a.strings.minutes,c=a.label?`${o}, ${a.label}`:o,l=a.label?`${s}, ${a.label}`:s,u=(e,t)=>{let r=String(e).padStart(2,`0`),i=e===(t===`hour`?a.hours===``?NaN:parseInt(a.hours,10):a.minutes===``?NaN:parseInt(a.minutes,10));return(0,n.jsx)(`button`,{type:`button`,className:[`pkt-btn`,`pkt-btn--tertiary`,`pkt-btn--small`,`pkt-btn--label-only`,`pkt-timepicker-popup__option`,i?`pkt-timepicker-popup__option--selected`:``].filter(Boolean).join(` `),role:`option`,"aria-selected":i?`true`:`false`,tabIndex:i?0:-1,"data-type":t,"data-value":e,onClick:n=>{n.stopPropagation(),a.handleOptionClick(e,t)},children:(0,n.jsx)(`span`,{className:`pkt-btn__text pkt-txt-14-light`,children:r})},`${t}-${e}`)},d=()=>(0,n.jsxs)(`div`,{ref:a.popupRef,className:`pkt-timepicker-popup`,id:a.popupId,hidden:!a.isOpen,role:`group`,"aria-label":a.strings.selectTime,onKeyDown:a.handlePopupKeydown,onBlur:a.handlePopupFocusOut,children:[(0,n.jsx)(`div`,{className:`pkt-timepicker-popup__col`,role:`listbox`,"aria-label":o,"aria-orientation":`vertical`,children:a.hourOptions.map(e=>u(e,`hour`))}),(0,n.jsx)(`div`,{className:`pkt-timepicker-popup__col`,role:`listbox`,"aria-label":s,"aria-orientation":`vertical`,children:a.minuteOptions.map(e=>u(e,`minute`))})]}),f=()=>(0,n.jsxs)(`div`,{className:`pkt-input__container`,onClick:e=>{e.target.closest(`button, input`)||a.hoursInputRef.current?.focus()},children:[a.stepArrows&&(0,n.jsxs)(`button`,{type:`button`,className:`pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-timepicker__button pkt-timepicker__button--prev`,"aria-label":a.strings.prevTime,disabled:a.disabled,onClick:()=>a.stepTimeDelta(-1),children:[(0,n.jsx)(D,{name:`chevron-thin-left`}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:a.strings.prevTime})]}),(0,n.jsx)(`input`,{ref:a.hoursInputRef,type:`text`,inputMode:`numeric`,maxLength:2,size:2,className:`pkt-input pkt-timepicker__input`,id:a.hoursId,"data-min":`0`,"data-max":`23`,value:a.hours,placeholder:`––`,"aria-label":c,role:`spinbutton`,"aria-invalid":a.hasError||a.isInvalid||void 0,"aria-valuemin":0,"aria-valuemax":23,"aria-valuenow":a.hours===``?void 0:parseInt(a.hours,10),"aria-valuetext":a.hours===``?void 0:`${a.hours} ${o.toLowerCase()}`,autoComplete:`off`,disabled:a.disabled,onKeyDown:a.handleHoursKeydown,onBlur:a.handleHoursBlur,onFocus:e=>{e.currentTarget.select()},onChange:()=>{},onPaste:e=>e.preventDefault()}),(0,n.jsx)(`span`,{className:`pkt-timepicker__separator`,children:`:`}),(0,n.jsx)(`input`,{ref:a.minutesInputRef,type:`text`,inputMode:`numeric`,maxLength:2,size:2,className:`pkt-input pkt-timepicker__input`,id:a.minutesId,"data-min":`0`,"data-max":`59`,value:a.minutes,placeholder:`––`,"aria-label":l,role:`spinbutton`,"aria-invalid":a.hasError||a.isInvalid||void 0,"aria-valuemin":0,"aria-valuemax":59,"aria-valuenow":a.minutes===``?void 0:parseInt(a.minutes,10),"aria-valuetext":a.minutes===``?void 0:`${a.minutes} ${s.toLowerCase()}`,autoComplete:`off`,disabled:a.disabled,onKeyDown:a.handleMinutesKeydown,onBlur:a.handleMinutesBlur,onFocus:e=>{e.currentTarget.select()},onChange:()=>{},onPaste:e=>e.preventDefault()}),a.hidePicker&&!a.stepArrows&&(0,n.jsx)(D,{className:`pkt-input-icon pkt-timepicker__icon`,name:`clock`,"aria-hidden":!0}),!a.hidePicker&&!a.stepArrows&&(0,n.jsxs)(`button`,{ref:a.buttonRef,type:`button`,className:`pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-timepicker__button`,"aria-label":a.strings.openPicker,"aria-haspopup":`listbox`,"aria-expanded":a.isOpen,"aria-controls":a.popupId,disabled:a.disabled,onClick:a.handleClockButtonClick,children:[(0,n.jsx)(D,{name:`clock`}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:a.strings.openPicker})]}),a.stepArrows&&(0,n.jsxs)(`button`,{type:`button`,className:`pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-timepicker__button pkt-timepicker__button--next`,"aria-label":a.strings.nextTime,disabled:a.disabled,onClick:()=>a.stepTimeDelta(1),children:[(0,n.jsx)(D,{name:`chevron-thin-right`}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:a.strings.nextTime})]}),(0,n.jsx)(`input`,{ref:a.changeInputRef,type:`time`,hidden:!0,name:a.name,id:a.hiddenInputId,disabled:a.disabled,tabIndex:-1,"aria-hidden":!0,onChange:r,onInput:i})]});return(0,n.jsx)(`div`,{ref:a.containerRef,className:a.outerClasses,id:a.id||void 0,onFocus:a.handleFocusIn,onBlur:a.handleFocusOut,children:(0,n.jsx)(vn,{forId:a.hoursId,label:a.label,disabled:a.disabled,hasError:a.hasError,inline:a.inline,optionalTag:a.optionalTag,optionalText:a.optionalText,requiredTag:a.requiredTag,requiredText:a.requiredText,useWrapper:a.useWrapper,ariaDescribedby:a.ariaDescribedby,errorMessage:a.errorMessage,helptext:a.helptext,helptextDropdown:a.helptextDropdown,helptextDropdownButton:a.helptextDropdownButton,tagText:a.tagText,children:!a.hidePicker&&!a.stepArrows?(0,n.jsxs)(`div`,{className:`pkt-timepicker__anchor`,children:[f(),d()]}):f()})})});bm.displayName=`PktTimepicker`,e.FileItem=af,e.ItemRenderers=ap,e.PktAccordion=_,e.PktAccordionItem=O,e.PktAlert=ie,e.PktBackLink=ae,e.PktBreadcrumbs=oe,e.PktButton=k,e.PktCalendar=un,e.PktCard=fn,e.PktCheckbox=pn,e.PktCombobox=Un,e.PktConsent=_d,e.PktDatepicker=Pd,e.PktFileUpload=op,e.PktFooter=sp,e.PktFooterSimple=cp,e.PktHeader=vp,e.PktHeaderMenu=Dp,e.PktHeaderService=_p,e.PktHeading=Rp,e.PktHelptext=_n,e.PktIcon=D,e.PktInput=zp,e.PktInputWrapper=vn,e.PktLink=dp,e.PktLinkCard=Bp,e.PktLoader=Hp,e.PktMessagebox=Up,e.PktModal=If,e.PktProgressbar=Of,e.PktRadioButton=Wp,e.PktSearchInput=Gp,e.PktSelect=Kp,e.PktStep=Xp,e.PktStepper=Zp,e.PktTabItem=im,e.PktTable=Qp,e.PktTableBody=$p,e.PktTableDataCell=em,e.PktTableHeader=tm,e.PktTableHeaderCell=nm,e.PktTableRow=rm,e.PktTabs=sm,e.PktTag=dn,e.PktTextarea=lf,e.PktTextinput=gp,e.PktTimepicker=bm});
36
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`react`),require(`react/jsx-runtime`),require(`react-router-dom`)):typeof define==`function`&&define.amd?define([`exports`,`react`,`react/jsx-runtime`,`react-router-dom`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e[`punkt-react`]={},e.React,e.ReactJsxRuntime,e.ReactRouterDOM))})(this,function(e,t,n,r){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var i=Object.create,a=Object.defineProperty,o=Object.getOwnPropertyDescriptor,s=Object.getOwnPropertyNames,c=Object.getPrototypeOf,l=Object.prototype.hasOwnProperty,u=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),d=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=s(t),c=0,u=i.length,d;c<u;c++)d=i[c],!l.call(e,d)&&d!==n&&a(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(r=o(t,d))||r.enumerable});return e},f=(e,t,n)=>(n=e==null?{}:i(c(e)),d(t||!e||!e.__esModule?a(n,`default`,{value:e,enumerable:!0}):n,e)),p=(0,t.createContext)({}),m=()=>(0,t.useContext)(p),h=(0,t.forwardRef)(({compact:e=!1,skin:t=`borderless`,ariaLabelledBy:r,children:i,name:a,className:o},s)=>{let c=[`pkt-accordion`,e&&`pkt-accordion--compact`,t&&`pkt-accordion--${t}`,o].filter(Boolean).join(` `);return(0,n.jsx)(p.Provider,{value:{name:a},children:(0,n.jsx)(`div`,{ref:s,className:c,"data-testid":`pkt-accordion`,"aria-labelledby":r||void 0,children:i})})});h.displayName=`PktAccordion`;var g=f(u(((e,t)=>{(function(){"use strict";var e={}.hasOwnProperty;function n(){for(var e=``,t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,r(n)))}return e}function r(t){if(typeof t==`string`||typeof t==`number`)return t;if(typeof t!=`object`)return``;if(Array.isArray(t))return n.apply(null,t);if(t.toString!==Object.prototype.toString&&!t.toString.toString().includes(`[native code]`))return t.toString();var r=``;for(var a in t)e.call(t,a)&&t[a]&&(r=i(r,a));return r}function i(e,t){return t?e?e+` `+t:e+t:e}t!==void 0&&t.exports?(n.default=n,t.exports=n):typeof define==`function`&&typeof define.amd==`object`&&define.amd?define(`classnames`,[],function(){return n}):window.classNames=n})()}))(),1),_=`https://punkt-cdn.oslo.kommune.no/16.21/icons/`;typeof window<`u`&&(window.pktFetch=window.pktFetch===void 0?fetch:window.pktFetch,window.pktIconPath=window.pktIconPath||_);var v=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"></svg>`,y={},b=2,x=1500,S=typeof Storage<`u`&&typeof sessionStorage<`u`,C=typeof window<`u`?t.useLayoutEffect:t.useEffect,w=(e,t)=>!e||!S?``:sessionStorage.getItem(t+e+`.svg`)??``,ee=e=>window.pktFetch(e).then(t=>{if(!t.ok)throw Error(`Missing icon: `+e);return t.text()}),T=async(e,t=b)=>{try{return await ee(e)}catch{return t>0?(await new Promise(e=>setTimeout(e,x)),T(e,t-1)):(console.error(`Failed to fetch icon: `+e),v)}},E=async(e,t)=>{let n=t+e+`.svg`;return S&&sessionStorage.getItem(n)?sessionStorage.getItem(n):n in y?y[n]:typeof window<`u`&&typeof window.pktFetch==`function`?(y[n]=T(n).then(e=>(e!==v&&S&&sessionStorage.setItem(n,e),delete y[n],e)),y[n]):v},D=e=>{if(e!==void 0)return e===!0||e===`true`},O=(0,t.forwardRef)(function({name:e=``,path:r,className:i,ariaHidden:a,ariaLabel:o,"aria-hidden":s,"aria-label":c,...l},u){let d=r??(typeof window<`u`?window.pktIconPath:_),f=(0,t.useRef)(null),p=D(a)??D(s),m=o??c,h=p===void 0?!m:p,y=h?void 0:m||e;C(()=>{let t=f.current;if(!t)return;let n=e=>{let t=e.querySelector(`svg`);t&&(t.setAttribute(`aria-hidden`,String(h)),y?t.setAttribute(`aria-label`,y):t.removeAttribute(`aria-label`))};if(!e){t.innerHTML=``;return}let r=w(e,d);if(r){t.innerHTML=r,n(t);return}let i=!1;return E(e,d).then(e=>{if(i)return;let t=f.current;t&&(t.innerHTML=e||v,n(t))}),()=>{i=!0}},[e,d,h,y]);let b=e=>{f.current=e,typeof u==`function`?u(e):u&&(u.current=e)};return(0,n.jsx)(`span`,{...l,ref:b,className:(0,g.default)(`pkt-icon`,i),...e?{name:e}:{},"data-path":d})});O.displayName=`PktIcon`;var te=(0,t.forwardRef)(({defaultOpen:e=!1,id:r,title:i,skin:a,compact:o=!1,isOpen:s,children:c,name:l,className:u,onClick:d,onToggle:f},p)=>{let[h,g]=(0,t.useState)(e),{name:_}=m(),v=l||_,y=s===void 0?h:s;return(0,t.useEffect)(()=>{s===void 0&&g(e)},[e,s]),(0,n.jsxs)(`details`,{ref:p,className:[`pkt-accordion-item`,o&&`pkt-accordion-item--compact`,a&&`pkt-accordion-item--${a}`,u].filter(Boolean).join(` `),id:r,open:y,onClick:e=>{setTimeout(()=>{d?.(e)},0)},name:v,onToggle:e=>{let t=e.currentTarget.open;t!==y&&(s===void 0&&g(t),f?.(e))},children:[(0,n.jsxs)(`summary`,{className:`pkt-accordion-item__title`,id:`pkt-accordion-item-summary-${r}`,children:[i,a===`plus-minus`?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(O,{name:`plus-sign`,className:`pkt-accordion-item__icon pkt-accordion-item__icon--plus`,"aria-hidden":`true`}),(0,n.jsx)(O,{name:`minus-sign`,className:`pkt-accordion-item__icon pkt-accordion-item__icon--minus`,"aria-hidden":`true`})]}):(0,n.jsx)(O,{name:`chevron-thin-down`,className:`pkt-accordion-item__icon`,"aria-hidden":`true`})]}),(0,n.jsx)(`div`,{className:`pkt-accordion-item__content`,id:`pkt-accordion-item__content-${r}`,role:`region`,children:(0,n.jsx)(`div`,{className:`pkt-accordion-item__content-inner`,children:c})})]})});te.displayName=`PktAccordionItem`,window.pktAnimationPath=window.pktAnimationPath||`https://punkt-cdn.oslo.kommune.no/16.21/animations/`;var k=(0,t.forwardRef)(({children:e,className:t,iconName:r=`user`,secondIconName:i=`user`,iconPath:a,secondIconPath:o,size:s=`medium`,fullWidth:c=!1,fullWidthOnMobile:l=!1,skin:u=`primary`,type:d=`button`,variant:f=`label-only`,state:p,color:m,isLoading:h=void 0,disabled:g=void 0,loadingAnimationPath:_=window.pktAnimationPath,...v},y)=>{let b=[t,`pkt-btn`,s&&`pkt-btn--${s}`,c&&`pkt-btn--full`,l&&`pkt-btn--full-small`,u&&`pkt-btn--${u}`,f&&`pkt-btn--${f}`,m&&`pkt-btn--${m}`,p&&`pkt-btn--${p}`,h&&`pkt-btn--isLoading`].filter(Boolean).join(` `);return(0,n.jsxs)(`button`,{...v,"aria-busy":h||void 0,"aria-disabled":g||void 0,disabled:g,className:b,type:d,ref:y,children:[h&&(0,n.jsx)(O,{className:`pkt-btn__icon pkt-btn__spinner`,name:`spinner-blue`,path:_}),f!==`label-only`&&(0,n.jsx)(O,{className:`pkt-btn__icon`,name:r,...a&&{path:a}}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:e}),f===`icons-right-and-left`&&(0,n.jsx)(O,{className:`pkt-btn__icon`,name:i,...o&&{path:o}})]})});k.displayName=`PktButton`;var A=({children:e,closeAlert:r,compact:i,title:a,date:o,ariaLive:s,"aria-live":c=`polite`,role:l=`status`,skin:u=`info`,className:d,...f})=>{let[p,m]=(0,t.useState)(!1),h={"pkt-alert":!0,"pkt-alert--compact":i,[`pkt-alert--${u}`]:u,"pkt-hide":p},_={"pkt-alert__grid":!0,"pkt-alert__noTitle":!a,"pkt-alert__noDate":!o},v=(0,t.useCallback)(()=>{m(!0),f.onClose&&f.onClose(new CustomEvent(`close`,{detail:{origin:event},bubbles:!0,composed:!0}))},[f.onClose,m]),y=s||c;return(0,n.jsx)(`div`,{...f,"aria-live":y,role:l,className:(0,g.default)(h,d),children:(0,n.jsxs)(`div`,{className:(0,g.default)(_),children:[(0,n.jsx)(O,{className:`pkt-alert__icon`,"aria-hidden":`true`,name:u===`info`?`alert-information`:`alert-${u}`}),r&&(0,n.jsx)(`div`,{className:`pkt-alert__close`,children:(0,n.jsx)(k,{tabIndex:0,"aria-label":`close`,size:i?`small`:`medium`,type:`button`,skin:`tertiary`,iconName:`close`,variant:`icon-only`,onClick:v,children:(0,n.jsx)(`span`,{className:`sr-only`,children:`Lukk`})})}),a&&(0,n.jsx)(`div`,{className:`pkt-alert__title`,children:a}),(0,n.jsx)(`div`,{className:`pkt-alert__text`,children:e}),o&&(0,n.jsxs)(`div`,{className:`pkt-alert__date`,children:[`Sist oppdatert: `,o]})]})})};A.displayName=`PktAlert`;var ne=(0,t.forwardRef)(({href:e=`/`,text:t=`Forsiden`,ariaLabel:r,renderLink:i,className:a,...o},s)=>{let c=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(O,{className:`pkt-back-link__icon pkt-icon pkt-link__icon`,name:`chevron-thin-left`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`pkt-back-link__text`,children:t})]}),l=i||(({href:e,className:t,children:r,props:i})=>(0,n.jsx)(`a`,{href:e,className:t,...i,children:r}));return(0,n.jsx)(`nav`,{className:[`pkt-back-link`,a].filter(Boolean).join(` `),"aria-label":r||`Gå tilbake til forrige side`,ref:s,children:l({href:e,className:`pkt-link pkt-link--icon-left`,children:c,props:o})})});ne.displayName=`PktBackLink`;var j=(0,t.forwardRef)(({breadcrumbs:e,navigationType:t,renderLink:i,className:a,...o},s)=>{let c=e,l=c[c.length-2],u=[a,`pkt-breadcrumbs`].filter(Boolean).join(` `),d=i||(t===`router`?({href:e,className:t,children:i,props:a})=>(0,n.jsx)(r.Link,{to:e,className:t,...a,children:i}):({href:e,className:t,children:r,props:i})=>(0,n.jsx)(`a`,{href:e,className:t,...i,children:r}));return(0,n.jsxs)(`nav`,{ref:s,"aria-label":`brødsmulemeny`,className:u,children:[(0,n.jsx)(`ol`,{className:`pkt-breadcrumbs__list pkt-breadcrumbs--desktop`,children:c.map((e,t)=>(0,n.jsx)(`li`,{className:`pkt-breadcrumbs__item`,children:t===c.length-1?(0,n.jsx)(`span`,{className:`pkt-breadcrumbs__label`,"aria-current":`true`,children:(0,n.jsx)(`span`,{className:`pkt-breadcrumbs__text`,children:e.text})}):d({href:e.href,className:`pkt-link pkt-link--icon-right pkt-breadcrumbs__label pkt-breadcrumbs__link`,children:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(O,{className:`pkt-icon pkt-breadcrumbs__icon pkt-link__icon`,name:`chevron-thin-right`}),(0,n.jsx)(`span`,{className:`pkt-breadcrumbs__text`,children:e.text})]}),props:o})},`breadcrumb-${t}`))}),d({href:l.href,className:`pkt-link pkt-link--icon-left pkt-breadcrumbs--mobile`,children:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(O,{className:`pkt-back-link__icon pkt-icon pkt-link__icon`,name:`chevron-thin-left`}),(0,n.jsx)(`span`,{className:`pkt-breadcrumbs__text`,children:l.text})]}),props:o})]})});j.displayName=`PktBreadcrumbs`;var M=365.2425,re=6048e5,ie=864e5,ae=3600*24;ae*7,ae*M/12*3;var N=Symbol.for(`constructDateFrom`);function P(e,t){return typeof e==`function`?e(t):e&&typeof e==`object`&&N in e?e[N](t):e instanceof Date?new e.constructor(t):new Date(t)}function F(e,t){return P(t||e,e)}function oe(e,t,n){let r=F(e,n?.in);return isNaN(t)?P(n?.in||e,NaN):(t&&r.setDate(r.getDate()+t),r)}var I={};function L(){return I}function R(e,t){let n=L(),r=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??n.weekStartsOn??n.locale?.options?.weekStartsOn??0,i=F(e,t?.in),a=i.getDay(),o=(a<r?7:0)+a-r;return i.setDate(i.getDate()-o),i.setHours(0,0,0,0),i}function z(e,t){return R(e,{...t,weekStartsOn:1})}function B(e,t){let n=F(e,t?.in),r=n.getFullYear(),i=P(n,0);i.setFullYear(r+1,0,4),i.setHours(0,0,0,0);let a=z(i),o=P(n,0);o.setFullYear(r,0,4),o.setHours(0,0,0,0);let s=z(o);return n.getTime()>=a.getTime()?r+1:n.getTime()>=s.getTime()?r:r-1}function V(e){let t=F(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 se(e,...t){let n=P.bind(null,e||t.find(e=>typeof e==`object`));return t.map(n)}function H(e,t){let n=F(e,t?.in);return n.setHours(0,0,0,0),n}function U(e,t,n){let[r,i]=se(n?.in,e,t),a=H(r),o=H(i),s=+a-V(a),c=+o-V(o);return Math.round((s-c)/ie)}function W(e,t){let n=B(e,t),r=P(t?.in||e,0);return r.setFullYear(n,0,4),r.setHours(0,0,0,0),z(r)}function G(e){return e instanceof Date||typeof e==`object`&&Object.prototype.toString.call(e)===`[object Date]`}function ce(e){return!(!G(e)&&typeof e!=`number`||isNaN(+F(e)))}function K(e,t){let n=F(e,t?.in);return n.setHours(23,59,59,999),n}function q(e,t){let[n,r]=se(e,t.start,t.end);return{start:n,end:r}}function J(e,t){let{start:n,end:r}=q(t?.in,e),i=+n>+r,a=i?+n:+r,o=i?r:n;o.setHours(0,0,0,0);let s=t?.step??1;if(!s)return[];s<0&&(s=-s,i=!i);let c=[];for(;+o<=a;)c.push(P(n,o)),o.setDate(o.getDate()+s),o.setHours(0,0,0,0);return i?c.reverse():c}function le(e,t){let n=F(e,t?.in);return n.setFullYear(n.getFullYear(),0,1),n.setHours(0,0,0,0),n}var Y={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`}},ue=(e,t,n)=>{let r,i=Y[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,t.toString()),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:r+` ago`:r};function de(e){return(t={})=>{let n=t.width?String(t.width):e.defaultWidth;return e.formats[n]||e.formats[e.defaultWidth]}}var fe={date:de({formats:{full:`EEEE, MMMM do, y`,long:`MMMM do, y`,medium:`MMM d, y`,short:`MM/dd/yyyy`},defaultWidth:`full`}),time:de({formats:{full:`h:mm:ss a zzzz`,long:`h:mm:ss a z`,medium:`h:mm:ss a`,short:`h:mm a`},defaultWidth:`full`}),dateTime:de({formats:{full:`{{date}} 'at' {{time}}`,long:`{{date}} 'at' {{time}}`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},pe={lastWeek:`'last' eeee 'at' p`,yesterday:`'yesterday at' p`,today:`'today at' p`,tomorrow:`'tomorrow at' p`,nextWeek:`eeee 'at' p`,other:`P`},me=(e,t,n,r)=>pe[e];function he(e){return(t,n)=>{let r=n?.context?String(n.context):`standalone`,i;if(r===`formatting`&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=n?.width?String(n.width):t;i=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=n?.width?String(n.width):e.defaultWidth;i=e.values[r]||e.values[t]}let a=e.argumentCallback?e.argumentCallback(t):t;return i[a]}}var ge={ordinalNumber:(e,t)=>{let 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`},era:he({values:{narrow:[`B`,`A`],abbreviated:[`BC`,`AD`],wide:[`Before Christ`,`Anno Domini`]},defaultWidth:`wide`}),quarter:he({values:{narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1st quarter`,`2nd quarter`,`3rd quarter`,`4th quarter`]},defaultWidth:`wide`,argumentCallback:e=>e-1}),month:he({values:{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`]},defaultWidth:`wide`}),day:he({values:{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`]},defaultWidth:`wide`}),dayPeriod:he({values:{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`}},defaultWidth:`wide`,formattingValues:{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`}},defaultFormattingWidth:`wide`})};function _e(e){return(t,n={})=>{let r=n.width,i=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],a=t.match(i);if(!a)return null;let o=a[0],s=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],c=Array.isArray(s)?ye(s,e=>e.test(o)):ve(s,e=>e.test(o)),l;l=e.valueCallback?e.valueCallback(c):c,l=n.valueCallback?n.valueCallback(l):l;let u=t.slice(o.length);return{value:l,rest:u}}}function ve(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)&&t(e[n]))return n}function ye(e,t){for(let n=0;n<e.length;n++)if(t(e[n]))return n}function be(e){return(t,n={})=>{let r=t.match(e.matchPattern);if(!r)return null;let i=r[0],a=t.match(e.parsePattern);if(!a)return null;let o=e.valueCallback?e.valueCallback(a[0]):a[0];o=n.valueCallback?n.valueCallback(o):o;let s=t.slice(i.length);return{value:o,rest:s}}}var xe={code:`en-US`,formatDistance:ue,formatLong:fe,formatRelative:me,localize:ge,match:{ordinalNumber:be({matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:_e({matchPatterns:{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},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:`any`}),quarter:_e({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:_e({matchPatterns:{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},defaultMatchWidth:`wide`,parsePatterns:{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]},defaultParseWidth:`any`}),day:_e({matchPatterns:{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},defaultMatchWidth:`wide`,parsePatterns:{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]},defaultParseWidth:`any`}),dayPeriod:_e({matchPatterns:{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},defaultMatchWidth:`any`,parsePatterns:{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}},defaultParseWidth:`any`})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function Se(e,t){let n=F(e,t?.in);return U(n,le(n))+1}function Ce(e,t){let n=F(e,t?.in),r=z(n)-+W(n);return Math.round(r/re)+1}function X(e,t){let n=F(e,t?.in),r=n.getFullYear(),i=L(),a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??i.firstWeekContainsDate??i.locale?.options?.firstWeekContainsDate??1,o=P(t?.in||e,0);o.setFullYear(r+1,0,a),o.setHours(0,0,0,0);let s=R(o,t),c=P(t?.in||e,0);c.setFullYear(r,0,a),c.setHours(0,0,0,0);let l=R(c,t);return+n>=+s?r+1:+n>=+l?r:r-1}function we(e,t){let n=L(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??n.firstWeekContainsDate??n.locale?.options?.firstWeekContainsDate??1,i=X(e,t),a=P(t?.in||e,0);return a.setFullYear(i,0,r),a.setHours(0,0,0,0),R(a,t)}function Z(e,t){let n=F(e,t?.in),r=R(n,t)-+we(n,t);return Math.round(r/re)+1}function Q(e,t){return(e<0?`-`:``)+Math.abs(e).toString().padStart(t,`0`)}var $={y(e,t){let n=e.getFullYear(),r=n>0?n:1-n;return Q(t===`yy`?r%100:r,t.length)},M(e,t){let n=e.getMonth();return t===`M`?String(n+1):Q(n+1,2)},d(e,t){return Q(e.getDate(),t.length)},a(e,t){let 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];default:return n===`am`?`a.m.`:`p.m.`}},h(e,t){return Q(e.getHours()%12||12,t.length)},H(e,t){return Q(e.getHours(),t.length)},m(e,t){return Q(e.getMinutes(),t.length)},s(e,t){return Q(e.getSeconds(),t.length)},S(e,t){let n=t.length,r=e.getMilliseconds();return Q(Math.trunc(r*10**(n-3)),t.length)}},Te={am:`am`,pm:`pm`,midnight:`midnight`,noon:`noon`,morning:`morning`,afternoon:`afternoon`,evening:`evening`,night:`night`},Ee={G:function(e,t,n){let r=+(e.getFullYear()>0);switch(t){case`G`:case`GG`:case`GGG`:return n.era(r,{width:`abbreviated`});case`GGGGG`:return n.era(r,{width:`narrow`});default:return n.era(r,{width:`wide`})}},y:function(e,t,n){if(t===`yo`){let t=e.getFullYear(),r=t>0?t:1-t;return n.ordinalNumber(r,{unit:`year`})}return $.y(e,t)},Y:function(e,t,n,r){let i=X(e,r),a=i>0?i:1-i;return t===`YY`?Q(a%100,2):t===`Yo`?n.ordinalNumber(a,{unit:`year`}):Q(a,t.length)},R:function(e,t){return Q(B(e),t.length)},u:function(e,t){return Q(e.getFullYear(),t.length)},Q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`Q`:return String(r);case`QQ`:return Q(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`});default:return n.quarter(r,{width:`wide`,context:`formatting`})}},q:function(e,t,n){let r=Math.ceil((e.getMonth()+1)/3);switch(t){case`q`:return String(r);case`qq`:return Q(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`});default:return n.quarter(r,{width:`wide`,context:`standalone`})}},M:function(e,t,n){let r=e.getMonth();switch(t){case`M`:case`MM`:return $.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`});default:return n.month(r,{width:`wide`,context:`formatting`})}},L:function(e,t,n){let r=e.getMonth();switch(t){case`L`:return String(r+1);case`LL`:return Q(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`});default:return n.month(r,{width:`wide`,context:`standalone`})}},w:function(e,t,n,r){let i=Z(e,r);return t===`wo`?n.ordinalNumber(i,{unit:`week`}):Q(i,t.length)},I:function(e,t,n){let r=Ce(e);return t===`Io`?n.ordinalNumber(r,{unit:`week`}):Q(r,t.length)},d:function(e,t,n){return t===`do`?n.ordinalNumber(e.getDate(),{unit:`date`}):$.d(e,t)},D:function(e,t,n){let r=Se(e);return t===`Do`?n.ordinalNumber(r,{unit:`dayOfYear`}):Q(r,t.length)},E:function(e,t,n){let 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`});default:return n.day(r,{width:`wide`,context:`formatting`})}},e:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`e`:return String(a);case`ee`:return Q(a,2);case`eo`:return n.ordinalNumber(a,{unit:`day`});case`eee`:return n.day(i,{width:`abbreviated`,context:`formatting`});case`eeeee`:return n.day(i,{width:`narrow`,context:`formatting`});case`eeeeee`:return n.day(i,{width:`short`,context:`formatting`});default:return n.day(i,{width:`wide`,context:`formatting`})}},c:function(e,t,n,r){let i=e.getDay(),a=(i-r.weekStartsOn+8)%7||7;switch(t){case`c`:return String(a);case`cc`:return Q(a,t.length);case`co`:return n.ordinalNumber(a,{unit:`day`});case`ccc`:return n.day(i,{width:`abbreviated`,context:`standalone`});case`ccccc`:return n.day(i,{width:`narrow`,context:`standalone`});case`cccccc`:return n.day(i,{width:`short`,context:`standalone`});default:return n.day(i,{width:`wide`,context:`standalone`})}},i:function(e,t,n){let r=e.getDay(),i=r===0?7:r;switch(t){case`i`:return String(i);case`ii`:return Q(i,t.length);case`io`:return n.ordinalNumber(i,{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`});default:return n.day(r,{width:`wide`,context:`formatting`})}},a:function(e,t,n){let r=e.getHours()/12>=1?`pm`:`am`;switch(t){case`a`:case`aa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`});case`aaa`:return n.dayPeriod(r,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`aaaaa`:return n.dayPeriod(r,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(r,{width:`wide`,context:`formatting`})}},b:function(e,t,n){let r=e.getHours(),i;switch(i=r===12?Te.noon:r===0?Te.midnight:r/12>=1?`pm`:`am`,t){case`b`:case`bb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`bbb`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`}).toLowerCase();case`bbbbb`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},B:function(e,t,n){let r=e.getHours(),i;switch(i=r>=17?Te.evening:r>=12?Te.afternoon:r>=4?Te.morning:Te.night,t){case`B`:case`BB`:case`BBB`:return n.dayPeriod(i,{width:`abbreviated`,context:`formatting`});case`BBBBB`:return n.dayPeriod(i,{width:`narrow`,context:`formatting`});default:return n.dayPeriod(i,{width:`wide`,context:`formatting`})}},h:function(e,t,n){if(t===`ho`){let t=e.getHours()%12;return t===0&&(t=12),n.ordinalNumber(t,{unit:`hour`})}return $.h(e,t)},H:function(e,t,n){return t===`Ho`?n.ordinalNumber(e.getHours(),{unit:`hour`}):$.H(e,t)},K:function(e,t,n){let r=e.getHours()%12;return t===`Ko`?n.ordinalNumber(r,{unit:`hour`}):Q(r,t.length)},k:function(e,t,n){let r=e.getHours();return r===0&&(r=24),t===`ko`?n.ordinalNumber(r,{unit:`hour`}):Q(r,t.length)},m:function(e,t,n){return t===`mo`?n.ordinalNumber(e.getMinutes(),{unit:`minute`}):$.m(e,t)},s:function(e,t,n){return t===`so`?n.ordinalNumber(e.getSeconds(),{unit:`second`}):$.s(e,t)},S:function(e,t){return $.S(e,t)},X:function(e,t,n){let r=e.getTimezoneOffset();if(r===0)return`Z`;switch(t){case`X`:return Oe(r);case`XXXX`:case`XX`:return ke(r);default:return ke(r,`:`)}},x:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`x`:return Oe(r);case`xxxx`:case`xx`:return ke(r);default:return ke(r,`:`)}},O:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`O`:case`OO`:case`OOO`:return`GMT`+De(r,`:`);default:return`GMT`+ke(r,`:`)}},z:function(e,t,n){let r=e.getTimezoneOffset();switch(t){case`z`:case`zz`:case`zzz`:return`GMT`+De(r,`:`);default:return`GMT`+ke(r,`:`)}},t:function(e,t,n){return Q(Math.trunc(e/1e3),t.length)},T:function(e,t,n){return Q(+e,t.length)}};function De(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Math.trunc(r/60),a=r%60;return a===0?n+String(i):n+String(i)+t+Q(a,2)}function Oe(e,t){return e%60==0?(e>0?`-`:`+`)+Q(Math.abs(e)/60,2):ke(e,t)}function ke(e,t=``){let n=e>0?`-`:`+`,r=Math.abs(e),i=Q(Math.trunc(r/60),2),a=Q(r%60,2);return n+i+t+a}var Ae=(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`});default:return t.date({width:`full`})}},je=(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`});default:return t.time({width:`full`})}},Me={p:je,P:(e,t)=>{let n=e.match(/(P+)(p+)?/)||[],r=n[1],i=n[2];if(!i)return Ae(e,t);let a;switch(r){case`P`:a=t.dateTime({width:`short`});break;case`PP`:a=t.dateTime({width:`medium`});break;case`PPP`:a=t.dateTime({width:`long`});break;default:a=t.dateTime({width:`full`});break}return a.replace(`{{date}}`,Ae(r,t)).replace(`{{time}}`,je(i,t))}},Ne=/^D+$/,Pe=/^Y+$/,Fe=[`D`,`DD`,`YY`,`YYYY`];function Ie(e){return Ne.test(e)}function Le(e){return Pe.test(e)}function Re(e,t,n){let r=ze(e,t,n);if(console.warn(r),Fe.includes(e))throw RangeError(r)}function ze(e,t,n){let 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`}var Be=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,Ve=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,He=/^'([^]*?)'?$/,Ue=/''/g,We=/[a-zA-Z]/;function Ge(e,t,n){let r=L(),i=n?.locale??r.locale??xe,a=n?.firstWeekContainsDate??n?.locale?.options?.firstWeekContainsDate??r.firstWeekContainsDate??r.locale?.options?.firstWeekContainsDate??1,o=n?.weekStartsOn??n?.locale?.options?.weekStartsOn??r.weekStartsOn??r.locale?.options?.weekStartsOn??0,s=F(e,n?.in);if(!ce(s))throw RangeError(`Invalid time value`);let c=t.match(Ve).map(e=>{let t=e[0];if(t===`p`||t===`P`){let n=Me[t];return n(e,i.formatLong)}return e}).join(``).match(Be).map(e=>{if(e===`''`)return{isToken:!1,value:`'`};let t=e[0];if(t===`'`)return{isToken:!1,value:Ke(e)};if(Ee[t])return{isToken:!0,value:e};if(t.match(We))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});i.localize.preprocessor&&(c=i.localize.preprocessor(s,c));let l={firstWeekContainsDate:a,weekStartsOn:o,locale:i};return c.map(r=>{if(!r.isToken)return r.value;let a=r.value;(!n?.useAdditionalWeekYearTokens&&Le(a)||!n?.useAdditionalDayOfYearTokens&&Ie(a))&&Re(a,t,String(e));let o=Ee[a[0]];return o(s,a,i.localize,l)}).join(``)}function Ke(e){let t=e.match(He);return t?t[1].replace(Ue,`'`):e}function qe(e,t){let n=F(e,t?.in).getDay();return n===0?7:n}function Je(e,t,n=`long`){return new Intl.DateTimeFormat(`en-US`,{hour:`numeric`,timeZone:e,timeZoneName:n}).format(t).split(/\s/g).slice(2).join(` `)}var Ye={},Xe={};function Ze(e,t){try{let n=(Ye[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in Xe?Xe[n]:$e(n,n.split(`:`))}catch{if(e in Xe)return Xe[e];let t=e?.match(Qe);return t?$e(e,t.slice(1)):NaN}}var Qe=/([+-]\d\d):?(\d\d)?/;function $e(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return Xe[e]=n*60+r>0?n*60+r+i:n*60-r-i}var et=class e extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]==`string`&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(Ze(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]==`number`&&(e.length===1||e.length===2&&typeof e[1]!=`number`)?this.setTime(e[0]):typeof e[0]==`string`?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),it(this,NaN),nt(this)):this.setTime(Date.now())}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){let e=-Ze(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),nt(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}},tt=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!tt.test(e))return;let t=e.replace(tt,`$1UTC`);et.prototype[t]&&(e.startsWith(`get`)?et.prototype[e]=function(){return this.internal[t]()}:(et.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),rt(this),+this},et.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),nt(this),+this}))});function nt(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-Ze(e.timeZone,e)*60))}function rt(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()),it(e)}function it(e){let t=Ze(e.timeZone,e),n=t>0?Math.floor(t):Math.ceil(t),r=new Date(+e);r.setUTCHours(r.getUTCHours()-1);let i=-new Date(+e).getTimezoneOffset(),a=i- -new Date(+r).getTimezoneOffset(),o=Date.prototype.getHours.apply(e)!==e.internal.getUTCHours();a&&o&&e.internal.setUTCMinutes(e.internal.getUTCMinutes()+a);let s=i-n;s&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+s);let c=new Date(+e);c.setUTCSeconds(0);let l=i>0?c.getSeconds():(c.getSeconds()-60)%60,u=Math.round(-(Ze(e.timeZone,e)*60))%60;(u||l)&&(e.internal.setUTCSeconds(e.internal.getUTCSeconds()+u),Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+u+l));let d=Ze(e.timeZone,e),f=d>0?Math.floor(d):Math.ceil(d),p=-new Date(+e).getTimezoneOffset()-f,m=f!==n,h=p-s;if(m&&h){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+h);let t=Ze(e.timeZone,e),n=f-(t>0?Math.floor(t):Math.ceil(t));n&&(e.internal.setUTCMinutes(e.internal.getUTCMinutes()+n),Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n))}}var at=class e extends et{static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}toISOString(){let[e,t,n]=this.tzComponents(),r=`${e}${t}:${n}`;return this.internal.toISOString().slice(0,-1)+r}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){let[e,t,n,r]=this.internal.toUTCString().split(` `);return`${e?.slice(0,-1)} ${n} ${t} ${r}`}toTimeString(){let e=this.internal.toUTCString().split(` `)[4],[t,n,r]=this.tzComponents();return`${e} GMT${t}${n}${r} (${Je(this.timeZone,this)})`}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){let e=this.getTimezoneOffset();return[e>0?`-`:`+`,String(Math.floor(Math.abs(e)/60)).padStart(2,`0`),String(Math.abs(e)%60).padStart(2,`0`)]}withTimeZone(t){return new e(+this,t)}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}};window.pktTz=window.pktTz===void 0?`Europe/Oslo`:window.pktTz;var ot=(e=window.pktTz)=>{let t=new at(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 st(e){if(!e||e===``)return new Date;if(/^\d{4}-\d{2}-\d{2}$/.test(e)){let[t,n,r]=e.split(`-`).map(Number);return new Date(t,n-1,r)}if(/^\d{4}-\d{2}$/.test(e)){let[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)}var ct=e=>!e||isNaN(e.getTime())?``:`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`,lt=e=>{if(!e)return null;let t=st(e);return isNaN(t.getTime())?null:t},ut=(e,t)=>{let n=dt(e);return isNaN(n.getTime())?``:Ge(n,t)},dt=(e=``,t)=>{let n=typeof e==`string`?st(e):e;return!n||isNaN(n.getTime())?new Date:t?t===`end`?K(n):H(n):n},ft=(e,t,n=1)=>{if(typeof e!=`number`||typeof t!=`number`||typeof n!=`number`||isNaN(e)||isNaN(t)||isNaN(n))return new Date;let r=new Date(e,t,n);return isNaN(r.getTime())?new Date:r},pt=e=>{let t;return t=new at(e,window.pktTz),t.setHours(12,0,0,0),t},mt=null,ht=void 0,gt=e=>{if(!e||isNaN(e.getTime()))return``;let t=typeof window<`u`?window.pktTz:void 0;return(!mt||ht!==t)&&(mt=new Intl.DateTimeFormat(`no`,{dateStyle:`full`,timeZone:t}),ht=t),mt.format(e)},_t=(e,t,n)=>{if(!e||isNaN(e.getTime()))return!1;let r=t?dt(t):null,i=n?dt(n):null;return!(r&&e<r||i&&e>i)},vt=(e,t)=>{if(!e||isNaN(e.getTime())||!Array.isArray(t))return!1;let n=ct(e);return t.includes(n)},yt=(e,t)=>{if(!e||isNaN(e.getTime())||!Array.isArray(t))return!1;let n=e.getDay().toString();return t.includes(n)},bt=(e,t,n,r,i)=>!(!e||isNaN(e.getTime())||!_t(e,t,n)||r&&vt(e,r)||i&&yt(e,i)),xt=(e,t,n,r,i)=>e.filter(e=>{let a=lt(e);return a&&bt(a,t,n,r,i)}),St=e=>e.slice().sort((e,t)=>{let n=lt(e),r=lt(t);return!n||!r?0:n.getTime()-r.getTime()}),Ct=(e,t)=>{let n=lt(e),r=lt(t);return!n||!r?!1:n<=r};function wt(e,t){let n=(t.excludedates??[]).map(e=>typeof e==`string`?e:ct(e));return!bt(e,t.earliest,t.latest,n,t.excludeweekdays??[])}function Tt(e,t,n,r){return!!(wt(e,n)||!t&&r.multiple&&r.maxMultiple>0&&r.selectedCount>=r.maxMultiple)}function Et(e,t,n){let r=ft(e,t,0);return!(n&&dt(n)>r)}function Dt(e,t,n){let r=ft(t===11?e+1:e,t===11?0:t+1,1);return!(n&&dt(n)<r)}function Ot(e){return typeof e==`string`&&(e=e.split(`,`)),e.length===1&&e[0]===``?[]:e.map(e=>st(e))}function kt(e,t){let n=J({start:e,end:t}),r={};if(Array.isArray(n)&&n.length)for(let i=0;i<n.length;i++){let a=n[i],o=a>e&&a<t;r[ct(a)]=o}return r}function At(e,t,n,r){if(t.length!==1)return!0;let i=J({start:t[0],end:e});if(!Array.isArray(i)||!i.length)return!0;for(let a=0;a<i.length;a++){for(let r of n??[])if(r>t[0]&&r<e)return!1;if((r??[]).includes(qe(i[a]).toString()))return!1}return!0}function jt(e,t){let n=ct(e);return t.includes(n)?t:[...t,n]}function Mt(e,t){let n=ct(e),r=t.indexOf(n);if(r===-1)return t;if(t.length===1)return[];let i=[...t];return i.splice(r,1),i}function Nt(e,t,n){let r=ct(e);return t.includes(r)?Mt(e,t):n>0&&t.length>=n?t:jt(e,t)}function Pt(e,t,n){let r=ct(e),i=Ot(t);return t.includes(r)?t.indexOf(r)===0?[]:Mt(e,t):t.length>1||t.length===1&&(!At(e,i,n.excludedates,n.excludeweekdays)||i[0]>e)?[r]:jt(e,t)}function Ft(e,t){let n=ft(e,t,1),r=ft(e,t+1,0),i=(n.getDay()+6)%7,a=r.getDate();return{firstDayOfMonth:n,lastDayOfMonth:r,startingDay:i,numDays:a,numRows:Math.ceil((a+i)/7),numDaysPrevMonth:ft(e,t,0).getDate(),initialWeek:Z(n)}}function It(e,t,n,r){let{startingDay:i,numDays:a}=r;return e===0&&t<i?`prev-month`:n>a?`next-month`:`current-month`}function Lt(e,t,n,r){let{startingDay:i,numDaysPrevMonth:a,numDays:o}=r;return e===`prev-month`?a-(i-t-1):e===`next-month`?n-o:n}var Rt={ArrowLeft:-1,ArrowRight:1,ArrowUp:-7,ArrowDown:7};function zt(e){let t=e.nodeName;return t===`INPUT`||t===`SELECT`||t===`BUTTON`&&!e.dataset?.date}function Bt(e,t,n){let r=oe(e,t);if(!r)return null;let i=n(`button[data-date="${ct(r)}"]`);for(;i instanceof HTMLButtonElement&&i.dataset.disabled;)if(r=oe(r,t),i=n(`button[data-date="${ct(r)}"]`),!i)return null;return r}function Vt(e){return Rt[e]??null}var Ht={month:`Måned`,year:`År`,days:[`Mandag`,`Tirsdag`,`Onsdag`,`Torsdag`,`Fredag`,`Lørdag`,`Søndag`],daysShort:[`Man`,`Tir`,`Ons`,`Tor`,`Fre`,`Lør`,`Søn`],months:[`Januar`,`Februar`,`Mars`,`April`,`Mai`,`Juni`,`Juli`,`August`,`September`,`Oktober`,`November`,`Desember`],week:`Uke`,prevMonth:`Forrige måned`,nextMonth:`Neste måned`};function Ut(e){let{selected:n,multiple:r=!1,maxMultiple:i=0,range:a=!1,earliest:o=null,latest:s=null,excludedates:c,excludeweekdays:l=[],weeknumbers:u=!1,withcontrols:d=!1,currentmonth:f,today:p,strings:m,onDateSelected:h,onClose:g,id:_,className:v}=e,y=(0,t.useId)(),b=_??y,x=(0,t.useMemo)(()=>({...Ht,...m}),[m]),S=(0,t.useMemo)(()=>p?st(p):ot(),[p]),C=(0,t.useMemo)(()=>c?c.map(e=>typeof e==`string`?st(e):e):[],[c]),w=n!==void 0,[ee,T]=(0,t.useState)([]),E=w?n:ee,D=(0,t.useMemo)(()=>Ot(E),[E]),[O,te]=(0,t.useState)(0),[k,A]=(0,t.useState)(0),[ne,j]=(0,t.useState)({}),[M,re]=(0,t.useState)(null),[ie,ae]=(0,t.useState)(null),N=(0,t.useRef)(null),P=(0,t.useRef)([]),F=(0,t.useRef)(0),oe=(0,t.useRef)(!1),I=(0,t.useRef)(!1),L=(0,t.useMemo)(()=>({earliest:o,latest:s,excludedates:C,excludeweekdays:l}),[o,s,C,l]);(0,t.useEffect)(()=>{let e=null;if(f!=null&&(f instanceof Date?e=pt(f):typeof f==`string`&&(e=st(f))),!e||isNaN(e.getTime()))if(E.length>0&&E[0]!==``){let t=st(E[E.length-1]);e=isNaN(t.getTime())?pt(S):t}else e=pt(S);if((!e||isNaN(e.getTime()))&&(e=pt(S)),s){let t=typeof s==`string`?st(s):s;!isNaN(t.getTime())&&e>t&&(e=t)}if(o){let t=typeof o==`string`?st(o):o;!isNaN(t.getTime())&&e<t&&(e=t)}te(e.getFullYear()),A(e.getMonth()),I.current=!0},[]),(0,t.useEffect)(()=>{if(I.current&&!oe.current&&E.length>0&&E[0]!==``){let e=st(E[E.length-1]);isNaN(e.getTime())||(te(e.getFullYear()),A(e.getMonth()))}},[E]),(0,t.useEffect)(()=>{a&&D.length===2?j(kt(D[0],D[1])):(!a||D.length<2)&&j({})},[a,D]);let R=(0,t.useCallback)(e=>{w||T(e),h?.(e)},[w,h]),z=(0,t.useCallback)(()=>{g?.()},[g]),B=(0,t.useCallback)((e,t)=>{te(typeof e==`string`?parseInt(e):e),A(typeof t==`string`?parseInt(t):t),F.current=0,ae(null),P.current=[],oe.current=!0},[]),V=(0,t.useCallback)(()=>{let e=k===0?11:k-1;B(k===0?O-1:O,e)},[O,k,B]),se=(0,t.useCallback)(()=>{let e=k===11?0:k+1;B(k===11?O+1:O,e)},[O,k,B]),H=(0,t.useCallback)(e=>wt(e,L),[L]),U=(0,t.useCallback)((e,t)=>Tt(e,t,L,{multiple:r,maxMultiple:i,selectedCount:E.length}),[L,r,i,E.length]),W=(0,t.useCallback)(()=>typeof E==`string`?E.split(`,`):E,[E]),G=(0,t.useCallback)(e=>{if(!a||D.length!==1||!At(e,D,C,l)||D[0]>=e){re(null);return}re(e),j(kt(D[0],e))},[a,D,C,l]),ce=(0,t.useCallback)(e=>{if(!e)return;let t;if(a)t=Pt(e,W(),{excludedates:C,excludeweekdays:l}),w||T(t),t.length===2?(h?.(t),z()):(t.length===1&&j({}),h?.(t));else if(r)t=Nt(e,W(),i),R(t);else{let n=ct(e);t=E.includes(n)?[]:[n],R(t),z()}},[a,r,i,W,E,C,l,w,R,z,h]),K=(0,t.useCallback)(e=>{let t=jt(e,W());w||T(t),a&&t.length===2&&(h?.(t),z())},[W,w,a,h,z]),q=(0,t.useCallback)(e=>{let t=Mt(e,W());w||T(t)},[W,w]),J=(0,t.useCallback)(e=>{let t=Nt(e,W(),i);w||T(t)},[W,i,w]),le=(0,t.useCallback)(()=>{let e=ct(pt(S)),t=N.current?.querySelector(`button[data-date="${e}"]`);if(t instanceof HTMLButtonElement){ae(e),t.focus();return}let n=P.current.find(e=>!e.isDisabled);if(n){let e=N.current?.querySelector(`button[data-date="${n.currentDateISO}"]`);e instanceof HTMLButtonElement&&(ae(n.currentDateISO),e.focus())}},[]),Y=(0,t.useCallback)((e,t)=>{let n=e.target;if(zt(n))return;if(e.preventDefault(),!ie){le();return}let r=Bt(dt(ie),t,N.current.querySelector.bind(N.current));if(r){let e=N.current.querySelector(`button[data-date="${ct(r)}"]`);e instanceof HTMLButtonElement&&!e.dataset.disabled&&(ae(ct(r)),e.focus())}},[ie,le]);return{componentId:b,strings:x,todayDate:S,year:O,month:k,activeSelected:E,_selected:D,inRange:ne,rangeHovered:M,focusedDate:ie,range:a,multiple:r,weeknumbers:u,withcontrols:d,earliest:o,latest:s,excludedates:C,excludeweekdays:l,className:v,dateConstraints:L,calendarRef:N,selectableDatesRef:P,tabIndexSetRef:F,prevMonth:V,nextMonth:se,changeMonth:B,handleDateSelect:ce,addToSelected:K,removeFromSelected:q,toggleSelectedDate:J,handleRangeHover:G,isExcluded:H,isDayDisabled:U,focusOnCurrentDate:le,handleKeydown:(0,t.useCallback)(e=>{if(e.key===`Escape`){e.preventDefault(),z();return}let t=Vt(e.key);t!==null&&Y(e.nativeEvent,t)},[z,Y]),handleFocusOut:(0,t.useCallback)(e=>{N.current&&!N.current.contains(e.relatedTarget)&&!e.target.classList.contains(`pkt-hide`)&&z()},[z]),close:z,setFocusedDate:ae}}var Wt=({componentId:e,strings:t,year:r,month:i,earliest:a,latest:o,withcontrols:s,prevMonth:c,nextMonth:l,changeMonth:u})=>{let d=e=>{let s=e===`prev`,u=s?Et(r,i,a):Dt(r,i,o),d=s?t.prevMonth:t.nextMonth,f=s?`chevron-thin-left`:`chevron-thin-right`,p=s?`pkt-calendar__prev-month`:`pkt-calendar__next-month`,m=s?c:l;return(0,n.jsx)(`div`,{children:(0,n.jsxs)(`button`,{type:`button`,"aria-label":d,onClick:()=>u&&m(),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),u&&m())},className:[`pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only`,p,!u&&`pkt-invisible`].filter(Boolean).join(` `),"data-disabled":u?void 0:`disabled`,"aria-disabled":!u||void 0,tabIndex:u?0:-1,children:[(0,n.jsx)(O,{className:`pkt-btn__icon`,name:f}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:d})]})})};return(0,n.jsxs)(`nav`,{className:`pkt-cal-month-nav`,children:[d(`prev`),s?(0,n.jsxs)(`div`,{className:`pkt-cal-month-picker`,children:[(0,n.jsx)(`label`,{htmlFor:`${e}-monthnav`,className:`pkt-hide`,children:t.month}),(0,n.jsx)(`select`,{"aria-label":t.month,className:`pkt-input pkt-input-compact`,id:`${e}-monthnav`,value:i,onChange:e=>{e.stopPropagation(),u(r,parseInt(e.target.value))},children:t.months.map((e,t)=>(0,n.jsx)(`option`,{value:t,children:e},t))}),(0,n.jsx)(`label`,{htmlFor:`${e}-yearnav`,className:`pkt-hide`,children:t.year}),(0,n.jsx)(`input`,{"aria-label":t.year,className:`pkt-input pkt-cal-input-year pkt-input-compact`,id:`${e}-yearnav`,type:`number`,size:4,placeholder:`0000`,value:r,onChange:e=>{e.stopPropagation(),u(parseInt(e.target.value),i)}})]}):(0,n.jsxs)(`div`,{className:`pkt-txt-16-medium pkt-calendar__month-title`,"aria-live":`polite`,children:[t.months[i],` `,r]}),d(`next`)]})};function Gt(e,t,n){let r=ft(n.year,n.month,e),i=ct(r),a=i===ct(t),o=n.activeSelected.includes(i),s=n.isDayDisabled(r,o),c;return n.focusedDate?c=n.focusedDate===i&&!s?`0`:`-1`:!s&&n.tabIndexSetRef.current===0?(n.tabIndexSetRef.current=e,c=`0`):c=n.tabIndexSetRef.current===e?`0`:`-1`,{currentDate:r,currentDateISO:i,isToday:a,isSelected:o,isDisabled:s,ariaLabel:gt(r),tabindex:c}}function Kt(e,t){let{currentDateISO:n,isToday:r,isSelected:i}=e,a=t.range&&(t.activeSelected.length===2||t.rangeHovered!==null)&&n===t.activeSelected[0],o=t.range&&t.activeSelected.length===2&&n===t.activeSelected[1];return(0,g.default)({"pkt-cal-today":r,"pkt-cal-selected":i,"pkt-cal-in-range":t.inRange[n],"pkt-cal-excluded":t.isExcluded(e.currentDate),"pkt-cal-in-range-first":a,"pkt-cal-in-range-last":o,"pkt-cal-range-hover":t.rangeHovered!==null&&n===ct(t.rangeHovered)})}function qt(e,t){let{currentDateISO:n,isToday:r,isSelected:i,isDisabled:a}=e,o=t.range&&(t.activeSelected.length===2||t.rangeHovered!==null)&&n===t.activeSelected[0],s=t.range&&t.activeSelected.length===2&&n===t.activeSelected[1];return(0,g.default)({"pkt-calendar__date":!0,"pkt-calendar__date--today":r,"pkt-calendar__date--selected":i,"pkt-calendar__date--disabled":a,"pkt-calendar__date--in-range":t.inRange[n],"pkt-calendar__date--in-range-hover":t.rangeHovered!==null&&n===ct(t.rangeHovered),"pkt-calendar__date--range-start":o,"pkt-calendar__date--range-end":s})}var Jt=({state:e})=>{let{strings:t,year:r,month:i,activeSelected:a,focusedDate:o,inRange:s,rangeHovered:c,range:l,multiple:u,weeknumbers:d,selectableDatesRef:f,tabIndexSetRef:p,handleDateSelect:m,handleRangeHover:h,isExcluded:g,isDayDisabled:_,setFocusedDate:v,todayDate:y}=e,b={year:r,month:i,activeSelected:a,focusedDate:o,tabIndexSetRef:p,isDayDisabled:_},x={range:l,activeSelected:a,rangeHovered:c,inRange:s,isExcluded:g},S=()=>{let e=[];d&&e.push((0,n.jsx)(`th`,{children:(0,n.jsx)(`div`,{className:`pkt-calendar__week-number`,children:t.week})},`week-header`));for(let r=0;r<t.daysShort.length;r++)e.push((0,n.jsx)(`th`,{children:(0,n.jsx)(`div`,{className:`pkt-calendar__day-name`,"aria-label":t.days[r],children:t.daysShort[r]})},`day-${r}`));return(0,n.jsx)(`tr`,{className:`pkt-cal-week-row`,children:e})},C=(e,t)=>{let r=Gt(e,t,b),{currentDate:i,currentDateISO:a,isSelected:o,isDisabled:s,ariaLabel:c,tabindex:u}=r;f.current.push({currentDateISO:a,isDisabled:s,tabindex:u});let d=Kt(r,x),p=qt(r,x);return(0,n.jsx)(`td`,{className:d,children:(0,n.jsx)(`button`,{type:`button`,"aria-pressed":o?`true`:`false`,disabled:s,className:`pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only ${p}`,onMouseOver:()=>l&&!g(i)&&h(i),onFocus:()=>{l&&!g(i)&&h(i),v(a)},"aria-label":c,tabIndex:parseInt(u),"data-disabled":s?`disabled`:void 0,"data-date":a,onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),m(i))},onClick:e=>{s||(e.preventDefault(),m(i))},children:(0,n.jsx)(`span`,{className:`pkt-btn__text pkt-txt-14-light`,children:e})})},a)},w=(e,t)=>(0,n.jsx)(`td`,{className:`pkt-cal-other`,children:(0,n.jsx)(`div`,{className:`pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--label-only`,"data-disabled":`disabled`,children:(0,n.jsx)(`span`,{className:`pkt-btn__text pkt-txt-14-light`,children:e})})},t);return(0,n.jsxs)(`table`,{className:`pkt-cal-days pkt-txt-12-medium pkt-calendar__body`,role:`grid`,"aria-multiselectable":l||u||void 0,children:[(0,n.jsx)(`thead`,{children:S()}),(0,n.jsx)(`tbody`,{children:(()=>{let e=y,t=Ft(r,i);f.current=[],p.current=0;let a=1,o=t.initialWeek,s=[];for(let r=0;r<t.numRows;r++){let i=[];d&&i.push((0,n.jsx)(`td`,{className:`pkt-cal-week`,children:o},`week-${o}`)),o++;for(let n=0;n<7;n++){let o=It(r,n,a,t);if(o===`current-month`)i.push(C(a,e)),a++;else{let e=Lt(o,n,a,t);i.push(w(e,`${o}-${r}-${n}`)),o===`next-month`&&a++}}s.push((0,n.jsx)(`tr`,{className:`pkt-cal-week-row`,role:`row`,children:i},`row-${r}`))}return s})()})]})},Yt=(0,t.forwardRef)((e,r)=>{let i=Ut(e);return(0,t.useImperativeHandle)(r,()=>({handleDateSelect:i.handleDateSelect,addToSelected:i.addToSelected,removeFromSelected:i.removeFromSelected,toggleSelected:i.toggleSelectedDate,focusOnCurrentDate:i.focusOnCurrentDate,close:i.close}),[i.handleDateSelect,i.addToSelected,i.removeFromSelected,i.toggleSelectedDate,i.focusOnCurrentDate,i.close]),(0,n.jsxs)(`div`,{ref:i.calendarRef,className:[`pkt-calendar`,i.weeknumbers&&`pkt-cal-weeknumbers`,i.className].filter(Boolean).join(` `),onBlur:i.handleFocusOut,onKeyDown:i.handleKeydown,children:[(0,n.jsx)(Wt,{componentId:i.componentId,strings:i.strings,year:i.year,month:i.month,earliest:i.earliest,latest:i.latest,withcontrols:i.withcontrols,prevMonth:i.prevMonth,nextMonth:i.nextMonth,changeMonth:i.changeMonth}),(0,n.jsx)(Jt,{state:i})]})});Yt.displayName=`PktCalendar`;var Xt=(0,t.forwardRef)(({children:e,skin:r,textStyle:i,size:a,closeTag:o,className:s,iconName:c,ariaLabel:l,onClose:u,type:d,"aria-description":f,...p},m)=>{let[h,_]=(0,t.useState)(!1),v=(0,t.useCallback)(()=>{_(!0),u&&u()},[u]),y=(0,t.useRef)(null),[b,x]=(0,t.useState)(``);(0,t.useEffect)(()=>{x(y.current?.textContent?.trim()??``)},[e]);let S=(0,t.useMemo)(()=>{if(o&&!l)return b&&`Klikk for å fjerne ${b}`||f},[o,l,b,f]),C={"pkt-tag":!0,[`pkt-tag--${a}`]:!!a,[`pkt-tag--${r}`]:!!r,[`pkt-tag--${i}`]:!!i},w={"pkt-tag":!0,"pkt-btn":!0,"pkt-btn--tertiary":!0,[`pkt-tag--${i}`]:!!i,[`pkt-tag--${a}`]:!!a,[`pkt-tag--${r}`]:!!r,"pkt-btn--icons-right-and-left":o&&!!c,"pkt-hide":h};return o?(0,n.jsxs)(`button`,{...p,className:(0,g.default)(w,s),type:d,onClick:v,"aria-label":l,"aria-description":S,ref:m,children:[c&&(0,n.jsx)(O,{className:`pkt-tag__icon`,name:c}),(0,n.jsx)(`span`,{ref:y,children:e}),(0,n.jsx)(O,{className:`pkt-tag__close-btn`,name:`close`})]}):(0,n.jsxs)(`span`,{...p,className:(0,g.default)(C,s),ref:m,children:[c&&(0,n.jsx)(O,{className:`pkt-tag__icon`,name:c,"aria-hidden":`true`}),(0,n.jsx)(`span`,{ref:y,children:e})]})});Xt.displayName=`PktTag`;var Zt=(0,t.forwardRef)(({children:e,className:t,ariaLabel:r,metaLead:i,borderOnHover:a=!0,metaTrail:o,layout:s=`vertical`,heading:c=``,headingLevel:l=3,image:u,imageShape:d=`square`,clickCardLink:f,padding:p=`default`,openLinkInNewTab:m=!1,skin:h=`outlined`,subheading:_=``,tagPosition:v=`top`,tags:y=[],...b},x)=>{let S=(0,g.default)({"pkt-card":!0,[`pkt-card--${h}`]:h,[`pkt-card--${s}`]:s,[`pkt-card--padding-${p}`]:p,"pkt-card--border-on-hover":a}),C=r?.trim()||(c?`${c} lenkekort`:`lenkekort`),w=r?.trim()||c||`kort`,ee=`h${l}`,T=()=>u?.src?(0,n.jsx)(`div`,{className:(0,g.default)(`pkt-card__image`,`pkt-card__image-${d}`),children:(0,n.jsx)(`img`,{src:u.src,alt:u.alt||``})}):null,E=()=>y.length===0?null:(0,n.jsx)(`div`,{className:(0,g.default)(`pkt-card__tags`,`pkt-card__tags-${v}`),role:`list`,"aria-label":y.length>1?`merkelapper`:`merkelapp`,children:y.map((e,t)=>(0,n.jsx)(Xt,{role:`listitem`,textStyle:`normal-text`,size:`medium`,skin:e.skin,iconName:e.iconName,children:(0,n.jsx)(`span`,{children:e.text})},t))}),D=()=>!c||f?null:(0,n.jsx)(ee,{className:`pkt-heading pkt-heading--medium pkt-heading--fw-regular pkt-card__heading`,children:c}),O=()=>f?(0,n.jsx)(ee,{className:`pkt-heading pkt-heading--medium pkt-heading--fw-regular pkt-card__link-heading pkt-card__heading`,children:(0,n.jsx)(`a`,{className:`pkt-card__link`,href:f,target:m?`_blank`:`_self`,rel:m?`noopener noreferrer`:void 0,children:c})}):null,te=()=>_?(0,n.jsx)(`p`,{className:`pkt-card__subheading`,children:_}):null,k=()=>!c&&!_?null:(0,n.jsxs)(`header`,{className:`pkt-card__header`,children:[D(),O(),te()]}),A=()=>!i&&!o?null:(0,n.jsxs)(`footer`,{className:`pkt-card__metadata`,children:[i&&(0,n.jsx)(`span`,{className:`pkt-card__metadata-lead`,children:i}),o&&(0,n.jsx)(`span`,{className:`pkt-card__metadata-trail`,children:o})]});return(0,n.jsx)(`div`,{ref:x,className:(0,g.default)(`pkt-card-root`,t),style:{display:`block`,width:`100%`},children:(0,n.jsxs)(`article`,{...b,className:S,"aria-label":f?C:w,children:[T(),(0,n.jsxs)(`div`,{className:`pkt-card__wrapper`,children:[v===`top`&&E(),k(),(0,n.jsx)(`section`,{className:`pkt-card__content`,children:e}),v===`bottom`&&E(),A()]})]})})});Zt.displayName=`PktCard`;var Qt=(0,t.forwardRef)(({id:e,hasTile:r=!1,disabled:i=!1,label:a,checkHelptext:o,hasError:s=!1,className:c,isSwitch:l=!1,hideLabel:u=!1,labelPosition:d=`right`,defaultChecked:f,checked:p,indeterminate:m,optionalTag:h,optionalText:g=`Valgfritt`,requiredTag:_,requiredText:v=`Må fylles ut`,tagText:y,...b},x)=>{let S=(0,t.useRef)(null);(0,t.useEffect)(()=>{S.current&&m!==void 0&&(S.current.indeterminate=m)},[m]),(0,t.useEffect)(()=>{typeof x==`function`?x(S.current):x&&(x.current=S.current)},[x]);let C=[c,`pkt-input-check`].filter(Boolean).join(` `),w=[`pkt-input-check__input-label`,i?`pkt-input-check__input-label--disabled`:``,`pkt-input-check__input-label--${d}`,u?`pkt-sr-only`:``].filter(Boolean).join(` `),ee=[`pkt-input-check__input`,r?`pkt-input-check__input--tile`:``,i&&r?`pkt-input-check__input--tile-disabled`:``].filter(Boolean).join(` `),T=[`pkt-tag`,`pkt-tag--small`,`pkt-tag--thin-text`].join(` `),E=()=>(0,n.jsxs)(n.Fragment,{children:[y&&(0,n.jsx)(`span`,{className:T+` pkt-tag--gray`,children:y}),h&&(0,n.jsx)(`span`,{className:T+` pkt-tag--blue-light`,children:g}),_&&(0,n.jsx)(`span`,{className:T+` pkt-tag--beige`,children:v})]});return(0,n.jsx)(`div`,{className:C,children:(0,n.jsxs)(`div`,{className:ee,children:[d===`left`&&(0,n.jsxs)(`label`,{className:w,htmlFor:e,children:[a,` `,E(),o&&(0,n.jsx)(`div`,{className:`pkt-input-check__input-helptext`,children:o})]}),(0,n.jsx)(`input`,{role:l?`switch`:`checkbox`,ref:S,className:`pkt-input-check__input-checkbox ${s?`pkt-input-check__input-checkbox--error`:``}`,type:`checkbox`,id:e,disabled:i,...p===void 0?{defaultChecked:f}:{checked:p},...b}),d===`right`&&(0,n.jsxs)(`label`,{className:w,htmlFor:e,children:[a,` `,E(),o&&(0,n.jsx)(`div`,{className:`pkt-input-check__input-helptext`,children:o})]})]})})});Qt.displayName=`PktCheckbox`;function $t(e){let n=(0,t.useRef)(null),r=(0,t.useRef)(!1),i=(0,t.useRef)(void 0),a=e=>{let t=n.current;t&&(e===void 0?delete t.dataset.navtype:t.dataset.navtype=e)};return(0,t.useEffect)(()=>()=>{i.current!==void 0&&clearTimeout(i.current)},[]),{ref:t=>{n.current=t,typeof e==`function`?e(t):e&&(e.current=t)},onPointerDown:()=>{r.current=!0,i.current!==void 0&&clearTimeout(i.current),i.current=window.setTimeout(()=>{r.current=!1,i.current=void 0},0)},onFocus:()=>{a(r.current?`pointer`:void 0)},onBlur:e=>{n.current?.contains(e.relatedTarget)||a(void 0)}}}var en=`Les mer <span class='pkt-sr-only'>om feltet</span>`,tn=e=>e==null||e===``?null:typeof e==`string`?(0,n.jsx)(`span`,{dangerouslySetInnerHTML:{__html:e}}):e,nn=(0,t.forwardRef)(function({helptext:e,helptextDropdown:r,helptextDropdownButton:i,forId:a,onToggleHelpText:o,className:s,children:c,...l},u){let[d,f]=(0,t.useState)(!1),p=()=>{let e=!d;f(e),o?.(e)},m=(0,g.default)(`pkt-inputwrapper__helptext-container`,!!(e||r||c)&&`pkt-inputwrapper__has-helptext`,s);return(0,n.jsxs)(`div`,{...l,ref:u,className:m,children:[(0,n.jsxs)(`div`,{className:`pkt-inputwrapper__helptext`,id:a?`${a}-helptext`:void 0,children:[c&&(0,n.jsx)(`div`,{className:`pkt-contents`,children:c}),tn(e)]}),r&&(0,n.jsxs)(`div`,{className:`pkt-inputwrapper__helptext-expandable`,children:[(0,n.jsxs)(`button`,{type:`button`,className:`pkt-link pkt-link--icon-right pkt-btn pkt-btn--small pkt-btn--tertiary pkt-btn--icon-right`,onClick:p,children:[(0,n.jsx)(O,{className:`pkt-btn__icon`,name:d?`chevron-thin-up`:`chevron-thin-down`}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,dangerouslySetInnerHTML:{__html:i??en}})]}),(0,n.jsx)(`div`,{className:(0,g.default)(`pkt-inputwrapper__helptext`,d?`pkt-inputwrapper__helptext-expandable-open`:`pkt-inputwrapper__helptext-expandable-closed`),children:tn(r)})]})]})});nn.displayName=`PktHelptext`;var rn=(0,t.forwardRef)(({forId:e,label:t,helptext:r,helptextDropdown:i,helptextDropdownButton:a,counter:o,counterCurrent:s=0,counterMaxLength:c,optionalTag:l=!1,optionalText:u=`Valgfritt`,requiredTag:d=!1,requiredText:f=`Må fylles ut`,tagText:p=null,hasError:m=!1,errorMessage:h,disabled:g=!1,inline:_=!1,ariaDescribedby:v,useWrapper:y=!0,children:b,className:x=``,hasFieldset:S=!1,role:C=`group`,counterPosition:w=`bottom`},ee)=>{let T=$t(ee),E=v||(r?`${e}-helptext`:void 0),D=!!o,O=D&&w===`top`,te=D&&w===`bottom`,k=[`pkt-inputwrapper`,x,m?`pkt-inputwrapper--error`:``,g?`pkt-inputwrapper--disabled`:``,_?`pkt-inputwrapper--inline`:``].filter(Boolean).join(` `),ne=[`pkt-tag`,`pkt-tag--small`,`pkt-tag--thin-text`].join(` `),j=()=>D?(0,n.jsxs)(`div`,{className:`pkt-input__counter`,"aria-live":`polite`,"aria-atomic":`true`,children:[s,c?`/${c}`:``]}):null,M=()=>(0,n.jsxs)(n.Fragment,{children:[p&&(0,n.jsx)(`span`,{className:ne+` pkt-tag--gray`,children:p}),l&&(0,n.jsx)(`span`,{className:ne+` pkt-tag--blue-light`,children:u}),d&&(0,n.jsx)(`span`,{className:ne+` pkt-tag--beige`,children:f})]}),re=(0,n.jsxs)(n.Fragment,{children:[(()=>{let r=(0,n.jsxs)(n.Fragment,{children:[t,` `,M()]});return y?S?(0,n.jsx)(`legend`,{className:`pkt-inputwrapper__legend`,id:`${e}-label`,children:r}):(0,n.jsx)(`label`,{className:`pkt-inputwrapper__label`,htmlFor:e,"aria-describedby":E,id:`${e}-label`,children:r}):(0,n.jsx)(`label`,{htmlFor:e,className:`pkt-sr-only`,"aria-describedby":E,id:`${e}-label`,children:t})})(),(()=>{let t=y?r:void 0;return!t&&!i?null:(0,n.jsx)(nn,{forId:e,helptext:t,helptextDropdown:i,helptextDropdownButton:a})})(),O&&(0,n.jsx)(j,{}),b,te&&(0,n.jsx)(j,{}),m&&h&&(0,n.jsx)(`div`,{className:`pkt-inputwrapper__alert-wrapper`,children:(0,n.jsx)(A,{skin:`error`,"aria-live":`assertive`,role:`alert`,id:`${e}-error`,compact:!0,children:h})})]});return(0,n.jsx)(`div`,{className:k,role:C,...T,children:S?(0,n.jsx)(`fieldset`,{className:`pkt-inputwrapper__fieldset`,"aria-describedby":E,children:re}):(0,n.jsx)(`div`,{className:`pkt-inputwrapper__fieldset`,children:re})})});rn.displayName=`PktInputWrapper`;var an=(e,t)=>t&&(e.find(e=>e.value===t)||e.find(e=>e.label===t))||null,on=(e,t)=>{if(!t)return-1;let n=e.findIndex(e=>e.value===t);return n>=0?n:e.findIndex(e=>e.label===t)},sn=(e,t)=>{if(!t)return[...e];let n=t.toLowerCase();return e.filter(e=>(e.fulltext||e.value+(e.label||``)+(e.prefix||``)).toLowerCase().includes(n))},cn=e=>e.value+(e.label||``)+(e.prefix||``),ln=(e,t)=>t!==null&&e>=t,un=(e,t)=>{if(!e)return``;switch(t){case`prefixAndValue`:return`${e.prefix||``} ${e.value}`.trim();case`value`:return e.value;default:return e.label||e.value}},dn=(e,t)=>e?Array.isArray(e)?t?e:e.length>0?[e[0]]:[]:t?e.split(`,`).filter(Boolean):[e]:[],fn=(e,t)=>{if(!t)return{filtered:[...e],suggestion:null};let n=t.toLowerCase(),r=e.filter(e=>e.fulltext?.toLowerCase().includes(n));return{filtered:r,suggestion:r.find(e=>!e.selected&&e.label?.toLowerCase().startsWith(n))||null}},pn=(e,t,n,r)=>{if(!e.trim())return{addValueText:null,userInfoMessage:``};let i=e.trim().toLowerCase(),a=t.find(e=>e.toLowerCase()===i),o=n.filter(e=>e.label?.toLowerCase().includes(i)||e.value.toLowerCase().includes(i)),s=o.find(e=>e.label?.toLowerCase()===i||e.value.toLowerCase()===i);return(o.length===0||!s)&&r?{addValueText:e,userInfoMessage:``}:o.length===0&&!r?{addValueText:null,userInfoMessage:`Ingen treff i søket`}:a?{addValueText:null,userInfoMessage:`Verdien er allerede valgt`}:{addValueText:null,userInfoMessage:``}},mn=(e,t,n)=>{switch(e){case`,`:return n?`addValue`:null;case`Enter`:return`addValue`;case`Tab`:case`ArrowDown`:return t?null:`focusListbox`;case`Escape`:return`closeOptions`;default:return null}},hn=(e,t,n,r,i)=>{if(!e)return{action:`none`,value:null};let a=an(n,e);return!t.includes(e)&&!a?r?{action:`addUserValue`,value:e}:i?{action:`none`,value:null}:{action:`removeValue`,value:t[0]}:a&&!t.includes(a.value)?{action:`selectOption`,value:a.value}:{action:`none`,value:null}},gn=(e,t,n)=>{let r=an(t,e);return n===`label`&&r?.label?r.label:e},_n=e=>{e.scrollIntoView({block:`nearest`}),window.setTimeout(()=>e.focus(),0)},vn=e=>Array.from(e.querySelectorAll(`[role="option"]:not([data-disabled])`)||[]),yn=e=>{let t=e.nextElementSibling;t&&_n(t)},bn=(e,t,n)=>{let r=e.previousElementSibling;if(e.dataset.index===`0`&&n){let e=t.querySelector(`[role="searchbox"]`);e&&_n(e)}else r&&_n(r)},xn=e=>{let t=vn(e);t[0]&&_n(t[0])},Sn=(e,t)=>{if(t.disabled)return;let n=vn(e);if(t.allowUserInput&&t.customUserInput){let t=e.querySelector(`[data-type="new-option"]`);if(t){_n(t);return}}let r=n.find(e=>e.dataset.selected===`true`);if(r){_n(r);return}if(t.includeSearch&&!(document.activeElement instanceof HTMLInputElement)){let t=e.querySelector(`[role="searchbox"]`);if(t){window.setTimeout(()=>t.focus(),0);return}}n[0]&&_n(n[0])},Cn=({state:e,outside:r=!1})=>{let{values:i,options:a,disabled:o,displayValueAs:s,handleTagRemove:c,handleTagKeydown:l,focusedTagIndex:u}=e,d=(0,t.useRef)([]);if((0,t.useEffect)(()=>{!r&&u>=0&&u<i.length&&d.current[u]?.focus()},[r,u,i.length]),i.length===0)return null;let f=i.map((e,t)=>{let i=an(a,e),f=i?.tagSkinColor,p=i?un(i,s):e;return o?(0,n.jsx)(`li`,{role:`listitem`,children:(0,n.jsx)(Xt,{skin:f||`blue-dark`,children:(0,n.jsx)(`span`,{className:`pkt-combobox__value`,children:p})})},e):r?(0,n.jsx)(`li`,{role:`listitem`,children:(0,n.jsx)(Xt,{skin:f||`blue-dark`,closeTag:!0,onClose:()=>c(e),children:(0,n.jsx)(`span`,{className:`pkt-combobox__value`,children:p})})},e):(0,n.jsx)(`li`,{role:`listitem`,onClick:e=>e.stopPropagation(),onMouseDown:e=>e.preventDefault(),children:(0,n.jsx)(Xt,{ref:e=>{d.current[t]=e},skin:f||`blue-dark`,closeTag:!0,tabIndex:u===t?0:-1,onClose:()=>c(e),onKeyDown:e=>l(e,t),children:(0,n.jsx)(`span`,{className:`pkt-combobox__value`,children:p})})},e)});return r?(0,n.jsx)(`div`,{className:`pkt-combobox__tags-outside`,children:(0,n.jsx)(`ul`,{role:`list`,className:`pkt-combobox__tag-list`,children:f})}):(0,n.jsx)(`ul`,{role:`list`,className:`pkt-combobox__tag-list`,children:f})},wn=({state:e})=>{let{values:t,options:r,editingSingleValue:i,displayValueAs:a}=e;if(i||t.length===0)return null;let o=an(r,t[0]);return o?(0,n.jsx)(`span`,{className:`pkt-combobox__value`,children:un(o,a)}):null},Tn=({state:e})=>{let{id:t,inputId:r,listboxId:i,values:a,options:o,isOpen:s,multiple:c,typeahead:l,allowUserInput:u,tagPlacement:d,placeholder:f,disabled:p,fullwidth:m,hasError:h,label:g,inputFocus:_,inputRef:v,triggerRef:y,handleInputChange:b,handleInputKeydown:x,handleInputFocus:S,handleInputBlur:C,handleInputClick:w,handlePlaceholderClick:ee,handleSelectOnlyKeydown:T,name:E}=e,D=[`pkt-combobox__input`,m&&`pkt-combobox__input--fullwidth`,s&&`pkt-combobox__input--open`,h&&`pkt-combobox__input--error`,p&&`pkt-combobox__input--disabled`].filter(Boolean).join(` `),te=[`pkt-combobox__arrow-icon`,s&&`pkt-combobox__arrow-icon--open`].filter(Boolean).join(` `),k=l||u,A=!k&&f&&(!a.length||c&&d===`outside`)&&!_,ne=d!==`outside`,j=a[0]&&an(o,a[0])?`${i}-${on(o,a[0])}`:void 0,M=c&&a.length>0?`${a.length} valgt`:void 0;return(0,n.jsxs)(`div`,{ref:y,className:D,onClick:w,...k?{tabIndex:-1}:{id:`${t}-combobox`,role:`combobox`,"aria-expanded":s?`true`:`false`,"aria-controls":i,"aria-haspopup":`listbox`,"aria-labelledby":`${t}-combobox-label`,"aria-activedescendant":j,"aria-description":M,tabIndex:p?-1:0,onKeyDown:T},children:[A?(0,n.jsx)(`span`,{className:`pkt-combobox__placeholder`,onClick:ee,children:f}):ne?c?(0,n.jsx)(Cn,{state:e}):k?null:(0,n.jsx)(wn,{state:e}):null,k?(0,n.jsx)(`div`,{className:`pkt-combobox__input-div combobox__input`,children:(0,n.jsx)(`input`,{ref:v,type:`text`,id:r,name:`${E||t}-input`,onChange:b,onKeyDown:x,onFocus:S,onBlur:C,placeholder:!a.length||c&&d===`outside`?f:void 0,autoComplete:`off`,role:`combobox`,"aria-expanded":s?`true`:`false`,"aria-label":g,"aria-autocomplete":l?`both`:u?`list`:`none`,"aria-controls":i,"aria-activedescendant":j,"aria-description":M,disabled:p})}):(0,n.jsx)(`input`,{ref:v,type:`hidden`,id:r,name:`${E||t}-input`,value:a.join(`,`),readOnly:!0}),(0,n.jsx)(O,{className:te,name:`chevron-thin-down`,"aria-hidden":`true`})]})},En=({state:e})=>{let{listboxId:t,label:r,isOpen:i,options:a,filteredOptions:o,multiple:s,disabled:c,maxIsReached:l,maxlength:u,includeSearch:d,allowUserInput:f,addValueText:p,userInfoMessage:m,searchPlaceholder:h,searchValue:g,handleOptionClick:_,handleOptionKeydown:v,handleSearchInput:y,handleSearchKeydown:b,handleNewOptionClick:x,handleNewOptionKeydown:S,listboxRef:C}=e,w=o.filter(e=>e.selected).length,ee=s&&w>0&&u!=null&&u>0,T=f&&p&&!l,E=!!m;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(`div`,{ref:C,id:t,className:[`pkt-listbox`,i&&`pkt-listbox__open`,`pkt-txt-16-light`].filter(Boolean).join(` `),role:o.length>0?`listbox`:void 0,"aria-label":o.length>0?`Liste: ${r||``}`:void 0,"aria-multiselectable":o.length>0&&s?`true`:void 0,children:[(0,n.jsxs)(`div`,{className:`pkt-listbox__banners`,children:[d&&(0,n.jsxs)(`div`,{className:`pkt-listbox__search`,children:[(0,n.jsx)(`span`,{className:`pkt-listbox__search-icon`,children:(0,n.jsx)(O,{name:`magnifying-glass-small`})}),(0,n.jsx)(`input`,{className:`pkt-txt-16-light`,type:`text`,"aria-label":`Søk i listen`,form:``,placeholder:h||`Søk...`,onChange:y,onKeyDown:b,value:g,"data-type":`searchbox`,disabled:c,readOnly:c,role:`searchbox`})]}),ee&&(0,n.jsxs)(`div`,{className:`pkt-listbox__banner pkt-listbox__banner--maximum-reached`,children:[w,` av maks `,u,` mulige er valgt.`]}),E&&(0,n.jsxs)(`div`,{className:`pkt-listbox__banner pkt-listbox__banner--user-message`,children:[(0,n.jsx)(O,{className:`pkt-listbox__banner-icon`,name:`exclamation-mark-circle`}),m]}),T&&(0,n.jsxs)(`div`,{className:`pkt-listbox__banner pkt-listbox__banner--new-option pkt-listbox__option`,"data-type":`new-option`,"data-value":p,"data-selected":`false`,tabIndex:0,onClick:()=>x(p),onKeyDown:S,children:[(0,n.jsx)(O,{className:`pkt-listbox__banner-icon`,name:`plus-sign`}),`Legg til "`,p,`"`]}),a.length===0&&o.length===0&&!E&&(0,n.jsxs)(`div`,{className:`pkt-listbox__banner pkt-listbox__banner--empty`,children:[(0,n.jsx)(O,{className:`pkt-listbox__banner-icon`,name:`exclamation-mark-circle`}),`Tom liste`]})]}),(0,n.jsx)(`ul`,{className:`pkt-listbox__options`,role:`presentation`,children:o.map((e,r)=>{let i=[`pkt-listbox__option`,!s&&e.selected&&`pkt-listbox__option--selected`,s&&`pkt-listbox__option--checkBox`].filter(Boolean).join(` `),a=c||e.disabled||l&&!e.selected;return(0,n.jsxs)(`li`,{className:i,onClick:()=>_(e.value),onKeyDown:t=>v(t,e.value),"aria-selected":e.selected?`true`:`false`,tabIndex:a?-1:0,"data-index":r,"data-value":e.value,"data-selected":e.selected?`true`:`false`,"data-disabled":a||void 0,"aria-disabled":a?`true`:`false`,role:`option`,id:`${t}-${r}`,children:[s?(0,n.jsx)(`input`,{className:`pkt-input-check__input-checkbox`,type:`checkbox`,tabIndex:-1,value:e.value,checked:e.selected||!1,readOnly:!0,"aria-hidden":`true`,disabled:a}):e.selected?(0,n.jsx)(O,{name:`check-big`}):null,(0,n.jsxs)(`span`,{className:`pkt-listbox__option-label`,id:`${t}-option-label-${r}`,children:[e.prefix&&(0,n.jsx)(`span`,{className:`pkt-listbox__option-prefix`,children:e.prefix}),e.label||e.value]}),e.description&&(0,n.jsx)(`span`,{className:`pkt-listbox__option-description pkt-txt-14-light`,children:e.description})]},`${e.value}-${r}`)})})]}),(0,n.jsx)(`div`,{"aria-live":`polite`,className:`pkt-visually-hidden`,children:m})]})};function Dn(e,t){return e.map(e=>({...e,label:e.label||e.value,fulltext:cn(e),selected:t.includes(e.value)}))}function On(e,n){let{id:r=``,label:i,value:a,defaultValue:o,options:s,defaultOptions:c,multiple:l=!1,maxlength:u,typeahead:d=!1,includeSearch:f=!1,allowUserInput:p=!1,displayValueAs:m=`label`,tagPlacement:h,searchPlaceholder:g,placeholder:_,disabled:v=!1,required:y=!1,fullwidth:b=!1,hasError:x=!1,errorMessage:S,helptext:C,helptextDropdown:w,helptextDropdownButton:ee,optionalTag:T=!1,optionalText:E,requiredTag:D=!1,requiredText:O,tagText:te,useWrapper:k=!0,name:A,className:ne,onChange:j,onValueChange:M,children:re}=e,ie=`${r}-input`,ae=`${r}-listbox`,N=d||p,P=(0,t.useRef)(null),F=(0,t.useRef)(null),oe=(0,t.useRef)(null),I=(0,t.useRef)(null),L=(0,t.useRef)(null),R=(0,t.useCallback)(()=>{N?P.current?.focus():oe.current?.focus()},[N]),z=(0,t.useMemo)(()=>{let e=[];return t.Children.forEach(re,n=>{if((0,t.isValidElement)(n)&&n.type===`option`){let t=n.props;e.push({value:t.value??t.children??``,label:t.children??t.value??``,selected:t.selected,disabled:t.disabled})}}),e},[re]),B=(0,t.useMemo)(()=>c&&c.length>0?c.map(e=>({...e,fulltext:cn(e)})):s&&s.length>0?s.map(e=>({...e,fulltext:cn(e)})):z.length>0?z.map(e=>({...e,fulltext:cn(e)})):[],[c,s,z]),V=a!==void 0,[se,H]=(0,t.useState)(()=>dn(a??o,l)),U=(0,t.useRef)(se);(0,t.useEffect)(()=>{V&&H(dn(a,l))},[a,V,l]);let W=V?dn(a,l):se,[G,ce]=(0,t.useState)([]),K=(0,t.useMemo)(()=>Dn([...G.filter(e=>!B.some(t=>t.value===e.value)),...B],W),[B,G,W]),[q,J]=(0,t.useState)(!1),[le,Y]=(0,t.useState)(``),[ue,de]=(0,t.useState)(``),[fe,pe]=(0,t.useState)(``),[me,he]=(0,t.useState)(null),[ge,_e]=(0,t.useState)(!1),[ve,ye]=(0,t.useState)(!1),[be,xe]=(0,t.useState)(-1),Se=(0,t.useRef)(!1),Ce=ln(W.length,u??null),X=l&&u!=null,we=(0,t.useMemo)(()=>le?d?fn(K,le).filtered:sn(K,le):K,[K,le,d]),Z=(0,t.useMemo)(()=>Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,`value`)?.set,[]),Q=(0,t.useCallback)(e=>{let t=F.current;if(!t||!Z)return;let n=l?e.join(`,`):e[0]||``;Z.call(t,n),t.dispatchEvent(new Event(`input`,{bubbles:!0}))},[Z,l]),$=l?W.join(`,`):W[0]||``;(0,t.useEffect)(()=>{F.current&&(F.current.value=$)},[$]),(0,t.useEffect)(()=>{if(q||l||!P.current)return;let e=W[0]?gn(W[0],K,m):``;P.current.value!==e&&(P.current.value=e)},[W,K,m,l,q]);let Te=(0,t.useCallback)((e,t=!0)=>{V||H(e),t&&(M?.(e),Q(e))},[V,M,Q]),Ee=(0,t.useCallback)(e=>{if(e&&!W.includes(e)){if(l&&ln(W.length,u??null)){pe(`Maks antall valg nådd`);return}Te(l?[...W,e]:[e])}},[W,l,u,Te]),De=(0,t.useCallback)(e=>{if(!e)return;let t=W.filter(t=>t!==e);an(K,e)?.userAdded&&ce(t=>t.filter(t=>t.value!==e)),Te(t)},[W,K,Te]),Oe=(0,t.useCallback)(()=>{ce([]),Te([])},[Te]),ke=(0,t.useCallback)(e=>{if(!e||e.trim()===``)return;let t;if(!l)t=[e];else{if(an(K,e)||ln(W.length,u??null))return;t=[...W,e]}let n={value:e,label:e,userAdded:!0,selected:!0};ce(t=>[n,...t.filter(t=>t.value!==e)]),Te(t)},[l,K,W,u,Te]),Ae=(0,t.useCallback)((e=!0,t)=>{if(he(null),e&&P.current&&P.current.type!==`hidden`){Y(``),de(``);let e=t===void 0?W[0]:t;!l&&e?P.current.value=gn(e,K,m):P.current.value=``,l||(ye(!1),pe(``))}},[l,W,K,m]),je=(0,t.useCallback)(e=>{if(v)return;pe(``),he(null);let t=an(K,e)?.value||null,n=W.includes(e||t||``),r=!!t,i=K.find(t=>t.value===e)?.disabled||!1,a=!e?.trim(),o=!l,s=l,c=ln(W.length,u??null),d=!1,f=!0,m=``,h=``,g;i||(!r&&p&&!a?(ke(e),m=`Ny verdi lagt til`,d=s,o&&(g=e||``)):!r&&!p?(o&&W[0]&&De(W[0]),f=!1,d=!0,m=`Ingen treff i søket`):n?(De(t),d=!0,g=``,o&&N&&P.current&&P.current.type!==`hidden`&&(P.current.value=``)):a&&o?(Oe(),d=!0,g=``):o?(W[0]&&De(W[0]),Ee(t),d=!1,g=t||``):s&&!c?(Ee(t),d=!0):s&&c?(m=`Maks antall valg nådd`,f=!1,h=e||``):(o&&Oe(),m=`Ingen gyldig verdi valgt`,f=!1,d=!0,h=e||``,g=``),J(d),pe(m),Y(h),Ae(f,g),d||(o&&N&&(Se.current=!0),window.setTimeout(()=>{R()},0)))},[v,K,W,l,u,p,ke,De,Oe,Ee,Ae,R]),Me=(0,t.useCallback)(()=>{if(_e(!1),he(null),pe(``),Y(``),P.current&&P.current.type!==`hidden`){let e=P.current.value,t=W[0];if(!l)if(!e)W[0]&&De(W[0]),t=void 0;else{let n=an(K,e);n&&n.value!==W[0]?(W[0]&&De(W[0]),Ee(n.value),t=n.value):!n&&p&&(W[0]&&De(W[0]),ke(e),t=e)}else if(e!==``){let{action:t,value:n}=hn(e,W,K,p,l);switch(t){case`addUserValue`:ke(n);break;case`selectOption`:Ee(n);break;case`removeValue`:De(n);break}}!l&&t?P.current.value=gn(t,K,m):P.current.value=``}J(!1),ye(!1)},[W,K,p,l,m,ke,Ee,De]),Ne=(0,t.useCallback)(e=>{if(!e.trim().toLowerCase()){he(null),pe(``),!l&&W[0]&&De(W[0]);return}let t=pn(e,W,K,p);he(t.addValueText),pe(t.userInfoMessage)},[W,K,p,l,De]),Pe=(0,t.useCallback)(e=>{if(v)return;let t=e.target.value;if(de(t),Y(t),Ne(t),d&&t){let{suggestion:n}=fn(K,t);n?.label&&P.current&&!e.nativeEvent.inputType?.includes(`deleteContent`)&&(P.current.value=n.label,window.setTimeout(()=>P.current?.setSelectionRange(t.length,n.label.length),0))}},[v,d,K,Ne]),Fe=(0,t.useCallback)(e=>{if(e.key===`Backspace`){let t=!P.current?.value;if(!le&&t&&l&&W.length>0){e.preventDefault();let t=W[W.length-1];De(t)}return}if(e.key===`ArrowLeft`&&l&&W.length>0&&(P.current?.selectionStart??0)===0&&!P.current?.value){e.preventDefault(),xe(W.length-1);return}let t=mn(e.key,e.shiftKey,l);if(t&&!(e.key===`Tab`&&!q)){if(t===`focusListbox`&&e.key===`Tab`&&!I.current?.querySelector(`[role="option"]:not([data-disabled]), [data-type="new-option"]`)){Me();return}switch(e.preventDefault(),t){case`addValue`:{let e=P.current?.value.trim()||``;if(Y(e),e&&W.includes(e)){Ae(!0),pe(`Verdien er allerede valgt`);break}je(e);break}case`focusListbox`:I.current&&(q||J(!0),Sn(I.current,{disabled:v,allowUserInput:p,customUserInput:me,includeSearch:f}));break;case`closeOptions`:J(!1);break}}},[le,W,l,v,p,me,f,q,De,je,R]),Ie=(0,t.useCallback)(()=>{if(!v){if(Se.current){Se.current=!1,_e(!0);return}!l&&W[0]&&P.current&&P.current.type!==`hidden`&&(ye(!0),P.current.value=gn(W[0],K,m)),_e(!0),Y(``),J(!0)}},[v,l,W,K,m]),Le=(0,t.useCallback)(()=>{_e(!1),ye(!1)},[]),Re=(0,t.useCallback)(e=>{if(v||!q)return;let t=e.relatedTarget,n=L.current;n&&t&&n.contains(t)||Me()},[v,q,Me]),ze=(0,t.useCallback)(e=>{if(v){e.preventDefault(),e.stopPropagation();return}if(N)P.current?.focus();else{e.stopPropagation(),e.preventDefault();let t=!q;J(t),t&&I.current&&Sn(I.current,{disabled:v,allowUserInput:p,customUserInput:me,includeSearch:f})}},[v,N,q,p,me,f]),Be=(0,t.useCallback)(e=>{v||(e.stopPropagation(),N&&P.current?(P.current.focus(),_e(!0)):J(e=>!e))},[v,N]),Ve=(0,t.useCallback)(e=>{if(!v)switch(e.key){case`Enter`:case` `:case`ArrowDown`:case`ArrowUp`:e.preventDefault(),q?J(!1):(J(!0),I.current&&window.setTimeout(()=>{I.current&&Sn(I.current,{disabled:v,allowUserInput:p&&!Ce,customUserInput:me,includeSearch:f})},0));break;case`Escape`:q&&(e.preventDefault(),J(!1));break;case`Home`:case`End`:e.preventDefault(),q||J(!0),I.current&&window.setTimeout(()=>{I.current&&Sn(I.current,{disabled:v,allowUserInput:p&&!Ce,customUserInput:me,includeSearch:f})},0);break;case`ArrowLeft`:l&&W.length>0&&(e.preventDefault(),xe(W.length-1));break;case`Backspace`:case`Delete`:if(l&&W.length>0){e.preventDefault();let t=W[W.length-1];De(t)}break}},[v,q,p,Ce,me,f,l,W,De]),He=(0,t.useCallback)(e=>{je(e)},[je]),Ue=(0,t.useCallback)((e,t)=>{switch(e.key){case`Enter`:case` `:e.preventDefault(),je(t);break;case`ArrowDown`:e.preventDefault(),yn(e.currentTarget);break;case`ArrowUp`:e.preventDefault(),I.current&&bn(e.currentTarget,I.current,f);break;case`Escape`:e.preventDefault(),J(!1),R();break;case`Tab`:Me();break}},[je,f,R,Me]),We=(0,t.useCallback)(e=>{De(e),xe(-1),N&&P.current&&(_e(!0),P.current.focus())},[De,N]),Ge=(0,t.useCallback)((e,t)=>{switch(e.stopPropagation(),e.key){case`ArrowLeft`:e.preventDefault(),t>0&&xe(t-1);break;case`ArrowRight`:e.preventDefault(),t<W.length-1?xe(t+1):(xe(-1),N&&P.current?P.current.focus():oe.current?.focus());break;case`Backspace`:case`Delete`:e.preventDefault();{let e=W[t],n=t>=W.length-1?t-1:t;De(e),n>=0?xe(n):(xe(-1),N&&P.current?P.current.focus():oe.current?.focus())}break;case`Tab`:xe(-1);break;case`Escape`:e.preventDefault(),xe(-1),N&&P.current?P.current.focus():oe.current?.focus();break}},[W,N,De]),Ke=(0,t.useCallback)(e=>{Y(e.target.value),Ne(e.target.value)},[Ne]),qe=(0,t.useCallback)(e=>{switch(e.key){case`ArrowDown`:e.preventDefault(),I.current&&I.current.querySelector(`[role="option"]:not([data-disabled]), [data-type="new-option"]`)?.focus();break;case`Tab`:Me();break;case`Escape`:e.preventDefault(),J(!1),R();break}},[R,Me]),Je=(0,t.useCallback)(e=>{je(e)},[je]),Ye=(0,t.useCallback)(e=>{switch(e.key){case`Enter`:case` `:e.preventDefault(),je(e.currentTarget.dataset.value||``);break;case`ArrowDown`:e.preventDefault(),I.current&&xn(I.current);break;case`ArrowUp`:e.preventDefault(),I.current&&bn(e.currentTarget,I.current,f);break;case`Escape`:e.preventDefault(),J(!1),R();break}},[je,f,R]);return(0,t.useEffect)(()=>{if(!q)return;let e=e=>{let t=e.target;L.current&&!L.current.contains(t)&&Me()};return document.addEventListener(`click`,e,!0),()=>{document.removeEventListener(`click`,e,!0)}},[q,Me]),(0,t.useEffect)(()=>{let e=L.current?.closest(`form`);if(!e)return;let t=()=>{window.setTimeout(()=>{if(H(U.current),ce([]),de(``),Y(``),he(null),pe(``),F.current){let e=l?U.current.join(`,`):U.current[0]||``;F.current.value=e}},0)};return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)},[l]),(0,t.useImperativeHandle)(n,()=>({get value(){return F.current?.value??``},set value(e){let t=Array.isArray(e)?e:e?String(e).split(`,`).filter(Boolean):[];V||H(t),F.current&&(F.current.value=t.join(`,`))},focus(){N?P.current?.focus():oe.current?.focus()},blur(){N?P.current?.blur():oe.current?.blur()}}),[V]),{id:r,inputId:ie,listboxId:ae,values:W,inputValue:ue,searchValue:le,options:K,filteredOptions:we,isOpen:q,userInfoMessage:fe,addValueText:me,maxIsReached:Ce,editingSingleValue:ve,inputFocus:ge,focusedTagIndex:be,label:i,multiple:l,maxlength:u,typeahead:d,includeSearch:f,allowUserInput:p,displayValueAs:m,tagPlacement:h,searchPlaceholder:g,placeholder:_,disabled:v,required:y,fullwidth:b,hasError:x,errorMessage:S,helptext:C,helptextDropdown:w,helptextDropdownButton:ee,optionalTag:T,optionalText:E,requiredTag:D,requiredText:O,tagText:te,useWrapper:k,name:A,className:ne,hasCounter:X,inputRef:P,changeInputRef:F,triggerRef:oe,listboxRef:I,wrapperRef:L,handleInputChange:Pe,handleInputKeydown:Fe,handleInputFocus:Ie,handleInputBlur:Le,handleFocusOut:Re,handleInputClick:ze,handlePlaceholderClick:Be,handleSelectOnlyKeydown:Ve,handleOptionClick:He,handleOptionKeydown:Ue,handleTagRemove:We,handleTagKeydown:Ge,handleSearchInput:Ke,handleSearchKeydown:qe,handleNewOptionClick:Je,handleNewOptionKeydown:Ye,onChange:j}}var kn=(0,t.forwardRef)((e,t)=>{let r=On(e,t),i=[`pkt-combobox-component`,r.fullwidth&&`pkt-combobox-component--fullwidth`,r.className].filter(Boolean).join(` `),a=r.allowUserInput||r.typeahead,o=a?r.inputId:`${r.id}-combobox`;return(0,n.jsxs)(`div`,{className:i,ref:r.wrapperRef,id:r.id||void 0,children:[(0,n.jsxs)(rn,{forId:o,hasFieldset:!a,label:r.label||``,helptext:r.helptext,helptextDropdown:r.helptextDropdown,helptextDropdownButton:r.helptextDropdownButton,hasError:r.hasError,errorMessage:r.errorMessage,disabled:r.disabled,optionalTag:r.optionalTag,optionalText:r.optionalText,requiredTag:r.requiredTag,requiredText:r.requiredText,tagText:r.tagText,useWrapper:r.useWrapper,counter:r.hasCounter,counterCurrent:r.values.length,counterMaxLength:r.maxlength,className:`pkt-combobox__wrapper`,children:[(0,n.jsxs)(`div`,{className:`pkt-combobox`,onBlur:r.handleFocusOut,children:[(0,n.jsx)(Tn,{state:r}),(0,n.jsx)(En,{state:r})]}),r.tagPlacement===`outside`&&r.multiple&&(0,n.jsx)(Cn,{state:r,outside:!0})]}),(0,n.jsx)(`input`,{ref:r.changeInputRef,type:`text`,name:r.name||r.id,onChange:r.onChange,tabIndex:-1,"aria-hidden":`true`,className:`pkt-visually-hidden`})]})});kn.displayName=`PktCombobox`;var An={i18n:{nb:{contentPresentation:{title:`Oslo kommune bruker informasjonskapsler`,description:[`For at nettstedet skal fungere og være trygt, bruker Oslo kommune informasjonskapsler. Noen er teknisk nødvendige, mens andre sikrer ulik funksjonalitet.`,`Godtar du alle informasjonskapsler, tillater du også at vi samler inn data om statistikk og brukeradferd. Da hjelper du oss med å lage et bedre nettsted uten at du trenger å dele noe personlig informasjon med oss.`],buttons:{accept:`Godta alle`,reject:`Kun nødvendige`,settings:`Innstillinger for informasjonskapsler`}},contentSettings:{title:`Innstillinger for informasjonskapsler`,description:[`Her kan du velge hvilke typer informasjonskapsler du vil tillate. Tillatelsen gjelder i 90 dager. Husk at nødvendige informasjonskapsler ikke kan velges bort.`,`Du kan når som helst endre innstillingene og finne mer informasjon nederst på nettstedet under «Innstillinger for informasjonskapsler» og «Personvern og informasjonskapsler».`],buttons:{back:`Tilbake`,save:`Lagre innstillinger`}}},en:{contentPresentation:{title:`Before you visit Oslo kommune ...`,description:[`This website uses cookies to make improvements. In this context, we need your consent to measure the traffic on the website in relation to statistics and feedback.`,`To read more about what we use cookies for, go to our privacy declaration which you will find at the bottom of our websites.`],buttons:{accept:`Yes, I accept`,reject:`Only necessary`,settings:`Go to settings`}},contentSettings:{title:`Her kan du aktivt velge mellom ulike informasjonskapsler`,description:[`For å lese mer om hva vi bruker informasjonskapsler til gå til vår personvernserklering som du finner på våre nettsider`],buttons:{back:`Back`,save:`Save settings`}}}},cookies:[{name:`statistics`,defaultValue:null,i18n:{nb:{title:`Statistikk og analyse`,description:`Jeg godtar at Oslo kommune bruker informasjonskapsler til å innhente data om statistikk og brukeradferd.`,buttons:{yes:`Ja`,no:`Nei`}},en:{title:`Statistics and analytics`,description:`Select your preference for statistics and analytics`,buttons:{yes:`Yes`,no:`No`}}}},{name:`survey`,defaultValue:null,i18n:{nb:{title:`Skriftlige tilbakemeldinger`,description:`Jeg godtar at Oslo kommune bruker informasjonskapsler til å vise responsfelt og registrere tilbakemeldinger.`,buttons:{yes:`Ja`,no:`Nei`}},en:{title:`Survey`,description:`Select your preference for survey`,buttons:{yes:`Yes`,no:`No`}}}},{name:`functional`,defaultValue:!0,i18n:{nb:{title:`Funksjonelle informasjonskapsler`,description:`Jeg godtar at Oslo kommune bruker informasjonskapsler for å gjøre ulike funksjoner på nettstedet mulige (for eksempel skjemaer og barnehagevelger).`,buttons:{yes:`Ja`,no:`Nei`}},en:{title:`Functional cookies`,description:`For the website to function optimally, we recommend that you accept these cookies`,buttons:{yes:`Yes`,no:`No`}}}}]},jn=null,Mn=()=>jn||(jn=new Promise((e,t)=>{if(document.querySelector(`#oslo-consent-script`)){e();return}let n=document.createElement(`script`);n.src=`https://cdn.web.oslo.kommune.no/cb/cb-v1.1.0.js`,n.id=`oslo-consent-script`,n.onload=()=>e(),n.onerror=t,document.head.appendChild(n);let r=document.createElement(`link`);r.href=`https://cdn.web.oslo.kommune.no/cb/cb-v1.1.0.css`,r.type=`text/css`,r.rel=`stylesheet`,r.id=`oslo-consent-styles`,document.head.appendChild(r)}),jn),Nn=e=>{if(typeof e!=`string`)return e;try{return JSON.parse(e)}catch{return e}},Pn=e=>Nn(e.value).items.reduce((e,t)=>(e[t.name]=t.consent,e),{}),Fn=(0,t.forwardRef)(function({devMode:e=!1,cookieDomain:r=null,cookieSecure:i=null,cookieExpiryDays:a=null,hotjarId:o=null,googleAnalyticsId:s=null,i18nLanguage:c=`nb`,triggerType:l=`button`,triggerText:u,onToggleConsent:d,...f},p){let m=(0,t.useRef)(d);m.current=d;let h=(0,t.useRef)({devMode:e,cookieDomain:r,cookieSecure:i,cookieExpiryDays:a,hotjarId:o,googleAnalyticsId:s});h.current={devMode:e,cookieDomain:r,cookieSecure:i,cookieExpiryDays:a,hotjarId:o,googleAnalyticsId:s};let g=(0,t.useRef)(()=>{}),_=c in An.i18n?c:`nb`,v=u??An.i18n[_].contentPresentation.buttons.settings;(0,t.useEffect)(()=>{let e=!1,t,n=h.current;window.cookieBanner_googleAnalyticsId=n.googleAnalyticsId,window.cookieBanner_hotjarId=n.hotjarId,n.cookieDomain&&(window.cookieBanner_cookieDomain=n.cookieDomain),n.cookieSecure&&(window.cookieBanner_cookieSecure=n.cookieSecure),n.cookieExpiryDays&&(window.cookieBanner_cookieExpiryDays=n.cookieExpiryDays),n.devMode&&(window.cookieBanner_devMode=n.devMode);let r=e=>{let t=m.current;t&&t(new CustomEvent(`toggle-consent`,{detail:Pn(e),bubbles:!0,cancelable:!1}))};return g.current=()=>{window.document.dispatchEvent(new Event(`CookieBannerReady`,{bubbles:!0,cancelable:!0}));let n=window.cookieBanner,i=window.__cookieEvents;!n||!i||n.cookieConsent.validateConsentCookie().then(a=>{if(e||!a)return;let o=n.cookieConsent.getConsentCookie();window.setTimeout(()=>{e||r({value:o})},0),t&&i.off(`CookieManager.setCookie`,t),t=e=>r(e),i.on(`CookieManager.setCookie`,t)})},Mn().then(()=>{e||g.current()}),()=>{e=!0,t&&window.__cookieEvents?.off(`CookieManager.setCookie`,t)}},[]);let y=e=>{e.preventDefault(),window.cookieBanner?.cookieConsent||g.current(),setTimeout(()=>window.cookieBanner?.openCookieModal())};return l===`link`?(0,n.jsx)(`a`,{...f,ref:p,href:`#`,className:`pkt-link`,onClick:y,children:v}):l===`footerlink`?(0,n.jsxs)(`a`,{...f,ref:p,href:`#`,className:`pkt-footer__link`,onClick:y,children:[(0,n.jsx)(O,{name:`chevron-right`,className:`pkt-footer__link-icon`}),v]}):l===`icon`?(0,n.jsx)(k,{ref:p,skin:`tertiary`,variant:`icon-only`,iconName:`cookie`,onClick:y,children:v}):(0,n.jsx)(k,{ref:p,onClick:y,children:v})});Fn.displayName=`PktConsent`;var In=()=>{let e=navigator.userAgent;return!!(/iP(hone|od|ad)/.test(e)||/Macintosh/.test(e)&&`ontouchend`in document)},Ln=()=>In()?`text`:`date`,Rn=e=>!e||e.length!==2?!0:Ct(e[0],e[1]),zn=(e,t,n,r,i,a)=>({"pkt-input":!0,"pkt-datepicker__input":!0,"pkt-input--fullwidth":e,"pkt-datepicker--hasrangelabels":t,"pkt-datepicker--multiple":n,"pkt-datepicker--range":r,"ios-readonly-hack":i===!1&&a===`text`}),Bn=()=>({"pkt-input-icon":!0,"pkt-btn":!0,"pkt-btn--icon-only":!0,"pkt-btn--tertiary":!0,"pkt-datepicker__calendar-button":!0}),Vn=e=>({"pkt-input-prefix":e,"pkt-hide":!e}),Hn=(e,t,n)=>!t&&!n?Array.isArray(e)?e[0]||``:e:Array.isArray(e)?e.join(`,`):e,Un=(e,t,n=!1)=>{if(!e||!t)return;let r=t.parentElement?.getBoundingClientRect()||t.getBoundingClientRect(),i=n?r.height+30:r.height,a=e.getBoundingClientRect().height,o=n?`calc(100% - 30px)`:`100%`;r&&r.top+a>window.innerHeight&&r.top-a>0&&(o=`calc(100% - ${i}px - ${a}px)`),e.style.top=o},Wn=(e,t,n,r,i,a)=>{let{key:o}=e;o===`,`&&(e.preventDefault(),a?a(e):i&&i()),(o===`Space`||o===` `)&&(e.preventDefault(),t(e)),o===`Enter`&&(e.preventDefault(),n?n():r?r():i&&i())},Gn=({open:e,multiple:r=!1,range:i=!1,weeknumbers:a=!1,withcontrols:o=!1,selected:s=[],earliest:c,latest:l,excludedates:u,excludeweekdays:d,maxMultiple:f,currentmonth:p,today:m,inputRef:h,hasCounter:g=!1,onDateSelected:_,onClose:v})=>{let y=(0,t.useRef)(null),b=(0,t.useRef)(!1);e&&(b.current=!0),(0,t.useEffect)(()=>{e&&Un(y.current,h?.current??null,g)},[e,h,g]);let x=[`pkt-calendar-popup`,e?`show`:`hide`].join(` `),S=e||b.current;return(0,n.jsx)(`div`,{ref:y,className:x,hidden:!e,"aria-hidden":!e,children:S&&(0,n.jsx)(Yt,{multiple:r,range:i,weeknumbers:a,withcontrols:o,selected:s,earliest:c,latest:l,excludedates:u,excludeweekdays:d,maxMultiple:f,currentmonth:p,today:m,onDateSelected:_,onClose:v})})},Kn=({dates:e,dateformat:t,idBase:r,strings:i,onDateRemoved:a})=>{let o=St(e),s=i?.calendar?.buttonAltText??`Slett dato`;return(0,n.jsx)(`div`,{className:`pkt-date-tags pkt-datepicker__tags`,"aria-live":`polite`,children:o.map(e=>{let i=ut(e,t);return(0,n.jsx)(Xt,{id:`${r}${e}-tag`,closeTag:!0,ariaLabel:`${s} ${i}`,onClose:()=>a(e),children:(0,n.jsx)(`time`,{dateTime:e,children:i})},e)})})},qn=({state:e})=>{let{id:t,inputId:r,values:i,dateformat:a,multiple:o,range:s,showRangeLabels:c,disabled:l,readOnly:u,required:d,label:f,name:p,placeholder:m,hasError:h,helptext:g,minStr:_,maxStr:v,inputType:y,isIOSDevice:b,strings:x,inputClasses:S,buttonClasses:C,rangeLabelClasses:w,datepickerInputsClasses:ee,isInputDisabled:T,inputRef:E,inputRefTo:D,btnRef:te,toggleCalendar:k,handleFocus:A,handleSingleInputChange:ne,handleRangeFromChange:j,handleRangeToChange:M,handleRangeBlur:re,handleMultipleBlur:ie,handleTagRemoved:ae,handleSingleKeydown:N,handleRangeFromKeydown:P,handleRangeToKeydown:F,handleMultipleKeydown:oe,restProps:I}=e,L=e=>{e.preventDefault(),k()},R=()=>(0,n.jsxs)(`button`,{ref:te,className:C,type:`button`,onClick:k,disabled:l,"aria-label":x.calendar?.buttonAltText??`Åpne kalender`,children:[(0,n.jsx)(O,{name:`calendar`}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:x.calendar?.buttonAltText??`Åpne kalender`})]});return o?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(Kn,{dates:i,dateformat:a,idBase:t,strings:x,onDateRemoved:ae}),(0,n.jsx)(`div`,{className:`pkt-datepicker__inputs`,children:(0,n.jsxs)(`div`,{className:`pkt-input__container`,children:[(0,n.jsx)(`input`,{...I,ref:E,className:S,type:y,id:r,name:p??t,placeholder:m,readOnly:u||b&&!u,disabled:T,"aria-describedby":g?`${t}-helptext`:void 0,"aria-invalid":h,"aria-errormessage":h?`${t}-error`:void 0,onClick:L,onKeyDown:oe,onFocus:A,onBlur:ie}),R()]})})]}):s?(0,n.jsx)(`div`,{className:ee,children:(0,n.jsxs)(`div`,{className:`pkt-input__container`,children:[c&&(0,n.jsx)(`div`,{className:`pkt-input-prefix`,children:x.generic?.from??`Fra`}),(0,n.jsx)(`input`,{...I,ref:E,className:S,type:y,id:r,name:p?`${p}-from`:`${t}-from`,value:i[0]??``,min:_,max:v,placeholder:m,readOnly:u||b&&!u,disabled:l,required:d,"aria-label":`${f} ${x.generic?.from??`Fra`}`,"aria-describedby":g?`${t}-helptext`:void 0,"aria-invalid":h,"aria-errormessage":h?`${t}-error`:void 0,onClick:L,onKeyDown:P,onFocus:A,onBlur:re,onChange:j}),(0,n.jsx)(`div`,{className:w,id:`${t}-to-label`,children:x.generic?.to??`Til`}),!c&&(0,n.jsx)(`div`,{className:`pkt-input-separator`,children:`–`}),(0,n.jsx)(`input`,{ref:D,className:S,type:y,id:`${t}-to`,name:p?`${p}-to`:`${t}-to`,value:i[1]??``,min:_,max:v,readOnly:u||b&&!u,disabled:l,"aria-label":`${f} ${x.generic?.to??`Til`}`,"aria-invalid":h,onClick:L,onKeyDown:F,onFocus:A,onBlur:re,onChange:M}),R()]})}):(0,n.jsx)(`div`,{className:`pkt-datepicker__inputs`,children:(0,n.jsxs)(`div`,{className:`pkt-input__container`,children:[(0,n.jsx)(`input`,{...I,ref:E,className:S,type:y,id:r,name:p??t,value:i[0]??``,min:_,max:v,placeholder:m,readOnly:u||b&&!u,disabled:l,required:d,"aria-describedby":g?`${t}-helptext`:void 0,"aria-invalid":h,"aria-errormessage":h?`${t}-error`:void 0,onClick:L,onKeyDown:N,onFocus:A,onBlur:void 0,onChange:ne}),R()]})})},Jn={calendar:{buttonAltText:`Åpne kalender`}},Yn={calendar:{buttonAltText:`Åpne kalender`},generic:{from:`Fra`,to:`Til`}},Xn=e=>{if(!e)return[];if(Array.isArray(e))return e.filter(Boolean);if(typeof e==`string`&&e.trimStart().startsWith(`[`))try{let t=JSON.parse(e);if(Array.isArray(t))return t.filter(Boolean)}catch{}return String(e).split(`,`).map(e=>e.trim()).filter(Boolean)};function Zn(e,n){let{id:r,label:i,value:a,defaultValue:o,dateformat:s=`dd.MM.yyyy`,multiple:c=!1,maxlength:l,range:u=!1,showRangeLabels:d=!1,weeknumbers:f=!1,withcontrols:p=!1,excludedates:m,excludeweekdays:h,currentmonth:g,today:_,calendarOpen:v,timezone:y,fullwidth:b=!1,hasFieldset:x=!1,inline:S=!1,helptext:C,helptextDropdown:w,helptextDropdownButton:ee,hasError:T=!1,errorMessage:E,optionalTag:D=!1,optionalText:O,requiredTag:te=!1,requiredText:k,tagText:A,useWrapper:ne=!0,strings:j,disabled:M=!1,readOnly:re=!1,required:ie=!1,name:ae,min:N,max:P,placeholder:F,onChange:oe,onValueChange:I,className:L,...R}=e,z=(0,t.useCallback)(e=>e===void 0?[]:Xn(e),[]),B=a!==void 0,V=typeof o==`number`?void 0:o,[se,H]=(0,t.useState)(()=>z(a??V)),U=B?z(a):se,W=(0,t.useRef)(se);(0,t.useEffect)(()=>{B&&H(z(a))},[a,B,z]);let[G,ce]=(0,t.useState)(v??!1);(0,t.useEffect)(()=>{v!==void 0&&ce(v)},[v]);let K=(0,t.useRef)(null),q=(0,t.useRef)(null),J=(0,t.useRef)(null),le=(0,t.useRef)(null),Y=(0,t.useRef)(null),ue=(0,t.useMemo)(()=>Ln(),[]),de=(0,t.useMemo)(()=>In(),[]),fe=(0,t.useMemo)(()=>j??(u?Yn:Jn),[j,u]),pe=typeof N==`string`?N:N===void 0?void 0:String(N),me=typeof P==`string`?P:P===void 0?void 0:String(P),he=(0,t.useMemo)(()=>{let e=zn(b,d,c,u,re,ue);return Object.entries(e).filter(([,e])=>e).map(([e])=>e).join(` `)},[b,d,c,u,re,ue]),ge=(0,t.useMemo)(()=>{let e=Bn();return Object.entries(e).filter(([,e])=>e).map(([e])=>e).join(` `)},[]),_e=(0,t.useMemo)(()=>{let e=Vn(d);return Object.entries(e).filter(([,e])=>e).map(([e])=>e).join(` `)},[d]),ve=(0,t.useMemo)(()=>[`pkt-datepicker__inputs`,u&&`pkt-input__range-inputs`].filter(Boolean).join(` `),[u,d]),ye=(0,t.useMemo)(()=>{if(g)return g;if(me)return me.slice(0,7)},[g,me]),be=M||c&&l!=null&&U.length>=l,xe=c&&l!=null,Se=`${r}-input`,Ce=U.join(`,`);(0,t.useEffect)(()=>{J.current&&(J.current.value=Ce)},[Ce]),(0,t.useEffect)(()=>{y&&typeof window<`u`&&y!==window.pktTz&&(window.pktTz=y)},[y]);let X=(0,t.useCallback)((e,t=!0)=>{B||H(e),t&&I?.(e)},[B,I]),we=(0,t.useMemo)(()=>Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,`value`)?.set,[]),Z=(0,t.useCallback)(e=>{let t=J.current;!t||!we||(we.call(t,e.join(`,`)),t.dispatchEvent(new Event(`input`,{bubbles:!0})))},[we]),Q=(0,t.useCallback)(()=>{M||ce(e=>!e)},[M]),$=(0,t.useCallback)(()=>{ce(!1)},[]);(0,t.useEffect)(()=>{if(!G)return;let e=e=>{let t=e.target;Y.current&&!Y.current.contains(t)&&!t.closest?.(`.pkt-calendar-popup`)&&$()},t=e=>{e.key===`Escape`&&($(),K.current?.focus())};return document.addEventListener(`click`,e,!0),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`click`,e,!0),document.removeEventListener(`keydown`,t)}},[G,$]);let Te=(0,t.useCallback)(()=>{de&&!G&&ce(!0)},[de,G]),Ee=(0,t.useCallback)(e=>{let t=Xn(Hn(e,c,u));X(t),Z(t),!c&&!u&&($(),K.current?.focus())},[c,u,X,Z,$]),De=(0,t.useCallback)(()=>{$(),K.current?.focus()},[$]),Oe=(0,t.useCallback)(e=>{let t=e.target.value,n=t?[t]:[];X(n),Z(n)},[X,Z]),ke=(0,t.useCallback)(e=>{let t=[e.target.value,U[1]??``].filter(Boolean);X(t),Z(t)},[U,X,Z]),Ae=(0,t.useCallback)(e=>{let t=[U[0]??``,e.target.value].filter(Boolean);X(t),Z(t)},[U,X,Z]),je=(0,t.useCallback)(()=>{U.length===2&&!Rn(U)&&(X([U[0]]),Z([U[0]]))},[U,X,Z]),Me=(0,t.useCallback)(e=>{let t=dt(e),n=pe?dt(pe):null,r=me?dt(me):null;if(t&&!isNaN(t.getTime())&&(!n||t>=n)&&(!r||t<=r)){let t=xt([...U,e],pe,me,m,h),n=[...new Set(t)];X(n),Z(n)}},[U,pe,me,m,h,X,Z]),Ne=(0,t.useCallback)(e=>{let t=e.target;t.value&&=(Me(t.value.split(`,`)[0]),``)},[Me]),Pe=(0,t.useCallback)(e=>{let t=e.target;t.value&&=(Me(t.value.split(`,`)[0]),``)},[Me]),Fe=(0,t.useCallback)(e=>{let t=U.filter(t=>t!==e);X(t),Z(t)},[U,X,Z]),Ie=(0,t.useCallback)(e=>{let t=e?.closest(`form`);t?t.requestSubmit():e?.blur()},[]),Le=(0,t.useCallback)(e=>{Wn(e.nativeEvent,()=>Q(),()=>Ie(K.current),void 0,()=>K.current?.blur())},[Q,Ie]),Re=(0,t.useCallback)(e=>{Wn(e.nativeEvent,()=>Q(),()=>Ie(K.current),()=>q.current?.focus(),()=>K.current?.blur())},[Q,Ie]),ze=(0,t.useCallback)(e=>{Wn(e.nativeEvent,()=>Q(),()=>Ie(q.current),void 0,()=>q.current?.blur())},[Q,Ie]),Be=(0,t.useCallback)(e=>{Wn(e.nativeEvent,()=>Q(),()=>Ie(K.current),void 0,()=>K.current?.blur(),Pe)},[Q,Ie,Pe]);return(0,t.useEffect)(()=>{let e=Y.current?.closest(`form`);if(!e)return;let t=()=>{window.setTimeout(()=>{H(W.current),ce(!1),J.current&&(J.current.value=W.current.join(`,`))},0)};return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)},[]),(0,t.useImperativeHandle)(n,()=>({get value(){return J.current?.value??``},set value(e){H(e?e.split(`,`).filter(Boolean):[]),J.current&&(J.current.value=e??``)},focus(){K.current?.focus()},blur(){K.current?.blur()}}),[]),{id:r,inputId:Se,label:i,values:U,calendarOpen:G,dateformat:s,multiple:c,maxlength:l,range:u,showRangeLabels:d,weeknumbers:f,withcontrols:p,excludedates:m,excludeweekdays:h,disabled:M,readOnly:re,required:ie,name:ae,placeholder:F,fullwidth:b,hasFieldset:x,inline:S,helptext:C,helptextDropdown:w,helptextDropdownButton:ee,hasError:T,errorMessage:E,optionalTag:D,optionalText:O,requiredTag:te,requiredText:k,tagText:A,useWrapper:ne,className:L,minStr:pe,maxStr:me,effectiveCurrentMonth:ye,today:_,inputType:ue,isIOSDevice:de,strings:fe,inputClasses:he,buttonClasses:ge,rangeLabelClasses:_e,datepickerInputsClasses:ve,isInputDisabled:be,hasCounter:xe,inputRef:K,inputRefTo:q,changeInputRef:J,btnRef:le,wrapperRef:Y,onChange:oe,toggleCalendar:Q,hideCalendar:$,handleDateSelected:Ee,handleCalendarClose:De,handleFocus:Te,handleSingleInputChange:Oe,handleRangeFromChange:ke,handleRangeToChange:Ae,handleRangeBlur:je,handleMultipleBlur:Ne,handleTagRemoved:Fe,handleSingleKeydown:Le,handleRangeFromKeydown:Re,handleRangeToKeydown:ze,handleMultipleKeydown:Be,restProps:R}}var Qn=(0,t.forwardRef)((e,t)=>{let r=Zn(e,t);return(0,n.jsxs)(`div`,{className:[`pkt-datepicker`,r.className].filter(Boolean).join(` `),id:r.id||void 0,children:[(0,n.jsx)(rn,{ref:r.wrapperRef,forId:r.inputId,label:r.label,hasFieldset:r.hasFieldset,inline:r.inline,helptext:r.helptext,helptextDropdown:r.helptextDropdown,helptextDropdownButton:r.helptextDropdownButton,hasError:r.hasError,errorMessage:r.errorMessage,disabled:r.disabled,optionalTag:r.optionalTag,optionalText:r.optionalText,requiredTag:r.requiredTag,requiredText:r.requiredText,tagText:r.tagText,useWrapper:r.useWrapper,counter:r.hasCounter,counterCurrent:r.values.length,counterMaxLength:r.maxlength,children:(0,n.jsx)(qn,{state:r})}),(0,n.jsx)(Gn,{open:r.calendarOpen,multiple:r.multiple,range:r.range,weeknumbers:r.weeknumbers,withcontrols:r.withcontrols,selected:r.values,earliest:r.minStr,latest:r.maxStr,excludedates:r.excludedates,excludeweekdays:r.excludeweekdays,maxMultiple:r.maxlength,currentmonth:r.effectiveCurrentMonth,today:r.today,inputRef:r.inputRef,hasCounter:r.hasCounter,onDateSelected:r.handleDateSelected,onClose:r.handleCalendarClose}),(0,n.jsx)(`input`,{ref:r.changeInputRef,type:`text`,name:r.name,onChange:r.onChange,tabIndex:-1,"aria-hidden":`true`,className:`pkt-visually-hidden`})]})});Qn.displayName=`PktDatepicker`;var $n=`https://cdn.web.oslo.kommune.no/header-footer/header-footer.json`,er={hours:`Timer`,minutes:`Minutter`,openPicker:`Åpne tidspunkt-velger`,prevTime:`Forrige tidspunkt`,nextTime:`Neste tidspunkt`,selectTime:`Velg tidspunkt`},tr={dropZoneDragMultiple:`Dra filer hit for å laste dem opp eller`,dropZoneDragSingle:`Dra en fil hit for å laste den opp eller`,dropZoneDragMultipleThumbnail:`Dra bilder hit for å laste dem opp eller`,dropZoneDragSingleThumbnail:`Dra et bilde hit for å laste det opp eller`,dropZoneDragActiveMultiple:`Slipp filene her`,dropZoneDragActiveSingle:`Slipp filen her`,dropZoneDragActiveMultipleThumbnail:`Slipp bildene her`,dropZoneDragActiveSingleThumbnail:`Slipp bildet her`,dropZoneOpenFileDialogMultiple:`velg filer`,dropZoneOpenFileDialogSingle:`velg en fil`,dropZoneOpenFileDialogMultipleThumbnail:`velg fra kamerarull`,dropZoneOpenFileDialogSingleThumbnail:`velg fra kamerarull`,supportedFormatsPrefix:`Format:`,invalidFormatDefault:e=>`Ugyldig filtype. Tillatte formater: ${e}`,sizeTooLargeDefault:e=>`Filen er for stor. Maks størrelse er ${e}.`,requiredMissing:`Du må laste opp minst én fil.`,genericValidationRejection:`Filen ble avvist av validering.`,unknownFilename:`Ukjent fil`,fileLabel:e=>e===1?`fil`:`filer`,srFileAdded:e=>`Filen «${e}» er lagt til`,srFilesAdded:e=>`${e} filer er lagt til`,srFilesUploadedOfTotal:(e,t,n)=>`${e} av ${t} ${n} lastet opp`,srFilesFailedOfTotal:(e,t,n)=>`Feil ved opplasting: ${e} av ${t} ${n} feilet`};function nr(e){if(e==null||e===``)return;if(typeof e==`number`)return Number.isFinite(e)&&e>0?e:void 0;let t=String(e).trim(),n=Number(t);if(!Number.isNaN(n)&&n>0)return n;let r=t.match(/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!r){console.warn(`PktFileUpload: Invalid maxFileSize format "${t}". Use format like "5MB", "500KB", "1GB", or bytes.`);return}let i=parseFloat(r[1]);switch(r[2].toUpperCase()){case`B`:return i;case`KB`:return i*1024;case`MB`:return i*1024*1024;case`GB`:return i*1024*1024*1024;default:return}}function rr(e){return e<1024?`${Math.round(e)} B`:e<1024*1024?`${Math.round(e/1024)} KB`:e<1024*1024*1024?`${Math.round(e/(1024*1024))} MB`:`${Math.round(e/(1024*1024*1024))} GB`}function ir(e){return Array.isArray(e)?e.map(e=>String(e).trim().toLowerCase()).filter(Boolean):[]}function ar(e,t,n){let r=e.toLowerCase().replace(/^\./,``);if(r.includes(`/`)){if(r.endsWith(`/*`)){let e=r.replace(`/*`,``);return n.startsWith(`${e}/`)}return n===r}return t===r}function or(e,t){let n=ir(t);if(n.length===0)return!0;let r=e.name.split(`.`).pop()?.toLowerCase()??``,i=e.type.toLowerCase();return n.some(e=>ar(e,r,i))}function sr(e,t){let n=(e??``).trim();if(n)return n;let r=ir(t);return r.length===0?``:r.map(e=>e.includes(`/`)||e.startsWith(`.`)?e:`.${e}`).join(`, `)}function cr(e,t,n){return((e??``).trim()||t).replace(/\{(\w+)\}/g,(e,t)=>n[t]??`{${t}}`)}function lr(e,t){let n=ir(t.allowedFormats);if(n.length>0&&!or(e,n)){let e=n.join(`, `),r=`Ugyldig filtype. Tillatte formater: ${e}`;return cr(t.formatErrorMessage,r,{formats:e})}let r=nr(t.maxFileSize);if(r!==void 0&&e.size>r){let e=rr(r),n=`Filen er for stor. Maks størrelse er ${e}.`;return cr(t.sizeErrorMessage,n,{maxSize:e})}if(t.onFileValidation){let n=t.onFileValidation(e);if(n)return n}return null}function ur(e){let t=e.file;if(t?.type?.startsWith(`image/`))return!0;let n=e.attributes?.targetFilename||t?.name||``;return/\.(jpe?g|png|gif|webp|heic|heif|bmp|svg)$/i.test(n)}function dr(e){return typeof e==`number`?`in-progress`:e===`error`?`error`:`idle`}function fr(e,t,n){let r={"in-progress":0,error:1,idle:2};return e.map(e=>{let r=t?.find(t=>t.fileId===e.fileId);return{...e,progress:r?.progress??(n===`form`?`done`:`queued`),errorMessage:r?.errorMessage,showProgress:r?.showProgress,lastProgress:r?.lastProgress}}).sort((e,t)=>r[dr(e.progress)]-r[dr(t.progress)])}function pr(e){if(!e)return[];let t=[`a[href]:not([tabindex="-1"])`,`button:not([disabled]):not([tabindex="-1"])`,`input:not([disabled]):not([type="hidden"]):not([tabindex="-1"])`,`select:not([disabled]):not([tabindex="-1"])`,`textarea:not([disabled]):not([tabindex="-1"])`,`[tabindex]:not([tabindex="-1"])`].join(`, `);return Array.from(e.querySelectorAll(t)).filter(e=>!e.hasAttribute(`inert`))}function mr(e,t){if(e.key!==`Tab`)return!1;let n=pr(t);if(n.length===0)return e.preventDefault(),!0;let r=n[0],i=n[n.length-1],a=(t?.ownerDocument??document).activeElement,o=!!a&&n.includes(a);return e.shiftKey?!o||a===r?(e.preventDefault(),i.focus(),!0):!1:!o||a===i?(e.preventDefault(),r.focus(),!0):!1}function hr(e,t){return!t||t<=0||e.length<=t+3?null:{head:e.slice(0,e.length-t),tail:e.slice(-t)}}function gr(e,t,n){return n<=0?0:t===`prev`?e<=0?n-1:e-1:e>=n-1?0:e+1}function _r(e,t){let n=e.length;if(n===0||!t||t.length===0)return{totalCount:n,uploadedCount:0,failedCount:0};let r=0,i=0;for(let n of e){let e=t.find(e=>e.fileId===n.fileId);e?.progress===`done`?r++:e?.progress===`error`&&i++}return{totalCount:n,uploadedCount:r,failedCount:i}}var vr=`.jpeg, .jpg, .png, .gif, .webp, .heic`;function yr(e,t=tr.unknownFilename){return e.attributes?.targetFilename||e.file?.name||t}var br=()=>(`00000000000000000`+(Math.random()*0x10000000000000000).toString(16)).slice(-16),xr=()=>{let e=br(),t=br();return e.slice(0,8)+`-`+e.slice(8,12)+`-4`+e.slice(13)+`-a`+t.slice(1,4)+`-`+t.slice(4)},Sr=class{fileId;file;attributes;constructor(e,t){this.fileId=t||xr(),this.file=e,this.attributes={targetFilename:e.name}}},Cr=(0,t.createContext)({}),wr=(0,t.forwardRef)(({id:e,multiple:r,value:i,onFilesAdded:a=()=>{},name:o,uploadStrategy:s,accept:c,isThumbnailView:l=!1,disabled:u=!1,hasVisibleLabel:d=!1,...f},p)=>{let m=(0,t.useRef)(null),h=typeof c==`string`&&c.trim().length>0?c:void 0,_=(0,t.useMemo)(()=>h?h.split(/\s*,\s*/).map(e=>e.trim()).filter(Boolean).join(`, `).toUpperCase():``,[h]);(0,t.useImperativeHandle)(p,()=>m.current);let[v,y]=(0,t.useState)(!1),b=(0,t.useMemo)(()=>l?r?{dragInactive:tr.dropZoneDragMultipleThumbnail,dragActive:tr.dropZoneDragActiveMultipleThumbnail,openFileDialog:tr.dropZoneOpenFileDialogMultipleThumbnail}:{dragInactive:tr.dropZoneDragSingleThumbnail,dragActive:tr.dropZoneDragActiveSingleThumbnail,openFileDialog:tr.dropZoneOpenFileDialogSingleThumbnail}:r?{dragInactive:tr.dropZoneDragMultiple,dragActive:tr.dropZoneDragActiveMultiple,openFileDialog:tr.dropZoneOpenFileDialogMultiple}:{dragInactive:tr.dropZoneDragSingle,dragActive:tr.dropZoneDragActiveSingle,openFileDialog:tr.dropZoneOpenFileDialogSingle},[r,l]),x=(0,t.useCallback)(e=>{if(m.current)try{m.current.files=Tr(e)}catch{}},[m.current,i]);(0,t.useEffect)(()=>{x(i)},[m,i]);let S=(0,t.useCallback)(e=>{a(e.map(e=>new Sr(e))),m.current&&(m.current.value=``)},[a]),C=e=>{let t=e.target.files;if(t.length===0){x(i);return}S(Array.from(t))},w=e=>{S(e)};return(0,n.jsxs)(`div`,{onDrop:e=>{if(e.preventDefault(),y(!1),u)return;let t=e.dataTransfer.files;w(Array.from(t))},onDragOver:e=>{e.preventDefault(),!u&&y(!0)},onDragLeave:()=>{y(!1)},onClick:(0,t.useCallback)(e=>{u||e.target.closest(`.pkt-fileupload__drop-zone__placeholder__title__open-file-dialog`)||m.current?.click()},[u]),className:(0,g.default)(`pkt-fileupload__drop-zone`,{"pkt-fileupload__drop-zone--drag-active":v,"pkt-fileupload__drop-zone--disabled":u}),children:[(0,n.jsx)(`input`,{...f,id:e,type:`file`,ref:m,multiple:r,onChange:C,accept:h,disabled:u,name:s===`form`&&o||void 0,"aria-label":d?void 0:r?`Velg filer`:`Velg fil`}),s===`custom`&&(0,n.jsx)(n.Fragment,{children:i?.map(e=>(0,n.jsx)(`input`,{type:`hidden`,name:o,value:e.fileId},e.fileId))}),(0,n.jsxs)(`div`,{className:`pkt-fileupload__drop-zone__placeholder`,children:[(0,n.jsx)(O,{name:`attachment`,className:`pkt-fileupload__drop-zone__placeholder__icon`,"aria-hidden":`true`}),(0,n.jsx)(`p`,{className:`pkt-fileupload__drop-zone__placeholder__title`,children:v?`${b.dragActive} ...`:(0,n.jsxs)(n.Fragment,{children:[b.dragInactive,` `,(0,n.jsx)(`button`,{className:`pkt-fileupload__drop-zone__placeholder__title__open-file-dialog`,onClick:e=>{e.preventDefault(),e.stopPropagation(),m.current?.click()},type:`button`,children:b.openFileDialog})]})}),_?(0,n.jsxs)(`p`,{className:`pkt-fileupload__drop-zone__placeholder__formats`,children:[tr.supportedFormatsPrefix,` `,_]}):null]})]})}),Tr=e=>{let t=new DataTransfer;for(let n of e)t.items.add(n.file);return t.files},Er=(0,t.forwardRef)(({id:e,ariaDescribedby:r,ariaLabelledby:i,counter:a,counterMaxLength:o,className:s,disabled:c,errorMessage:l,hasError:u,helptext:d,helptextDropdown:f,helptextDropdownButton:p,inline:m,fullwidth:h=!1,label:g,name:_,optionalTag:v=!1,optionalText:y,requiredTag:b=!1,requiredText:x,tagText:S=null,placeholder:C,rows:w,useWrapper:ee=!0,onChange:T,value:E,autoComplete:D=`off`,minLength:O,maxLength:te,readOnly:k,skipForwardTestid:A=!1,...ne},j)=>{let M=[s,`pkt-textinput`,`pkt-textarea`].join(` `),re=`${e}-input`,ie=`${re}-label`,ae=i||ie,[N,P]=(0,t.useState)(0),F=e=>{a&&P(e.currentTarget?.value?.length||0),T&&T(e)};return(0,t.useEffect)(()=>{E!==void 0&&P(E?.length||0)},[E]),(0,n.jsx)(rn,{ariaDescribedby:r,className:M,disabled:c,errorMessage:l,forId:re,hasError:u,helptext:d,helptextDropdown:f,helptextDropdownButton:p,inline:m,label:g,optionalTag:v,optionalText:y,requiredTag:b,requiredText:x,tagText:S,useWrapper:ee,counter:a,counterCurrent:N,counterMaxLength:o,children:(0,n.jsx)(`textarea`,{ref:e=>{P(e?.value?.length||0),typeof j==`function`&&j(e)},className:`pkt-input ${h?`pkt-input--fullwidth`:``} ${o&&N>o?`pkt-input--counter-error`:``}`,name:`${_||e}`,id:re,placeholder:C,disabled:c,rows:w,"aria-labelledby":ae,"aria-invalid":u,"aria-errormessage":`${e}-error`,...ne,onChange:F,value:E,autoComplete:D,minLength:O,maxLength:te,readOnly:k,"data-skip-forward-testid":A?`true`:void 0})})});Er.displayName=`PktTextarea`;var Dr=`comments`,Or=e=>{let t=new Date(e);return Number.isNaN(t.getTime())?e:`${String(t.getDate()).padStart(2,`0`)}.${String(t.getMonth()+1).padStart(2,`0`)}.${t.getFullYear()} kl. ${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}`},kr=({fileItem:e,disabled:r,closeOperationUi:i,onAddComment:a,existingComment:o})=>{let s=(0,t.useRef)(null),c=!!o;return(0,t.useLayoutEffect)(()=>{let e=setTimeout(()=>s.current?.focus({preventScroll:!0}),0);return()=>clearTimeout(e)},[e.fileId]),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(Er,{autoFocus:!0,label:c?`Rediger kommentar`:`Legg til kommentar`,name:`comment-${e.fileId}`,className:`pkt-fileupload__queue-display__item__comment-input`,placeholder:`Skriv inn kommentar`,rows:2,id:`comment-${e.fileId}`,ref:s,disabled:r,defaultValue:o?.text}),(0,n.jsx)(k,{skin:`secondary`,size:`small`,disabled:r,onClick:()=>{let e=s.current?.value?.trim();e&&a({text:e,timestamp:new Date().toISOString()}),i()},children:c?`Lagre kommentar`:`Legg til kommentar`}),(0,n.jsx)(k,{skin:`tertiary`,size:`small`,disabled:r,onClick:i,children:`Avbryt`})]})},Ar=({comment:e,disabled:t,onDeleteComment:r,onEditComment:i})=>(0,n.jsx)(`div`,{className:`pkt-fileupload__queue-display__item__comments`,children:(0,n.jsxs)(`div`,{className:`pkt-fileupload__queue-display__item__comment`,children:[(0,n.jsxs)(`div`,{className:`pkt-fileupload__queue-display__item__comment__content`,children:[(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__comment__text`,"aria-label":`Kommentar tekst`,children:e.text}),(0,n.jsx)(`time`,{className:`pkt-fileupload__queue-display__item__comment__time`,children:Or(e.timestamp)})]}),(0,n.jsxs)(`div`,{className:`pkt-fileupload__queue-display__item__comment__actions`,children:[(0,n.jsx)(`button`,{type:`button`,className:`pkt-fileupload__queue-display__item__comment__action`,onClick:i,disabled:t,"aria-label":`Rediger kommentar`,children:(0,n.jsx)(O,{name:`edit`})}),(0,n.jsx)(`button`,{type:`button`,className:`pkt-fileupload__queue-display__item__comment__action`,onClick:r,disabled:t,"aria-label":`Slett kommentar`,children:(0,n.jsx)(O,{name:`trash-can`})})]})]})}),jr=({comments:e})=>(0,n.jsx)(`input`,{type:`hidden`,name:`${(0,t.useContext)(Cr).name}-comments`,value:e?JSON.stringify(e):``}),Mr=e=>e.getAttribute(Dr)??[],Nr={id:`comment`,title:e=>(e.attributes?.[Dr]??[]).length>0?``:`Legg til kommentar`,ariaLabel:`Legg til kommentar`,renderExtendedUI:e=>{let t=Mr(e)[0];return(0,n.jsx)(kr,{fileItem:e.file,disabled:e.disabled,closeOperationUi:e.close,onAddComment:t=>{e.setAttribute(Dr,[t])},existingComment:t})},renderContent:e=>{if(e.isActive)return null;let t=Mr(e)[0];return t?(0,n.jsx)(Ar,{comment:t,disabled:e.disabled,onEditComment:e.activate,onDeleteComment:()=>e.setAttribute(Dr,void 0)}):null},renderHidden:e=>(0,n.jsx)(jr,{comments:e.getAttribute(Dr)},`comments${e.file.fileId}`)},Pr=e=>({id:`remove`,title:`Slett`,ariaLabel:`Slett fil`,onClick:({file:t})=>e(t.fileId)}),Fr=({initialValue:e,disabled:r,onSave:i,onCancel:a})=>{let o=(0,t.useRef)(null),s=(0,t.useId)(),c=()=>i(o.current?.value??``);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`label`,{htmlFor:s,className:`pkt-sr-only`,children:`Endre filnavn`}),(0,n.jsx)(`input`,{id:s,ref:o,type:`text`,autoFocus:!0,disabled:r,defaultValue:e,className:`pkt-fileupload__queue-display__item__rename-input`,onKeyDown:e=>{e.key===`Enter`&&(e.preventDefault(),e.stopPropagation(),c()),e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),a())}}),(0,n.jsx)(k,{skin:`secondary`,size:`small`,disabled:r,onClick:c,children:`Lagre`}),(0,n.jsx)(k,{skin:`tertiary`,size:`small`,disabled:r,onClick:a,children:`Avbryt`})]})},Ir=({targetFilename:e})=>(0,n.jsx)(`input`,{type:`hidden`,name:`${(0,t.useContext)(Cr).name}-targetFilename`,value:e}),Lr=e=>e.getAttribute(`targetFilename`)||yr(e.file,``),Rr={id:`rename`,title:`Rediger`,ariaLabel:`Rediger filnavn`,renderInlineUI:e=>(0,n.jsx)(Fr,{initialValue:Lr(e),disabled:e.disabled,onSave:t=>{let n=t.trim();n&&e.setAttribute(`targetFilename`,n),e.close()},onCancel:e.close}),renderHidden:e=>(0,n.jsx)(Ir,{targetFilename:Lr(e)},`rename${e.file.fileId}`)},zr=(e,n)=>{let r=(0,t.useCallback)((t,n)=>e.find(e=>e.fileId===t)?.attributes?.[n],[e]),i=(0,t.useCallback)((t,r,i)=>{let a=e.find(e=>e.fileId===t);if(!a)return;let o={...a.attributes,[r]:i};i===void 0&&delete o[r],n(t,{attributes:o})},[n,e]);return{fileAttributes:(0,t.useMemo)(()=>e=>({get:t=>r(t,e),set:(t,n)=>i(t,e,n)}),[r,i]),buildAttributeAccessors:(0,t.useCallback)(e=>({getAttribute:t=>r(e,t),setAttribute:(t,n)=>i(e,t,n)}),[r,i])}},Br=e=>{let[n,r]=(0,t.useState)(!1),[i,a]=(0,t.useState)(0),o=(0,t.useRef)(null);return{isOpen:n,currentIndex:i,modalRef:o,open:(0,t.useCallback)(t=>{let n=e.findIndex(e=>e.fileId===t);n>=0&&(a(n),r(!0),o.current?.showModal())},[e]),close:(0,t.useCallback)(()=>{r(!1),o.current?.close()},[]),navigate:(0,t.useCallback)(t=>{e.length!==0&&a(n=>gr(n,t,e.length))},[e.length])}},Vr=e=>{let[n,r]=(0,t.useState)({});return(0,t.useEffect)(()=>{r(t=>{let n=new Set(e.map(e=>e.id)),r=!1,i={};for(let[e,a]of Object.entries(t))n.has(a)?i[e]=a:r=!0;return r?i:t})},[e]),{getActivated:(0,t.useCallback)(t=>{let r=n[t];if(r)return e.find(e=>e.id===r)},[n,e]),activate:(0,t.useCallback)((e,t)=>{r(n=>({...n,[e]:t.id}))},[]),close:(0,t.useCallback)(e=>{r(t=>{if(!(e in t))return t;let n={...t};return delete n[e],n})},[])}},Hr=(e,{uploadStrategy:n,required:r,currentFileCount:i,onMissingFiles:a})=>{(0,t.useEffect)(()=>{if(n!==`custom`||!r)return;let t=e.current?.form;if(!t)return;let o=e=>{i>0||(e.preventDefault(),a())};return t.addEventListener(`submit`,o),()=>{t.removeEventListener(`submit`,o)}},[e,n,r,i,a])},Ur=()=>(`00000000000000000`+(Math.random()*0x10000000000000000).toString(16)).slice(-16),Wr=()=>{let e=Ur(),t=Ur();return e.slice(0,8)+`-`+e.slice(8,12)+`-4`+e.slice(13)+`-a`+t.slice(1,4)+`-`+t.slice(4)},Gr=(0,t.forwardRef)(({ariaLabel:e,ariaLabelledby:r,ariaLive:i=`polite`,ariaValueText:a,id:o,role:s=`progressbar`,skin:c=`dark-blue`,statusPlacement:l=`following`,statusType:u=`none`,title:d,titlePosition:f=`left`,valueCurrent:p=0,valueMax:m=100,valueMin:h=0,className:_,...v},y)=>{let b=(0,t.useMemo)(()=>Wr(),[]),x=o||b,S=(0,t.useRef)(null),[C,w]=(0,t.useState)(0);(0,t.useEffect)(()=>{S.current&&w(S.current.getBoundingClientRect().width||0)},[p]);let ee=m-h,T=Math.round(u===`fraction`?p/ee*100:(p-h)/ee*100),E=`${p} av ${ee}`,D=u===`fraction`&&!a?`${p} av ${m-h}`:a||void 0,O=e?void 0:r||`${x}-title`;return(0,n.jsx)(`div`,{ref:y,id:x,role:s,"aria-live":i,"aria-atomic":`true`,"aria-valuenow":p,"aria-valuemin":h,"aria-valuemax":m,"aria-valuetext":D,"aria-label":e||void 0,"aria-labelledby":O,className:(0,g.default)(`pkt-progressbar`,_),...v,children:(0,n.jsxs)(`div`,{className:`pkt-progressbar__container`,style:{"--pkt-progress-label-width":`${C}px`,"--pkt-progress-width":`${T}%`},children:[d&&(0,n.jsx)(`p`,{id:`${x}-title`,className:(0,g.default)(`pkt-progressbar__title`,{"pkt-progressbar__title-center":f===`center`}),children:d}),(0,n.jsx)(`div`,{className:`pkt-progressbar__bar-wrapper`,children:(0,n.jsx)(`div`,{className:(0,g.default)(`pkt-progressbar__bar`,`pkt-progressbar__bar--${c}`)})}),u!==`none`&&(0,n.jsx)(`div`,{className:(0,g.default)(`pkt-progressbar__status`,{"pkt-progressbar__status--center":l===`center`}),children:(0,n.jsx)(`span`,{ref:S,className:(0,g.default)({"pkt-progressbar__status-placement--following":l===`following`,"pkt-progressbar__status-placement--center":l===`center`,"pkt-progressbar__status-placement--left":l===`left`}),children:u===`percentage`?`${T}%`:E})})]})})});Gr.displayName=`PktProgressbar`;var Kr=`pkt-modal--open`,qr=`data-pkt-modal-open-count`,Jr=()=>{let e=document.body.getAttribute(qr),t=e?parseInt(e,10):0;return Number.isFinite(t)&&t>0?t:0},Yr=e=>{e<=0?(document.body.removeAttribute(qr),document.body.classList.remove(Kr)):(document.body.setAttribute(qr,String(e)),document.body.classList.add(Kr))},Xr=e=>{e.locked||(e.locked=!0,Yr(Jr()+1))},Zr=e=>{e.locked&&(e.locked=!1,Yr(Jr()-1))},Qr=()=>({locked:!1}),$r=(0,t.forwardRef)(({children:e,className:r,open:i=!1,headingText:a=``,hideCloseButton:o=!1,closeOnBackdropClick:s=!1,size:c=`medium`,removePadding:l=!1,closeButtonSkin:u=`blue`,variant:d=`dialog`,drawerPosition:f=`right`,transparentBackdrop:p=!1,onClose:m,...h},_)=>{let v=(0,t.useRef)(null),y=(0,t.useRef)(Qr()),b=(0,t.useCallback)(e=>{v.current=e,typeof _==`function`?_(e):_&&(_.current=e)},[_]),x=(0,t.useCallback)(()=>{v.current?.open&&(v.current.close(),Zr(y.current),m?.())},[m]);(0,t.useEffect)(()=>{i?(v.current?.open||v.current?.showModal(),Xr(y.current)):(v.current?.open&&v.current.close(),Zr(y.current))},[i]),(0,t.useEffect)(()=>{let e=y.current;return()=>{Zr(e)}},[]);let S=(0,t.useCallback)(e=>{s&&e.target===v.current&&x()},[s,x]),C=(0,t.useCallback)(()=>{Zr(y.current),m?.()},[m]),w=u===`blue`,ee=(0,g.default)({"pkt-modal":!0,"pkt-modal--removePadding":l,"pkt-modal--noHeadingText":!a,"pkt-modal--noShadow":u===`yellow-filled`,"pkt-modal--transparentBackdrop":p,[`pkt-modal--${c}`]:c,[`pkt-modal__${d}`]:d,[`pkt-modal__drawer--${f}`]:d===`drawer`},r);return(0,n.jsx)(`dialog`,{...h,className:ee,ref:b,"aria-labelledby":a?`pkt-modal__headingText`:void 0,"aria-describedby":`pkt-modal__content`,onClick:S,onClose:C,children:(0,n.jsxs)(`div`,{className:`pkt-modal__wrapper`,children:[(a||!o)&&(0,n.jsxs)(`div`,{className:`pkt-modal__header`,children:[(0,n.jsx)(`div`,{className:`pkt-modal__header-background`}),a?(0,n.jsx)(`h1`,{id:`pkt-modal__headingText`,className:`pkt-modal__headingText pkt-txt-24`,children:a}):(0,n.jsx)(`div`,{className:`pkt-modal__headingText`}),o?(0,n.jsx)(`div`,{className:`pkt-modal__noCloseButton`}):(0,n.jsx)(`div`,{className:(0,g.default)(`pkt-modal__closeButton`,{[`pkt-modal__closeButton--${u}`]:!0}),children:(0,n.jsx)(k,{onClick:x,"aria-label":`close`,iconName:`close`,variant:`icon-only`,size:`medium`,skin:w?`tertiary`:`primary`,children:`Lukk`})})]}),(0,n.jsx)(`div`,{className:`pkt-modal__container`,children:(0,n.jsx)(`div`,{id:`pkt-modal__content`,className:`pkt-modal__content pkt-txt-18-light`,children:e})})]})})});$r.displayName=`PktModal`;var ei=(0,t.createContext)({tail:5}),ti=({children:e,tail:r})=>{let i=(0,t.useContext)(ei),a=hr(e,r===void 0?i.tail:r);return a?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__title__head`,"data-pkt-truncate-part":`first`,children:a.head}),(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__title__tail`,"data-pkt-truncate-part":`tail`,children:a.tail})]}):(0,n.jsx)(`span`,{"data-pkt-truncate-part":`first`,children:e})},ni=e=>(0,n.jsx)(`button`,{type:`button`,onClick:e.onClick,disabled:e.disabled,className:`pkt-fileupload__queue-display__item__cancel-button`,"aria-label":e.ariaLabel||`Avbryt opplasting`,children:e.label||`Avbryt`}),ri=()=>(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__loading-text`,"aria-label":`Laster opp fil`,children:`Laster opp`}),ii=({cancelTransfer:e,transferItem:t,disabled:r=!1})=>{let i=t.showProgress??t.progress!==0;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(O,{name:`document-text`,className:`pkt-fileupload__queue-display__item__icon pkt-icon--medium`,"aria-hidden":`true`}),(0,n.jsxs)(`p`,{className:`pkt-fileupload__queue-display__item__title`,"aria-label":`Filnavn`,children:[(0,n.jsx)(ti,{children:yr(t)}),(0,n.jsxs)(`span`,{className:`pkt-fileupload__queue-display__item__filesize`,children:[` `,`(`,rr(t.file.size),`)`]})]}),(0,n.jsx)(ni,{onClick:e,disabled:r}),i?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(Gr,{valueCurrent:t.progress*100,statusType:`none`,valueMax:100,statusPlacement:`following`,className:`pkt-fileupload__queue-display__item__progress`}),(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__percentage`,"aria-hidden":`true`,children:`${Math.round(t.progress*100)}%`})]}):(0,n.jsx)(ri,{})]})},ai=({transferItem:e})=>(0,n.jsxs)(`p`,{className:`pkt-fileupload__queue-display__item__title`,children:[(0,n.jsx)(ti,{children:yr(e)}),e.file&&(0,n.jsxs)(`span`,{className:`pkt-fileupload__queue-display__item__filesize`,children:[` `,`(`,rr(e.file.size),`)`]})]}),oi=({transferItem:e,onRemove:t,disabled:r})=>{let i=(e.lastProgress??1)*100;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(O,{className:`pkt-fileupload__queue-display__item__icon pkt-icon--medium`,name:`alert-error`,"aria-hidden":`true`}),(0,n.jsx)(ai,{transferItem:e}),(0,n.jsx)(ni,{onClick:t,label:`Fjern`,ariaLabel:`Fjern fil som feilet under opplasting`,disabled:r}),(0,n.jsx)(Gr,{valueCurrent:i,statusType:`none`,valueMax:100,statusPlacement:`following`,className:`pkt-fileupload__queue-display__item__progress pkt-fileupload__queue-display__item__progress--error`}),e.errorMessage&&(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__error-message`,children:e.errorMessage})]})},si=({transferItem:e,onRemove:t,disabled:r})=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(O,{className:`pkt-fileupload__queue-display__item__icon pkt-icon--medium`,name:`alert-error`,"aria-hidden":`true`}),(0,n.jsx)(ai,{transferItem:e}),(0,n.jsx)(ni,{onClick:t,label:`Fjern`,ariaLabel:`Fjern fil som feilet under opplasting`,disabled:r}),e.errorMessage&&(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__error-message`,children:e.errorMessage})]}),ci=({transferItem:e,onRemove:t,disabled:r})=>e.showProgress?(0,n.jsx)(oi,{transferItem:e,onRemove:t,disabled:r}):(0,n.jsx)(si,{transferItem:e,onRemove:t,disabled:r}),li=({operation:e,context:t})=>{let r=typeof e.title==`function`?e.title(t.file):e.title;return r?(0,n.jsx)(`button`,{type:`button`,className:`pkt-fileupload__queue-display__item__operation`,onClick:()=>{(e.renderInlineUI||e.renderExtendedUI)&&t.activate(),e.onClick?.(t)},disabled:t.disabled,"aria-label":typeof e.ariaLabel==`function`?e.ariaLabel(t.file):e.ariaLabel,children:r}):null},ui=({transferItem:e})=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(O,{name:`document-text`,className:`pkt-fileupload__queue-display__item__icon pkt-icon--medium`,"aria-hidden":`true`}),(0,n.jsx)(ai,{transferItem:e})]}),di=({transferItem:e,onPreviewClick:r})=>{let[i,a]=(0,t.useState)(null),[o,s]=(0,t.useState)(!1),c=e.file;(0,t.useEffect)(()=>{if(s(!1),c.type.startsWith(`image/`)){let e=URL.createObjectURL(c);return a(e),()=>{URL.revokeObjectURL(e)}}a(null)},[c]);let l=i&&!o&&(0,n.jsx)(`img`,{src:i,alt:e.attributes.targetFilename,onError:()=>s(!0)})||(0,n.jsx)(O,{name:`document-text`,className:`pkt-fileupload__queue-display__item__icon pkt-icon--medium`}),u=!!r;return(0,n.jsxs)(`div`,{className:`pkt-fileupload__queue-display__item__thumbnail${i&&!o?``:` pkt-fileupload__queue-display__item__thumbnail--fallback`}`,children:[(0,n.jsxs)(k,{className:`pkt-fileupload__queue-display__item__thumbnail__image-wrapper`,"aria-label":`Forhåndsvis bilde ${e.attributes.targetFilename}`,type:`button`,skin:`secondary`,onClick:r,children:[u&&(0,n.jsx)(O,{name:`expand`,className:`pkt-fileupload__queue-display__item__thumbnail__expand-icon`,"aria-hidden":`true`}),l]}),(0,n.jsx)(`span`,{className:`pkt-fileupload__queue-display__item__thumbnail__title`,children:(0,n.jsx)(ti,{children:e.attributes.targetFilename})})]})},fi=({isOpen:e,images:r,currentIndex:i,onClose:a,onNavigate:o,modalRef:s})=>{let[c,l]=(0,t.useState)(null),[u,d]=(0,t.useState)(!1),f=r[i],p=r.length>1;return(0,t.useEffect)(()=>{if(d(!1),f&&f.file.type.startsWith(`image/`)){let e=URL.createObjectURL(f.file);return l(e),()=>URL.revokeObjectURL(e)}l(null)},[f]),(0,t.useEffect)(()=>{if(!e)return;let t=e=>{if(e.key===`Tab`){mr(e,s.current);return}switch(e.key){case`ArrowLeft`:e.preventDefault(),o(`prev`);break;case`ArrowRight`:e.preventDefault(),o(`next`);break;case`Escape`:e.preventDefault(),a();break}};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e,o,a,s]),f?(0,n.jsx)($r,{ref:s,headingText:f.attributes.targetFilename,closeOnBackdropClick:!0,className:`pkt-fileupload__image-preview-modal`,onClose:a,children:(0,n.jsxs)(`div`,{className:`pkt-fileupload__image-preview`,children:[p&&(0,n.jsx)(k,{variant:`icon-only`,iconName:`chevron-thin-left`,skin:`secondary`,size:`medium`,className:`pkt-fileupload__image-preview__nav pkt-fileupload__image-preview__nav--prev`,onClick:()=>o(`prev`),"aria-label":`Forrige bilde ${i} / ${r.length}`}),(0,n.jsx)(`div`,{className:`pkt-fileupload__image-preview__content`,children:c&&!u?(0,n.jsx)(`img`,{src:c,alt:`${f.attributes.targetFilename} - ${i+1} av ${r.length}`,className:`pkt-fileupload__image-preview__image`,onError:()=>d(!0)}):(0,n.jsx)(O,{name:`picture`,className:`pkt-fileupload__queue-display__item__icon pkt-icon--medium`})}),p&&(0,n.jsxs)(`span`,{className:`pkt-fileupload__image-preview__counter`,children:[i+1,` / `,r.length]}),p&&(0,n.jsx)(k,{variant:`icon-only`,iconName:`chevron-thin-right`,skin:`secondary`,size:`medium`,className:`pkt-fileupload__image-preview__nav pkt-fileupload__image-preview__nav--next`,onClick:()=>o(`next`),"aria-label":`Neste bilde ${i+2} / ${r.length}`})]})}):null},pi=({operation:e,transferItem:t,inputName:n,disabled:r,activatedOperation:i,onActivate:a,onClose:o,buildAttributeAccessors:s})=>{let c=s(t.fileId);return{file:t,inputName:n,disabled:r,isActive:i?.id===e.id,activate:()=>a(t.fileId,e),close:()=>o(t.fileId),getAttribute:c.getAttribute,setAttribute:c.setAttribute}},mi=(e,t)=>e.map(e=>({operation:e,context:pi({operation:e,...t})})),hi=e=>(0,n.jsx)(`div`,{className:`pkt-fileupload__queue-display__item__actions`,children:mi(e.operations,e).filter(({operation:t})=>t.id!==e.activatedOperation?.id).map(({operation:e,context:t})=>(0,n.jsx)(li,{operation:e,context:t},e.id))}),gi=e=>(0,n.jsx)(n.Fragment,{children:mi(e.operations,e).filter(({operation:e})=>e.renderContent).map(({operation:e,context:t})=>(0,n.jsx)(`div`,{className:`pkt-fileupload__queue-display__item__operation-content`,children:e.renderContent(t)},e.id))}),_i=e=>{let{transferItem:t,activatedOperation:r,operations:i,ItemRenderer:a,onPreviewClick:o}=e,s=r?pi({operation:r,...e}):void 0,c=r?.renderInlineUI||r?.renderExtendedUI?[]:i;return(0,n.jsxs)(n.Fragment,{children:[r?.renderInlineUI&&s?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(O,{name:`document-text`,className:`pkt-fileupload__queue-display__item__icon`}),(0,n.jsx)(`div`,{className:`pkt-fileupload__queue-display__item__inline-ui`,children:r.renderInlineUI(s)})]}):(0,n.jsx)(a,{transferItem:t,queueItemOperations:i,onPreviewClick:o}),c.length>0&&(0,n.jsx)(hi,{...e,operations:c}),(0,n.jsx)(gi,{...e}),r?.renderExtendedUI&&s&&(0,n.jsx)(`div`,{className:`pkt-fileupload__queue-display__item__expanded-operation-ui`,children:r.renderExtendedUI(s)})]})},vi=e=>{let{transferItem:t,enableImagePreview:r,onCancelTransfer:i,onOpenPreview:a,disabled:o}=e,s=dr(t.progress),c=r&&t.progress===`done`&&ur(t);switch(s){case`in-progress`:return(0,n.jsx)(ii,{transferItem:t,cancelTransfer:()=>i(t.fileId),disabled:o});case`error`:return(0,n.jsx)(ci,{transferItem:t,onRemove:()=>i(t.fileId),disabled:o});case`idle`:return(0,n.jsx)(_i,{...e,onPreviewClick:c?()=>a(t.fileId):void 0})}},yi=(e,n,r)=>(0,t.useMemo)(()=>fr(e,n,r),[e,n,r]),bi=(e,n)=>(0,t.useMemo)(()=>n?e.filter(e=>e.progress===`done`&&ur(e)):[],[e,n]),xi=({files:e,cancelTransfer:t,transfers:r=[],queueItemOperations:i=[],ItemRenderer:a=ui,truncateTail:o,enableImagePreview:s=!1,uploadStrategy:c=`form`,disabled:l=!1,inputName:u,buildAttributeAccessors:d})=>{let f=yi(e,r,c),p=bi(f,s),m=Vr(i),h=Br(p);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(`ul`,{className:`pkt-fileupload__queue-display`,children:(0,n.jsx)(ei.Provider,{value:{tail:o},children:f.map(e=>{let r={transferItem:e,operations:i,activatedOperation:m.getActivated(e.fileId),inputName:u,disabled:l,onActivate:m.activate,onClose:m.close,buildAttributeAccessors:d};return(0,n.jsxs)(`li`,{className:(0,g.default)(`pkt-fileupload__queue-display__item`,{"pkt-fileupload__queue-display__item--in-progress":typeof e.progress==`number`,[`pkt-fileupload__queue-display__item--${e.progress}`]:typeof e.progress==`string`}),children:[i.filter(e=>e.renderHidden).map(t=>(0,n.jsx)(`span`,{children:t.renderHidden(pi({operation:t,...r}))},`${t.id}-${e.fileId}`)),(0,n.jsx)(vi,{...r,ItemRenderer:a,enableImagePreview:s,onCancelTransfer:t,onOpenPreview:h.open})]},e.fileId)})})}),s&&p.length>0&&(0,n.jsx)(fi,{modalRef:h.modalRef,isOpen:h.isOpen,images:p,currentIndex:h.currentIndex,onClose:h.close,onNavigate:h.navigate})]})},Si={filename:ui,thumbnail:di},Ci=(0,t.forwardRef)(({value:e,defaultValue:r,id:i,multiple:a=!1,uploadStrategy:o=`form`,addCommentsEnabled:s=!1,renameFilesEnabled:c=!1,truncateTail:l=4,onFilesChanged:u,onFileUploadRequested:d,extraOperations:f=[],itemRenderer:p=Si.filename,fullwidth:m=!1,allowedFormats:h,formatErrorMessage:_,maxFileSize:v,sizeErrorMessage:y,onFileValidation:b,onFileValidate:x,errorMessage:S,hasError:C=!1,disabled:w=!1,label:ee,helptext:T,optionalTag:E,requiredTag:D,required:O=!1,enableImagePreview:te=!1,"aria-describedby":k,"aria-invalid":ne,...j},M)=>{let re=(0,t.useId)(),ie=i??`pkt-fileupload-${re}`,ae=(0,t.useRef)(null);(0,t.useImperativeHandle)(M,()=>ae.current,[]);let N=`transfers`in j?j.transfers:void 0,[P,F]=(0,t.useState)(null),[oe,I]=(0,t.useState)(``);(0,t.useEffect)(()=>{if(!oe)return;let e=setTimeout(()=>I(``),1500);return()=>clearTimeout(e)},[oe]);let L=P??S??null,R=C||!!P||!!(S&&S.trim()),z=L?`${ie}-error`:void 0,B=[k,T?`${ie}-helptext`:void 0,z].filter(Boolean).join(` `)||void 0,V=R||ne===!0||ne===`true`,se=(0,t.useCallback)(e=>{let t=lr(e,{allowedFormats:h,maxFileSize:v,formatErrorMessage:_,sizeErrorMessage:y,onFileValidation:b});if(t)return t;if(x){let t={file:e,errorMessage:null};if(x(t),t.errorMessage)return t.errorMessage}return null},[h,_,v,y,b,x]);e!==void 0&&r!==void 0&&console.warn(`PktFileupload: Både value og defaultValue er angitt. Komponenten kan være enten 'controlled' eller 'uncontrolled', ikke begge deler. Bruk kun én av dem. Se https://react.dev/reference/react-dom/components/input#controlling-an-input-with-a-state-variable`),e!==void 0&&u===void 0&&console.warn(`PktFileupload: value-prop er angitt uten onFilesChanged-callback. Når en komponent er 'controlled', må endringer håndteres via en callback. Vennligst legg til onFilesChanged-callback for å håndtere endringer i fil-listen. Se https://react.dev/reference/react-dom/components/input#controlling-an-input-with-a-state-variable`);let H=e!==void 0,[U,W]=(0,t.useState)(()=>r??[]),G=H?e:U;Hr(ae,{uploadStrategy:o,required:O,currentFileCount:G.length,onMissingFiles:(0,t.useCallback)(()=>F(tr.requiredMissing),[])});let ce=typeof p==`string`?Si[p]:p,K=p===`thumbnail`,q=typeof j.accept==`string`?j.accept.trim():void 0,J=(0,t.useMemo)(()=>sr(q,h)||void 0,[q,h]),le=c&&!K,Y=s&&!K,ue=(0,t.useCallback)(e=>{for(let t of e){let e=se(t.file);if(e){F(e);return}}F(null);let t=a?[...G,...e]:[e[0]],n=a?e:[e[0]];I(n.length===1?tr.srFileAdded(n[0].attributes.targetFilename):tr.srFilesAdded(n.length)),H||W(t),u?.(t),o===`custom`&&d&&e.forEach(e=>{d?.(e)})},[u,G,a,o,d,se,H]),de=(0,t.useCallback)((e,t)=>{let n=G.map(n=>n.fileId===e?{...n,...t}:n);H||W(n),u?.(n)},[u,G,H]),fe=(0,t.useCallback)(e=>{let t=G.filter(t=>t.fileId!==e);H||W(t),u?.(t),`onTransferCancelled`in j&&j.onTransferCancelled&&j.onTransferCancelled?.(e)},[u,G,j,H]),{buildAttributeAccessors:pe}=zr(G,de),me=(0,t.useMemo)(()=>{let e=[];return le&&e.push(Rr),Y&&e.push(Nr),e.push(...f),e.push(Pr(fe)),e},[le,Y,f,fe]),{totalCount:he,uploadedCount:ge,failedCount:_e}=(0,t.useMemo)(()=>_r(G,N),[G,N]),ve=tr.fileLabel(he),ye=(0,n.jsx)(`div`,{className:(0,g.default)(`pkt-fileupload`,{"pkt-fileupload--full-width":m,"pkt-fileupload--error":R,"pkt-fileupload--disabled":w}),"aria-disabled":w,...w?{inert:``}:{},children:(0,n.jsxs)(Cr.Provider,{value:{name:j.name||``,multiple:!!a,id:ie},children:[(0,n.jsx)(`div`,{className:`pkt-sr-only`,"aria-live":`polite`,"aria-atomic":`true`,children:oe||(he>0&&ge>0?tr.srFilesUploadedOfTotal(ge,he,ve):``)}),(0,n.jsx)(`div`,{className:`pkt-sr-only`,"aria-live":`assertive`,"aria-atomic":`true`,children:he>0&&_e>0&&tr.srFilesFailedOfTotal(_e,he,ve)}),(0,n.jsx)(wr,{id:ie,name:j.name||``,value:G,onFilesAdded:ue,multiple:a,uploadStrategy:o,ref:ae,accept:K?vr:J,isThumbnailView:K,disabled:w,required:O&&o===`form`,"aria-required":O?`true`:void 0,"aria-invalid":V?`true`:void 0,"aria-describedby":B,hasVisibleLabel:!!ee}),R&&L&&(0,n.jsx)(A,{skin:`error`,"aria-live":`assertive`,role:`alert`,compact:!0,id:z,className:`pkt-fileupload__error-alert`,children:L}),G.length>0&&(0,n.jsx)(xi,{files:G,cancelTransfer:fe,truncateTail:l,transfers:N,uploadStrategy:o,ItemRenderer:ce,enableImagePreview:K&&te,disabled:w,inputName:j.name||``,buildAttributeAccessors:pe,queueItemOperations:me})]})});return ee?(0,n.jsx)(rn,{forId:ie,label:ee,helptext:T,disabled:w,hasError:R,optionalTag:E,requiredTag:D,className:(0,g.default)(`pkt-fileupload-wrapper`,{"pkt-fileupload-wrapper--full-width":m}),children:ye}):ye});Ci.displayName=`PktFileUpload`;var wi=({columnOne:e,columnTwo:r,socialLinks:i,className:a,openLinksInNewTab:o=!1,personvernOgInfoLink:s=`https://www.oslo.kommune.no/personvern-og-informasjonskapsler/`,tilgjengelighetLink:c=`https://www.oslo.kommune.no/tilgjengelighet/`,includeConsent:l=!1,hotjarId:u=null,googleAnalyticsId:d=null,devMode:f=!1,cookieDomain:p=null,cookieSecure:m=null,cookieExpiryDays:h=null,onToggleConsent:g=e=>{console.log(e.detail)}})=>(0,n.jsx)(`footer`,{className:[a,`pkt-footer`].filter(Boolean).join(` `),"data-mode":`dark`,children:(0,n.jsxs)(`div`,{className:`pkt-footer__container`,children:[(0,n.jsxs)(`div`,{className:`pkt-grid pkt-grid--rowgap-size-32 pkt-grid--gap-size-16`,children:[(0,n.jsxs)(`div`,{className:`pkt-footer__column pkt-cell pkt-cell--span12 pkt-cell--span4-laptop-up`,children:[(0,n.jsx)(`h2`,{className:`pkt-footer__title`,children:e.title}),(0,n.jsxs)(`ul`,{className:`pkt-footer__list`,children:[e.text&&(0,n.jsx)(`li`,{className:`pkt-footer__text`,children:e.text}),e.links?.map((e,t)=>(0,n.jsx)(`li`,{className:`pkt-footer__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer__link ${e.external?`pkt-link--external`:``}`,href:e.href,target:e.openInNewTab||o?`_blank`:`_self`,rel:e.openInNewTab||o?`noopener noreferrer`:void 0,children:[(0,n.jsx)(O,{className:`pkt-footer__link-icon`,name:`chevron-right`}),e.text]})},`links-${t}`))]})]}),(0,n.jsxs)(`div`,{className:`pkt-footer__column pkt-cell pkt-cell--span12 pkt-cell--span4-laptop-up`,children:[(0,n.jsx)(`h2`,{className:`pkt-footer__title`,children:r.title}),(0,n.jsxs)(`ul`,{className:`pkt-footer__list`,children:[r.text&&(0,n.jsx)(`li`,{className:`pkt-footer__text`,children:r.text}),r.links?.map((e,t)=>(0,n.jsx)(`li`,{className:`pkt-footer__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer__link ${e.external?`pkt-link--external`:``}`,href:e.href,target:e.openInNewTab||o?`_blank`:`_self`,rel:e.openInNewTab||o?`noopener noreferrer`:void 0,children:[(0,n.jsx)(O,{className:`pkt-footer__link-icon`,name:`chevron-right`}),e.text]})},`links-${t}`))]})]}),(0,n.jsxs)(`div`,{className:`pkt-footer__column pkt-cell pkt-cell--span12 pkt-cell--span4-laptop-up`,children:[(0,n.jsx)(`h2`,{className:`pkt-footer__title`,children:`Om nettstedet`}),(0,n.jsxs)(`ul`,{className:`pkt-footer__list`,children:[(0,n.jsx)(`li`,{className:`pkt-footer__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer__link`,href:s,target:o?`_blank`:`_self`,rel:o?`noopener noreferrer`:void 0,children:[(0,n.jsx)(O,{className:`pkt-footer__link-icon`,name:`chevron-right`}),`Personvern og informasjonskapsler`]})}),(0,n.jsx)(`li`,{className:`pkt-footer__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer__link`,href:c,target:o?`_blank`:`_self`,rel:o?`noopener noreferrer`:void 0,children:[(0,n.jsx)(O,{className:`pkt-footer__link-icon`,name:`chevron-right`}),`Tilgjengelighet`]})}),l&&(0,n.jsx)(`li`,{className:`pkt-footer__list-item`,children:(0,n.jsx)(Fn,{triggerType:`footerlink`,hotjarId:u,googleAnalyticsId:d,devMode:f,cookieDomain:p,cookieSecure:m,cookieExpiryDays:h,onToggleConsent:g})})]})]})]}),i&&(0,n.jsxs)(`div`,{className:`pkt-footer__social`,"aria-label":`standard lenker`,children:[(0,n.jsx)(`div`,{className:`pkt-footer__social-languages`,children:i.filter(e=>e.language).map((e,t)=>(0,n.jsx)(`div`,{className:`pkt-footer__social-language`,children:(0,n.jsx)(`a`,{href:e.href,"aria-label":`til ${e.language} versjon av nettsiden`,target:e.openInNewTab||o?`_blank`:`_self`,rel:e.openInNewTab||o?`noopener noreferrer`:void 0,children:e.language})},`sociallinks-language-${t}`))}),(0,n.jsx)(`div`,{className:`pkt-footer__social-icons`,children:i.filter(e=>e.iconName).map((e,r)=>(0,n.jsx)(t.Fragment,{children:(0,n.jsx)(`a`,{href:e.href,"aria-label":`til ${e.iconName}`,className:`pkt-footer__social-icon-link`,target:e.openInNewTab||o?`_blank`:`_self`,rel:e.openInNewTab||o?`noopener noreferrer`:void 0,children:(0,n.jsx)(O,{className:`pkt-footer__social-icon`,name:e.iconName})})},`sociallinks-${r}`))})]})]})}),Ti=({links:e=[],openLinksInNewTab:t=!1,personvernOgInfoLink:r=`https://www.oslo.kommune.no/personvern-og-informasjonskapsler/`,tilgjengelighetLink:i=`https://www.oslo.kommune.no/tilgjengelighet/`,includeConsent:a=!1,hotjarId:o=null,googleAnalyticsId:s=null,devMode:c=!1,cookieDomain:l=null,cookieSecure:u=null,cookieExpiryDays:d=null,onToggleConsent:f=e=>{console.log(e.detail)},className:p})=>(0,n.jsx)(`footer`,{className:[p,`pkt-footer-simple`].filter(Boolean).join(` `),"data-mode":`dark`,children:(0,n.jsx)(`div`,{className:`pkt-footer-simple__container`,children:(0,n.jsxs)(`ul`,{className:`pkt-footer-simple__list`,children:[e.map((e,r)=>(0,n.jsx)(`li`,{className:`pkt-footer-simple__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer-simple__link ${e.external?` pkt-link--external`:``}`,href:e.href,target:e.openInNewTab||t?`_blank`:`_self`,rel:e.openInNewTab||t?`noopener noreferrer`:void 0,children:[(0,n.jsx)(O,{className:`pkt-footer-simple__link-icon`,name:`chevron-right`}),e.text]})},r)),(0,n.jsx)(`li`,{className:`pkt-footer-simple__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer-simple__link`,href:r,target:t?`_blank`:`_self`,rel:t?`noopener noreferrer`:void 0,children:[(0,n.jsx)(O,{className:`pkt-footer-simple__link-icon`,name:`chevron-right`}),`Personvern og informasjonskapsler`]})}),(0,n.jsx)(`li`,{className:`pkt-footer-simple__list-item`,children:(0,n.jsxs)(`a`,{className:`pkt-footer-simple__link`,href:i,target:t?`_blank`:`_self`,rel:t?`noopener noreferrer`:void 0,children:[(0,n.jsx)(O,{className:`pkt-footer-simple__link-icon`,name:`chevron-right`}),`Tilgjengelighet`]})}),a&&(0,n.jsx)(`li`,{className:`pkt-footer-simple__list-item`,children:(0,n.jsx)(Fn,{triggerType:`footerlink`,hotjarId:o,googleAnalyticsId:s,devMode:c,cookieDomain:l,cookieSecure:u,cookieExpiryDays:d,onToggleConsent:f})})]})})}),Ei=(e,n)=>{let[r,i]=(0,t.useState)(()=>typeof window>`u`?n??0:n??window.innerWidth);return(0,t.useEffect)(()=>{let t=e.current;if(!t)return;if(i(t.offsetWidth),typeof ResizeObserver>`u`){let e=()=>{t&&i(t.offsetWidth)};return window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)}let n=new ResizeObserver(e=>{for(let t of e)t.borderBoxSize&&t.borderBoxSize.length>0?i(t.borderBoxSize[0].inlineSize):i(t.contentRect.width)});return n.observe(t),()=>{n.disconnect()}},[e]),r};function Di(e){let n=(0,t.useRef)(0);(0,t.useEffect)(()=>{let t=document.body,r=document.documentElement;if(e){n.current=window.scrollY||window.pageYOffset;let e=window.innerWidth-r.clientWidth;e>0&&(t.style.paddingRight=`${e}px`),t.style.position=`fixed`,t.style.top=`-${n.current}px`,t.style.left=`0`,t.style.right=`0`,t.style.width=`100%`,t.style.overflow=`hidden`,r.classList.add(`is-scroll-locked`)}else t.style.removeProperty(`position`),t.style.removeProperty(`top`),t.style.removeProperty(`left`),t.style.removeProperty(`right`),t.style.removeProperty(`width`),t.style.removeProperty(`overflow`),t.style.removeProperty(`padding-right`),document.documentElement.classList.remove(`is-scroll-locked`),window.scrollTo({top:n.current});return()=>{e&&(t.style.cssText=``,document.documentElement.classList.remove(`is-scroll-locked`),window.scrollTo({top:n.current}))}},[e])}var Oi=({href:e,iconName:t,className:r,iconPosition:i,external:a,target:o,children:s,...c})=>{let l={"pkt-link":!0,"pkt-link--icon-left":!!t&&i===`left`||!!(t&&!i),"pkt-link--icon-right":!!t&&i===`right`,"pkt-link--external":a};return(0,n.jsxs)(`a`,{...c,className:(0,g.default)(l,r),href:e,target:o,rel:a?`noopener noreferrer`:void 0,children:[t&&(0,n.jsx)(O,{name:t,className:`pkt-link__icon`}),s]})};Oi.displayName=`PktLink`;var ki=e=>typeof e.target==`string`?{title:e.title,iconName:e.iconName,href:e.target}:{title:e.title,iconName:e.iconName,onClick:e.target},Ai=({item:e,className:t})=>`href`in e?(0,n.jsx)(Oi,{iconName:e.iconName,href:e.href,"aria-hidden":`true`,className:(0,g.default)(`pkt-user-menu__link`,t),children:e.title}):(0,n.jsxs)(`button`,{className:(0,g.default)(`pkt-user-menu__link pkt-link-button pkt-link pkt-link--icon-left`,t),type:`button`,onClick:()=>{`onClick`in e&&typeof e.onClick==`function`?e.onClick():console.error(`UserMenuButton item is missing onClick handler or onClick is not a function:`,e)},children:[e.iconName&&(0,n.jsx)(O,{name:e.iconName,className:`pkt-link__icon`,"aria-hidden":`true`}),e.title]}),ji=({links:e})=>(0,n.jsx)(`ul`,{className:`pkt-user-menu__sublist`,children:e.map((e,t)=>(0,n.jsx)(`li`,{className:`pkt-user-menu__subitem`,children:(0,n.jsx)(Ai,{item:e})},t))}),Mi=(0,t.forwardRef)(({user:e,formattedLastLoggedIn:t,representing:r,userMenu:i,canChangeRepresentation:a,changeRepresentation:o,logoutOnClick:s},c)=>{let l=i?.map(ki);return(0,n.jsx)(`nav`,{className:`pkt-user-menu`,ref:c,"aria-label":`Meny for innlogget bruker`,children:(0,n.jsxs)(`ul`,{className:`pkt-user-menu__list`,children:[e&&(0,n.jsxs)(`li`,{className:`pkt-user-menu__item`,children:[(0,n.jsx)(`div`,{className:`pkt-user-menu__label`,children:`Pålogget som`}),(0,n.jsx)(`div`,{className:`pkt-user-menu__name`,translate:`no`,children:e.name}),t&&(0,n.jsxs)(`div`,{className:`pkt-user-menu__last-logged-in`,children:[`Sist pålogget: `,(0,n.jsx)(`time`,{children:t})]})]}),l&&l.length>0&&(0,n.jsx)(`li`,{className:`pkt-user-menu__item`,children:(0,n.jsx)(ji,{links:l})}),r&&(0,n.jsxs)(`li`,{className:`pkt-user-menu__item`,children:[(0,n.jsx)(`div`,{className:`pkt-user-menu__label`,children:`Representerer`}),(0,n.jsx)(`div`,{className:`pkt-user-menu__name`,translate:`no`,children:r.name}),r.orgNumber&&(0,n.jsxs)(`div`,{className:`pkt-user-menu__org-number`,children:[`Org.nr. `,r.orgNumber]}),a&&o&&(0,n.jsx)(`ul`,{className:`pkt-user-menu__sublist mt-size-16`,children:(0,n.jsx)(`li`,{className:`pkt-user-menu__subitem`,children:(0,n.jsx)(Ai,{item:{title:`Endre organisasjon`,iconName:`cogwheel`,onClick:o}})})})]}),!r&&a&&o&&(0,n.jsx)(`li`,{className:`pkt-user-menu__item`,children:(0,n.jsx)(`ul`,{className:`pkt-user-menu__sublist`,children:(0,n.jsx)(`li`,{className:`pkt-user-menu__subitem`,children:(0,n.jsx)(Ai,{item:{title:`Endre organisasjon`,iconName:`cogwheel`,onClick:o}})})})}),s&&(0,n.jsx)(`li`,{className:`pkt-user-menu__item`,children:(0,n.jsx)(Ai,{item:{title:`Logg ut`,iconName:`exit`,onClick:s}})})]})})});Mi.displayName=`PktHeaderUserMenu`;var Ni=(0,t.forwardRef)(({id:e,ariaDescribedby:r,ariaLabelledby:i,autocomplete:a=`off`,counter:o,counterMaxLength:s,className:c,disabled:l=!1,errorMessage:u,hasError:d=!1,helptext:f,helptextDropdown:p,helptextDropdownButton:m,iconNameRight:h,inline:g=!1,fullwidth:_=!1,label:v,name:y,optionalTag:b=!1,optionalText:x,requiredTag:S=!1,requiredText:C,tagText:w=null,placeholder:ee,prefix:T,suffix:E,type:D=`text`,useWrapper:te=!0,omitSearchIcon:k=!1,value:A,minLength:ne,maxLength:j,min:M,max:re,step:ie,size:ae,readonly:N,required:P,dataTestid:F,onChange:oe,skipForwardTestid:I=!1,...L},R)=>{let z=[c,`pkt-textinput`].join(` `),B=D===`search`&&!h&&!k,V=D===`date`&&A?A.slice(0,10):A,[se,H]=(0,t.useState)(A?.length||0),U=`${e}`,W=`${U}-label`,G=i||W,ce=e=>{o&&H(e.currentTarget?.value?.length||0),oe&&oe(e)};return(0,t.useEffect)(()=>{A!==void 0&&H(A?.length||0)},[A]),(0,n.jsx)(rn,{ariaDescribedby:r,className:z,disabled:l,errorMessage:u,forId:U,hasError:d,helptext:f,helptextDropdown:p,helptextDropdownButton:m,inline:g,label:v,optionalTag:b,optionalText:x,requiredTag:S,requiredText:C,tagText:w,useWrapper:te,counter:o,counterCurrent:se,counterMaxLength:s,children:(0,n.jsxs)(`div`,{className:`pkt-input__container`,"data-testid":F,"data-skip-forward-testid":I?`true`:void 0,children:[T&&(0,n.jsx)(`div`,{className:`pkt-input-prefix`,children:T}),(0,n.jsx)(`input`,{...L,ref:R,className:`pkt-input ${_?`pkt-input--fullwidth`:``} ${s&&se>s?`pkt-input--counter-error`:``}`,type:D,name:`${y||e}`,value:V,id:U,placeholder:ee,autoComplete:a,disabled:l,"aria-invalid":d,"aria-errormessage":`${e}-error`,"aria-labelledby":G,min:M,max:re,onChange:ce,step:ie,minLength:ne,maxLength:j,size:ae,readOnly:N,required:P}),E&&(0,n.jsxs)(`p`,{className:`pkt-input-suffix`,children:[E,h&&(0,n.jsx)(O,{className:`pkt-input-suffix-icon`,name:h}),B&&(0,n.jsx)(O,{className:`pkt-input-suffix-icon`,name:`magnifying-glass-big`})]}),!E&&h&&(0,n.jsx)(O,{className:`pkt-input-icon`,name:h}),!E&&B&&(0,n.jsx)(O,{className:`pkt-input-icon`,name:`magnifying-glass-big`})]})})});Ni.displayName=`PktTextinput`;var Pi=(0,t.forwardRef)(({mobileBreakpoint:e=768,tabletBreakpoint:r=1280,children:i,className:a,compact:o=!1,"data-mode":s,logOutButtonPlacement:c=`none`,logOut:l,openedMenu:u,showSearch:d=!1,onSearch:f,onSearchChange:p,searchValue:m,searchPlaceholder:h=`Søk`,representing:_,serviceLink:v,serviceClick:y,serviceName:b,user:x,userMenu:S,userMenuFooter:C,userOptions:w,canChangeRepresentation:ee=!1,changeRepresentation:T,hideLogo:E=!1,logoLink:D,logoClick:te,position:A=`fixed`,scrollBehavior:ne=`hide`,slotMenuVariant:j=`icon-only`,slotMenuText:M=`Meny`},re)=>{let ie=A===`fixed`,ae=ne===`hide`;(0,t.useEffect)(()=>{C&&console.warn(`PktHeaderService: The "userMenuFooter" prop is deprecated and will be removed in a future version. Please use "userMenu" instead.`)},[C]),(0,t.useEffect)(()=>{w&&console.warn(`PktHeaderService: The "userOptions" prop is no longer available. Please use "userMenu" instead.`)},[w]),(0,t.useEffect)(()=>{x?.shortname&&console.warn(`PktHeaderService: The "shortname" property on the user object is deprecated and will be removed in a future version.`),_?.shortname&&console.warn(`PktHeaderService: The "shortname" property on the representing object is deprecated and will be removed in a future version.`)},[x?.shortname,_?.shortname]);let N=(0,t.useMemo)(()=>{if(x?.lastLoggedIn)return typeof x.lastLoggedIn==`string`?x.lastLoggedIn:new Date(x.lastLoggedIn).toLocaleString(`nb-NO`,{year:`numeric`,month:`long`,day:`numeric`})},[x?.lastLoggedIn]),[P,F]=(0,t.useState)(u||`none`);(0,t.useEffect)(()=>{u!==void 0&&F(u)},[u]);let[oe,I]=(0,t.useState)(!1),[L,R]=(0,t.useState)(0),[z,B]=(0,t.useState)(!1),[V,se]=(0,t.useState)(!1),H=(0,t.useRef)(null),U=(0,t.useRef)(null),W=(0,t.useRef)(null),G=(0,t.useRef)(null),ce=(0,t.useRef)(null),K=(0,t.useRef)(null),q=(0,t.useRef)(null),J=(0,t.useRef)(!1),le=Ei(H),Y=le<e,ue=le<r,de=(0,t.useCallback)(e=>{H.current=e,typeof re==`function`?re(e):re&&(re.current=e)},[re]);Di(ie&&Y&&P!==`none`);let fe=(0,t.useCallback)((e,t)=>{let n=e.relatedTarget,r;switch(t){case`user`:r=U;break;case`slot`:r=W;break;case`search`:r=G;break;default:return}let i=r.current;i&&(!n||!i.contains(n))&&F(`none`)},[]),pe=(0,t.useCallback)(()=>{J.current&&q.current&&document.contains(q.current)&&q.current.focus(),q.current=null,J.current=!1},[]);(0,t.useEffect)(()=>{let e=e=>{x&&P===`user`&&!e.target.closest(`.pkt-header-service__user-container`)&&F(`none`),P===`slot`&&!e.target.closest(`.pkt-header-service__slot-container`)&&F(`none`),P===`search`&&!e.target.closest(`.pkt-header-service__search-container`)&&!e.target.closest(`.pkt-header-service__search-input`)&&F(`none`)},t=e=>{e.key===`Escape`&&P!==`none`&&(e.preventDefault(),J.current=!0,F(`none`))};if(P!==`none`)return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)};pe()},[P,x,pe]),(0,t.useEffect)(()=>{let e=()=>{if(ae){let e=window.pageYOffset||document.documentElement.scrollTop;if(e<0||Math.abs(e-L)<60)return;I(e>L),R(e)}};return document&&window.addEventListener(`scroll`,e),()=>{document&&window.removeEventListener(`scroll`,e)}},[ae,L]);let me=(0,t.useCallback)(e=>{let t=e===`slot`?W:G,n=e===`slot`?ce:K;if(!t.current||!n.current||!ue||Y)return;let r=t.current.getBoundingClientRect(),i=n.current.offsetWidth,a=r.left+i>window.innerWidth;e===`slot`?B(a):se(a)},[ue,Y]),he=(0,t.useCallback)(e=>{P===`none`?(q.current=document.activeElement,F(e)):F(`none`)},[P]);(0,t.useEffect)(()=>{(P===`slot`||P===`search`)&&requestAnimationFrame(()=>{me(P)})},[P,me]);let ge=(0,n.jsxs)(`header`,{className:(0,g.default)(`pkt-header-service`,o&&`pkt-header-service--compact`,Y&&`pkt-header-service--mobile`,ue&&`pkt-header-service--tablet`,ie&&`pkt-header-service--fixed`,ae&&`pkt-header-service--scroll-to-hide`,oe&&`pkt-header-service--hidden`,a),"data-mode":s,ref:de,children:[(0,n.jsxs)(`div`,{className:(0,g.default)(`pkt-header-service__logo-area`,(!b||b===``)&&`pkt-header-service__logo-area--without-service`),children:[!E&&(0,n.jsx)(`span`,{className:`pkt-header-service__logo`,children:D?(0,n.jsx)(`a`,{href:D,"aria-label":`Tilbake til forside`,children:(0,n.jsx)(O,{name:`oslologo`,"aria-hidden":`true`,path:`https://punkt-cdn.oslo.kommune.no/16.21/logos/`})}):te?(0,n.jsx)(`button`,{"aria-label":`Tilbake til forside`,className:`pkt-link-button pkt-link pkt-header-service__logo-link`,onClick:te,children:(0,n.jsx)(O,{name:`oslologo`,"aria-hidden":`true`,path:`https://punkt-cdn.oslo.kommune.no/16.21/logos/`})}):(0,n.jsx)(O,{name:`oslologo`,"aria-hidden":`true`,path:`https://punkt-cdn.oslo.kommune.no/16.21/logos/`})}),b&&(0,n.jsx)(`span`,{className:`pkt-header-service__service-name`,translate:`no`,children:v?(0,n.jsx)(Oi,{href:v,className:`pkt-header-service__service-link `,children:b}):y?(0,n.jsx)(`button`,{className:`pkt-link-button pkt-link pkt-header-service__service-link`,onClick:y,children:b}):(0,n.jsx)(`span`,{className:`pkt-header-service__service-link`,children:b})})]}),i||d||ue&&l&&(c===`header`||c===`both`)?(0,n.jsxs)(`div`,{className:`pkt-header-service__content`,children:[(0,n.jsxs)(`div`,{className:(0,g.default)(`pkt-header-service__slot-container`,P===`slot`&&`is-open`),onBlur:e=>fe(e,`slot`),ref:W,children:[ue&&i&&(0,n.jsx)(k,{skin:`secondary`,variant:j,iconName:`menu`,size:Y?`small`:`medium`,state:P===`slot`?`active`:`normal`,onClick:()=>he(`slot`),"aria-expanded":P===`slot`,"aria-controls":`mobile-slot-menu`,"aria-label":`Åpne meny`,children:M}),(0,n.jsx)(`div`,{className:(0,g.default)(`pkt-header-service__slot-content`,z&&`align-right`),id:`mobile-slot-menu`,role:ue?`menu`:void 0,"aria-label":ue?`Meny`:void 0,ref:ce,children:(0,n.jsx)(`div`,{className:`pkt-contents`,children:i})})]}),d&&(0,n.jsx)(n.Fragment,{children:ue?(0,n.jsxs)(`div`,{className:(0,g.default)(`pkt-header-service__search-container`,P===`search`&&`is-open`),onBlur:e=>fe(e,`search`),ref:G,children:[(0,n.jsx)(k,{skin:`secondary`,variant:`icon-only`,iconName:`magnifying-glass-big`,size:Y?`small`:`medium`,onClick:()=>he(`search`),state:P===`search`?`active`:`normal`,"aria-expanded":P===`search`,"aria-controls":`mobile-search-menu`,"aria-label":`Åpne søkefelt`,children:`Søk`}),(0,n.jsx)(`div`,{className:(0,g.default)(`pkt-header-service__mobile-menu`,P===`search`&&`is-open`,V&&`align-right`),ref:K,children:P===`search`&&(0,n.jsx)(Ni,{id:`mobile-search-menu`,className:`pkt-header-service__search-input`,type:`search`,label:`Søk`,useWrapper:!1,placeholder:h,value:m,autoFocus:!0,fullwidth:!0,onChange:e=>p?.(e.target.value),onKeyDown:e=>{e.key===`Enter`&&f?.(e.target.value)}})})]}):(0,n.jsx)(Ni,{id:`header-service-search`,className:`pkt-header-service__search-input`,type:`search`,label:`Søk`,useWrapper:!1,placeholder:h,value:m,onChange:e=>p?.(e.target.value),onKeyDown:e=>{e.key===`Enter`&&f?.(e.target.value)}})}),Y&&l&&(c===`header`||c===`both`)&&(0,n.jsx)(k,{skin:`secondary`,size:Y?`small`:`medium`,variant:`icon-only`,iconName:`exit`,onClick:l,children:`Logg ut`})]}):null,(x||!Y&&l&&(c===`header`||c===`both`))&&(0,n.jsxs)(`div`,{className:`pkt-header-service__user`,children:[x&&(0,n.jsxs)(`div`,{className:`pkt-header-service__user-container`,onBlur:e=>fe(e,`user`),ref:U,children:[(0,n.jsxs)(k,{className:(0,g.default)(`pkt-header-service__user-button`,Y&&`pkt-header-service__user-button--mobile`),skin:`secondary`,size:Y?`small`:`medium`,state:P===`user`?`active`:`normal`,variant:`icons-right-and-left`,iconName:`user`,secondIconName:P===`user`?`chevron-thin-up`:`chevron-thin-down`,onClick:()=>he(`user`),children:[(0,n.jsx)(`span`,{className:`pkt-sr-only`,children:`Brukermeny: `}),(0,n.jsx)(`span`,{translate:`no`,children:_?.name||x.name})]}),P===`user`&&x&&(0,n.jsx)(`div`,{className:(0,g.default)(Y?`pkt-header-service__mobile-menu`:`pkt-header-service__user-menu`,`is-open`),children:(0,n.jsx)(Mi,{user:x,formattedLastLoggedIn:N,representing:_,userMenu:S,canChangeRepresentation:ee,changeRepresentation:T,logoutOnClick:c===`userMenu`||c===`both`?l:void 0})})]}),!Y&&l&&(c===`header`||c===`both`)&&(0,n.jsx)(k,{skin:`tertiary`,size:`medium`,variant:`icon-right`,iconName:`exit`,onClick:l,children:`Logg ut`})]})]});return ie?(0,n.jsxs)(`div`,{className:`pkt-header-service-wrapper`,children:[ge,(0,n.jsx)(`div`,{className:(0,g.default)(`pkt-header-service-spacer`,o&&`pkt-header-service-spacer--compact`,x&&`pkt-header-service-spacer--has-user`,Y&&`pkt-header-service-spacer--mobile`,ue&&`pkt-header-service-spacer--tablet`)})]}):ge});Pi.displayName=`PktHeaderService`;var Fi=(0,t.forwardRef)((e,t)=>(0,n.jsx)(Pi,{...e,ref:t}));Fi.displayName=`PktHeader`;var Ii={automat:`parking-meter`,bike:`bicycle`,corona:`virus`,directions:`arrow-directions`,document:`document-plain`,"download-document":`document-download`,elcar:`electric-car`,"error-hexa":`alert-error`,"fire-emblem":`shield-fire`,"link-arrow":`arrow-link`,"linked-in":`linkedin`,"map-layer":`map-layers`,mobile:`mobile-phone`,neutral:`smiley-neutral`,placeholder:`placeholder-icon`,sad:`smiley-sad`,signing:`signature`,sky:`cloud`,smile:`smiley-smile`,"success-square":`alert-success`,trash:`trash-can`,treatment:`processing`,"warning-triangle":`alert-warning`};function Li(e){return e&&(Ii[e]??e)}var Ri={"facebook.com":`facebook`,"fb.com":`facebook`,"instagram.com":`instagram`,"linkedin.com":`linkedin`,"x.com":`x`,"github.com":`github`};function zi(e){return e.toLowerCase().replace(/^(?:www|m)\./,``)}function Bi(e,t){if(e)try{let t=Ri[zi(new URL(e).hostname)];if(t)return t}catch{}if(t){let e=t.trim().toLowerCase().replace(/\s+/g,`-`);if(e){let t=Li(e);if(t)return t}}}var Vi=`nb-NO`;function Hi(e,t=Vi){if(e)return e[t]??e[Vi]}async function Ui(e=$n,t){let n=await fetch(e,{signal:t});if(!n.ok)throw Error(`pkt-header-menu: failed to fetch ${e} (HTTP ${n.status})`);let r=await n.json();if(!r||typeof r!=`object`)throw Error(`pkt-header-menu: ${e} returned a non-object payload`);return r}var Wi=({dataUrl:e=$n,data:r,locale:i=`nb-NO`,open:a=!1,mobileBreakpoint:o=768,ariaLabelledBy:s,className:c,onDataLoaded:l,onDataError:u,ref:d,...f})=>{let[p,m]=(0,t.useState)(r?`ready`:`idle`),[h,g]=(0,t.useState)(void 0),[_,v]=(0,t.useState)(!1),y=(0,t.useRef)(l),b=(0,t.useRef)(u);(0,t.useEffect)(()=>{y.current=l},[l]),(0,t.useEffect)(()=>{b.current=u},[u]),(0,t.useEffect)(()=>{if(typeof window>`u`||typeof window.matchMedia!=`function`)return;let e=window.matchMedia(`(max-width: ${o-1}px)`);v(e.matches);let t=e=>v(e.matches);return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)},[o]),(0,t.useEffect)(()=>{r&&(m(`ready`),y.current?.(r))},[r]),(0,t.useEffect)(()=>{if(r)return;let t=new AbortController;return m(`loading`),Ui(e,t.signal).then(e=>{t.signal.aborted||(g(e),m(`ready`),y.current?.(e))}).catch(e=>{e.name!==`AbortError`&&(m(`error`),b.current?.(e))}),()=>t.abort()},[r,e]);let x=r??h,S=(0,t.useMemo)(()=>Hi(x,i),[x,i]),C=[`pkt-header-menu`,a&&`pkt-header-menu--open`,c].filter(Boolean).join(` `);if(p===`loading`)return(0,n.jsx)(`section`,{...f,ref:d,className:C,children:(0,n.jsx)(`nav`,{"aria-busy":`true`,children:(0,n.jsx)(`p`,{className:`pkt-header-menu__loading`,children:`Laster meny…`})})});if(p===`error`||!S)return(0,n.jsx)(`section`,{...f,ref:d,className:C,children:(0,n.jsx)(`nav`,{"aria-hidden":!a,children:(0,n.jsx)(`p`,{className:`pkt-header-menu__error`,children:`Kunne ikke laste meny.`})})});let{megamenu:w,i18n:ee}=S,T=ee?.navAriaLabel||`Hovedmeny`;return(0,n.jsx)(`section`,{...f,ref:d,className:C,"aria-labelledby":s||void 0,children:(0,n.jsxs)(`nav`,{"aria-label":T,children:[_?(0,n.jsx)(Ki,{services:w.services,sections:w.sections}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(qi,{services:w.services}),(0,n.jsx)(Ji,{buttons:w.buttons,mobile:!1}),(0,n.jsx)(Yi,{sections:w.sections})]}),(0,n.jsx)(Ji,{buttons:w.buttons,mobile:!0}),(0,n.jsx)(Zi,{links:w.links,some:w.some})]})})},Gi=({services:e})=>(0,n.jsx)(`ul`,{className:`pkt-header-menu__services-list`,children:e.links.map((e,t)=>(0,n.jsx)(`li`,{className:`pkt-header-menu__service`,children:(0,n.jsxs)(`a`,{className:`pkt-header-menu__service-link`,href:e.url,children:[(0,n.jsx)(O,{className:`pkt-header-menu__service-icon`,name:Li(e.icon),"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`pkt-header-menu__service-text`,children:e.text})]})},`service-${t}`))}),Ki=({services:e,sections:t})=>(0,n.jsx)(`div`,{className:`pkt-header-menu__sections`,children:(0,n.jsxs)(h,{className:`pkt-header-menu__sections-inner`,skin:`plus-minus`,name:`header-menu-accordion`,children:[(0,n.jsx)(te,{className:`pkt-header-menu__section`,skin:`plus-minus`,id:`pkt-header-menu-services`,title:e.title,children:(0,n.jsx)(Gi,{services:e})}),t.map((e,t)=>(0,n.jsx)(te,{className:`pkt-header-menu__section`,skin:`plus-minus`,id:`pkt-header-menu-section-${t}`,title:e.title,children:(0,n.jsx)(Xi,{links:e.links})},`section-${t}`))]})}),qi=({services:e})=>(0,n.jsxs)(`div`,{className:`pkt-header-menu__services`,children:[(0,n.jsx)(`h2`,{className:`pkt-header-menu__services-title`,children:e.title}),(0,n.jsx)(Gi,{services:e})]}),Ji=({buttons:e,mobile:t})=>!e||e.length===0?null:(0,n.jsx)(`div`,{className:[`pkt-header-menu__buttons`,t&&`pkt-header-menu__buttons--mobile`].filter(Boolean).join(` `),children:e.map((e,t)=>(0,n.jsxs)(`a`,{className:`pkt-btn pkt-btn--secondary pkt-btn--icon-right pkt-btn--small`,href:e.url,children:[(0,n.jsx)(O,{className:`pkt-btn__icon`,name:e.iconName?Li(e.iconName):`user`,"aria-hidden":`true`}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:e.text})]},`button-${t}`))}),Yi=({sections:e})=>!e||e.length===0?null:(0,n.jsx)(`div`,{className:`pkt-header-menu__sections`,children:(0,n.jsx)(`div`,{className:`pkt-header-menu__sections-inner`,children:e.map((e,t)=>(0,n.jsxs)(`div`,{className:`pkt-header-menu__section`,children:[(0,n.jsx)(`h2`,{className:`pkt-header-menu__section-title`,children:e.title}),(0,n.jsx)(Xi,{links:e.links})]},`section-${t}`))})}),Xi=({links:e})=>(0,n.jsx)(`ul`,{className:`pkt-header-menu__section-list`,children:e.map((e,t)=>(0,n.jsx)(`li`,{children:(0,n.jsx)(`a`,{className:`pkt-header-menu__section-link`,href:e.url,children:e.text})},`section-link-${t}`))}),Zi=({links:e,some:t})=>{let r=e&&e.length>0,i=t&&t.length>0;return!r&&!i?null:(0,n.jsxs)(`div`,{className:`pkt-header-menu__footer`,children:[r&&(0,n.jsx)(`ul`,{className:`pkt-header-menu__footer-list`,children:e.map((e,t)=>(0,n.jsx)(`li`,{children:(0,n.jsx)(`a`,{className:`pkt-header-menu__footer-link`,href:e.url,children:e.text})},`footer-link-${t}`))}),i&&(0,n.jsx)(`ul`,{className:`pkt-header-menu__footer-list pkt-header-menu__footer-list--social`,children:t.map((e,t)=>(0,n.jsx)(Qi,{entry:e},`some-${t}`))})]})},Qi=({entry:e})=>{let t=Bi(e.url,e.text);return(0,n.jsx)(`li`,{children:(0,n.jsx)(`a`,{className:`pkt-header-menu__social-link`,href:e.url,"aria-label":e.text,children:t?(0,n.jsx)(O,{name:t,"aria-hidden":`true`}):(0,n.jsx)(`span`,{children:e.text})})})},$i=e=>{switch(e){case 1:return`xlarge`;case 2:return`large`;case 3:return`medium`;case 4:return`small`;case 5:case 6:return`xsmall`;default:return`medium`}},ea=e=>{switch(e){case 1:case 2:return`regular`;case 3:case 4:case 5:case 6:return`medium`;default:return`medium`}},ta=(0,t.forwardRef)(function({level:e=2,size:t,weight:r,visuallyHidden:i,align:a,className:o,children:s,...c},l){let u=t??$i(e),d=r??ea(e),f=(0,g.default)(`pkt-heading`,`pkt-heading--${u}`,`pkt-heading--fw-${d}`,a&&`pkt-heading--${a}`,i&&`pkt-sr-only`,o);return(0,n.jsx)(`h${e}`,{...c,ref:l,className:f,"data-testid":`pkt-heading`,children:s})});ta.displayName=`PktHeading`;var na=(0,t.forwardRef)(({label:e,id:t,children:r,...i},a)=>(0,n.jsxs)(`div`,{className:`pkt-form-group`,children:[(0,n.jsx)(`label`,{htmlFor:t,className:`pkt-form-label`,children:e}),(0,n.jsx)(`input`,{className:`pkt-form-input`,id:t,...i,ref:a}),r]}));na.displayName=`PktInput`;var ra=({children:e,skin:t,title:r,href:i,iconName:a,openInNewTab:o,external:s,className:c,...l})=>{let u=[`pkt-linkcard`,t&&`pkt-linkcard--${t}`].filter(Boolean).join(` `),d=[`pkt-linkcard__title`,s&&`pkt-link pkt-link--external`].filter(Boolean).join(` `);return(0,n.jsxs)(`a`,{...l,href:i,className:(0,g.default)(u,c),target:o?`_blank`:`_self`,rel:o?`noopener noreferrer`:void 0,children:[a&&(0,n.jsx)(O,{className:`pkt-link__icon`,name:a}),r&&(0,n.jsx)(`div`,{className:(0,g.default)(d),children:r}),(0,n.jsx)(`div`,{className:`pkt-linkcard__text`,children:e})]})};ra.displayName=`PktLinkCard`,typeof window<`u`&&(window.pktAnimationPath=window.pktAnimationPath||`https://punkt-cdn.oslo.kommune.no/16.21/animations/`);var ia=e=>{switch(e){case`blue`:return`spinner-blue`;case`rainbow`:return`spinner`;default:return`loader`}},aa=(0,t.forwardRef)(function({delay:e=0,inline:r=!1,isLoading:i=!0,message:a=null,size:o=`medium`,variant:s=`shapes`,loadingAnimationPath:c=typeof window<`u`?window.pktAnimationPath:void 0,className:l,children:u,...d},f){let[p,m]=(0,t.useState)(e===0);(0,t.useEffect)(()=>{if(e>0){m(!1);let t=setTimeout(()=>m(!0),e);return()=>clearTimeout(t)}m(!0)},[e]);let h=(0,g.default)(`pkt-loader`,r?`pkt-loader--inline`:`pkt-loader--box`,`pkt-loader--${o}`,l);return(0,n.jsxs)(`div`,{...d,ref:f,role:`status`,"aria-live":`polite`,"aria-busy":i?`true`:`false`,className:h,children:[i&&p&&(0,n.jsxs)(`div`,{className:`pkt-loader__spinner`,children:[(0,n.jsx)(O,{name:ia(s),path:c,className:`pkt-loader__svg pkt-loader__${s}`}),a&&(0,n.jsx)(`p`,{children:a})]}),(0,n.jsx)(`div`,{className:(0,g.default)(`pkt-contents`,i&&`pkt-hide`),children:u})]})});aa.displayName=`PktLoader`;var oa=({children:e,className:r,skin:i,title:a,compact:o,closable:s,onClose:c,...l})=>{let[u,d]=(0,t.useState)(!1),f={"pkt-messagebox":!0,"pkt-messagebox--compact":o,[`pkt-messagebox--${i}`]:i,"pkt-messagebox--closable":s,"pkt-hide":u},p=(0,t.createRef)(),m=(0,t.useCallback)(()=>{d(!0),c&&c()},[d,c]);return(0,n.jsxs)(`div`,{...l,className:(0,g.default)(f,r),ref:p,children:[s&&(0,n.jsx)(`div`,{className:`pkt-messagebox__close`,children:(0,n.jsx)(`button`,{onClick:m,className:`pkt-btn pkt-btn--tertiary pkt-btn--small pkt-btn--icon-only`,"aria-label":`Lukk`,children:(0,n.jsx)(O,{name:`close`,className:`pkt-link__icon`})})}),a&&(0,n.jsx)(`div`,{className:`pkt-messagebox__title`,children:a}),(0,n.jsx)(`div`,{className:`pkt-messagebox__text`,children:e})]})};oa.displayName=`PktMessagebox`;var sa=(0,t.forwardRef)(({id:e,name:t,label:r,className:i,hasTile:a=!1,disabled:o=!1,checkHelptext:s,hasError:c=!1,defaultChecked:l,checked:u,optionalTag:d,optionalText:f,requiredTag:p,requiredText:m,tagText:h,...g},_)=>{let v=[i,`pkt-input-check`].filter(Boolean).join(` `),y=[`pkt-input-check__input`,a?`pkt-input-check__input--tile`:``,o&&a?`pkt-input-check__input--tile-disabled`:``].filter(Boolean).join(` `),b=[`pkt-input-check__input-checkbox`,c?`pkt-input-check__input-checkbox--error`:``].filter(Boolean).join(` `),x=[`pkt-input-check__input-label`,o?`pkt-input-check__input-label--disabled`:``].filter(Boolean).join(` `),S=[`pkt-tag`,`pkt-tag--small`,`pkt-tag--thin-text`].join(` `),C=()=>(0,n.jsxs)(n.Fragment,{children:[h&&(0,n.jsx)(`span`,{className:S+` pkt-tag--gray`,children:h}),d&&(0,n.jsx)(`span`,{className:S+` pkt-tag--blue-light`,children:f}),p&&(0,n.jsx)(`span`,{className:S+` pkt-tag--beige`,children:m})]});return(0,n.jsx)(`div`,{className:v,children:(0,n.jsxs)(`div`,{className:y,children:[(0,n.jsx)(`input`,{ref:_,id:e,type:`radio`,name:t,disabled:o,className:b,...u===void 0?{defaultChecked:l}:{checked:u},...g}),(0,n.jsxs)(`label`,{className:x,htmlFor:e,children:[r,` `,C(),s&&(0,n.jsx)(`div`,{className:`pkt-input-check__input-helptext`,children:s})]})]})})});sa.displayName=`PktRadioButton`;var ca=(0,t.forwardRef)(({appearance:e=`local`,disabled:t=!1,fullwidth:r=!1,id:i,label:a,name:o,placeholder:s=`Søk…`,suggestions:c,value:l=``,action:u,method:d,onChange:f,onSearch:p,onSuggestionClick:m,...h},g)=>{let _=(e,t)=>{e?e():m&&m(t)},v=e=>{l=e.target.value},y={role:`search`,className:`pkt-searchinput pkt-searchinput--${e} ${r?`pkt-searchinput--fullwidth`:``}`,...$t()},b=e=>u?(0,n.jsx)(`form`,{...y,action:u,method:d,children:e}):(0,n.jsx)(`div`,{...y,children:e}),x=e=>(0,n.jsxs)(n.Fragment,{children:[e.title&&(0,n.jsx)(`h3`,{className:`pkt-searchinput__suggestion-title`,children:e.title}),e.text&&(0,n.jsx)(`p`,{className:`pkt-searchinput__suggestion-text`,children:e.text})]}),S=e=>[`pkt-searchinput__suggestion`,e.onClick?`pkt-link-button`:``].filter(Boolean).join(` `);return b((0,n.jsxs)(n.Fragment,{children:[a&&(0,n.jsx)(`label`,{htmlFor:a?i:void 0,className:a?`pkt-inputwrapper__label`:``,children:a}),(0,n.jsxs)(`div`,{className:e===`local`?`pkt-input__container`:`pkt-searchinput__field`,children:[(0,n.jsx)(`input`,{className:`pkt-input ${r?`pkt-input--fullwidth`:``}`,type:`search`,name:o||i,id:i,placeholder:s,defaultValue:l,disabled:t,autoComplete:`off`,"aria-autocomplete":`list`,ref:g,"aria-controls":`${i}-suggestions`,onChange:f||v,onKeyUp:p&&(e=>{e.key===`Enter`&&(e.preventDefault(),p(l))}),...h}),(0,n.jsx)(k,{className:`pkt-searchinput__button ${e===`local`?`pkt-input-icon`:``}`,variant:`icon-only`,iconName:`magnifying-glass-big`,skin:e===`local`?`tertiary`:`primary`,color:e===`global`?`yellow`:void 0,type:`submit`,disabled:t,onClick:p&&(e=>{e.preventDefault(),p(l)}),children:a||s})]}),c&&(0,n.jsx)(`ul`,{id:`${i}-suggestions`,className:`pkt-searchinput__suggestions`,"aria-live":`assertive`,children:c.map((e,t)=>e.href?(0,n.jsx)(`li`,{children:(0,n.jsx)(`a`,{href:e.href,className:S(e),onClick:()=>_(e.onClick,t),children:x(e)})},`search-suggestion-${t}`):e.nonInteractive?(0,n.jsx)(`li`,{children:(0,n.jsx)(`div`,{className:`pkt-searchinput__suggestion`,children:x(e)})},`search-suggestion-${t}`):(0,n.jsx)(`li`,{children:(0,n.jsx)(`button`,{type:`button`,className:S(e),onClick:()=>_(e.onClick,t),children:x(e)})},`search-suggestion-${t}`))})]}))});ca.displayName=`PktSearchInput`;var la=(0,t.forwardRef)(({ariaDescribedby:e,ariaLabelledby:t,children:r,className:i,disabled:a=!1,errorMessage:o,hasError:s,helptext:c,helptextDropdown:l,helptextDropdownButton:u,id:d,inline:f=!1,fullwidth:p=!1,label:m,name:h,optionalTag:g=!1,optionalText:_,requiredTag:v=!1,requiredText:y,tagText:b,...x},S)=>(0,n.jsx)(rn,{className:[i,`pkt-select`].join(` `),forId:`${d}-input`,label:m,helptext:c,helptextDropdown:l,helptextDropdownButton:u,optionalTag:g,optionalText:_,requiredTag:v,requiredText:y,tagText:b,hasError:s,errorMessage:o,disabled:a,inline:f,ariaDescribedby:e,children:(0,n.jsx)(`select`,{ref:S,className:`pkt-input ${p?`pkt-input--fullwidth`:``}`,"aria-invalid":s,"aria-errormessage":`${d}-error`,"aria-labelledby":t||void 0,disabled:a,id:`${d}-input`,name:h||d,...x,children:r})}));la.displayName=`PktSelect`;var ua=(0,n.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,fill:`none`,children:(0,n.jsx)(`circle`,{cx:`12`,cy:`12`,r:`7`,style:{fill:`var(--pkt-color-grays-grey-200, #CCC)`}})}),da=(0,n.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,fill:`none`,children:[(0,n.jsx)(`circle`,{opacity:`.15`,cx:`12`,cy:`12`,r:`12`,fill:`#2A2859`}),(0,n.jsx)(`circle`,{cx:`12`,cy:`12`,r:`6`,fill:`#2A2859`})]}),fa=(0,n.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,fill:`none`,children:[(0,n.jsx)(`path`,{fill:`#2A2859`,d:`M3 3h18v18H3z`}),(0,n.jsx)(`path`,{d:`m10.34 16-1.11-1.14L7 12.58l1.11-1.15 2.23 2.28L15.88 8 17 9.15l-5.55 5.71L10.34 16Z`,fill:`#F1FDFF`})]}),pa=({children:e,className:t,status:r=`incomplete`,title:i})=>(0,n.jsxs)(`li`,{className:(0,g.default)(`pkt-step`,t,`pkt-step--${r}`),"data-testid":`pkt-step`,children:[(0,n.jsx)(`span`,{className:`pkt-step__line pkt-step__line--1`,"aria-hidden":!0}),(0,n.jsx)(`span`,{className:`pkt-step__line pkt-step__line--2`,"aria-hidden":!0}),(0,n.jsx)(`span`,{className:(0,g.default)(`pkt-step__indicator`),children:r===`current`?da:r===`completed`?fa:ua}),(0,n.jsx)(`span`,{className:`pkt-step__line pkt-step__line--3`,"aria-hidden":!0}),(0,n.jsxs)(`div`,{className:`pkt-step__wrapper`,children:[(0,n.jsx)(`div`,{className:`pkt-step__title`,children:i}),(0,n.jsx)(`div`,{className:`pkt-step__content`,children:e})]})]}),ma=(0,t.forwardRef)(({activeStep:e,className:r,children:i,hideNonActiveSteps:a=!1,hideNonActiveStepsContent:o=!0,orientation:s=`vertical`,...c},l)=>{let u=(0,g.default)(r,`pkt-stepper`,s===`horizontal`?`pkt-stepper--horizontal`:`pkt-stepper--vertical`),d=t.Children.map(i,(n,r)=>(0,t.isValidElement)(n)?(0,t.cloneElement)(n,{className:(0,g.default)(n.props.className,{"pkt-step--hideStep":a&&r!==e,"pkt-step--hideContent":o&&r!==e})}):n);return(0,n.jsx)(`ol`,{"data-testid":`pkt-stepper`,className:u,ref:l,...c,children:d})});ma.displayName=`PktStepper`;var ha=({className:e,compact:t=!1,skin:r=`basic`,responsiveView:i=!0,children:a,...o})=>(0,n.jsx)(`table`,{"data-testid":`pkt-table`,className:(0,g.default)(e,`pkt-table`,{"pkt-table--responsive":i,"pkt-table--compact":t,"pkt-table--basic":r===`basic`,"pkt-table--zebra-blue":r===`zebra-blue`}),role:`table`,...o,children:a}),ga=({id:e,children:t,className:r,...i})=>(0,n.jsx)(`tbody`,{id:e,className:(0,g.default)(r,`pkt-table__body`,{}),...i,role:`rowgroup`,children:t}),_a=({children:e,className:t,dataLabel:r,...i})=>(0,n.jsx)(`td`,{className:(0,g.default)(t,`pkt-table__data-cell`,{}),"data-label":r,role:`cell`,"data-testid":`pkt-table__data-cell`,...i,children:e}),va=({className:e,children:t,...r})=>(0,n.jsx)(`thead`,{className:(0,g.default)(e,`pkt-table__header`,{}),role:`rowgroup`,...r,children:t}),ya=({className:e,children:t,...r})=>(0,n.jsx)(`th`,{className:(0,g.default)(e,`pkt-table__header-cell`,{}),role:`columnheader`,...r,children:t}),ba=({className:e,children:t,...r})=>(0,n.jsx)(`tr`,{className:(0,g.default)(e,`pkt-table__row`,{}),role:`row`,...r,children:t}),xa=(0,t.forwardRef)(({children:e,active:t,disabled:r=!1,href:i,onClick:a,icon:o,controls:s,tag:c,tagSkin:l,index:u=0},d)=>{let{arrowNav:f,registerTabRef:p,handleKeyPress:m,selectTab:h}=Ca(),g=!!t&&!r,_={"aria-selected":f?g:void 0,"aria-controls":s,role:f?`tab`:void 0,onKeyDown:e=>{if(r&&(e.key===`Enter`||e.key===` `||e.key===`Spacebar`)){e.preventDefault(),e.stopPropagation();return}m(u,e)},onClick:e=>{if(r){e.preventDefault(),e.stopPropagation();return}h(u),a?.(e)},tabIndex:r?-1:g||!f?void 0:-1,ref:e=>{p(u,e,r),typeof d==`function`?d(e):d&&(d.current=e)}},v=(0,n.jsxs)(n.Fragment,{children:[o&&(0,n.jsx)(O,{name:o,className:`pkt-icon--small ${o===`check`?`pkt-tabs__status-icon`:``}`}),e,c&&(0,n.jsx)(Xt,{skin:l,size:`small`,children:c})]});return i?(0,n.jsx)(`a`,{..._,href:r?void 0:i,"aria-disabled":r||void 0,className:`pkt-tabs__link ${g?`active`:``} ${r?`pkt-tabs__item--disabled`:``}`,children:v}):(0,n.jsx)(`button`,{..._,type:`button`,disabled:r,"aria-disabled":r||void 0,className:`pkt-tabs__button pkt-link-button ${g?`active`:``} ${r?`pkt-tabs__item--disabled`:``}`,children:v})});xa.displayName=`PktTabItem`;var Sa=(0,t.createContext)(null),Ca=()=>{let e=(0,t.useContext)(Sa);if(!e)throw Error(`TabItem must be used within a Tabs component`);return e},wa=(0,t.forwardRef)(({arrowNav:e=!0,disableArrowNav:r=!1,separatorIconName:i,separatorIconPath:a,tabs:o,onTabSelected:s,children:c},l)=>{let u=(0,t.useRef)([]),d=(0,t.useRef)({}),f=e&&!r,p=t.Children.toArray(c),m=p.length>0,h=m?p.length:o?.length||0,g=!!(i||a);(0,t.useEffect)(()=>{u.current=u.current.slice(0,h),Object.keys(d.current).forEach(e=>{let t=Number(e);t>=h&&delete d.current[t]})},[h]);let _=e=>o?!!o[e]?.disabled:!!d.current[e],v=e=>{if(_(e))return;let t=o?.[e];t?.action&&t.action(e),s&&s(e)},y=(e,t)=>{let n=e+t;for(;n>=0&&n<h;){if(!_(n))return n;n+=t}return null},b=(e,t)=>{if(f){if(t.key===`ArrowLeft`){t.preventDefault();let n=y(e,-1);n!==null&&u.current[n]?.focus()}if(t.key===`ArrowRight`){t.preventDefault();let n=y(e,1);n!==null&&u.current[n]?.focus()}(t.key===`Enter`||t.key===` `||t.key===`Spacebar`||t.key===`ArrowDown`)&&(t.preventDefault(),_(e)||v(e))}},x=(e,t,n=!1)=>{u.current[e]=t,d.current[e]=n},S=e=>(0,n.jsx)(`span`,{className:`pkt-tabs__separator`,"aria-hidden":`true`,role:`presentation`,children:a?(0,n.jsx)(`img`,{src:a,alt:``,"aria-hidden":`true`}):i?(0,n.jsx)(O,{name:i,className:`pkt-tabs__separator-icon`}):null},e),C=e=>!g||e.length<=1?e:e.flatMap((t,n)=>n<e.length-1?[t,S(`separator-${n}`)]:[t]),w=o?.map((e,t)=>(0,n.jsx)(xa,{active:e.disabled?!1:e.active,disabled:e.disabled,href:e.href,icon:e.icon,controls:e.controls,tag:e.tag?.text,tagSkin:e.tag?.skin,index:t,children:e.text},t)),ee=[`pkt-tabs`,g&&`pkt-tabs--with-separator`].filter(Boolean).join(` `),T=C(m?p:w||[]);return(0,n.jsx)(Sa.Provider,{value:{arrowNav:f,registerTabRef:x,handleKeyPress:b,selectTab:v},children:(0,n.jsx)(`div`,{className:ee,ref:l,children:(0,n.jsx)(`div`,{className:`pkt-tabs__list`,role:f?`tablist`:`navigation`,children:T})})})});wa.displayName=`PktTabs`;var Ta=e=>e?Math.max(1,Math.round(e/60)):1,Ea=(e,t)=>{let n=e?parseInt(String(e).split(`:`)[0],10):0,r=t?parseInt(String(t).split(`:`)[0],10):23;return Array.from({length:r-n+1},(e,t)=>t+n)},Da=e=>{let t=Ta(e);return Array.from({length:Math.floor(60/t)},(e,n)=>n*t)},Oa=(e,t,n,r)=>{let i=e===``?n===1?0:23:parseInt(e,10),a=t===``?n===1?0:Math.floor(59/r)*r:parseInt(t,10);return a+=n*r,a>59?(a=0,i=(i+1)%24):a<0&&(a=Math.floor(59/r)*r,i=(i-1+24)%24),{hours:String(i).padStart(2,`0`),minutes:String(a).padStart(2,`0`)}},ka=e=>/^\d{2}:\d{2}$/.test(e)&&parseInt(e.slice(0,2),10)<=23&&parseInt(e.slice(3),10)<=59,Aa=e=>{let[t,n]=e.split(`:`).map(Number);return t*60+n},ja={required:`Dette feltet er påkrevd`,invalid:`Ugyldig verdi`,timeStepMismatch:`Må treffe på et steg, for eksempel 0, {step} minutter`,timeStepMismatchHour:`Må treffe på hver hele time`,timeStepMismatchHalfHour:`Må treffe på hver hele eller halve time`,rangeUnderflowMin:`Verdien må være større enn eller lik {min}.`,rangeOverflowMax:`Verdien må være mindre enn eller lik {max}.`};function Ma(e){if(e&&ka(e)){let[t,n]=e.split(`:`);return[t,n]}return[``,``]}function Na(e,t){return`${String(parseInt(e,10)).padStart(2,`0`)}:${String(parseInt(t,10)).padStart(2,`0`)}`}function Pa(e,t){let{required:n,min:r,max:i,step:a}=t;if(n&&!e)return{valid:!1,message:ja.required};if(!e)return{valid:!0};if(!ka(e))return{valid:!1,message:ja.invalid};let o=Aa(e),s=Ta(a);return r&&o<Aa(String(r))?{valid:!1,message:ja.rangeUnderflowMin.replace(`{min}`,String(r))}:i&&o>Aa(String(i))?{valid:!1,message:ja.rangeOverflowMax.replace(`{max}`,String(i))}:a&&o%s!==0?{valid:!1,message:s===60?ja.timeStepMismatchHour:s===30?ja.timeStepMismatchHalfHour:ja.timeStepMismatch.replace(`{step}`,`${s}, ${s*2}, ${s*3}`)}:{valid:!0}}function Fa(e){return e===3600||e<3600&&3600%e==0&&e%60==0}function Ia(e,n){let{id:r,label:i,value:a,defaultValue:o,min:s,max:c,step:l=60,hidePicker:u=!1,stepArrows:d=!1,fullwidth:f=!1,name:p,disabled:m=!1,required:h=!1,helptext:g,helptextDropdown:_,helptextDropdownButton:v,hasError:y=!1,errorMessage:b,optionalTag:x=!1,optionalText:S,requiredTag:C=!1,requiredText:w,tagText:ee,inline:T=!1,useWrapper:E=!0,ariaDescribedby:D,strings:O,className:te,onValueChange:k,onFocus:A,onBlur:ne}=e,j=(0,t.useMemo)(()=>O??er,[O]),M=a!==void 0,re=a===void 0?o??``:a??``,ie=(0,t.useRef)(re),[ae,N]=(0,t.useState)(()=>re),P=M?a??``:ae,[F,oe]=(0,t.useState)(()=>Ma(a===void 0?o:a)[0]),[I,L]=(0,t.useState)(()=>Ma(a===void 0?o:a)[1]),R=(0,t.useRef)(F),z=(0,t.useRef)(I),B=(0,t.useCallback)(e=>{R.current=e,oe(e)},[]),V=(0,t.useCallback)(e=>{z.current=e,L(e)},[]),[se,H]=(0,t.useState)(!1),[U,W]=(0,t.useState)(!1),G=(0,t.useRef)(a);(0,t.useEffect)(()=>{if(!M||a===G.current)return;G.current=a;let[e,t]=Ma(a);B(e),V(t)},[a,M,B,V]),(0,t.useEffect)(()=>{l!=null&&!Fa(l)&&console.warn(`PktTimepicker: step="${l}" er ikke en gyldig verdi. Step må være et multiplum av 60 (hele minutter) eller nøyaktig 3600 (hel time).`)},[l]);let ce=(0,t.useRef)(null),K=(0,t.useRef)(null),q=(0,t.useRef)(null),J=(0,t.useRef)(null),le=(0,t.useRef)(null),Y=(0,t.useRef)(null),ue=(0,t.useRef)(0),de=(0,t.useRef)(-1),fe=(0,t.useRef)(0),pe=(0,t.useRef)(-1),[me,he]=(0,t.useState)(!1),ge=(0,t.useMemo)(()=>Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,`value`)?.set,[]),_e=(0,t.useMemo)(()=>Ta(l),[l]),ve=(0,t.useMemo)(()=>Ea(s,c),[s,c]),ye=(0,t.useMemo)(()=>Da(l),[l]),be=`${r}-hours`,xe=`${r}-minutes`,Se=`${r}-popup`,Ce=`${r}-input`;(0,t.useEffect)(()=>{let e=ce.current;if(!e)return;let t=Pa(P,{required:h,min:s,max:c,step:l});e.setCustomValidity(t.valid?``:t.message??``),W(me&&!t.valid)},[P,h,s,c,l,me]);let X=(0,t.useCallback)(e=>{M||N(e);let t=Y.current;!t||!ge||(ge.call(t,e),t.dispatchEvent(new Event(`input`,{bubbles:!0})),k?.(e))},[M,ge,k]),we=(0,t.useCallback)(()=>{let e=R.current,t=z.current;if(e!==``&&t!==``){let n=Na(e,t);n!==P&&X(n)}else P!==``&&X(``)},[P,X]),Z=(0,t.useCallback)(()=>{let e=R.current,t=z.current;if(e!==``&&t!==``){let n=Na(e,t);n===P?Y.current?.dispatchEvent(new Event(`input`,{bubbles:!0})):X(n)}else P===``?Y.current?.dispatchEvent(new Event(`input`,{bubbles:!0})):X(``)},[P,X]),Q=(0,t.useCallback)(()=>{he(!0),we();let e=ce.current,t=Y.current;if(!e)return;let n=Pa(t?.value??``,{required:h,min:s,max:c,step:l});e.setCustomValidity(n.valid?``:n.message??``)},[we,h,s,c,l]);(0,t.useEffect)(()=>{let e=le.current?.closest(`form`);if(!e)return;let t=t=>{let n=t;if(!n||!e.contains(n))return!1;let r=n.closest(`button, input[type="submit"], input[type="image"]`);return!r||!e.contains(r)?!1:r instanceof HTMLButtonElement?r.type!==`button`&&r.type!==`reset`:r instanceof HTMLInputElement},n=e=>{t(e.target)&&Q()};return e.addEventListener(`pointerdown`,n,!0),()=>e.removeEventListener(`pointerdown`,n,!0)},[Q]),(0,t.useEffect)(()=>{Y.current&&(Y.current.value=P)},[P]);let $=(0,t.useCallback)(()=>{H(!1),we()},[we]);(0,t.useLayoutEffect)(()=>{if(!se)return;let e=J.current;if(!e)return;e.querySelectorAll(`.pkt-timepicker-popup__col`).forEach(e=>{let t=e.querySelector(`.pkt-timepicker-popup__option--selected`);t&&t.scrollIntoView({block:`center`})});let t=e.querySelectorAll(`.pkt-timepicker-popup__col`)[0];if(!t)return;let n=t.querySelector(`.pkt-timepicker-popup__option--selected`),r=t.querySelector(`.pkt-timepicker-popup__option`);(n||r)?.focus()},[se]),(0,t.useEffect)(()=>{if(!se)return;let e=e=>{let t=e.target;le.current&&!le.current.contains(t)&&$()};return document.addEventListener(`click`,e,!0),()=>document.removeEventListener(`click`,e,!0)},[se,$]);let Te=(0,t.useCallback)(e=>{let t=J.current;if(!t)return;let n=t.querySelectorAll(`.pkt-timepicker-popup__col`),r=e===`hour`?n[0]:n[1];if(!r)return;let i=r.querySelector(`.pkt-timepicker-popup__option--selected`),a=r.querySelector(`.pkt-timepicker-popup__option`);(i||a)?.focus()},[]),Ee=(0,t.useCallback)((e,t)=>{let n=String(e).padStart(2,`0`);if(t===`hour`)B(n),requestAnimationFrame(()=>Te(`minute`));else{V(n),H(!1);let e=R.current;e!==``&&X(`${e}:${n}`),requestAnimationFrame(()=>q.current?.focus())}},[X,Te,B,V]),De=(0,t.useCallback)(e=>{let t=Oa(R.current,z.current,e,_e);B(t.hours),V(t.minutes),`${t.hours}:${t.minutes}`!==P&&X(`${t.hours}:${t.minutes}`)},[_e,P,X,B,V]),Oe=(0,t.useCallback)(e=>{ce.current?.setCustomValidity(``);let t=e.currentTarget,n=z.current;switch(e.key){case`ArrowUp`:{e.preventDefault();let t=R.current===``?0:parseInt(R.current,10),r=String((t+1)%24).padStart(2,`0`);if(B(r),n!==``){let e=`${r}:${n}`;e===P?Y.current?.dispatchEvent(new Event(`input`,{bubbles:!0})):X(e)}break}case`ArrowDown`:{e.preventDefault();let t=R.current===``?0:parseInt(R.current,10),r=String((t-1+24)%24).padStart(2,`0`);if(B(r),n!==``){let e=`${r}:${n}`;e===P?Y.current?.dispatchEvent(new Event(`input`,{bubbles:!0})):X(e)}break}case`ArrowRight`:e.preventDefault(),K.current?.focus();break;case`Backspace`:case`Delete`:{e.preventDefault(),ue.current=0,de.current=-1;let t=R.current;t.length>0&&B(t.slice(0,-1)),Z();break}case`Tab`:break;case`Enter`:{e.preventDefault(),Q();let n=t.form;n?n.requestSubmit():t.blur();break}default:if(/^\d$/.test(e.key)){e.preventDefault();let t=parseInt(e.key,10);if(ue.current===0)de.current=t,B(String(t).padStart(2,`0`)),ue.current=1,Y.current?.dispatchEvent(new Event(`input`,{bubbles:!0})),t>=3&&(de.current=-1,ue.current=0,Z(),K.current?.focus());else{let e=de.current*10+t;B(e<=23?String(e).padStart(2,`0`):String(t).padStart(2,`0`)),de.current=-1,ue.current=0,Z(),K.current?.focus()}}else e.preventDefault()}},[P,X,B,Z,Q]),ke=(0,t.useCallback)(()=>{he(!0),R.current!==``&&B(String(parseInt(R.current,10)).padStart(2,`0`)),ue.current=0,de.current=-1,we()},[B,we]),Ae=(0,t.useCallback)(e=>{ce.current?.setCustomValidity(``);let t=e.currentTarget,n=R.current;switch(e.key){case`ArrowUp`:{e.preventDefault();let t=z.current===``?0:parseInt(z.current,10),r=String((t+_e)%60).padStart(2,`0`);if(V(r),n!==``){let e=`${n}:${r}`;e===P?Y.current?.dispatchEvent(new Event(`input`,{bubbles:!0})):X(e)}break}case`ArrowDown`:{e.preventDefault();let t=z.current===``?0:parseInt(z.current,10),r=String((t-_e+60)%60).padStart(2,`0`);if(V(r),n!==``){let e=`${n}:${r}`;e===P?Y.current?.dispatchEvent(new Event(`input`,{bubbles:!0})):X(e)}break}case`ArrowLeft`:e.preventDefault(),ce.current?.focus();break;case`Backspace`:case`Delete`:{e.preventDefault(),fe.current=0,pe.current=-1;let t=z.current;t.length>0&&V(t.slice(0,-1)),Z();break}case`Tab`:break;case`Enter`:{e.preventDefault(),Q();let n=t.form;n?n.requestSubmit():t.blur();break}default:if(/^\d$/.test(e.key)){e.preventDefault();let t=parseInt(e.key,10);if(fe.current===0)pe.current=t,V(String(t).padStart(2,`0`)),fe.current=1,Y.current?.dispatchEvent(new Event(`input`,{bubbles:!0})),t>=6&&(pe.current=-1,fe.current=0,Z());else{let e=pe.current*10+t;V(e<=59?String(e).padStart(2,`0`):String(t).padStart(2,`0`)),pe.current=-1,fe.current=0,Z()}}else e.preventDefault()}},[_e,P,X,V,Z,Q]),je=(0,t.useCallback)(()=>{he(!0),z.current!==``&&V(String(parseInt(z.current,10)).padStart(2,`0`)),fe.current=0,pe.current=-1,we()},[V,we]),Me=(0,t.useCallback)(e=>{let t=document.activeElement,n=t.closest(`.pkt-timepicker-popup__col`);if(!n)return;let r=Array.from(n.querySelectorAll(`.pkt-timepicker-popup__option`)),i=r.indexOf(t),a=e=>{if(!e)return;let n=parseInt(e.dataset.value??`0`,10),r=String(n).padStart(2,`0`);t.dataset.type===`hour`?B(r):V(r),e.focus()};switch(e.key){case`ArrowDown`:e.preventDefault(),a(r[Math.min(i+1,r.length-1)]);break;case`ArrowUp`:e.preventDefault(),a(r[Math.max(i-1,0)]);break;case`Home`:e.preventDefault(),a(r[0]);break;case`End`:e.preventDefault(),a(r[r.length-1]);break;case`ArrowRight`:if(e.preventDefault(),t.dataset.type===`hour`){let e=parseInt(t.dataset.value??`0`,10);B(String(e).padStart(2,`0`)),requestAnimationFrame(()=>{J.current?.querySelectorAll(`.pkt-timepicker-popup__col`).forEach(e=>{e.querySelector(`.pkt-timepicker-popup__option--selected`)?.scrollIntoView({block:`center`})}),Te(`minute`)})}break;case`ArrowLeft`:if(e.preventDefault(),t.dataset.type===`minute`){let e=parseInt(t.dataset.value??`0`,10);V(String(e).padStart(2,`0`)),requestAnimationFrame(()=>{J.current?.querySelectorAll(`.pkt-timepicker-popup__col`).forEach(e=>{e.querySelector(`.pkt-timepicker-popup__option--selected`)?.scrollIntoView({block:`center`})}),Te(`hour`)})}break;case`Enter`:case` `:e.preventDefault(),t.click();break;case`Escape`:e.preventDefault(),$(),q.current?.focus();break;default:break}},[$,Te,B,V]),Ne=(0,t.useCallback)(e=>{let t=J.current;if(!t)return;let n=e.relatedTarget;(!n||!t.contains(n))&&$()},[$]),Pe=(0,t.useCallback)(e=>{let t=le.current;if(!t)return;let n=e.relatedTarget;n&&t.contains(n)||A?.(e)},[A]),Fe=(0,t.useCallback)(e=>{let t=le.current;if(!t)return;let n=e.relatedTarget;n&&t.contains(n)||ne?.(e)},[ne]),Ie=(0,t.useCallback)(()=>{m||(se?$():H(!0))},[m,se,$]);return(0,t.useImperativeHandle)(n,()=>({get value(){return Y.current?.value??``},set value(e){let t=e??``;M||N(t);let[n,r]=Ma(t);B(n),V(r),Y.current&&(Y.current.value=t)},focus(){ce.current?.focus()},blur(){ce.current?.blur()}}),[M,B,V]),(0,t.useEffect)(()=>{let e=le.current?.closest(`form`);if(!e)return;let t=()=>{window.setTimeout(()=>{let e=ie.current,[t,n]=Ma(e);B(t),V(n),M||N(e),Y.current&&(Y.current.value=e),H(!1),he(!1)},0)};return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)},[M,B,V]),{id:r,containerRef:le,outerClasses:[`pkt-timepicker`,f?`pkt-timepicker--fullwidth`:``,d?`pkt-timepicker--stepper`:``,te??``].filter(Boolean).join(` `),strings:j,label:i,disabled:m,required:h,helptext:g,helptextDropdown:_,helptextDropdownButton:v,hasError:y,isInvalid:U,errorMessage:b,optionalTag:x,optionalText:S,requiredTag:C,requiredText:w,tagText:ee,inline:T,useWrapper:E,ariaDescribedby:D,hidePicker:u,stepArrows:d,min:s,max:c,step:l,hours:F,minutes:I,hoursId:be,minutesId:xe,popupId:Se,hiddenInputId:Ce,name:p??r,isOpen:se,hourOptions:ve,minuteOptions:ye,hoursInputRef:ce,minutesInputRef:K,buttonRef:q,popupRef:J,changeInputRef:Y,handleHoursKeydown:Oe,handleHoursBlur:ke,handleMinutesKeydown:Ae,handleMinutesBlur:je,handlePopupKeydown:Me,handlePopupFocusOut:Ne,handleFocusIn:Pe,handleFocusOut:Fe,handleOptionClick:Ee,handleClockButtonClick:Ie,closePopup:$,stepTimeDelta:De,effectiveValue:P}}var La=(0,t.forwardRef)((e,t)=>{let{onChange:r,onInput:i}=e,a=Ia(e,t),o=a.strings.hours,s=a.strings.minutes,c=a.label?`${o}, ${a.label}`:o,l=a.label?`${s}, ${a.label}`:s,u=(e,t)=>{let r=String(e).padStart(2,`0`),i=e===(t===`hour`?a.hours===``?NaN:parseInt(a.hours,10):a.minutes===``?NaN:parseInt(a.minutes,10));return(0,n.jsx)(`button`,{type:`button`,className:[`pkt-btn`,`pkt-btn--tertiary`,`pkt-btn--small`,`pkt-btn--label-only`,`pkt-timepicker-popup__option`,i?`pkt-timepicker-popup__option--selected`:``].filter(Boolean).join(` `),role:`option`,"aria-selected":i?`true`:`false`,tabIndex:i?0:-1,"data-type":t,"data-value":e,onClick:n=>{n.stopPropagation(),a.handleOptionClick(e,t)},children:(0,n.jsx)(`span`,{className:`pkt-btn__text pkt-txt-14-light`,children:r})},`${t}-${e}`)},d=()=>(0,n.jsxs)(`div`,{ref:a.popupRef,className:`pkt-timepicker-popup`,id:a.popupId,hidden:!a.isOpen,role:`group`,"aria-label":a.strings.selectTime,onKeyDown:a.handlePopupKeydown,onBlur:a.handlePopupFocusOut,children:[(0,n.jsx)(`div`,{className:`pkt-timepicker-popup__col`,role:`listbox`,"aria-label":o,"aria-orientation":`vertical`,children:a.hourOptions.map(e=>u(e,`hour`))}),(0,n.jsx)(`div`,{className:`pkt-timepicker-popup__col`,role:`listbox`,"aria-label":s,"aria-orientation":`vertical`,children:a.minuteOptions.map(e=>u(e,`minute`))})]}),f=()=>(0,n.jsxs)(`div`,{className:`pkt-input__container`,onClick:e=>{e.target.closest(`button, input`)||a.hoursInputRef.current?.focus()},children:[a.stepArrows&&(0,n.jsxs)(`button`,{type:`button`,className:`pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-timepicker__button pkt-timepicker__button--prev`,"aria-label":a.strings.prevTime,disabled:a.disabled,onClick:()=>a.stepTimeDelta(-1),children:[(0,n.jsx)(O,{name:`chevron-thin-left`}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:a.strings.prevTime})]}),(0,n.jsx)(`input`,{ref:a.hoursInputRef,type:`text`,inputMode:`numeric`,maxLength:2,size:2,className:`pkt-input pkt-timepicker__input`,id:a.hoursId,"data-min":`0`,"data-max":`23`,value:a.hours,placeholder:`––`,"aria-label":c,role:`spinbutton`,"aria-invalid":a.hasError||a.isInvalid||void 0,"aria-valuemin":0,"aria-valuemax":23,"aria-valuenow":a.hours===``?void 0:parseInt(a.hours,10),"aria-valuetext":a.hours===``?void 0:`${a.hours} ${o.toLowerCase()}`,autoComplete:`off`,disabled:a.disabled,onKeyDown:a.handleHoursKeydown,onBlur:a.handleHoursBlur,onFocus:e=>{e.currentTarget.select()},onChange:()=>{},onPaste:e=>e.preventDefault()}),(0,n.jsx)(`span`,{className:`pkt-timepicker__separator`,children:`:`}),(0,n.jsx)(`input`,{ref:a.minutesInputRef,type:`text`,inputMode:`numeric`,maxLength:2,size:2,className:`pkt-input pkt-timepicker__input`,id:a.minutesId,"data-min":`0`,"data-max":`59`,value:a.minutes,placeholder:`––`,"aria-label":l,role:`spinbutton`,"aria-invalid":a.hasError||a.isInvalid||void 0,"aria-valuemin":0,"aria-valuemax":59,"aria-valuenow":a.minutes===``?void 0:parseInt(a.minutes,10),"aria-valuetext":a.minutes===``?void 0:`${a.minutes} ${s.toLowerCase()}`,autoComplete:`off`,disabled:a.disabled,onKeyDown:a.handleMinutesKeydown,onBlur:a.handleMinutesBlur,onFocus:e=>{e.currentTarget.select()},onChange:()=>{},onPaste:e=>e.preventDefault()}),a.hidePicker&&!a.stepArrows&&(0,n.jsx)(O,{className:`pkt-input-icon pkt-timepicker__icon`,name:`clock`,"aria-hidden":!0}),!a.hidePicker&&!a.stepArrows&&(0,n.jsxs)(`button`,{ref:a.buttonRef,type:`button`,className:`pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-timepicker__button`,"aria-label":a.strings.openPicker,"aria-haspopup":`listbox`,"aria-expanded":a.isOpen,"aria-controls":a.popupId,disabled:a.disabled,onClick:a.handleClockButtonClick,children:[(0,n.jsx)(O,{name:`clock`}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:a.strings.openPicker})]}),a.stepArrows&&(0,n.jsxs)(`button`,{type:`button`,className:`pkt-input-icon pkt-btn pkt-btn--icon-only pkt-btn--tertiary pkt-timepicker__button pkt-timepicker__button--next`,"aria-label":a.strings.nextTime,disabled:a.disabled,onClick:()=>a.stepTimeDelta(1),children:[(0,n.jsx)(O,{name:`chevron-thin-right`}),(0,n.jsx)(`span`,{className:`pkt-btn__text`,children:a.strings.nextTime})]}),(0,n.jsx)(`input`,{ref:a.changeInputRef,type:`time`,hidden:!0,name:a.name,id:a.hiddenInputId,disabled:a.disabled,tabIndex:-1,"aria-hidden":!0,onChange:r,onInput:i})]});return(0,n.jsx)(`div`,{ref:a.containerRef,className:a.outerClasses,id:a.id||void 0,onFocus:a.handleFocusIn,onBlur:a.handleFocusOut,children:(0,n.jsx)(rn,{forId:a.hoursId,label:a.label,disabled:a.disabled,hasError:a.hasError,inline:a.inline,optionalTag:a.optionalTag,optionalText:a.optionalText,requiredTag:a.requiredTag,requiredText:a.requiredText,useWrapper:a.useWrapper,ariaDescribedby:a.ariaDescribedby,errorMessage:a.errorMessage,helptext:a.helptext,helptextDropdown:a.helptextDropdown,helptextDropdownButton:a.helptextDropdownButton,tagText:a.tagText,children:!a.hidePicker&&!a.stepArrows?(0,n.jsxs)(`div`,{className:`pkt-timepicker__anchor`,children:[f(),d()]}):f()})})});La.displayName=`PktTimepicker`,e.FileItem=Sr,e.ItemRenderers=Si,e.PktAccordion=h,e.PktAccordionItem=te,e.PktAlert=A,e.PktBackLink=ne,e.PktBreadcrumbs=j,e.PktButton=k,e.PktCalendar=Yt,e.PktCard=Zt,e.PktCheckbox=Qt,e.PktCombobox=kn,e.PktConsent=Fn,e.PktDatepicker=Qn,e.PktFileUpload=Ci,e.PktFooter=wi,e.PktFooterSimple=Ti,e.PktHeader=Fi,e.PktHeaderMenu=Wi,e.PktHeaderService=Pi,e.PktHeading=ta,e.PktHelptext=nn,e.PktIcon=O,e.PktInput=na,e.PktInputWrapper=rn,e.PktLink=Oi,e.PktLinkCard=ra,e.PktLoader=aa,e.PktMessagebox=oa,e.PktModal=$r,e.PktProgressbar=Gr,e.PktRadioButton=sa,e.PktSearchInput=ca,e.PktSelect=la,e.PktStep=pa,e.PktStepper=ma,e.PktTabItem=xa,e.PktTable=ha,e.PktTableBody=ga,e.PktTableDataCell=_a,e.PktTableHeader=va,e.PktTableHeaderCell=ya,e.PktTableRow=ba,e.PktTabs=wa,e.PktTag=Xt,e.PktTextarea=Er,e.PktTextinput=Ni,e.PktTimepicker=La});