@kyndryl-design-system/shidoka-applications 2.59.0 → 2.59.2

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.
@@ -1,4 +1,4 @@
1
- import{_ as e,a,b as t,c as r,d as i}from"../../../vendor/tslib-Ac8XvvSX.js";import{i as o,t as d,r as n,n as s}from"../../../vendor/@lit/reactive-element-f91Vet7N.js";import{e as c,x as l}from"../../../vendor/lit-html-BRBT5o_V.js";import{i as b}from"../../../vendor/lit-element-m-OqzV5s.js";var u=o`*,
1
+ import{_ as e,a,b as t,c as i,d as r}from"../../../vendor/tslib-Ac8XvvSX.js";import{i as o,t as n,r as d,n as s}from"../../../vendor/@lit/reactive-element-f91Vet7N.js";import{e as c,x as l}from"../../../vendor/lit-html-BRBT5o_V.js";import{i as b}from"../../../vendor/lit-element-m-OqzV5s.js";var u=o`*,
2
2
  *::before,
3
3
  *::after {
4
4
  box-sizing: border-box;
@@ -43,7 +43,7 @@ input {
43
43
  margin-top: 4px;
44
44
  width: 16px;
45
45
  height: 16px;
46
- border: 2px solid var(--kd-color-border-forms-default);
46
+ border: 2px solid var(--kd-color-icon-primary);
47
47
  border-radius: 2px;
48
48
  background: var(--kd-color-background-ui-hollow-default);
49
49
  outline: 2px solid transparent;
@@ -58,26 +58,26 @@ input::before {
58
58
  transform: scale(0);
59
59
  }
60
60
  input:not(.disabled):active {
61
- background: var(--kd-color-background-button-primary-pressed);
62
- border-color: var(--kd-color-background-ui-hollow-pressed);
61
+ background: var(--kd-color-background-ui-hollow-default);
62
+ border-color: var(--kd-color-icon-primary);
63
63
  }
64
64
  input:not(.disabled):hover {
65
65
  background: var(--kd-color-background-ui-hollow-hover);
66
66
  border-color: var(--kd-color-border-ui-hover);
67
67
  }
68
68
  input:not(.disabled):focus-visible {
69
- border-color: var(--kd-color-border-forms-default);
69
+ border-color: var(--kd-color-icon-primary);
70
70
  outline-color: var(--kd-color-border-variants-focus);
71
71
  background: var(--kd-color-background-ui-hollow-default);
72
72
  outline-offset: 2px;
73
73
  }
74
74
  input:not(.disabled):active {
75
- background: var(--kd-color-background-ui-hollow-pressed);
76
- border-color: var(--kd-color-border-ui-pressed);
75
+ background: var(--kd-color-background-ui-hollow-default);
76
+ border-color: var(--kd-color-icon-primary);
77
77
  outline-color: transparent;
78
78
  }
79
79
  input:not(.disabled):checked {
80
- background: var(--kd-color-background-ui-default-secondary);
80
+ background: var(--kd-color-icon-primary);
81
81
  border-color: transparent;
82
82
  }
83
83
  input:not(.disabled):checked::before {
@@ -93,10 +93,11 @@ input:not(.disabled):checked::before {
93
93
  -webkit-mask-position: center;
94
94
  }
95
95
  input:not(.disabled):checked:hover {
96
+ background: var(--kd-color-background-ui-default-hover);
96
97
  outline-color: transparent;
97
98
  }
98
99
  input:not(.disabled):checked:hover::before {
99
- background: var(--kd-color-background-ui-hollow-hover);
100
+ background: var(--kd-color-background-container-default);
100
101
  }
101
102
  input:not(.disabled):checked:focus-visible {
102
103
  border-color: transparent;
@@ -106,19 +107,19 @@ input:not(.disabled):checked:active {
106
107
  border-color: transparent;
107
108
  }
108
109
  input:not(.disabled):checked:active::before {
109
- background: var(--kd-color-background-ui-hollow-pressed);
110
+ background: var(--kd-color-background-container-default);
110
111
  }
111
112
  input.disabled {
112
- background: var(--kd-color-background-forms-disabled);
113
- border-color: var(--kd-color-border-ui-disabled);
113
+ background: var(--kd-color-icon-disabled);
114
+ border-color: var(--kd-color-icon-disabled);
114
115
  }
115
116
  input.disabled:checked {
116
- background: var(--kd-color-background-forms-disabled);
117
+ background: var(--kd-color-icon-disabled);
117
118
  border-color: transparent;
118
119
  }
119
120
  input.disabled:checked::before {
120
121
  transform: scale(1);
121
- background: var(--kd-color-icon-disabled);
122
+ background: var(--kd-color-background-container-default);
122
123
  mask: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEwIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNSA1Ljg1NTQ3TDkgLTIuMDMwNjNlLTA2TDEwIDEuMDY0NjNMMy40ODU2NiA4TDAgNC4yODkwNkwxLjAxNDM0IDMuMjA5MTZMMy41IDUuODU1NDdaIiBmaWxsPSIjMDAwIi8+DQo8L3N2Zz4=");
123
124
  -webkit-mask: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iOCIgdmlld0JveD0iMCAwIDEwIDgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+DQo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTMuNSA1Ljg1NTQ3TDkgLTIuMDMwNjNlLTA2TDEwIDEuMDY0NjNMMy40ODU2NiA4TDAgNC4yODkwNkwxLjAxNDM0IDMuMjA5MTZMMy41IDUuODU1NDdaIiBmaWxsPSIjMDAwIi8+DQo8L3N2Zz4=");
124
125
  mask-size: contain;
@@ -130,7 +131,7 @@ input.disabled:checked::before {
130
131
  }
131
132
 
132
133
  input[type=checkbox]:indeterminate:not(.disabled) {
133
- background: var(--kd-color-background-ui-default-secondary);
134
+ background: var(--kd-color-icon-primary);
134
135
  border-color: transparent;
135
136
  }
136
137
  input[type=checkbox]:indeterminate:not(.disabled)::before {
@@ -144,22 +145,22 @@ input[type=checkbox]:indeterminate:not(.disabled)::before {
144
145
  -webkit-mask: linear-gradient(transparent 3px, #000 3px 5px, transparent 5px);
145
146
  }
146
147
  input[type=checkbox]:indeterminate:not(.disabled):hover {
147
- background: var(--kd-color-background-ui-default-secondary);
148
- border-color: transparent;
148
+ background: var(--kd-color-background-ui-default-hover);
149
+ outline-color: transparent;
149
150
  }
150
151
  input[type=checkbox]:indeterminate:not(.disabled):hover::before {
151
- background: var(--kd-color-background-ui-hollow-hover);
152
+ background: var(--kd-color-background-container-default);
152
153
  }
153
154
  input[type=checkbox]:indeterminate:not(.disabled):active {
154
- background: var(--kd-color-background-ui-default-secondary);
155
+ background: var(--kd-color-icon-primary);
155
156
  border-color: transparent;
156
157
  }
157
158
  input[type=checkbox]:indeterminate:not(.disabled):active::before {
158
- background: var(--kd-color-background-ui-hollow-pressed);
159
+ background: var(--kd-color-background-container-default);
159
160
  }
160
161
 
161
162
  input[type=checkbox]:indeterminate.disabled {
162
- background: var(--kd-color-background-ui-default-disabled);
163
+ background: var(--kd-color-icon-disabled);
163
164
  border-color: transparent;
164
165
  }
165
166
  input[type=checkbox]:indeterminate.disabled::before {
@@ -168,16 +169,16 @@ input[type=checkbox]:indeterminate.disabled::before {
168
169
  width: 10px;
169
170
  height: 8px;
170
171
  transform: scale(1);
171
- background: var(--kd-color-icon-disabled);
172
+ background: var(--kd-color-background-container-default);
172
173
  mask: linear-gradient(transparent 3px, #000 3px 5px, transparent 5px);
173
174
  -webkit-mask: linear-gradient(transparent 3px, #000 3px 5px, transparent 5px);
174
175
  }
175
176
 
176
177
  input[type=checkbox][invalid] {
177
- border-color: var(--kd-color-status-error-dark);
178
+ border-color: var(--kd-color-icon-destructive);
178
179
  }
179
180
  input[type=checkbox][invalid]:not(.disabled):checked, input[type=checkbox][invalid]:not(.disabled):indeterminate {
180
- background: var(--kd-color-status-error-dark);
181
+ background: var(--kd-color-icon-destructive);
181
182
  border-color: transparent;
182
183
  }
183
184
  input[type=checkbox][invalid]:not(.disabled):checked:hover, input[type=checkbox][invalid]:not(.disabled):indeterminate:hover {
@@ -195,25 +196,18 @@ input[type=checkbox][invalid].disabled {
195
196
  input[type=checkbox][invalid].disabled:hover {
196
197
  border-color: var(--kd-color-border-ui-disabled);
197
198
  }
198
- input[type=checkbox][invalid].disabled[checked] {
199
- border-color: transparent;
200
- }
201
- input[type=checkbox][invalid].disabled[checked]:hover {
202
- border-color: transparent;
203
- background: var(--kd-color-background-ui-default-disabled);
204
- }
205
199
  input[type=checkbox][invalid].disabled:active, input[type=checkbox][invalid].disabled:focus-visible {
206
200
  background-color: transparent;
207
201
  border-color: var(--kd-color-border-ui-disabled);
208
202
  outline-color: transparent;
209
203
  }
210
- input[type=checkbox][invalid]:hover {
204
+ input[type=checkbox][invalid]:not(.disabled):hover {
211
205
  background: transparent;
212
206
  border-color: var(--kd-color-background-button-primary-destructive-hover);
213
207
  }
214
208
  input[type=checkbox][invalid]:focus-visible {
215
- border-color: var(--kd-color-status-error-dark);
216
- outline-color: var(--kd-color-status-error-dark);
209
+ border-color: var(--kd-color-icon-destructive);
210
+ outline-color: var(--kd-color-icon-destructive);
217
211
  }
218
212
  input[type=checkbox][invalid]:active {
219
213
  background: var(--kd-color-background-button-primary-destructive-pressed);
@@ -229,7 +223,7 @@ input[type=checkbox][invalid]:active {
229
223
  position: absolute;
230
224
  white-space: nowrap;
231
225
  width: 1px;
232
- }`;let k=(()=>{var o,k,p,h,v,m,g,y,D;let x,w,f,M,I,N,Z,A,T,L,G,j=[d("kyn-checkbox")],W=[],C=b,O=[],H=[],U=[],B=[],S=[],z=[],Q=[],E=[],$=[],P=[],F=[],J=[],X=[],R=[],q=[],V=[],Y=[],_=[];return w=class extends C{get value(){return r(this,o,"f")}set value(e){i(this,o,e,"f")}get name(){return r(this,k,"f")}set name(e){i(this,k,e,"f")}get checked(){return r(this,p,"f")}set checked(e){i(this,p,e,"f")}get required(){return r(this,h,"f")}set required(e){i(this,h,e,"f")}get disabled(){return r(this,v,"f")}set disabled(e){i(this,v,e,"f")}get notFocusable(){return r(this,m,"f")}set notFocusable(e){i(this,m,e,"f")}get invalid(){return r(this,g,"f")}set invalid(e){i(this,g,e,"f")}get visiblyHidden(){return r(this,y,"f")}set visiblyHidden(e){i(this,y,e,"f")}get indeterminate(){return r(this,D,"f")}set indeterminate(e){i(this,D,e,"f")}render(){return l`
226
+ }`;let k=(()=>{var o,k,p,h,v,m,g,y,D;let x,w,f,M,I,N,Z,A,T,L,G,j=[n("kyn-checkbox")],W=[],C=b,O=[],H=[],U=[],B=[],S=[],z=[],Q=[],E=[],$=[],P=[],F=[],J=[],X=[],R=[],q=[],V=[],Y=[],_=[];return w=class extends C{get value(){return i(this,o,"f")}set value(e){r(this,o,e,"f")}get name(){return i(this,k,"f")}set name(e){r(this,k,e,"f")}get checked(){return i(this,p,"f")}set checked(e){r(this,p,e,"f")}get required(){return i(this,h,"f")}set required(e){r(this,h,e,"f")}get disabled(){return i(this,v,"f")}set disabled(e){r(this,v,e,"f")}get notFocusable(){return i(this,m,"f")}set notFocusable(e){r(this,m,e,"f")}get invalid(){return i(this,g,"f")}set invalid(e){r(this,g,e,"f")}get visiblyHidden(){return i(this,y,"f")}set visiblyHidden(e){r(this,y,e,"f")}get indeterminate(){return i(this,D,"f")}set indeterminate(e){r(this,D,e,"f")}render(){return l`
233
227
  <label
234
228
  ?disabled=${this.disabled}
235
229
  ?invalid=${this.invalid}
@@ -253,5 +247,5 @@ input[type=checkbox][invalid]:active {
253
247
  .indeterminate=${this.indeterminate}
254
248
  />
255
249
  </label>
256
- `}handleChange(e){const a=new CustomEvent("on-checkbox-change",{bubbles:!0,composed:!0,detail:{checked:e.target.checked,value:e.target.value,origEvent:e}});this.dispatchEvent(a)}constructor(){super(...arguments),o.set(this,t(this,O,"")),k.set(this,(t(this,H),t(this,U,""))),p.set(this,(t(this,B),t(this,S,!1))),h.set(this,(t(this,z),t(this,Q,!1))),v.set(this,(t(this,E),t(this,$,!1))),m.set(this,(t(this,P),t(this,F,!1))),g.set(this,(t(this,J),t(this,X,!1))),y.set(this,(t(this,R),t(this,q,!1))),D.set(this,(t(this,V),t(this,Y,!1))),t(this,_)}},o=new WeakMap,k=new WeakMap,p=new WeakMap,h=new WeakMap,v=new WeakMap,m=new WeakMap,g=new WeakMap,y=new WeakMap,D=new WeakMap,e(w,"Checkbox"),(()=>{var e;const t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=C[Symbol.metadata])&&void 0!==e?e:null):void 0;f=[s({type:String})],M=[s({type:String})],I=[s({type:Boolean,reflect:!0})],N=[s({type:Boolean})],Z=[s({type:Boolean})],A=[s({type:Boolean})],T=[s({type:Boolean})],L=[s({type:Boolean})],G=[s({type:Boolean})],a(w,null,f,{kind:"accessor",name:"value",static:!1,private:!1,access:{has:e=>"value"in e,get:e=>e.value,set:(e,a)=>{e.value=a}},metadata:t},O,H),a(w,null,M,{kind:"accessor",name:"name",static:!1,private:!1,access:{has:e=>"name"in e,get:e=>e.name,set:(e,a)=>{e.name=a}},metadata:t},U,B),a(w,null,I,{kind:"accessor",name:"checked",static:!1,private:!1,access:{has:e=>"checked"in e,get:e=>e.checked,set:(e,a)=>{e.checked=a}},metadata:t},S,z),a(w,null,N,{kind:"accessor",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,a)=>{e.required=a}},metadata:t},Q,E),a(w,null,Z,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,a)=>{e.disabled=a}},metadata:t},$,P),a(w,null,A,{kind:"accessor",name:"notFocusable",static:!1,private:!1,access:{has:e=>"notFocusable"in e,get:e=>e.notFocusable,set:(e,a)=>{e.notFocusable=a}},metadata:t},F,J),a(w,null,T,{kind:"accessor",name:"invalid",static:!1,private:!1,access:{has:e=>"invalid"in e,get:e=>e.invalid,set:(e,a)=>{e.invalid=a}},metadata:t},X,R),a(w,null,L,{kind:"accessor",name:"visiblyHidden",static:!1,private:!1,access:{has:e=>"visiblyHidden"in e,get:e=>e.visiblyHidden,set:(e,a)=>{e.visiblyHidden=a}},metadata:t},q,V),a(w,null,G,{kind:"accessor",name:"indeterminate",static:!1,private:!1,access:{has:e=>"indeterminate"in e,get:e=>e.indeterminate,set:(e,a)=>{e.indeterminate=a}},metadata:t},Y,_),a(null,x={value:w},j,{kind:"class",name:w.name,metadata:t},null,W),w=x.value,t&&Object.defineProperty(w,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})})(),w.styles=n(u),w.shadowRootOptions={...b.shadowRootOptions,delegatesFocus:!0},t(w,W),w})();export{k as Checkbox};
250
+ `}handleChange(e){const a=new CustomEvent("on-checkbox-change",{bubbles:!0,composed:!0,detail:{checked:e.target.checked,value:e.target.value,origEvent:e}});this.dispatchEvent(a)}constructor(){super(...arguments),o.set(this,t(this,O,"")),k.set(this,(t(this,H),t(this,U,""))),p.set(this,(t(this,B),t(this,S,!1))),h.set(this,(t(this,z),t(this,Q,!1))),v.set(this,(t(this,E),t(this,$,!1))),m.set(this,(t(this,P),t(this,F,!1))),g.set(this,(t(this,J),t(this,X,!1))),y.set(this,(t(this,R),t(this,q,!1))),D.set(this,(t(this,V),t(this,Y,!1))),t(this,_)}},o=new WeakMap,k=new WeakMap,p=new WeakMap,h=new WeakMap,v=new WeakMap,m=new WeakMap,g=new WeakMap,y=new WeakMap,D=new WeakMap,e(w,"Checkbox"),(()=>{var e;const t="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=C[Symbol.metadata])&&void 0!==e?e:null):void 0;f=[s({type:String})],M=[s({type:String})],I=[s({type:Boolean,reflect:!0})],N=[s({type:Boolean})],Z=[s({type:Boolean})],A=[s({type:Boolean})],T=[s({type:Boolean})],L=[s({type:Boolean})],G=[s({type:Boolean})],a(w,null,f,{kind:"accessor",name:"value",static:!1,private:!1,access:{has:e=>"value"in e,get:e=>e.value,set:(e,a)=>{e.value=a}},metadata:t},O,H),a(w,null,M,{kind:"accessor",name:"name",static:!1,private:!1,access:{has:e=>"name"in e,get:e=>e.name,set:(e,a)=>{e.name=a}},metadata:t},U,B),a(w,null,I,{kind:"accessor",name:"checked",static:!1,private:!1,access:{has:e=>"checked"in e,get:e=>e.checked,set:(e,a)=>{e.checked=a}},metadata:t},S,z),a(w,null,N,{kind:"accessor",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,a)=>{e.required=a}},metadata:t},Q,E),a(w,null,Z,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,a)=>{e.disabled=a}},metadata:t},$,P),a(w,null,A,{kind:"accessor",name:"notFocusable",static:!1,private:!1,access:{has:e=>"notFocusable"in e,get:e=>e.notFocusable,set:(e,a)=>{e.notFocusable=a}},metadata:t},F,J),a(w,null,T,{kind:"accessor",name:"invalid",static:!1,private:!1,access:{has:e=>"invalid"in e,get:e=>e.invalid,set:(e,a)=>{e.invalid=a}},metadata:t},X,R),a(w,null,L,{kind:"accessor",name:"visiblyHidden",static:!1,private:!1,access:{has:e=>"visiblyHidden"in e,get:e=>e.visiblyHidden,set:(e,a)=>{e.visiblyHidden=a}},metadata:t},q,V),a(w,null,G,{kind:"accessor",name:"indeterminate",static:!1,private:!1,access:{has:e=>"indeterminate"in e,get:e=>e.indeterminate,set:(e,a)=>{e.indeterminate=a}},metadata:t},Y,_),a(null,x={value:w},j,{kind:"class",name:w.name,metadata:t},null,W),w=x.value,t&&Object.defineProperty(w,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:t})})(),w.styles=d(u),w.shadowRootOptions={...b.shadowRootOptions,delegatesFocus:!0},t(w,W),w})();export{k as Checkbox};
257
251
  //# sourceMappingURL=checkbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sources":["../../../../src/components/reusable/checkbox/checkbox.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit-html/directives/class-map.js';\nimport CheckboxScss from './checkbox.scss?inline';\n\n/**\n * Checkbox.\n * @fires on-checkbox-change - Captures the change event and emits the selected value and original event details.\n * @slot unnamed - Slot for label text.\n */\n@customElement('kyn-checkbox')\nexport class Checkbox extends LitElement {\n static override styles = unsafeCSS(CheckboxScss);\n\n /** @ignore */\n static override shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /** Checkbox value. */\n @property({ type: String })\n accessor value = '';\n\n /**\n * Checkbox name, inherited from the parent group.\n * @ignore\n */\n @property({ type: String })\n accessor name = '';\n\n /**\n * Checkbox checked state, inherited from the parent group if value matches.\n * @internal\n */\n @property({ type: Boolean, reflect: true })\n accessor checked = false;\n\n /**\n * Makes the input required, inherited from the parent group.\n * @internal\n */\n @property({ type: Boolean })\n accessor required = false;\n\n /**\n * Checkbox disabled state, inherited from the parent group.\n */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /**\n * Prevent checkbox from being focusable. Disables it functionally but not visually.\n */\n @property({ type: Boolean })\n accessor notFocusable = false;\n\n /**\n * Checkbox group invalid state, inherited from the parent group.\n * @internal\n */\n @property({ type: Boolean })\n accessor invalid = false;\n\n /**\n * Determines whether the label should be hidden from visual view but remain accessible\n * to screen readers for accessibility purposes.\n */\n @property({ type: Boolean })\n accessor visiblyHidden = false;\n\n /** Determines whether the checkbox is in an indeterminate state. */\n @property({ type: Boolean })\n accessor indeterminate = false;\n\n override render() {\n return html`\n <label\n ?disabled=${this.disabled}\n ?invalid=${this.invalid}\n class=\"${this.visiblyHidden ? 'label-hidden' : ''}\"\n >\n <span class=${classMap({ 'sr-only': this.visiblyHidden })}>\n <slot></slot>\n </span>\n\n <input\n class=${this.disabled ? 'disabled' : ''}\n type=\"checkbox\"\n name=${this.name}\n value=${this.value}\n .checked=${this.checked}\n ?checked=${this.checked}\n ?required=${this.required}\n ?disabled=${this.disabled || this.notFocusable}\n ?invalid=${this.invalid}\n @change=${(e: any) => this.handleChange(e)}\n .indeterminate=${this.indeterminate}\n />\n </label>\n `;\n }\n\n private handleChange(e: any) {\n // emit selected value, bubble so it can be captured by the checkbox group\n const event = new CustomEvent('on-checkbox-change', {\n bubbles: true,\n composed: true,\n detail: {\n checked: e.target.checked,\n value: e.target.value,\n origEvent: e,\n },\n });\n this.dispatchEvent(event);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-checkbox': Checkbox;\n }\n}\n"],"names":["Checkbox","customElement","LitElement","_classThis","_classSuper","value","__classPrivateFieldGet","this","_Checkbox_value_accessor_storage","__classPrivateFieldSet","name","_Checkbox_name_accessor_storage","checked","_Checkbox_checked_accessor_storage","required","_Checkbox_required_accessor_storage","disabled","_Checkbox_disabled_accessor_storage","notFocusable","_Checkbox_notFocusable_accessor_storage","invalid","_Checkbox_invalid_accessor_storage","visiblyHidden","_Checkbox_visiblyHidden_accessor_storage","indeterminate","_Checkbox_indeterminate_accessor_storage","render","html","classMap","e","handleChange","event","CustomEvent","bubbles","composed","detail","target","origEvent","dispatchEvent","set","__runInitializers","_value_initializers","_value_extraInitializers","_name_initializers","_name_extraInitializers","_checked_initializers","_checked_extraInitializers","_required_initializers","_required_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_notFocusable_initializers","_notFocusable_extraInitializers","_invalid_initializers","_invalid_extraInitializers","_visiblyHidden_initializers","_visiblyHidden_extraInitializers","_indeterminate_initializers","_value_decorators","property","type","String","_name_decorators","Boolean","reflect","_required_decorators","_disabled_decorators","_notFocusable_decorators","_invalid_decorators","_visiblyHidden_decorators","_indeterminate_decorators","__esDecorate","kind","static","private","access","has","obj","get","metadata","_metadata","_checked_decorators","_indeterminate_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","CheckboxScss","shadowRootOptions","delegatesFocus"],"mappings":"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"}
1
+ {"version":3,"file":"checkbox.js","sources":["../../../../src/components/reusable/checkbox/checkbox.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit-html/directives/class-map.js';\nimport CheckboxScss from './checkbox.scss?inline';\n\n/**\n * Checkbox.\n * @fires on-checkbox-change - Captures the change event and emits the selected value and original event details.\n * @slot unnamed - Slot for label text.\n */\n@customElement('kyn-checkbox')\nexport class Checkbox extends LitElement {\n static override styles = unsafeCSS(CheckboxScss);\n\n /** @ignore */\n static override shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /** Checkbox value. */\n @property({ type: String })\n accessor value = '';\n\n /**\n * Checkbox name, inherited from the parent group.\n * @ignore\n */\n @property({ type: String })\n accessor name = '';\n\n /**\n * Checkbox checked state, inherited from the parent group if value matches.\n * @internal\n */\n @property({ type: Boolean, reflect: true })\n accessor checked = false;\n\n /**\n * Makes the input required, inherited from the parent group.\n * @internal\n */\n @property({ type: Boolean })\n accessor required = false;\n\n /**\n * Checkbox disabled state, inherited from the parent group.\n */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /**\n * Prevent checkbox from being focusable. Disables it functionally but not visually.\n */\n @property({ type: Boolean })\n accessor notFocusable = false;\n\n /**\n * Checkbox group invalid state, inherited from the parent group.\n * @internal\n */\n @property({ type: Boolean })\n accessor invalid = false;\n\n /**\n * Determines whether the label should be hidden from visual view but remain accessible\n * to screen readers for accessibility purposes.\n */\n @property({ type: Boolean })\n accessor visiblyHidden = false;\n\n /** Determines whether the checkbox is in an indeterminate state. */\n @property({ type: Boolean })\n accessor indeterminate = false;\n\n override render() {\n return html`\n <label\n ?disabled=${this.disabled}\n ?invalid=${this.invalid}\n class=\"${this.visiblyHidden ? 'label-hidden' : ''}\"\n >\n <span class=${classMap({ 'sr-only': this.visiblyHidden })}>\n <slot></slot>\n </span>\n\n <input\n class=${this.disabled ? 'disabled' : ''}\n type=\"checkbox\"\n name=${this.name}\n value=${this.value}\n .checked=${this.checked}\n ?checked=${this.checked}\n ?required=${this.required}\n ?disabled=${this.disabled || this.notFocusable}\n ?invalid=${this.invalid}\n @change=${(e: any) => this.handleChange(e)}\n .indeterminate=${this.indeterminate}\n />\n </label>\n `;\n }\n\n private handleChange(e: any) {\n // emit selected value, bubble so it can be captured by the checkbox group\n const event = new CustomEvent('on-checkbox-change', {\n bubbles: true,\n composed: true,\n detail: {\n checked: e.target.checked,\n value: e.target.value,\n origEvent: e,\n },\n });\n this.dispatchEvent(event);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-checkbox': Checkbox;\n }\n}\n"],"names":["Checkbox","customElement","LitElement","_classThis","_classSuper","value","__classPrivateFieldGet","this","_Checkbox_value_accessor_storage","__classPrivateFieldSet","name","_Checkbox_name_accessor_storage","checked","_Checkbox_checked_accessor_storage","required","_Checkbox_required_accessor_storage","disabled","_Checkbox_disabled_accessor_storage","notFocusable","_Checkbox_notFocusable_accessor_storage","invalid","_Checkbox_invalid_accessor_storage","visiblyHidden","_Checkbox_visiblyHidden_accessor_storage","indeterminate","_Checkbox_indeterminate_accessor_storage","render","html","classMap","e","handleChange","event","CustomEvent","bubbles","composed","detail","target","origEvent","dispatchEvent","set","__runInitializers","_value_initializers","_value_extraInitializers","_name_initializers","_name_extraInitializers","_checked_initializers","_checked_extraInitializers","_required_initializers","_required_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_notFocusable_initializers","_notFocusable_extraInitializers","_invalid_initializers","_invalid_extraInitializers","_visiblyHidden_initializers","_visiblyHidden_extraInitializers","_indeterminate_initializers","_value_decorators","property","type","String","_name_decorators","Boolean","reflect","_required_decorators","_disabled_decorators","_notFocusable_decorators","_invalid_decorators","_visiblyHidden_decorators","_indeterminate_decorators","__esDecorate","kind","static","private","access","has","obj","get","metadata","_metadata","_checked_decorators","_indeterminate_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","CheckboxScss","shadowRootOptions","delegatesFocus"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/dropdown/dropdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/dropdown/dropdown.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{_ as e,a as t,b as i,c as s,d as a}from"../../../vendor/tslib-Ac8XvvSX.js";import{e as l,o as n,x as o}from"../../../vendor/lit-html-BRBT5o_V.js";import{i as r,a as d,t as h,r as c,n as p,e as u}from"../../../vendor/@lit/reactive-element-f91Vet7N.js";import{i as m}from"../../../vendor/lit-element-m-OqzV5s.js";import{FormMixin as v}from"../../../common/mixins/form-input.js";import{d as g}from"../../../vendor/deepmerge-ts-OFb5ej8y.js";import"./dropdownOption.js";import"./enhancedDropdownOption.js";import"../tag/tag.js";import"../tag/tagGroup.js";import"../tag/tag.skeleton.js";import"../button/button.js";import{c as f,f as b,g as k}from"../../../vendor/@kyndryl-design-system/shidoka-icons-IJ2y2-L_.js";import"../checkbox/checkbox.js";import"../checkbox/checkboxGroup.js";import"../textInput/textInput.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";import"../checkbox/checkboxSubgroup.js";import"../../../tag-B2B6WTaT.js";import"../link/link.js";import"../link/defs.js";import"../loaders/skeleton.js";var x=r`*,
1
+ import{_ as e,a as t,b as i,c as s,d as a}from"../../../vendor/tslib-Ac8XvvSX.js";import{e as l,o as n,x as o}from"../../../vendor/lit-html-BRBT5o_V.js";import{i as r,a as d,t as h,r as c,n as p,e as u}from"../../../vendor/@lit/reactive-element-f91Vet7N.js";import{i as m}from"../../../vendor/lit-element-m-OqzV5s.js";import{FormMixin as v}from"../../../common/mixins/form-input.js";import{d as g}from"../../../vendor/deepmerge-ts-OFb5ej8y.js";import"./dropdownOption.js";import"./enhancedDropdownOption.js";import"../tag/tag.js";import"../tag/tagGroup.js";import"../tag/tag.skeleton.js";import"../button/button.js";import{c as f,f as k,g as b}from"../../../vendor/@kyndryl-design-system/shidoka-icons-IJ2y2-L_.js";import"../checkbox/checkbox.js";import"../checkbox/checkboxGroup.js";import"../textInput/textInput.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";import"../checkbox/checkboxSubgroup.js";import"../../../tag-B2B6WTaT.js";import"../link/link.js";import"../link/defs.js";import"../loaders/skeleton.js";var x=r`*,
2
2
  *::before,
3
3
  *::after {
4
4
  box-sizing: border-box;
@@ -781,7 +781,7 @@ kyn-tag-group {
781
781
  --kd-color-border-variants-focus: var(
782
782
  --kd-color-background-button-secondary-ai-focused
783
783
  );
784
- }`;const y={title:"Dropdown",selectedOptions:"List of selected options",requiredText:"Required",errorText:"Error",clearAll:"Clear all",clear:"Clear",addItem:"Add item...",add:"Add"},w="Enter",E="Escape",S="ArrowDown",_="ArrowUp";let $=(()=>{var r,$,O,T,z,C,A,M,I,W,D,N,q,V,L,j,B,K,P,R,U,Y,H,F,G,J,Q,X,Z,ee,te,ie,se,ae,le;let ne,oe,re,de,he,ce,pe,ue,me,ve,ge,fe,be,ke,xe,ye,we,Ee,Se,_e,$e,Oe,Te,ze,Ce,Ae,Me,Ie,We,De,Ne,qe,Ve,Le,je,Be,Ke,Pe=[h("kyn-dropdown")],Re=[],Ue=v(m),Ye=[],He=[],Fe=[],Ge=[],Je=[],Qe=[],Xe=[],Ze=[],et=[],tt=[],it=[],st=[],at=[],lt=[],nt=[],ot=[],rt=[],dt=[],ht=[],ct=[],pt=[],ut=[],mt=[],vt=[],gt=[],ft=[],bt=[],kt=[],xt=[],yt=[],wt=[],Et=[],St=[],_t=[],$t=[],Ot=[],Tt=[],zt=[],Ct=[],At=[],Mt=[],It=[],Wt=[],Dt=[],Nt=[],qt=[],Vt=[],Lt=[],jt=[],Bt=[],Kt=[],Pt=[],Rt=[],Ut=[],Yt=[],Ht=[],Ft=[],Gt=[],Jt=[],Qt=[],Xt=[],Zt=[],ei=[],ti=[],ii=[],si=[],ai=[],li=[],ni=[],oi=[];return oe=class extends Ue{constructor(){super(...arguments),r.set(this,i(this,Ye,"")),$.set(this,(i(this,He),i(this,Fe,"md"))),O.set(this,(i(this,Ge),i(this,Je,"default"))),T.set(this,(i(this,Qe),i(this,Xe,!1))),z.set(this,(i(this,Ze),i(this,et,""))),C.set(this,(i(this,tt),i(this,it,""))),A.set(this,(i(this,st),i(this,at,!1))),M.set(this,(i(this,lt),i(this,nt,!1))),I.set(this,(i(this,ot),i(this,rt,!1))),W.set(this,(i(this,dt),i(this,ht,!1))),D.set(this,(i(this,ct),i(this,pt,!1))),N.set(this,(i(this,ut),i(this,mt,!1))),q.set(this,(i(this,vt),i(this,gt,!1))),V.set(this,(i(this,ft),i(this,bt,!1))),L.set(this,(i(this,kt),i(this,xt,!1))),j.set(this,(i(this,yt),i(this,wt,!1))),B.set(this,(i(this,Et),i(this,St,"Select all"))),K.set(this,(i(this,_t),i(this,$t,"initial"))),P.set(this,(i(this,Ot),i(this,Tt,"auto"))),R.set(this,(i(this,zt),i(this,Ct,!1))),U.set(this,(i(this,At),i(this,Mt,!1))),Y.set(this,(i(this,It),i(this,Wt,y))),H.set(this,(i(this,Dt),i(this,Nt,!1))),F.set(this,(i(this,qt),i(this,Vt,y))),G.set(this,(i(this,Lt),i(this,jt,""))),J.set(this,(i(this,Bt),i(this,Kt,""))),Q.set(this,(i(this,Pt),i(this,Rt,""))),X.set(this,(i(this,Ut),i(this,Yt,"Dropdown menu options."))),Z.set(this,(i(this,Ht),i(this,Ft,void 0))),ee.set(this,(i(this,Gt),i(this,Jt,void 0))),te.set(this,(i(this,Qt),i(this,Xt,void 0))),ie.set(this,(i(this,Zt),i(this,ei,void 0))),se.set(this,(i(this,ti),i(this,ii,void 0))),ae.set(this,(i(this,si),i(this,ai,!1))),le.set(this,(i(this,li),i(this,ni,[]))),this.searchTextEntered=(i(this,oi),!1),this.prevSearchKeydownIndex=-1,this._onDocumentClick=e=>this._handleClickOut(e),this._onChildClick=e=>this._handleClick(e),this._onChildRemove=e=>this._handleRemoveOption(),this._onChildBlur=e=>this._handleBlur(e)}get label(){return s(this,r,"f")}set label(e){a(this,r,e,"f")}get size(){return s(this,$,"f")}set size(e){a(this,$,e,"f")}get kind(){return s(this,O,"f")}set kind(e){a(this,O,e,"f")}get inline(){return s(this,T,"f")}set inline(e){a(this,T,e,"f")}get caption(){return s(this,z,"f")}set caption(e){a(this,z,e,"f")}get placeholder(){return s(this,C,"f")}set placeholder(e){a(this,C,e,"f")}get open(){return s(this,A,"f")}set open(e){a(this,A,e,"f")}get searchable(){return s(this,M,"f")}set searchable(e){a(this,M,e,"f")}get enhanced(){return s(this,I,"f")}set enhanced(e){a(this,I,e,"f")}get filterSearch(){return s(this,W,"f")}set filterSearch(e){a(this,W,e,"f")}get multiple(){return s(this,D,"f")}set multiple(e){a(this,D,e,"f")}get required(){return s(this,N,"f")}set required(e){a(this,N,e,"f")}get hideLabel(){return s(this,q,"f")}set hideLabel(e){a(this,q,e,"f")}get disabled(){return s(this,V,"f")}set disabled(e){a(this,V,e,"f")}get hideTags(){return s(this,L,"f")}set hideTags(e){a(this,L,e,"f")}get selectAll(){return s(this,j,"f")}set selectAll(e){a(this,j,e,"f")}get selectAllText(){return s(this,B,"f")}set selectAllText(e){a(this,B,e,"f")}get menuMinWidth(){return s(this,K,"f")}set menuMinWidth(e){a(this,K,e,"f")}get openDirection(){return s(this,P,"f")}set openDirection(e){a(this,P,e,"f")}get selectAllChecked(){return s(this,R,"f")}set selectAllChecked(e){a(this,R,e,"f")}get selectAllIndeterminate(){return s(this,U,"f")}set selectAllIndeterminate(e){a(this,U,e,"f")}get textStrings(){return s(this,Y,"f")}set textStrings(e){a(this,Y,e,"f")}get allowAddOption(){return s(this,H,"f")}set allowAddOption(e){a(this,H,e,"f")}get _textStrings(){return s(this,F,"f")}set _textStrings(e){a(this,F,e,"f")}get newOptionValue(){return s(this,G,"f")}set newOptionValue(e){a(this,G,e,"f")}get text(){return s(this,J,"f")}set text(e){a(this,J,e,"f")}get searchText(){return s(this,Q,"f")}set searchText(e){a(this,Q,e,"f")}get assistiveText(){return s(this,X,"f")}set assistiveText(e){a(this,X,e,"f")}get options(){return Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option"))}get selectedOptions(){return this.options.filter((e=>e.hasAttribute("selected")))}get searchEl(){return s(this,Z,"f")}set searchEl(e){a(this,Z,e,"f")}get buttonEl(){return s(this,ee,"f")}set buttonEl(e){a(this,ee,e,"f")}get listboxEl(){return s(this,te,"f")}set listboxEl(e){a(this,te,e,"f")}get clearMultipleEl(){return s(this,ie,"f")}set clearMultipleEl(e){a(this,ie,e,"f")}get addOptionInputEl(){return s(this,se,"f")}set addOptionInputEl(e){a(this,se,e,"f")}get _openUpwards(){return s(this,ae,"f")}set _openUpwards(e){a(this,ae,e,"f")}get _tags(){return s(this,le,"f")}set _tags(e){a(this,le,e,"f")}render(){var e;const t={dropdown:!0,"ai-connected":"ai"===this.kind};return o`
784
+ }`;const y={title:"Dropdown",selectedOptions:"List of selected options",requiredText:"Required",errorText:"Error",clearAll:"Clear all",clear:"Clear",addItem:"Add item...",add:"Add"},w="Enter",E="Escape",S="ArrowDown",_="ArrowUp";let $=(()=>{var r,$,O,T,z,C,A,M,I,W,D,N,q,V,L,j,B,K,P,R,U,Y,H,F,G,J,Q,X,Z,ee,te,ie,se,ae,le;let ne,oe,re,de,he,ce,pe,ue,me,ve,ge,fe,ke,be,xe,ye,we,Ee,Se,_e,$e,Oe,Te,ze,Ce,Ae,Me,Ie,We,De,Ne,qe,Ve,Le,je,Be,Ke,Pe=[h("kyn-dropdown")],Re=[],Ue=v(m),Ye=[],He=[],Fe=[],Ge=[],Je=[],Qe=[],Xe=[],Ze=[],et=[],tt=[],it=[],st=[],at=[],lt=[],nt=[],ot=[],rt=[],dt=[],ht=[],ct=[],pt=[],ut=[],mt=[],vt=[],gt=[],ft=[],kt=[],bt=[],xt=[],yt=[],wt=[],Et=[],St=[],_t=[],$t=[],Ot=[],Tt=[],zt=[],Ct=[],At=[],Mt=[],It=[],Wt=[],Dt=[],Nt=[],qt=[],Vt=[],Lt=[],jt=[],Bt=[],Kt=[],Pt=[],Rt=[],Ut=[],Yt=[],Ht=[],Ft=[],Gt=[],Jt=[],Qt=[],Xt=[],Zt=[],ei=[],ti=[],ii=[],si=[],ai=[],li=[],ni=[],oi=[];return oe=class extends Ue{constructor(){super(...arguments),r.set(this,i(this,Ye,"")),$.set(this,(i(this,He),i(this,Fe,"md"))),O.set(this,(i(this,Ge),i(this,Je,"default"))),T.set(this,(i(this,Qe),i(this,Xe,!1))),z.set(this,(i(this,Ze),i(this,et,""))),C.set(this,(i(this,tt),i(this,it,""))),A.set(this,(i(this,st),i(this,at,!1))),M.set(this,(i(this,lt),i(this,nt,!1))),I.set(this,(i(this,ot),i(this,rt,!1))),W.set(this,(i(this,dt),i(this,ht,!1))),D.set(this,(i(this,ct),i(this,pt,!1))),N.set(this,(i(this,ut),i(this,mt,!1))),q.set(this,(i(this,vt),i(this,gt,!1))),V.set(this,(i(this,ft),i(this,kt,!1))),L.set(this,(i(this,bt),i(this,xt,!1))),j.set(this,(i(this,yt),i(this,wt,!1))),B.set(this,(i(this,Et),i(this,St,"Select all"))),K.set(this,(i(this,_t),i(this,$t,"initial"))),P.set(this,(i(this,Ot),i(this,Tt,"auto"))),R.set(this,(i(this,zt),i(this,Ct,!1))),U.set(this,(i(this,At),i(this,Mt,!1))),Y.set(this,(i(this,It),i(this,Wt,y))),H.set(this,(i(this,Dt),i(this,Nt,!1))),F.set(this,(i(this,qt),i(this,Vt,y))),G.set(this,(i(this,Lt),i(this,jt,""))),J.set(this,(i(this,Bt),i(this,Kt,""))),Q.set(this,(i(this,Pt),i(this,Rt,""))),X.set(this,(i(this,Ut),i(this,Yt,"Dropdown menu options."))),Z.set(this,(i(this,Ht),i(this,Ft,void 0))),ee.set(this,(i(this,Gt),i(this,Jt,void 0))),te.set(this,(i(this,Qt),i(this,Xt,void 0))),ie.set(this,(i(this,Zt),i(this,ei,void 0))),se.set(this,(i(this,ti),i(this,ii,void 0))),ae.set(this,(i(this,si),i(this,ai,!1))),le.set(this,(i(this,li),i(this,ni,[]))),this.searchTextEntered=(i(this,oi),!1),this.prevSearchKeydownIndex=-1,this._onDocumentClick=e=>this._handleClickOut(e),this._onChildClick=e=>this._handleClick(e),this._onChildRemove=e=>this._handleRemoveOption(),this._onChildBlur=e=>this._handleBlur(e)}get label(){return s(this,r,"f")}set label(e){a(this,r,e,"f")}get size(){return s(this,$,"f")}set size(e){a(this,$,e,"f")}get kind(){return s(this,O,"f")}set kind(e){a(this,O,e,"f")}get inline(){return s(this,T,"f")}set inline(e){a(this,T,e,"f")}get caption(){return s(this,z,"f")}set caption(e){a(this,z,e,"f")}get placeholder(){return s(this,C,"f")}set placeholder(e){a(this,C,e,"f")}get open(){return s(this,A,"f")}set open(e){a(this,A,e,"f")}get searchable(){return s(this,M,"f")}set searchable(e){a(this,M,e,"f")}get enhanced(){return s(this,I,"f")}set enhanced(e){a(this,I,e,"f")}get filterSearch(){return s(this,W,"f")}set filterSearch(e){a(this,W,e,"f")}get multiple(){return s(this,D,"f")}set multiple(e){a(this,D,e,"f")}get required(){return s(this,N,"f")}set required(e){a(this,N,e,"f")}get hideLabel(){return s(this,q,"f")}set hideLabel(e){a(this,q,e,"f")}get disabled(){return s(this,V,"f")}set disabled(e){a(this,V,e,"f")}get hideTags(){return s(this,L,"f")}set hideTags(e){a(this,L,e,"f")}get selectAll(){return s(this,j,"f")}set selectAll(e){a(this,j,e,"f")}get selectAllText(){return s(this,B,"f")}set selectAllText(e){a(this,B,e,"f")}get menuMinWidth(){return s(this,K,"f")}set menuMinWidth(e){a(this,K,e,"f")}get openDirection(){return s(this,P,"f")}set openDirection(e){a(this,P,e,"f")}get selectAllChecked(){return s(this,R,"f")}set selectAllChecked(e){a(this,R,e,"f")}get selectAllIndeterminate(){return s(this,U,"f")}set selectAllIndeterminate(e){a(this,U,e,"f")}get textStrings(){return s(this,Y,"f")}set textStrings(e){a(this,Y,e,"f")}get allowAddOption(){return s(this,H,"f")}set allowAddOption(e){a(this,H,e,"f")}get _textStrings(){return s(this,F,"f")}set _textStrings(e){a(this,F,e,"f")}get newOptionValue(){return s(this,G,"f")}set newOptionValue(e){a(this,G,e,"f")}get text(){return s(this,J,"f")}set text(e){a(this,J,e,"f")}get searchText(){return s(this,Q,"f")}set searchText(e){a(this,Q,e,"f")}get assistiveText(){return s(this,X,"f")}set assistiveText(e){a(this,X,e,"f")}get options(){return Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option"))}get selectedOptions(){return this.options.filter((e=>e.hasAttribute("selected")))}get searchEl(){return s(this,Z,"f")}set searchEl(e){a(this,Z,e,"f")}get buttonEl(){return s(this,ee,"f")}set buttonEl(e){a(this,ee,e,"f")}get listboxEl(){return s(this,te,"f")}set listboxEl(e){a(this,te,e,"f")}get clearMultipleEl(){return s(this,ie,"f")}set clearMultipleEl(e){a(this,ie,e,"f")}get addOptionInputEl(){return s(this,se,"f")}set addOptionInputEl(e){a(this,se,e,"f")}get _openUpwards(){return s(this,ae,"f")}set _openUpwards(e){a(this,ae,e,"f")}get _tags(){return s(this,le,"f")}set _tags(e){a(this,le,e,"f")}render(){var e;const t={dropdown:!0,"ai-connected":"ai"===this.kind};return o`
785
785
  <div
786
786
  class=${l(t)}
787
787
  ?disabled=${this.disabled}
@@ -865,7 +865,7 @@ kyn-tag-group {
865
865
  </span>
866
866
  `}
867
867
 
868
- <span class="arrow-icon">${n(b)}</span>
868
+ <span class="arrow-icon">${n(k)}</span>
869
869
  </div>
870
870
  </slot>
871
871
 
@@ -979,7 +979,7 @@ kyn-tag-group {
979
979
  role="img"
980
980
  title=${this._textStrings.errorText}
981
981
  aria-label=${this._textStrings.errorText}
982
- >${n(k)}</span
982
+ >${n(b)}</span
983
983
  >
984
984
  ${this.invalidText||this._internalValidationMsg}
985
985
  </div>
@@ -994,5 +994,5 @@ kyn-tag-group {
994
994
  ${this.assistiveText}
995
995
  </div>
996
996
  </div>
997
- `}firstUpdated(){""===this.placeholder&&(this.searchable?this.placeholder="Search":this.multiple?this.placeholder="Select items":this.placeholder="Select an option")}handleSlotChange(){this.updateChildOptions(),this._updateOptions(),this._updateSelectedText()}updateChildOptions(){var e;(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#children")).assignedElements({flatten:!0}).forEach((e=>{"KYN-DROPDOWN-OPTION"!==e.tagName&&"KYN-ENHANCED-DROPDOWN-OPTION"!==e.tagName||(e.allowAddOption=this.allowAddOption)}))}handleClick(){this.disabled||(this.open=!this.open,this.searchable?this.searchEl.focus():this.buttonEl.focus())}handleButtonKeydown(e){this.handleKeyboard(e,e.keyCode,"button")}handleListKeydown(e){9!==e.keyCode&&e.preventDefault(),this.handleKeyboard(e,e.keyCode,"list")}_handleListFocus(){var e;const t=[...Array.from((null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".select-all"))||[]),...this.options.filter((e=>"none"!==e.style.display))],i=t.find((e=>!e.disabled));i&&(t.forEach((e=>e.highlighted=!1)),(!("tabIndex"in i)||i.tabIndex<0)&&(i.tabIndex=0),i.focus(),i.scrollIntoView({block:"nearest"}),this.assistiveText=i.text||"Option")}handleListBlur(e){if(this.multiple)return;this.options.forEach((e=>e.highlighted=!1));const t=e.relatedTarget;t&&(t.closest("kyn-dropdown-option")||t.closest("kyn-enhanced-dropdown-option")||t.classList.contains("search")||t.closest(".add-option"))||(this.open=!1,this.assistiveText="Dropdown menu options.")}handleKeyboard(e,t,i){var s;const a=[0,32],l=[...Array.from((null===(s=this.shadowRoot)||void 0===s?void 0:s.querySelectorAll(".select-all"))||[]),...this.options.filter((e=>"none"!==e.style.display))],n=l.find((e=>e.highlighted)),o=l.find((e=>e.selected));let r=n?l.indexOf(n):o?l.indexOf(o):0;a.includes(t)&&e.preventDefault();const d=this.open;if("button"===i||"addOption"===i){let s=a.includes(t)||13===t||40==t||38==t;if(e.target===this.clearMultipleEl&&13===t&&(s=!1,l[r].highlighted=!1,l[r].selected=!l[r].selected,r=0,13!==t))return;s&&(this.open=!0,this.allowAddOption&&"button"===i&&13===t?setTimeout((()=>{var e;null===(e=this.addOptionInputEl)||void 0===e||e.focus()}),100):this.multiple||""===this.value||l[r].scrollIntoView({block:"nearest"}))}switch(t){case 0:case 32:case 13:return l[r].highlighted=!0,void(d&&(this.multiple?(l[r].selected=!l[r].selected,this._handleClick({detail:{value:l[r].value,selected:l[r].selected}})):(l.forEach((e=>e.selected=!1)),l[r].selected=!0,this.updateValue(l[r].value,!0),this.emitValue(),this.open=!1,this.assistiveText=`Selected ${l[r].value}`)));case 40:{let e=n||o?r===l.length-1?0:r+1:0;return l[e].disabled&&(e=e===l.length-1?0:e+1),l[e].focus(),l[r].highlighted=!1,l[e].highlighted=!0,l[e].scrollIntoView({block:"nearest"}),void(this.assistiveText=l[e].text)}case 38:{let e=0===r?l.length-1:r-1;return l[e].disabled&&(e=0===e?l.length-1:e-1),l[e].focus(),l[r].highlighted=!1,l[e].highlighted=!0,l[e].scrollIntoView({block:"nearest"}),void(this.assistiveText=l[e].text)}case 27:return this.open=!1,this.searchable?this.searchEl.focus():this.buttonEl.focus(),void(this.assistiveText="Dropdown menu options.");default:return}}handleClearMultiple(e){var t;if(e.stopPropagation(),this.multiple){const e=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("slot#children")).assignedElements().filter((e=>e.selected&&e.disabled)).map((e=>e.value));this.value=e.length?e:[]}else this.value="";this._validate(!0,!1),this._updateSelectedOptions(),this.emitValue();const i=new CustomEvent("on-clear-all",{detail:{value:this.value}});this.dispatchEvent(i)}handleTagClear(e){this.updateValue(e.value,!1),this._updateSelectedOptions(),this.emitValue()}handleClear(e){e.stopPropagation(),this.text="",this.searchText="",this.searchEl.value="",this._emitSearch(),this.filterSearch&&this.options.map((e=>{e.style.display="block"})),this.multiple||(this.value="",this._validate(!0,!1),this._updateSelectedOptions(),this.emitValue())}handleSearchClick(e){var t;e.stopPropagation(),this.open=!0,""===(null!==(t=this.searchText)&&void 0!==t?t:"").trim()&&(this.searchText="")}handleSearchKeydown(e){e.stopPropagation();const t=this.options.find((e=>e.highlighted)),i=this.options.findIndex((e=>e.highlighted));this.searchTextEntered=!1,13===e.keyCode&&(this.searchTextEntered=!0,t?(this.prevSearchKeydownIndex!==i&&(this.multiple?t.selected=!t.selected:(this.options.forEach((e=>e.selected=!1)),t.selected=!0,this.open=!1),this.updateValue(t.value,t.selected)),t.selected?(this.assistiveText=`Selected ${t.innerHTML}`,this.prevSearchKeydownIndex=i):this.assistiveText=`Deselected ${t.innerHTML}`):this.assistiveText="No item matched."),27===e.keyCode&&(this.open=!1,this.buttonEl.focus())}handleSearchInput(e){const t=e.target.value;if(this.searchText=t,this.open=!0,this._emitSearch(),this.filterSearch)this.options.map((e=>{let i=e.text;if("KYN-ENHANCED-DROPDOWN-OPTION"===e.tagName){const t=e.querySelector('[slot="title"]');i=t&&t.textContent.trim()?t.textContent.trim():e.displayText||e.value}i.toLowerCase().includes(t.toLowerCase())?e.style.display="block":e.style.display="none"}));else{const e=this.options.filter((e=>{let i=e.text;if("KYN-ENHANCED-DROPDOWN-OPTION"===e.tagName){const t=e.querySelector('[slot="title"]');i=t&&t.textContent.trim()?t.textContent.trim():e.displayText||e.value}return i.toLowerCase().startsWith(t.toLowerCase())}));this.options.forEach((e=>e.highlighted=!1)),""!==t&&e.length&&(e[0].highlighted=!0,e[0].scrollIntoView({block:"nearest"}),this.searchTextEntered&&(this.assistiveText="Option Matched"))}}_updateSelectedOptions(){this.options.forEach((e=>{this.multiple?e.selected=this.value.includes(e.value):e.selected=this.value===e.value}))}_handleClick(e){var t;if("selectAll"===e.detail.value){this.selectAllChecked=e.detail.selected;const i=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("slot#children")).assignedElements().filter((e=>e.selected&&e.disabled)).map((e=>e.value));e.detail.selected?(this.value=this.options.filter((e=>!e.disabled||e.disabled&&e.selected)).map((e=>e.value)),this.assistiveText="Selected all items."):(this.value=i.length?i:[],this.assistiveText="Deselected all items."),this._validate(!0,!1)}else this.updateValue(e.detail.value,e.detail.selected),this.assistiveText=e.detail.selected?`Selected ${e.detail.value}`:`Deselected ${e.detail.value}`;this._updateSelectedOptions(),this.multiple||(this.open=!1),this.emitValue()}_handleBlur(e){const t=e.detail.origEvent.relatedTarget;(!t||"kyn-dropdown-option"!==(null==t?void 0:t.localName)&&"kyn-enhanced-dropdown-option"!==(null==t?void 0:t.localName)&&"kyn-dropdown"!==t.localName)&&(this.open=!1)}_handleClickOut(e){e.composedPath().includes(this)||(this.open=!1)}connectedCallback(){super.connectedCallback(),this._onConnected(),document.addEventListener("click",this._onDocumentClick),this.addEventListener("on-click",this._onChildClick),this.addEventListener("on-remove-option",this._onChildRemove),this.addEventListener("on-blur",this._onChildBlur)}disconnectedCallback(){this._onDisconnected(),document.removeEventListener("click",this._onDocumentClick),this.removeEventListener("on-click",this._onChildClick),this.removeEventListener("on-remove-option",this._onChildRemove),this.removeEventListener("on-blur",this._onChildBlur),super.disconnectedCallback()}updateValue(e,t=!1){if(this.multiple){const i=""===this.value?[]:JSON.parse(JSON.stringify(this.value));if(t)i.push(e);else{const t=i.indexOf(e);i.splice(t,1)}this.value=i}else this.value=e;this._validate(!0,!1),this.multiple||(this.searchable?this.searchEl.focus():this.buttonEl.focus())}_validate(e,t){const i={customError:""!==this.invalidText,valueMissing:this.required&&(!this.value||this.multiple&&!this.value.length||!this.multiple&&""===this.value)},s=this.required&&!this.value.length?"Please fill out this field.":"",a=""!==this.invalidText?this.invalidText:s,l=this.buttonEl||this.listboxEl;l?this._internals.setValidity(i,a,l):this._internals.setValidity(i,a),e&&(this._internalValidationMsg=s),t&&this._internals.reportValidity()}emitValue(){const e=new CustomEvent("on-change",{detail:{value:this.value}});this.dispatchEvent(e)}_emitSearch(){const e=new CustomEvent("on-search",{detail:{searchText:this.searchText}});this.dispatchEvent(e)}willUpdate(e){e.has("textStrings")&&(this._textStrings=g(y,this.textStrings))}updated(e){super.updated(e),e.has("kind")&&(this.dispatchEvent(new CustomEvent("kind-changed",{detail:this.kind,bubbles:!0,composed:!0})),this.classList.toggle("ai-connected","ai"===this.kind));const t=this.shadowRoot;if(t){if(e.has("open")){const e=t.querySelector('slot[name="anchor"]'),i=null==e?void 0:e.assignedElements({flatten:!0}),s=null==i?void 0:i.find((e=>!e.querySelector(".clear-multiple-icon"))),a=null==s?void 0:s.querySelector('span[slot="icon"]');a&&(a.style.transition="transform 0.2s ease-in-out",a.style.transform=this.open?"rotate(180deg)":"rotate(0deg)")}if(this._onUpdated(e),e.has("value")){this._updateOptions();const e=t.querySelector("slot#children"),i=e?e.assignedElements().filter((e=>!e.hasAttribute("disabled"))):[],s=i.filter((e=>e.hasAttribute("selected")));this.selectAllChecked=s.length===i.length,this.selectAllIndeterminate=s.length>0&&s.length<i.length,this._updateTags(),this._updateSelectedText()}if(e.has("open")||e.has("openDirection")){if(this.open&&(this.options.forEach((e=>e.highlighted=!1)),!this.searchable&&this.listboxEl&&(this.listboxEl.focus({preventScroll:!0}),this.assistiveText="Selecting items. Use up and down arrow keys to navigate.")),"up"===this.openDirection)this._openUpwards=!0;else if("down"===this.openDirection)this._openUpwards=!1;else if(this.open){const e=this.buttonEl.getBoundingClientRect();this._openUpwards=e.top>.6*window.innerHeight}if(this.open&&!this.multiple){const e=this.options.find((e=>e.selected));null==e||e.scrollIntoView({block:"nearest"})}}e.has("multiple")&&this.options.forEach((e=>e.multiple=this.multiple)),e.has("searchText")&&this.searchEl&&(this.searchEl.value=this.searchText),e.has("allowAddOption")&&this.updateChildOptions()}}get hasSearch(){var e;return(null!==(e=this.searchText)&&void 0!==e?e:"").trim().length>0}_updateTags(){if(this.multiple){const e=Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option")),t=[];e&&(e.forEach((e=>{if(e.selected){let i=e.textContent;if("KYN-ENHANCED-DROPDOWN-OPTION"===e.tagName){const t=e.querySelector('[slot="title"]');i=t&&t.textContent.trim()?t.textContent.trim():e.displayText||e.value}else i=e.textContent.trim();t.push({value:e.value,text:i,disabled:e.disabled})}})),this._tags=t)}}_updateOptions(){Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option")).forEach((e=>{if(e.multiple=this.multiple,this.multiple){const t=this.value.includes(e.value);e.selected=t}else e.selected=this.value===e.value}))}_handleInputNewOption(e){const t=e.target;this.newOptionValue=t.value}_handleRemoveOption(){this.assistiveText="MY option removed ",setTimeout((()=>{this.open=!1,this.buttonEl.focus()}),100)}_updateSelectedText(){const e=Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option"));if(!this.multiple){if(e.length&&""!==this.value){const t=e.find((e=>e.value===this.value));if(t)if("KYN-ENHANCED-DROPDOWN-OPTION"===t.tagName){const e=t.querySelector('[slot="title"]');e&&e.textContent.trim()?this.text=e.textContent.trim():this.text=t.displayText||this.value}else this.text=t.textContent.trim();else this.text="",console.warn(`No dropdown option found with value: ${this.value}`)}this.searchable&&this.text&&(this.searchText=this.text===this.placeholder?"":this.text,this.searchEl.value=this.searchText)}}},r=new WeakMap,$=new WeakMap,O=new WeakMap,T=new WeakMap,z=new WeakMap,C=new WeakMap,A=new WeakMap,M=new WeakMap,I=new WeakMap,W=new WeakMap,D=new WeakMap,N=new WeakMap,q=new WeakMap,V=new WeakMap,L=new WeakMap,j=new WeakMap,B=new WeakMap,K=new WeakMap,P=new WeakMap,R=new WeakMap,U=new WeakMap,Y=new WeakMap,H=new WeakMap,F=new WeakMap,G=new WeakMap,J=new WeakMap,Q=new WeakMap,X=new WeakMap,Z=new WeakMap,ee=new WeakMap,te=new WeakMap,ie=new WeakMap,se=new WeakMap,ae=new WeakMap,le=new WeakMap,e(oe,"Dropdown"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=Ue[Symbol.metadata])&&void 0!==e?e:null):void 0;re=[p({type:String})],de=[p({type:String})],he=[p({type:String,attribute:"kind"})],ce=[p({type:Boolean})],pe=[p({type:String})],ue=[p({type:String})],me=[p({type:Boolean,reflect:!0})],ve=[p({type:Boolean})],ge=[p({type:Boolean})],fe=[p({type:Boolean})],be=[p({type:Boolean})],ke=[p({type:Boolean})],xe=[p({type:Boolean})],ye=[p({type:Boolean})],we=[p({type:Boolean})],Ee=[p({type:Boolean})],Se=[p({type:String})],_e=[p({type:String})],$e=[p({type:String})],Oe=[p({type:Boolean})],Te=[p({type:Boolean})],ze=[p({type:Object})],Ce=[p({type:Boolean})],Ae=[d()],Me=[d()],Ie=[d()],We=[p({type:String})],De=[d()],Ne=[u(".search")],qe=[u(".select")],Ve=[u(".options")],Le=[u(".clear-multiple")],je=[u(".add-option-input")],Be=[d()],Ke=[d()],t(oe,null,re,{kind:"accessor",name:"label",static:!1,private:!1,access:{has:e=>"label"in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:i},Ye,He),t(oe,null,de,{kind:"accessor",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:i},Fe,Ge),t(oe,null,he,{kind:"accessor",name:"kind",static:!1,private:!1,access:{has:e=>"kind"in e,get:e=>e.kind,set:(e,t)=>{e.kind=t}},metadata:i},Je,Qe),t(oe,null,ce,{kind:"accessor",name:"inline",static:!1,private:!1,access:{has:e=>"inline"in e,get:e=>e.inline,set:(e,t)=>{e.inline=t}},metadata:i},Xe,Ze),t(oe,null,pe,{kind:"accessor",name:"caption",static:!1,private:!1,access:{has:e=>"caption"in e,get:e=>e.caption,set:(e,t)=>{e.caption=t}},metadata:i},et,tt),t(oe,null,ue,{kind:"accessor",name:"placeholder",static:!1,private:!1,access:{has:e=>"placeholder"in e,get:e=>e.placeholder,set:(e,t)=>{e.placeholder=t}},metadata:i},it,st),t(oe,null,me,{kind:"accessor",name:"open",static:!1,private:!1,access:{has:e=>"open"in e,get:e=>e.open,set:(e,t)=>{e.open=t}},metadata:i},at,lt),t(oe,null,ve,{kind:"accessor",name:"searchable",static:!1,private:!1,access:{has:e=>"searchable"in e,get:e=>e.searchable,set:(e,t)=>{e.searchable=t}},metadata:i},nt,ot),t(oe,null,ge,{kind:"accessor",name:"enhanced",static:!1,private:!1,access:{has:e=>"enhanced"in e,get:e=>e.enhanced,set:(e,t)=>{e.enhanced=t}},metadata:i},rt,dt),t(oe,null,fe,{kind:"accessor",name:"filterSearch",static:!1,private:!1,access:{has:e=>"filterSearch"in e,get:e=>e.filterSearch,set:(e,t)=>{e.filterSearch=t}},metadata:i},ht,ct),t(oe,null,be,{kind:"accessor",name:"multiple",static:!1,private:!1,access:{has:e=>"multiple"in e,get:e=>e.multiple,set:(e,t)=>{e.multiple=t}},metadata:i},pt,ut),t(oe,null,ke,{kind:"accessor",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,t)=>{e.required=t}},metadata:i},mt,vt),t(oe,null,xe,{kind:"accessor",name:"hideLabel",static:!1,private:!1,access:{has:e=>"hideLabel"in e,get:e=>e.hideLabel,set:(e,t)=>{e.hideLabel=t}},metadata:i},gt,ft),t(oe,null,ye,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:i},bt,kt),t(oe,null,we,{kind:"accessor",name:"hideTags",static:!1,private:!1,access:{has:e=>"hideTags"in e,get:e=>e.hideTags,set:(e,t)=>{e.hideTags=t}},metadata:i},xt,yt),t(oe,null,Ee,{kind:"accessor",name:"selectAll",static:!1,private:!1,access:{has:e=>"selectAll"in e,get:e=>e.selectAll,set:(e,t)=>{e.selectAll=t}},metadata:i},wt,Et),t(oe,null,Se,{kind:"accessor",name:"selectAllText",static:!1,private:!1,access:{has:e=>"selectAllText"in e,get:e=>e.selectAllText,set:(e,t)=>{e.selectAllText=t}},metadata:i},St,_t),t(oe,null,_e,{kind:"accessor",name:"menuMinWidth",static:!1,private:!1,access:{has:e=>"menuMinWidth"in e,get:e=>e.menuMinWidth,set:(e,t)=>{e.menuMinWidth=t}},metadata:i},$t,Ot),t(oe,null,$e,{kind:"accessor",name:"openDirection",static:!1,private:!1,access:{has:e=>"openDirection"in e,get:e=>e.openDirection,set:(e,t)=>{e.openDirection=t}},metadata:i},Tt,zt),t(oe,null,Oe,{kind:"accessor",name:"selectAllChecked",static:!1,private:!1,access:{has:e=>"selectAllChecked"in e,get:e=>e.selectAllChecked,set:(e,t)=>{e.selectAllChecked=t}},metadata:i},Ct,At),t(oe,null,Te,{kind:"accessor",name:"selectAllIndeterminate",static:!1,private:!1,access:{has:e=>"selectAllIndeterminate"in e,get:e=>e.selectAllIndeterminate,set:(e,t)=>{e.selectAllIndeterminate=t}},metadata:i},Mt,It),t(oe,null,ze,{kind:"accessor",name:"textStrings",static:!1,private:!1,access:{has:e=>"textStrings"in e,get:e=>e.textStrings,set:(e,t)=>{e.textStrings=t}},metadata:i},Wt,Dt),t(oe,null,Ce,{kind:"accessor",name:"allowAddOption",static:!1,private:!1,access:{has:e=>"allowAddOption"in e,get:e=>e.allowAddOption,set:(e,t)=>{e.allowAddOption=t}},metadata:i},Nt,qt),t(oe,null,Ae,{kind:"accessor",name:"_textStrings",static:!1,private:!1,access:{has:e=>"_textStrings"in e,get:e=>e._textStrings,set:(e,t)=>{e._textStrings=t}},metadata:i},Vt,Lt),t(oe,null,Me,{kind:"accessor",name:"newOptionValue",static:!1,private:!1,access:{has:e=>"newOptionValue"in e,get:e=>e.newOptionValue,set:(e,t)=>{e.newOptionValue=t}},metadata:i},jt,Bt),t(oe,null,Ie,{kind:"accessor",name:"text",static:!1,private:!1,access:{has:e=>"text"in e,get:e=>e.text,set:(e,t)=>{e.text=t}},metadata:i},Kt,Pt),t(oe,null,We,{kind:"accessor",name:"searchText",static:!1,private:!1,access:{has:e=>"searchText"in e,get:e=>e.searchText,set:(e,t)=>{e.searchText=t}},metadata:i},Rt,Ut),t(oe,null,De,{kind:"accessor",name:"assistiveText",static:!1,private:!1,access:{has:e=>"assistiveText"in e,get:e=>e.assistiveText,set:(e,t)=>{e.assistiveText=t}},metadata:i},Yt,Ht),t(oe,null,Ne,{kind:"accessor",name:"searchEl",static:!1,private:!1,access:{has:e=>"searchEl"in e,get:e=>e.searchEl,set:(e,t)=>{e.searchEl=t}},metadata:i},Ft,Gt),t(oe,null,qe,{kind:"accessor",name:"buttonEl",static:!1,private:!1,access:{has:e=>"buttonEl"in e,get:e=>e.buttonEl,set:(e,t)=>{e.buttonEl=t}},metadata:i},Jt,Qt),t(oe,null,Ve,{kind:"accessor",name:"listboxEl",static:!1,private:!1,access:{has:e=>"listboxEl"in e,get:e=>e.listboxEl,set:(e,t)=>{e.listboxEl=t}},metadata:i},Xt,Zt),t(oe,null,Le,{kind:"accessor",name:"clearMultipleEl",static:!1,private:!1,access:{has:e=>"clearMultipleEl"in e,get:e=>e.clearMultipleEl,set:(e,t)=>{e.clearMultipleEl=t}},metadata:i},ei,ti),t(oe,null,je,{kind:"accessor",name:"addOptionInputEl",static:!1,private:!1,access:{has:e=>"addOptionInputEl"in e,get:e=>e.addOptionInputEl,set:(e,t)=>{e.addOptionInputEl=t}},metadata:i},ii,si),t(oe,null,Be,{kind:"accessor",name:"_openUpwards",static:!1,private:!1,access:{has:e=>"_openUpwards"in e,get:e=>e._openUpwards,set:(e,t)=>{e._openUpwards=t}},metadata:i},ai,li),t(oe,null,Ke,{kind:"accessor",name:"_tags",static:!1,private:!1,access:{has:e=>"_tags"in e,get:e=>e._tags,set:(e,t)=>{e._tags=t}},metadata:i},ni,oi),t(null,ne={value:oe},Pe,{kind:"class",name:oe.name,metadata:i},null,Re),oe=ne.value,i&&Object.defineProperty(oe,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),oe.styles=c(x),i(oe,Re),oe})();export{$ as Dropdown};
997
+ `}firstUpdated(){""===this.placeholder&&(this.searchable?this.placeholder="Search":this.multiple?this.placeholder="Select items":this.placeholder="Select an option")}handleSlotChange(){this.updateChildOptions(),this._updateOptions(),this._updateSelectedText()}updateChildOptions(){var e;(null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("#children")).assignedElements({flatten:!0}).forEach((e=>{"KYN-DROPDOWN-OPTION"!==e.tagName&&"KYN-ENHANCED-DROPDOWN-OPTION"!==e.tagName||(e.allowAddOption=this.allowAddOption)}))}handleClick(){this.disabled||(this.open=!this.open,this.searchable?this.searchEl.focus():this.buttonEl.focus())}handleButtonKeydown(e){this.handleKeyboard(e,e.keyCode,"button")}handleListKeydown(e){9!==e.keyCode&&e.preventDefault(),this.handleKeyboard(e,e.keyCode,"list")}_handleListFocus(){var e;const t=[...Array.from((null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelectorAll(".select-all"))||[]),...this.options.filter((e=>"none"!==e.style.display))],i=t.find((e=>!e.disabled));i&&(t.forEach((e=>e.highlighted=!1)),(!("tabIndex"in i)||i.tabIndex<0)&&(i.tabIndex=0),i.focus(),i.scrollIntoView({block:"nearest"}),this.assistiveText=i.text||"Option")}handleListBlur(e){if(this.multiple)return;this.options.forEach((e=>e.highlighted=!1));const t=e.relatedTarget;t&&(t.closest("kyn-dropdown-option")||t.closest("kyn-enhanced-dropdown-option")||t.classList.contains("search")||t.closest(".add-option"))||(this.open=!1,this.assistiveText="Dropdown menu options.")}handleKeyboard(e,t,i){var s;const a=[0,32],l=[...Array.from((null===(s=this.shadowRoot)||void 0===s?void 0:s.querySelectorAll(".select-all"))||[]),...this.options.filter((e=>"none"!==e.style.display))],n=l.find((e=>e.highlighted)),o=l.find((e=>e.selected));let r=n?l.indexOf(n):o?l.indexOf(o):0;a.includes(t)&&e.preventDefault();const d=this.open;if("button"===i||"addOption"===i){let s=a.includes(t)||13===t||40==t||38==t;if(e.target===this.clearMultipleEl&&13===t&&(s=!1,l[r].highlighted=!1,l[r].selected=!l[r].selected,r=0,13!==t))return;s&&(this.open=!0,this.allowAddOption&&"button"===i&&13===t?setTimeout((()=>{var e;null===(e=this.addOptionInputEl)||void 0===e||e.focus()}),100):this.multiple||""===this.value||l[r].scrollIntoView({block:"nearest"}))}switch(t){case 0:case 32:case 13:return l[r].highlighted=!0,void(d&&(this.multiple?(l[r].selected=!l[r].selected,this._handleClick({detail:{value:l[r].value,selected:l[r].selected}})):(l.forEach((e=>e.selected=!1)),l[r].selected=!0,this.updateValue(l[r].value,!0),this.emitValue(),this.open=!1,this.assistiveText=`Selected ${l[r].value}`)));case 40:{let e=n||o?r===l.length-1?0:r+1:0;return l[e].disabled&&(e=e===l.length-1?0:e+1),l[e].focus(),l[r].highlighted=!1,l[e].highlighted=!0,l[e].scrollIntoView({block:"nearest"}),void(this.assistiveText=l[e].text)}case 38:{let e=0===r?l.length-1:r-1;return l[e].disabled&&(e=0===e?l.length-1:e-1),l[e].focus(),l[r].highlighted=!1,l[e].highlighted=!0,l[e].scrollIntoView({block:"nearest"}),void(this.assistiveText=l[e].text)}case 27:return this.open=!1,this.searchable?this.searchEl.focus():this.buttonEl.focus(),void(this.assistiveText="Dropdown menu options.");default:return}}handleClearMultiple(e){var t;if(e.stopPropagation(),this.multiple){const e=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("slot#children")).assignedElements().filter((e=>e.selected&&e.disabled)).map((e=>e.value));this.value=e.length?e:[]}else this.value="";this._validate(!0,!1),this._updateSelectedOptions(),this.emitValue();const i=new CustomEvent("on-clear-all",{detail:{value:this.value}});this.dispatchEvent(i)}handleTagClear(e){this.updateValue(e.value,!1),this._updateSelectedOptions(),this.emitValue()}handleClear(e){e.stopPropagation(),this.text="",this.searchText="",this.searchEl.value="",this._emitSearch(),this.filterSearch&&this.options.map((e=>{e.style.display="block"})),this.multiple||(this.value="",this._validate(!0,!1),this._updateSelectedOptions(),this.emitValue())}handleSearchClick(e){var t;e.stopPropagation(),this.open=!0,""===(null!==(t=this.searchText)&&void 0!==t?t:"").trim()&&(this.searchText="")}handleSearchKeydown(e){e.stopPropagation();const t=this.options.find((e=>e.highlighted)),i=this.options.findIndex((e=>e.highlighted));this.searchTextEntered=!1,13===e.keyCode&&(this.searchTextEntered=!0,t?(this.prevSearchKeydownIndex!==i&&(this.multiple?t.selected=!t.selected:(this.options.forEach((e=>e.selected=!1)),t.selected=!0,this.open=!1),this.updateValue(t.value,t.selected)),t.selected?(this.assistiveText=`Selected ${t.innerHTML}`,this.prevSearchKeydownIndex=i):this.assistiveText=`Deselected ${t.innerHTML}`):this.assistiveText="No item matched."),27===e.keyCode&&(this.open=!1,this.buttonEl.focus())}handleSearchInput(e){const t=e.target.value;if(this.searchText=t,this.open=!0,this._emitSearch(),this.filterSearch)this.options.map((e=>{let i=e.text;if("KYN-ENHANCED-DROPDOWN-OPTION"===e.tagName){const t=e.querySelector('[slot="title"]');i=t&&t.textContent.trim()?t.textContent.trim():e.displayText||e.value}i.toLowerCase().includes(t.toLowerCase())?e.style.display="block":e.style.display="none"}));else{const e=this.options.filter((e=>{let i=e.text;if("KYN-ENHANCED-DROPDOWN-OPTION"===e.tagName){const t=e.querySelector('[slot="title"]');i=t&&t.textContent.trim()?t.textContent.trim():e.displayText||e.value}return i.toLowerCase().startsWith(t.toLowerCase())}));this.options.forEach((e=>e.highlighted=!1)),""!==t&&e.length&&(e[0].highlighted=!0,e[0].scrollIntoView({block:"nearest"}),this.searchTextEntered&&(this.assistiveText="Option Matched"))}}_updateSelectedOptions(){this.options.forEach((e=>{this.multiple?e.selected=this.value.includes(e.value):e.selected=this.value===e.value}))}_handleClick(e){var t;if("selectAll"===e.detail.value){this.selectAllChecked=e.detail.selected;const i=(null===(t=this.shadowRoot)||void 0===t?void 0:t.querySelector("slot#children")).assignedElements().filter((e=>e.selected&&e.disabled)).map((e=>e.value));e.detail.selected?(this.value=this.options.filter((e=>!e.disabled||e.disabled&&e.selected)).map((e=>e.value)),this.assistiveText="Selected all items."):(this.value=i.length?i:[],this.assistiveText="Deselected all items."),this._validate(!0,!1)}else this.updateValue(e.detail.value,e.detail.selected),this.assistiveText=e.detail.selected?`Selected ${e.detail.value}`:`Deselected ${e.detail.value}`;this._updateSelectedOptions(),this.multiple||(this.open=!1),this.emitValue()}_handleBlur(e){const t=e.detail.origEvent.relatedTarget;(!t||"kyn-dropdown-option"!==(null==t?void 0:t.localName)&&"kyn-enhanced-dropdown-option"!==(null==t?void 0:t.localName)&&"kyn-dropdown"!==t.localName)&&(this.open=!1)}_handleClickOut(e){e.composedPath().includes(this)||(this.open=!1)}connectedCallback(){super.connectedCallback(),this._onConnected(),document.addEventListener("click",this._onDocumentClick),this.addEventListener("on-click",this._onChildClick),this.addEventListener("on-remove-option",this._onChildRemove),this.addEventListener("on-blur",this._onChildBlur)}disconnectedCallback(){this._onDisconnected(),document.removeEventListener("click",this._onDocumentClick),this.removeEventListener("on-click",this._onChildClick),this.removeEventListener("on-remove-option",this._onChildRemove),this.removeEventListener("on-blur",this._onChildBlur),super.disconnectedCallback()}updateValue(e,t=!1){if(this.multiple){const i=""===this.value?[]:JSON.parse(JSON.stringify(this.value));if(t)i.push(e);else{const t=i.indexOf(e);i.splice(t,1)}this.value=i}else this.value=e;this._validate(!0,!1),this.multiple||(this.searchable?this.searchEl.focus():this.buttonEl.focus())}_validate(e,t){const i={customError:""!==this.invalidText,valueMissing:this.required&&(!this.value||this.multiple&&!this.value.length||!this.multiple&&""===this.value)},s=this.required&&!this.value.length?"Please fill out this field.":"",a=""!==this.invalidText?this.invalidText:s,l=this.buttonEl||this.listboxEl;l?this._internals.setValidity(i,a,l):this._internals.setValidity(i,a),e&&(this._internalValidationMsg=s),t&&this._internals.reportValidity()}emitValue(){const e=new CustomEvent("on-change",{detail:{value:this.value}});this.dispatchEvent(e)}_emitSearch(){const e=new CustomEvent("on-search",{detail:{searchText:this.searchText}});this.dispatchEvent(e)}willUpdate(e){e.has("textStrings")&&(this._textStrings=g(y,this.textStrings))}updated(e){super.updated(e),e.has("kind")&&(this.dispatchEvent(new CustomEvent("kind-changed",{detail:this.kind,bubbles:!0,composed:!0})),this.classList.toggle("ai-connected","ai"===this.kind));const t=this.shadowRoot;if(t){if(e.has("open")){const e=t.querySelector('slot[name="anchor"]'),i=null==e?void 0:e.assignedElements({flatten:!0}),s=null==i?void 0:i.find((e=>!e.querySelector(".clear-multiple-icon"))),a=null==s?void 0:s.querySelector('span[slot="icon"]');a&&(a.style.transition="transform 0.2s ease-in-out",a.style.transform=this.open?"rotate(180deg)":"rotate(0deg)")}if(this._onUpdated(e),e.has("value")){this._updateOptions();const e=t.querySelector("slot#children").assignedElements().filter((e=>!e.disabled)),i=e.filter((e=>e.selected));this.selectAllChecked=i.length===e.length,this.selectAllIndeterminate=i.length>0&&i.length<e.length,this._updateTags(),this._updateSelectedText()}if(e.has("open")||e.has("openDirection")){if(this.open&&(this.options.forEach((e=>e.highlighted=!1)),!this.searchable&&this.listboxEl&&(this.listboxEl.focus({preventScroll:!0}),this.assistiveText="Selecting items. Use up and down arrow keys to navigate.")),"up"===this.openDirection)this._openUpwards=!0;else if("down"===this.openDirection)this._openUpwards=!1;else if(this.open){const e=this.buttonEl.getBoundingClientRect();this._openUpwards=e.top>.6*window.innerHeight}if(this.open&&!this.multiple){const e=this.options.find((e=>e.selected));null==e||e.scrollIntoView({block:"nearest"})}}e.has("multiple")&&this.options.forEach((e=>e.multiple=this.multiple)),e.has("searchText")&&this.searchEl&&(this.searchEl.value=this.searchText),e.has("allowAddOption")&&this.updateChildOptions()}}get hasSearch(){var e;return(null!==(e=this.searchText)&&void 0!==e?e:"").trim().length>0}_updateTags(){if(this.multiple){const e=Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option")),t=[];e&&(e.forEach((e=>{if(e.selected){let i=e.textContent;if("KYN-ENHANCED-DROPDOWN-OPTION"===e.tagName){const t=e.querySelector('[slot="title"]');i=t&&t.textContent.trim()?t.textContent.trim():e.displayText||e.value}else i=e.textContent.trim();t.push({value:e.value,text:i,disabled:e.disabled})}})),this._tags=t)}}_updateOptions(){Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option")).forEach((e=>{if(e.multiple=this.multiple,this.multiple){const t=this.value.includes(e.value);e.selected=t}else e.selected=this.value===e.value}))}_handleInputNewOption(e){const t=e.target;this.newOptionValue=t.value}_handleRemoveOption(){this.assistiveText="MY option removed ",setTimeout((()=>{this.open=!1,this.buttonEl.focus()}),100)}_updateSelectedText(){const e=Array.from(this.querySelectorAll("kyn-dropdown-option, kyn-enhanced-dropdown-option"));if(!this.multiple){if(e.length&&""!==this.value){const t=e.find((e=>e.value===this.value));if(t)if("KYN-ENHANCED-DROPDOWN-OPTION"===t.tagName){const e=t.querySelector('[slot="title"]');e&&e.textContent.trim()?this.text=e.textContent.trim():this.text=t.displayText||this.value}else this.text=t.textContent.trim();else this.text="",console.warn(`No dropdown option found with value: ${this.value}`)}this.searchable&&this.text&&(this.searchText=this.text===this.placeholder?"":this.text,this.searchEl.value=this.searchText)}}},r=new WeakMap,$=new WeakMap,O=new WeakMap,T=new WeakMap,z=new WeakMap,C=new WeakMap,A=new WeakMap,M=new WeakMap,I=new WeakMap,W=new WeakMap,D=new WeakMap,N=new WeakMap,q=new WeakMap,V=new WeakMap,L=new WeakMap,j=new WeakMap,B=new WeakMap,K=new WeakMap,P=new WeakMap,R=new WeakMap,U=new WeakMap,Y=new WeakMap,H=new WeakMap,F=new WeakMap,G=new WeakMap,J=new WeakMap,Q=new WeakMap,X=new WeakMap,Z=new WeakMap,ee=new WeakMap,te=new WeakMap,ie=new WeakMap,se=new WeakMap,ae=new WeakMap,le=new WeakMap,e(oe,"Dropdown"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=Ue[Symbol.metadata])&&void 0!==e?e:null):void 0;re=[p({type:String})],de=[p({type:String})],he=[p({type:String,attribute:"kind"})],ce=[p({type:Boolean})],pe=[p({type:String})],ue=[p({type:String})],me=[p({type:Boolean,reflect:!0})],ve=[p({type:Boolean})],ge=[p({type:Boolean})],fe=[p({type:Boolean})],ke=[p({type:Boolean})],be=[p({type:Boolean})],xe=[p({type:Boolean})],ye=[p({type:Boolean})],we=[p({type:Boolean})],Ee=[p({type:Boolean})],Se=[p({type:String})],_e=[p({type:String})],$e=[p({type:String})],Oe=[p({type:Boolean})],Te=[p({type:Boolean})],ze=[p({type:Object})],Ce=[p({type:Boolean})],Ae=[d()],Me=[d()],Ie=[d()],We=[p({type:String})],De=[d()],Ne=[u(".search")],qe=[u(".select")],Ve=[u(".options")],Le=[u(".clear-multiple")],je=[u(".add-option-input")],Be=[d()],Ke=[d()],t(oe,null,re,{kind:"accessor",name:"label",static:!1,private:!1,access:{has:e=>"label"in e,get:e=>e.label,set:(e,t)=>{e.label=t}},metadata:i},Ye,He),t(oe,null,de,{kind:"accessor",name:"size",static:!1,private:!1,access:{has:e=>"size"in e,get:e=>e.size,set:(e,t)=>{e.size=t}},metadata:i},Fe,Ge),t(oe,null,he,{kind:"accessor",name:"kind",static:!1,private:!1,access:{has:e=>"kind"in e,get:e=>e.kind,set:(e,t)=>{e.kind=t}},metadata:i},Je,Qe),t(oe,null,ce,{kind:"accessor",name:"inline",static:!1,private:!1,access:{has:e=>"inline"in e,get:e=>e.inline,set:(e,t)=>{e.inline=t}},metadata:i},Xe,Ze),t(oe,null,pe,{kind:"accessor",name:"caption",static:!1,private:!1,access:{has:e=>"caption"in e,get:e=>e.caption,set:(e,t)=>{e.caption=t}},metadata:i},et,tt),t(oe,null,ue,{kind:"accessor",name:"placeholder",static:!1,private:!1,access:{has:e=>"placeholder"in e,get:e=>e.placeholder,set:(e,t)=>{e.placeholder=t}},metadata:i},it,st),t(oe,null,me,{kind:"accessor",name:"open",static:!1,private:!1,access:{has:e=>"open"in e,get:e=>e.open,set:(e,t)=>{e.open=t}},metadata:i},at,lt),t(oe,null,ve,{kind:"accessor",name:"searchable",static:!1,private:!1,access:{has:e=>"searchable"in e,get:e=>e.searchable,set:(e,t)=>{e.searchable=t}},metadata:i},nt,ot),t(oe,null,ge,{kind:"accessor",name:"enhanced",static:!1,private:!1,access:{has:e=>"enhanced"in e,get:e=>e.enhanced,set:(e,t)=>{e.enhanced=t}},metadata:i},rt,dt),t(oe,null,fe,{kind:"accessor",name:"filterSearch",static:!1,private:!1,access:{has:e=>"filterSearch"in e,get:e=>e.filterSearch,set:(e,t)=>{e.filterSearch=t}},metadata:i},ht,ct),t(oe,null,ke,{kind:"accessor",name:"multiple",static:!1,private:!1,access:{has:e=>"multiple"in e,get:e=>e.multiple,set:(e,t)=>{e.multiple=t}},metadata:i},pt,ut),t(oe,null,be,{kind:"accessor",name:"required",static:!1,private:!1,access:{has:e=>"required"in e,get:e=>e.required,set:(e,t)=>{e.required=t}},metadata:i},mt,vt),t(oe,null,xe,{kind:"accessor",name:"hideLabel",static:!1,private:!1,access:{has:e=>"hideLabel"in e,get:e=>e.hideLabel,set:(e,t)=>{e.hideLabel=t}},metadata:i},gt,ft),t(oe,null,ye,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:e=>"disabled"in e,get:e=>e.disabled,set:(e,t)=>{e.disabled=t}},metadata:i},kt,bt),t(oe,null,we,{kind:"accessor",name:"hideTags",static:!1,private:!1,access:{has:e=>"hideTags"in e,get:e=>e.hideTags,set:(e,t)=>{e.hideTags=t}},metadata:i},xt,yt),t(oe,null,Ee,{kind:"accessor",name:"selectAll",static:!1,private:!1,access:{has:e=>"selectAll"in e,get:e=>e.selectAll,set:(e,t)=>{e.selectAll=t}},metadata:i},wt,Et),t(oe,null,Se,{kind:"accessor",name:"selectAllText",static:!1,private:!1,access:{has:e=>"selectAllText"in e,get:e=>e.selectAllText,set:(e,t)=>{e.selectAllText=t}},metadata:i},St,_t),t(oe,null,_e,{kind:"accessor",name:"menuMinWidth",static:!1,private:!1,access:{has:e=>"menuMinWidth"in e,get:e=>e.menuMinWidth,set:(e,t)=>{e.menuMinWidth=t}},metadata:i},$t,Ot),t(oe,null,$e,{kind:"accessor",name:"openDirection",static:!1,private:!1,access:{has:e=>"openDirection"in e,get:e=>e.openDirection,set:(e,t)=>{e.openDirection=t}},metadata:i},Tt,zt),t(oe,null,Oe,{kind:"accessor",name:"selectAllChecked",static:!1,private:!1,access:{has:e=>"selectAllChecked"in e,get:e=>e.selectAllChecked,set:(e,t)=>{e.selectAllChecked=t}},metadata:i},Ct,At),t(oe,null,Te,{kind:"accessor",name:"selectAllIndeterminate",static:!1,private:!1,access:{has:e=>"selectAllIndeterminate"in e,get:e=>e.selectAllIndeterminate,set:(e,t)=>{e.selectAllIndeterminate=t}},metadata:i},Mt,It),t(oe,null,ze,{kind:"accessor",name:"textStrings",static:!1,private:!1,access:{has:e=>"textStrings"in e,get:e=>e.textStrings,set:(e,t)=>{e.textStrings=t}},metadata:i},Wt,Dt),t(oe,null,Ce,{kind:"accessor",name:"allowAddOption",static:!1,private:!1,access:{has:e=>"allowAddOption"in e,get:e=>e.allowAddOption,set:(e,t)=>{e.allowAddOption=t}},metadata:i},Nt,qt),t(oe,null,Ae,{kind:"accessor",name:"_textStrings",static:!1,private:!1,access:{has:e=>"_textStrings"in e,get:e=>e._textStrings,set:(e,t)=>{e._textStrings=t}},metadata:i},Vt,Lt),t(oe,null,Me,{kind:"accessor",name:"newOptionValue",static:!1,private:!1,access:{has:e=>"newOptionValue"in e,get:e=>e.newOptionValue,set:(e,t)=>{e.newOptionValue=t}},metadata:i},jt,Bt),t(oe,null,Ie,{kind:"accessor",name:"text",static:!1,private:!1,access:{has:e=>"text"in e,get:e=>e.text,set:(e,t)=>{e.text=t}},metadata:i},Kt,Pt),t(oe,null,We,{kind:"accessor",name:"searchText",static:!1,private:!1,access:{has:e=>"searchText"in e,get:e=>e.searchText,set:(e,t)=>{e.searchText=t}},metadata:i},Rt,Ut),t(oe,null,De,{kind:"accessor",name:"assistiveText",static:!1,private:!1,access:{has:e=>"assistiveText"in e,get:e=>e.assistiveText,set:(e,t)=>{e.assistiveText=t}},metadata:i},Yt,Ht),t(oe,null,Ne,{kind:"accessor",name:"searchEl",static:!1,private:!1,access:{has:e=>"searchEl"in e,get:e=>e.searchEl,set:(e,t)=>{e.searchEl=t}},metadata:i},Ft,Gt),t(oe,null,qe,{kind:"accessor",name:"buttonEl",static:!1,private:!1,access:{has:e=>"buttonEl"in e,get:e=>e.buttonEl,set:(e,t)=>{e.buttonEl=t}},metadata:i},Jt,Qt),t(oe,null,Ve,{kind:"accessor",name:"listboxEl",static:!1,private:!1,access:{has:e=>"listboxEl"in e,get:e=>e.listboxEl,set:(e,t)=>{e.listboxEl=t}},metadata:i},Xt,Zt),t(oe,null,Le,{kind:"accessor",name:"clearMultipleEl",static:!1,private:!1,access:{has:e=>"clearMultipleEl"in e,get:e=>e.clearMultipleEl,set:(e,t)=>{e.clearMultipleEl=t}},metadata:i},ei,ti),t(oe,null,je,{kind:"accessor",name:"addOptionInputEl",static:!1,private:!1,access:{has:e=>"addOptionInputEl"in e,get:e=>e.addOptionInputEl,set:(e,t)=>{e.addOptionInputEl=t}},metadata:i},ii,si),t(oe,null,Be,{kind:"accessor",name:"_openUpwards",static:!1,private:!1,access:{has:e=>"_openUpwards"in e,get:e=>e._openUpwards,set:(e,t)=>{e._openUpwards=t}},metadata:i},ai,li),t(oe,null,Ke,{kind:"accessor",name:"_tags",static:!1,private:!1,access:{has:e=>"_tags"in e,get:e=>e._tags,set:(e,t)=>{e._tags=t}},metadata:i},ni,oi),t(null,ne={value:oe},Pe,{kind:"class",name:oe.name,metadata:i},null,Re),oe=ne.value,i&&Object.defineProperty(oe,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),oe.styles=c(x),i(oe,Re),oe})();export{$ as Dropdown};
998
998
  //# sourceMappingURL=dropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.js","sources":["../../../../src/components/reusable/dropdown/dropdown.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, PropertyValues, html, unsafeCSS } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport DropdownScss from './dropdown.scss?inline';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport { deepmerge } from 'deepmerge-ts';\n\nimport './dropdownOption';\nimport './enhancedDropdownOption';\nimport '../tag';\nimport '../button';\n\nimport { DropdownOption } from './dropdownOption';\nimport { EnhancedDropdownOption } from './enhancedDropdownOption';\n\nimport downIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-down.svg';\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/error-filled.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\nconst _defaultTextStrings = {\n title: 'Dropdown',\n selectedOptions: 'List of selected options',\n requiredText: 'Required',\n errorText: 'Error',\n clearAll: 'Clear all',\n clear: 'Clear',\n addItem: 'Add item...',\n add: 'Add',\n};\n\nconst KEY = {\n Enter: 'Enter',\n Escape: 'Escape',\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n} as const;\n\n/**\n * Dropdown, single select.\n * @fires on-change - Captures the dropdown change event and emits the selected value and original event details. `detail:{ value: string/array }`\n * @fires on-search - Capture the search input event and emits the search text.`detail:{ searchText: string }`\n * @fires on-clear-all - Captures the the multi-select clear all button click event and emits the value. `detail:{ value: array }`\n * @fires on-add-option - Captures the add button click and emits the newly added option. `detail:{ value: string }`\n * @slot unnamed - Slot for dropdown options.\n * @slot tooltip - Slot for tooltip.\n * @slot anchor - Slot for custom dropdown anchor element. If not provided, defaults to standard input-style anchor.\n * @attr {string/array} [value=''/[]] - The selected value(s) of the input. For single select, it is a string. For multi-select, it is an array of strings.\n * @attr {string} [name=''] - The name of the input, used for form submission.\n * @attr {string} [invalidText=''] - The custom validation message when the input is invalid.\n */\n@customElement('kyn-dropdown')\nexport class Dropdown extends FormMixin(LitElement) {\n static override styles = unsafeCSS(DropdownScss);\n\n /** Label text. */\n @property({ type: String })\n accessor label = '';\n\n /** Dropdown size/height. \"sm\", \"md\", or \"lg\". */\n @property({ type: String })\n accessor size = 'md';\n\n /** Dropdown kind. */\n @property({ type: String, attribute: 'kind' })\n accessor kind: 'ai' | 'default' = 'default';\n\n /** Dropdown inline style type. */\n @property({ type: Boolean })\n accessor inline = false;\n\n /** Optional text beneath the input. */\n @property({ type: String })\n accessor caption = '';\n\n /** Dropdown placeholder. */\n @property({ type: String })\n accessor placeholder = '';\n\n /** Listbox/drawer open state. */\n @property({ type: Boolean, reflect: true })\n accessor open = false;\n\n /** Makes the dropdown searchable. */\n @property({ type: Boolean })\n accessor searchable = false;\n\n /** Makes the dropdown enhanced. */\n @property({ type: Boolean })\n accessor enhanced = false;\n\n /** Searchable variant filters results. */\n @property({ type: Boolean })\n accessor filterSearch = false;\n\n /** Enabled multi-select functionality. */\n @property({ type: Boolean })\n accessor multiple = false;\n\n /** Makes the dropdown required. */\n @property({ type: Boolean })\n accessor required = false;\n\n /** Visually hide the label. */\n @property({ type: Boolean })\n accessor hideLabel = false;\n\n /** Dropdown disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Hide the tags below multi-select. */\n @property({ type: Boolean })\n accessor hideTags = false;\n\n /** Adds a \"Select all\" option to the top of a multi-select dropdown. */\n @property({ type: Boolean })\n accessor selectAll = false;\n\n /** \"Select all\" text customization. */\n @property({ type: String })\n accessor selectAllText = 'Select all';\n\n /** Menu CSS min-width value. */\n @property({ type: String })\n accessor menuMinWidth = 'initial';\n\n /** Controls direction that dropdown opens. */\n @property({ type: String })\n accessor openDirection: 'auto' | 'up' | 'down' = 'auto';\n\n /** Is \"Select All\" box checked.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllChecked = false;\n\n /** Is \"Select All\" indeterminate.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllIndeterminate = false;\n\n /** Text string customization. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Enables the \"Add New Option\" feature. */\n @property({ type: Boolean })\n accessor allowAddOption = false;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /**\n * New dropdown option value.\n * @ignore\n */\n @state()\n accessor newOptionValue = '';\n\n /**\n * Selected option text, automatically derived.\n * @ignore\n */\n @state()\n accessor text = '';\n\n /**\n * Search input value.\n */\n @property({ type: String })\n accessor searchText = '';\n\n /**\n * Assistive text for screen readers.\n * @ignore\n */\n @state()\n accessor assistiveText = 'Dropdown menu options.';\n\n /**\n * Queries any slotted options, default or enhanced.\n * @ignore\n */\n protected get options(): Array<DropdownOption | EnhancedDropdownOption> {\n return Array.from(\n this.querySelectorAll<DropdownOption | EnhancedDropdownOption>(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option'\n )\n );\n }\n\n /**\n * Queries any slotted selected options.\n * @ignore\n */\n protected get selectedOptions(): Array<\n DropdownOption | EnhancedDropdownOption\n > {\n return this.options.filter(\n (opt): opt is DropdownOption | EnhancedDropdownOption =>\n opt.hasAttribute('selected')\n );\n }\n\n /**\n * Queries the .search DOM element.\n * @ignore\n */\n @query('.search')\n accessor searchEl!: HTMLInputElement;\n\n /**\n * Queries the .select DOM element.\n * @ignore\n */\n @query('.select')\n accessor buttonEl!: HTMLElement;\n\n /**\n * Queries the .options DOM element.\n * @ignore\n */\n @query('.options')\n accessor listboxEl!: HTMLElement;\n\n /**\n * Queries the .clear-multiple DOM element.\n * @ignore\n */\n @query('.clear-multiple')\n accessor clearMultipleEl!: HTMLElement;\n\n /**\n * Queries the .add-option-input DOM element.\n * @ignore\n */\n @query('.add-option-input')\n accessor addOptionInputEl!: HTMLInputElement;\n\n /**\n * Open drawer upwards.\n * @ignore\n */\n @state()\n accessor _openUpwards = false;\n\n /**\n * Tags value/text reference.\n * @ignore\n */\n @state()\n accessor _tags: Array<object> = [];\n\n /** Toggles on clicking enter key in the search input.\n * @internal\n */\n searchTextEntered: any = false;\n\n /** Toggles on clicking enter key in the search input.\n * @internal\n */\n prevSearchKeydownIndex = -1;\n\n private _onDocumentClick = (e: Event) => this._handleClickOut(e);\n private _onChildClick = (e: Event) => this._handleClick(e as any);\n private _onChildRemove = (_e: Event) => this._handleRemoveOption();\n private _onChildBlur = (e: Event) => this._handleBlur(e as any);\n\n override render() {\n const mainDropdownClasses = {\n dropdown: true,\n ['ai-connected']: this.kind === 'ai',\n };\n\n return html`\n <div\n class=${classMap(mainDropdownClasses)}\n ?disabled=${this.disabled}\n ?open=${this.open}\n ?inline=${this.inline}\n ?searchable=${this.searchable}\n >\n <label\n id=\"label-${this.name}\"\n class=\"label-text ${this.hideLabel || this.inline ? 'sr-only' : ''}\"\n for=${this.name}\n >\n ${this.required\n ? html`<abbr\n class=\"required\"\n title=${this._textStrings.requiredText}\n role=\"img\"\n aria-label=${this._textStrings?.requiredText || 'Required'}\n >*</abbr\n >`\n : null}\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </label>\n\n <div\n class=${classMap({\n wrapper: true,\n open: this.open,\n })}\n >\n <div\n class=\"custom\"\n @click=${(e: MouseEvent) => this.handleAnchorClick(e)}\n @keydown=${(e: KeyboardEvent) => this.handleAnchorKeydown(e)}\n >\n <slot name=\"anchor\">\n <div\n class=\"${classMap({\n select: true,\n 'input-custom': true,\n 'size--sm': this.size === 'sm',\n 'size--lg': this.size === 'lg',\n inline: this.inline,\n })}\"\n aria-labelledby=\"label-${this.name}\"\n aria-expanded=${this.open}\n aria-controls=\"options\"\n role=\"combobox\"\n id=${this.name}\n name=${this.name}\n title=${this._textStrings.title}\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?invalid=${this._isInvalid}\n tabindex=${this.disabled ? '' : this.searchable ? '-1' : '0'}\n @mousedown=${(e: any) => {\n if (!this.searchable) {\n e.preventDefault();\n }\n }}\n @blur=${(e: any) => e.stopPropagation()}\n >\n ${this.multiple && this.value.length\n ? html`\n <button\n class=\"clear-multiple\"\n aria-label=\"${this.value\n .length} items selected. Clear selections\"\n ?disabled=${this.disabled}\n title=${this._textStrings.clear}\n @click=${(e: Event) => this.handleClearMultiple(e)}\n >\n ${this.value.length}\n <span style=\"display:flex;\" class=\"clear-multiple-icon\"\n >${unsafeSVG(clearIcon)}</span\n >\n </button>\n `\n : null}\n ${this.searchable\n ? html`\n <input\n class=\"search\"\n type=\"text\"\n placeholder=${this.placeholder}\n value=${this.searchText}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled}\n @keydown=${(e: any) => this.handleSearchKeydown(e)}\n @input=${(e: any) => this.handleSearchInput(e)}\n @blur=${(e: any) => e.stopPropagation()}\n @click=${(e: any) => this.handleSearchClick(e)}\n />\n `\n : html`\n <span\n class=\"${classMap({\n 'placeholder-text': this.text === '',\n })}\"\n >\n ${this.multiple\n ? this.placeholder\n : this.value === ''\n ? this.placeholder\n : this.text}\n </span>\n `}\n\n <span class=\"arrow-icon\">${unsafeSVG(downIcon)}</span>\n </div>\n </slot>\n\n <div\n id=\"options\"\n class=${classMap({\n options: true,\n open: this.open,\n upwards: this._openUpwards,\n })}\n style=\"min-width: ${this.menuMinWidth};\"\n aria-hidden=${!this.open}\n @keydown=${this.handleListKeydown}\n @blur=${this.handleListBlur}\n @focus=${this._handleListFocus}\n >\n ${this.allowAddOption\n ? html`\n <div class=\"add-option\">\n <input\n class=\"add-option-input\"\n type=\"text\"\n placeholder=${this._textStrings.addItem}\n .value=${this.newOptionValue}\n aria-label=\"Add new option\"\n @input=${this._handleInputNewOption}\n @keydown=${this._onAddOptionInputKeydown}\n @focus=${this._onAddOptionInputFocus}\n />\n <kyn-button\n type=\"button\"\n size=\"small\"\n kind=\"secondary\"\n @on-click=${this._handleAddOption}\n >\n ${this._textStrings.add}\n </kyn-button>\n </div>\n `\n : null}\n\n <div role=\"listbox\" aria-labelledby=\"label-${this.name}\">\n ${this.multiple && this.selectAll\n ? html`\n ${this.enhanced\n ? html`\n <kyn-enhanced-dropdown-option\n class=\"select-all\"\n value=\"selectAll\"\n multiple\n ?selected=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?disabled=${this.disabled}\n >\n ${this.selectAllText}\n </kyn-enhanced-dropdown-option>\n `\n : html`\n <kyn-dropdown-option\n class=\"select-all\"\n value=\"selectAll\"\n multiple\n ?selected=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?disabled=${this.disabled}\n >\n ${this.selectAllText}\n </kyn-dropdown-option>\n `}\n `\n : null}\n\n <slot\n id=\"children\"\n @slotchange=${() => this.handleSlotChange()}\n ></slot>\n </div>\n </div>\n </div>\n ${this.hasSearch && this.open\n ? html`\n <kyn-button\n ?disabled=${this.disabled}\n class=\"clear-button dropdown-clear\"\n kind=\"ghost\"\n size=\"small\"\n description=${this._textStrings.clearAll}\n @click=${(e: Event) => this.handleClear(e)}\n >\n <span style=\"display:flex;\">${unsafeSVG(clearIcon)}</span>\n </kyn-button>\n `\n : null}\n </div>\n ${this.renderHelperContent()}\n </div>\n `;\n }\n\n private _onAddOptionInputKeydown(e: KeyboardEvent) {\n e.stopPropagation();\n switch (e.key) {\n case KEY.Enter:\n this._handleAddOption();\n break;\n case KEY.Escape:\n this.newOptionValue = '';\n this.open = false;\n this.buttonEl.focus();\n break;\n case KEY.ArrowDown:\n this.handleKeyboard(e, 40, 'addOption');\n break;\n case KEY.ArrowUp:\n this.handleKeyboard(e, 38, 'addOption');\n break;\n }\n }\n\n private _onAddOptionInputFocus() {\n this.assistiveText = 'Add new option input';\n }\n\n private handleAnchorClick(e: MouseEvent) {\n if (this.disabled) return;\n\n const path = (e.composedPath?.() || []) as Array<EventTarget>;\n const isInOptions =\n path.some((t) => (t as HTMLElement)?.classList?.contains('options')) ||\n (e.target as HTMLElement)?.closest?.(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option, .add-option'\n );\n\n if (isInOptions) return;\n\n this.handleClick();\n }\n private handleAnchorKeydown(e: any) {\n if (this.disabled) return;\n this.handleButtonKeydown(e);\n }\n\n private _handleAddOption() {\n const v = this.newOptionValue.trim();\n if (!v) return;\n this.dispatchEvent(\n new CustomEvent('on-add-option', { detail: { value: v } })\n );\n this.newOptionValue = '';\n }\n\n private renderHelperContent() {\n return html`\n ${\n this.multiple && !this.hideTags && this._tags.length\n ? html`\n <kyn-tag-group\n filter\n role=\"list\"\n aria-label=${this._textStrings.selectedOptions}\n >\n ${this._tags.map((tag: any) => {\n return html`\n <kyn-tag\n role=\"listitem\"\n label=${tag.text}\n ?disabled=${this.disabled || tag.disabled}\n @on-close=${() => this.handleTagClear(tag)}\n ></kyn-tag>\n `;\n })}\n </kyn-tag-group>\n `\n : null\n }\n ${\n this.caption !== ''\n ? html`\n <div class=\"caption\" aria-disabled=${this.disabled}>\n ${this.caption}\n </div>\n `\n : null\n }\n ${\n this._isInvalid\n ? html`\n <div class=\"error\">\n <span\n class=\"error-icon\"\n role=\"img\"\n title=${this._textStrings.errorText}\n aria-label=${this._textStrings.errorText}\n >${unsafeSVG(errorIcon)}</span\n >\n ${this.invalidText || this._internalValidationMsg}\n </div>\n `\n : null\n }\n\n <div\n class=\"assistive-text\"\n role=\"status\"\n aria-live=\"assertive\"\n aria-relevant=\"additions text\"\n >\n ${this.assistiveText}\n </div>\n </div>\n `;\n }\n\n override firstUpdated() {\n // set a default placeholder if none provided\n if (this.placeholder === '') {\n if (this.searchable) {\n this.placeholder = 'Search';\n } else {\n if (this.multiple) {\n this.placeholder = 'Select items';\n } else {\n this.placeholder = 'Select an option';\n }\n }\n }\n }\n\n private handleSlotChange() {\n this.updateChildOptions();\n this._updateOptions();\n this._updateSelectedText();\n }\n\n private updateChildOptions() {\n // Get all slotted kyn-dropdown-option elements\n const slot = this.shadowRoot?.querySelector('#children') as HTMLSlotElement;\n const options = slot.assignedElements({ flatten: true }) as HTMLElement[];\n\n // Pass allowAddOption to each kyn-dropdown-option\n options.forEach((option) => {\n if (\n option.tagName === 'KYN-DROPDOWN-OPTION' ||\n option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION'\n ) {\n (option as any).allowAddOption = this.allowAddOption;\n }\n });\n }\n\n private handleClick() {\n if (!this.disabled) {\n this.open = !this.open;\n\n // focus search input if searchable\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n }\n }\n\n private handleButtonKeydown(e: any) {\n this.handleKeyboard(e, e.keyCode, 'button');\n }\n\n private handleListKeydown(e: any) {\n const TAB_KEY_CODE = 9;\n\n if (e.keyCode !== TAB_KEY_CODE) {\n e.preventDefault();\n }\n\n this.handleKeyboard(e, e.keyCode, 'list');\n }\n\n private _handleListFocus() {\n const selectAllOptions = Array.from(\n this.shadowRoot?.querySelectorAll('.select-all') || []\n ) as any[];\n const filteredOptions = this.options.filter(\n (option: any) => option.style.display !== 'none'\n );\n const visibleOptions = [...selectAllOptions, ...filteredOptions] as any[];\n\n const firstEnabled = visibleOptions.find((o: any) => !o.disabled) as any;\n if (!firstEnabled) return;\n\n visibleOptions.forEach((o: any) => (o.highlighted = false));\n\n if (!('tabIndex' in firstEnabled) || firstEnabled.tabIndex < 0) {\n firstEnabled.tabIndex = 0;\n }\n firstEnabled.focus();\n firstEnabled.scrollIntoView({ block: 'nearest' });\n this.assistiveText = firstEnabled.text || 'Option';\n }\n\n private handleListBlur(e: FocusEvent): void {\n if (this.multiple) {\n return;\n }\n\n this.options.forEach((o) => (o.highlighted = false));\n const target = e.relatedTarget as HTMLElement | null;\n\n if (\n target &&\n (target.closest('kyn-dropdown-option') ||\n target.closest('kyn-enhanced-dropdown-option') ||\n target.classList.contains('search') ||\n target.closest('.add-option'))\n ) {\n return;\n }\n\n this.open = false;\n this.assistiveText = 'Dropdown menu options.';\n }\n\n private handleKeyboard(e: any, keyCode: number, target: string) {\n const SPACEBAR_KEY_CODE = [0, 32];\n const ENTER_KEY_CODE = 13;\n const DOWN_ARROW_KEY_CODE = 40;\n const UP_ARROW_KEY_CODE = 38;\n const ESCAPE_KEY_CODE = 27;\n\n // get highlighted element + index and selected element\n const selectAllOptions = Array.from(\n this.shadowRoot?.querySelectorAll('.select-all') || []\n ) as any[];\n const filteredOptions = this.options.filter(\n (option: any) => option.style.display !== 'none'\n );\n const visibleOptions = [...selectAllOptions, ...filteredOptions] as any[];\n // visibleOptions.forEach((e) => (e.tabIndex = 0));\n\n const highlightedEl = visibleOptions.find(\n (option: any) => option.highlighted\n );\n const selectedEl = visibleOptions.find((option: any) => option.selected);\n let highlightedIndex = highlightedEl\n ? visibleOptions.indexOf(highlightedEl)\n : selectedEl\n ? visibleOptions.indexOf(selectedEl)\n : 0;\n\n // prevent page scroll on spacebar press\n if (SPACEBAR_KEY_CODE.includes(keyCode)) {\n e.preventDefault();\n }\n\n const isListboxElOpened = this.open;\n // open the listbox\n if (target === 'button' || target === 'addOption') {\n let openDropdown =\n SPACEBAR_KEY_CODE.includes(keyCode) ||\n keyCode === ENTER_KEY_CODE ||\n keyCode == DOWN_ARROW_KEY_CODE ||\n keyCode == UP_ARROW_KEY_CODE;\n\n if (e.target === this.clearMultipleEl && keyCode === ENTER_KEY_CODE) {\n openDropdown = false;\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[highlightedIndex].selected =\n !visibleOptions[highlightedIndex].selected;\n highlightedIndex = 0;\n if (keyCode !== ENTER_KEY_CODE) return;\n }\n\n if (openDropdown) {\n this.open = true;\n\n if (\n this.allowAddOption &&\n target === 'button' &&\n keyCode === ENTER_KEY_CODE\n ) {\n setTimeout(() => {\n this.addOptionInputEl?.focus();\n }, 100);\n } else {\n // scroll to highlighted option\n if (!this.multiple && this.value !== '') {\n visibleOptions[highlightedIndex].scrollIntoView({\n block: 'nearest',\n });\n }\n }\n }\n }\n switch (keyCode) {\n case 0:\n case 32:\n case ENTER_KEY_CODE: {\n // select highlighted option\n visibleOptions[highlightedIndex].highlighted = true;\n if (isListboxElOpened) {\n if (this.multiple) {\n visibleOptions[highlightedIndex].selected =\n !visibleOptions[highlightedIndex].selected;\n this._handleClick({\n detail: {\n value: visibleOptions[highlightedIndex].value,\n selected: visibleOptions[highlightedIndex].selected,\n },\n });\n } else {\n visibleOptions.forEach((e) => (e.selected = false));\n visibleOptions[highlightedIndex].selected = true;\n this.updateValue(visibleOptions[highlightedIndex].value, true);\n this.emitValue();\n\n this.open = false;\n this.assistiveText = `Selected ${visibleOptions[highlightedIndex].value}`;\n }\n }\n return;\n }\n case DOWN_ARROW_KEY_CODE: {\n // go to next option\n let nextIndex =\n !highlightedEl && !selectedEl\n ? 0\n : highlightedIndex === visibleOptions.length - 1\n ? 0\n : highlightedIndex + 1;\n\n // skip disabled options\n if (visibleOptions[nextIndex].disabled) {\n nextIndex =\n nextIndex === visibleOptions.length - 1 ? 0 : nextIndex + 1;\n }\n\n visibleOptions[nextIndex].focus();\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[nextIndex].highlighted = true;\n\n // scroll to option\n visibleOptions[nextIndex].scrollIntoView({ block: 'nearest' });\n\n this.assistiveText = visibleOptions[nextIndex].text;\n return;\n }\n case UP_ARROW_KEY_CODE: {\n // go to previous option\n let nextIndex =\n highlightedIndex === 0\n ? visibleOptions.length - 1\n : highlightedIndex - 1;\n\n // skip disabled options\n if (visibleOptions[nextIndex].disabled) {\n nextIndex =\n nextIndex === 0 ? visibleOptions.length - 1 : nextIndex - 1;\n }\n\n visibleOptions[nextIndex].focus();\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[nextIndex].highlighted = true;\n\n // scroll to option\n visibleOptions[nextIndex].scrollIntoView({ block: 'nearest' });\n\n this.assistiveText = visibleOptions[nextIndex].text;\n return;\n }\n case ESCAPE_KEY_CODE: {\n // close listbox\n this.open = false;\n\n // restore focus\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n\n this.assistiveText = 'Dropdown menu options.';\n return;\n }\n default: {\n return;\n }\n }\n }\n\n private handleClearMultiple(e: any) {\n e.stopPropagation();\n\n // clear values\n if (this.multiple) {\n const Slot: any = this.shadowRoot?.querySelector('slot#children');\n const Options: Array<any> = Slot.assignedElements();\n const DisabledSelectedOptions: Array<any> = Options.filter(\n (option: any) => option.selected && option.disabled\n ).map((option: any) => option.value);\n\n this.value = DisabledSelectedOptions.length\n ? DisabledSelectedOptions\n : [];\n } else {\n this.value = '';\n }\n\n this._validate(true, false);\n this._updateSelectedOptions();\n this.emitValue();\n\n const event = new CustomEvent('on-clear-all', {\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private handleTagClear(tag: any) {\n // remove value\n this.updateValue(tag.value, false);\n this._updateSelectedOptions();\n this.emitValue();\n }\n\n private handleClear(e: any) {\n e.stopPropagation();\n\n // reset search input text\n this.text = '';\n this.searchText = '';\n this.searchEl.value = '';\n\n this._emitSearch();\n\n if (this.filterSearch) {\n // reveal all options\n this.options.map((option: any) => {\n option.style.display = 'block';\n });\n }\n\n // clear selection for single select\n if (!this.multiple) {\n this.value = '';\n this._validate(true, false);\n this._updateSelectedOptions();\n this.emitValue();\n }\n }\n\n private handleSearchClick(e: any) {\n e.stopPropagation();\n this.open = true;\n if ((this.searchText ?? '').trim() === '') this.searchText = '';\n }\n\n private handleSearchKeydown(e: any) {\n e.stopPropagation();\n\n const ENTER_KEY_CODE = 13;\n const ESCAPE_KEY_CODE = 27;\n const option = this.options.find((option) => option.highlighted);\n const highlightedIndex = this.options.findIndex(\n (option) => option.highlighted\n );\n this.searchTextEntered = false;\n // select option\n if (e.keyCode === ENTER_KEY_CODE) {\n this.searchTextEntered = true;\n if (option) {\n if (this.prevSearchKeydownIndex !== highlightedIndex) {\n if (this.multiple) {\n option.selected = !option.selected;\n } else {\n this.options.forEach((e) => (e.selected = false));\n option.selected = true;\n this.open = false;\n }\n this.updateValue(option.value, option.selected);\n }\n\n if (option.selected) {\n this.assistiveText = `Selected ${option.innerHTML}`;\n this.prevSearchKeydownIndex = highlightedIndex;\n } else {\n this.assistiveText = `Deselected ${option.innerHTML}`;\n }\n } else {\n this.assistiveText = 'No item matched.';\n }\n }\n\n // close listbox\n if (e.keyCode === ESCAPE_KEY_CODE) {\n this.open = false;\n this.buttonEl.focus();\n }\n }\n\n private handleSearchInput(e: any) {\n const value = e.target.value;\n this.searchText = value;\n this.open = true;\n\n this._emitSearch();\n\n if (this.filterSearch) {\n // hide items that don't match\n this.options.map((option: any) => {\n let searchText = option.text;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n searchText = titleSlot.textContent.trim();\n } else {\n searchText = option.displayText || option.value;\n }\n }\n\n if (searchText.toLowerCase().includes(value.toLowerCase())) {\n option.style.display = 'block';\n } else {\n option.style.display = 'none';\n }\n });\n } else {\n // find matches\n const options = this.options.filter((option: any) => {\n let searchText = option.text;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n searchText = titleSlot.textContent.trim();\n } else {\n searchText = option.displayText || option.value;\n }\n }\n\n return searchText.toLowerCase().startsWith(value.toLowerCase());\n });\n\n // reset options highlighted state\n this.options.forEach((option) => (option.highlighted = false));\n\n // option highlight and scroll\n if (value !== '' && options.length) {\n options[0].highlighted = true;\n options[0].scrollIntoView({ block: 'nearest' });\n if (this.searchTextEntered) this.assistiveText = 'Option Matched';\n }\n }\n }\n\n private _updateSelectedOptions() {\n // set selected state for each option\n this.options.forEach((option: any) => {\n if (this.multiple) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n }\n\n private _handleClick(e: any) {\n if (e.detail.value === 'selectAll') {\n this.selectAllChecked = e.detail.selected;\n\n const Slot: any = this.shadowRoot?.querySelector('slot#children');\n const Options: Array<any> = Slot.assignedElements();\n const DisabledSelectedOptions: Array<any> = Options.filter(\n (option: any) => option.selected && option.disabled\n ).map((option: any) => option.value);\n\n if (e.detail.selected) {\n this.value = this.options\n .filter(\n (option) => !option.disabled || (option.disabled && option.selected)\n )\n .map((option) => option.value);\n this.assistiveText = 'Selected all items.';\n } else {\n this.value = DisabledSelectedOptions.length\n ? DisabledSelectedOptions\n : [];\n this.assistiveText = 'Deselected all items.';\n }\n\n this._validate(true, false);\n } else {\n this.updateValue(e.detail.value, e.detail.selected);\n this.assistiveText = e.detail.selected\n ? `Selected ${e.detail.value}`\n : `Deselected ${e.detail.value}`;\n }\n\n this._updateSelectedOptions();\n\n if (!this.multiple) {\n this.open = false;\n }\n\n // emit selected value\n this.emitValue();\n }\n\n private _handleBlur(e: any) {\n const relatedTarget = e.detail.origEvent.relatedTarget;\n\n if (\n !relatedTarget ||\n (relatedTarget?.localName !== 'kyn-dropdown-option' &&\n relatedTarget?.localName !== 'kyn-enhanced-dropdown-option' &&\n relatedTarget.localName !== 'kyn-dropdown')\n ) {\n this.open = false;\n }\n }\n\n private _handleClickOut(e: Event) {\n if (!e.composedPath().includes(this)) {\n this.open = false;\n }\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this._onConnected();\n\n document.addEventListener('click', this._onDocumentClick);\n\n this.addEventListener('on-click', this._onChildClick);\n this.addEventListener('on-remove-option', this._onChildRemove);\n this.addEventListener('on-blur', this._onChildBlur);\n }\n\n override disconnectedCallback() {\n this._onDisconnected();\n\n document.removeEventListener('click', this._onDocumentClick);\n this.removeEventListener('on-click', this._onChildClick);\n this.removeEventListener('on-remove-option', this._onChildRemove);\n this.removeEventListener('on-blur', this._onChildBlur);\n\n super.disconnectedCallback();\n }\n\n private updateValue(value: string, selected = false) {\n // set value\n if (this.multiple) {\n const values =\n this.value === '' ? [] : JSON.parse(JSON.stringify(this.value));\n\n // update array\n if (selected) {\n values.push(value);\n } else {\n const index = values.indexOf(value);\n values.splice(index, 1);\n }\n\n this.value = values;\n } else {\n this.value = value;\n }\n\n this._validate(true, false);\n\n // reset focus\n if (!this.multiple) {\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n }\n }\n\n private _validate(interacted: Boolean, report: Boolean) {\n // set validity flags\n const Validity = {\n customError: this.invalidText !== '',\n valueMissing:\n this.required &&\n (!this.value ||\n (this.multiple && !this.value.length) ||\n (!this.multiple && this.value === '')),\n };\n\n // set validationMessage\n const InternalMsg =\n this.required && !this.value.length ? 'Please fill out this field.' : '';\n const ValidationMessage =\n this.invalidText !== '' ? this.invalidText : InternalMsg;\n\n const validationAnchor = this.buttonEl || this.listboxEl;\n\n if (validationAnchor) {\n this._internals.setValidity(\n Validity,\n ValidationMessage,\n validationAnchor\n );\n } else {\n this._internals.setValidity(Validity, ValidationMessage);\n }\n\n if (interacted) {\n this._internalValidationMsg = InternalMsg;\n }\n\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n private emitValue() {\n const event = new CustomEvent('on-change', {\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private _emitSearch() {\n const event = new CustomEvent('on-search', {\n detail: {\n searchText: this.searchText,\n },\n });\n this.dispatchEvent(event);\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n\n override updated(changedProps: PropertyValues) {\n super.updated(changedProps);\n\n if (changedProps.has('kind')) {\n this.dispatchEvent(\n new CustomEvent('kind-changed', {\n detail: this.kind,\n bubbles: true,\n composed: true,\n })\n );\n\n this.classList.toggle('ai-connected', this.kind === 'ai');\n }\n\n const root = this.shadowRoot;\n if (!root) return;\n\n if (changedProps.has('open')) {\n const slot = root.querySelector<HTMLSlotElement>('slot[name=\"anchor\"]');\n const assigned = slot?.assignedElements({ flatten: true }) as\n | HTMLElement[]\n | undefined;\n const btn = assigned?.find(\n (el) => !el.querySelector('.clear-multiple-icon')\n );\n const icon = btn?.querySelector<HTMLElement>('span[slot=\"icon\"]');\n if (icon) {\n icon.style.transition = 'transform 0.2s ease-in-out';\n icon.style.transform = this.open ? 'rotate(180deg)' : 'rotate(0deg)';\n }\n }\n\n this._onUpdated(changedProps);\n\n if (changedProps.has('value')) {\n this._updateOptions();\n\n const childrenSlot = root.querySelector<HTMLSlotElement>('slot#children');\n const options = childrenSlot\n ? childrenSlot\n .assignedElements()\n .filter((o): o is HTMLElement => !o.hasAttribute('disabled'))\n : [];\n const selected = options.filter((o) => o.hasAttribute('selected'));\n\n this.selectAllChecked = selected.length === options.length;\n this.selectAllIndeterminate =\n selected.length > 0 && selected.length < options.length;\n\n this._updateTags();\n this._updateSelectedText();\n }\n\n if (changedProps.has('open') || changedProps.has('openDirection')) {\n if (this.open) {\n this.options.forEach((o) => (o.highlighted = false));\n\n if (!this.searchable && this.listboxEl) {\n this.listboxEl.focus({ preventScroll: true });\n this.assistiveText =\n 'Selecting items. Use up and down arrow keys to navigate.';\n }\n }\n\n if (this.openDirection === 'up') {\n this._openUpwards = true;\n } else if (this.openDirection === 'down') {\n this._openUpwards = false;\n } else if (this.open) {\n const rect = this.buttonEl.getBoundingClientRect();\n this._openUpwards = rect.top > window.innerHeight * 0.6;\n }\n\n if (this.open && !this.multiple) {\n const firstSelected = this.options.find((o) => o.selected);\n firstSelected?.scrollIntoView({ block: 'nearest' });\n }\n }\n\n if (changedProps.has('multiple')) {\n this.options.forEach((opt) => (opt.multiple = this.multiple));\n }\n\n if (changedProps.has('searchText') && this.searchEl) {\n this.searchEl.value = this.searchText;\n }\n\n if (changedProps.has('allowAddOption')) {\n this.updateChildOptions();\n }\n }\n\n private get hasSearch(): boolean {\n return (this.searchText ?? '').trim().length > 0;\n }\n\n // add selected options to Tags array\n private _updateTags() {\n if (this.multiple) {\n const Options: any = Array.from(\n this.querySelectorAll(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option'\n )\n );\n const Tags: Array<object> = [];\n\n if (Options) {\n Options.forEach((option: any) => {\n if (option.selected) {\n let text = option.textContent;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n text = titleSlot.textContent.trim();\n } else {\n text = option.displayText || option.value;\n }\n } else {\n text = option.textContent.trim();\n }\n\n Tags.push({\n value: option.value,\n text: text,\n disabled: option.disabled,\n });\n }\n });\n\n this._tags = Tags;\n }\n }\n }\n\n private _updateOptions() {\n const Options: any = Array.from(\n this.querySelectorAll('kyn-dropdown-option, kyn-enhanced-dropdown-option')\n );\n\n Options.forEach((option: any) => {\n // set option multiple state\n option.multiple = this.multiple;\n\n if (this.multiple) {\n const Selected = this.value.includes(option.value);\n // set option selected state\n option.selected = Selected;\n } else {\n option.selected = this.value === option.value;\n }\n });\n }\n\n private _handleInputNewOption(e: Event) {\n const target = e.target as HTMLInputElement;\n this.newOptionValue = target.value;\n }\n\n private _handleRemoveOption() {\n this.assistiveText = 'MY option removed ';\n setTimeout(() => {\n this.open = false;\n this.buttonEl.focus();\n }, 100);\n }\n\n private _updateSelectedText() {\n // update selected option text\n const AllOptions: any = Array.from(\n this.querySelectorAll('kyn-dropdown-option, kyn-enhanced-dropdown-option')\n );\n\n if (!this.multiple) {\n if (AllOptions.length && this.value !== '') {\n const option = AllOptions.find(\n (option: any) => option.value === this.value\n );\n if (option) {\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n this.text = titleSlot.textContent.trim();\n } else {\n this.text = option.displayText || this.value;\n }\n } else {\n this.text = option.textContent.trim();\n }\n } else {\n this.text = '';\n console.warn(`No dropdown option found with value: ${this.value}`);\n }\n }\n\n if (this.searchable && this.text) {\n this.searchText = this.text === this.placeholder ? '' : this.text;\n this.searchEl.value = this.searchText;\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-dropdown': Dropdown;\n }\n}\n"],"names":["_defaultTextStrings","title","selectedOptions","requiredText","errorText","clearAll","clear","addItem","add","KEY","Dropdown","customElement","FormMixin","LitElement","_classThis","_classSuper","_Dropdown_label_accessor_storage","set","this","__runInitializers","_label_initializers","_Dropdown_size_accessor_storage","_label_extraInitializers","_size_initializers","_Dropdown_kind_accessor_storage","_size_extraInitializers","_kind_initializers","_Dropdown_inline_accessor_storage","_kind_extraInitializers","_inline_initializers","_Dropdown_caption_accessor_storage","_inline_extraInitializers","_caption_initializers","_Dropdown_placeholder_accessor_storage","_caption_extraInitializers","_placeholder_initializers","_Dropdown_open_accessor_storage","_placeholder_extraInitializers","_open_initializers","_Dropdown_searchable_accessor_storage","_open_extraInitializers","_searchable_initializers","_Dropdown_enhanced_accessor_storage","_searchable_extraInitializers","_enhanced_initializers","_Dropdown_filterSearch_accessor_storage","_enhanced_extraInitializers","_filterSearch_initializers","_Dropdown_multiple_accessor_storage","_filterSearch_extraInitializers","_multiple_initializers","_Dropdown_required_accessor_storage","_multiple_extraInitializers","_required_initializers","_Dropdown_hideLabel_accessor_storage","_required_extraInitializers","_hideLabel_initializers","_Dropdown_disabled_accessor_storage","_hideLabel_extraInitializers","_disabled_initializers","_Dropdown_hideTags_accessor_storage","_disabled_extraInitializers","_hideTags_initializers","_Dropdown_selectAll_accessor_storage","_hideTags_extraInitializers","_selectAll_initializers","_Dropdown_selectAllText_accessor_storage","_selectAll_extraInitializers","_selectAllText_initializers","_Dropdown_menuMinWidth_accessor_storage","_selectAllText_extraInitializers","_menuMinWidth_initializers","_Dropdown_openDirection_accessor_storage","_menuMinWidth_extraInitializers","_openDirection_initializers","_Dropdown_selectAllChecked_accessor_storage","_openDirection_extraInitializers","_selectAllChecked_initializers","_Dropdown_selectAllIndeterminate_accessor_storage","_selectAllChecked_extraInitializers","_selectAllIndeterminate_initializers","_Dropdown_textStrings_accessor_storage","_selectAllIndeterminate_extraInitializers","_textStrings_initializers","_Dropdown_allowAddOption_accessor_storage","_textStrings_extraInitializers","_allowAddOption_initializers","_Dropdown__textStrings_accessor_storage","_allowAddOption_extraInitializers","__textStrings_initializers","_Dropdown_newOptionValue_accessor_storage","__textStrings_extraInitializers","_newOptionValue_initializers","_Dropdown_text_accessor_storage","_newOptionValue_extraInitializers","_text_initializers","_Dropdown_searchText_accessor_storage","_text_extraInitializers","_searchText_initializers","_Dropdown_assistiveText_accessor_storage","_searchText_extraInitializers","_assistiveText_initializers","_Dropdown_searchEl_accessor_storage","_assistiveText_extraInitializers","_searchEl_initializers","_Dropdown_buttonEl_accessor_storage","_searchEl_extraInitializers","_buttonEl_initializers","_Dropdown_listboxEl_accessor_storage","_buttonEl_extraInitializers","_listboxEl_initializers","_Dropdown_clearMultipleEl_accessor_storage","_listboxEl_extraInitializers","_clearMultipleEl_initializers","_Dropdown_addOptionInputEl_accessor_storage","_clearMultipleEl_extraInitializers","_addOptionInputEl_initializers","_Dropdown__openUpwards_accessor_storage","_addOptionInputEl_extraInitializers","__openUpwards_initializers","_Dropdown__tags_accessor_storage","__openUpwards_extraInitializers","__tags_initializers","searchTextEntered","__tags_extraInitializers","prevSearchKeydownIndex","_onDocumentClick","e","_handleClickOut","_onChildClick","_handleClick","_onChildRemove","_e","_handleRemoveOption","_onChildBlur","_handleBlur","label","__classPrivateFieldGet","value","__classPrivateFieldSet","size","kind","inline","caption","placeholder","open","searchable","enhanced","filterSearch","multiple","required","hideLabel","disabled","hideTags","selectAll","selectAllText","menuMinWidth","openDirection","selectAllChecked","selectAllIndeterminate","textStrings","allowAddOption","_textStrings","newOptionValue","text","searchText","assistiveText","options","Array","from","querySelectorAll","filter","opt","hasAttribute","searchEl","buttonEl","listboxEl","clearMultipleEl","addOptionInputEl","_openUpwards","_tags","render","mainDropdownClasses","dropdown","html","classMap","name","_a","wrapper","handleAnchorClick","handleAnchorKeydown","select","_isInvalid","preventDefault","stopPropagation","length","handleClearMultiple","unsafeSVG","clearIcon","handleSearchKeydown","handleSearchInput","handleSearchClick","downIcon","upwards","handleListKeydown","handleListBlur","_handleListFocus","_handleInputNewOption","_onAddOptionInputKeydown","_onAddOptionInputFocus","_handleAddOption","handleSlotChange","hasSearch","handleClear","renderHelperContent","key","focus","handleKeyboard","isInOptions","composedPath","call","some","t","classList","contains","_c","_b","target","closest","handleClick","handleButtonKeydown","v","trim","dispatchEvent","CustomEvent","detail","map","tag","handleTagClear","errorIcon","invalidText","_internalValidationMsg","firstUpdated","updateChildOptions","_updateOptions","_updateSelectedText","shadowRoot","querySelector","assignedElements","flatten","forEach","option","tagName","keyCode","visibleOptions","style","display","firstEnabled","find","o","highlighted","tabIndex","scrollIntoView","block","relatedTarget","SPACEBAR_KEY_CODE","highlightedEl","selectedEl","selected","highlightedIndex","indexOf","includes","isListboxElOpened","openDropdown","setTimeout","updateValue","emitValue","nextIndex","DisabledSelectedOptions","_validate","_updateSelectedOptions","event","_emitSearch","findIndex","innerHTML","titleSlot","textContent","displayText","toLowerCase","startsWith","origEvent","localName","connectedCallback","super","_onConnected","document","addEventListener","disconnectedCallback","_onDisconnected","removeEventListener","values","JSON","parse","stringify","push","index","splice","interacted","report","Validity","customError","valueMissing","InternalMsg","ValidationMessage","validationAnchor","_internals","setValidity","reportValidity","willUpdate","changedProps","has","deepmerge","updated","bubbles","composed","toggle","root","slot","assigned","btn","el","icon","transition","transform","_onUpdated","childrenSlot","_updateTags","preventScroll","rect","getBoundingClientRect","top","window","innerHeight","firstSelected","Options","Tags","Selected","AllOptions","console","warn","_label_decorators","property","type","String","_size_decorators","attribute","_inline_decorators","Boolean","_caption_decorators","_placeholder_decorators","reflect","_searchable_decorators","_enhanced_decorators","_filterSearch_decorators","_multiple_decorators","_required_decorators","_hideLabel_decorators","_disabled_decorators","_hideTags_decorators","_selectAll_decorators","_selectAllText_decorators","_menuMinWidth_decorators","_openDirection_decorators","_selectAllChecked_decorators","_selectAllIndeterminate_decorators","_textStrings_decorators","Object","_allowAddOption_decorators","__textStrings_decorators","state","_newOptionValue_decorators","_text_decorators","_searchText_decorators","_assistiveText_decorators","query","__openUpwards_decorators","__tags_decorators","__esDecorate","static","private","access","obj","get","metadata","_metadata","_kind_decorators","_open_decorators","_searchEl_decorators","_buttonEl_decorators","_listboxEl_decorators","_clearMultipleEl_decorators","_addOptionInputEl_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","DropdownScss"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown.js","sources":["../../../../src/components/reusable/dropdown/dropdown.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, PropertyValues, html, unsafeCSS } from 'lit';\nimport { customElement, property, state, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport DropdownScss from './dropdown.scss?inline';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport { deepmerge } from 'deepmerge-ts';\n\nimport './dropdownOption';\nimport './enhancedDropdownOption';\nimport '../tag';\nimport '../button';\n\nimport { DropdownOption } from './dropdownOption';\nimport { EnhancedDropdownOption } from './enhancedDropdownOption';\n\nimport downIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-down.svg';\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/error-filled.svg';\nimport clearIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\nconst _defaultTextStrings = {\n title: 'Dropdown',\n selectedOptions: 'List of selected options',\n requiredText: 'Required',\n errorText: 'Error',\n clearAll: 'Clear all',\n clear: 'Clear',\n addItem: 'Add item...',\n add: 'Add',\n};\n\nconst KEY = {\n Enter: 'Enter',\n Escape: 'Escape',\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n} as const;\n\n/**\n * Dropdown, single select.\n * @fires on-change - Captures the dropdown change event and emits the selected value and original event details. `detail:{ value: string/array }`\n * @fires on-search - Capture the search input event and emits the search text.`detail:{ searchText: string }`\n * @fires on-clear-all - Captures the the multi-select clear all button click event and emits the value. `detail:{ value: array }`\n * @fires on-add-option - Captures the add button click and emits the newly added option. `detail:{ value: string }`\n * @slot unnamed - Slot for dropdown options.\n * @slot tooltip - Slot for tooltip.\n * @slot anchor - Slot for custom dropdown anchor element. If not provided, defaults to standard input-style anchor.\n * @attr {string/array} [value=''/[]] - The selected value(s) of the input. For single select, it is a string. For multi-select, it is an array of strings.\n * @attr {string} [name=''] - The name of the input, used for form submission.\n * @attr {string} [invalidText=''] - The custom validation message when the input is invalid.\n */\n@customElement('kyn-dropdown')\nexport class Dropdown extends FormMixin(LitElement) {\n static override styles = unsafeCSS(DropdownScss);\n\n /** Label text. */\n @property({ type: String })\n accessor label = '';\n\n /** Dropdown size/height. \"sm\", \"md\", or \"lg\". */\n @property({ type: String })\n accessor size = 'md';\n\n /** Dropdown kind. */\n @property({ type: String, attribute: 'kind' })\n accessor kind: 'ai' | 'default' = 'default';\n\n /** Dropdown inline style type. */\n @property({ type: Boolean })\n accessor inline = false;\n\n /** Optional text beneath the input. */\n @property({ type: String })\n accessor caption = '';\n\n /** Dropdown placeholder. */\n @property({ type: String })\n accessor placeholder = '';\n\n /** Listbox/drawer open state. */\n @property({ type: Boolean, reflect: true })\n accessor open = false;\n\n /** Makes the dropdown searchable. */\n @property({ type: Boolean })\n accessor searchable = false;\n\n /** Makes the dropdown enhanced. */\n @property({ type: Boolean })\n accessor enhanced = false;\n\n /** Searchable variant filters results. */\n @property({ type: Boolean })\n accessor filterSearch = false;\n\n /** Enabled multi-select functionality. */\n @property({ type: Boolean })\n accessor multiple = false;\n\n /** Makes the dropdown required. */\n @property({ type: Boolean })\n accessor required = false;\n\n /** Visually hide the label. */\n @property({ type: Boolean })\n accessor hideLabel = false;\n\n /** Dropdown disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Hide the tags below multi-select. */\n @property({ type: Boolean })\n accessor hideTags = false;\n\n /** Adds a \"Select all\" option to the top of a multi-select dropdown. */\n @property({ type: Boolean })\n accessor selectAll = false;\n\n /** \"Select all\" text customization. */\n @property({ type: String })\n accessor selectAllText = 'Select all';\n\n /** Menu CSS min-width value. */\n @property({ type: String })\n accessor menuMinWidth = 'initial';\n\n /** Controls direction that dropdown opens. */\n @property({ type: String })\n accessor openDirection: 'auto' | 'up' | 'down' = 'auto';\n\n /** Is \"Select All\" box checked.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllChecked = false;\n\n /** Is \"Select All\" indeterminate.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllIndeterminate = false;\n\n /** Text string customization. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Enables the \"Add New Option\" feature. */\n @property({ type: Boolean })\n accessor allowAddOption = false;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /**\n * New dropdown option value.\n * @ignore\n */\n @state()\n accessor newOptionValue = '';\n\n /**\n * Selected option text, automatically derived.\n * @ignore\n */\n @state()\n accessor text = '';\n\n /**\n * Search input value.\n */\n @property({ type: String })\n accessor searchText = '';\n\n /**\n * Assistive text for screen readers.\n * @ignore\n */\n @state()\n accessor assistiveText = 'Dropdown menu options.';\n\n /**\n * Queries any slotted options, default or enhanced.\n * @ignore\n */\n protected get options(): Array<DropdownOption | EnhancedDropdownOption> {\n return Array.from(\n this.querySelectorAll<DropdownOption | EnhancedDropdownOption>(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option'\n )\n );\n }\n\n /**\n * Queries any slotted selected options.\n * @ignore\n */\n protected get selectedOptions(): Array<\n DropdownOption | EnhancedDropdownOption\n > {\n return this.options.filter(\n (opt): opt is DropdownOption | EnhancedDropdownOption =>\n opt.hasAttribute('selected')\n );\n }\n\n /**\n * Queries the .search DOM element.\n * @ignore\n */\n @query('.search')\n accessor searchEl!: HTMLInputElement;\n\n /**\n * Queries the .select DOM element.\n * @ignore\n */\n @query('.select')\n accessor buttonEl!: HTMLElement;\n\n /**\n * Queries the .options DOM element.\n * @ignore\n */\n @query('.options')\n accessor listboxEl!: HTMLElement;\n\n /**\n * Queries the .clear-multiple DOM element.\n * @ignore\n */\n @query('.clear-multiple')\n accessor clearMultipleEl!: HTMLElement;\n\n /**\n * Queries the .add-option-input DOM element.\n * @ignore\n */\n @query('.add-option-input')\n accessor addOptionInputEl!: HTMLInputElement;\n\n /**\n * Open drawer upwards.\n * @ignore\n */\n @state()\n accessor _openUpwards = false;\n\n /**\n * Tags value/text reference.\n * @ignore\n */\n @state()\n accessor _tags: Array<object> = [];\n\n /** Toggles on clicking enter key in the search input.\n * @internal\n */\n searchTextEntered: any = false;\n\n /** Toggles on clicking enter key in the search input.\n * @internal\n */\n prevSearchKeydownIndex = -1;\n\n private _onDocumentClick = (e: Event) => this._handleClickOut(e);\n private _onChildClick = (e: Event) => this._handleClick(e as any);\n private _onChildRemove = (_e: Event) => this._handleRemoveOption();\n private _onChildBlur = (e: Event) => this._handleBlur(e as any);\n\n override render() {\n const mainDropdownClasses = {\n dropdown: true,\n ['ai-connected']: this.kind === 'ai',\n };\n\n return html`\n <div\n class=${classMap(mainDropdownClasses)}\n ?disabled=${this.disabled}\n ?open=${this.open}\n ?inline=${this.inline}\n ?searchable=${this.searchable}\n >\n <label\n id=\"label-${this.name}\"\n class=\"label-text ${this.hideLabel || this.inline ? 'sr-only' : ''}\"\n for=${this.name}\n >\n ${this.required\n ? html`<abbr\n class=\"required\"\n title=${this._textStrings.requiredText}\n role=\"img\"\n aria-label=${this._textStrings?.requiredText || 'Required'}\n >*</abbr\n >`\n : null}\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </label>\n\n <div\n class=${classMap({\n wrapper: true,\n open: this.open,\n })}\n >\n <div\n class=\"custom\"\n @click=${(e: MouseEvent) => this.handleAnchorClick(e)}\n @keydown=${(e: KeyboardEvent) => this.handleAnchorKeydown(e)}\n >\n <slot name=\"anchor\">\n <div\n class=\"${classMap({\n select: true,\n 'input-custom': true,\n 'size--sm': this.size === 'sm',\n 'size--lg': this.size === 'lg',\n inline: this.inline,\n })}\"\n aria-labelledby=\"label-${this.name}\"\n aria-expanded=${this.open}\n aria-controls=\"options\"\n role=\"combobox\"\n id=${this.name}\n name=${this.name}\n title=${this._textStrings.title}\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?invalid=${this._isInvalid}\n tabindex=${this.disabled ? '' : this.searchable ? '-1' : '0'}\n @mousedown=${(e: any) => {\n if (!this.searchable) {\n e.preventDefault();\n }\n }}\n @blur=${(e: any) => e.stopPropagation()}\n >\n ${this.multiple && this.value.length\n ? html`\n <button\n class=\"clear-multiple\"\n aria-label=\"${this.value\n .length} items selected. Clear selections\"\n ?disabled=${this.disabled}\n title=${this._textStrings.clear}\n @click=${(e: Event) => this.handleClearMultiple(e)}\n >\n ${this.value.length}\n <span style=\"display:flex;\" class=\"clear-multiple-icon\"\n >${unsafeSVG(clearIcon)}</span\n >\n </button>\n `\n : null}\n ${this.searchable\n ? html`\n <input\n class=\"search\"\n type=\"text\"\n placeholder=${this.placeholder}\n value=${this.searchText}\n ?disabled=${this.disabled}\n aria-disabled=${this.disabled}\n @keydown=${(e: any) => this.handleSearchKeydown(e)}\n @input=${(e: any) => this.handleSearchInput(e)}\n @blur=${(e: any) => e.stopPropagation()}\n @click=${(e: any) => this.handleSearchClick(e)}\n />\n `\n : html`\n <span\n class=\"${classMap({\n 'placeholder-text': this.text === '',\n })}\"\n >\n ${this.multiple\n ? this.placeholder\n : this.value === ''\n ? this.placeholder\n : this.text}\n </span>\n `}\n\n <span class=\"arrow-icon\">${unsafeSVG(downIcon)}</span>\n </div>\n </slot>\n\n <div\n id=\"options\"\n class=${classMap({\n options: true,\n open: this.open,\n upwards: this._openUpwards,\n })}\n style=\"min-width: ${this.menuMinWidth};\"\n aria-hidden=${!this.open}\n @keydown=${this.handleListKeydown}\n @blur=${this.handleListBlur}\n @focus=${this._handleListFocus}\n >\n ${this.allowAddOption\n ? html`\n <div class=\"add-option\">\n <input\n class=\"add-option-input\"\n type=\"text\"\n placeholder=${this._textStrings.addItem}\n .value=${this.newOptionValue}\n aria-label=\"Add new option\"\n @input=${this._handleInputNewOption}\n @keydown=${this._onAddOptionInputKeydown}\n @focus=${this._onAddOptionInputFocus}\n />\n <kyn-button\n type=\"button\"\n size=\"small\"\n kind=\"secondary\"\n @on-click=${this._handleAddOption}\n >\n ${this._textStrings.add}\n </kyn-button>\n </div>\n `\n : null}\n\n <div role=\"listbox\" aria-labelledby=\"label-${this.name}\">\n ${this.multiple && this.selectAll\n ? html`\n ${this.enhanced\n ? html`\n <kyn-enhanced-dropdown-option\n class=\"select-all\"\n value=\"selectAll\"\n multiple\n ?selected=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?disabled=${this.disabled}\n >\n ${this.selectAllText}\n </kyn-enhanced-dropdown-option>\n `\n : html`\n <kyn-dropdown-option\n class=\"select-all\"\n value=\"selectAll\"\n multiple\n ?selected=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?disabled=${this.disabled}\n >\n ${this.selectAllText}\n </kyn-dropdown-option>\n `}\n `\n : null}\n\n <slot\n id=\"children\"\n @slotchange=${() => this.handleSlotChange()}\n ></slot>\n </div>\n </div>\n </div>\n ${this.hasSearch && this.open\n ? html`\n <kyn-button\n ?disabled=${this.disabled}\n class=\"clear-button dropdown-clear\"\n kind=\"ghost\"\n size=\"small\"\n description=${this._textStrings.clearAll}\n @click=${(e: Event) => this.handleClear(e)}\n >\n <span style=\"display:flex;\">${unsafeSVG(clearIcon)}</span>\n </kyn-button>\n `\n : null}\n </div>\n ${this.renderHelperContent()}\n </div>\n `;\n }\n\n private _onAddOptionInputKeydown(e: KeyboardEvent) {\n e.stopPropagation();\n switch (e.key) {\n case KEY.Enter:\n this._handleAddOption();\n break;\n case KEY.Escape:\n this.newOptionValue = '';\n this.open = false;\n this.buttonEl.focus();\n break;\n case KEY.ArrowDown:\n this.handleKeyboard(e, 40, 'addOption');\n break;\n case KEY.ArrowUp:\n this.handleKeyboard(e, 38, 'addOption');\n break;\n }\n }\n\n private _onAddOptionInputFocus() {\n this.assistiveText = 'Add new option input';\n }\n\n private handleAnchorClick(e: MouseEvent) {\n if (this.disabled) return;\n\n const path = (e.composedPath?.() || []) as Array<EventTarget>;\n const isInOptions =\n path.some((t) => (t as HTMLElement)?.classList?.contains('options')) ||\n (e.target as HTMLElement)?.closest?.(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option, .add-option'\n );\n\n if (isInOptions) return;\n\n this.handleClick();\n }\n private handleAnchorKeydown(e: any) {\n if (this.disabled) return;\n this.handleButtonKeydown(e);\n }\n\n private _handleAddOption() {\n const v = this.newOptionValue.trim();\n if (!v) return;\n this.dispatchEvent(\n new CustomEvent('on-add-option', { detail: { value: v } })\n );\n this.newOptionValue = '';\n }\n\n private renderHelperContent() {\n return html`\n ${\n this.multiple && !this.hideTags && this._tags.length\n ? html`\n <kyn-tag-group\n filter\n role=\"list\"\n aria-label=${this._textStrings.selectedOptions}\n >\n ${this._tags.map((tag: any) => {\n return html`\n <kyn-tag\n role=\"listitem\"\n label=${tag.text}\n ?disabled=${this.disabled || tag.disabled}\n @on-close=${() => this.handleTagClear(tag)}\n ></kyn-tag>\n `;\n })}\n </kyn-tag-group>\n `\n : null\n }\n ${\n this.caption !== ''\n ? html`\n <div class=\"caption\" aria-disabled=${this.disabled}>\n ${this.caption}\n </div>\n `\n : null\n }\n ${\n this._isInvalid\n ? html`\n <div class=\"error\">\n <span\n class=\"error-icon\"\n role=\"img\"\n title=${this._textStrings.errorText}\n aria-label=${this._textStrings.errorText}\n >${unsafeSVG(errorIcon)}</span\n >\n ${this.invalidText || this._internalValidationMsg}\n </div>\n `\n : null\n }\n\n <div\n class=\"assistive-text\"\n role=\"status\"\n aria-live=\"assertive\"\n aria-relevant=\"additions text\"\n >\n ${this.assistiveText}\n </div>\n </div>\n `;\n }\n\n override firstUpdated() {\n // set a default placeholder if none provided\n if (this.placeholder === '') {\n if (this.searchable) {\n this.placeholder = 'Search';\n } else {\n if (this.multiple) {\n this.placeholder = 'Select items';\n } else {\n this.placeholder = 'Select an option';\n }\n }\n }\n }\n\n private handleSlotChange() {\n this.updateChildOptions();\n this._updateOptions();\n this._updateSelectedText();\n }\n\n private updateChildOptions() {\n // Get all slotted kyn-dropdown-option elements\n const slot = this.shadowRoot?.querySelector('#children') as HTMLSlotElement;\n const options = slot.assignedElements({ flatten: true }) as HTMLElement[];\n\n // Pass allowAddOption to each kyn-dropdown-option\n options.forEach((option) => {\n if (\n option.tagName === 'KYN-DROPDOWN-OPTION' ||\n option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION'\n ) {\n (option as any).allowAddOption = this.allowAddOption;\n }\n });\n }\n\n private handleClick() {\n if (!this.disabled) {\n this.open = !this.open;\n\n // focus search input if searchable\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n }\n }\n\n private handleButtonKeydown(e: any) {\n this.handleKeyboard(e, e.keyCode, 'button');\n }\n\n private handleListKeydown(e: any) {\n const TAB_KEY_CODE = 9;\n\n if (e.keyCode !== TAB_KEY_CODE) {\n e.preventDefault();\n }\n\n this.handleKeyboard(e, e.keyCode, 'list');\n }\n\n private _handleListFocus() {\n const selectAllOptions = Array.from(\n this.shadowRoot?.querySelectorAll('.select-all') || []\n ) as any[];\n const filteredOptions = this.options.filter(\n (option: any) => option.style.display !== 'none'\n );\n const visibleOptions = [...selectAllOptions, ...filteredOptions] as any[];\n\n const firstEnabled = visibleOptions.find((o: any) => !o.disabled) as any;\n if (!firstEnabled) return;\n\n visibleOptions.forEach((o: any) => (o.highlighted = false));\n\n if (!('tabIndex' in firstEnabled) || firstEnabled.tabIndex < 0) {\n firstEnabled.tabIndex = 0;\n }\n firstEnabled.focus();\n firstEnabled.scrollIntoView({ block: 'nearest' });\n this.assistiveText = firstEnabled.text || 'Option';\n }\n\n private handleListBlur(e: FocusEvent): void {\n if (this.multiple) {\n return;\n }\n\n this.options.forEach((o) => (o.highlighted = false));\n const target = e.relatedTarget as HTMLElement | null;\n\n if (\n target &&\n (target.closest('kyn-dropdown-option') ||\n target.closest('kyn-enhanced-dropdown-option') ||\n target.classList.contains('search') ||\n target.closest('.add-option'))\n ) {\n return;\n }\n\n this.open = false;\n this.assistiveText = 'Dropdown menu options.';\n }\n\n private handleKeyboard(e: any, keyCode: number, target: string) {\n const SPACEBAR_KEY_CODE = [0, 32];\n const ENTER_KEY_CODE = 13;\n const DOWN_ARROW_KEY_CODE = 40;\n const UP_ARROW_KEY_CODE = 38;\n const ESCAPE_KEY_CODE = 27;\n\n // get highlighted element + index and selected element\n const selectAllOptions = Array.from(\n this.shadowRoot?.querySelectorAll('.select-all') || []\n ) as any[];\n const filteredOptions = this.options.filter(\n (option: any) => option.style.display !== 'none'\n );\n const visibleOptions = [...selectAllOptions, ...filteredOptions] as any[];\n // visibleOptions.forEach((e) => (e.tabIndex = 0));\n\n const highlightedEl = visibleOptions.find(\n (option: any) => option.highlighted\n );\n const selectedEl = visibleOptions.find((option: any) => option.selected);\n let highlightedIndex = highlightedEl\n ? visibleOptions.indexOf(highlightedEl)\n : selectedEl\n ? visibleOptions.indexOf(selectedEl)\n : 0;\n\n // prevent page scroll on spacebar press\n if (SPACEBAR_KEY_CODE.includes(keyCode)) {\n e.preventDefault();\n }\n\n const isListboxElOpened = this.open;\n // open the listbox\n if (target === 'button' || target === 'addOption') {\n let openDropdown =\n SPACEBAR_KEY_CODE.includes(keyCode) ||\n keyCode === ENTER_KEY_CODE ||\n keyCode == DOWN_ARROW_KEY_CODE ||\n keyCode == UP_ARROW_KEY_CODE;\n\n if (e.target === this.clearMultipleEl && keyCode === ENTER_KEY_CODE) {\n openDropdown = false;\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[highlightedIndex].selected =\n !visibleOptions[highlightedIndex].selected;\n highlightedIndex = 0;\n if (keyCode !== ENTER_KEY_CODE) return;\n }\n\n if (openDropdown) {\n this.open = true;\n\n if (\n this.allowAddOption &&\n target === 'button' &&\n keyCode === ENTER_KEY_CODE\n ) {\n setTimeout(() => {\n this.addOptionInputEl?.focus();\n }, 100);\n } else {\n // scroll to highlighted option\n if (!this.multiple && this.value !== '') {\n visibleOptions[highlightedIndex].scrollIntoView({\n block: 'nearest',\n });\n }\n }\n }\n }\n switch (keyCode) {\n case 0:\n case 32:\n case ENTER_KEY_CODE: {\n // select highlighted option\n visibleOptions[highlightedIndex].highlighted = true;\n if (isListboxElOpened) {\n if (this.multiple) {\n visibleOptions[highlightedIndex].selected =\n !visibleOptions[highlightedIndex].selected;\n this._handleClick({\n detail: {\n value: visibleOptions[highlightedIndex].value,\n selected: visibleOptions[highlightedIndex].selected,\n },\n });\n } else {\n visibleOptions.forEach((e) => (e.selected = false));\n visibleOptions[highlightedIndex].selected = true;\n this.updateValue(visibleOptions[highlightedIndex].value, true);\n this.emitValue();\n\n this.open = false;\n this.assistiveText = `Selected ${visibleOptions[highlightedIndex].value}`;\n }\n }\n return;\n }\n case DOWN_ARROW_KEY_CODE: {\n // go to next option\n let nextIndex =\n !highlightedEl && !selectedEl\n ? 0\n : highlightedIndex === visibleOptions.length - 1\n ? 0\n : highlightedIndex + 1;\n\n // skip disabled options\n if (visibleOptions[nextIndex].disabled) {\n nextIndex =\n nextIndex === visibleOptions.length - 1 ? 0 : nextIndex + 1;\n }\n\n visibleOptions[nextIndex].focus();\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[nextIndex].highlighted = true;\n\n // scroll to option\n visibleOptions[nextIndex].scrollIntoView({ block: 'nearest' });\n\n this.assistiveText = visibleOptions[nextIndex].text;\n return;\n }\n case UP_ARROW_KEY_CODE: {\n // go to previous option\n let nextIndex =\n highlightedIndex === 0\n ? visibleOptions.length - 1\n : highlightedIndex - 1;\n\n // skip disabled options\n if (visibleOptions[nextIndex].disabled) {\n nextIndex =\n nextIndex === 0 ? visibleOptions.length - 1 : nextIndex - 1;\n }\n\n visibleOptions[nextIndex].focus();\n visibleOptions[highlightedIndex].highlighted = false;\n visibleOptions[nextIndex].highlighted = true;\n\n // scroll to option\n visibleOptions[nextIndex].scrollIntoView({ block: 'nearest' });\n\n this.assistiveText = visibleOptions[nextIndex].text;\n return;\n }\n case ESCAPE_KEY_CODE: {\n // close listbox\n this.open = false;\n\n // restore focus\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n\n this.assistiveText = 'Dropdown menu options.';\n return;\n }\n default: {\n return;\n }\n }\n }\n\n private handleClearMultiple(e: any) {\n e.stopPropagation();\n\n // clear values\n if (this.multiple) {\n const Slot: any = this.shadowRoot?.querySelector('slot#children');\n const Options: Array<any> = Slot.assignedElements();\n const DisabledSelectedOptions: Array<any> = Options.filter(\n (option: any) => option.selected && option.disabled\n ).map((option: any) => option.value);\n\n this.value = DisabledSelectedOptions.length\n ? DisabledSelectedOptions\n : [];\n } else {\n this.value = '';\n }\n\n this._validate(true, false);\n this._updateSelectedOptions();\n this.emitValue();\n\n const event = new CustomEvent('on-clear-all', {\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private handleTagClear(tag: any) {\n // remove value\n this.updateValue(tag.value, false);\n this._updateSelectedOptions();\n this.emitValue();\n }\n\n private handleClear(e: any) {\n e.stopPropagation();\n\n // reset search input text\n this.text = '';\n this.searchText = '';\n this.searchEl.value = '';\n\n this._emitSearch();\n\n if (this.filterSearch) {\n // reveal all options\n this.options.map((option: any) => {\n option.style.display = 'block';\n });\n }\n\n // clear selection for single select\n if (!this.multiple) {\n this.value = '';\n this._validate(true, false);\n this._updateSelectedOptions();\n this.emitValue();\n }\n }\n\n private handleSearchClick(e: any) {\n e.stopPropagation();\n this.open = true;\n if ((this.searchText ?? '').trim() === '') this.searchText = '';\n }\n\n private handleSearchKeydown(e: any) {\n e.stopPropagation();\n\n const ENTER_KEY_CODE = 13;\n const ESCAPE_KEY_CODE = 27;\n const option = this.options.find((option) => option.highlighted);\n const highlightedIndex = this.options.findIndex(\n (option) => option.highlighted\n );\n this.searchTextEntered = false;\n // select option\n if (e.keyCode === ENTER_KEY_CODE) {\n this.searchTextEntered = true;\n if (option) {\n if (this.prevSearchKeydownIndex !== highlightedIndex) {\n if (this.multiple) {\n option.selected = !option.selected;\n } else {\n this.options.forEach((e) => (e.selected = false));\n option.selected = true;\n this.open = false;\n }\n this.updateValue(option.value, option.selected);\n }\n\n if (option.selected) {\n this.assistiveText = `Selected ${option.innerHTML}`;\n this.prevSearchKeydownIndex = highlightedIndex;\n } else {\n this.assistiveText = `Deselected ${option.innerHTML}`;\n }\n } else {\n this.assistiveText = 'No item matched.';\n }\n }\n\n // close listbox\n if (e.keyCode === ESCAPE_KEY_CODE) {\n this.open = false;\n this.buttonEl.focus();\n }\n }\n\n private handleSearchInput(e: any) {\n const value = e.target.value;\n this.searchText = value;\n this.open = true;\n\n this._emitSearch();\n\n if (this.filterSearch) {\n // hide items that don't match\n this.options.map((option: any) => {\n let searchText = option.text;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n searchText = titleSlot.textContent.trim();\n } else {\n searchText = option.displayText || option.value;\n }\n }\n\n if (searchText.toLowerCase().includes(value.toLowerCase())) {\n option.style.display = 'block';\n } else {\n option.style.display = 'none';\n }\n });\n } else {\n // find matches\n const options = this.options.filter((option: any) => {\n let searchText = option.text;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n searchText = titleSlot.textContent.trim();\n } else {\n searchText = option.displayText || option.value;\n }\n }\n\n return searchText.toLowerCase().startsWith(value.toLowerCase());\n });\n\n // reset options highlighted state\n this.options.forEach((option) => (option.highlighted = false));\n\n // option highlight and scroll\n if (value !== '' && options.length) {\n options[0].highlighted = true;\n options[0].scrollIntoView({ block: 'nearest' });\n if (this.searchTextEntered) this.assistiveText = 'Option Matched';\n }\n }\n }\n\n private _updateSelectedOptions() {\n // set selected state for each option\n this.options.forEach((option: any) => {\n if (this.multiple) {\n option.selected = this.value.includes(option.value);\n } else {\n option.selected = this.value === option.value;\n }\n });\n }\n\n private _handleClick(e: any) {\n if (e.detail.value === 'selectAll') {\n this.selectAllChecked = e.detail.selected;\n\n const Slot: any = this.shadowRoot?.querySelector('slot#children');\n const Options: Array<any> = Slot.assignedElements();\n const DisabledSelectedOptions: Array<any> = Options.filter(\n (option: any) => option.selected && option.disabled\n ).map((option: any) => option.value);\n\n if (e.detail.selected) {\n this.value = this.options\n .filter(\n (option) => !option.disabled || (option.disabled && option.selected)\n )\n .map((option) => option.value);\n this.assistiveText = 'Selected all items.';\n } else {\n this.value = DisabledSelectedOptions.length\n ? DisabledSelectedOptions\n : [];\n this.assistiveText = 'Deselected all items.';\n }\n\n this._validate(true, false);\n } else {\n this.updateValue(e.detail.value, e.detail.selected);\n this.assistiveText = e.detail.selected\n ? `Selected ${e.detail.value}`\n : `Deselected ${e.detail.value}`;\n }\n\n this._updateSelectedOptions();\n\n if (!this.multiple) {\n this.open = false;\n }\n\n // emit selected value\n this.emitValue();\n }\n\n private _handleBlur(e: any) {\n const relatedTarget = e.detail.origEvent.relatedTarget;\n\n if (\n !relatedTarget ||\n (relatedTarget?.localName !== 'kyn-dropdown-option' &&\n relatedTarget?.localName !== 'kyn-enhanced-dropdown-option' &&\n relatedTarget.localName !== 'kyn-dropdown')\n ) {\n this.open = false;\n }\n }\n\n private _handleClickOut(e: Event) {\n if (!e.composedPath().includes(this)) {\n this.open = false;\n }\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this._onConnected();\n\n document.addEventListener('click', this._onDocumentClick);\n\n this.addEventListener('on-click', this._onChildClick);\n this.addEventListener('on-remove-option', this._onChildRemove);\n this.addEventListener('on-blur', this._onChildBlur);\n }\n\n override disconnectedCallback() {\n this._onDisconnected();\n\n document.removeEventListener('click', this._onDocumentClick);\n this.removeEventListener('on-click', this._onChildClick);\n this.removeEventListener('on-remove-option', this._onChildRemove);\n this.removeEventListener('on-blur', this._onChildBlur);\n\n super.disconnectedCallback();\n }\n\n private updateValue(value: string, selected = false) {\n // set value\n if (this.multiple) {\n const values =\n this.value === '' ? [] : JSON.parse(JSON.stringify(this.value));\n\n // update array\n if (selected) {\n values.push(value);\n } else {\n const index = values.indexOf(value);\n values.splice(index, 1);\n }\n\n this.value = values;\n } else {\n this.value = value;\n }\n\n this._validate(true, false);\n\n // reset focus\n if (!this.multiple) {\n if (this.searchable) {\n this.searchEl.focus();\n } else {\n this.buttonEl.focus();\n }\n }\n }\n\n private _validate(interacted: Boolean, report: Boolean) {\n // set validity flags\n const Validity = {\n customError: this.invalidText !== '',\n valueMissing:\n this.required &&\n (!this.value ||\n (this.multiple && !this.value.length) ||\n (!this.multiple && this.value === '')),\n };\n\n // set validationMessage\n const InternalMsg =\n this.required && !this.value.length ? 'Please fill out this field.' : '';\n const ValidationMessage =\n this.invalidText !== '' ? this.invalidText : InternalMsg;\n\n const validationAnchor = this.buttonEl || this.listboxEl;\n\n if (validationAnchor) {\n this._internals.setValidity(\n Validity,\n ValidationMessage,\n validationAnchor\n );\n } else {\n this._internals.setValidity(Validity, ValidationMessage);\n }\n\n if (interacted) {\n this._internalValidationMsg = InternalMsg;\n }\n\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n private emitValue() {\n const event = new CustomEvent('on-change', {\n detail: {\n value: this.value,\n },\n });\n this.dispatchEvent(event);\n }\n\n private _emitSearch() {\n const event = new CustomEvent('on-search', {\n detail: {\n searchText: this.searchText,\n },\n });\n this.dispatchEvent(event);\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n\n override updated(changedProps: PropertyValues) {\n super.updated(changedProps);\n\n if (changedProps.has('kind')) {\n this.dispatchEvent(\n new CustomEvent('kind-changed', {\n detail: this.kind,\n bubbles: true,\n composed: true,\n })\n );\n\n this.classList.toggle('ai-connected', this.kind === 'ai');\n }\n\n const root = this.shadowRoot;\n if (!root) return;\n\n if (changedProps.has('open')) {\n const slot = root.querySelector<HTMLSlotElement>('slot[name=\"anchor\"]');\n const assigned = slot?.assignedElements({ flatten: true }) as\n | HTMLElement[]\n | undefined;\n const btn = assigned?.find(\n (el) => !el.querySelector('.clear-multiple-icon')\n );\n const icon = btn?.querySelector<HTMLElement>('span[slot=\"icon\"]');\n if (icon) {\n icon.style.transition = 'transform 0.2s ease-in-out';\n icon.style.transform = this.open ? 'rotate(180deg)' : 'rotate(0deg)';\n }\n }\n\n this._onUpdated(changedProps);\n\n if (changedProps.has('value')) {\n this._updateOptions();\n\n const childrenSlot: any =\n root.querySelector<HTMLSlotElement>('slot#children');\n const options = childrenSlot\n .assignedElements()\n .filter((o: any): o is HTMLElement => !o.disabled);\n const selected = options.filter((o: any) => o.selected);\n\n this.selectAllChecked = selected.length === options.length;\n this.selectAllIndeterminate =\n selected.length > 0 && selected.length < options.length;\n\n this._updateTags();\n this._updateSelectedText();\n }\n\n if (changedProps.has('open') || changedProps.has('openDirection')) {\n if (this.open) {\n this.options.forEach((o) => (o.highlighted = false));\n\n if (!this.searchable && this.listboxEl) {\n this.listboxEl.focus({ preventScroll: true });\n this.assistiveText =\n 'Selecting items. Use up and down arrow keys to navigate.';\n }\n }\n\n if (this.openDirection === 'up') {\n this._openUpwards = true;\n } else if (this.openDirection === 'down') {\n this._openUpwards = false;\n } else if (this.open) {\n const rect = this.buttonEl.getBoundingClientRect();\n this._openUpwards = rect.top > window.innerHeight * 0.6;\n }\n\n if (this.open && !this.multiple) {\n const firstSelected = this.options.find((o) => o.selected);\n firstSelected?.scrollIntoView({ block: 'nearest' });\n }\n }\n\n if (changedProps.has('multiple')) {\n this.options.forEach((opt) => (opt.multiple = this.multiple));\n }\n\n if (changedProps.has('searchText') && this.searchEl) {\n this.searchEl.value = this.searchText;\n }\n\n if (changedProps.has('allowAddOption')) {\n this.updateChildOptions();\n }\n }\n\n private get hasSearch(): boolean {\n return (this.searchText ?? '').trim().length > 0;\n }\n\n // add selected options to Tags array\n private _updateTags() {\n if (this.multiple) {\n const Options: any = Array.from(\n this.querySelectorAll(\n 'kyn-dropdown-option, kyn-enhanced-dropdown-option'\n )\n );\n const Tags: Array<object> = [];\n\n if (Options) {\n Options.forEach((option: any) => {\n if (option.selected) {\n let text = option.textContent;\n\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n text = titleSlot.textContent.trim();\n } else {\n text = option.displayText || option.value;\n }\n } else {\n text = option.textContent.trim();\n }\n\n Tags.push({\n value: option.value,\n text: text,\n disabled: option.disabled,\n });\n }\n });\n\n this._tags = Tags;\n }\n }\n }\n\n private _updateOptions() {\n const Options: any = Array.from(\n this.querySelectorAll('kyn-dropdown-option, kyn-enhanced-dropdown-option')\n );\n\n Options.forEach((option: any) => {\n // set option multiple state\n option.multiple = this.multiple;\n\n if (this.multiple) {\n const Selected = this.value.includes(option.value);\n // set option selected state\n option.selected = Selected;\n } else {\n option.selected = this.value === option.value;\n }\n });\n }\n\n private _handleInputNewOption(e: Event) {\n const target = e.target as HTMLInputElement;\n this.newOptionValue = target.value;\n }\n\n private _handleRemoveOption() {\n this.assistiveText = 'MY option removed ';\n setTimeout(() => {\n this.open = false;\n this.buttonEl.focus();\n }, 100);\n }\n\n private _updateSelectedText() {\n // update selected option text\n const AllOptions: any = Array.from(\n this.querySelectorAll('kyn-dropdown-option, kyn-enhanced-dropdown-option')\n );\n\n if (!this.multiple) {\n if (AllOptions.length && this.value !== '') {\n const option = AllOptions.find(\n (option: any) => option.value === this.value\n );\n if (option) {\n if (option.tagName === 'KYN-ENHANCED-DROPDOWN-OPTION') {\n const titleSlot = option.querySelector('[slot=\"title\"]');\n if (titleSlot && titleSlot.textContent.trim()) {\n this.text = titleSlot.textContent.trim();\n } else {\n this.text = option.displayText || this.value;\n }\n } else {\n this.text = option.textContent.trim();\n }\n } else {\n this.text = '';\n console.warn(`No dropdown option found with value: ${this.value}`);\n }\n }\n\n if (this.searchable && this.text) {\n this.searchText = this.text === this.placeholder ? '' : this.text;\n this.searchEl.value = this.searchText;\n }\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-dropdown': Dropdown;\n }\n}\n"],"names":["_defaultTextStrings","title","selectedOptions","requiredText","errorText","clearAll","clear","addItem","add","KEY","Dropdown","customElement","FormMixin","LitElement","_classThis","_classSuper","_Dropdown_label_accessor_storage","set","this","__runInitializers","_label_initializers","_Dropdown_size_accessor_storage","_label_extraInitializers","_size_initializers","_Dropdown_kind_accessor_storage","_size_extraInitializers","_kind_initializers","_Dropdown_inline_accessor_storage","_kind_extraInitializers","_inline_initializers","_Dropdown_caption_accessor_storage","_inline_extraInitializers","_caption_initializers","_Dropdown_placeholder_accessor_storage","_caption_extraInitializers","_placeholder_initializers","_Dropdown_open_accessor_storage","_placeholder_extraInitializers","_open_initializers","_Dropdown_searchable_accessor_storage","_open_extraInitializers","_searchable_initializers","_Dropdown_enhanced_accessor_storage","_searchable_extraInitializers","_enhanced_initializers","_Dropdown_filterSearch_accessor_storage","_enhanced_extraInitializers","_filterSearch_initializers","_Dropdown_multiple_accessor_storage","_filterSearch_extraInitializers","_multiple_initializers","_Dropdown_required_accessor_storage","_multiple_extraInitializers","_required_initializers","_Dropdown_hideLabel_accessor_storage","_required_extraInitializers","_hideLabel_initializers","_Dropdown_disabled_accessor_storage","_hideLabel_extraInitializers","_disabled_initializers","_Dropdown_hideTags_accessor_storage","_disabled_extraInitializers","_hideTags_initializers","_Dropdown_selectAll_accessor_storage","_hideTags_extraInitializers","_selectAll_initializers","_Dropdown_selectAllText_accessor_storage","_selectAll_extraInitializers","_selectAllText_initializers","_Dropdown_menuMinWidth_accessor_storage","_selectAllText_extraInitializers","_menuMinWidth_initializers","_Dropdown_openDirection_accessor_storage","_menuMinWidth_extraInitializers","_openDirection_initializers","_Dropdown_selectAllChecked_accessor_storage","_openDirection_extraInitializers","_selectAllChecked_initializers","_Dropdown_selectAllIndeterminate_accessor_storage","_selectAllChecked_extraInitializers","_selectAllIndeterminate_initializers","_Dropdown_textStrings_accessor_storage","_selectAllIndeterminate_extraInitializers","_textStrings_initializers","_Dropdown_allowAddOption_accessor_storage","_textStrings_extraInitializers","_allowAddOption_initializers","_Dropdown__textStrings_accessor_storage","_allowAddOption_extraInitializers","__textStrings_initializers","_Dropdown_newOptionValue_accessor_storage","__textStrings_extraInitializers","_newOptionValue_initializers","_Dropdown_text_accessor_storage","_newOptionValue_extraInitializers","_text_initializers","_Dropdown_searchText_accessor_storage","_text_extraInitializers","_searchText_initializers","_Dropdown_assistiveText_accessor_storage","_searchText_extraInitializers","_assistiveText_initializers","_Dropdown_searchEl_accessor_storage","_assistiveText_extraInitializers","_searchEl_initializers","_Dropdown_buttonEl_accessor_storage","_searchEl_extraInitializers","_buttonEl_initializers","_Dropdown_listboxEl_accessor_storage","_buttonEl_extraInitializers","_listboxEl_initializers","_Dropdown_clearMultipleEl_accessor_storage","_listboxEl_extraInitializers","_clearMultipleEl_initializers","_Dropdown_addOptionInputEl_accessor_storage","_clearMultipleEl_extraInitializers","_addOptionInputEl_initializers","_Dropdown__openUpwards_accessor_storage","_addOptionInputEl_extraInitializers","__openUpwards_initializers","_Dropdown__tags_accessor_storage","__openUpwards_extraInitializers","__tags_initializers","searchTextEntered","__tags_extraInitializers","prevSearchKeydownIndex","_onDocumentClick","e","_handleClickOut","_onChildClick","_handleClick","_onChildRemove","_e","_handleRemoveOption","_onChildBlur","_handleBlur","label","__classPrivateFieldGet","value","__classPrivateFieldSet","size","kind","inline","caption","placeholder","open","searchable","enhanced","filterSearch","multiple","required","hideLabel","disabled","hideTags","selectAll","selectAllText","menuMinWidth","openDirection","selectAllChecked","selectAllIndeterminate","textStrings","allowAddOption","_textStrings","newOptionValue","text","searchText","assistiveText","options","Array","from","querySelectorAll","filter","opt","hasAttribute","searchEl","buttonEl","listboxEl","clearMultipleEl","addOptionInputEl","_openUpwards","_tags","render","mainDropdownClasses","dropdown","html","classMap","name","_a","wrapper","handleAnchorClick","handleAnchorKeydown","select","_isInvalid","preventDefault","stopPropagation","length","handleClearMultiple","unsafeSVG","clearIcon","handleSearchKeydown","handleSearchInput","handleSearchClick","downIcon","upwards","handleListKeydown","handleListBlur","_handleListFocus","_handleInputNewOption","_onAddOptionInputKeydown","_onAddOptionInputFocus","_handleAddOption","handleSlotChange","hasSearch","handleClear","renderHelperContent","key","focus","handleKeyboard","isInOptions","composedPath","call","some","t","classList","contains","_c","_b","target","closest","handleClick","handleButtonKeydown","v","trim","dispatchEvent","CustomEvent","detail","map","tag","handleTagClear","errorIcon","invalidText","_internalValidationMsg","firstUpdated","updateChildOptions","_updateOptions","_updateSelectedText","shadowRoot","querySelector","assignedElements","flatten","forEach","option","tagName","keyCode","visibleOptions","style","display","firstEnabled","find","o","highlighted","tabIndex","scrollIntoView","block","relatedTarget","SPACEBAR_KEY_CODE","highlightedEl","selectedEl","selected","highlightedIndex","indexOf","includes","isListboxElOpened","openDropdown","setTimeout","updateValue","emitValue","nextIndex","DisabledSelectedOptions","_validate","_updateSelectedOptions","event","_emitSearch","findIndex","innerHTML","titleSlot","textContent","displayText","toLowerCase","startsWith","origEvent","localName","connectedCallback","super","_onConnected","document","addEventListener","disconnectedCallback","_onDisconnected","removeEventListener","values","JSON","parse","stringify","push","index","splice","interacted","report","Validity","customError","valueMissing","InternalMsg","ValidationMessage","validationAnchor","_internals","setValidity","reportValidity","willUpdate","changedProps","has","deepmerge","updated","bubbles","composed","toggle","root","slot","assigned","btn","el","icon","transition","transform","_onUpdated","_updateTags","preventScroll","rect","getBoundingClientRect","top","window","innerHeight","firstSelected","Options","Tags","Selected","AllOptions","console","warn","_label_decorators","property","type","String","_size_decorators","attribute","_inline_decorators","Boolean","_caption_decorators","_placeholder_decorators","reflect","_searchable_decorators","_enhanced_decorators","_filterSearch_decorators","_multiple_decorators","_required_decorators","_hideLabel_decorators","_disabled_decorators","_hideTags_decorators","_selectAll_decorators","_selectAllText_decorators","_menuMinWidth_decorators","_openDirection_decorators","_selectAllChecked_decorators","_selectAllIndeterminate_decorators","_textStrings_decorators","Object","_allowAddOption_decorators","__textStrings_decorators","state","_newOptionValue_decorators","_text_decorators","_searchText_decorators","_assistiveText_decorators","query","__openUpwards_decorators","__tags_decorators","__esDecorate","static","private","access","obj","get","metadata","_metadata","_kind_decorators","_open_decorators","_searchEl_decorators","_buttonEl_decorators","_listboxEl_decorators","_clearMultipleEl_decorators","_addOptionInputEl_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","DropdownScss"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kyndryl-design-system/shidoka-applications",
3
- "version": "2.59.0",
3
+ "version": "2.59.2",
4
4
  "description": "Shidoka Web Components for Applications",
5
5
  "license": "MIT",
6
6
  "main": "index.js",
@@ -69,7 +69,7 @@
69
69
  "@typescript-eslint/parser": "^5.48.1",
70
70
  "@vitest/browser": "^3.2.4",
71
71
  "@vitest/coverage-v8": "^3.2.4",
72
- "axe-playwright": "^2.1.0",
72
+ "axe-playwright": "^2.2.2",
73
73
  "chromatic": "^11.2.0",
74
74
  "eslint": "^8.57.0",
75
75
  "eslint-plugin-lit-a11y": "^1.1.0-next.1",
@@ -77,7 +77,7 @@
77
77
  "husky": "^8.0.3",
78
78
  "lint-staged": "^15.4.3",
79
79
  "lit-analyzer": "^2.0.3",
80
- "playwright": "^1.55.0",
80
+ "playwright": "^1.55.1",
81
81
  "postcss": "^8.4.21",
82
82
  "prettier": "^2.8.2",
83
83
  "prismjs-components-importer": "^0.2.0",