@oslokommune/punkt-elements 13.18.3 → 13.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/combobox-DdykVdG7.cjs +129 -0
- package/dist/{combobox-BK9xei07.js → combobox-FlybXYZ7.js} +8 -4
- package/dist/{datepicker-p2LxVkLS.js → datepicker-CF1G5oDa.js} +1 -1
- package/dist/{datepicker-C1Virx9Z.cjs → datepicker-sT1bBKw1.cjs} +1 -1
- package/dist/{input-wrapper-B-Qseywc.cjs → input-wrapper-CmNmnpWV.cjs} +3 -3
- package/dist/{input-wrapper-Wu3Yv-bn.js → input-wrapper-KGnsd9qY.js} +6 -6
- 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 +2 -2
- package/dist/pkt-index.cjs +1 -1
- package/dist/pkt-index.js +6 -6
- package/dist/pkt-input-wrapper.cjs +1 -1
- package/dist/pkt-input-wrapper.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/{select-BWnw7CJy.cjs → select-BG4_G4yb.cjs} +1 -1
- package/dist/{select-BHEtNwcz.js → select-BjvRKbG6.js} +1 -1
- package/dist/{textarea-BC962syN.cjs → textarea-Bfur28Bd.cjs} +1 -1
- package/dist/{textarea-O0r9TzqP.js → textarea-CaA50rm5.js} +1 -1
- package/dist/{textinput-COK0LcXj.js → textinput-C6y83XoU.js} +1 -1
- package/dist/{textinput-DdcR7OZ-.cjs → textinput-D2uHsUDp.cjs} +1 -1
- package/package.json +3 -3
- package/src/components/combobox/combobox.ts +5 -2
- package/src/components/input-wrapper/input-wrapper.ts +1 -5
- package/dist/combobox-DMBUiR8Z.cjs +0 -129
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,23 @@ og skriver commits ca etter [Conventional Commits](https://conventionalcommits.o
|
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
+
## [13.19.1](https://github.com/oslokommune/punkt/compare/13.19.0...13.19.1) (2026-01-21)
|
|
9
|
+
|
|
10
|
+
### ⚠ BREAKING CHANGES
|
|
11
|
+
Ingen
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
Ingen
|
|
15
|
+
|
|
16
|
+
### Bug Fixes
|
|
17
|
+
Ingen
|
|
18
|
+
|
|
19
|
+
### Chores
|
|
20
|
+
Ingen
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
|
|
8
25
|
## [13.18.3](https://github.com/oslokommune/punkt/compare/13.18.2...13.18.3) (2026-01-15)
|
|
9
26
|
|
|
10
27
|
### ⚠ BREAKING CHANGES
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
"use strict";const a=require("./element-CJ_QKaki.cjs"),c=require("./if-defined-Bc9-_I01.cjs"),d=require("./state-DSjcvzDN.cjs"),r=require("./ref-BFa5Utho.cjs"),y=require("./class-map-C_erArZz.cjs"),O=require("./repeat-BZb41H64.cjs"),$=require("./input-element-BmXkhljw.cjs"),I=require("./pkt-options-controller-CiuBG6Lt.cjs"),w=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-CmNmnpWV.cjs");require("./icon-BGuizDwk.cjs");require("./tag-CWj979b6.cjs");require("./listbox-DnoqOo5u.cjs");const C={displayValueAs:{default:"label"}},R={props:C};var V=Object.defineProperty,A=Object.getOwnPropertyDescriptor,h=(v,t,e,i)=>{for(var s=i>1?void 0:i?A(t,e):t,n=v.length-1,l;n>=0;n--)(l=v[n])&&(s=(i?l(t,e,s):l(s))||s);return i&&s&&V(t,e,s),s};exports.PktCombobox=class extends $.PktInputElement{constructor(){super(),this.helptextSlot=r.e(),this.value="",this.options=[],this.defaultOptions=[],this.allowUserInput=!1,this.typeahead=!1,this.includeSearch=!1,this.searchPlaceholder="",this.multiple=!1,this.maxlength=null,this.displayValueAs=R.props.displayValueAs.default,this.tagPlacement=null,this._options=[],this._isOptionsOpen=!1,this._value=[],this._userInfoMessage="",this._addValueText=null,this._maxIsReached=!1,this._search="",this._inputFocus=!1,this._editingSingleValue=!1,this.inputRef=r.e(),this.arrowRef=r.e(),this.listboxRef=r.e(),this.focusRef=r.e(),this.optionTagRef=r.e(),this.optionsController=new I.PktOptionsSlotController(this),this.slotController=new w.PktSlotController(this,this.helptextSlot),this.slotController.skipOptions=!0}connectedCallback(){var t;if(super.connectedCallback(),document&&document.body.addEventListener("click",e=>{this._isOptionsOpen&&!this.contains(e.target)&&this.handleFocusOut(e)}),this._options=[],this.defaultOptions&&this.defaultOptions.length){const e=((t=this.options)==null?void 0:t.filter(i=>i.userAdded))||[];this.options=[...e,...JSON.parse(JSON.stringify(this.defaultOptions))],this._options=Array.isArray(this.options)?[...this.options]:[]}if(this.optionsController.nodes.length){const e=[];this.optionsController.nodes.forEach(i=>{if(!i.textContent&&!i.getAttribute("value"))return null;const s={value:i.getAttribute("value")||i.textContent||"",label:i.textContent||i.getAttribute("value")||""};i.getAttribute("data-prefix")&&(s.prefix=i.getAttribute("data-prefix")||void 0),i.getAttribute("tagskincolor")&&(s.tagSkinColor=i.getAttribute("tagskincolor")),i.getAttribute("description")&&(s.description=i.getAttribute("description")||void 0),s.fulltext=s.value+s.label+(s.prefix||""),e.push(s)}),e.length&&(this.options=[...e],this._options=[...e])}}updated(t){if(t.has("_value")&&this.valueChanged(this._value,t.get("_value")),t.has("value")&&(Array.isArray(this.value)?this._value=this.value:this.value&&this.multiple?this._value=this.value.split(","):this.value?this._value=[this.value]:this._value=[],!this.multiple&&this._value.length>1&&(this._value=[this._value[0]]),this.isMaxItemsReached()),t.has("defaultOptions")&&this.defaultOptions.length){const e=(Array.isArray(this.options)?this.options:[]).filter(i=>i.userAdded)||[];this.options=[...e,...JSON.parse(JSON.stringify(this.defaultOptions))],this._options=Array.isArray(this.options)?[...this.options]:[]}if(t.has("options")){const s=(t.get("options")||this._options||[]).filter(l=>l&&l.userAdded).filter(l=>!(Array.isArray(this.options)?this.options:[]).some(o=>o.value===l.value)),n=[...s,...this.options];this._options=n,s.length>0&&(this.options=n),this._options.forEach(l=>{if(l.value&&!l.label&&(l.label=l.value),l.selected&&!this._value.includes(l.value)){const o=[...this._value];this._value=[...this._value,l.value],this.valueChanged(this._value,o)}l.fulltext=l.value+l.label+(l.prefix||""),l.selected=l.selected||this._value.includes(l.value)})}t.has("_search")&&this.dispatchEvent(new CustomEvent("search",{detail:this._search,bubbles:!1})),super.updated(t)}attributeChangedCallback(t,e,i){t==="value"&&(Array.isArray(this.value)?this._value=this.value:this.value&&this.multiple?this._value=this.value.split(","):this.value?this._value=[this.value]:this._value=[],!this.multiple&&this._value.length>1&&(this._value=[this._value[0]])),t==="options"&&(this._options=Array.isArray(this.options)?[...this.options]:[],this._options.forEach(s=>{s.value&&!s.label&&(s.label=s.value),s.selected&&!this._value.includes(s.value)&&(this._value=[...this._value,s.value]),s.fulltext=s.value+s.label+(s.prefix||"")}),this._search=""),super.attributeChangedCallback(t,e,i)}render(){return a.x`
|
|
2
|
+
<pkt-input-wrapper
|
|
3
|
+
.label=${this.label}
|
|
4
|
+
.helptext=${this.helptext}
|
|
5
|
+
.helptextDropdown=${c.o(this.helptextDropdown)}
|
|
6
|
+
.helptextDropdownButton=${c.o(this.helptextDropdownButton)}
|
|
7
|
+
?fullwidth=${this.fullwidth}
|
|
8
|
+
?hasError=${this.hasError}
|
|
9
|
+
?inline=${this.inline}
|
|
10
|
+
?disabled=${this.disabled}
|
|
11
|
+
.errorMessage=${this.errorMessage}
|
|
12
|
+
?optionalTag=${this.optionalTag}
|
|
13
|
+
.optionalText=${this.optionalText}
|
|
14
|
+
?requiredTag=${this.requiredTag}
|
|
15
|
+
.requiredText=${this.requiredText}
|
|
16
|
+
.tagText=${this.tagText}
|
|
17
|
+
useWrapper=${this.useWrapper}
|
|
18
|
+
.forId=${this.allowUserInput||this.typeahead?this.id+"-input":this.id+"-arrow"}
|
|
19
|
+
class="pkt-combobox__wrapper"
|
|
20
|
+
@labelClick=${this.handleInputClick}
|
|
21
|
+
>
|
|
22
|
+
<div class="pkt-contents" ${r.n(this.helptextSlot)} name="helptext" slot="helptext"></div>
|
|
23
|
+
<div class="pkt-combobox" @focusout=${this.handleFocusOut}>
|
|
24
|
+
<div
|
|
25
|
+
class=${y.e({"pkt-combobox__input":!0,"pkt-combobox__input--fullwidth":this.fullwidth,"pkt-combobox__input--open":this._isOptionsOpen,"pkt-combobox__input--error":this.hasError,"pkt-combobox__input--disabled":this.disabled})}
|
|
26
|
+
tabindex="-1"
|
|
27
|
+
@click=${this.handleInputClick}
|
|
28
|
+
>
|
|
29
|
+
${this.placeholder&&(!this._value.length||this.multiple&&this.tagPlacement=="outside")&&!this._inputFocus?a.x`<span class="pkt-combobox__placeholder" @click=${this.handlePlaceholderClick}
|
|
30
|
+
>${this.placeholder}</span
|
|
31
|
+
>`:this.tagPlacement!=="outside"?this.renderSingleOrMultipleValues():a.E}
|
|
32
|
+
${this.renderInputField()}
|
|
33
|
+
<div
|
|
34
|
+
class="pkt-btn pkt-btn--tertiary pkt-combobox__arrow"
|
|
35
|
+
@click=${this.handleArrowClick}
|
|
36
|
+
@keydown=${this.handleArrowClick}
|
|
37
|
+
id="${this.id}-arrow"
|
|
38
|
+
${r.n(this.arrowRef)}
|
|
39
|
+
aria-expanded=${this._isOptionsOpen}
|
|
40
|
+
aria-controls="${this.id}-listbox"
|
|
41
|
+
aria-haspopup="listbox"
|
|
42
|
+
aria-label="Åpne liste"
|
|
43
|
+
?disabled=${this.disabled}
|
|
44
|
+
?data-disabled=${this.disabled}
|
|
45
|
+
role="button"
|
|
46
|
+
tabindex="${this.disabled?"-1":"0"}"
|
|
47
|
+
>
|
|
48
|
+
<pkt-icon
|
|
49
|
+
class=${y.e({"pkt-combobox__arrow-icon":!0,"pkt-combobox__arrow-icon--open":this._isOptionsOpen})}
|
|
50
|
+
name="chevron-thin-down"
|
|
51
|
+
></pkt-icon>
|
|
52
|
+
</div>
|
|
53
|
+
<div
|
|
54
|
+
${r.n(this.focusRef)}
|
|
55
|
+
tabindex="-1"
|
|
56
|
+
@keydown=${this.handleArrowClick}
|
|
57
|
+
class="pkt-contents"
|
|
58
|
+
></div>
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<pkt-listbox
|
|
62
|
+
id="${this.id}-listbox"
|
|
63
|
+
.options=${this._options}
|
|
64
|
+
.isOpen=${this._isOptionsOpen}
|
|
65
|
+
.searchPlaceholder=${this.searchPlaceholder}
|
|
66
|
+
.label="Liste: ${this.label||""}"
|
|
67
|
+
?includeSearch=${this.includeSearch}
|
|
68
|
+
?isMultiSelect=${this.multiple}
|
|
69
|
+
?allowUserInput=${this.allowUserInput&&!this._maxIsReached}
|
|
70
|
+
?maxIsReached=${this._maxIsReached}
|
|
71
|
+
.customUserInput=${c.o(this._addValueText)}
|
|
72
|
+
.userMessage=${this._userInfoMessage}
|
|
73
|
+
@search=${this.handleSearch}
|
|
74
|
+
@option-toggle=${this.handleOptionToggled}
|
|
75
|
+
@select-all=${this.addAllOptions}
|
|
76
|
+
@close-options=${()=>this._isOptionsOpen=!1}
|
|
77
|
+
.searchValue=${this._search||null}
|
|
78
|
+
.maxLength=${this.maxlength||0}
|
|
79
|
+
${r.n(this.listboxRef)}
|
|
80
|
+
></pkt-listbox>
|
|
81
|
+
</div>
|
|
82
|
+
|
|
83
|
+
${this.tagPlacement==="outside"&&this.multiple?a.x`<div class="pkt-combobox__tags-outside">
|
|
84
|
+
${this.renderSingleOrMultipleValues()}
|
|
85
|
+
</div>`:a.E}
|
|
86
|
+
</pkt-input-wrapper>
|
|
87
|
+
`}renderInputField(){return this.typeahead||this.allowUserInput?a.x`
|
|
88
|
+
<div class="pkt-combobox__input-div combobox__input">
|
|
89
|
+
<input
|
|
90
|
+
type="text"
|
|
91
|
+
id="${this.id}-input"
|
|
92
|
+
name=${(this.name||this.id)+"-input"}
|
|
93
|
+
@input=${this.handleInput}
|
|
94
|
+
@keydown=${this.handleInputKeydown}
|
|
95
|
+
@focus=${this.handleFocus}
|
|
96
|
+
@blur=${this.handleBlur}
|
|
97
|
+
autocomplete="off"
|
|
98
|
+
role="combobox"
|
|
99
|
+
aria-label=${c.o(this.label)}
|
|
100
|
+
aria-autocomplete=${this.typeahead?"both":"list"}
|
|
101
|
+
aria-controls="${this.id}-listbox"
|
|
102
|
+
aria-multiselectable=${c.o(this.multiple?"true":void 0)}
|
|
103
|
+
aria-activedescendant=${c.o(this._value[0]&&this.findValueInOptions(this._value[0])?`${this.id}-listbox-${this.findIndexInOptions(this._value[0])}`:void 0)}
|
|
104
|
+
${r.n(this.inputRef)}
|
|
105
|
+
/>
|
|
106
|
+
</div>
|
|
107
|
+
`:a.x`
|
|
108
|
+
<input
|
|
109
|
+
type="hidden"
|
|
110
|
+
id="${this.id}-input"
|
|
111
|
+
name=${(this.name||this.id)+"-input"}
|
|
112
|
+
.value=${this._value.join(",")}
|
|
113
|
+
${r.n(this.inputRef)}
|
|
114
|
+
/>
|
|
115
|
+
`}renderSingleOrMultipleValues(){const t=!this.multiple,e=this._editingSingleValue?null:this.renderValueTag(this.findValueInOptions(this._value[0])),i=O.c(this._value,s=>s,s=>{var o;const n=this.findValueInOptions(s),l=(o=this.options.find(u=>u.value===s))==null?void 0:o.tagSkinColor;return a.x`
|
|
116
|
+
<pkt-tag
|
|
117
|
+
skin=${l||"blue-dark"}
|
|
118
|
+
?closeTag=${!this.disabled}
|
|
119
|
+
@close=${()=>this.handleTagRemove(s)}
|
|
120
|
+
>
|
|
121
|
+
${this.renderValueTag(n)}
|
|
122
|
+
</pkt-tag>
|
|
123
|
+
`});return t?e:i}renderValueTag(t){if(!t)return"";switch(this.displayValueAs){case"prefixAndValue":return a.x`<span class="pkt-combobox__value" data-focusfix=${this.id}
|
|
124
|
+
>${t.prefix||""} ${t.value}</span
|
|
125
|
+
>`;case"value":return a.x`<span class="pkt-combobox__value" data-focusfix=${this.id}
|
|
126
|
+
>${t.value}</span
|
|
127
|
+
>`;case"label":default:return a.x`<span class="pkt-combobox__value" data-focusfix=${this.id}
|
|
128
|
+
>${t.label||t.value}</span
|
|
129
|
+
>`}}handleInput(t){if(t.stopPropagation(),t.stopImmediatePropagation(),this.disabled)return;this.touched=!0;const e=t.target;if(this._search=e.value,this.checkForMatches(),this.typeahead)if(this._search){if(this._options=this.options.filter(i=>{var s;return(s=i.fulltext)==null?void 0:s.toLowerCase().includes(this._search.toLowerCase())}),t.inputType!=="deleteContentBackward"){const i=this._options.filter(s=>{var n;return!s.selected&&((n=s.label)==null?void 0:n.toLowerCase().startsWith(this._search.toLowerCase()))});if(i.length>0&&this.inputRef.value&&this.inputRef.value.type!=="hidden"){const s=i[0];s!=null&&s.label&&(e.value=s.label,window.setTimeout(()=>e.setSelectionRange(this._search.length,e.value.length),0),e.selectionDirection="backward")}}}else this._options=[...this.options]}handleFocus(){if(!this.disabled){if(!this.multiple&&this._value[0]&&this.inputRef.value&&this.inputRef.value.type!=="hidden"){const t=this.findValueInOptions(this._value[0]);this._editingSingleValue=!0,this.inputRef.value.value=this.displayValueAs==="label"&&(t!=null&&t.label)?t.label:this._value[0]}this._inputFocus=!0,this._search="",this._options=[...this.options],this._isOptionsOpen=!0,this.onFocus(),this.requestUpdate()}}handleFocusOut(t){var e,i,s,n,l;if(!this.disabled&&((i=(e=t.relatedTarget)==null?void 0:e.closest("pkt-combobox"))==null?void 0:i.id)!==this.id&&((n=(s=t.relatedTarget)==null?void 0:s.closest("pkt-combobox"))==null?void 0:n.id)!==this.id&&((l=t.target)==null?void 0:l.getAttribute("data-focusfix"))!==this.id&&t.relatedTarget!==this.focusRef.value&&t.relatedTarget!==this.inputRef.value&&t.relatedTarget!==this.arrowRef.value&&this._isOptionsOpen){if(this._inputFocus=!1,this._addValueText=null,this._userInfoMessage="",this._search="",this.inputRef.value&&this.inputRef.value.type!=="hidden"&&this.inputRef.value.value!==""){const o=this.inputRef.value.value,u=this.findValueInOptions(o);!this._value.includes(o)&&!u?this.allowUserInput?this.addNewUserValue(o):this.multiple||this.removeValue(this._value[0]):u&&!this._value.includes(u.value)&&this.setSelected(u.value),this.inputRef.value.value=""}this._isOptionsOpen=!1,this.onBlur()}}handleBlur(){this._inputFocus=!1,this._editingSingleValue=!1,this.onBlur()}handleInputClick(t){var e,i;if(this.disabled){t.preventDefault(),t.stopImmediatePropagation();return}t.currentTarget&&t.currentTarget!==this.arrowRef.value&&((e=this.inputRef.value)==null?void 0:e.type)!=="hidden"?((i=this.inputRef.value)==null||i.focus(),this.requestUpdate()):this.handleArrowClick(t)}handlePlaceholderClick(t){this.disabled||(t.stopPropagation(),this.inputRef.value&&this.inputRef.value.type!=="hidden"&&(this.inputRef.value.focus(),this._inputFocus=!0,this.requestUpdate()))}handleArrowClick(t){var e,i;this.disabled||t instanceof KeyboardEvent&&t.key&&t.key!=="Enter"&&t.key!==" "&&t.key!=="ArrowDown"||(t.stopImmediatePropagation(),t.preventDefault(),this._isOptionsOpen=!this._isOptionsOpen,this._isOptionsOpen?(e=this.listboxRef.value)==null||e.focusFirstOrSelectedOption():(i=this.arrowRef.value)==null||i.focus())}handleOptionToggled(t){this.toggleValue(t.detail)}handleSearch(t){t.stopPropagation(),this._search=t.detail.toLowerCase()}handleInputKeydown(t){var e,i,s;switch(t.key){case",":this.multiple&&(t.preventDefault(),this.addValue());break;case"Enter":t.preventDefault(),this.addValue();break;case"Backspace":!this._search&&((e=this.inputRef.value)==null?void 0:e.type)==="hidden"&&this.removeLastValue(t);break;case"Tab":case"ArrowDown":t.shiftKey||((i=this.listboxRef.value)==null||i.focusFirstOrSelectedOption(),t.preventDefault());break;case"Escape":this._isOptionsOpen=!1,(s=this.arrowRef.value)==null||s.focus(),t.preventDefault();break}}handleTagRemove(t){this.removeSelected(t)}blurInput(){this.inputRef.value&&this.inputRef.value.matches(":focus")&&this.inputRef.value.blur()}checkForMatches(){var l;const t=((l=this.inputRef.value)==null?void 0:l.value)||this._search||"",e=t.trim().toLowerCase()||"";if(!e){!this.multiple&&this._value[0]&&this.removeValue(this._value[0]),this.resetComboboxInput(!1);return}const i=this._value.find(o=>o.toLowerCase()===e),s=this._options.filter(o=>{var u;return((u=o.label)==null?void 0:u.toLowerCase().includes(e))??!1}),n=s.find(o=>{var u;return((u=o.label)==null?void 0:u.toLowerCase())===e||o.value.toLowerCase()===e});switch(!0){case((s.length===0||!n)&&this.allowUserInput):this._addValueText=t,this._userInfoMessage="";break;case(s.length===0&&!this._options.length&&!this.allowUserInput):this._addValueText=null,this._userInfoMessage="Ingen match i søket";break;case!!i:this._addValueText=null,this._userInfoMessage="Verdien er allerede valgt";break;case s.length>1:this._addValueText=null,this._userInfoMessage="";break;default:this._addValueText=null,this._userInfoMessage=""}}findValueInOptions(t){return this.options.find(e=>e.value===t||e.label===t)||null}findIndexInOptions(t){return this._options.findIndex(e=>e.value===t||e.label===t)}isMaxItemsReached(){const t=this.maxlength!==null&&this._value.length>=this.maxlength;return t?this._maxIsReached=!0:this._maxIsReached=!1,t}toggleValue(t){var g,k;if(this.disabled)return;this.touched=!0,this._userInfoMessage="",this._addValueText=null;const e=((g=this.findValueInOptions(t))==null?void 0:g.value)||null,i=this._value.includes(t||e||""),s=!!e,n=((k=this._options.find(_=>_.value===t))==null?void 0:k.disabled)||!1,l=!(t!=null&&t.trim()),o=!this.multiple,u=this.multiple,x=this.isMaxItemsReached();let p=!1,f=!0,b="",m="";n||(!s&&this.allowUserInput&&!l?(this.addNewUserValue(t),b="Ny verdi lagt til",p=!u):!s&&!this.allowUserInput?(o&&this._value[0]&&this.removeValue(this._value[0]),f=!1,p=!0,b="Ingen treff i søket"):i?(this.removeValue(e),p=!0):l&&o?(this.removeAllSelected(),p=!0):o?(this._value[0]&&this.removeSelected(this._value[0]),this.setSelected(e),p=!1,this.inputRef.value&&this.inputRef.value.type!=="hidden"&&(this.inputRef.value.value="",this.inputRef.value.blur())):u&&!x?(this.setSelected(e),p=!0):u&&x?(this._userInfoMessage="Maks antall valg nådd",f=!1,m=t):(o&&this.removeAllSelected(),this._userInfoMessage="Ingen gyldig verdi valgt",f=!1,p=!0,m=t),this._isOptionsOpen=p,p||window.setTimeout(()=>{var _;(_=this.focusRef.value)==null||_.focus()},0),this._userInfoMessage=b,this._search=m||"",this.resetComboboxInput(f),u&&this.isMaxItemsReached())}setSelected(t){if(!this._value.includes(t)){if(this.multiple&&this.isMaxItemsReached()){this._userInfoMessage="Maks antall valg nådd";return}!this.multiple&&this.removeAllSelected(),this._value=t?[...this._value,t]:this._value,this._options=this._options.map(e=>(e.value===t&&(e.selected=!0),e)),this.resetComboboxInput(!0)}}removeSelected(t){if(!t)return;this._value=this._value.filter(i=>i!==t);const e=this.findValueInOptions(t);e?(e.selected=!1,e.userAdded?(this._options=[...this._options.filter(i=>i.value!==t)],this.options=[...this.options.filter(i=>i.value!==t)]):this._options=[...this._options,e]):!t&&!this.multiple&&(this._options=this._options.map(i=>(i.selected=!1,i)))}addAllOptions(){if(this.multiple){if(this.maxlength&&this._options.length>this.maxlength){this._userInfoMessage="For mange valgt";return}this._value=this._options.map(t=>t.value),this._options=this._options.map(t=>(t.selected=!0,t)),this.requestUpdate()}}removeAllSelected(){this._value=[],this._options=this._options.map(t=>(t.selected=!1,t)),this._options=this._options.filter(t=>!t.userAdded),this.requestUpdate()}addValue(){var e;const t=((e=this.inputRef.value)==null?void 0:e.value.trim())||"";this._search=t,this.toggleValue(t)}removeValue(t){this._value=this.multiple?this._value.filter(e=>e!==t):[],this.removeSelected(t)}addNewUserValue(t){if(!t||t.trim()==="")return;if(!this.multiple)this._value[0]&&this.removeSelected(this._value[0]),this._value=[t],this._isOptionsOpen=!1,this.blurInput();else if(!this.findValueInOptions(t)){if(this.isMaxItemsReached())return;this._value=[...this._value,t]}const e={value:t,label:t,userAdded:!0};this.options=[e,...this.options],this._options=[e,...this._options],this.setSelected(t),this.requestUpdate()}resetComboboxInput(t=!0){if(this._addValueText=null,this.inputRef.value&&this.inputRef.value.type!=="hidden"&&t)if(this._search="",this.multiple)this.inputRef.value.value="";else{const e=this.findValueInOptions(this._value[0]);window.setTimeout(()=>{!this.inputRef.value||this.inputRef.value.type==="hidden"||(this.inputRef.value.value=this.displayValueAs==="label"&&(e!=null&&e.label)?e.label:this._value[0]||"")},0),this._userInfoMessage=""}this._options=[...this.options]}removeLastValue(t){if(this._value.length===0)return;t.preventDefault();const e=this._value[this._value.length-1];e&&this.removeSelected(e),this.isMaxItemsReached()}};h([a.n({type:String,reflect:!0})],exports.PktCombobox.prototype,"value",2);h([a.n({type:Array})],exports.PktCombobox.prototype,"options",2);h([a.n({type:Array})],exports.PktCombobox.prototype,"defaultOptions",2);h([a.n({type:Boolean})],exports.PktCombobox.prototype,"allowUserInput",2);h([a.n({type:Boolean})],exports.PktCombobox.prototype,"typeahead",2);h([a.n({type:Boolean})],exports.PktCombobox.prototype,"includeSearch",2);h([a.n({type:String})],exports.PktCombobox.prototype,"searchPlaceholder",2);h([a.n({type:Boolean})],exports.PktCombobox.prototype,"multiple",2);h([a.n({type:Number})],exports.PktCombobox.prototype,"maxlength",2);h([a.n({type:String})],exports.PktCombobox.prototype,"displayValueAs",2);h([a.n({type:String})],exports.PktCombobox.prototype,"tagPlacement",2);h([d.r()],exports.PktCombobox.prototype,"_options",2);h([d.r()],exports.PktCombobox.prototype,"_isOptionsOpen",2);h([d.r()],exports.PktCombobox.prototype,"_value",2);h([d.r()],exports.PktCombobox.prototype,"_userInfoMessage",2);h([d.r()],exports.PktCombobox.prototype,"_addValueText",2);h([d.r()],exports.PktCombobox.prototype,"_maxIsReached",2);h([d.r()],exports.PktCombobox.prototype,"_search",2);h([d.r()],exports.PktCombobox.prototype,"_inputFocus",2);h([d.r()],exports.PktCombobox.prototype,"_editingSingleValue",2);exports.PktCombobox=h([a.t("pkt-combobox")],exports.PktCombobox);
|
|
@@ -7,15 +7,15 @@ import { c as R } from "./repeat-CJ79egkN.js";
|
|
|
7
7
|
import { P as V } from "./input-element-B0VPRK_E.js";
|
|
8
8
|
import { P as A } from "./pkt-options-controller-CZO1nxZ8.js";
|
|
9
9
|
import { P as C } from "./pkt-slot-controller-BPGj-LC5.js";
|
|
10
|
-
import "./input-wrapper-
|
|
10
|
+
import "./input-wrapper-KGnsd9qY.js";
|
|
11
11
|
import "./icon-1dy7UZcu.js";
|
|
12
12
|
import "./tag-DDfymBgc.js";
|
|
13
13
|
import "./listbox-mvKKzH-v.js";
|
|
14
14
|
const S = { displayValueAs: { default: "label" } }, T = {
|
|
15
15
|
props: S
|
|
16
16
|
};
|
|
17
|
-
var M = Object.defineProperty,
|
|
18
|
-
for (var h = s > 1 ? void 0 : s ?
|
|
17
|
+
var M = Object.defineProperty, P = Object.getOwnPropertyDescriptor, n = (t, e, i, s) => {
|
|
18
|
+
for (var h = s > 1 ? void 0 : s ? P(e, i) : e, l = t.length - 1, a; l >= 0; l--)
|
|
19
19
|
(a = t[l]) && (h = (s ? a(e, i, h) : a(h)) || h);
|
|
20
20
|
return s && h && M(e, i, h), h;
|
|
21
21
|
};
|
|
@@ -299,7 +299,11 @@ let o = class extends V {
|
|
|
299
299
|
}
|
|
300
300
|
handleInputClick(t) {
|
|
301
301
|
var e, i;
|
|
302
|
-
|
|
302
|
+
if (this.disabled) {
|
|
303
|
+
t.preventDefault(), t.stopImmediatePropagation();
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
t.currentTarget && t.currentTarget !== this.arrowRef.value && ((e = this.inputRef.value) == null ? void 0 : e.type) !== "hidden" ? ((i = this.inputRef.value) == null || i.focus(), this.requestUpdate()) : this.handleArrowClick(t);
|
|
303
307
|
}
|
|
304
308
|
handlePlaceholderClick(t) {
|
|
305
309
|
this.disabled || (t.stopPropagation(), this.inputRef.value && this.inputRef.value.type !== "hidden" && (this.inputRef.value.focus(), this._inputFocus = !0, this.requestUpdate()));
|
|
@@ -4,7 +4,7 @@ import { s as U, f as N, n as j, a as W, i as H, b as L, v as O, d as G, e as J,
|
|
|
4
4
|
import { P as X } from "./input-element-B0VPRK_E.js";
|
|
5
5
|
import { e as u, n as c } from "./ref-Xa5dbh--.js";
|
|
6
6
|
import "./icon-1dy7UZcu.js";
|
|
7
|
-
import "./input-wrapper-
|
|
7
|
+
import "./input-wrapper-KGnsd9qY.js";
|
|
8
8
|
import { e as k } from "./class-map-wy7PUk0P.js";
|
|
9
9
|
import { c as Y } from "./repeat-CJ79egkN.js";
|
|
10
10
|
import "./tag-DDfymBgc.js";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const a=require("./element-CJ_QKaki.cjs"),_=require("./state-DSjcvzDN.cjs"),u=require("./calendar-Dz1Cnzx5.cjs"),I=require("./input-element-BmXkhljw.cjs"),p=require("./ref-BFa5Utho.cjs");require("./icon-BGuizDwk.cjs");require("./input-wrapper-
|
|
1
|
+
"use strict";const a=require("./element-CJ_QKaki.cjs"),_=require("./state-DSjcvzDN.cjs"),u=require("./calendar-Dz1Cnzx5.cjs"),I=require("./input-element-BmXkhljw.cjs"),p=require("./ref-BFa5Utho.cjs");require("./icon-BGuizDwk.cjs");require("./input-wrapper-CmNmnpWV.cjs");const f=require("./class-map-C_erArZz.cjs"),O=require("./repeat-BZb41H64.cjs");require("./tag-CWj979b6.cjs");const S=require("./utils-byXsEz1u.cjs"),y=require("./if-defined-Bc9-_I01.cjs"),B=require("./pkt-slot-controller-BzddBp7z.cjs");var A=Object.defineProperty,M=Object.getOwnPropertyDescriptor,w=(i,e,t,s)=>{for(var n=s>1?void 0:s?M(e,t):e,l=i.length-1,r;l>=0;l--)(r=i[l])&&(n=(s?r(e,t,n):r(n))||n);return s&&n&&A(e,t,n),n};exports.PktDateTags=class extends a.PktElement{constructor(){super(...arguments),this.dates=[],this.dateformat="dd.MM.yyyy",this.className="pkt-datepicker__tags",this.idBase=S.uuidish()}render(){return this.classes={"pkt-date-tags":!0,[this.className]:!0},a.x`
|
|
2
2
|
<div class=${f.e(this.classes)} aria-live="polite">
|
|
3
3
|
${Array.isArray(this.dates)&&this.dates[0]?O.c(u.sortDateStrings((this.dates??[]).filter(Boolean)),e=>e,e=>{var t;return a.x` <pkt-tag
|
|
4
4
|
id=${this.idBase+e+"-tag"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const t=require("./element-CJ_QKaki.cjs"),g=require("./pkt-slot-controller-BzddBp7z.cjs"),u=require("./ref-BFa5Utho.cjs"),k=require("./if-defined-Bc9-_I01.cjs"),x=require("./icon-BGuizDwk.cjs"),y=require("./class-map-C_erArZz.cjs"),$=require("./utils-byXsEz1u.cjs"),
|
|
1
|
+
"use strict";const t=require("./element-CJ_QKaki.cjs"),g=require("./pkt-slot-controller-BzddBp7z.cjs"),u=require("./ref-BFa5Utho.cjs"),k=require("./if-defined-Bc9-_I01.cjs"),x=require("./icon-BGuizDwk.cjs"),y=require("./class-map-C_erArZz.cjs"),$=require("./utils-byXsEz1u.cjs"),p=require("./input-wrapper-EoSAbU-U.cjs");require("./helptext-EPTR9AIl.cjs");require("./alert-BXbmjri0.cjs");var I=Object.defineProperty,P=Object.getOwnPropertyDescriptor,e=(r,s,i,n)=>{for(var o=n>1?void 0:n?P(s,i):s,l=r.length-1,a;l>=0;l--)(a=r[l])&&(o=(n?a(s,i,o):a(o))||o);return n&&o&&I(s,i,o),o};const W={fromAttribute(r){return r==null?!1:r===""||r==="true"||r===!0?!0:r==="false"||r===!1?!1:!!r},toAttribute(r){return r?"true":"false"}};exports.PktInputWrapper=class extends t.PktElement{constructor(){super(),this.defaultSlot=u.e(),this.helptextSlot=u.e(),this.forId=$.uuidish(),this.label="",this.helptext=null,this.helptextDropdown=null,this.helptextDropdownButton=null,this.counter=p.specs.props.counter.default,this.counterCurrent=0,this.counterMaxLength=0,this.counterError=null,this.counterPosition="bottom",this.optionalTag=p.specs.props.optionalTag.default,this.optionalText=p.specs.props.optionalText.default,this.requiredTag=p.specs.props.requiredTag.default,this.requiredText=p.specs.props.requiredText.default,this.tagText=null,this.hasError=p.specs.props.hasError.default,this.errorMessage="",this.disabled=p.specs.props.disabled.default,this.inline=p.specs.props.inline.default,this.ariaDescribedby=void 0,this.hasFieldset=p.specs.props.hasFieldset.default,this.role="group",this.useWrapper=p.specs.props.useWrapper.default,this.slotController=new g.PktSlotController(this,this.defaultSlot,this.helptextSlot)}updated(s){super.updated(s)}render(){const s={"pkt-inputwrapper":!0,"pkt-inputwrapper--error":this.hasError,"pkt-inputwrapper--disabled":this.disabled,"pkt-inputwrapper--inline":this.inline},i="pkt-tag pkt-tag--small pkt-tag--thin-text",n=this.ariaDescribedby?this.ariaDescribedby:this.helptext?`${this.forId}-helptext`:t.E,o=()=>t.x`
|
|
2
2
|
${this.tagText?t.x`<span class=${i+" pkt-tag--gray"}>${this.tagText}</span>`:t.E}
|
|
3
3
|
${this.optionalTag?t.x`<span class=${i+" pkt-tag--blue-light"}>${this.optionalText}</span>`:t.E}
|
|
4
4
|
${this.requiredTag?t.x`<span class=${i+" pkt-tag--beige"}>${this.requiredText}</span>`:t.E}
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
.forId=${this.forId}
|
|
29
29
|
.helptext=${this.helptext}
|
|
30
30
|
.helptextDropdown=${this.helptextDropdown}
|
|
31
|
-
.helptextDropdownButton=${this.helptextDropdownButton||
|
|
31
|
+
.helptextDropdownButton=${this.helptextDropdownButton||p.specs.props.helptextDropdownButton.default}
|
|
32
32
|
@toggleHelpText=${b=>{this.toggleDropdown(b)}}
|
|
33
33
|
${u.n(this.helptextSlot)}
|
|
34
34
|
name="helptext"
|
|
@@ -53,4 +53,4 @@
|
|
|
53
53
|
${c()}
|
|
54
54
|
`,f=()=>this.hasFieldset?t.x`<fieldset class="pkt-inputwrapper__fieldset" aria-describedby="${n}">
|
|
55
55
|
${d()}
|
|
56
|
-
</fieldset>`:t.x`<div class="pkt-inputwrapper__fieldset">${d()}</div>`;return t.x`<div class=${y.e(
|
|
56
|
+
</fieldset>`:t.x`<div class="pkt-inputwrapper__fieldset">${d()}</div>`;return t.x`<div class=${y.e(s)}>${f()}</div> `}toggleDropdown(s){this.dispatchEvent(new CustomEvent("toggleHelpText",{bubbles:!1,detail:{isOpen:s.detail.isOpen}}))}handleLabelClick(){this.dispatchEvent(new CustomEvent("labelClick",{bubbles:!0,composed:!0,detail:"label clicked"}))}};e([t.n({type:String})],exports.PktInputWrapper.prototype,"forId",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"label",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"helptext",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"helptextDropdown",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"helptextDropdownButton",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"counter",2);e([t.n({type:Number})],exports.PktInputWrapper.prototype,"counterCurrent",2);e([t.n({type:Number})],exports.PktInputWrapper.prototype,"counterMaxLength",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"counterError",2);e([t.n({type:String,reflect:!1})],exports.PktInputWrapper.prototype,"counterPosition",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"optionalTag",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"optionalText",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"requiredTag",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"requiredText",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"tagText",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"hasError",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"errorMessage",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"disabled",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"inline",2);e([t.n({type:String})],exports.PktInputWrapper.prototype,"ariaDescribedby",2);e([t.n({type:Boolean})],exports.PktInputWrapper.prototype,"hasFieldset",2);e([t.n({type:String,reflect:!0})],exports.PktInputWrapper.prototype,"role",2);e([t.n({type:Boolean,reflect:!0,converter:W})],exports.PktInputWrapper.prototype,"useWrapper",2);exports.PktInputWrapper=e([t.t("pkt-input-wrapper")],exports.PktInputWrapper);
|
|
@@ -4,14 +4,14 @@ import { e as f, n as b } from "./ref-Xa5dbh--.js";
|
|
|
4
4
|
import { o as w } from "./if-defined-BWZGb3bh.js";
|
|
5
5
|
import { o as T } from "./icon-1dy7UZcu.js";
|
|
6
6
|
import { e as E } from "./class-map-wy7PUk0P.js";
|
|
7
|
-
import { u as
|
|
7
|
+
import { u as S } from "./utils-DznhwRXm.js";
|
|
8
8
|
import { s } from "./input-wrapper-CDgenrYA.js";
|
|
9
9
|
import "./helptext-Cs3QHeEy.js";
|
|
10
10
|
import "./alert-BD1H1Rxn.js";
|
|
11
|
-
var
|
|
11
|
+
var v = Object.defineProperty, D = Object.getOwnPropertyDescriptor, e = (o, a, n, h) => {
|
|
12
12
|
for (var l = h > 1 ? void 0 : h ? D(a, n) : a, d = o.length - 1, u; d >= 0; d--)
|
|
13
13
|
(u = o[d]) && (l = (h ? u(a, n, l) : u(l)) || l);
|
|
14
|
-
return h && l &&
|
|
14
|
+
return h && l && v(a, n, l), l;
|
|
15
15
|
};
|
|
16
16
|
const _ = {
|
|
17
17
|
fromAttribute(o) {
|
|
@@ -23,7 +23,7 @@ const _ = {
|
|
|
23
23
|
};
|
|
24
24
|
let t = class extends x {
|
|
25
25
|
constructor() {
|
|
26
|
-
super(), this.defaultSlot = f(), this.helptextSlot = f(), this.forId =
|
|
26
|
+
super(), this.defaultSlot = f(), this.helptextSlot = f(), this.forId = S(), this.label = "", this.helptext = null, this.helptextDropdown = null, this.helptextDropdownButton = null, this.counter = s.props.counter.default, this.counterCurrent = 0, this.counterMaxLength = 0, this.counterError = null, this.counterPosition = "bottom", this.optionalTag = s.props.optionalTag.default, this.optionalText = s.props.optionalText.default, this.requiredTag = s.props.requiredTag.default, this.requiredText = s.props.requiredText.default, this.tagText = null, this.hasError = s.props.hasError.default, this.errorMessage = "", this.disabled = s.props.disabled.default, this.inline = s.props.inline.default, this.ariaDescribedby = void 0, this.hasFieldset = s.props.hasFieldset.default, this.role = "group", this.useWrapper = s.props.useWrapper.default, this.slotController = new k(this, this.defaultSlot, this.helptextSlot);
|
|
27
27
|
}
|
|
28
28
|
updated(o) {
|
|
29
29
|
super.updated(o);
|
|
@@ -102,8 +102,8 @@ let t = class extends x {
|
|
|
102
102
|
})
|
|
103
103
|
);
|
|
104
104
|
}
|
|
105
|
-
handleLabelClick(
|
|
106
|
-
this.
|
|
105
|
+
handleLabelClick() {
|
|
106
|
+
this.dispatchEvent(
|
|
107
107
|
new CustomEvent("labelClick", {
|
|
108
108
|
bubbles: !0,
|
|
109
109
|
composed: !0,
|
package/dist/pkt-combobox.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./combobox-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./combobox-DdykVdG7.cjs"),o=e.PktCombobox;Object.defineProperty(exports,"PktCombobox",{enumerable:!0,get:()=>e.PktCombobox});exports.default=o;
|
package/dist/pkt-combobox.js
CHANGED
package/dist/pkt-datepicker.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./datepicker-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./datepicker-sT1bBKw1.cjs"),t=e.PktDatepicker;Object.defineProperty(exports,"PktDatepicker",{enumerable:!0,get:()=>e.PktDatepicker});Object.defineProperty(exports,"PktDatepickerMultiple",{enumerable:!0,get:()=>e.PktDatepickerMultiple});Object.defineProperty(exports,"PktDatepickerRange",{enumerable:!0,get:()=>e.PktDatepickerRange});Object.defineProperty(exports,"PktDatepickerSingle",{enumerable:!0,get:()=>e.PktDatepickerSingle});exports.default=t;
|
package/dist/pkt-datepicker.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as e } from "./datepicker-
|
|
2
|
-
import { d as p, c as i, b as c } from "./datepicker-
|
|
1
|
+
import { a as e } from "./datepicker-CF1G5oDa.js";
|
|
2
|
+
import { d as p, c as i, b as c } from "./datepicker-CF1G5oDa.js";
|
|
3
3
|
const a = e;
|
|
4
4
|
export {
|
|
5
5
|
e as PktDatepicker,
|
package/dist/pkt-index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./alert-BXbmjri0.cjs"),l=require("./accordionitem-DCZrHVNR.cjs"),m=require("./backlink-BzEvli8m.cjs"),g=require("./button-1jYzMALk.cjs"),P=require("./calendar-Dz1Cnzx5.cjs"),h=require("./card-Byrpi1pD.cjs"),f=require("./combobox-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("./alert-BXbmjri0.cjs"),l=require("./accordionitem-DCZrHVNR.cjs"),m=require("./backlink-BzEvli8m.cjs"),g=require("./button-1jYzMALk.cjs"),P=require("./calendar-Dz1Cnzx5.cjs"),h=require("./card-Byrpi1pD.cjs"),f=require("./combobox-DdykVdG7.cjs"),y=require("./consent-Cgc6nuiP.cjs"),O=require("./checkbox-BP5zOlPy.cjs"),t=require("./element-CJ_QKaki.cjs"),j=require("./pkt-slot-controller-BzddBp7z.cjs"),s=require("./ref-BFa5Utho.cjs"),q=require("./class-map-C_erArZz.cjs"),k=require("./datepicker-sT1bBKw1.cjs"),x=require("./helptext-EPTR9AIl.cjs"),C=require("./heading--JKFppLS.cjs"),v=require("./icon-BGuizDwk.cjs"),S=require("./input-wrapper-CmNmnpWV.cjs"),T=require("./link-Da3pZ_CW.cjs"),$=require("./linkcard-BM23gzhS.cjs"),L=require("./loader-Bo8RCbCJ.cjs"),_=require("./messagebox-C76IcXTl.cjs"),I=require("./modal-Cdz9JcCX.cjs"),A=require("./progressbar-8gzOtJyh.cjs"),p=require("./radiobutton-BuKXgQm_.cjs"),B=require("./tag-CWj979b6.cjs"),d=require("./tabitem-D5zyipN1.cjs"),D=require("./textarea-Bfur28Bd.cjs"),M=require("./textinput-D2uHsUDp.cjs"),R=require("./select-BG4_G4yb.cjs");var H=Object.defineProperty,w=Object.getOwnPropertyDescriptor,o=(a,e,r,i)=>{for(var n=i>1?void 0:i?w(e,r):e,u=a.length-1,c;u>=0;u--)(c=a[u])&&(n=(i?c(e,r,n):c(n))||n);return i&&n&&H(e,r,n),n};exports.PktComponent=class extends t.PktElement{constructor(){super(),this.string="",this.strings=[],this.darkmode=!1,this._list=[],this.defaultSlot=s.e(),this.namedSlot=s.e(),this.slotController=new j.PktSlotController(this,this.defaultSlot,this.namedSlot)}connectedCallback(){this.strings.length&&this.strings.forEach(e=>{this._list.push(e.toUpperCase())}),super.connectedCallback()}render(){const e={"pkt-component":!0,"pkt-component--has-list":this.strings.length>0,"pkt-darkmode":this.darkmode};return t.x`
|
|
2
2
|
<div class="${q.e(e)}">
|
|
3
3
|
<h1 class="pkt-txt-28">${this.string}</h1>
|
|
4
4
|
|
package/dist/pkt-index.js
CHANGED
|
@@ -5,18 +5,18 @@ import { P as O } from "./button-lDOnZON6.js";
|
|
|
5
5
|
import { c as f } from "./calendar-Bz27nuTP.js";
|
|
6
6
|
import { P as j } from "./calendar-Bz27nuTP.js";
|
|
7
7
|
import { P as G } from "./card-D-tsyQx5.js";
|
|
8
|
-
import { P as K } from "./combobox-
|
|
8
|
+
import { P as K } from "./combobox-FlybXYZ7.js";
|
|
9
9
|
import { P as U } from "./consent-CYFXjOXF.js";
|
|
10
10
|
import { P as q } from "./checkbox-CfXOh6Lw.js";
|
|
11
11
|
import { P as d, t as h, x as P, n, a as c } from "./element-CRDRygXu.js";
|
|
12
12
|
import { P as x } from "./pkt-slot-controller-BPGj-LC5.js";
|
|
13
13
|
import { e as m, n as k } from "./ref-Xa5dbh--.js";
|
|
14
14
|
import { e as u } from "./class-map-wy7PUk0P.js";
|
|
15
|
-
import { P as F, a as J } from "./datepicker-
|
|
15
|
+
import { P as F, a as J } from "./datepicker-CF1G5oDa.js";
|
|
16
16
|
import { P as V } from "./helptext-Cs3QHeEy.js";
|
|
17
17
|
import { P as Y } from "./heading-Cs5yGnJg.js";
|
|
18
18
|
import { P as tt } from "./icon-1dy7UZcu.js";
|
|
19
|
-
import { P as rt } from "./input-wrapper-
|
|
19
|
+
import { P as rt } from "./input-wrapper-KGnsd9qY.js";
|
|
20
20
|
import { P as st } from "./link-DzZCw8j2.js";
|
|
21
21
|
import { P as nt } from "./linkcard-RIK5xqbd.js";
|
|
22
22
|
import { P as pt } from "./loader-BVvBzaPI.js";
|
|
@@ -26,9 +26,9 @@ import { P as dt } from "./progressbar-kxcBEspG.js";
|
|
|
26
26
|
import { P as ct, P as xt } from "./radiobutton-C_MzK8dE.js";
|
|
27
27
|
import { P as gt } from "./tag-DDfymBgc.js";
|
|
28
28
|
import { a as bt, P as St } from "./tabitem-NV2fzs_-.js";
|
|
29
|
-
import { P as $t } from "./textarea-
|
|
30
|
-
import { P as _t } from "./textinput-
|
|
31
|
-
import { P as Tt } from "./select-
|
|
29
|
+
import { P as $t } from "./textarea-CaA50rm5.js";
|
|
30
|
+
import { P as _t } from "./textinput-C6y83XoU.js";
|
|
31
|
+
import { P as Tt } from "./select-BjvRKbG6.js";
|
|
32
32
|
var g = Object.defineProperty, v = Object.getOwnPropertyDescriptor, s = (t, e, i, a) => {
|
|
33
33
|
for (var r = a > 1 ? void 0 : a ? v(e, i) : e, p = t.length - 1, l; p >= 0; p--)
|
|
34
34
|
(l = t[p]) && (r = (a ? l(e, i, r) : l(r)) || r);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./input-wrapper-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./input-wrapper-CmNmnpWV.cjs"),t=e.PktInputWrapper;Object.defineProperty(exports,"PktInputWrapper",{enumerable:!0,get:()=>e.PktInputWrapper});exports.default=t;
|
package/dist/pkt-select.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./select-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./select-BG4_G4yb.cjs"),t=e.PktSelect;Object.defineProperty(exports,"PktSelect",{enumerable:!0,get:()=>e.PktSelect});exports.default=t;
|
package/dist/pkt-select.js
CHANGED
package/dist/pkt-textarea.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./textarea-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./textarea-Bfur28Bd.cjs"),t=e.PktTextarea;Object.defineProperty(exports,"PktTextarea",{enumerable:!0,get:()=>e.PktTextarea});exports.default=t;
|
package/dist/pkt-textarea.js
CHANGED
package/dist/pkt-textinput.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./textinput-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./textinput-D2uHsUDp.cjs"),t=e.PktTextinput;Object.defineProperty(exports,"PktTextinput",{enumerable:!0,get:()=>e.PktTextinput});exports.default=t;
|
package/dist/pkt-textinput.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const h=require("./element-CJ_QKaki.cjs"),u=require("./state-DSjcvzDN.cjs"),r=require("./ref-BFa5Utho.cjs"),o=require("./if-defined-Bc9-_I01.cjs"),d=require("./input-element-BmXkhljw.cjs"),c=require("./pkt-options-controller-CiuBG6Lt.cjs"),v=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-
|
|
1
|
+
"use strict";const h=require("./element-CJ_QKaki.cjs"),u=require("./state-DSjcvzDN.cjs"),r=require("./ref-BFa5Utho.cjs"),o=require("./if-defined-Bc9-_I01.cjs"),d=require("./input-element-BmXkhljw.cjs"),c=require("./pkt-options-controller-CiuBG6Lt.cjs"),v=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-CmNmnpWV.cjs");var f=Object.defineProperty,_=Object.getOwnPropertyDescriptor,a=(p,t,e,s)=>{for(var i=s>1?void 0:s?_(t,e):t,l=p.length-1,n;l>=0;l--)(n=p[l])&&(i=(s?n(t,e,i):n(i))||i);return s&&i&&f(t,e,i),i};exports.PktSelect=class extends d.PktInputElement{constructor(){super(),this.inputRef=r.e(),this.helptextSlot=r.e(),this._optionsProp=[],this.value="",this._options=[],this.selectedIndex=-1,this.selectedOptions=void 0,this.optionsController=new c.PktOptionsSlotController(this),this.slotController=new v.PktSlotController(this,this.helptextSlot),this.slotController.skipOptions=!0}get options(){return this._options.map(t=>({...t,selected:t.value===this.value}))}set options(t){this._optionsProp=t,this.requestUpdate("_optionsProp",this._options)}connectedCallback(){super.connectedCallback();const t=this._optionsProp.length>0,e=this.optionsController.nodes.length&&this.optionsController.nodes.length>0;!t&&e?this.optionsController.nodes.forEach(s=>{const i={value:s.hasAttribute("value")?s.getAttribute("value")??"":s.textContent??"",label:s.textContent||s.getAttribute("value")||"",disabled:s.hasAttribute("disabled"),selected:s.hasAttribute("selected"),hidden:s.hasAttribute("data-hidden")};s.getAttribute("selected")&&!this.value&&(this.value=i.value),this._options.push(i)}):(this._options=this._optionsProp,this._options.forEach(s=>{s.selected&&!this.value&&(this.value=s.value)}))}add(t,e){const s={value:t.value||t.text,label:t.text||t.value,selected:t.selected,disabled:t.disabled};if(e===void 0)this._options.push(s);else if(typeof e=="number")this._options.splice(e,0,s);else{const i=e.value||e.text,l=this._options.findIndex(n=>n.value===i);l>=0?this._options.splice(l,0,s):this._options.push(s)}t.selected&&(this.value=t.value||t.text,this.selectedIndex=this._options.findIndex(i=>i.value===this.value)),this.requestUpdate()}remove(t){var e;typeof t=="number"&&(this.selectedIndex===t&&(this.value=((e=this._options[0])==null?void 0:e.value)||""),this._options.splice(t,1),this.requestUpdate())}item(t){var e;return(e=this.inputRef.value)==null?void 0:e.item(t)}namedItem(t){var e;return(e=this.inputRef.value)==null?void 0:e.namedItem(t)}showPicker(){this.inputRef.value&&"showPicker"in this.inputRef.value&&this.inputRef.value.showPicker()}attributeChangedCallback(t,e,s){var i,l;t==="options"&&(this._options=s?JSON.parse(s):[]),t==="value"&&this.value!==e&&(this.selectedIndex=this.touched?this.returnNumberOrNull((i=this.inputRef.value)==null?void 0:i.selectedIndex):this._options.findIndex(n=>n.value===s),this.selectedOptions=(l=this.inputRef.value)==null?void 0:l.selectedOptions,this.valueChanged(s,e)),super.attributeChangedCallback(t,e,s)}update(t){var e,s;super.update(t),t.has("_optionsProp")&&this._optionsProp.length>0&&(this._options=this._optionsProp,this.requestUpdate("_options"),!this.value&&this._options.length>0&&(this.value=this._options[0].value,this.selectedIndex=0)),t.has("value")&&this.value!==t.get("value")&&(this.selectedIndex=this.touched?this.returnNumberOrNull((e=this.inputRef.value)==null?void 0:e.selectedIndex):this._options.findIndex(i=>i.value===this.value),this.selectedOptions=(s=this.inputRef.value)==null?void 0:s.selectedOptions,this.valueChanged(this.value,t.get("value"))),t.has("id")&&!this.name&&this.id&&(this.name=this.id)}firstUpdated(t){var e;super.firstUpdated(t),this._optionsProp.length&&(this._options=this._optionsProp),!this.value&&this._options.length>0?(this.value=this._options[0].value,this.selectedIndex=0):this.selectedIndex=this._options.findIndex(s=>s.value===this.value),this.selectedOptions=(e=this.inputRef.value)==null?void 0:e.selectedOptions}render(){const t=`pkt-input ${this.fullwidth?"pkt-input--fullwidth":""}`;return h.x`
|
|
2
2
|
<pkt-input-wrapper
|
|
3
3
|
?counter=${this.counter}
|
|
4
4
|
?disabled=${this.disabled}
|
|
@@ -5,7 +5,7 @@ import { o as l } from "./if-defined-BWZGb3bh.js";
|
|
|
5
5
|
import { P as _ } from "./input-element-B0VPRK_E.js";
|
|
6
6
|
import { P as x } from "./pkt-options-controller-CZO1nxZ8.js";
|
|
7
7
|
import { P as b } from "./pkt-slot-controller-BPGj-LC5.js";
|
|
8
|
-
import "./input-wrapper-
|
|
8
|
+
import "./input-wrapper-KGnsd9qY.js";
|
|
9
9
|
var $ = Object.defineProperty, m = Object.getOwnPropertyDescriptor, a = (t, e, s, i) => {
|
|
10
10
|
for (var o = i > 1 ? void 0 : i ? m(e, s) : e, n = t.length - 1, p; n >= 0; n--)
|
|
11
11
|
(p = t[n]) && (o = (i ? p(e, s, o) : p(o)) || o);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const s=require("./element-CJ_QKaki.cjs"),p=require("./if-defined-Bc9-_I01.cjs"),c=require("./state-DSjcvzDN.cjs"),l=require("./ref-BFa5Utho.cjs"),$=require("./class-map-C_erArZz.cjs"),a=require("./directive-C7oCP5Bh.cjs"),d=require("./directive-helpers-4oOjKnGY.cjs"),x=require("./input-element-BmXkhljw.cjs"),T=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-
|
|
1
|
+
"use strict";const s=require("./element-CJ_QKaki.cjs"),p=require("./if-defined-Bc9-_I01.cjs"),c=require("./state-DSjcvzDN.cjs"),l=require("./ref-BFa5Utho.cjs"),$=require("./class-map-C_erArZz.cjs"),a=require("./directive-C7oCP5Bh.cjs"),d=require("./directive-helpers-4oOjKnGY.cjs"),x=require("./input-element-BmXkhljw.cjs"),T=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-CmNmnpWV.cjs");require("./icon-BGuizDwk.cjs");/**
|
|
2
2
|
* @license
|
|
3
3
|
* Copyright 2020 Google LLC
|
|
4
4
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
@@ -7,7 +7,7 @@ import { e as T, i as b, t as a } from "./directive-oAbCiebi.js";
|
|
|
7
7
|
import { f as y, m as w } from "./directive-helpers-BzAtj9by.js";
|
|
8
8
|
import { P as C } from "./input-element-B0VPRK_E.js";
|
|
9
9
|
import { P as E } from "./pkt-slot-controller-BPGj-LC5.js";
|
|
10
|
-
import "./input-wrapper-
|
|
10
|
+
import "./input-wrapper-KGnsd9qY.js";
|
|
11
11
|
import "./icon-1dy7UZcu.js";
|
|
12
12
|
/**
|
|
13
13
|
* @license
|
|
@@ -5,7 +5,7 @@ import { e as d, n as m } from "./ref-Xa5dbh--.js";
|
|
|
5
5
|
import { e as g } from "./class-map-wy7PUk0P.js";
|
|
6
6
|
import { P as x } from "./input-element-B0VPRK_E.js";
|
|
7
7
|
import { P as v } from "./pkt-slot-controller-BPGj-LC5.js";
|
|
8
|
-
import "./input-wrapper-
|
|
8
|
+
import "./input-wrapper-KGnsd9qY.js";
|
|
9
9
|
import "./icon-1dy7UZcu.js";
|
|
10
10
|
var y = Object.defineProperty, b = Object.getOwnPropertyDescriptor, o = (i, e, r, t) => {
|
|
11
11
|
for (var n = t > 1 ? void 0 : t ? b(e, r) : e, l = i.length - 1, c; l >= 0; l--)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const t=require("./element-CJ_QKaki.cjs"),a=require("./if-defined-Bc9-_I01.cjs"),l=require("./state-DSjcvzDN.cjs"),h=require("./ref-BFa5Utho.cjs"),c=require("./class-map-C_erArZz.cjs"),d=require("./input-element-BmXkhljw.cjs"),x=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-
|
|
1
|
+
"use strict";const t=require("./element-CJ_QKaki.cjs"),a=require("./if-defined-Bc9-_I01.cjs"),l=require("./state-DSjcvzDN.cjs"),h=require("./ref-BFa5Utho.cjs"),c=require("./class-map-C_erArZz.cjs"),d=require("./input-element-BmXkhljw.cjs"),x=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-CmNmnpWV.cjs");require("./icon-BGuizDwk.cjs");var $=Object.defineProperty,f=Object.getOwnPropertyDescriptor,r=(u,i,s,n)=>{for(var e=n>1?void 0:n?f(i,s):i,o=u.length-1,p;o>=0;o--)(p=u[o])&&(e=(n?p(i,s,e):p(e))||e);return n&&e&&$(i,s,e),e};exports.PktTextinput=class extends d.PktInputElement{constructor(){super(),this.inputRef=h.e(),this.helptextSlot=h.e(),this.value="",this.type="text",this.size=null,this.autocomplete=null,this.iconNameRight=null,this.prefix=null,this.suffix=null,this.omitSearchIcon=!1,this.counterCurrent=0,this.slotController=new x.PktSlotController(this,this.helptextSlot)}attributeChangedCallback(i,s,n){i==="value"&&this.value!==s&&(this.counterCurrent=n?n.length:0,this.valueChanged(n,s)),super.attributeChangedCallback(i,s,n)}updated(i){var s;super.updated(i),i.has("value")&&(this.counterCurrent=((s=this.value)==null?void 0:s.length)||0,this.valueChanged(this.value,i.get("value"))),i.has("id")&&!this.name&&this.id&&(this.name=this.id)}render(){const i=this.type==="search"&&!this.iconNameRight&&!this.omitSearchIcon,s=c.e({"pkt-input":!0,"pkt-input--fullwidth":this.fullwidth,"pkt-input--counter-error":this.counter&&this.counterMaxLength&&this.value.length&&this.value.length>this.counterMaxLength}),n=this.ariaLabelledby||`${this.id}-input-label`;return t.x`
|
|
2
2
|
<pkt-input-wrapper
|
|
3
3
|
label="${this.label}"
|
|
4
4
|
?counter=${this.counter}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oslokommune/punkt-elements",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.19.1",
|
|
4
4
|
"description": "Komponentbiblioteket til Punkt, et designsystem laget av Oslo Origo",
|
|
5
5
|
"homepage": "https://punkt.oslo.kommune.no",
|
|
6
6
|
"author": "Team Designsystem, Oslo Origo",
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
"@babel/preset-env": "^7.28.3",
|
|
43
43
|
"@babel/preset-typescript": "^7.25.9",
|
|
44
44
|
"@oslokommune/punkt-assets": "^13.16.0",
|
|
45
|
-
"@oslokommune/punkt-css": "^13.
|
|
45
|
+
"@oslokommune/punkt-css": "^13.19.0",
|
|
46
46
|
"@testing-library/jest-dom": "^6.6.3",
|
|
47
47
|
"@typescript-eslint/eslint-plugin": "^8.46.0",
|
|
48
48
|
"@typescript-eslint/parser": "^8.46.0",
|
|
@@ -79,5 +79,5 @@
|
|
|
79
79
|
"url": "https://github.com/oslokommune/punkt/issues"
|
|
80
80
|
},
|
|
81
81
|
"license": "MIT",
|
|
82
|
-
"gitHead": "
|
|
82
|
+
"gitHead": "5b4f6001bf615f85b3ea5cac18f4a2f8a14dfbd9"
|
|
83
83
|
}
|
|
@@ -574,8 +574,11 @@ export class PktCombobox extends PktInputElement implements IPktCombobox {
|
|
|
574
574
|
}
|
|
575
575
|
|
|
576
576
|
private handleInputClick(e: MouseEvent): void {
|
|
577
|
-
if (this.disabled)
|
|
578
|
-
|
|
577
|
+
if (this.disabled) {
|
|
578
|
+
e.preventDefault()
|
|
579
|
+
e.stopImmediatePropagation()
|
|
580
|
+
return
|
|
581
|
+
}
|
|
579
582
|
if (
|
|
580
583
|
e.currentTarget &&
|
|
581
584
|
e.currentTarget !== this.arrowRef.value &&
|
|
@@ -237,11 +237,7 @@ export class PktInputWrapper extends PktElement<Props> {
|
|
|
237
237
|
)
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
-
private handleLabelClick(
|
|
241
|
-
if (this.disabled) {
|
|
242
|
-
e.preventDefault()
|
|
243
|
-
e.stopImmediatePropagation()
|
|
244
|
-
}
|
|
240
|
+
private handleLabelClick() {
|
|
245
241
|
this.dispatchEvent(
|
|
246
242
|
new CustomEvent('labelClick', {
|
|
247
243
|
bubbles: true,
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
"use strict";const a=require("./element-CJ_QKaki.cjs"),c=require("./if-defined-Bc9-_I01.cjs"),d=require("./state-DSjcvzDN.cjs"),r=require("./ref-BFa5Utho.cjs"),y=require("./class-map-C_erArZz.cjs"),O=require("./repeat-BZb41H64.cjs"),$=require("./input-element-BmXkhljw.cjs"),I=require("./pkt-options-controller-CiuBG6Lt.cjs"),w=require("./pkt-slot-controller-BzddBp7z.cjs");require("./input-wrapper-B-Qseywc.cjs");require("./icon-BGuizDwk.cjs");require("./tag-CWj979b6.cjs");require("./listbox-DnoqOo5u.cjs");const C={displayValueAs:{default:"label"}},R={props:C};var V=Object.defineProperty,A=Object.getOwnPropertyDescriptor,h=(v,e,t,i)=>{for(var s=i>1?void 0:i?A(e,t):e,n=v.length-1,l;n>=0;n--)(l=v[n])&&(s=(i?l(e,t,s):l(s))||s);return i&&s&&V(e,t,s),s};exports.PktCombobox=class extends $.PktInputElement{constructor(){super(),this.helptextSlot=r.e(),this.value="",this.options=[],this.defaultOptions=[],this.allowUserInput=!1,this.typeahead=!1,this.includeSearch=!1,this.searchPlaceholder="",this.multiple=!1,this.maxlength=null,this.displayValueAs=R.props.displayValueAs.default,this.tagPlacement=null,this._options=[],this._isOptionsOpen=!1,this._value=[],this._userInfoMessage="",this._addValueText=null,this._maxIsReached=!1,this._search="",this._inputFocus=!1,this._editingSingleValue=!1,this.inputRef=r.e(),this.arrowRef=r.e(),this.listboxRef=r.e(),this.focusRef=r.e(),this.optionTagRef=r.e(),this.optionsController=new I.PktOptionsSlotController(this),this.slotController=new w.PktSlotController(this,this.helptextSlot),this.slotController.skipOptions=!0}connectedCallback(){var e;if(super.connectedCallback(),document&&document.body.addEventListener("click",t=>{this._isOptionsOpen&&!this.contains(t.target)&&this.handleFocusOut(t)}),this._options=[],this.defaultOptions&&this.defaultOptions.length){const t=((e=this.options)==null?void 0:e.filter(i=>i.userAdded))||[];this.options=[...t,...JSON.parse(JSON.stringify(this.defaultOptions))],this._options=Array.isArray(this.options)?[...this.options]:[]}if(this.optionsController.nodes.length){const t=[];this.optionsController.nodes.forEach(i=>{if(!i.textContent&&!i.getAttribute("value"))return null;const s={value:i.getAttribute("value")||i.textContent||"",label:i.textContent||i.getAttribute("value")||""};i.getAttribute("data-prefix")&&(s.prefix=i.getAttribute("data-prefix")||void 0),i.getAttribute("tagskincolor")&&(s.tagSkinColor=i.getAttribute("tagskincolor")),i.getAttribute("description")&&(s.description=i.getAttribute("description")||void 0),s.fulltext=s.value+s.label+(s.prefix||""),t.push(s)}),t.length&&(this.options=[...t],this._options=[...t])}}updated(e){if(e.has("_value")&&this.valueChanged(this._value,e.get("_value")),e.has("value")&&(Array.isArray(this.value)?this._value=this.value:this.value&&this.multiple?this._value=this.value.split(","):this.value?this._value=[this.value]:this._value=[],!this.multiple&&this._value.length>1&&(this._value=[this._value[0]]),this.isMaxItemsReached()),e.has("defaultOptions")&&this.defaultOptions.length){const t=(Array.isArray(this.options)?this.options:[]).filter(i=>i.userAdded)||[];this.options=[...t,...JSON.parse(JSON.stringify(this.defaultOptions))],this._options=Array.isArray(this.options)?[...this.options]:[]}if(e.has("options")){const s=(e.get("options")||this._options||[]).filter(l=>l&&l.userAdded).filter(l=>!(Array.isArray(this.options)?this.options:[]).some(o=>o.value===l.value)),n=[...s,...this.options];this._options=n,s.length>0&&(this.options=n),this._options.forEach(l=>{if(l.value&&!l.label&&(l.label=l.value),l.selected&&!this._value.includes(l.value)){const o=[...this._value];this._value=[...this._value,l.value],this.valueChanged(this._value,o)}l.fulltext=l.value+l.label+(l.prefix||""),l.selected=l.selected||this._value.includes(l.value)})}e.has("_search")&&this.dispatchEvent(new CustomEvent("search",{detail:this._search,bubbles:!1})),super.updated(e)}attributeChangedCallback(e,t,i){e==="value"&&(Array.isArray(this.value)?this._value=this.value:this.value&&this.multiple?this._value=this.value.split(","):this.value?this._value=[this.value]:this._value=[],!this.multiple&&this._value.length>1&&(this._value=[this._value[0]])),e==="options"&&(this._options=Array.isArray(this.options)?[...this.options]:[],this._options.forEach(s=>{s.value&&!s.label&&(s.label=s.value),s.selected&&!this._value.includes(s.value)&&(this._value=[...this._value,s.value]),s.fulltext=s.value+s.label+(s.prefix||"")}),this._search=""),super.attributeChangedCallback(e,t,i)}render(){return a.x`
|
|
2
|
-
<pkt-input-wrapper
|
|
3
|
-
.label=${this.label}
|
|
4
|
-
.helptext=${this.helptext}
|
|
5
|
-
.helptextDropdown=${c.o(this.helptextDropdown)}
|
|
6
|
-
.helptextDropdownButton=${c.o(this.helptextDropdownButton)}
|
|
7
|
-
?fullwidth=${this.fullwidth}
|
|
8
|
-
?hasError=${this.hasError}
|
|
9
|
-
?inline=${this.inline}
|
|
10
|
-
?disabled=${this.disabled}
|
|
11
|
-
.errorMessage=${this.errorMessage}
|
|
12
|
-
?optionalTag=${this.optionalTag}
|
|
13
|
-
.optionalText=${this.optionalText}
|
|
14
|
-
?requiredTag=${this.requiredTag}
|
|
15
|
-
.requiredText=${this.requiredText}
|
|
16
|
-
.tagText=${this.tagText}
|
|
17
|
-
useWrapper=${this.useWrapper}
|
|
18
|
-
.forId=${this.allowUserInput||this.typeahead?this.id+"-input":this.id+"-arrow"}
|
|
19
|
-
class="pkt-combobox__wrapper"
|
|
20
|
-
@labelClick=${this.handleInputClick}
|
|
21
|
-
>
|
|
22
|
-
<div class="pkt-contents" ${r.n(this.helptextSlot)} name="helptext" slot="helptext"></div>
|
|
23
|
-
<div class="pkt-combobox" @focusout=${this.handleFocusOut}>
|
|
24
|
-
<div
|
|
25
|
-
class=${y.e({"pkt-combobox__input":!0,"pkt-combobox__input--fullwidth":this.fullwidth,"pkt-combobox__input--open":this._isOptionsOpen,"pkt-combobox__input--error":this.hasError,"pkt-combobox__input--disabled":this.disabled})}
|
|
26
|
-
tabindex="-1"
|
|
27
|
-
@click=${this.handleInputClick}
|
|
28
|
-
>
|
|
29
|
-
${this.placeholder&&(!this._value.length||this.multiple&&this.tagPlacement=="outside")&&!this._inputFocus?a.x`<span class="pkt-combobox__placeholder" @click=${this.handlePlaceholderClick}
|
|
30
|
-
>${this.placeholder}</span
|
|
31
|
-
>`:this.tagPlacement!=="outside"?this.renderSingleOrMultipleValues():a.E}
|
|
32
|
-
${this.renderInputField()}
|
|
33
|
-
<div
|
|
34
|
-
class="pkt-btn pkt-btn--tertiary pkt-combobox__arrow"
|
|
35
|
-
@click=${this.handleArrowClick}
|
|
36
|
-
@keydown=${this.handleArrowClick}
|
|
37
|
-
id="${this.id}-arrow"
|
|
38
|
-
${r.n(this.arrowRef)}
|
|
39
|
-
aria-expanded=${this._isOptionsOpen}
|
|
40
|
-
aria-controls="${this.id}-listbox"
|
|
41
|
-
aria-haspopup="listbox"
|
|
42
|
-
aria-label="Åpne liste"
|
|
43
|
-
?disabled=${this.disabled}
|
|
44
|
-
?data-disabled=${this.disabled}
|
|
45
|
-
role="button"
|
|
46
|
-
tabindex="${this.disabled?"-1":"0"}"
|
|
47
|
-
>
|
|
48
|
-
<pkt-icon
|
|
49
|
-
class=${y.e({"pkt-combobox__arrow-icon":!0,"pkt-combobox__arrow-icon--open":this._isOptionsOpen})}
|
|
50
|
-
name="chevron-thin-down"
|
|
51
|
-
></pkt-icon>
|
|
52
|
-
</div>
|
|
53
|
-
<div
|
|
54
|
-
${r.n(this.focusRef)}
|
|
55
|
-
tabindex="-1"
|
|
56
|
-
@keydown=${this.handleArrowClick}
|
|
57
|
-
class="pkt-contents"
|
|
58
|
-
></div>
|
|
59
|
-
</div>
|
|
60
|
-
|
|
61
|
-
<pkt-listbox
|
|
62
|
-
id="${this.id}-listbox"
|
|
63
|
-
.options=${this._options}
|
|
64
|
-
.isOpen=${this._isOptionsOpen}
|
|
65
|
-
.searchPlaceholder=${this.searchPlaceholder}
|
|
66
|
-
.label="Liste: ${this.label||""}"
|
|
67
|
-
?includeSearch=${this.includeSearch}
|
|
68
|
-
?isMultiSelect=${this.multiple}
|
|
69
|
-
?allowUserInput=${this.allowUserInput&&!this._maxIsReached}
|
|
70
|
-
?maxIsReached=${this._maxIsReached}
|
|
71
|
-
.customUserInput=${c.o(this._addValueText)}
|
|
72
|
-
.userMessage=${this._userInfoMessage}
|
|
73
|
-
@search=${this.handleSearch}
|
|
74
|
-
@option-toggle=${this.handleOptionToggled}
|
|
75
|
-
@select-all=${this.addAllOptions}
|
|
76
|
-
@close-options=${()=>this._isOptionsOpen=!1}
|
|
77
|
-
.searchValue=${this._search||null}
|
|
78
|
-
.maxLength=${this.maxlength||0}
|
|
79
|
-
${r.n(this.listboxRef)}
|
|
80
|
-
></pkt-listbox>
|
|
81
|
-
</div>
|
|
82
|
-
|
|
83
|
-
${this.tagPlacement==="outside"&&this.multiple?a.x`<div class="pkt-combobox__tags-outside">
|
|
84
|
-
${this.renderSingleOrMultipleValues()}
|
|
85
|
-
</div>`:a.E}
|
|
86
|
-
</pkt-input-wrapper>
|
|
87
|
-
`}renderInputField(){return this.typeahead||this.allowUserInput?a.x`
|
|
88
|
-
<div class="pkt-combobox__input-div combobox__input">
|
|
89
|
-
<input
|
|
90
|
-
type="text"
|
|
91
|
-
id="${this.id}-input"
|
|
92
|
-
name=${(this.name||this.id)+"-input"}
|
|
93
|
-
@input=${this.handleInput}
|
|
94
|
-
@keydown=${this.handleInputKeydown}
|
|
95
|
-
@focus=${this.handleFocus}
|
|
96
|
-
@blur=${this.handleBlur}
|
|
97
|
-
autocomplete="off"
|
|
98
|
-
role="combobox"
|
|
99
|
-
aria-label=${c.o(this.label)}
|
|
100
|
-
aria-autocomplete=${this.typeahead?"both":"list"}
|
|
101
|
-
aria-controls="${this.id}-listbox"
|
|
102
|
-
aria-multiselectable=${c.o(this.multiple?"true":void 0)}
|
|
103
|
-
aria-activedescendant=${c.o(this._value[0]&&this.findValueInOptions(this._value[0])?`${this.id}-listbox-${this.findIndexInOptions(this._value[0])}`:void 0)}
|
|
104
|
-
${r.n(this.inputRef)}
|
|
105
|
-
/>
|
|
106
|
-
</div>
|
|
107
|
-
`:a.x`
|
|
108
|
-
<input
|
|
109
|
-
type="hidden"
|
|
110
|
-
id="${this.id}-input"
|
|
111
|
-
name=${(this.name||this.id)+"-input"}
|
|
112
|
-
.value=${this._value.join(",")}
|
|
113
|
-
${r.n(this.inputRef)}
|
|
114
|
-
/>
|
|
115
|
-
`}renderSingleOrMultipleValues(){const e=!this.multiple,t=this._editingSingleValue?null:this.renderValueTag(this.findValueInOptions(this._value[0])),i=O.c(this._value,s=>s,s=>{var o;const n=this.findValueInOptions(s),l=(o=this.options.find(u=>u.value===s))==null?void 0:o.tagSkinColor;return a.x`
|
|
116
|
-
<pkt-tag
|
|
117
|
-
skin=${l||"blue-dark"}
|
|
118
|
-
?closeTag=${!this.disabled}
|
|
119
|
-
@close=${()=>this.handleTagRemove(s)}
|
|
120
|
-
>
|
|
121
|
-
${this.renderValueTag(n)}
|
|
122
|
-
</pkt-tag>
|
|
123
|
-
`});return e?t:i}renderValueTag(e){if(!e)return"";switch(this.displayValueAs){case"prefixAndValue":return a.x`<span class="pkt-combobox__value" data-focusfix=${this.id}
|
|
124
|
-
>${e.prefix||""} ${e.value}</span
|
|
125
|
-
>`;case"value":return a.x`<span class="pkt-combobox__value" data-focusfix=${this.id}
|
|
126
|
-
>${e.value}</span
|
|
127
|
-
>`;case"label":default:return a.x`<span class="pkt-combobox__value" data-focusfix=${this.id}
|
|
128
|
-
>${e.label||e.value}</span
|
|
129
|
-
>`}}handleInput(e){if(e.stopPropagation(),e.stopImmediatePropagation(),this.disabled)return;this.touched=!0;const t=e.target;if(this._search=t.value,this.checkForMatches(),this.typeahead)if(this._search){if(this._options=this.options.filter(i=>{var s;return(s=i.fulltext)==null?void 0:s.toLowerCase().includes(this._search.toLowerCase())}),e.inputType!=="deleteContentBackward"){const i=this._options.filter(s=>{var n;return!s.selected&&((n=s.label)==null?void 0:n.toLowerCase().startsWith(this._search.toLowerCase()))});if(i.length>0&&this.inputRef.value&&this.inputRef.value.type!=="hidden"){const s=i[0];s!=null&&s.label&&(t.value=s.label,window.setTimeout(()=>t.setSelectionRange(this._search.length,t.value.length),0),t.selectionDirection="backward")}}}else this._options=[...this.options]}handleFocus(){if(!this.disabled){if(!this.multiple&&this._value[0]&&this.inputRef.value&&this.inputRef.value.type!=="hidden"){const e=this.findValueInOptions(this._value[0]);this._editingSingleValue=!0,this.inputRef.value.value=this.displayValueAs==="label"&&(e!=null&&e.label)?e.label:this._value[0]}this._inputFocus=!0,this._search="",this._options=[...this.options],this._isOptionsOpen=!0,this.onFocus(),this.requestUpdate()}}handleFocusOut(e){var t,i,s,n,l;if(!this.disabled&&((i=(t=e.relatedTarget)==null?void 0:t.closest("pkt-combobox"))==null?void 0:i.id)!==this.id&&((n=(s=e.relatedTarget)==null?void 0:s.closest("pkt-combobox"))==null?void 0:n.id)!==this.id&&((l=e.target)==null?void 0:l.getAttribute("data-focusfix"))!==this.id&&e.relatedTarget!==this.focusRef.value&&e.relatedTarget!==this.inputRef.value&&e.relatedTarget!==this.arrowRef.value&&this._isOptionsOpen){if(this._inputFocus=!1,this._addValueText=null,this._userInfoMessage="",this._search="",this.inputRef.value&&this.inputRef.value.type!=="hidden"&&this.inputRef.value.value!==""){const o=this.inputRef.value.value,u=this.findValueInOptions(o);!this._value.includes(o)&&!u?this.allowUserInput?this.addNewUserValue(o):this.multiple||this.removeValue(this._value[0]):u&&!this._value.includes(u.value)&&this.setSelected(u.value),this.inputRef.value.value=""}this._isOptionsOpen=!1,this.onBlur()}}handleBlur(){this._inputFocus=!1,this._editingSingleValue=!1,this.onBlur()}handleInputClick(e){var t,i;this.disabled||(e.currentTarget&&e.currentTarget!==this.arrowRef.value&&((t=this.inputRef.value)==null?void 0:t.type)!=="hidden"?((i=this.inputRef.value)==null||i.focus(),this.requestUpdate()):this.handleArrowClick(e))}handlePlaceholderClick(e){this.disabled||(e.stopPropagation(),this.inputRef.value&&this.inputRef.value.type!=="hidden"&&(this.inputRef.value.focus(),this._inputFocus=!0,this.requestUpdate()))}handleArrowClick(e){var t,i;this.disabled||e instanceof KeyboardEvent&&e.key&&e.key!=="Enter"&&e.key!==" "&&e.key!=="ArrowDown"||(e.stopImmediatePropagation(),e.preventDefault(),this._isOptionsOpen=!this._isOptionsOpen,this._isOptionsOpen?(t=this.listboxRef.value)==null||t.focusFirstOrSelectedOption():(i=this.arrowRef.value)==null||i.focus())}handleOptionToggled(e){this.toggleValue(e.detail)}handleSearch(e){e.stopPropagation(),this._search=e.detail.toLowerCase()}handleInputKeydown(e){var t,i,s;switch(e.key){case",":this.multiple&&(e.preventDefault(),this.addValue());break;case"Enter":e.preventDefault(),this.addValue();break;case"Backspace":!this._search&&((t=this.inputRef.value)==null?void 0:t.type)==="hidden"&&this.removeLastValue(e);break;case"Tab":case"ArrowDown":e.shiftKey||((i=this.listboxRef.value)==null||i.focusFirstOrSelectedOption(),e.preventDefault());break;case"Escape":this._isOptionsOpen=!1,(s=this.arrowRef.value)==null||s.focus(),e.preventDefault();break}}handleTagRemove(e){this.removeSelected(e)}blurInput(){this.inputRef.value&&this.inputRef.value.matches(":focus")&&this.inputRef.value.blur()}checkForMatches(){var l;const e=((l=this.inputRef.value)==null?void 0:l.value)||this._search||"",t=e.trim().toLowerCase()||"";if(!t){!this.multiple&&this._value[0]&&this.removeValue(this._value[0]),this.resetComboboxInput(!1);return}const i=this._value.find(o=>o.toLowerCase()===t),s=this._options.filter(o=>{var u;return((u=o.label)==null?void 0:u.toLowerCase().includes(t))??!1}),n=s.find(o=>{var u;return((u=o.label)==null?void 0:u.toLowerCase())===t||o.value.toLowerCase()===t});switch(!0){case((s.length===0||!n)&&this.allowUserInput):this._addValueText=e,this._userInfoMessage="";break;case(s.length===0&&!this._options.length&&!this.allowUserInput):this._addValueText=null,this._userInfoMessage="Ingen match i søket";break;case!!i:this._addValueText=null,this._userInfoMessage="Verdien er allerede valgt";break;case s.length>1:this._addValueText=null,this._userInfoMessage="";break;default:this._addValueText=null,this._userInfoMessage=""}}findValueInOptions(e){return this.options.find(t=>t.value===e||t.label===e)||null}findIndexInOptions(e){return this._options.findIndex(t=>t.value===e||t.label===e)}isMaxItemsReached(){const e=this.maxlength!==null&&this._value.length>=this.maxlength;return e?this._maxIsReached=!0:this._maxIsReached=!1,e}toggleValue(e){var g,k;if(this.disabled)return;this.touched=!0,this._userInfoMessage="",this._addValueText=null;const t=((g=this.findValueInOptions(e))==null?void 0:g.value)||null,i=this._value.includes(e||t||""),s=!!t,n=((k=this._options.find(_=>_.value===e))==null?void 0:k.disabled)||!1,l=!(e!=null&&e.trim()),o=!this.multiple,u=this.multiple,x=this.isMaxItemsReached();let p=!1,f=!0,b="",m="";n||(!s&&this.allowUserInput&&!l?(this.addNewUserValue(e),b="Ny verdi lagt til",p=!u):!s&&!this.allowUserInput?(o&&this._value[0]&&this.removeValue(this._value[0]),f=!1,p=!0,b="Ingen treff i søket"):i?(this.removeValue(t),p=!0):l&&o?(this.removeAllSelected(),p=!0):o?(this._value[0]&&this.removeSelected(this._value[0]),this.setSelected(t),p=!1,this.inputRef.value&&this.inputRef.value.type!=="hidden"&&(this.inputRef.value.value="",this.inputRef.value.blur())):u&&!x?(this.setSelected(t),p=!0):u&&x?(this._userInfoMessage="Maks antall valg nådd",f=!1,m=e):(o&&this.removeAllSelected(),this._userInfoMessage="Ingen gyldig verdi valgt",f=!1,p=!0,m=e),this._isOptionsOpen=p,p||window.setTimeout(()=>{var _;(_=this.focusRef.value)==null||_.focus()},0),this._userInfoMessage=b,this._search=m||"",this.resetComboboxInput(f),u&&this.isMaxItemsReached())}setSelected(e){if(!this._value.includes(e)){if(this.multiple&&this.isMaxItemsReached()){this._userInfoMessage="Maks antall valg nådd";return}!this.multiple&&this.removeAllSelected(),this._value=e?[...this._value,e]:this._value,this._options=this._options.map(t=>(t.value===e&&(t.selected=!0),t)),this.resetComboboxInput(!0)}}removeSelected(e){if(!e)return;this._value=this._value.filter(i=>i!==e);const t=this.findValueInOptions(e);t?(t.selected=!1,t.userAdded?(this._options=[...this._options.filter(i=>i.value!==e)],this.options=[...this.options.filter(i=>i.value!==e)]):this._options=[...this._options,t]):!e&&!this.multiple&&(this._options=this._options.map(i=>(i.selected=!1,i)))}addAllOptions(){if(this.multiple){if(this.maxlength&&this._options.length>this.maxlength){this._userInfoMessage="For mange valgt";return}this._value=this._options.map(e=>e.value),this._options=this._options.map(e=>(e.selected=!0,e)),this.requestUpdate()}}removeAllSelected(){this._value=[],this._options=this._options.map(e=>(e.selected=!1,e)),this._options=this._options.filter(e=>!e.userAdded),this.requestUpdate()}addValue(){var t;const e=((t=this.inputRef.value)==null?void 0:t.value.trim())||"";this._search=e,this.toggleValue(e)}removeValue(e){this._value=this.multiple?this._value.filter(t=>t!==e):[],this.removeSelected(e)}addNewUserValue(e){if(!e||e.trim()==="")return;if(!this.multiple)this._value[0]&&this.removeSelected(this._value[0]),this._value=[e],this._isOptionsOpen=!1,this.blurInput();else if(!this.findValueInOptions(e)){if(this.isMaxItemsReached())return;this._value=[...this._value,e]}const t={value:e,label:e,userAdded:!0};this.options=[t,...this.options],this._options=[t,...this._options],this.setSelected(e),this.requestUpdate()}resetComboboxInput(e=!0){if(this._addValueText=null,this.inputRef.value&&this.inputRef.value.type!=="hidden"&&e)if(this._search="",this.multiple)this.inputRef.value.value="";else{const t=this.findValueInOptions(this._value[0]);window.setTimeout(()=>{!this.inputRef.value||this.inputRef.value.type==="hidden"||(this.inputRef.value.value=this.displayValueAs==="label"&&(t!=null&&t.label)?t.label:this._value[0]||"")},0),this._userInfoMessage=""}this._options=[...this.options]}removeLastValue(e){if(this._value.length===0)return;e.preventDefault();const t=this._value[this._value.length-1];t&&this.removeSelected(t),this.isMaxItemsReached()}};h([a.n({type:String,reflect:!0})],exports.PktCombobox.prototype,"value",2);h([a.n({type:Array})],exports.PktCombobox.prototype,"options",2);h([a.n({type:Array})],exports.PktCombobox.prototype,"defaultOptions",2);h([a.n({type:Boolean})],exports.PktCombobox.prototype,"allowUserInput",2);h([a.n({type:Boolean})],exports.PktCombobox.prototype,"typeahead",2);h([a.n({type:Boolean})],exports.PktCombobox.prototype,"includeSearch",2);h([a.n({type:String})],exports.PktCombobox.prototype,"searchPlaceholder",2);h([a.n({type:Boolean})],exports.PktCombobox.prototype,"multiple",2);h([a.n({type:Number})],exports.PktCombobox.prototype,"maxlength",2);h([a.n({type:String})],exports.PktCombobox.prototype,"displayValueAs",2);h([a.n({type:String})],exports.PktCombobox.prototype,"tagPlacement",2);h([d.r()],exports.PktCombobox.prototype,"_options",2);h([d.r()],exports.PktCombobox.prototype,"_isOptionsOpen",2);h([d.r()],exports.PktCombobox.prototype,"_value",2);h([d.r()],exports.PktCombobox.prototype,"_userInfoMessage",2);h([d.r()],exports.PktCombobox.prototype,"_addValueText",2);h([d.r()],exports.PktCombobox.prototype,"_maxIsReached",2);h([d.r()],exports.PktCombobox.prototype,"_search",2);h([d.r()],exports.PktCombobox.prototype,"_inputFocus",2);h([d.r()],exports.PktCombobox.prototype,"_editingSingleValue",2);exports.PktCombobox=h([a.t("pkt-combobox")],exports.PktCombobox);
|