@oslokommune/punkt-elements 17.1.2 → 18.0.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 +35 -0
- package/dist/{accordion-BeLvLPrB.js → accordion-1_pdxTgJ.js} +27 -27
- package/dist/{accordion-B3GBlvUC.cjs → accordion-DobbH-Sv.cjs} +5 -5
- package/dist/{alert-Cs4Rmq_J.cjs → alert-COeHz6o2.cjs} +6 -6
- package/dist/{alert-DKK_Tb9J.js → alert-xspFetQ8.js} +26 -26
- package/dist/{async-directive-Da7TJpnq.cjs → async-directive-B5pcIMfO.cjs} +1 -1
- package/dist/{async-directive-BPf6K-V2.js → async-directive-D2Sht790.js} +5 -5
- package/dist/{backlink-D1y26pj3.js → backlink-C0jZFnZ2.js} +8 -8
- package/dist/{backlink-CMmrKTe4.cjs → backlink-ZMhqHaVs.cjs} +3 -3
- package/dist/base-elements/element.d.ts +13 -1
- package/dist/base-elements/input-element.d.ts +4 -2
- package/dist/{breadcrumbs-B6JGhJgC.cjs → breadcrumbs-BS64xd1s.cjs} +7 -7
- package/dist/{breadcrumbs-CcTQ3Grm.js → breadcrumbs-BvMownZN.js} +16 -16
- package/dist/{button-2-OSPJkj.js → button-C44vNLFC.js} +28 -28
- package/dist/{button-CE97NQIk.cjs → button-CR4CXtnj.cjs} +7 -7
- package/dist/{calendar-kn4SrtJy.cjs → calendar-DQ4byeom.cjs} +28 -27
- package/dist/{calendar-pOW3R5Pw.js → calendar-DgjCKMMV.js} +82 -68
- package/dist/{card-zQ0eKRMV.js → card-DhHqC265.js} +44 -44
- package/dist/{card-CETDFkxR.cjs → card-Dpqi6HVt.cjs} +26 -26
- package/dist/{checkbox-CH7NpINF.js → checkbox-BQ1K57AB.js} +23 -23
- package/dist/{checkbox-CQNr_sEg.cjs → checkbox-CXQxbiaX.cjs} +11 -11
- package/dist/{class-map-BeimMvPv.cjs → class-map-CzCE5pqG.cjs} +1 -1
- package/dist/{class-map-CnWCnBSX.js → class-map-F1DJHyb7.js} +3 -3
- package/dist/{combobox-Bvg0UO9w.cjs → combobox-BV4oDiII.cjs} +19 -18
- package/dist/{combobox-CRdYYlxu.js → combobox-DPck39I2.js} +55 -54
- package/dist/components/calendar/calendar.d.ts +21 -6
- package/dist/components/checkbox/checkbox.d.ts +4 -2
- package/dist/components/combobox/combobox-base.d.ts +2 -1
- package/dist/components/consent/strings.d.ts +1 -85
- package/dist/components/datepicker/datepicker-base.d.ts +0 -3
- package/dist/components/datepicker/datepicker-multiple.d.ts +0 -2
- package/dist/components/datepicker/datepicker-range.d.ts +0 -2
- package/dist/components/datepicker/datepicker-single.d.ts +0 -2
- package/dist/components/datepicker/datepicker-utils.d.ts +2 -1
- package/dist/components/fileupload/fileupload-base.d.ts +3 -2
- package/dist/components/header/header-service.d.ts +3 -1
- package/dist/components/header/header.d.ts +2 -1
- package/dist/components/helptext/helptext.d.ts +2 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/input-wrapper/input-wrapper.d.ts +4 -2
- package/dist/components/radiobutton/radiobutton.d.ts +4 -2
- package/dist/components/searchinput/searchinput.d.ts +2 -1
- package/dist/{consent-DZEkhgJ1.js → consent-BneInZov.js} +10 -10
- package/dist/{consent-CyY3RyoC.cjs → consent-_N9foluG.cjs} +5 -5
- package/dist/controllers/strings-controller.d.ts +27 -0
- package/dist/{datepicker-VTqSDQk5.cjs → datepicker-9NX5qt2z.cjs} +38 -37
- package/dist/{datepicker-ButIas85.js → datepicker-nSSSr1U7.js} +104 -104
- package/dist/{directive-helpers-CI8YZqku.js → directive-helpers-BARw3nEZ.js} +1 -1
- package/dist/{directive-helpers-BlAV5EQD.cjs → directive-helpers-D6AAMFKs.cjs} +1 -1
- package/dist/docs/components/fileupload.d.ts +1 -0
- package/dist/element-B8OGznK0.cjs +2 -0
- package/dist/{element-ChsFgr_B.js → element-BKSPVgs2.js} +240 -100
- package/dist/{element-with-slot-Bj7nm7fO.cjs → element-with-slot-DTxILHVv.cjs} +1 -1
- package/dist/{element-with-slot-BvG9ctC-.js → element-with-slot-YUAUFRqw.js} +4 -4
- package/dist/fileupload-D05VSbEP.cjs +402 -0
- package/dist/{fileupload-D5IQ9HDe.js → fileupload-E0LGGNgj.js} +370 -380
- package/dist/{footer-DbYQUYNR.cjs → footer-DBApIdGh.cjs} +32 -32
- package/dist/{footer-DrR64HiK.js → footer-DYilVBMC.js} +91 -91
- package/dist/format-B8meU8Tm.cjs +1 -0
- package/dist/format-BTeSVkED.js +18 -0
- package/dist/{header-ClgIac6n.cjs → header-B7tbX-Ok.cjs} +84 -84
- package/dist/{header-menu-BAsUNKSx.cjs → header-menu-1FFWhvNc.cjs} +24 -24
- package/dist/{header-menu-hVPXsb8g.js → header-menu-D522-VTV.js} +75 -75
- package/dist/{header-KvJ1mGwA.js → header-v3GWAzOK.js} +267 -264
- package/dist/{heading-CFmiSuCQ.cjs → heading-CvytvcL7.cjs} +1 -1
- package/dist/{heading-g-_IUB5T.js → heading-rx_oSCqe.js} +16 -16
- package/dist/helptext-DYFdcylX.cjs +27 -0
- package/dist/{helptext-DZng1D5i.js → helptext-LShGPm-b.js} +18 -19
- package/dist/{icon-9iwd2F2l.cjs → icon-BmMC09mi.cjs} +1 -1
- package/dist/{icon-D-LA22xD.js → icon-HYU1f54x.js} +17 -17
- package/dist/{if-defined-CGzIlZ9-.js → if-defined-BF8XcDi5.js} +1 -1
- package/dist/if-defined-CVYApOgK.cjs +1 -0
- package/dist/{input-element-DBMNBplu.js → input-element-D07DmR34.js} +121 -120
- package/dist/input-element-DumGj_oJ.cjs +1 -0
- package/dist/input-wrapper-Cci_wTvD.js +308 -0
- package/dist/input-wrapper-DDfapoRX.cjs +58 -0
- package/dist/{link-DK7gvmnj.cjs → link-11g2ZNin.cjs} +4 -4
- package/dist/{link-D-Eqm5KH.js → link-CQK0SH4H.js} +13 -13
- package/dist/{linkcard-zqbg7Oqm.js → linkcard-B4GlmjJ6.js} +16 -16
- package/dist/linkcard-DNYsVlV6.cjs +13 -0
- package/dist/{listbox-Dc4rGdPi.cjs → listbox-BlFRhyI7.cjs} +15 -15
- package/dist/{listbox-va_E8afs.js → listbox-wd_OofyF.js} +100 -99
- package/dist/{loader-D_RDICnw.js → loader-0C3qVk16.js} +14 -14
- package/dist/{loader-CMUkVJmE.cjs → loader-B9u2qUlR.cjs} +5 -5
- package/dist/{messagebox-Cv8LaSxv.cjs → messagebox-BD5tGmT-.cjs} +5 -5
- package/dist/{messagebox-Cw-OWDya.js → messagebox-C-y1ICmr.js} +15 -15
- package/dist/{modal-BtInv031.cjs → modal-BzPGQYCs.cjs} +8 -8
- package/dist/{modal-D0t_X2dX.js → modal-Cghs3w-d.js} +20 -20
- package/dist/pkt-accordion.cjs +1 -1
- package/dist/pkt-accordion.js +1 -1
- package/dist/pkt-alert.cjs +1 -1
- package/dist/pkt-alert.js +1 -1
- package/dist/pkt-backlink.cjs +1 -1
- package/dist/pkt-backlink.js +1 -1
- package/dist/pkt-breadcrumbs.cjs +1 -1
- package/dist/pkt-breadcrumbs.js +1 -1
- package/dist/pkt-button.cjs +1 -1
- package/dist/pkt-button.js +1 -1
- package/dist/pkt-calendar.cjs +1 -1
- package/dist/pkt-calendar.js +1 -1
- package/dist/pkt-card.cjs +1 -1
- package/dist/pkt-card.js +1 -1
- package/dist/pkt-checkbox.cjs +1 -1
- package/dist/pkt-checkbox.js +1 -1
- package/dist/pkt-combobox.cjs +1 -1
- package/dist/pkt-combobox.js +1 -1
- package/dist/pkt-consent.cjs +1 -1
- package/dist/pkt-consent.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-heading.cjs +1 -1
- package/dist/pkt-heading.js +1 -1
- package/dist/pkt-helptext.cjs +1 -1
- package/dist/pkt-helptext.js +1 -1
- package/dist/pkt-icon.cjs +1 -1
- package/dist/pkt-icon.js +1 -1
- package/dist/pkt-index.cjs +1 -1
- package/dist/pkt-index.js +35 -34
- package/dist/pkt-input-wrapper.cjs +1 -1
- package/dist/pkt-input-wrapper.js +1 -1
- package/dist/pkt-link.cjs +1 -1
- package/dist/pkt-link.js +1 -1
- package/dist/pkt-linkcard.cjs +1 -1
- package/dist/pkt-linkcard.js +1 -1
- package/dist/pkt-listbox.cjs +1 -1
- package/dist/pkt-listbox.js +1 -1
- package/dist/pkt-loader.cjs +1 -1
- package/dist/pkt-loader.js +1 -1
- package/dist/pkt-messagebox.cjs +1 -1
- package/dist/pkt-messagebox.js +1 -1
- package/dist/pkt-modal.cjs +1 -1
- package/dist/pkt-modal.js +1 -1
- package/dist/{pkt-options-controller-C5EBX2T0.cjs → pkt-options-controller-CEEAqXaB.cjs} +1 -1
- package/dist/{pkt-options-controller-B77vH3PE.js → pkt-options-controller-PtjhmTGk.js} +1 -1
- package/dist/pkt-progressbar.cjs +1 -1
- package/dist/pkt-progressbar.js +1 -1
- package/dist/pkt-radiobutton.cjs +1 -1
- package/dist/pkt-radiobutton.js +1 -1
- package/dist/pkt-searchinput.cjs +1 -1
- package/dist/pkt-searchinput.js +1 -1
- package/dist/pkt-select.cjs +1 -1
- package/dist/pkt-select.js +1 -1
- package/dist/pkt-tabs.cjs +1 -1
- package/dist/pkt-tabs.js +1 -1
- package/dist/pkt-tag.cjs +1 -1
- package/dist/pkt-tag.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/{progressbar-CbcfLerF.js → progressbar-BexQQw1o.js} +21 -21
- package/dist/{progressbar-D5MmnQId.cjs → progressbar-X9mSvpjw.cjs} +5 -5
- package/dist/{radiobutton-BUnf3EPi.js → radiobutton-CkhTasn4.js} +24 -24
- package/dist/{radiobutton-DpsO1F-8.cjs → radiobutton-ln29Ad3U.cjs} +8 -8
- package/dist/{ref-CQoEIIp0.cjs → ref-CHbJYtKE.cjs} +1 -1
- package/dist/{ref-CWD6PjVd.js → ref-Chc_DZAb.js} +2 -2
- package/dist/{repeat-sY6B7fAT.cjs → repeat-CHDs__rN.cjs} +1 -1
- package/dist/{repeat-C02g7d5S.js → repeat-P9SMlKd5.js} +4 -4
- package/dist/searchinput-CPgMEAZZ.cjs +60 -0
- package/dist/{searchinput-DwnjsvJ1.js → searchinput-Da7dKHBH.js} +43 -43
- package/dist/{select-BOJi6H6T.cjs → select-DCuvdAuK.cjs} +4 -3
- package/dist/{select-DMre80qs.js → select-jabMSjft.js} +21 -20
- package/dist/shared-strings/consent.d.ts +71 -0
- package/dist/shared-strings/format.d.ts +21 -0
- package/dist/shared-strings/index.d.ts +14 -0
- package/dist/shared-strings/nb.d.ts +118 -0
- package/dist/shared-strings/resolve.d.ts +12 -0
- package/dist/shared-strings/store.d.ts +27 -0
- package/dist/shared-strings/types.d.ts +29 -0
- package/dist/shared-types/fileupload.d.ts +0 -27
- package/dist/shared-types/index.d.ts +1 -2
- package/dist/shared-utils/combobox/index.d.ts +1 -0
- package/dist/shared-utils/combobox/input-utils.d.ts +2 -1
- package/dist/shared-utils/combobox/messages.d.ts +7 -0
- package/dist/shared-utils/combobox/option-utils.d.ts +2 -1
- package/dist/shared-utils/combobox/selection-manager.d.ts +3 -2
- package/dist/{tabs-Cf9ai0FD.cjs → tabs-DV5CQNDL.cjs} +7 -7
- package/dist/{tabs-TvxgbrCF.js → tabs-D_hoi1zu.js} +32 -32
- package/dist/tag-BxYulmZn.cjs +27 -0
- package/dist/{tag-Ds6n1LIs.js → tag-DK5SgKry.js} +33 -32
- package/dist/tests/strings-override.test.d.ts +0 -0
- package/dist/{textarea-vfzIcXhX.js → textarea-BR7Riace.js} +30 -29
- package/dist/{textarea-BydiLM9Z.cjs → textarea-ffBD_VHq.cjs} +3 -2
- package/dist/{textinput-CMP2jPP_.js → textinput-CRNrsRNV.js} +28 -27
- package/dist/{textinput-DGdicNSx.cjs → textinput-CtHFzAux.cjs} +13 -12
- package/dist/timepicker-AfgJipo6.cjs +196 -0
- package/dist/{timepicker-ClwgYywH.js → timepicker-ixs_E5RY.js} +67 -64
- package/package.json +3 -3
- package/src/components/backlink/backlink.ts +1 -1
- package/src/components/breadcrumbs/breadcrumbs.ts +1 -1
- package/src/components/calendar/calendar.ts +56 -26
- package/src/components/checkbox/checkbox.test.ts +0 -2
- package/src/components/checkbox/checkbox.ts +8 -4
- package/src/components/combobox/combobox-base.ts +2 -1
- package/src/components/combobox/combobox-value.ts +10 -9
- package/src/components/combobox/combobox.selection.test.ts +5 -1
- package/src/components/combobox/combobox.ts +4 -1
- package/src/components/consent/strings.ts +1 -125
- package/src/components/datepicker/date-tags.ts +4 -1
- package/src/components/datepicker/datepicker-base.ts +2 -6
- package/src/components/datepicker/datepicker-multiple.ts +0 -3
- package/src/components/datepicker/datepicker-range.ts +4 -7
- package/src/components/datepicker/datepicker-single.ts +0 -3
- package/src/components/datepicker/datepicker-utils.test.ts +5 -5
- package/src/components/datepicker/datepicker-utils.ts +6 -11
- package/src/components/datepicker/datepicker.ts +8 -1
- package/src/components/fileupload/fileupload-base.ts +25 -16
- package/src/components/fileupload/fileupload-renderers.ts +2 -1
- package/src/components/fileupload/fileupload.test.ts +16 -0
- package/src/components/fileupload/fileupload.ts +19 -15
- package/src/components/header/header-global.ts +3 -3
- package/src/components/header/header-service.ts +13 -8
- package/src/components/header/header.ts +2 -1
- package/src/components/helptext/helptext.test.ts +1 -1
- package/src/components/helptext/helptext.ts +3 -3
- package/src/components/index.ts +9 -0
- package/src/components/input-wrapper/input-wrapper.ts +18 -10
- package/src/components/listbox/listbox.ts +3 -3
- package/src/components/radiobutton/radiobutton.ts +8 -4
- package/src/components/searchinput/searchinput.ts +5 -3
- package/src/components/select/select.ts +1 -0
- package/src/components/tag/tag.ts +2 -1
- package/src/components/textarea/textarea.ts +1 -0
- package/src/components/textinput/textinput.ts +1 -0
- package/src/components/timepicker/timepicker.ts +23 -21
- package/dist/element-BA8v6S7z.cjs +0 -2
- package/dist/fileupload-BeWiTAoW.cjs +0 -401
- package/dist/helptext-CTtKJcML.cjs +0 -27
- package/dist/if-defined-B89_ZeCj.cjs +0 -1
- package/dist/input-element-DYmQw-fH.cjs +0 -1
- package/dist/input-wrapper-BmxNvznr.js +0 -128
- package/dist/input-wrapper-D-fPaTbY.js +0 -176
- package/dist/input-wrapper-D5PR0rJn.cjs +0 -1
- package/dist/input-wrapper-Q-B-aBeb.cjs +0 -54
- package/dist/linkcard-B29cmZqh.cjs +0 -13
- package/dist/searchinput-Bh975rjX.cjs +0 -60
- package/dist/tag-CzojNU7z.cjs +0 -27
- package/dist/timepicker-DYrnLHqN.cjs +0 -195
- package/dist/translations/no.json.d.ts +0 -94
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const e=require("./element-
|
|
1
|
+
const e=require("./element-B8OGznK0.cjs"),t=require("./class-map-CzCE5pqG.cjs"),n=require("./if-defined-CVYApOgK.cjs"),r=require("./repeat-CHDs__rN.cjs"),i=require("./utils-63cRpWut.cjs");var a=(e,t)=>t&&(e.find(e=>e.value===t)||e.find(e=>e.label===t))||null,o=(e,t)=>{if(!t)return-1;let n=e.findIndex(e=>e.value===t);return n>=0?n:e.findIndex(e=>e.label===t)},s=(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))},c=e=>e.value+(e.label||``)+(e.prefix||``),l=(e,t)=>t!==null&&e>=t,u=(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}},d=(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:`noResults`}:a?{addValueText:null,userInfoMessage:`alreadySelected`}:{addValueText:null,userInfoMessage:``}},f=e=>/^[\p{L} ]$/u.test(e),p=(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}},m=(e,t)=>{let n=t.toLowerCase();return e.findIndex(e=>e.textContent?.trim().toLowerCase().startsWith(n))},h=e=>{e.scrollIntoView({block:`nearest`}),window.setTimeout(()=>e.focus(),0)},g=e=>Array.from(e.querySelectorAll(`[role="option"]:not([data-disabled])`)||[]),_=e=>{let t=e.nextElementSibling;t&&h(t)},v=(e,t,n)=>{let r=e.previousElementSibling;if(e.dataset.index===`0`&&n){let e=t.querySelector(`[role="searchbox"]`);e&&h(e)}else r&&h(r)},y=e=>{let t=g(e);t[0]&&h(t[0])},b=e=>{let t=g(e),n=t[t.length-1];n&&h(n)},x=(e,t)=>{if(t.disabled)return;let n=g(e);if(t.allowUserInput&&t.customUserInput){let t=e.querySelector(`[data-type="new-option"]`);if(t){h(t);return}}let r=n.find(e=>e.dataset.selected===`true`);if(r){h(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]&&h(n[0])},S=class extends e.t{constructor(...e){super(...e),this.id=i.n(),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=p(),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 e._`
|
|
2
2
|
<div
|
|
3
3
|
class=${t.t({"pkt-listbox":!0,"pkt-listbox__open":this.isOpen,"pkt-txt-16-light":!0})}
|
|
4
4
|
role=${n.t(this._hasOptions?`listbox`:void 0)}
|
|
@@ -14,7 +14,7 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
|
|
|
14
14
|
</ul>
|
|
15
15
|
</div>
|
|
16
16
|
<div aria-live="polite" class="pkt-visually-hidden">${this.userMessage}</div>
|
|
17
|
-
`}renderCheckboxOrCheckIcon(t,n){return this.isMultiSelect?e.
|
|
17
|
+
`}renderCheckboxOrCheckIcon(t,n){return this.isMultiSelect?e._`
|
|
18
18
|
<input
|
|
19
19
|
class="pkt-input-check__input-checkbox"
|
|
20
20
|
type="checkbox"
|
|
@@ -26,15 +26,15 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
|
|
|
26
26
|
aria-labelledby=${this.id+`-option-label-`+n}
|
|
27
27
|
?disabled=${this.disabled||t.disabled||this.maxIsReached&&!t.selected}
|
|
28
28
|
/>
|
|
29
|
-
`:t.selected?e.
|
|
29
|
+
`:t.selected?e._`<pkt-icon name="check-big"></pkt-icon>`:e.h}renderEmptyMessage(){return this.options.length>0||this._filteredOptions.length>0||this.userMessage?e.h:e._`<div class="pkt-listbox__banner pkt-listbox__banner--empty">
|
|
30
30
|
<pkt-icon
|
|
31
31
|
class="pkt-listbox__banner-icon"
|
|
32
32
|
name="exclamation-mark-circle"
|
|
33
33
|
size="large"
|
|
34
34
|
></pkt-icon>
|
|
35
35
|
Tom liste
|
|
36
|
-
</div>`}renderList(){return e.
|
|
37
|
-
${r.t(this._filteredOptions,e=>e.value,(n,r)=>e.
|
|
36
|
+
</div>`}renderList(){return e._`
|
|
37
|
+
${r.t(this._filteredOptions,e=>e.value,(n,r)=>e._`
|
|
38
38
|
<li
|
|
39
39
|
@click=${()=>{this.toggleOption(n)}}
|
|
40
40
|
aria-selected=${n.selected?`true`:`false`}
|
|
@@ -51,15 +51,15 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
|
|
|
51
51
|
>
|
|
52
52
|
${this.renderCheckboxOrCheckIcon(n,r)}
|
|
53
53
|
<span class="pkt-listbox__option-label" id=${this.id+`-option-label-`+r}>
|
|
54
|
-
${n.prefix?e.
|
|
54
|
+
${n.prefix?e._`<span class="pkt-listbox__option-prefix">${n.prefix}</span>`:e.h}
|
|
55
55
|
${n.label||n.value}
|
|
56
56
|
</span>
|
|
57
|
-
${n.description?e.
|
|
57
|
+
${n.description?e._`<span class="pkt-listbox__option-description pkt-txt-14-light"
|
|
58
58
|
>${n.description}</span
|
|
59
|
-
>`:e.
|
|
59
|
+
>`:e.h}
|
|
60
60
|
</li>
|
|
61
61
|
`)}
|
|
62
|
-
`}renderNewOptionBanner(){return this.allowUserInput&&this.customUserInput?e.
|
|
62
|
+
`}renderNewOptionBanner(){return this.allowUserInput&&this.customUserInput?e._`
|
|
63
63
|
<div
|
|
64
64
|
class="pkt-listbox__banner pkt-listbox__banner--new-option pkt-listbox__option"
|
|
65
65
|
data-type="new-option"
|
|
@@ -72,18 +72,18 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
|
|
|
72
72
|
<pkt-icon class="pkt-listbox__banner-icon" name="plus-sign" size="large"></pkt-icon>
|
|
73
73
|
Legg til "${this.customUserInput}"
|
|
74
74
|
</div>
|
|
75
|
-
`:e.
|
|
75
|
+
`:e.h}renderMaximumReachedBanner(){return this._selectedOptions=this.options.filter(e=>e.selected).length,this.isMultiSelect&&this._selectedOptions>0&&this.maxLength>0?e._`
|
|
76
76
|
<div class="pkt-listbox__banner pkt-listbox__banner--maximum-reached">
|
|
77
77
|
${this._selectedOptions} av maks ${this.maxLength} mulige er valgt.
|
|
78
78
|
</div>
|
|
79
|
-
`:e.
|
|
79
|
+
`:e.h}renderUserMessage(){return this.userMessage?e._`<div class="pkt-listbox__banner pkt-listbox__banner--user-message">
|
|
80
80
|
<pkt-icon
|
|
81
81
|
class="pkt-listbox__banner-icon"
|
|
82
82
|
name="exclamation-mark-circle"
|
|
83
83
|
size="large"
|
|
84
84
|
></pkt-icon>
|
|
85
85
|
${this.userMessage}
|
|
86
|
-
</div>`:e.
|
|
86
|
+
</div>`:e.h}renderSearch(){let t=this.pktStrings.get(`listbox`);return this.includeSearch?e._`
|
|
87
87
|
<div class="pkt-listbox__search">
|
|
88
88
|
<span class="pkt-listbox__search-icon">
|
|
89
89
|
<pkt-icon name="magnifying-glass-small" size="large"></pkt-icon>
|
|
@@ -91,9 +91,9 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
|
|
|
91
91
|
<input
|
|
92
92
|
class="pkt-txt-16-light"
|
|
93
93
|
type="text"
|
|
94
|
-
aria-label
|
|
94
|
+
aria-label=${t.searchLabel}
|
|
95
95
|
form=""
|
|
96
|
-
placeholder=${this.searchPlaceholder
|
|
96
|
+
placeholder=${this.searchPlaceholder??t.searchPlaceholder}
|
|
97
97
|
@input=${this.handleSearchInput}
|
|
98
98
|
@keydown=${this.handleSearchKeydown}
|
|
99
99
|
.value=${this.searchValue}
|
|
@@ -103,4 +103,4 @@ const e=require("./element-BA8v6S7z.cjs"),t=require("./class-map-BeimMvPv.cjs"),
|
|
|
103
103
|
role="searchbox"
|
|
104
104
|
/>
|
|
105
105
|
</div>
|
|
106
|
-
`:e.
|
|
106
|
+
`:e.h}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()}}handleOptionKeydown(e){let t=e.currentTarget,n=t.dataset.value,r=t.dataset.type,i=t.dataset.selected===`true`;if(!(!g(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?b(this):r===`searchbox`||r===`new-option`?y(this):_(t),e.preventDefault();break;case`ArrowUp`:if(e.altKey)y(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 v(t,this,this.includeSearch);e.preventDefault();break;case`Home`:y(this),e.preventDefault();break;case`End`:b(this),e.preventDefault();break;default:(e.metaKey||e.ctrlKey)&&e.key===`a`&&(this.selectAll(),e.preventDefault()),f(e.key)&&(this.handleTypeAhead(e.key),e.preventDefault())}}focusFirstOrSelectedOption(){x(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=s(this.options,this.searchValue)}handleTypeAhead(e){let t=this.typeahead.append(e),n=g(this),r=m(n,t);r>=0&&h(n[r])}};e.n([e.u({type:String})],S.prototype,`id`,void 0),e.n([e.u({type:String})],S.prototype,`label`,void 0),e.n([e.u({type:Array})],S.prototype,`options`,void 0),e.n([e.u({type:Boolean,reflect:!0,attribute:`is-open`})],S.prototype,`isOpen`,void 0),e.n([e.u({type:Boolean})],S.prototype,`disabled`,void 0),e.n([e.u({type:Boolean,attribute:`include-search`})],S.prototype,`includeSearch`,void 0),e.n([e.u({type:Boolean,attribute:`is-multi-select`})],S.prototype,`isMultiSelect`,void 0),e.n([e.u({type:Boolean,attribute:`allow-user-input`})],S.prototype,`allowUserInput`,void 0),e.n([e.u({type:Boolean,attribute:`max-is-reached`})],S.prototype,`maxIsReached`,void 0),e.n([e.u({type:String,attribute:`custom-user-input`})],S.prototype,`customUserInput`,void 0),e.n([e.u({type:String,attribute:`search-placeholder`})],S.prototype,`searchPlaceholder`,void 0),e.n([e.u({type:String,attribute:`search-value`})],S.prototype,`searchValue`,void 0),e.n([e.u({type:Number,attribute:`max-length`})],S.prototype,`maxLength`,void 0),e.n([e.u({type:String,attribute:`user-message`})],S.prototype,`userMessage`,void 0),e.n([e.l()],S.prototype,`_filteredOptions`,void 0);try{e.d(`pkt-listbox`)(S)}catch{console.warn(`Forsøker å definere <pkt-listbox>, men den er allerede definert`)}var C=S;Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return C}});
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as
|
|
3
|
-
import { t as
|
|
4
|
-
import { t as
|
|
5
|
-
import { n as
|
|
1
|
+
import { _ as e, d as t, h as n, l as r, n as i, t as a, u as o } from "./element-BKSPVgs2.js";
|
|
2
|
+
import { t as s } from "./class-map-F1DJHyb7.js";
|
|
3
|
+
import { t as c } from "./if-defined-BF8XcDi5.js";
|
|
4
|
+
import { t as l } from "./repeat-P9SMlKd5.js";
|
|
5
|
+
import { n as u } from "./utils-BwF4QSrq.js";
|
|
6
6
|
//#region ../../shared-utils/combobox/option-utils.ts
|
|
7
|
-
var
|
|
7
|
+
var d = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label === t)) || null, f = (e, t) => {
|
|
8
8
|
if (!t) return -1;
|
|
9
9
|
let n = e.findIndex((e) => e.value === t);
|
|
10
10
|
return n >= 0 ? n : e.findIndex((e) => e.label === t);
|
|
11
|
-
},
|
|
11
|
+
}, p = (e, t) => {
|
|
12
12
|
if (!t) return [...e];
|
|
13
13
|
let n = t.toLowerCase();
|
|
14
14
|
return e.filter((e) => (e.fulltext || e.value + (e.label || "") + (e.prefix || "")).toLowerCase().includes(n));
|
|
15
|
-
},
|
|
15
|
+
}, m = (e) => e.value + (e.label || "") + (e.prefix || ""), h = (e, t) => t !== null && e >= t, g = (e, t) => {
|
|
16
16
|
if (!t) return {
|
|
17
17
|
filtered: [...e],
|
|
18
18
|
suggestion: null
|
|
@@ -22,7 +22,7 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
|
|
|
22
22
|
filtered: r,
|
|
23
23
|
suggestion: r.find((e) => !e.selected && e.label?.toLowerCase().startsWith(n)) || null
|
|
24
24
|
};
|
|
25
|
-
},
|
|
25
|
+
}, _ = (e, t, n, r) => {
|
|
26
26
|
if (!e.trim()) return {
|
|
27
27
|
addValueText: null,
|
|
28
28
|
userInfoMessage: ""
|
|
@@ -33,15 +33,15 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
|
|
|
33
33
|
userInfoMessage: ""
|
|
34
34
|
} : o.length === 0 && !r ? {
|
|
35
35
|
addValueText: null,
|
|
36
|
-
userInfoMessage: "
|
|
36
|
+
userInfoMessage: "noResults"
|
|
37
37
|
} : a ? {
|
|
38
38
|
addValueText: null,
|
|
39
|
-
userInfoMessage: "
|
|
39
|
+
userInfoMessage: "alreadySelected"
|
|
40
40
|
} : {
|
|
41
41
|
addValueText: null,
|
|
42
42
|
userInfoMessage: ""
|
|
43
43
|
};
|
|
44
|
-
},
|
|
44
|
+
}, v = (e) => /^[\p{L} ]$/u.test(e), y = (e = 500) => {
|
|
45
45
|
let t = "", n;
|
|
46
46
|
return {
|
|
47
47
|
append: (r) => (t += r.toLowerCase(), n !== void 0 && clearTimeout(n), n = setTimeout(() => {
|
|
@@ -52,39 +52,39 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
|
|
|
52
52
|
},
|
|
53
53
|
getBuffer: () => t
|
|
54
54
|
};
|
|
55
|
-
},
|
|
55
|
+
}, b = (e, t) => {
|
|
56
56
|
let n = t.toLowerCase();
|
|
57
57
|
return e.findIndex((e) => e.textContent?.trim().toLowerCase().startsWith(n));
|
|
58
|
-
},
|
|
58
|
+
}, x = (e) => {
|
|
59
59
|
e.scrollIntoView({ block: "nearest" }), window.setTimeout(() => e.focus(), 0);
|
|
60
|
-
},
|
|
60
|
+
}, S = (e) => Array.from(e.querySelectorAll("[role=\"option\"]:not([data-disabled])") || []), C = (e) => {
|
|
61
61
|
let t = e.nextElementSibling;
|
|
62
|
-
t &&
|
|
63
|
-
},
|
|
62
|
+
t && x(t);
|
|
63
|
+
}, w = (e, t, n) => {
|
|
64
64
|
let r = e.previousElementSibling;
|
|
65
65
|
if (e.dataset.index === "0" && n) {
|
|
66
66
|
let e = t.querySelector("[role=\"searchbox\"]");
|
|
67
|
-
e &&
|
|
68
|
-
} else r &&
|
|
67
|
+
e && x(e);
|
|
68
|
+
} else r && x(r);
|
|
69
|
+
}, T = (e) => {
|
|
70
|
+
let t = S(e);
|
|
71
|
+
t[0] && x(t[0]);
|
|
69
72
|
}, E = (e) => {
|
|
70
|
-
let t =
|
|
71
|
-
|
|
72
|
-
}, D = (e) => {
|
|
73
|
-
let t = C(e), n = t[t.length - 1];
|
|
74
|
-
n && S(n);
|
|
75
|
-
}, O = (e, t) => {
|
|
73
|
+
let t = S(e), n = t[t.length - 1];
|
|
74
|
+
n && x(n);
|
|
75
|
+
}, D = (e, t) => {
|
|
76
76
|
if (t.disabled) return;
|
|
77
|
-
let n =
|
|
77
|
+
let n = S(e);
|
|
78
78
|
if (t.allowUserInput && t.customUserInput) {
|
|
79
79
|
let t = e.querySelector("[data-type=\"new-option\"]");
|
|
80
80
|
if (t) {
|
|
81
|
-
|
|
81
|
+
x(t);
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
let r = n.find((e) => e.dataset.selected === "true");
|
|
86
86
|
if (r) {
|
|
87
|
-
|
|
87
|
+
x(r);
|
|
88
88
|
return;
|
|
89
89
|
}
|
|
90
90
|
if (t.includeSearch && !(document.activeElement instanceof HTMLInputElement)) {
|
|
@@ -94,10 +94,10 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
|
|
|
94
94
|
return;
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
n[0] &&
|
|
98
|
-
},
|
|
97
|
+
n[0] && x(n[0]);
|
|
98
|
+
}, O = class extends a {
|
|
99
99
|
constructor(...e) {
|
|
100
|
-
super(...e), this.id =
|
|
100
|
+
super(...e), this.id = u(), 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 = y(), this._filteredOptions = [];
|
|
101
101
|
}
|
|
102
102
|
connectedCallback() {
|
|
103
103
|
super.connectedCallback(), this.includeSearch && !this.searchValue && (this.searchValue = ""), this.options.length > 0 && this.filterOptions(), this.setAttribute("tabindex", "-1"), this.addEventListener("focus", this.focusFirstOrSelectedOption);
|
|
@@ -115,16 +115,16 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
|
|
|
115
115
|
return this._filteredOptions.length > 0 || this.options.length > 0;
|
|
116
116
|
}
|
|
117
117
|
render() {
|
|
118
|
-
return
|
|
118
|
+
return e`
|
|
119
119
|
<div
|
|
120
|
-
class=${
|
|
120
|
+
class=${s({
|
|
121
121
|
"pkt-listbox": !0,
|
|
122
122
|
"pkt-listbox__open": this.isOpen,
|
|
123
123
|
"pkt-txt-16-light": !0
|
|
124
124
|
})}
|
|
125
|
-
role=${
|
|
126
|
-
aria-multiselectable=${
|
|
127
|
-
aria-label=${
|
|
125
|
+
role=${c(this._hasOptions ? "listbox" : void 0)}
|
|
126
|
+
aria-multiselectable=${c(this._hasOptions && this.isMultiSelect ? "true" : void 0)}
|
|
127
|
+
aria-label=${c(this._hasOptions ? this.label ?? void 0 : void 0)}
|
|
128
128
|
>
|
|
129
129
|
<div class="pkt-listbox__banners">
|
|
130
130
|
${this.renderSearch()} ${this.renderMaximumReachedBanner()} ${this.renderUserMessage()}
|
|
@@ -137,25 +137,25 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
|
|
|
137
137
|
<div aria-live="polite" class="pkt-visually-hidden">${this.userMessage}</div>
|
|
138
138
|
`;
|
|
139
139
|
}
|
|
140
|
-
renderCheckboxOrCheckIcon(
|
|
141
|
-
return this.isMultiSelect ?
|
|
140
|
+
renderCheckboxOrCheckIcon(t, r) {
|
|
141
|
+
return this.isMultiSelect ? e`
|
|
142
142
|
<input
|
|
143
143
|
class="pkt-input-check__input-checkbox"
|
|
144
144
|
type="checkbox"
|
|
145
145
|
role="presentation"
|
|
146
146
|
tabindex="-1"
|
|
147
|
-
value=${
|
|
147
|
+
value=${t.value}
|
|
148
148
|
@change=${(e) => {
|
|
149
149
|
e.stopPropagation();
|
|
150
150
|
}}
|
|
151
|
-
.checked=${
|
|
152
|
-
aria-labelledby=${this.id + "-option-label-" +
|
|
153
|
-
?disabled=${this.disabled ||
|
|
151
|
+
.checked=${t.selected}
|
|
152
|
+
aria-labelledby=${this.id + "-option-label-" + r}
|
|
153
|
+
?disabled=${this.disabled || t.disabled || this.maxIsReached && !t.selected}
|
|
154
154
|
/>
|
|
155
|
-
` :
|
|
155
|
+
` : t.selected ? e`<pkt-icon name="check-big"></pkt-icon>` : n;
|
|
156
156
|
}
|
|
157
157
|
renderEmptyMessage() {
|
|
158
|
-
return this.options.length > 0 || this._filteredOptions.length > 0 || this.userMessage ?
|
|
158
|
+
return this.options.length > 0 || this._filteredOptions.length > 0 || this.userMessage ? n : e`<div class="pkt-listbox__banner pkt-listbox__banner--empty">
|
|
159
159
|
<pkt-icon
|
|
160
160
|
class="pkt-listbox__banner-icon"
|
|
161
161
|
name="exclamation-mark-circle"
|
|
@@ -165,42 +165,42 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
|
|
|
165
165
|
</div>`;
|
|
166
166
|
}
|
|
167
167
|
renderList() {
|
|
168
|
-
return
|
|
169
|
-
${
|
|
168
|
+
return e`
|
|
169
|
+
${l(this._filteredOptions, (e) => e.value, (t, r) => e`
|
|
170
170
|
<li
|
|
171
171
|
@click=${() => {
|
|
172
|
-
this.toggleOption(
|
|
172
|
+
this.toggleOption(t);
|
|
173
173
|
}}
|
|
174
|
-
aria-selected=${
|
|
174
|
+
aria-selected=${t.selected ? "true" : "false"}
|
|
175
175
|
@keydown=${this.handleOptionKeydown}
|
|
176
|
-
class=${
|
|
176
|
+
class=${s({
|
|
177
177
|
"pkt-listbox__option": !0,
|
|
178
|
-
"pkt-listbox__option--selected": !!(!this.isMultiSelect &&
|
|
178
|
+
"pkt-listbox__option--selected": !!(!this.isMultiSelect && t.selected),
|
|
179
179
|
"pkt-listbox__option--checkBox": this.isMultiSelect
|
|
180
180
|
})}
|
|
181
|
-
tabindex="${this.disabled ||
|
|
182
|
-
data-index=${
|
|
183
|
-
data-value=${
|
|
184
|
-
data-selected=${
|
|
185
|
-
?data-disabled=${this.disabled ||
|
|
186
|
-
aria-disabled=${this.disabled ||
|
|
181
|
+
tabindex="${this.disabled || t.disabled ? "-1" : "0"}"
|
|
182
|
+
data-index=${r}
|
|
183
|
+
data-value=${t.value}
|
|
184
|
+
data-selected=${t.selected ? "true" : "false"}
|
|
185
|
+
?data-disabled=${this.disabled || t.disabled || this.maxIsReached && !t.selected}
|
|
186
|
+
aria-disabled=${this.disabled || t.disabled || this.maxIsReached && !t.selected ? "true" : "false"}
|
|
187
187
|
role="option"
|
|
188
|
-
id=${`${this.id}-${
|
|
188
|
+
id=${`${this.id}-${r}`}
|
|
189
189
|
>
|
|
190
|
-
${this.renderCheckboxOrCheckIcon(
|
|
191
|
-
<span class="pkt-listbox__option-label" id=${this.id + "-option-label-" +
|
|
192
|
-
${
|
|
193
|
-
${
|
|
190
|
+
${this.renderCheckboxOrCheckIcon(t, r)}
|
|
191
|
+
<span class="pkt-listbox__option-label" id=${this.id + "-option-label-" + r}>
|
|
192
|
+
${t.prefix ? e`<span class="pkt-listbox__option-prefix">${t.prefix}</span>` : n}
|
|
193
|
+
${t.label || t.value}
|
|
194
194
|
</span>
|
|
195
|
-
${
|
|
196
|
-
>${
|
|
197
|
-
>` :
|
|
195
|
+
${t.description ? e`<span class="pkt-listbox__option-description pkt-txt-14-light"
|
|
196
|
+
>${t.description}</span
|
|
197
|
+
>` : n}
|
|
198
198
|
</li>
|
|
199
199
|
`)}
|
|
200
200
|
`;
|
|
201
201
|
}
|
|
202
202
|
renderNewOptionBanner() {
|
|
203
|
-
return this.allowUserInput && this.customUserInput ?
|
|
203
|
+
return this.allowUserInput && this.customUserInput ? e`
|
|
204
204
|
<div
|
|
205
205
|
class="pkt-listbox__banner pkt-listbox__banner--new-option pkt-listbox__option"
|
|
206
206
|
data-type="new-option"
|
|
@@ -213,27 +213,28 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
|
|
|
213
213
|
<pkt-icon class="pkt-listbox__banner-icon" name="plus-sign" size="large"></pkt-icon>
|
|
214
214
|
Legg til "${this.customUserInput}"
|
|
215
215
|
</div>
|
|
216
|
-
` :
|
|
216
|
+
` : n;
|
|
217
217
|
}
|
|
218
218
|
renderMaximumReachedBanner() {
|
|
219
|
-
return this._selectedOptions = this.options.filter((e) => e.selected).length, this.isMultiSelect && this._selectedOptions > 0 && this.maxLength > 0 ?
|
|
219
|
+
return this._selectedOptions = this.options.filter((e) => e.selected).length, this.isMultiSelect && this._selectedOptions > 0 && this.maxLength > 0 ? e`
|
|
220
220
|
<div class="pkt-listbox__banner pkt-listbox__banner--maximum-reached">
|
|
221
221
|
${this._selectedOptions} av maks ${this.maxLength} mulige er valgt.
|
|
222
222
|
</div>
|
|
223
|
-
` :
|
|
223
|
+
` : n;
|
|
224
224
|
}
|
|
225
225
|
renderUserMessage() {
|
|
226
|
-
return this.userMessage ?
|
|
226
|
+
return this.userMessage ? e`<div class="pkt-listbox__banner pkt-listbox__banner--user-message">
|
|
227
227
|
<pkt-icon
|
|
228
228
|
class="pkt-listbox__banner-icon"
|
|
229
229
|
name="exclamation-mark-circle"
|
|
230
230
|
size="large"
|
|
231
231
|
></pkt-icon>
|
|
232
232
|
${this.userMessage}
|
|
233
|
-
</div>` :
|
|
233
|
+
</div>` : n;
|
|
234
234
|
}
|
|
235
235
|
renderSearch() {
|
|
236
|
-
|
|
236
|
+
let t = this.pktStrings.get("listbox");
|
|
237
|
+
return this.includeSearch ? e`
|
|
237
238
|
<div class="pkt-listbox__search">
|
|
238
239
|
<span class="pkt-listbox__search-icon">
|
|
239
240
|
<pkt-icon name="magnifying-glass-small" size="large"></pkt-icon>
|
|
@@ -241,9 +242,9 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
|
|
|
241
242
|
<input
|
|
242
243
|
class="pkt-txt-16-light"
|
|
243
244
|
type="text"
|
|
244
|
-
aria-label
|
|
245
|
+
aria-label=${t.searchLabel}
|
|
245
246
|
form=""
|
|
246
|
-
placeholder=${this.searchPlaceholder
|
|
247
|
+
placeholder=${this.searchPlaceholder ?? t.searchPlaceholder}
|
|
247
248
|
@input=${this.handleSearchInput}
|
|
248
249
|
@keydown=${this.handleSearchKeydown}
|
|
249
250
|
.value=${this.searchValue}
|
|
@@ -253,7 +254,7 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
|
|
|
253
254
|
role="searchbox"
|
|
254
255
|
/>
|
|
255
256
|
</div>
|
|
256
|
-
` :
|
|
257
|
+
` : n;
|
|
257
258
|
}
|
|
258
259
|
handleSearchInput(e) {
|
|
259
260
|
this.searchValue = e.target.value, this.dispatchEvent(new CustomEvent("search", {
|
|
@@ -278,7 +279,7 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
|
|
|
278
279
|
}
|
|
279
280
|
handleOptionKeydown(e) {
|
|
280
281
|
let t = e.currentTarget, n = t.dataset.value, r = t.dataset.type, i = t.dataset.selected === "true";
|
|
281
|
-
if (!(!
|
|
282
|
+
if (!(!S(this).length && (!this.customUserInput || !this.allowUserInput && this.customUserInput) && r !== "new-option" && r !== "searchbox")) switch (e.key) {
|
|
282
283
|
case " ":
|
|
283
284
|
case "Enter":
|
|
284
285
|
this.toggleOption(t), e.preventDefault();
|
|
@@ -293,30 +294,30 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
|
|
|
293
294
|
this.tabClose();
|
|
294
295
|
break;
|
|
295
296
|
case "ArrowDown":
|
|
296
|
-
e.altKey ?
|
|
297
|
+
e.altKey ? E(this) : r === "searchbox" || r === "new-option" ? T(this) : C(t), e.preventDefault();
|
|
297
298
|
break;
|
|
298
299
|
case "ArrowUp":
|
|
299
|
-
if (e.altKey)
|
|
300
|
+
if (e.altKey) T(this);
|
|
300
301
|
else if (t.dataset.index === "0" && this.includeSearch) {
|
|
301
302
|
let e = this.querySelector("[role=\"searchbox\"]");
|
|
302
303
|
e && e.focus();
|
|
303
304
|
} else if (t.dataset.index === "0" && this.customUserInput) {
|
|
304
305
|
let e = this.querySelector("[data-type=\"new-option\"]");
|
|
305
306
|
e && e.focus();
|
|
306
|
-
} else
|
|
307
|
+
} else w(t, this, this.includeSearch);
|
|
307
308
|
e.preventDefault();
|
|
308
309
|
break;
|
|
309
310
|
case "Home":
|
|
310
|
-
|
|
311
|
+
T(this), e.preventDefault();
|
|
311
312
|
break;
|
|
312
313
|
case "End":
|
|
313
|
-
|
|
314
|
+
E(this), e.preventDefault();
|
|
314
315
|
break;
|
|
315
|
-
default: (e.metaKey || e.ctrlKey) && e.key === "a" && (this.selectAll(), e.preventDefault()),
|
|
316
|
+
default: (e.metaKey || e.ctrlKey) && e.key === "a" && (this.selectAll(), e.preventDefault()), v(e.key) && (this.handleTypeAhead(e.key), e.preventDefault());
|
|
316
317
|
}
|
|
317
318
|
}
|
|
318
319
|
focusFirstOrSelectedOption() {
|
|
319
|
-
|
|
320
|
+
D(this, {
|
|
320
321
|
disabled: this.disabled,
|
|
321
322
|
allowUserInput: this.allowUserInput,
|
|
322
323
|
customUserInput: this.customUserInput,
|
|
@@ -342,52 +343,52 @@ var f = (e, t) => t && (e.find((e) => e.value === t) || e.find((e) => e.label ==
|
|
|
342
343
|
this.dispatchEvent(new CustomEvent("tab-close", { bubbles: !1 }));
|
|
343
344
|
}
|
|
344
345
|
filterOptions() {
|
|
345
|
-
this._filteredOptions =
|
|
346
|
+
this._filteredOptions = p(this.options, this.searchValue);
|
|
346
347
|
}
|
|
347
348
|
handleTypeAhead(e) {
|
|
348
|
-
let t = this.typeahead.append(e), n =
|
|
349
|
-
r >= 0 &&
|
|
349
|
+
let t = this.typeahead.append(e), n = S(this), r = b(n, t);
|
|
350
|
+
r >= 0 && x(n[r]);
|
|
350
351
|
}
|
|
351
352
|
};
|
|
352
|
-
|
|
353
|
+
i([o({ type: String })], O.prototype, "id", void 0), i([o({ type: String })], O.prototype, "label", void 0), i([o({ type: Array })], O.prototype, "options", void 0), i([o({
|
|
353
354
|
type: Boolean,
|
|
354
355
|
reflect: !0,
|
|
355
356
|
attribute: "is-open"
|
|
356
|
-
})],
|
|
357
|
+
})], O.prototype, "isOpen", void 0), i([o({ type: Boolean })], O.prototype, "disabled", void 0), i([o({
|
|
357
358
|
type: Boolean,
|
|
358
359
|
attribute: "include-search"
|
|
359
|
-
})],
|
|
360
|
+
})], O.prototype, "includeSearch", void 0), i([o({
|
|
360
361
|
type: Boolean,
|
|
361
362
|
attribute: "is-multi-select"
|
|
362
|
-
})],
|
|
363
|
+
})], O.prototype, "isMultiSelect", void 0), i([o({
|
|
363
364
|
type: Boolean,
|
|
364
365
|
attribute: "allow-user-input"
|
|
365
|
-
})],
|
|
366
|
+
})], O.prototype, "allowUserInput", void 0), i([o({
|
|
366
367
|
type: Boolean,
|
|
367
368
|
attribute: "max-is-reached"
|
|
368
|
-
})],
|
|
369
|
+
})], O.prototype, "maxIsReached", void 0), i([o({
|
|
369
370
|
type: String,
|
|
370
371
|
attribute: "custom-user-input"
|
|
371
|
-
})],
|
|
372
|
+
})], O.prototype, "customUserInput", void 0), i([o({
|
|
372
373
|
type: String,
|
|
373
374
|
attribute: "search-placeholder"
|
|
374
|
-
})],
|
|
375
|
+
})], O.prototype, "searchPlaceholder", void 0), i([o({
|
|
375
376
|
type: String,
|
|
376
377
|
attribute: "search-value"
|
|
377
|
-
})],
|
|
378
|
+
})], O.prototype, "searchValue", void 0), i([o({
|
|
378
379
|
type: Number,
|
|
379
380
|
attribute: "max-length"
|
|
380
|
-
})],
|
|
381
|
+
})], O.prototype, "maxLength", void 0), i([o({
|
|
381
382
|
type: String,
|
|
382
383
|
attribute: "user-message"
|
|
383
|
-
})],
|
|
384
|
+
})], O.prototype, "userMessage", void 0), i([r()], O.prototype, "_filteredOptions", void 0);
|
|
384
385
|
try {
|
|
385
|
-
|
|
386
|
+
t("pkt-listbox")(O);
|
|
386
387
|
} catch {
|
|
387
388
|
console.warn("Forsøker å definere <pkt-listbox>, men den er allerede definert");
|
|
388
389
|
}
|
|
389
390
|
//#endregion
|
|
390
391
|
//#region src/components/listbox/index.ts
|
|
391
|
-
var
|
|
392
|
+
var k = O;
|
|
392
393
|
//#endregion
|
|
393
|
-
export {
|
|
394
|
+
export { f as a, h as c, d as i, O as n, g as o, m as r, _ as s, k as t };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { t as o } from "./class-map-
|
|
3
|
-
import { n as s, t as c } from "./element-with-slot-
|
|
4
|
-
import "./icon-
|
|
1
|
+
import { _ as e, d as t, h as n, l as r, n as i, u as a } from "./element-BKSPVgs2.js";
|
|
2
|
+
import { t as o } from "./class-map-F1DJHyb7.js";
|
|
3
|
+
import { n as s, t as c } from "./element-with-slot-YUAUFRqw.js";
|
|
4
|
+
import "./icon-HYU1f54x.js";
|
|
5
5
|
//#region src/components/loader/loader.ts
|
|
6
6
|
var l = "https://punkt-cdn.oslo.kommune.no/latest/animations/";
|
|
7
7
|
typeof window < "u" && (window.pktAnimationPath = window.pktAnimationPath || l);
|
|
@@ -16,29 +16,29 @@ var u = class extends c {
|
|
|
16
16
|
e.has("delay") && this.setupLoader();
|
|
17
17
|
}
|
|
18
18
|
render() {
|
|
19
|
-
let
|
|
19
|
+
let t = o({
|
|
20
20
|
"pkt-loader": !0,
|
|
21
21
|
[`pkt-loader--${this.inline ? "inline" : "box"}`]: !0,
|
|
22
22
|
[`pkt-loader--${this.size}`]: !0
|
|
23
|
-
}),
|
|
23
|
+
}), r = o({
|
|
24
24
|
"pkt-contents": !0,
|
|
25
25
|
"pkt-hide": this.isLoading
|
|
26
26
|
});
|
|
27
|
-
return
|
|
27
|
+
return e`<div
|
|
28
28
|
role="status"
|
|
29
29
|
aria-live="polite"
|
|
30
30
|
aria-busy=${this.isLoading ? "true" : "false"}
|
|
31
|
-
class=${
|
|
31
|
+
class=${t}
|
|
32
32
|
>
|
|
33
|
-
${this.isLoading && this._shouldDisplayLoader ?
|
|
33
|
+
${this.isLoading && this._shouldDisplayLoader ? e`<div class="pkt-loader__spinner">
|
|
34
34
|
<pkt-icon
|
|
35
35
|
name=${this.getVariant(this.variant)}
|
|
36
36
|
path=${this.loadingAnimationPath}
|
|
37
37
|
class="pkt-loader__svg pkt-loader__${this.variant}"
|
|
38
38
|
></pkt-icon>
|
|
39
|
-
${this.message &&
|
|
40
|
-
</div>` :
|
|
41
|
-
<div class=${
|
|
39
|
+
${this.message && e`<p>${this.message}</p>`}
|
|
40
|
+
</div>` : n}
|
|
41
|
+
<div class=${r}>${s(this)}</div>
|
|
42
42
|
</div>`;
|
|
43
43
|
}
|
|
44
44
|
getVariant(e) {
|
|
@@ -54,9 +54,9 @@ var u = class extends c {
|
|
|
54
54
|
}, this.delay));
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
|
-
|
|
57
|
+
i([a({ type: Number })], u.prototype, "delay", void 0), i([a({ type: Boolean })], u.prototype, "inline", void 0), i([a({ type: Boolean })], u.prototype, "isLoading", void 0), i([a({ type: String })], u.prototype, "message", void 0), i([a({ type: String })], u.prototype, "size", void 0), i([a({ type: String })], u.prototype, "variant", void 0), i([a({ type: String })], u.prototype, "loadingAnimationPath", void 0), i([r()], u.prototype, "_shouldDisplayLoader", void 0);
|
|
58
58
|
try {
|
|
59
|
-
|
|
59
|
+
t("pkt-loader")(u);
|
|
60
60
|
} catch {
|
|
61
61
|
console.warn("Forsøker å definere <pkt-loader>, men den er allerede definert");
|
|
62
62
|
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
const e=require("./element-
|
|
1
|
+
const e=require("./element-B8OGznK0.cjs"),t=require("./class-map-CzCE5pqG.cjs"),n=require("./element-with-slot-DTxILHVv.cjs");require("./icon-BmMC09mi.cjs");var r=`https://punkt-cdn.oslo.kommune.no/latest/animations/`;typeof window<`u`&&(window.pktAnimationPath=window.pktAnimationPath||r);var i=class extends n.t{constructor(...e){super(...e),this.delay=0,this.inline=!1,this.isLoading=!0,this.message=null,this.size=`medium`,this.variant=`shapes`,this.loadingAnimationPath=typeof window<`u`?window.pktAnimationPath:r,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 r=t.t({"pkt-loader":!0,[`pkt-loader--${this.inline?`inline`:`box`}`]:!0,[`pkt-loader--${this.size}`]:!0}),i=t.t({"pkt-contents":!0,"pkt-hide":this.isLoading});return e._`<div
|
|
2
2
|
role="status"
|
|
3
3
|
aria-live="polite"
|
|
4
4
|
aria-busy=${this.isLoading?`true`:`false`}
|
|
5
5
|
class=${r}
|
|
6
6
|
>
|
|
7
|
-
${this.isLoading&&this._shouldDisplayLoader?e.
|
|
7
|
+
${this.isLoading&&this._shouldDisplayLoader?e._`<div class="pkt-loader__spinner">
|
|
8
8
|
<pkt-icon
|
|
9
9
|
name=${this.getVariant(this.variant)}
|
|
10
10
|
path=${this.loadingAnimationPath}
|
|
11
11
|
class="pkt-loader__svg pkt-loader__${this.variant}"
|
|
12
12
|
></pkt-icon>
|
|
13
|
-
${this.message&&e.
|
|
14
|
-
</div>`:e.
|
|
13
|
+
${this.message&&e._`<p>${this.message}</p>`}
|
|
14
|
+
</div>`:e.h}
|
|
15
15
|
<div class=${i}>${n.n(this)}</div>
|
|
16
|
-
</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))}};e.n([e.
|
|
16
|
+
</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))}};e.n([e.u({type:Number})],i.prototype,`delay`,void 0),e.n([e.u({type:Boolean})],i.prototype,`inline`,void 0),e.n([e.u({type:Boolean})],i.prototype,`isLoading`,void 0),e.n([e.u({type:String})],i.prototype,`message`,void 0),e.n([e.u({type:String})],i.prototype,`size`,void 0),e.n([e.u({type:String})],i.prototype,`variant`,void 0),e.n([e.u({type:String})],i.prototype,`loadingAnimationPath`,void 0),e.n([e.l()],i.prototype,`_shouldDisplayLoader`,void 0);try{e.d(`pkt-loader`)(i)}catch{console.warn(`Forsøker å definere <pkt-loader>, men den er allerede definert`)}var a=i;Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return a}});
|