@oslokommune/punkt-elements 19.0.4 → 19.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/dist/alert-DsGNGcgd.cjs +40 -0
- package/dist/{alert-DaXpwnzT.js → alert-vIaasUjb.js} +23 -22
- package/dist/{calendar-BuSfyUR9.cjs → calendar-CtfdBqJN.cjs} +1 -1
- package/dist/{calendar-KUQ1dFeX.js → calendar-DWSW_GeN.js} +22 -22
- package/dist/{combobox-Dym_phvv.js → combobox-DHL_CGYv.js} +6 -5
- package/dist/combobox-nqNZDvBR.cjs +139 -0
- package/dist/components/alert/alert.d.ts +1 -1
- package/dist/{datepicker-Ct4dbs4e.js → datepicker-BWp2PM9S.js} +2 -2
- package/dist/{datepicker-BtEZMsWH.cjs → datepicker-DvO3w0eM.cjs} +1 -1
- package/dist/{fileupload-BVAgrofy.cjs → fileupload-DDLvQaSS.cjs} +1 -1
- package/dist/{fileupload-Dqf_94m2.js → fileupload-DbtTD1aU.js} +2 -2
- package/dist/{footer-XrX6LFHY.cjs → footer-CupUAe8d.cjs} +1 -1
- package/dist/{header-fkKhLsyE.js → header-BxgtAiNM.js} +36 -36
- package/dist/{header-menu-DYZsigfH.cjs → header-menu-DGywRJCx.cjs} +1 -1
- package/dist/{header-DMMt5FtF.cjs → header-wdEiBTI9.cjs} +14 -14
- package/dist/{input-wrapper-CvFMiqIt.js → input-wrapper-B5GdwzAM.js} +8 -7
- package/dist/input-wrapper-BmPdpY4N.cjs +59 -0
- package/dist/{listbox-DsYaWvLu.cjs → listbox-3fi7wQz4.cjs} +2 -2
- package/dist/{listbox-DcCrI15L.js → listbox-7pQ0UjKV.js} +51 -51
- package/dist/{messagebox-CdNMgTz4.cjs → messagebox-D2xvSYWI.cjs} +1 -1
- package/dist/{messagebox-D0qxveug.js → messagebox-E8W7RyAJ.js} +1 -1
- package/dist/pkt-alert.cjs +1 -1
- package/dist/pkt-alert.js +1 -1
- package/dist/pkt-calendar.cjs +1 -1
- package/dist/pkt-calendar.js +1 -1
- package/dist/pkt-combobox.cjs +1 -1
- package/dist/pkt-combobox.js +1 -1
- package/dist/pkt-datepicker.cjs +1 -1
- package/dist/pkt-datepicker.js +1 -1
- package/dist/pkt-fileupload.cjs +1 -1
- package/dist/pkt-fileupload.js +1 -1
- package/dist/pkt-footer.cjs +1 -1
- package/dist/pkt-footer.js +1 -1
- package/dist/pkt-header-menu.cjs +1 -1
- package/dist/pkt-header-menu.js +1 -1
- package/dist/pkt-header.cjs +1 -1
- package/dist/pkt-header.js +1 -1
- package/dist/pkt-index.cjs +1 -1
- package/dist/pkt-index.js +22 -22
- package/dist/pkt-input-wrapper.cjs +1 -1
- package/dist/pkt-input-wrapper.js +1 -1
- package/dist/pkt-listbox.cjs +1 -1
- package/dist/pkt-listbox.js +1 -1
- package/dist/pkt-messagebox.cjs +1 -1
- package/dist/pkt-messagebox.js +1 -1
- package/dist/pkt-select.cjs +1 -1
- package/dist/pkt-select.js +1 -1
- package/dist/pkt-textarea.cjs +1 -1
- package/dist/pkt-textarea.js +1 -1
- package/dist/pkt-textinput.cjs +1 -1
- package/dist/pkt-textinput.js +1 -1
- package/dist/pkt-timepicker.cjs +1 -1
- package/dist/pkt-timepicker.js +1 -1
- package/dist/{select-B4gbFOil.js → select-BhK8veJn.js} +1 -1
- package/dist/{select-oIF7UVvV.cjs → select-CDoA2rpC.cjs} +1 -1
- package/dist/shared-types/alert.d.ts +6 -0
- package/dist/shared-types/footer.d.ts +14 -2
- package/dist/shared-types/index.d.ts +1 -1
- package/dist/shared-utils/combobox/option-utils.d.ts +4 -4
- package/dist/{textarea-DNFX958g.cjs → textarea-BLVuKEng.cjs} +1 -1
- package/dist/{textarea-DGSMKcqK.js → textarea-sulH-Yk7.js} +1 -1
- package/dist/{textinput-Bzkdo2mN.cjs → textinput-CSrBua2N.cjs} +1 -1
- package/dist/{textinput-DpLeElI_.js → textinput-Di2lAf2R.js} +1 -1
- package/dist/{timepicker-CCNQeX5Q.js → timepicker-BaDGjuOR.js} +1 -1
- package/dist/{timepicker-DCzhlRuc.cjs → timepicker-Iq1-vWRn.cjs} +1 -1
- package/package.json +2 -2
- package/src/components/alert/alert.ts +2 -2
- package/src/components/combobox/combobox-value.ts +3 -0
- package/src/components/combobox/combobox.interaction.test.ts +37 -3
- package/src/components/combobox/combobox.selection.test.ts +50 -0
- package/dist/alert-Cfr6t5uz.cjs +0 -40
- package/dist/combobox-CNCM-Psm.cjs +0 -139
- package/dist/input-wrapper-BIrQijWT.cjs +0 -59
- package/dist/{footer-Bf6RFuia.js → footer-UT8MbnCT.js} +1 -1
- package/dist/{header-menu-CUHrJCvx.js → header-menu-CTEPH4St.js} +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),n=require("./if-defined-CjRKmMQs.cjs"),r=require("./format-B8meU8Tm.cjs");require("./alert-Cfr6t5uz.cjs"),require("./icon-Clz68-Kz.cjs");const i=require("./converters-BJ9Fe0kW.cjs"),a=require("./utils-63cRpWut.cjs");require("./input-wrapper-BIrQijWT.cjs");const o=require("./focus-trap-DSv4Ifqm.cjs");require("./modal-i3Qxv38H.cjs"),require("./progressbar-CJFGbev-.cjs");function s(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 c(e){return e<1024?`${Math.round(e)} B`:e<1048576?`${Math.round(e/1024)} KB`:e<1073741824?`${Math.round(e/1048576)} MB`:`${Math.round(e/1073741824)} GB`}function l(e){return Array.isArray(e)?e.map(e=>String(e).trim().toLowerCase()).filter(Boolean):[]}function u(e){return e?e.split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean):[]}function d(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 f(e,t){let n=l(t);if(n.length===0)return!0;let r=e.name.split(`.`).pop()?.toLowerCase()??``,i=e.type.toLowerCase();return n.some(e=>d(e,r,i))}function p(e,t){let n=(e??``).trim();if(n)return n;let r=l(t);return r.length===0?``:r.map(e=>e.includes(`/`)||e.startsWith(`.`)?e:`.${e}`).join(`, `)}function m(e){return e.includes(`/`)?e:e.replace(/^\./,``).toUpperCase()}function h(e,t){let n=l(e);if(n.length>0)return n.map(m).join(`, `);let r=u(t);return r.length>0?r.map(m).join(`, `):``}function g(e,t,n){return((e??``).trim()||t).replace(/\{(\w+)\}/g,(e,t)=>n[t]??`{${t}}`)}function _(t,n){let r=l(n.allowedFormats);if(r.length>0&&!f(t,r)){let t=r.join(`, `),i=e.s.fileupload.invalidFormat;return g(n.formatErrorMessage,i,{formats:t})}let i=s(n.maxFileSize);if(i!==void 0&&t.size>i){let t=c(i),r=e.s.fileupload.sizeTooLarge;return g(n.sizeErrorMessage,r,{maxSize:t})}if(n.onFileValidation){let e=n.onFileValidation(t);if(e)return e}return null}function v(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 y(e){return typeof e==`number`?`in-progress`:e===`error`?`error`:`idle`}function b(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[y(e.progress)]-r[y(t.progress)])}function x(e,t){return!t||t<=0||e.length<=t+3?null:{head:e.slice(0,e.length-t),tail:e.slice(-t)}}function S(e,t,n){return n<=0?0:t===`prev`?e<=0?n-1:e-1:e>=n-1?0:e+1}function C(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 w(t,n=e.s.fileupload.unknownFilename){return t.attributes?.targetFilename||t.file?.name||n}var T=class extends e.t{constructor(...e){super(...e),this.id=`pkt-fileupload-${a.n()}`,this.name=`files`,this.label=``,this.helptext=``,this.helptextDropdown=``,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.tagText=null,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.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 requiredSelectionMessage(){return this.pktStrings.get(`fileupload`).requiredMissing}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`)||e.has(`form`))&&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:a.n(),file:e,attributes:{targetFilename:e.name}})),i=this.pktStrings.get(`fileupload`);this.setAddedAnnouncement(n.length===1?r.t(i.srFileAdded,{filename:n[0].attributes.targetFilename}):r.t(i.srFilesAdded,{count:n.length}));let o=this.getCurrentFiles(),s=this.multiple?[...o,...n]:[n[0]];this.commitFiles(s,`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 v(e)}formatFileSize(e){return c(e)}getResolvedAcceptValue(){return p(this.accept,this.allowedFormats)}getSupportedFormatsText(){return h(this.allowedFormats,this.accept)}getSortedFilesAndTransfers(){return b(this.getCurrentFiles(),this.transfers,this.uploadStrategy)}validateFile(e){let t=_(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?this.pktStrings.get(`fileupload`).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}=C(this.getCurrentFiles(),this.transfers);if(e===0||t===0)return``;let n=this.pktStrings.get(`fileupload`);return r.t(n.srFilesUploadedOfTotal,{uploaded:t,total:e,label:r.n(e,n.fileLabelOne,n.fileLabelOther)})}getSrErrorsMessage(){let{totalCount:e,failedCount:t}=C(this.getCurrentFiles(),this.transfers);if(e===0||t===0)return``;let n=this.pktStrings.get(`fileupload`);return r.t(n.srFilesFailedOfTotal,{failed:t,total:e,label:r.n(e,n.fileLabelOne,n.fileLabelOther)})}get ownerForm(){if(this.form!==void 0){if(!this.form)return null;let e=this.ownerDocument?.getElementById(this.form);return e instanceof HTMLFormElement?e:null}return this.closest(`form`)}syncFormSubmitListener(){let e=this.ownerForm;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)}};e.n([e.u({type:String})],T.prototype,`id`,void 0),e.n([e.u({type:String})],T.prototype,`name`,void 0),e.n([e.u({type:String,reflect:!0})],T.prototype,`form`,void 0),e.n([e.u({type:String})],T.prototype,`label`,void 0),e.n([e.u({type:String})],T.prototype,`helptext`,void 0),e.n([e.u({type:String,attribute:`helptext-dropdown`})],T.prototype,`helptextDropdown`,void 0),e.n([e.u({type:String,attribute:`helptext-dropdown-button`})],T.prototype,`helptextDropdownButton`,void 0),e.n([e.u({type:Boolean,reflect:!0})],T.prototype,`required`,void 0),e.n([e.u({type:Boolean,reflect:!0})],T.prototype,`multiple`,void 0),e.n([e.u({type:Boolean,reflect:!0})],T.prototype,`disabled`,void 0),e.n([e.u({type:Boolean,reflect:!0,attribute:`fullwidth`})],T.prototype,`fullwidth`,void 0),e.n([e.u({type:String,reflect:!0,attribute:`upload-strategy`})],T.prototype,`uploadStrategy`,void 0),e.n([e.u({type:String,reflect:!0,attribute:`item-renderer`})],T.prototype,`itemRenderer`,void 0),e.n([e.u({type:String})],T.prototype,`accept`,void 0),e.n([e.u({converter:i.t.csvToArray,attribute:`allowed-formats`})],T.prototype,`allowedFormats`,void 0),e.n([e.u({type:String,attribute:`format-error-message`})],T.prototype,`formatErrorMessage`,void 0),e.n([e.u({attribute:`max-file-size`})],T.prototype,`maxFileSize`,void 0),e.n([e.u({type:String,attribute:`size-error-message`})],T.prototype,`sizeErrorMessage`,void 0),e.n([e.u({attribute:!1})],T.prototype,`onFileValidation`,void 0),e.n([e.u({attribute:!1})],T.prototype,`transfers`,void 0),e.n([e.u({type:Boolean,attribute:`add-comments-enabled`})],T.prototype,`addCommentsEnabled`,void 0),e.n([e.u({type:Boolean,attribute:`rename-files-enabled`})],T.prototype,`renameFilesEnabled`,void 0),e.n([e.u({attribute:!1})],T.prototype,`extraOperations`,void 0),e.n([e.u({type:Boolean,reflect:!0,attribute:`enable-image-preview`})],T.prototype,`enableImagePreview`,void 0),e.n([e.u({type:Boolean,attribute:`has-error`})],T.prototype,`hasError`,void 0),e.n([e.u({type:String,attribute:`error-message`})],T.prototype,`errorMessage`,void 0),e.n([e.u({type:Boolean,attribute:`optional-tag`})],T.prototype,`optionalTag`,void 0),e.n([e.u({type:String,attribute:`optional-text`})],T.prototype,`optionalText`,void 0),e.n([e.u({type:Boolean,attribute:`required-tag`})],T.prototype,`requiredTag`,void 0),e.n([e.u({type:String,attribute:`required-text`})],T.prototype,`requiredText`,void 0),e.n([e.u({type:String,attribute:`tag-text`})],T.prototype,`tagText`,void 0),e.n([e.u({type:Number,attribute:`truncate-tail`})],T.prototype,`truncateTail`,void 0),e.n([e.u({attribute:!1})],T.prototype,`value`,void 0),e.n([e.u({attribute:!1})],T.prototype,`defaultValue`,void 0),e.n([e.l()],T.prototype,`files`,void 0),e.n([e.l()],T.prototype,`isDragActive`,void 0),e.n([e.l()],T.prototype,`validationErrorMessage`,void 0),e.n([e.l()],T.prototype,`addedAnnouncement`,void 0),e.n([e.l()],T.prototype,`thumbnailUrls`,void 0);var E=`comments`,D=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`)}`},O=(e,t,n)=>{e.key===`Enter`&&(e.preventDefault(),e.stopPropagation(),t()),e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),n())},k=(e,t,n)=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),n()),(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),e.stopPropagation(),t())},A=e=>({id:`remove`,title:`Slett`,ariaLabel:`Slett fil`,onClick:({file:t})=>e(t.fileId)}),j=()=>({id:`rename`,title:`Rediger`,ariaLabel:`Rediger filnavn`,renderInlineUI:t=>{let n=t.getAttribute(`targetFilename`)||t.file.attributes?.targetFilename||t.file.file?.name||``,r=`pkt-fileupload-rename-${t.file.fileId}`,i=()=>{let e=document.getElementById(r)?.value?.trim();e&&t.setAttribute(`targetFilename`,e),t.close()};return e._`
|
|
1
|
+
const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),n=require("./if-defined-CjRKmMQs.cjs"),r=require("./format-B8meU8Tm.cjs");require("./alert-DsGNGcgd.cjs"),require("./icon-Clz68-Kz.cjs");const i=require("./converters-BJ9Fe0kW.cjs"),a=require("./utils-63cRpWut.cjs");require("./input-wrapper-BmPdpY4N.cjs");const o=require("./focus-trap-DSv4Ifqm.cjs");require("./modal-i3Qxv38H.cjs"),require("./progressbar-CJFGbev-.cjs");function s(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 c(e){return e<1024?`${Math.round(e)} B`:e<1048576?`${Math.round(e/1024)} KB`:e<1073741824?`${Math.round(e/1048576)} MB`:`${Math.round(e/1073741824)} GB`}function l(e){return Array.isArray(e)?e.map(e=>String(e).trim().toLowerCase()).filter(Boolean):[]}function u(e){return e?e.split(`,`).map(e=>e.trim().toLowerCase()).filter(Boolean):[]}function d(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 f(e,t){let n=l(t);if(n.length===0)return!0;let r=e.name.split(`.`).pop()?.toLowerCase()??``,i=e.type.toLowerCase();return n.some(e=>d(e,r,i))}function p(e,t){let n=(e??``).trim();if(n)return n;let r=l(t);return r.length===0?``:r.map(e=>e.includes(`/`)||e.startsWith(`.`)?e:`.${e}`).join(`, `)}function m(e){return e.includes(`/`)?e:e.replace(/^\./,``).toUpperCase()}function h(e,t){let n=l(e);if(n.length>0)return n.map(m).join(`, `);let r=u(t);return r.length>0?r.map(m).join(`, `):``}function g(e,t,n){return((e??``).trim()||t).replace(/\{(\w+)\}/g,(e,t)=>n[t]??`{${t}}`)}function _(t,n){let r=l(n.allowedFormats);if(r.length>0&&!f(t,r)){let t=r.join(`, `),i=e.s.fileupload.invalidFormat;return g(n.formatErrorMessage,i,{formats:t})}let i=s(n.maxFileSize);if(i!==void 0&&t.size>i){let t=c(i),r=e.s.fileupload.sizeTooLarge;return g(n.sizeErrorMessage,r,{maxSize:t})}if(n.onFileValidation){let e=n.onFileValidation(t);if(e)return e}return null}function v(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 y(e){return typeof e==`number`?`in-progress`:e===`error`?`error`:`idle`}function b(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[y(e.progress)]-r[y(t.progress)])}function x(e,t){return!t||t<=0||e.length<=t+3?null:{head:e.slice(0,e.length-t),tail:e.slice(-t)}}function S(e,t,n){return n<=0?0:t===`prev`?e<=0?n-1:e-1:e>=n-1?0:e+1}function C(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 w(t,n=e.s.fileupload.unknownFilename){return t.attributes?.targetFilename||t.file?.name||n}var T=class extends e.t{constructor(...e){super(...e),this.id=`pkt-fileupload-${a.n()}`,this.name=`files`,this.label=``,this.helptext=``,this.helptextDropdown=``,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.tagText=null,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.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 requiredSelectionMessage(){return this.pktStrings.get(`fileupload`).requiredMissing}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`)||e.has(`form`))&&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:a.n(),file:e,attributes:{targetFilename:e.name}})),i=this.pktStrings.get(`fileupload`);this.setAddedAnnouncement(n.length===1?r.t(i.srFileAdded,{filename:n[0].attributes.targetFilename}):r.t(i.srFilesAdded,{count:n.length}));let o=this.getCurrentFiles(),s=this.multiple?[...o,...n]:[n[0]];this.commitFiles(s,`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 v(e)}formatFileSize(e){return c(e)}getResolvedAcceptValue(){return p(this.accept,this.allowedFormats)}getSupportedFormatsText(){return h(this.allowedFormats,this.accept)}getSortedFilesAndTransfers(){return b(this.getCurrentFiles(),this.transfers,this.uploadStrategy)}validateFile(e){let t=_(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?this.pktStrings.get(`fileupload`).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}=C(this.getCurrentFiles(),this.transfers);if(e===0||t===0)return``;let n=this.pktStrings.get(`fileupload`);return r.t(n.srFilesUploadedOfTotal,{uploaded:t,total:e,label:r.n(e,n.fileLabelOne,n.fileLabelOther)})}getSrErrorsMessage(){let{totalCount:e,failedCount:t}=C(this.getCurrentFiles(),this.transfers);if(e===0||t===0)return``;let n=this.pktStrings.get(`fileupload`);return r.t(n.srFilesFailedOfTotal,{failed:t,total:e,label:r.n(e,n.fileLabelOne,n.fileLabelOther)})}get ownerForm(){if(this.form!==void 0){if(!this.form)return null;let e=this.ownerDocument?.getElementById(this.form);return e instanceof HTMLFormElement?e:null}return this.closest(`form`)}syncFormSubmitListener(){let e=this.ownerForm;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)}};e.n([e.u({type:String})],T.prototype,`id`,void 0),e.n([e.u({type:String})],T.prototype,`name`,void 0),e.n([e.u({type:String,reflect:!0})],T.prototype,`form`,void 0),e.n([e.u({type:String})],T.prototype,`label`,void 0),e.n([e.u({type:String})],T.prototype,`helptext`,void 0),e.n([e.u({type:String,attribute:`helptext-dropdown`})],T.prototype,`helptextDropdown`,void 0),e.n([e.u({type:String,attribute:`helptext-dropdown-button`})],T.prototype,`helptextDropdownButton`,void 0),e.n([e.u({type:Boolean,reflect:!0})],T.prototype,`required`,void 0),e.n([e.u({type:Boolean,reflect:!0})],T.prototype,`multiple`,void 0),e.n([e.u({type:Boolean,reflect:!0})],T.prototype,`disabled`,void 0),e.n([e.u({type:Boolean,reflect:!0,attribute:`fullwidth`})],T.prototype,`fullwidth`,void 0),e.n([e.u({type:String,reflect:!0,attribute:`upload-strategy`})],T.prototype,`uploadStrategy`,void 0),e.n([e.u({type:String,reflect:!0,attribute:`item-renderer`})],T.prototype,`itemRenderer`,void 0),e.n([e.u({type:String})],T.prototype,`accept`,void 0),e.n([e.u({converter:i.t.csvToArray,attribute:`allowed-formats`})],T.prototype,`allowedFormats`,void 0),e.n([e.u({type:String,attribute:`format-error-message`})],T.prototype,`formatErrorMessage`,void 0),e.n([e.u({attribute:`max-file-size`})],T.prototype,`maxFileSize`,void 0),e.n([e.u({type:String,attribute:`size-error-message`})],T.prototype,`sizeErrorMessage`,void 0),e.n([e.u({attribute:!1})],T.prototype,`onFileValidation`,void 0),e.n([e.u({attribute:!1})],T.prototype,`transfers`,void 0),e.n([e.u({type:Boolean,attribute:`add-comments-enabled`})],T.prototype,`addCommentsEnabled`,void 0),e.n([e.u({type:Boolean,attribute:`rename-files-enabled`})],T.prototype,`renameFilesEnabled`,void 0),e.n([e.u({attribute:!1})],T.prototype,`extraOperations`,void 0),e.n([e.u({type:Boolean,reflect:!0,attribute:`enable-image-preview`})],T.prototype,`enableImagePreview`,void 0),e.n([e.u({type:Boolean,attribute:`has-error`})],T.prototype,`hasError`,void 0),e.n([e.u({type:String,attribute:`error-message`})],T.prototype,`errorMessage`,void 0),e.n([e.u({type:Boolean,attribute:`optional-tag`})],T.prototype,`optionalTag`,void 0),e.n([e.u({type:String,attribute:`optional-text`})],T.prototype,`optionalText`,void 0),e.n([e.u({type:Boolean,attribute:`required-tag`})],T.prototype,`requiredTag`,void 0),e.n([e.u({type:String,attribute:`required-text`})],T.prototype,`requiredText`,void 0),e.n([e.u({type:String,attribute:`tag-text`})],T.prototype,`tagText`,void 0),e.n([e.u({type:Number,attribute:`truncate-tail`})],T.prototype,`truncateTail`,void 0),e.n([e.u({attribute:!1})],T.prototype,`value`,void 0),e.n([e.u({attribute:!1})],T.prototype,`defaultValue`,void 0),e.n([e.l()],T.prototype,`files`,void 0),e.n([e.l()],T.prototype,`isDragActive`,void 0),e.n([e.l()],T.prototype,`validationErrorMessage`,void 0),e.n([e.l()],T.prototype,`addedAnnouncement`,void 0),e.n([e.l()],T.prototype,`thumbnailUrls`,void 0);var E=`comments`,D=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`)}`},O=(e,t,n)=>{e.key===`Enter`&&(e.preventDefault(),e.stopPropagation(),t()),e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),n())},k=(e,t,n)=>{e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),n()),(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),e.stopPropagation(),t())},A=e=>({id:`remove`,title:`Slett`,ariaLabel:`Slett fil`,onClick:({file:t})=>e(t.fileId)}),j=()=>({id:`rename`,title:`Rediger`,ariaLabel:`Rediger filnavn`,renderInlineUI:t=>{let n=t.getAttribute(`targetFilename`)||t.file.attributes?.targetFilename||t.file.file?.name||``,r=`pkt-fileupload-rename-${t.file.fileId}`,i=()=>{let e=document.getElementById(r)?.value?.trim();e&&t.setAttribute(`targetFilename`,e),t.close()};return e._`
|
|
2
2
|
<label for=${r} class="pkt-sr-only">Endre filnavn</label>
|
|
3
3
|
<input
|
|
4
4
|
id=${r}
|
|
@@ -2,11 +2,11 @@ import { _ as e, d as t, l as n, n as r, s as i, t as a, u as o } from "./elemen
|
|
|
2
2
|
import { t as s } from "./class-map-D5GHsely.js";
|
|
3
3
|
import { t as c } from "./if-defined-BNXGXCwT.js";
|
|
4
4
|
import { n as l, t as u } from "./format-BTeSVkED.js";
|
|
5
|
-
import "./alert-
|
|
5
|
+
import "./alert-vIaasUjb.js";
|
|
6
6
|
import "./icon-B2v30QUk.js";
|
|
7
7
|
import { t as d } from "./converters-CkjLSYpa.js";
|
|
8
8
|
import { n as f } from "./utils-BwF4QSrq.js";
|
|
9
|
-
import "./input-wrapper-
|
|
9
|
+
import "./input-wrapper-B5GdwzAM.js";
|
|
10
10
|
import { r as p } from "./focus-trap-DG3pEuyJ.js";
|
|
11
11
|
import "./modal-D5tGq-nN.js";
|
|
12
12
|
import "./progressbar-4WyR4T72.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e=require("./element-CewjrA4g.cjs"),t=require("./if-defined-CjRKmMQs.cjs");require("./consent-Cle1hkPg.cjs")
|
|
1
|
+
const e=require("./element-CewjrA4g.cjs"),t=require("./if-defined-CjRKmMQs.cjs");require("./consent-Cle1hkPg.cjs");const n=require("./booleanish-BF8l4scU.cjs"),r=require("./fetch-header-footer-data-CUKV0biS.cjs");require("./icon-Clz68-Kz.cjs");var i=`oslo.kommune.no`,a=/\.(?:co|com|org|net|gov|edu|ac|kommune)\.[a-z]{2}$/i;function o(e){let t=e.toLowerCase().replace(/\.$/,``),n=t.split(`.`);return n.length<=2?t:n.slice(a.test(t)?-3:-2).join(`.`)}function s(e){if(!e)return;let t;try{t=new URL(e)}catch{return}if(t.protocol===`http:`||t.protocol===`https:`)return o(t.hostname.toLowerCase().replace(/\.$/,``))}function c(e,t=i){if(!e)return;let n;try{n=new URL(e)}catch{return}if(n.protocol!==`http:`&&n.protocol!==`https:`)return;let r=n.hostname.toLowerCase().replace(/\.$/,``),a=t.toLowerCase();if(!(r===a||r.endsWith(`.${a}`)))return o(r)}var l=`#cb-trigger`,u=class extends e.t{constructor(...e){super(...e),this.locale=`nb-NO`,this.skipGlobal=!1,this.openLinksInNewTab=!1,this.includeConsent=!1,this.hotjarId=null,this.googleAnalyticsId=null,this.devMode=!1,this.cookieDomain=null,this.cookieSecure=null,this.cookieExpiryDays=null}connectedCallback(){super.connectedCallback(),!this.data&&!this.skipGlobal&&this.loadData()}disconnectedCallback(){super.disconnectedCallback(),this.abortController?.abort()}updated(e){super.updated(e),e.has(`dataUrl`)&&e.get(`dataUrl`)!==void 0&&!this.data&&this.loadData()}async loadData(){this.abortController?.abort(),this.abortController=new AbortController;try{this.fetchedData=await r.t(this.dataUrl,this.abortController.signal)}catch(e){if(e.name===`AbortError`)return;console.warn(`Failed to fetch header/footer data:`,e),this.dispatchEvent(new CustomEvent(`data-error`,{detail:{error:e},bubbles:!0,composed:!0}))}}get globalFooterData(){return r.n(this.data??this.fetchedData,this.locale)?.footer}linkTarget(e){return e.openInNewTab||this.openLinksInNewTab?{target:`_blank`,rel:`noopener noreferrer`}:{target:`_self`}}renderLinkDomain(t,n=`pkt-footer__link-domain`){if(!t.external)return e.h;let r=s(t.href);return r?e._` <span class=${n}>(${r})</span>`:e.h}renderCustomLink(n){let{target:r,rel:i}=this.linkTarget(n);return e._`
|
|
2
2
|
<a href=${n.href} target=${r} rel=${t.t(i)}
|
|
3
3
|
>${n.text}${this.renderLinkDomain(n)}</a
|
|
4
4
|
>
|
|
@@ -3,17 +3,17 @@ import { t as s } from "./class-map-D5GHsely.js";
|
|
|
3
3
|
import { t as c } from "./if-defined-BNXGXCwT.js";
|
|
4
4
|
import { t as l } from "./format-BTeSVkED.js";
|
|
5
5
|
import { r as u, t as d } from "./element-with-slot-D_OKDlYo.js";
|
|
6
|
+
import { t as f } from "./booleanish-OQJTYSrw.js";
|
|
7
|
+
import { n as p, o as m, t as h } from "./fetch-header-footer-data-Pc32etrk.js";
|
|
6
8
|
import "./icon-B2v30QUk.js";
|
|
7
9
|
import "./button-BUl8uWWh.js";
|
|
8
|
-
import { n as
|
|
9
|
-
import { t as m } from "./booleanish-OQJTYSrw.js";
|
|
10
|
-
import { n as h, o as g, t as _ } from "./fetch-header-footer-data-Pc32etrk.js";
|
|
10
|
+
import { n as g, t as _ } from "./ref-37-yxmc4.js";
|
|
11
11
|
import { n as v, t as y } from "./focus-trap-DG3pEuyJ.js";
|
|
12
12
|
import { n as b, t as x } from "./scroll-lock-DAbNKAUy.js";
|
|
13
13
|
import "./link-BxKWhYsn.js";
|
|
14
|
-
import "./textinput-
|
|
14
|
+
import "./textinput-Di2lAf2R.js";
|
|
15
15
|
import "./searchinput-j4IvYRzj.js";
|
|
16
|
-
import "./header-menu-
|
|
16
|
+
import "./header-menu-CTEPH4St.js";
|
|
17
17
|
//#region ../../shared-types/header.ts
|
|
18
18
|
var S = (e) => typeof e.target == "string" ? {
|
|
19
19
|
title: e.title,
|
|
@@ -209,11 +209,11 @@ i([o({ type: Object })], E.prototype, "user", void 0), i([o({
|
|
|
209
209
|
})], E.prototype, "userMenu", void 0), i([o({
|
|
210
210
|
type: Boolean,
|
|
211
211
|
attribute: "can-change-representation",
|
|
212
|
-
converter:
|
|
212
|
+
converter: f
|
|
213
213
|
})], E.prototype, "canChangeRepresentation", void 0), i([o({
|
|
214
214
|
type: Boolean,
|
|
215
215
|
attribute: "logout-on-click",
|
|
216
|
-
converter:
|
|
216
|
+
converter: f
|
|
217
217
|
})], E.prototype, "logoutOnClick", void 0);
|
|
218
218
|
try {
|
|
219
219
|
t("pkt-header-user-menu")(E);
|
|
@@ -226,7 +226,7 @@ var D = "https://punkt-cdn.oslo.kommune.no/latest/logos/";
|
|
|
226
226
|
typeof window < "u" && (window.pktLogoPath = window.pktLogoPath || D);
|
|
227
227
|
var O = class extends d {
|
|
228
228
|
constructor(...e) {
|
|
229
|
-
super(...e), this.logoLink =
|
|
229
|
+
super(...e), this.logoLink = m, this.logoPath = typeof window < "u" ? window.pktLogoPath : D, 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.hideLogo = !1, this.compact = !1, this.showSearch = !1, this.canChangeRepresentation = !1, this.hasLogOut = !1, this.openMenu = "none", this.alignSlotRight = !1, this.alignSearchRight = !1, this.headerRef = _(), this.userContainerRef = _(), this.slotContainerRef = _(), this.searchContainerRef = _(), this.slotContentRef = _(), this.searchMenuRef = _(), this.chrome = new T(this, () => ({
|
|
230
230
|
mobileBreakpoint: this.mobileBreakpoint,
|
|
231
231
|
tabletBreakpoint: this.tabletBreakpoint,
|
|
232
232
|
position: this.position,
|
|
@@ -414,7 +414,7 @@ var O = class extends d {
|
|
|
414
414
|
<div
|
|
415
415
|
class=${t}
|
|
416
416
|
@focusout=${(e) => this.handleFocusOut(e, "slot")}
|
|
417
|
-
${
|
|
417
|
+
${g(this.slotContainerRef)}
|
|
418
418
|
>
|
|
419
419
|
${this.isTablet && this.hasSlotContent() ? e`
|
|
420
420
|
<pkt-button
|
|
@@ -437,7 +437,7 @@ var O = class extends d {
|
|
|
437
437
|
role=${this.isTablet ? "group" : n}
|
|
438
438
|
aria-label=${this.isTablet ? this.headerStrings.menu : n}
|
|
439
439
|
@click=${this.handleSlotContentClick}
|
|
440
|
-
${
|
|
440
|
+
${g(this.slotContentRef)}
|
|
441
441
|
>
|
|
442
442
|
${u(this)}
|
|
443
443
|
</div>
|
|
@@ -459,7 +459,7 @@ var O = class extends d {
|
|
|
459
459
|
<div
|
|
460
460
|
class=${t}
|
|
461
461
|
@focusout=${(e) => this.handleFocusOut(e, "search")}
|
|
462
|
-
${
|
|
462
|
+
${g(this.searchContainerRef)}
|
|
463
463
|
>
|
|
464
464
|
<pkt-button
|
|
465
465
|
skin="secondary"
|
|
@@ -474,7 +474,7 @@ var O = class extends d {
|
|
|
474
474
|
>
|
|
475
475
|
${this.headerStrings.search}
|
|
476
476
|
</pkt-button>
|
|
477
|
-
<div class=${r} ${
|
|
477
|
+
<div class=${r} ${g(this.searchMenuRef)}>
|
|
478
478
|
${this.openMenu === "search" ? e`
|
|
479
479
|
<pkt-textinput
|
|
480
480
|
id="mobile-search-menu"
|
|
@@ -521,7 +521,7 @@ var O = class extends d {
|
|
|
521
521
|
<div
|
|
522
522
|
class="pkt-header-service__user-container"
|
|
523
523
|
@focusout=${(e) => this.handleFocusOut(e, "user")}
|
|
524
|
-
${
|
|
524
|
+
${g(this.userContainerRef)}
|
|
525
525
|
>
|
|
526
526
|
<pkt-button
|
|
527
527
|
class=${s({
|
|
@@ -575,7 +575,7 @@ var O = class extends d {
|
|
|
575
575
|
"pkt-header-service__logo-area--without-service": !this.serviceName
|
|
576
576
|
});
|
|
577
577
|
return e`
|
|
578
|
-
<header class=${t} ${
|
|
578
|
+
<header class=${t} ${g(this.headerRef)}>
|
|
579
579
|
<div class=${r}>${this.renderLogo()} ${this.renderServiceName()}</div>
|
|
580
580
|
|
|
581
581
|
${this.hasSlotContent() || this.showSearch || this.showLogoutInHeader ? e`<div class="pkt-header-service__content">
|
|
@@ -671,22 +671,22 @@ i([o({
|
|
|
671
671
|
})], O.prototype, "slotMenuText", void 0), i([o({
|
|
672
672
|
type: Boolean,
|
|
673
673
|
attribute: "hide-logo",
|
|
674
|
-
converter:
|
|
674
|
+
converter: f
|
|
675
675
|
})], O.prototype, "hideLogo", void 0), i([o({
|
|
676
676
|
type: Boolean,
|
|
677
|
-
converter:
|
|
677
|
+
converter: f
|
|
678
678
|
})], O.prototype, "compact", void 0), i([o({
|
|
679
679
|
type: Boolean,
|
|
680
680
|
attribute: "show-search",
|
|
681
|
-
converter:
|
|
681
|
+
converter: f
|
|
682
682
|
})], O.prototype, "showSearch", void 0), i([o({
|
|
683
683
|
type: Boolean,
|
|
684
684
|
attribute: "can-change-representation",
|
|
685
|
-
converter:
|
|
685
|
+
converter: f
|
|
686
686
|
})], O.prototype, "canChangeRepresentation", void 0), i([o({
|
|
687
687
|
type: Boolean,
|
|
688
688
|
attribute: "has-log-out",
|
|
689
|
-
converter:
|
|
689
|
+
converter: f
|
|
690
690
|
})], O.prototype, "hasLogOut", void 0), i([o({ type: Object })], O.prototype, "user", void 0), i([o({
|
|
691
691
|
type: Array,
|
|
692
692
|
attribute: "user-menu"
|
|
@@ -702,11 +702,11 @@ var k = "https://punkt-cdn.oslo.kommune.no/latest/logos/";
|
|
|
702
702
|
typeof window < "u" && (window.pktLogoPath = window.pktLogoPath || k);
|
|
703
703
|
var A = "pkt-header-global-menu", j = "pkt-header-global-menu-toggle", M = "pkt-header-global-search-panel", N = "pkt-header-global-search-toggle", P = class extends a {
|
|
704
704
|
constructor(...e) {
|
|
705
|
-
super(...e), this.locale = "nb-NO", this.logoLink =
|
|
705
|
+
super(...e), this.locale = "nb-NO", this.logoLink = m, this.logoPath = typeof window < "u" ? window.pktLogoPath : k, this.position = "fixed", this.scrollBehavior = "hide", this.mobileBreakpoint = 768, this.tabletBreakpoint = 1024, this.logOutButtonPlacement = "none", this.showSearch = !0, this.showContact = !0, this.canChangeRepresentation = !1, this.hasLogOut = !1, this.openMenu = "none", this.loadError = !1, this.headerAnchor = {
|
|
706
706
|
top: 0,
|
|
707
707
|
left: 0,
|
|
708
708
|
width: 0
|
|
709
|
-
}, this.headerRef =
|
|
709
|
+
}, this.headerRef = _(), this.menuContainerRef = _(), this.userContainerRef = _(), this.chrome = new T(this, () => ({
|
|
710
710
|
mobileBreakpoint: this.mobileBreakpoint,
|
|
711
711
|
tabletBreakpoint: this.tabletBreakpoint,
|
|
712
712
|
position: this.position,
|
|
@@ -780,7 +780,7 @@ var A = "pkt-header-global-menu", j = "pkt-header-global-menu-toggle", M = "pkt-
|
|
|
780
780
|
async loadData() {
|
|
781
781
|
this.abortController?.abort(), this.abortController = new AbortController(), this.loadError = !1;
|
|
782
782
|
try {
|
|
783
|
-
let e = await
|
|
783
|
+
let e = await h(this.dataUrl, this.abortController.signal);
|
|
784
784
|
this.fetchedData = e, this.emitDataLoaded(e);
|
|
785
785
|
} catch (e) {
|
|
786
786
|
if (e.name === "AbortError") return;
|
|
@@ -802,7 +802,7 @@ var A = "pkt-header-global-menu", j = "pkt-header-global-menu-toggle", M = "pkt-
|
|
|
802
802
|
return this.data ?? this.fetchedData;
|
|
803
803
|
}
|
|
804
804
|
get localeData() {
|
|
805
|
-
return
|
|
805
|
+
return p(this.effectiveData, this.locale);
|
|
806
806
|
}
|
|
807
807
|
get shouldHideOnScroll() {
|
|
808
808
|
return this.scrollBehavior === "hide";
|
|
@@ -993,7 +993,7 @@ var A = "pkt-header-global-menu", j = "pkt-header-global-menu-toggle", M = "pkt-
|
|
|
993
993
|
<div class="pkt-header-global__user">
|
|
994
994
|
<div
|
|
995
995
|
class="pkt-header-global__user-container ${t ? "is-open" : ""}"
|
|
996
|
-
${
|
|
996
|
+
${g(this.userContainerRef)}
|
|
997
997
|
>
|
|
998
998
|
<pkt-button
|
|
999
999
|
class="pkt-header-global__user-button"
|
|
@@ -1041,7 +1041,7 @@ var A = "pkt-header-global-menu", j = "pkt-header-global-menu-toggle", M = "pkt-
|
|
|
1041
1041
|
class=${t}
|
|
1042
1042
|
id=${A}
|
|
1043
1043
|
style=${this.overlayAnchorStyle}
|
|
1044
|
-
${
|
|
1044
|
+
${g(this.menuContainerRef)}
|
|
1045
1045
|
>
|
|
1046
1046
|
${this.localeData ? e`
|
|
1047
1047
|
<pkt-header-menu
|
|
@@ -1069,7 +1069,7 @@ var A = "pkt-header-global-menu", j = "pkt-header-global-menu-toggle", M = "pkt-
|
|
|
1069
1069
|
"pkt-header-global--hidden": this.isHidden
|
|
1070
1070
|
}), r = this.localeData, i = this.isMobile;
|
|
1071
1071
|
return e`
|
|
1072
|
-
<header class=${t} ${
|
|
1072
|
+
<header class=${t} ${g(this.headerRef)}>
|
|
1073
1073
|
<div class="pkt-header-global__logo-area">${this.renderLogo()}</div>
|
|
1074
1074
|
<div class="pkt-header-global__content">
|
|
1075
1075
|
${!i && r ? this.renderSearch(r) : n}
|
|
@@ -1131,19 +1131,19 @@ i([o({
|
|
|
1131
1131
|
})], P.prototype, "logOutButtonPlacement", void 0), i([o({
|
|
1132
1132
|
type: Boolean,
|
|
1133
1133
|
attribute: "show-search",
|
|
1134
|
-
converter:
|
|
1134
|
+
converter: f
|
|
1135
1135
|
})], P.prototype, "showSearch", void 0), i([o({
|
|
1136
1136
|
type: Boolean,
|
|
1137
1137
|
attribute: "show-contact",
|
|
1138
|
-
converter:
|
|
1138
|
+
converter: f
|
|
1139
1139
|
})], P.prototype, "showContact", void 0), i([o({
|
|
1140
1140
|
type: Boolean,
|
|
1141
1141
|
attribute: "can-change-representation",
|
|
1142
|
-
converter:
|
|
1142
|
+
converter: f
|
|
1143
1143
|
})], P.prototype, "canChangeRepresentation", void 0), i([o({
|
|
1144
1144
|
type: Boolean,
|
|
1145
1145
|
attribute: "has-log-out",
|
|
1146
|
-
converter:
|
|
1146
|
+
converter: f
|
|
1147
1147
|
})], P.prototype, "hasLogOut", void 0), i([o({ type: Object })], P.prototype, "user", void 0), i([o({
|
|
1148
1148
|
type: Array,
|
|
1149
1149
|
attribute: "user-menu"
|
|
@@ -1270,22 +1270,22 @@ i([o({ type: String })], F.prototype, "type", void 0), i([o({
|
|
|
1270
1270
|
})], F.prototype, "slotMenuText", void 0), i([o({
|
|
1271
1271
|
type: Boolean,
|
|
1272
1272
|
attribute: "hide-logo",
|
|
1273
|
-
converter:
|
|
1273
|
+
converter: f
|
|
1274
1274
|
})], F.prototype, "hideLogo", void 0), i([o({
|
|
1275
1275
|
type: Boolean,
|
|
1276
|
-
converter:
|
|
1276
|
+
converter: f
|
|
1277
1277
|
})], F.prototype, "compact", void 0), i([o({
|
|
1278
1278
|
type: Boolean,
|
|
1279
1279
|
attribute: "show-search",
|
|
1280
|
-
converter:
|
|
1280
|
+
converter: f
|
|
1281
1281
|
})], F.prototype, "showSearch", void 0), i([o({
|
|
1282
1282
|
type: Boolean,
|
|
1283
1283
|
attribute: "can-change-representation",
|
|
1284
|
-
converter:
|
|
1284
|
+
converter: f
|
|
1285
1285
|
})], F.prototype, "canChangeRepresentation", void 0), i([o({
|
|
1286
1286
|
type: Boolean,
|
|
1287
1287
|
attribute: "has-log-out",
|
|
1288
|
-
converter:
|
|
1288
|
+
converter: f
|
|
1289
1289
|
})], F.prototype, "hasLogOut", void 0), i([o({ type: Object })], F.prototype, "user", void 0), i([o({
|
|
1290
1290
|
type: Array,
|
|
1291
1291
|
attribute: "user-menu"
|
|
@@ -1298,7 +1298,7 @@ i([o({ type: String })], F.prototype, "type", void 0), i([o({
|
|
|
1298
1298
|
})], F.prototype, "data", void 0), i([o({ type: String })], F.prototype, "locale", void 0), i([o({
|
|
1299
1299
|
type: Boolean,
|
|
1300
1300
|
attribute: "show-contact",
|
|
1301
|
-
converter:
|
|
1301
|
+
converter: f
|
|
1302
1302
|
})], F.prototype, "showContact", void 0), i([o({
|
|
1303
1303
|
type: Array,
|
|
1304
1304
|
attribute: "user-menu-footer"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs")
|
|
1
|
+
const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),n=require("./booleanish-BF8l4scU.cjs"),r=require("./fetch-header-footer-data-CUKV0biS.cjs");require("./icon-Clz68-Kz.cjs"),require("./accordion-BLMbI8SQ.cjs");var i=class extends e.t{constructor(...e){super(...e),this.dataUrl=r.a,this.locale=`nb-NO`,this.open=!1,this.mobileBreakpoint=768,this.loadState=`idle`,this.isMobile=!1,this.menuWidth=0}connectedCallback(){super.connectedCallback(),this.classList.add(`pkt-header-menu`),this.updateOpenClass(),this.observeWidth(),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.resizeObserver?.disconnect(),this.resizeObserver=void 0}updated(e){super.updated(e),e.has(`open`)&&this.updateOpenClass(),e.has(`mobileBreakpoint`)&&e.get(`mobileBreakpoint`)!==void 0&&this.refreshIsMobile(),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})))}observeWidth(){typeof ResizeObserver>`u`||(this.menuWidth=this.offsetWidth,this.refreshIsMobile(),this.resizeObserver=new ResizeObserver(e=>{for(let t of e)this.menuWidth=t.borderBoxSize&&t.borderBoxSize.length>0?t.borderBoxSize[0].inlineSize:t.contentRect.width,this.refreshIsMobile()}),this.resizeObserver.observe(this))}refreshIsMobile(){this.isMobile=this.menuWidth<this.mobileBreakpoint}async loadData(){this.abortController?.abort(),this.abortController=new AbortController,this.loadState=`loading`;try{let e=await r.t(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 r.n(this.effectiveData,this.locale)}render(){if(this.loadState===`loading`)return e._`
|
|
2
2
|
<nav aria-busy="true">
|
|
3
3
|
<p class="pkt-header-menu__loading">Laster meny…</p>
|
|
4
4
|
</nav>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),n=require("./if-defined-CjRKmMQs.cjs"),r=require("./format-B8meU8Tm.cjs"),i=require("./element-with-slot-MCvSBwUv.cjs")
|
|
1
|
+
const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),n=require("./if-defined-CjRKmMQs.cjs"),r=require("./format-B8meU8Tm.cjs"),i=require("./element-with-slot-MCvSBwUv.cjs"),a=require("./booleanish-BF8l4scU.cjs"),o=require("./fetch-header-footer-data-CUKV0biS.cjs");require("./icon-Clz68-Kz.cjs"),require("./button-CCR4eyt_.cjs");const s=require("./ref-HT6KRjxp.cjs"),c=require("./focus-trap-DSv4Ifqm.cjs"),l=require("./scroll-lock-BN8lOhV5.cjs");require("./link-1JEWpEDG.cjs"),require("./textinput-CSrBua2N.cjs"),require("./searchinput-D1cJ73Ki.cjs"),require("./header-menu-DGywRJCx.cjs");var u=e=>typeof e.target==`string`?{title:e.title,iconName:e.iconName,href:e.target}:{title:e.title,iconName:e.iconName,onClick:e.target},d=e=>u(e),f=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`})},p=class{constructor(e,t){this.isMobile=!1,this.isTablet=!1,this.isHidden=!1,this.pauseScrollHide=!1,this.componentWidth=typeof window<`u`?window.innerWidth:0,this.lastScrollPosition=0,this.scrollLockToken=l.t(),this.lastFocusedElement=null,this.shouldRestoreFocus=!1,this.handleScroll=()=>{if(this.getOptions().scrollBehavior!==`hide`||this.pauseScrollHide)return;let e=window.pageYOffset||document.documentElement.scrollTop;if(e<0||Math.abs(e-this.lastScrollPosition)<60)return;let t=e>this.lastScrollPosition;this.lastScrollPosition=e,t!==this.isHidden&&(this.isHidden=t,this.host.requestUpdate())},this.host=e,this.getOptions=t,e.addController(this)}hostConnected(){window.addEventListener(`scroll`,this.handleScroll)}hostDisconnected(){this.resizeObserver?.disconnect(),window.removeEventListener(`scroll`,this.handleScroll),l.n(this.scrollLockToken,!1)}observe(e){e&&(this.componentWidth=e.offsetWidth,this.refreshBreakpoints(),this.resizeObserver=new ResizeObserver(e=>{for(let t of e)this.componentWidth=t.borderBoxSize&&t.borderBoxSize.length>0?t.borderBoxSize[0].inlineSize:t.contentRect.width,this.refreshBreakpoints()}),this.resizeObserver.observe(e))}refreshBreakpoints(){let{mobileBreakpoint:e,tabletBreakpoint:t}=this.getOptions(),n=this.componentWidth<e,r=this.componentWidth<t;(n!==this.isMobile||r!==this.isTablet)&&(this.isMobile=n,this.isTablet=r,this.host.requestUpdate())}setScrollLock(e){l.n(this.scrollLockToken,e)}captureFocus(){this.lastFocusedElement=document.activeElement}flagRestoreFocus(){this.shouldRestoreFocus=!0}restoreFocus(){this.shouldRestoreFocus&&this.lastFocusedElement&&document.contains(this.lastFocusedElement)&&this.lastFocusedElement.focus(),this.lastFocusedElement=null,this.shouldRestoreFocus=!1}},m=class extends e.t{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(n,r){let i=`href`in n,a=t.t({"pkt-user-menu__link":!0,"pkt-link-button":!i,"pkt-link":!i,"pkt-link--icon-left":!i,[r||``]:!!r});return i?e._`
|
|
2
2
|
<pkt-link
|
|
3
3
|
icon-name=${n.iconName||e.h}
|
|
4
4
|
href=${n.href}
|
|
@@ -79,7 +79,7 @@ const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),
|
|
|
79
79
|
`:e.h}
|
|
80
80
|
</ul>
|
|
81
81
|
</nav>
|
|
82
|
-
`}};e.n([e.u({type:Object})],m.prototype,`user`,void 0),e.n([e.u({type:String,attribute:`formatted-last-logged-in`})],m.prototype,`formattedLastLoggedIn`,void 0),e.n([e.u({type:Object})],m.prototype,`representing`,void 0),e.n([e.u({type:Array,attribute:`user-menu`})],m.prototype,`userMenu`,void 0),e.n([e.u({type:Boolean,attribute:`can-change-representation`,converter:
|
|
82
|
+
`}};e.n([e.u({type:Object})],m.prototype,`user`,void 0),e.n([e.u({type:String,attribute:`formatted-last-logged-in`})],m.prototype,`formattedLastLoggedIn`,void 0),e.n([e.u({type:Object})],m.prototype,`representing`,void 0),e.n([e.u({type:Array,attribute:`user-menu`})],m.prototype,`userMenu`,void 0),e.n([e.u({type:Boolean,attribute:`can-change-representation`,converter:a.t})],m.prototype,`canChangeRepresentation`,void 0),e.n([e.u({type:Boolean,attribute:`logout-on-click`,converter:a.t})],m.prototype,`logoutOnClick`,void 0);try{e.d(`pkt-header-user-menu`)(m)}catch{console.warn(`Forsøker å definere <pkt-header-user-menu>, men den er allerede definert`)}var h=`https://punkt-cdn.oslo.kommune.no/latest/logos/`;typeof window<`u`&&(window.pktLogoPath=window.pktLogoPath||h);var g=class extends i.t{constructor(...e){super(...e),this.logoLink=o.o,this.logoPath=typeof window<`u`?window.pktLogoPath:h,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.hideLogo=!1,this.compact=!1,this.showSearch=!1,this.canChangeRepresentation=!1,this.hasLogOut=!1,this.openMenu=`none`,this.alignSlotRight=!1,this.alignSearchRight=!1,this.headerRef=s.t(),this.userContainerRef=s.t(),this.slotContainerRef=s.t(),this.searchContainerRef=s.t(),this.slotContentRef=s.t(),this.searchMenuRef=s.t(),this.chrome=new p(this,()=>({mobileBreakpoint:this.mobileBreakpoint,tabletBreakpoint:this.tabletBreakpoint,position:this.position,scrollBehavior:this.scrollBehavior})),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.handleSlotContentClick=e=>{if(!this.isTablet||this.openMenu!==`slot`)return;let t=e.target.closest(`a[href], button, [role="link"], [role="button"], [role="menuitem"], [role="menuitemradio"], [role="menuitemcheckbox"]`);!t||!this.slotContentRef.value?.contains(t)||t.closest(`[data-pkt-header-keep-open]`)||t.disabled||t.getAttribute(`aria-disabled`)===`true`||(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.chrome.flagRestoreFocus(),this.openMenu=`none`)}}get isMobile(){return this.chrome.isMobile}get isTablet(){return this.chrome.isTablet}get isHidden(){return this.chrome.isHidden}firstUpdated(){this.chrome.observe(this.headerRef.value)}updated(e){if(super.updated(e),e.has(`openedMenu`)&&this.openedMenu!==this.openMenu&&(this.openMenu=this.openedMenu),(e.has(`mobileBreakpoint`)||e.has(`tabletBreakpoint`))&&this.chrome.refreshBreakpoints(),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.chrome.restoreFocus())}this.chrome.setScrollLock((this.isFixed||this.isSticky)&&this.isMobile&&this.openMenu!==`none`)}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.chrome.captureFocus(),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 f(this.user?.lastLoggedIn)}get isFixed(){return this.position===`fixed`}get isSticky(){return this.position===`sticky`}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`)}get headerStrings(){return this.pktStrings.get(`header`)}renderLogo(){if(this.hideLogo)return e.h;let t=e._`
|
|
83
83
|
<pkt-icon name="oslologo" aria-hidden="true" path=${this.logoPath}></pkt-icon>
|
|
84
84
|
`;return this.logoLink?e._`
|
|
85
85
|
<span class="pkt-header-service__logo">
|
|
@@ -126,7 +126,7 @@ const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),
|
|
|
126
126
|
<div
|
|
127
127
|
class=${n}
|
|
128
128
|
@focusout=${e=>this.handleFocusOut(e,`slot`)}
|
|
129
|
-
${
|
|
129
|
+
${s.n(this.slotContainerRef)}
|
|
130
130
|
>
|
|
131
131
|
${this.isTablet&&this.hasSlotContent()?e._`
|
|
132
132
|
<pkt-button
|
|
@@ -149,7 +149,7 @@ const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),
|
|
|
149
149
|
role=${this.isTablet?`group`:e.h}
|
|
150
150
|
aria-label=${this.isTablet?this.headerStrings.menu:e.h}
|
|
151
151
|
@click=${this.handleSlotContentClick}
|
|
152
|
-
${
|
|
152
|
+
${s.n(this.slotContentRef)}
|
|
153
153
|
>
|
|
154
154
|
${i.r(this)}
|
|
155
155
|
</div>
|
|
@@ -158,7 +158,7 @@ const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),
|
|
|
158
158
|
<div
|
|
159
159
|
class=${n}
|
|
160
160
|
@focusout=${e=>this.handleFocusOut(e,`search`)}
|
|
161
|
-
${
|
|
161
|
+
${s.n(this.searchContainerRef)}
|
|
162
162
|
>
|
|
163
163
|
<pkt-button
|
|
164
164
|
skin="secondary"
|
|
@@ -173,7 +173,7 @@ const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),
|
|
|
173
173
|
>
|
|
174
174
|
${this.headerStrings.search}
|
|
175
175
|
</pkt-button>
|
|
176
|
-
<div class=${r} ${
|
|
176
|
+
<div class=${r} ${s.n(this.searchMenuRef)}>
|
|
177
177
|
${this.openMenu===`search`?e._`
|
|
178
178
|
<pkt-textinput
|
|
179
179
|
id="mobile-search-menu"
|
|
@@ -207,7 +207,7 @@ const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),
|
|
|
207
207
|
<div
|
|
208
208
|
class="pkt-header-service__user-container"
|
|
209
209
|
@focusout=${e=>this.handleFocusOut(e,`user`)}
|
|
210
|
-
${
|
|
210
|
+
${s.n(this.userContainerRef)}
|
|
211
211
|
>
|
|
212
212
|
<pkt-button
|
|
213
213
|
class=${t.t({"pkt-header-service__user-button":!0,"pkt-header-service__user-button--mobile":this.isMobile})}
|
|
@@ -239,7 +239,7 @@ const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),
|
|
|
239
239
|
`:e.h}
|
|
240
240
|
</div>
|
|
241
241
|
`}renderHeader(){let n=t.t({"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--sticky":this.isSticky,"pkt-header-service--scroll-to-hide":this.shouldHideOnScroll,"pkt-header-service--hidden":this.isHidden}),r=t.t({"pkt-header-service__logo-area":!0,"pkt-header-service__logo-area--without-service":!this.serviceName});return e._`
|
|
242
|
-
<header class=${n} ${
|
|
242
|
+
<header class=${n} ${s.n(this.headerRef)}>
|
|
243
243
|
<div class=${r}>${this.renderLogo()} ${this.renderServiceName()}</div>
|
|
244
244
|
|
|
245
245
|
${this.hasSlotContent()||this.showSearch||this.showLogoutInHeader?e._`<div class="pkt-header-service__content">
|
|
@@ -276,7 +276,7 @@ const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),
|
|
|
276
276
|
${n}
|
|
277
277
|
<div class=${r}></div>
|
|
278
278
|
</div>
|
|
279
|
-
`}return n}};e.n([e.u({type:String,attribute:`service-name`})],g.prototype,`serviceName`,void 0),e.n([e.u({type:String,attribute:`service-link`})],g.prototype,`serviceLink`,void 0),e.n([e.u({type:String,attribute:`logo-link`})],g.prototype,`logoLink`,void 0),e.n([e.u({type:String,attribute:`logo-path`})],g.prototype,`logoPath`,void 0),e.n([e.u({type:String,attribute:`search-placeholder`})],g.prototype,`searchPlaceholder`,void 0),e.n([e.u({type:String,attribute:`search-value`})],g.prototype,`searchValue`,void 0),e.n([e.u({type:Number,attribute:`mobile-breakpoint`})],g.prototype,`mobileBreakpoint`,void 0),e.n([e.u({type:Number,attribute:`tablet-breakpoint`})],g.prototype,`tabletBreakpoint`,void 0),e.n([e.u({type:String,attribute:`opened-menu`})],g.prototype,`openedMenu`,void 0),e.n([e.u({type:String,attribute:`log-out-button-placement`})],g.prototype,`logOutButtonPlacement`,void 0),e.n([e.u({type:String})],g.prototype,`position`,void 0),e.n([e.u({type:String,attribute:`scroll-behavior`})],g.prototype,`scrollBehavior`,void 0),e.n([e.u({type:String,attribute:`slot-menu-variant`})],g.prototype,`slotMenuVariant`,void 0),e.n([e.u({type:String,attribute:`slot-menu-text`})],g.prototype,`slotMenuText`,void 0),e.n([e.u({type:Boolean,attribute:`hide-logo`,converter:
|
|
279
|
+
`}return n}};e.n([e.u({type:String,attribute:`service-name`})],g.prototype,`serviceName`,void 0),e.n([e.u({type:String,attribute:`service-link`})],g.prototype,`serviceLink`,void 0),e.n([e.u({type:String,attribute:`logo-link`})],g.prototype,`logoLink`,void 0),e.n([e.u({type:String,attribute:`logo-path`})],g.prototype,`logoPath`,void 0),e.n([e.u({type:String,attribute:`search-placeholder`})],g.prototype,`searchPlaceholder`,void 0),e.n([e.u({type:String,attribute:`search-value`})],g.prototype,`searchValue`,void 0),e.n([e.u({type:Number,attribute:`mobile-breakpoint`})],g.prototype,`mobileBreakpoint`,void 0),e.n([e.u({type:Number,attribute:`tablet-breakpoint`})],g.prototype,`tabletBreakpoint`,void 0),e.n([e.u({type:String,attribute:`opened-menu`})],g.prototype,`openedMenu`,void 0),e.n([e.u({type:String,attribute:`log-out-button-placement`})],g.prototype,`logOutButtonPlacement`,void 0),e.n([e.u({type:String})],g.prototype,`position`,void 0),e.n([e.u({type:String,attribute:`scroll-behavior`})],g.prototype,`scrollBehavior`,void 0),e.n([e.u({type:String,attribute:`slot-menu-variant`})],g.prototype,`slotMenuVariant`,void 0),e.n([e.u({type:String,attribute:`slot-menu-text`})],g.prototype,`slotMenuText`,void 0),e.n([e.u({type:Boolean,attribute:`hide-logo`,converter:a.t})],g.prototype,`hideLogo`,void 0),e.n([e.u({type:Boolean,converter:a.t})],g.prototype,`compact`,void 0),e.n([e.u({type:Boolean,attribute:`show-search`,converter:a.t})],g.prototype,`showSearch`,void 0),e.n([e.u({type:Boolean,attribute:`can-change-representation`,converter:a.t})],g.prototype,`canChangeRepresentation`,void 0),e.n([e.u({type:Boolean,attribute:`has-log-out`,converter:a.t})],g.prototype,`hasLogOut`,void 0),e.n([e.u({type:Object})],g.prototype,`user`,void 0),e.n([e.u({type:Array,attribute:`user-menu`})],g.prototype,`userMenu`,void 0),e.n([e.u({type:Object})],g.prototype,`representing`,void 0),e.n([e.l()],g.prototype,`openMenu`,void 0),e.n([e.l()],g.prototype,`alignSlotRight`,void 0),e.n([e.l()],g.prototype,`alignSearchRight`,void 0);try{e.d(`pkt-header-service`)(g)}catch{console.warn(`Forsøker å definere <pkt-header-service>, men den er allerede definert`)}var _=`https://punkt-cdn.oslo.kommune.no/latest/logos/`;typeof window<`u`&&(window.pktLogoPath=window.pktLogoPath||_);var v=`pkt-header-global-menu`,y=`pkt-header-global-menu-toggle`,b=`pkt-header-global-search-panel`,x=`pkt-header-global-search-toggle`,S=class extends e.t{constructor(...e){super(...e),this.locale=`nb-NO`,this.logoLink=o.o,this.logoPath=typeof window<`u`?window.pktLogoPath:_,this.position=`fixed`,this.scrollBehavior=`hide`,this.mobileBreakpoint=768,this.tabletBreakpoint=1024,this.logOutButtonPlacement=`none`,this.showSearch=!0,this.showContact=!0,this.canChangeRepresentation=!1,this.hasLogOut=!1,this.openMenu=`none`,this.loadError=!1,this.headerAnchor={top:0,left:0,width:0},this.headerRef=s.t(),this.menuContainerRef=s.t(),this.userContainerRef=s.t(),this.chrome=new p(this,()=>({mobileBreakpoint:this.mobileBreakpoint,tabletBreakpoint:this.tabletBreakpoint,position:this.position,scrollBehavior:this.scrollBehavior})),this.handleClickOutside=e=>{let t=e.target;this.openMenu===`user`&&!t.closest(`.pkt-header-global__user-container`)&&!t.closest(`.pkt-header-global__user-menu`)&&(this.openMenu=`none`),this.openMenu===`menu`&&!t.closest(`.pkt-header-menu`)&&!t.closest(`#${y}`)&&(this.openMenu=`none`),this.openMenu===`search`&&!t.closest(`.pkt-header-global__search-panel-inner`)&&!t.closest(`#${x}`)&&(this.openMenu=`none`)},this.handleEscapeKey=e=>{e.key===`Escape`&&this.openMenu!==`none`&&(e.preventDefault(),this.chrome.flagRestoreFocus(),this.openMenu=`none`)},this.handleOverlayKeydown=e=>{if(e.key!==`Tab`)return;let t=this.activeOverlay;if(!t||!t.panel||!t.toggle)return;let{panel:n,toggle:r}=t,i=c.n(n),a=c.t();if(a&&r.contains(a)){!e.shiftKey&&i.length>0&&(e.preventDefault(),i[0].focus());return}if(i.length===0)return;let o=i[0],s=i[i.length-1],l=!e.shiftKey&&a===s,u=e.shiftKey&&a===o;(l||u)&&(e.preventDefault(),this.openMenu=`none`,this.focusToggle(r))},this.handleOverlayFocusIn=e=>{let t=this.activeOverlay;if(!t||!t.panel)return;let n=e.target;n&&(t.panel.contains(n)||t.toggle?.contains(n)||(this.openMenu=`none`))}}get isMobile(){return this.chrome.isMobile}get isTablet(){return this.chrome.isTablet}get isHidden(){return this.chrome.isHidden}connectedCallback(){super.connectedCallback(),this.classList.add(`pkt-header-global-host`),this.data?this.emitDataLoaded(this.data):this.loadData()}disconnectedCallback(){super.disconnectedCallback(),this.abortController?.abort(),document.removeEventListener(`mousedown`,this.handleClickOutside),document.removeEventListener(`keydown`,this.handleEscapeKey),document.removeEventListener(`keydown`,this.handleOverlayKeydown),document.removeEventListener(`focusin`,this.handleOverlayFocusIn)}firstUpdated(){this.chrome.observe(this.headerRef.value)}willUpdate(e){if(super.willUpdate(e),this.openMenu===`menu`||this.openMenu===`search`){let e=this.headerRef.value?.getBoundingClientRect();e&&(this.headerAnchor={top:e.top,left:e.left,width:e.width})}}get overlayAnchorStyle(){let{top:e,left:t,width:n}=this.headerAnchor;return`--pkt-header-global-top: ${e}px; --pkt-header-global-left: ${t}px; --pkt-header-global-width: ${n}px`}updated(e){if(super.updated(e),(e.has(`mobileBreakpoint`)||e.has(`tabletBreakpoint`))&&this.chrome.refreshBreakpoints(),e.has(`dataUrl`)&&e.get(`dataUrl`)!==void 0&&!this.data&&this.loadData(),e.has(`data`)&&this.data&&this.emitDataLoaded(this.data),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===`none`&&t&&t!==`none`&&(document.removeEventListener(`mousedown`,this.handleClickOutside),document.removeEventListener(`keydown`,this.handleEscapeKey),this.chrome.restoreFocus());let n=t===`menu`||t===`search`,r=this.openMenu===`menu`||this.openMenu===`search`;r&&!n?(document.addEventListener(`keydown`,this.handleOverlayKeydown),document.addEventListener(`focusin`,this.handleOverlayFocusIn)):!r&&n&&(document.removeEventListener(`keydown`,this.handleOverlayKeydown),document.removeEventListener(`focusin`,this.handleOverlayFocusIn)),this.openMenu===`search`&&t!==`search`&&requestAnimationFrame(()=>{this.querySelector(`#${b} input`)?.focus()}),this.chrome.pauseScrollHide=this.openMenu!==`none`,this.chrome.setScrollLock(this.openMenu===`menu`||this.openMenu===`search`)}}async loadData(){this.abortController?.abort(),this.abortController=new AbortController,this.loadError=!1;try{let e=await o.t(this.dataUrl,this.abortController.signal);this.fetchedData=e,this.emitDataLoaded(e)}catch(e){if(e.name===`AbortError`)return;this.loadError=!0,this.dispatchEvent(new CustomEvent(`data-error`,{detail:{error:e},bubbles:!0,composed:!0}))}}emitDataLoaded(e){this.dispatchEvent(new CustomEvent(`data-loaded`,{detail:{data:e},bubbles:!0,composed:!0}))}get effectiveData(){return this.data??this.fetchedData}get localeData(){return o.n(this.effectiveData,this.locale)}get shouldHideOnScroll(){return this.scrollBehavior===`hide`}get isFixed(){return this.position===`fixed`}get isSticky(){return this.position===`sticky`}toggleMenu(e){this.openMenu===e?this.openMenu=`none`:(this.chrome.captureFocus(),this.openMenu=e)}get activeOverlay(){return this.openMenu===`menu`?{panel:this.menuContainerRef.value??null,toggle:this.querySelector(`#${y}`)}:this.openMenu===`search`?{panel:this.querySelector(`#${b}`),toggle:this.querySelector(`#${x}`)}:null}focusToggle(e){(e?.querySelector(`button`)??e)?.focus()}handleSearch(e){this.dispatchEvent(new CustomEvent(`search`,{detail:{query:e},bubbles:!0,composed:!0}))}handleLogout(){this.dispatchEvent(new CustomEvent(`log-out`,{bubbles:!0,composed:!0}))}handleChangeRepresentation(){this.dispatchEvent(new CustomEvent(`change-representation`,{bubbles:!0,composed:!0}))}get formattedLastLoggedIn(){return f(this.user?.lastLoggedIn)}get showLogoutInUserMenu(){return this.hasLogOut&&(this.logOutButtonPlacement===`userMenu`||this.logOutButtonPlacement===`both`)}handleLogoClick(e){this.dispatchEvent(new CustomEvent(`logo-click`,{bubbles:!0,composed:!0,detail:{originalEvent:e}}))}renderLogo(){let t=this.pktStrings.get(`header`),r=e._`
|
|
280
280
|
<pkt-icon name="oslologo" aria-hidden="true" path=${n.t(this.logoPath)}></pkt-icon>
|
|
281
281
|
`;return this.logoLink?e._`
|
|
282
282
|
<span class="pkt-header-global__logo">
|
|
@@ -359,7 +359,7 @@ const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),
|
|
|
359
359
|
<div class="pkt-header-global__user">
|
|
360
360
|
<div
|
|
361
361
|
class="pkt-header-global__user-container ${n?`is-open`:``}"
|
|
362
|
-
${
|
|
362
|
+
${s.n(this.userContainerRef)}
|
|
363
363
|
>
|
|
364
364
|
<pkt-button
|
|
365
365
|
class="pkt-header-global__user-button"
|
|
@@ -396,7 +396,7 @@ const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),
|
|
|
396
396
|
class=${n}
|
|
397
397
|
id=${v}
|
|
398
398
|
style=${this.overlayAnchorStyle}
|
|
399
|
-
${
|
|
399
|
+
${s.n(this.menuContainerRef)}
|
|
400
400
|
>
|
|
401
401
|
${this.localeData?e._`
|
|
402
402
|
<pkt-header-menu
|
|
@@ -412,7 +412,7 @@ const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),
|
|
|
412
412
|
`}
|
|
413
413
|
</div>
|
|
414
414
|
`}renderHeader(){let n=t.t({"pkt-header-global":!0,"pkt-header-global--mobile":this.isMobile,"pkt-header-global--tablet":this.isTablet,"pkt-header-global--fixed":this.isFixed,"pkt-header-global--sticky":this.isSticky,"pkt-header-global--scroll-to-hide":this.shouldHideOnScroll,"pkt-header-global--hidden":this.isHidden}),r=this.localeData,i=this.isMobile;return e._`
|
|
415
|
-
<header class=${n} ${
|
|
415
|
+
<header class=${n} ${s.n(this.headerRef)}>
|
|
416
416
|
<div class="pkt-header-global__logo-area">${this.renderLogo()}</div>
|
|
417
417
|
<div class="pkt-header-global__content">
|
|
418
418
|
${!i&&r?this.renderSearch(r):e.h}
|
|
@@ -428,7 +428,7 @@ const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),
|
|
|
428
428
|
<div class=${r}></div>
|
|
429
429
|
${a}${i}
|
|
430
430
|
</div>
|
|
431
|
-
`}return e._`${n}${a}${i}`}};e.n([e.u({type:String,attribute:`data-url`})],S.prototype,`dataUrl`,void 0),e.n([e.u({type:Object,attribute:!1})],S.prototype,`data`,void 0),e.n([e.u({type:String})],S.prototype,`locale`,void 0),e.n([e.u({type:String,attribute:`logo-link`})],S.prototype,`logoLink`,void 0),e.n([e.u({type:String,attribute:`logo-path`})],S.prototype,`logoPath`,void 0),e.n([e.u({type:String,attribute:`search-placeholder`})],S.prototype,`searchPlaceholder`,void 0),e.n([e.u({type:String})],S.prototype,`position`,void 0),e.n([e.u({type:String,attribute:`scroll-behavior`})],S.prototype,`scrollBehavior`,void 0),e.n([e.u({type:Number,attribute:`mobile-breakpoint`})],S.prototype,`mobileBreakpoint`,void 0),e.n([e.u({type:Number,attribute:`tablet-breakpoint`})],S.prototype,`tabletBreakpoint`,void 0),e.n([e.u({type:String,attribute:`log-out-button-placement`})],S.prototype,`logOutButtonPlacement`,void 0),e.n([e.u({type:Boolean,attribute:`show-search`,converter:
|
|
431
|
+
`}return e._`${n}${a}${i}`}};e.n([e.u({type:String,attribute:`data-url`})],S.prototype,`dataUrl`,void 0),e.n([e.u({type:Object,attribute:!1})],S.prototype,`data`,void 0),e.n([e.u({type:String})],S.prototype,`locale`,void 0),e.n([e.u({type:String,attribute:`logo-link`})],S.prototype,`logoLink`,void 0),e.n([e.u({type:String,attribute:`logo-path`})],S.prototype,`logoPath`,void 0),e.n([e.u({type:String,attribute:`search-placeholder`})],S.prototype,`searchPlaceholder`,void 0),e.n([e.u({type:String})],S.prototype,`position`,void 0),e.n([e.u({type:String,attribute:`scroll-behavior`})],S.prototype,`scrollBehavior`,void 0),e.n([e.u({type:Number,attribute:`mobile-breakpoint`})],S.prototype,`mobileBreakpoint`,void 0),e.n([e.u({type:Number,attribute:`tablet-breakpoint`})],S.prototype,`tabletBreakpoint`,void 0),e.n([e.u({type:String,attribute:`log-out-button-placement`})],S.prototype,`logOutButtonPlacement`,void 0),e.n([e.u({type:Boolean,attribute:`show-search`,converter:a.t})],S.prototype,`showSearch`,void 0),e.n([e.u({type:Boolean,attribute:`show-contact`,converter:a.t})],S.prototype,`showContact`,void 0),e.n([e.u({type:Boolean,attribute:`can-change-representation`,converter:a.t})],S.prototype,`canChangeRepresentation`,void 0),e.n([e.u({type:Boolean,attribute:`has-log-out`,converter:a.t})],S.prototype,`hasLogOut`,void 0),e.n([e.u({type:Object})],S.prototype,`user`,void 0),e.n([e.u({type:Array,attribute:`user-menu`})],S.prototype,`userMenu`,void 0),e.n([e.u({type:Object})],S.prototype,`representing`,void 0),e.n([e.l()],S.prototype,`openMenu`,void 0),e.n([e.l()],S.prototype,`fetchedData`,void 0),e.n([e.l()],S.prototype,`loadError`,void 0),e.n([e.l()],S.prototype,`headerAnchor`,void 0);try{e.d(`pkt-header-global`)(S)}catch{console.warn(`Forsøker å definere <pkt-header-global>, men den er allerede definert`)}var C=class extends i.t{constructor(...e){super(...e),this.type=`service`,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.canChangeRepresentation=!1,this.hasLogOut=!1,this.showContact=!0}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}renderGlobal(){return e._`
|
|
432
432
|
<pkt-header-global
|
|
433
433
|
data-url=${n.t(this.dataUrl)}
|
|
434
434
|
locale=${n.t(this.locale)}
|
|
@@ -476,4 +476,4 @@ const e=require("./element-CewjrA4g.cjs"),t=require("./class-map-B0FX3YsK.cjs"),
|
|
|
476
476
|
>
|
|
477
477
|
${this.hasSlotContent()?e._`<div class="pkt-contents">${i.r(this)}</div>`:e.h}
|
|
478
478
|
</pkt-header-service>
|
|
479
|
-
`}};e.n([e.u({type:String})],C.prototype,`type`,void 0),e.n([e.u({type:String,attribute:`service-name`})],C.prototype,`serviceName`,void 0),e.n([e.u({type:String,attribute:`service-link`})],C.prototype,`serviceLink`,void 0),e.n([e.u({type:String,attribute:`logo-link`})],C.prototype,`logoLink`,void 0),e.n([e.u({type:String,attribute:`logo-path`})],C.prototype,`logoPath`,void 0),e.n([e.u({type:String,attribute:`search-placeholder`})],C.prototype,`searchPlaceholder`,void 0),e.n([e.u({type:String,attribute:`search-value`})],C.prototype,`searchValue`,void 0),e.n([e.u({type:Number,attribute:`mobile-breakpoint`})],C.prototype,`mobileBreakpoint`,void 0),e.n([e.u({type:Number,attribute:`tablet-breakpoint`})],C.prototype,`tabletBreakpoint`,void 0),e.n([e.u({type:String,attribute:`opened-menu`})],C.prototype,`openedMenu`,void 0),e.n([e.u({type:String,attribute:`log-out-button-placement`})],C.prototype,`logOutButtonPlacement`,void 0),e.n([e.u({type:String})],C.prototype,`position`,void 0),e.n([e.u({type:String,attribute:`scroll-behavior`})],C.prototype,`scrollBehavior`,void 0),e.n([e.u({type:String,attribute:`slot-menu-variant`})],C.prototype,`slotMenuVariant`,void 0),e.n([e.u({type:String,attribute:`slot-menu-text`})],C.prototype,`slotMenuText`,void 0),e.n([e.u({type:Boolean,attribute:`hide-logo`,converter:
|
|
479
|
+
`}};e.n([e.u({type:String})],C.prototype,`type`,void 0),e.n([e.u({type:String,attribute:`service-name`})],C.prototype,`serviceName`,void 0),e.n([e.u({type:String,attribute:`service-link`})],C.prototype,`serviceLink`,void 0),e.n([e.u({type:String,attribute:`logo-link`})],C.prototype,`logoLink`,void 0),e.n([e.u({type:String,attribute:`logo-path`})],C.prototype,`logoPath`,void 0),e.n([e.u({type:String,attribute:`search-placeholder`})],C.prototype,`searchPlaceholder`,void 0),e.n([e.u({type:String,attribute:`search-value`})],C.prototype,`searchValue`,void 0),e.n([e.u({type:Number,attribute:`mobile-breakpoint`})],C.prototype,`mobileBreakpoint`,void 0),e.n([e.u({type:Number,attribute:`tablet-breakpoint`})],C.prototype,`tabletBreakpoint`,void 0),e.n([e.u({type:String,attribute:`opened-menu`})],C.prototype,`openedMenu`,void 0),e.n([e.u({type:String,attribute:`log-out-button-placement`})],C.prototype,`logOutButtonPlacement`,void 0),e.n([e.u({type:String})],C.prototype,`position`,void 0),e.n([e.u({type:String,attribute:`scroll-behavior`})],C.prototype,`scrollBehavior`,void 0),e.n([e.u({type:String,attribute:`slot-menu-variant`})],C.prototype,`slotMenuVariant`,void 0),e.n([e.u({type:String,attribute:`slot-menu-text`})],C.prototype,`slotMenuText`,void 0),e.n([e.u({type:Boolean,attribute:`hide-logo`,converter:a.t})],C.prototype,`hideLogo`,void 0),e.n([e.u({type:Boolean,converter:a.t})],C.prototype,`compact`,void 0),e.n([e.u({type:Boolean,attribute:`show-search`,converter:a.t})],C.prototype,`showSearch`,void 0),e.n([e.u({type:Boolean,attribute:`can-change-representation`,converter:a.t})],C.prototype,`canChangeRepresentation`,void 0),e.n([e.u({type:Boolean,attribute:`has-log-out`,converter:a.t})],C.prototype,`hasLogOut`,void 0),e.n([e.u({type:Object})],C.prototype,`user`,void 0),e.n([e.u({type:Array,attribute:`user-menu`})],C.prototype,`userMenu`,void 0),e.n([e.u({type:Object})],C.prototype,`representing`,void 0),e.n([e.u({type:String,attribute:`data-url`})],C.prototype,`dataUrl`,void 0),e.n([e.u({type:Object,attribute:!1})],C.prototype,`data`,void 0),e.n([e.u({type:String})],C.prototype,`locale`,void 0),e.n([e.u({type:Boolean,attribute:`show-contact`,converter:a.t})],C.prototype,`showContact`,void 0),e.n([e.u({type:Array,attribute:`user-menu-footer`})],C.prototype,`userMenuFooter`,void 0),e.n([e.u({type:Array,attribute:`user-options`})],C.prototype,`userOptions`,void 0);try{e.d(`pkt-header`)(C)}catch{console.warn(`Forsøker å definere <pkt-header>, men den er allerede definert`)}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return C}});
|