@kyndryl-design-system/shidoka-applications 2.95.2 → 2.96.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/common/scss/form-input.scss +4 -0
  2. package/components/reusable/checkbox/checkboxGroup.js +15 -3
  3. package/components/reusable/checkbox/checkboxGroup.js.map +1 -1
  4. package/components/reusable/colorInput/colorInput.js +15 -3
  5. package/components/reusable/colorInput/colorInput.js.map +1 -1
  6. package/components/reusable/datePicker/datepicker.js +13 -1
  7. package/components/reusable/datePicker/datepicker.js.map +1 -1
  8. package/components/reusable/datePicker/index.js +1 -1
  9. package/components/reusable/daterangepicker/daterangepicker.js +13 -1
  10. package/components/reusable/daterangepicker/daterangepicker.js.map +1 -1
  11. package/components/reusable/daterangepicker/index.js +1 -1
  12. package/components/reusable/dropdown/dropdown.js +12 -0
  13. package/components/reusable/dropdown/dropdown.js.map +1 -1
  14. package/components/reusable/multiInputField/multiInputField.js +12 -0
  15. package/components/reusable/multiInputField/multiInputField.js.map +1 -1
  16. package/components/reusable/numberInput/numberInput.d.ts +2 -0
  17. package/components/reusable/numberInput/numberInput.d.ts.map +1 -1
  18. package/components/reusable/numberInput/numberInput.js +50 -31
  19. package/components/reusable/numberInput/numberInput.js.map +1 -1
  20. package/components/reusable/pagination/Pagination.js +2 -2
  21. package/components/reusable/pagination/Pagination.js.map +1 -1
  22. package/components/reusable/pagination/index.js +1 -1
  23. package/components/reusable/pagination/pagination-navigation-buttons.d.ts +1 -0
  24. package/components/reusable/pagination/pagination-navigation-buttons.d.ts.map +1 -1
  25. package/components/reusable/pagination/pagination-navigation-buttons.js +35 -21
  26. package/components/reusable/pagination/pagination-navigation-buttons.js.map +1 -1
  27. package/components/reusable/progressBar/progressBar.js +12 -0
  28. package/components/reusable/progressBar/progressBar.js.map +1 -1
  29. package/components/reusable/queryBuilder/index.js +1 -1
  30. package/components/reusable/queryBuilder/queryBuilder.js +1 -1
  31. package/components/reusable/queryBuilder/queryBuilderGroup.js +1 -1
  32. package/components/reusable/queryBuilder/queryBuilderRule.js +1 -1
  33. package/components/reusable/radioButton/radioButtonGroup.js +15 -3
  34. package/components/reusable/radioButton/radioButtonGroup.js.map +1 -1
  35. package/components/reusable/sideDrawer/sideDrawer.js +1 -1
  36. package/components/reusable/sliderInput/sliderInput.js +12 -0
  37. package/components/reusable/sliderInput/sliderInput.js.map +1 -1
  38. package/components/reusable/table/index.js +1 -1
  39. package/components/reusable/table/table-header.js +1 -1
  40. package/components/reusable/table/table.skeleton.js +1 -1
  41. package/components/reusable/textArea/textArea.js +15 -3
  42. package/components/reusable/textArea/textArea.js.map +1 -1
  43. package/components/reusable/textInput/textInput.js +12 -0
  44. package/components/reusable/textInput/textInput.js.map +1 -1
  45. package/components/reusable/timepicker/index.js +1 -1
  46. package/components/reusable/timepicker/timepicker.js +13 -1
  47. package/components/reusable/timepicker/timepicker.js.map +1 -1
  48. package/components/reusable/toggleButton/toggleButton.js +12 -0
  49. package/components/reusable/toggleButton/toggleButton.js.map +1 -1
  50. package/index.js +1 -1
  51. package/package.json +1 -1
  52. package/{shidoka-flatpickr-theme-CTco2ary.js → shidoka-flatpickr-theme-BqZcH5Up.js} +13 -1
  53. package/{shidoka-flatpickr-theme-CTco2ary.js.map → shidoka-flatpickr-theme-BqZcH5Up.js.map} +1 -1
@@ -169,6 +169,10 @@ textarea {
169
169
  left: var(--kyn-error-left, auto);
170
170
  right: var(--kyn-error-right, auto);
171
171
 
172
+ &.sr-only {
173
+ @include visibility.sr-only;
174
+ }
175
+
172
176
  &.error-text {
173
177
  .error-icon {
174
178
  display: flex;
@@ -1,4 +1,4 @@
1
- import{__setFunctionName as e,__esDecorate as t,__runInitializers as i,__classPrivateFieldGet as a,__classPrivateFieldSet as l}from"tslib";import{unsafeSVG as s}from"lit-html/directives/unsafe-svg.js";import{css as r,LitElement as o,unsafeCSS as n,html as d}from"lit";import{customElement as c,property as h,state as u}from"lit/decorators.js";import{deepmerge as p}from"deepmerge-ts";import{FormMixin as m}from"../../../common/mixins/form-input.js";import"../textInput/textInput.js";import"./checkbox.js";import{e as v}from"../../../vendor/@kyndryl-design-system/shidoka-icons-BKNlykoZ.js";import"lit/directives/if-defined.js";import"lit/directives/class-map.js";import"../button/button.js";import"lit-html/directives/class-map.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var k=r`*,
1
+ import{__setFunctionName as e,__esDecorate as t,__runInitializers as i,__classPrivateFieldGet as a,__classPrivateFieldSet as l}from"tslib";import{unsafeSVG as s}from"lit-html/directives/unsafe-svg.js";import{css as r,LitElement as o,unsafeCSS as n,html as d}from"lit";import{customElement as c,property as h,state as p}from"lit/decorators.js";import{deepmerge as u}from"deepmerge-ts";import{FormMixin as m}from"../../../common/mixins/form-input.js";import"../textInput/textInput.js";import"./checkbox.js";import{e as v}from"../../../vendor/@kyndryl-design-system/shidoka-icons-BKNlykoZ.js";import"lit/directives/if-defined.js";import"lit/directives/class-map.js";import"../button/button.js";import"lit-html/directives/class-map.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var k=r`*,
2
2
  *::before,
3
3
  *::after {
4
4
  box-sizing: border-box;
@@ -333,6 +333,18 @@ textarea:not([disabled])[invalid] {
333
333
  left: var(--kyn-error-left, auto);
334
334
  right: var(--kyn-error-right, auto);
335
335
  }
336
+ .error.sr-only {
337
+ border: 0;
338
+ clip: rect(0, 0, 0, 0);
339
+ height: 1px;
340
+ margin: -1px;
341
+ overflow: hidden;
342
+ padding: 0;
343
+ position: absolute;
344
+ text-indent: 200%;
345
+ white-space: nowrap;
346
+ width: 1px;
347
+ }
336
348
  .error.error-text .error-icon {
337
349
  display: flex;
338
350
  align-items: center;
@@ -588,7 +600,7 @@ fieldset {
588
600
 
589
601
  .error {
590
602
  order: 1;
591
- }`;const b={selectAll:"Select all",showMore:"Show more",showLess:"Show less",search:"Search",required:"Required",error:"Error"};let g=(()=>{var r,g,f,x,y,w,C,_,z,S,A,$,E,q,M,R,T,W,L;let j,F,I,V,B,O,D,P,U,Y,G,N,H,J,K,Q,X,Z,ee,te,ie,ae=[c("kyn-checkbox-group")],le=[],se=m(o),re=[],oe=[],ne=[],de=[],ce=[],he=[],ue=[],pe=[],me=[],ve=[],ke=[],be=[],ge=[],fe=[],xe=[],ye=[],we=[],Ce=[],_e=[],ze=[],Se=[],Ae=[],$e=[],Ee=[],qe=[],Me=[],Re=[],Te=[],We=[],Le=[],je=[],Fe=[],Ie=[],Ve=[],Be=[],Oe=[],De=[],Pe=[];return F=class extends se{constructor(){super(...arguments),this.value=[],r.set(this,i(this,re,!1)),g.set(this,(i(this,oe),i(this,ne,!1))),f.set(this,(i(this,de),i(this,ce,!1))),x.set(this,(i(this,he),i(this,ue,!1))),y.set(this,(i(this,pe),i(this,me,!1))),w.set(this,(i(this,ve),i(this,ke,!1))),C.set(this,(i(this,be),i(this,ge,!1))),_.set(this,(i(this,fe),i(this,xe,"legacy"))),z.set(this,(i(this,ye),i(this,we,!1))),S.set(this,(i(this,Ce),i(this,_e,!1))),A.set(this,(i(this,ze),i(this,Se,""))),$.set(this,(i(this,Ae),i(this,$e,""))),E.set(this,(i(this,Ee),i(this,qe,!1))),q.set(this,(i(this,Me),i(this,Re,4))),M.set(this,(i(this,Te),i(this,We,!1))),R.set(this,(i(this,Le),i(this,je,b))),T.set(this,(i(this,Fe),i(this,Ie,b))),W.set(this,(i(this,Ve),i(this,Be,[]))),L.set(this,(i(this,Oe),i(this,De,[]))),this._onCheckboxChange=(i(this,Pe),e=>this._handleCheckboxChange(e)),this._onCheckboxSubgroupChange=e=>this._handleSubgroupChange(e)}get required(){return a(this,r,"f")}set required(e){l(this,r,e,"f")}get disabled(){return a(this,g,"f")}set disabled(e){l(this,g,e,"f")}get readonly(){return a(this,f,"f")}set readonly(e){l(this,f,e,"f")}get horizontal(){return a(this,x,"f")}set horizontal(e){l(this,x,e,"f")}get selectAll(){return a(this,y,"f")}set selectAll(e){l(this,y,e,"f")}get selectAllChecked(){return a(this,w,"f")}set selectAllChecked(e){l(this,w,e,"f")}get selectAllIndeterminate(){return a(this,C,"f")}set selectAllIndeterminate(e){l(this,C,e,"f")}get selectAllScope(){return a(this,_,"f")}set selectAllScope(e){l(this,_,e,"f")}get hideLegend(){return a(this,z,"f")}set hideLegend(e){l(this,z,e,"f")}get filterable(){return a(this,S,"f")}set filterable(e){l(this,S,e,"f")}get label(){return a(this,A,"f")}set label(e){l(this,A,e,"f")}get searchTerm(){return a(this,$,"f")}set searchTerm(e){l(this,$,e,"f")}get limitCheckboxes(){return a(this,E,"f")}set limitCheckboxes(e){l(this,E,e,"f")}get limitCount(){return a(this,q,"f")}set limitCount(e){l(this,q,e,"f")}get limitRevealed(){return a(this,M,"f")}set limitRevealed(e){l(this,M,e,"f")}get textStrings(){return a(this,R,"f")}set textStrings(e){l(this,R,e,"f")}get _textStrings(){return a(this,T,"f")}set _textStrings(e){l(this,T,e,"f")}get checkboxes(){return a(this,W,"f")}set checkboxes(e){l(this,W,e,"f")}get filteredCheckboxes(){return a(this,L,"f")}set filteredCheckboxes(e){l(this,L,e,"f")}render(){return d`
603
+ }`;const b={selectAll:"Select all",showMore:"Show more",showLess:"Show less",search:"Search",required:"Required",error:"Error"};let g=(()=>{var r,g,f,x,y,w,C,_,z,S,A,$,E,q,M,R,T,W,L;let j,F,I,V,B,O,D,P,U,Y,G,N,H,J,K,Q,X,Z,ee,te,ie,ae=[c("kyn-checkbox-group")],le=[],se=m(o),re=[],oe=[],ne=[],de=[],ce=[],he=[],pe=[],ue=[],me=[],ve=[],ke=[],be=[],ge=[],fe=[],xe=[],ye=[],we=[],Ce=[],_e=[],ze=[],Se=[],Ae=[],$e=[],Ee=[],qe=[],Me=[],Re=[],Te=[],We=[],Le=[],je=[],Fe=[],Ie=[],Ve=[],Be=[],Oe=[],De=[],Pe=[];return F=class extends se{constructor(){super(...arguments),this.value=[],r.set(this,i(this,re,!1)),g.set(this,(i(this,oe),i(this,ne,!1))),f.set(this,(i(this,de),i(this,ce,!1))),x.set(this,(i(this,he),i(this,pe,!1))),y.set(this,(i(this,ue),i(this,me,!1))),w.set(this,(i(this,ve),i(this,ke,!1))),C.set(this,(i(this,be),i(this,ge,!1))),_.set(this,(i(this,fe),i(this,xe,"legacy"))),z.set(this,(i(this,ye),i(this,we,!1))),S.set(this,(i(this,Ce),i(this,_e,!1))),A.set(this,(i(this,ze),i(this,Se,""))),$.set(this,(i(this,Ae),i(this,$e,""))),E.set(this,(i(this,Ee),i(this,qe,!1))),q.set(this,(i(this,Me),i(this,Re,4))),M.set(this,(i(this,Te),i(this,We,!1))),R.set(this,(i(this,Le),i(this,je,b))),T.set(this,(i(this,Fe),i(this,Ie,b))),W.set(this,(i(this,Ve),i(this,Be,[]))),L.set(this,(i(this,Oe),i(this,De,[]))),this._onCheckboxChange=(i(this,Pe),e=>this._handleCheckboxChange(e)),this._onCheckboxSubgroupChange=e=>this._handleSubgroupChange(e)}get required(){return a(this,r,"f")}set required(e){l(this,r,e,"f")}get disabled(){return a(this,g,"f")}set disabled(e){l(this,g,e,"f")}get readonly(){return a(this,f,"f")}set readonly(e){l(this,f,e,"f")}get horizontal(){return a(this,x,"f")}set horizontal(e){l(this,x,e,"f")}get selectAll(){return a(this,y,"f")}set selectAll(e){l(this,y,e,"f")}get selectAllChecked(){return a(this,w,"f")}set selectAllChecked(e){l(this,w,e,"f")}get selectAllIndeterminate(){return a(this,C,"f")}set selectAllIndeterminate(e){l(this,C,e,"f")}get selectAllScope(){return a(this,_,"f")}set selectAllScope(e){l(this,_,e,"f")}get hideLegend(){return a(this,z,"f")}set hideLegend(e){l(this,z,e,"f")}get filterable(){return a(this,S,"f")}set filterable(e){l(this,S,e,"f")}get label(){return a(this,A,"f")}set label(e){l(this,A,e,"f")}get searchTerm(){return a(this,$,"f")}set searchTerm(e){l(this,$,e,"f")}get limitCheckboxes(){return a(this,E,"f")}set limitCheckboxes(e){l(this,E,e,"f")}get limitCount(){return a(this,q,"f")}set limitCount(e){l(this,q,e,"f")}get limitRevealed(){return a(this,M,"f")}set limitRevealed(e){l(this,M,e,"f")}get textStrings(){return a(this,R,"f")}set textStrings(e){l(this,R,e,"f")}get _textStrings(){return a(this,T,"f")}set _textStrings(e){l(this,T,e,"f")}get checkboxes(){return a(this,W,"f")}set checkboxes(e){l(this,W,e,"f")}get filteredCheckboxes(){return a(this,L,"f")}set filteredCheckboxes(e){l(this,L,e,"f")}render(){return d`
592
604
  <div>
593
605
  ${this.filterable?d`
594
606
  <kyn-text-input
@@ -671,5 +683,5 @@ fieldset {
671
683
  </div>
672
684
  </fieldset>
673
685
  </div>
674
- `}willUpdate(e){e.has("textStrings")&&(this._textStrings=p(b,this.textStrings)),e.has("value")&&this._updateCheckboxStates(),e.has("selectAllScope")&&this._updateCheckboxStates(),e.has("searchTerm")&&this.checkboxes.length&&this._applyFilter(),e.has("invalidText")&&(this._isInvalid=""!==this.invalidText||""!==this._internalValidationMsg,this.checkboxes.forEach((e=>{e.invalid=this._isInvalid})))}updated(e){if(e.has("invalidText")||this._onUpdated(e),e.has("name")){this.checkboxes.forEach((e=>e.name=this.name));const e=new FormData;this.value.forEach((t=>e.append(this.name,t))),this._internals.setFormValue(e)}e.has("required")&&this.checkboxes.forEach((e=>e.required=this.required)),e.has("disabled")&&void 0!==e.get("disabled")&&(this.checkboxes.forEach((e=>e.disabled=this.disabled)),this._updateCheckboxStates()),e.has("readonly")&&void 0!==e.get("readonly")&&(this.checkboxes.forEach((e=>e.readonly=this.readonly)),this._updateCheckboxStates()),e.has("limitCheckboxes")&&void 0!==e.get("limitCheckboxes")&&this._toggleRevealed(!1),e.has("limitCount")&&void 0!==e.get("limitCount")&&this._toggleRevealed(this.limitRevealed)}_scopeRelevant(){const e=this.checkboxes.filter((e=>!e.disabled&&!e.readonly));let t=this.filteredCheckboxes.filter((e=>!e.disabled&&!e.readonly));this.limitCheckboxes&&!this.limitRevealed&&(t=t.slice(0,this.limitCount));const i=this.filteredCheckboxes.filter((e=>!e.disabled&&!e.readonly));switch(this.selectAllScope){case"visible":return t;case"filtered":return i;case"all":return e;default:return this.searchTerm&&this.searchTerm.length>0||this.limitCheckboxes&&!this.limitRevealed?t:e}}_computeSelectAllFromValues(){const e=this._scopeRelevant(),t=new Set(e.map((e=>e.value))),i=t.size;if(0===i)return{checked:!1,indeterminate:!1};let a=0;for(const e of this.value)t.has(e)&&a++;return{checked:a===i,indeterminate:a>0&&a<i}}_updateCheckboxStates(){var e,t,i;this.checkboxes.forEach((e=>{e.checked=this.value.includes(e.value)}));const{checked:a,indeterminate:l}=this._computeSelectAllFromValues();this.selectAllChecked=a,this.selectAllIndeterminate=l;const s=this.querySelector(".select-all");if(s){s.checked=a,s.indeterminate=l;const r=null!==(t=null===(e=s.shadowRoot)||void 0===e?void 0:e.querySelector("input"))&&void 0!==t?t:s.querySelector("input");r&&(r.checked=a,"boolean"==typeof r.indeterminate&&(r.indeterminate=l)),null===(i=s.requestUpdate)||void 0===i||i.call(s)}const r=new FormData;this.value.forEach((e=>r.append(this.name,e))),this._internals.setFormValue(r)}_validate(e,t){const i={customError:""!==this.invalidText,valueMissing:this.required&&!this.value.length},a=this.required&&!this.value.length?"A selection is required.":"",l=""!==this.invalidText?this.invalidText:a;(e||""!==this.invalidText)&&(this._internals.setValidity(i,l),e&&(this._internalValidationMsg=a)),t&&this._internals.reportValidity()}_handleCheckboxChange(e){const{value:t}=e.detail;if(this.disabled||this.readonly){e.stopPropagation();const i=e.target;if(i)if("selectAll"===t){const{checked:e,indeterminate:t}=this._computeSelectAllFromValues();i.checked=e,"boolean"==typeof i.indeterminate&&(i.indeterminate=t)}else i.checked=this.value.includes(t),"boolean"==typeof i.indeterminate&&(i.indeterminate=!1)}else{if("selectAll"===t){const t=this._scopeRelevant();if(e.detail.checked){const e=new Set(this.value);t.forEach((t=>e.add(t.value))),this.value=Array.from(e)}else{const e=new Set(t.map((e=>e.value)));this.value=this.value.filter((t=>!e.has(t)))}this.checkboxes.forEach((e=>e.indeterminate=!1))}else{const e=new Set(this.value);e.has(t)?e.delete(t):e.add(t),this.value=Array.from(e)}this._validate(!0,!1),this._emitChangeEvent()}}_emitChangeEvent(){const e=new CustomEvent("on-checkbox-group-change",{detail:{value:[...this.value]},bubbles:!0,composed:!0});this.dispatchEvent(e)}_handleFilter(e){this.searchTerm=e.detail.value.toLowerCase(),this._applyFilter();const t=new CustomEvent("on-search",{detail:{searchTerm:this.searchTerm}});this.dispatchEvent(t)}_applyFilter(){let e=0;const t=this.searchTerm.toLowerCase();this.filteredCheckboxes=this.checkboxes.filter((e=>e.textContent.toLowerCase().includes(t))),this.checkboxes.forEach((i=>{const a=i.textContent.toLowerCase();this.limitCheckboxes&&!this.limitRevealed?a.includes(t)&&e<this.limitCount?(i.style.display="block",e++):i.style.display="none":a.includes(t)?i.style.display="block":i.style.display="none"})),this._updateCheckboxStates()}_toggleRevealed(e){this.limitRevealed=e,this.filteredCheckboxes.forEach(((e,t)=>{!this.limitCheckboxes||this.limitRevealed||t<this.limitCount?e.style.display="block":e.style.display="none"})),this._updateCheckboxStates();const t=new CustomEvent("on-limit-toggle",{detail:{expanded:this.limitRevealed}});this.dispatchEvent(t)}_handleSlotChange(){const e=this.checkboxes;this.checkboxes=Array.from(this.querySelectorAll("kyn-checkbox:not(.select-all)")),this.filteredCheckboxes=this.checkboxes,e.length||(this._updateChildren(),this.searchTerm&&this.searchTerm.length>0&&this._applyFilter()),this._toggleRevealed(this.limitRevealed)}_updateChildren(){this.checkboxes.forEach((e=>{var t;e.disabled=e.hasAttribute("disabled")||this.disabled,e.readonly=e.hasAttribute("readonly")||this.readonly,e.checked=!!(null===(t=this.value)||void 0===t?void 0:t.length)&&this.value.includes(e.value)})),this._updateCheckboxStates()}_handleSubgroupChange(e){const t=[...this.value],{isParent:i,parentChecked:a,parentValue:l,value:s,checked:r,childValues:o}=e.detail;if(i)if(r)t.includes(s)||t.push(s),o.forEach((e=>{t.includes(e)||t.push(e)}));else{const e=t.indexOf(s);t.splice(e,1),o.forEach((e=>{const i=t.indexOf(e);-1!==i&&t.splice(i,1)}))}else{if(r)t.includes(s)||t.push(s);else{const e=t.indexOf(s);-1!==e&&t.splice(e,1)}if(a)t.includes(l)||t.push(l);else{const e=t.indexOf(l);-1!==e&&t.splice(e,1)}}this.value=t,this._validate(!0,!1),this._emitChangeEvent()}connectedCallback(){super.connectedCallback(),this._onConnected(),this.addEventListener("on-checkbox-change",this._onCheckboxChange),this.addEventListener("on-checkbox-subgroup-change",this._onCheckboxSubgroupChange)}disconnectedCallback(){this._onDisconnected(),this.removeEventListener("on-checkbox-change",this._onCheckboxChange),this.removeEventListener("on-checkbox-subgroup-change",this._onCheckboxSubgroupChange),super.disconnectedCallback()}},r=new WeakMap,g=new WeakMap,f=new WeakMap,x=new WeakMap,y=new WeakMap,w=new WeakMap,C=new WeakMap,_=new WeakMap,z=new WeakMap,S=new WeakMap,A=new WeakMap,$=new WeakMap,E=new WeakMap,q=new WeakMap,M=new WeakMap,R=new WeakMap,T=new WeakMap,W=new WeakMap,L=new WeakMap,e(F,"CheckboxGroup"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=se[Symbol.metadata])&&void 0!==e?e:null):void 0;I=[h({type:Boolean})],V=[h({type:Boolean})],B=[h({type:Boolean})],O=[h({type:Boolean})],D=[h({type:Boolean})],P=[h({type:Boolean})],U=[h({type:Boolean})],Y=[h({type:String,attribute:!1})],G=[h({type:Boolean})],N=[h({type:Boolean})],H=[h({type:String})],J=[h({type:String})],K=[h({type:Boolean})],Q=[h({type:Number})],X=[u()],Z=[h({type:Object})],ee=[u()],te=[u()],ie=[u()],t(F,null,I,{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},re,oe),t(F,null,V,{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},ne,de),t(F,null,B,{kind:"accessor",name:"readonly",static:!1,private:!1,access:{has:e=>"readonly"in e,get:e=>e.readonly,set:(e,t)=>{e.readonly=t}},metadata:i},ce,he),t(F,null,O,{kind:"accessor",name:"horizontal",static:!1,private:!1,access:{has:e=>"horizontal"in e,get:e=>e.horizontal,set:(e,t)=>{e.horizontal=t}},metadata:i},ue,pe),t(F,null,D,{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},me,ve),t(F,null,P,{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},ke,be),t(F,null,U,{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},ge,fe),t(F,null,Y,{kind:"accessor",name:"selectAllScope",static:!1,private:!1,access:{has:e=>"selectAllScope"in e,get:e=>e.selectAllScope,set:(e,t)=>{e.selectAllScope=t}},metadata:i},xe,ye),t(F,null,G,{kind:"accessor",name:"hideLegend",static:!1,private:!1,access:{has:e=>"hideLegend"in e,get:e=>e.hideLegend,set:(e,t)=>{e.hideLegend=t}},metadata:i},we,Ce),t(F,null,N,{kind:"accessor",name:"filterable",static:!1,private:!1,access:{has:e=>"filterable"in e,get:e=>e.filterable,set:(e,t)=>{e.filterable=t}},metadata:i},_e,ze),t(F,null,H,{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},Se,Ae),t(F,null,J,{kind:"accessor",name:"searchTerm",static:!1,private:!1,access:{has:e=>"searchTerm"in e,get:e=>e.searchTerm,set:(e,t)=>{e.searchTerm=t}},metadata:i},$e,Ee),t(F,null,K,{kind:"accessor",name:"limitCheckboxes",static:!1,private:!1,access:{has:e=>"limitCheckboxes"in e,get:e=>e.limitCheckboxes,set:(e,t)=>{e.limitCheckboxes=t}},metadata:i},qe,Me),t(F,null,Q,{kind:"accessor",name:"limitCount",static:!1,private:!1,access:{has:e=>"limitCount"in e,get:e=>e.limitCount,set:(e,t)=>{e.limitCount=t}},metadata:i},Re,Te),t(F,null,X,{kind:"accessor",name:"limitRevealed",static:!1,private:!1,access:{has:e=>"limitRevealed"in e,get:e=>e.limitRevealed,set:(e,t)=>{e.limitRevealed=t}},metadata:i},We,Le),t(F,null,Z,{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},je,Fe),t(F,null,ee,{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},Ie,Ve),t(F,null,te,{kind:"accessor",name:"checkboxes",static:!1,private:!1,access:{has:e=>"checkboxes"in e,get:e=>e.checkboxes,set:(e,t)=>{e.checkboxes=t}},metadata:i},Be,Oe),t(F,null,ie,{kind:"accessor",name:"filteredCheckboxes",static:!1,private:!1,access:{has:e=>"filteredCheckboxes"in e,get:e=>e.filteredCheckboxes,set:(e,t)=>{e.filteredCheckboxes=t}},metadata:i},De,Pe),t(null,j={value:F},ae,{kind:"class",name:F.name,metadata:i},null,le),F=j.value,i&&Object.defineProperty(F,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),F.styles=n(k),i(F,le),F})();export{g as CheckboxGroup};
686
+ `}willUpdate(e){e.has("textStrings")&&(this._textStrings=u(b,this.textStrings)),e.has("value")&&this._updateCheckboxStates(),e.has("selectAllScope")&&this._updateCheckboxStates(),e.has("searchTerm")&&this.checkboxes.length&&this._applyFilter(),e.has("invalidText")&&(this._isInvalid=""!==this.invalidText||""!==this._internalValidationMsg,this.checkboxes.forEach((e=>{e.invalid=this._isInvalid})))}updated(e){if(e.has("invalidText")||this._onUpdated(e),e.has("name")){this.checkboxes.forEach((e=>e.name=this.name));const e=new FormData;this.value.forEach((t=>e.append(this.name,t))),this._internals.setFormValue(e)}e.has("required")&&this.checkboxes.forEach((e=>e.required=this.required)),e.has("disabled")&&void 0!==e.get("disabled")&&(this.checkboxes.forEach((e=>e.disabled=this.disabled)),this._updateCheckboxStates()),e.has("readonly")&&void 0!==e.get("readonly")&&(this.checkboxes.forEach((e=>e.readonly=this.readonly)),this._updateCheckboxStates()),e.has("limitCheckboxes")&&void 0!==e.get("limitCheckboxes")&&this._toggleRevealed(!1),e.has("limitCount")&&void 0!==e.get("limitCount")&&this._toggleRevealed(this.limitRevealed)}_scopeRelevant(){const e=this.checkboxes.filter((e=>!e.disabled&&!e.readonly));let t=this.filteredCheckboxes.filter((e=>!e.disabled&&!e.readonly));this.limitCheckboxes&&!this.limitRevealed&&(t=t.slice(0,this.limitCount));const i=this.filteredCheckboxes.filter((e=>!e.disabled&&!e.readonly));switch(this.selectAllScope){case"visible":return t;case"filtered":return i;case"all":return e;default:return this.searchTerm&&this.searchTerm.length>0||this.limitCheckboxes&&!this.limitRevealed?t:e}}_computeSelectAllFromValues(){const e=this._scopeRelevant(),t=new Set(e.map((e=>e.value))),i=t.size;if(0===i)return{checked:!1,indeterminate:!1};let a=0;for(const e of this.value)t.has(e)&&a++;return{checked:a===i,indeterminate:a>0&&a<i}}_updateCheckboxStates(){var e,t,i;this.checkboxes.forEach((e=>{e.checked=this.value.includes(e.value)}));const{checked:a,indeterminate:l}=this._computeSelectAllFromValues();this.selectAllChecked=a,this.selectAllIndeterminate=l;const s=this.querySelector(".select-all");if(s){s.checked=a,s.indeterminate=l;const r=null!==(t=null===(e=s.shadowRoot)||void 0===e?void 0:e.querySelector("input"))&&void 0!==t?t:s.querySelector("input");r&&(r.checked=a,"boolean"==typeof r.indeterminate&&(r.indeterminate=l)),null===(i=s.requestUpdate)||void 0===i||i.call(s)}const r=new FormData;this.value.forEach((e=>r.append(this.name,e))),this._internals.setFormValue(r)}_validate(e,t){const i={customError:""!==this.invalidText,valueMissing:this.required&&!this.value.length},a=this.required&&!this.value.length?"A selection is required.":"",l=""!==this.invalidText?this.invalidText:a;(e||""!==this.invalidText)&&(this._internals.setValidity(i,l),e&&(this._internalValidationMsg=a)),t&&this._internals.reportValidity()}_handleCheckboxChange(e){const{value:t}=e.detail;if(this.disabled||this.readonly){e.stopPropagation();const i=e.target;if(i)if("selectAll"===t){const{checked:e,indeterminate:t}=this._computeSelectAllFromValues();i.checked=e,"boolean"==typeof i.indeterminate&&(i.indeterminate=t)}else i.checked=this.value.includes(t),"boolean"==typeof i.indeterminate&&(i.indeterminate=!1)}else{if("selectAll"===t){const t=this._scopeRelevant();if(e.detail.checked){const e=new Set(this.value);t.forEach((t=>e.add(t.value))),this.value=Array.from(e)}else{const e=new Set(t.map((e=>e.value)));this.value=this.value.filter((t=>!e.has(t)))}this.checkboxes.forEach((e=>e.indeterminate=!1))}else{const e=new Set(this.value);e.has(t)?e.delete(t):e.add(t),this.value=Array.from(e)}this._validate(!0,!1),this._emitChangeEvent()}}_emitChangeEvent(){const e=new CustomEvent("on-checkbox-group-change",{detail:{value:[...this.value]},bubbles:!0,composed:!0});this.dispatchEvent(e)}_handleFilter(e){this.searchTerm=e.detail.value.toLowerCase(),this._applyFilter();const t=new CustomEvent("on-search",{detail:{searchTerm:this.searchTerm}});this.dispatchEvent(t)}_applyFilter(){let e=0;const t=this.searchTerm.toLowerCase();this.filteredCheckboxes=this.checkboxes.filter((e=>e.textContent.toLowerCase().includes(t))),this.checkboxes.forEach((i=>{const a=i.textContent.toLowerCase();this.limitCheckboxes&&!this.limitRevealed?a.includes(t)&&e<this.limitCount?(i.style.display="block",e++):i.style.display="none":a.includes(t)?i.style.display="block":i.style.display="none"})),this._updateCheckboxStates()}_toggleRevealed(e){this.limitRevealed=e,this.filteredCheckboxes.forEach(((e,t)=>{!this.limitCheckboxes||this.limitRevealed||t<this.limitCount?e.style.display="block":e.style.display="none"})),this._updateCheckboxStates();const t=new CustomEvent("on-limit-toggle",{detail:{expanded:this.limitRevealed}});this.dispatchEvent(t)}_handleSlotChange(){const e=this.checkboxes;this.checkboxes=Array.from(this.querySelectorAll("kyn-checkbox:not(.select-all)")),this.filteredCheckboxes=this.checkboxes,e.length||(this._updateChildren(),this.searchTerm&&this.searchTerm.length>0&&this._applyFilter()),this._toggleRevealed(this.limitRevealed)}_updateChildren(){this.checkboxes.forEach((e=>{var t;e.disabled=e.hasAttribute("disabled")||this.disabled,e.readonly=e.hasAttribute("readonly")||this.readonly,e.checked=!!(null===(t=this.value)||void 0===t?void 0:t.length)&&this.value.includes(e.value)})),this._updateCheckboxStates()}_handleSubgroupChange(e){const t=[...this.value],{isParent:i,parentChecked:a,parentValue:l,value:s,checked:r,childValues:o}=e.detail;if(i)if(r)t.includes(s)||t.push(s),o.forEach((e=>{t.includes(e)||t.push(e)}));else{const e=t.indexOf(s);t.splice(e,1),o.forEach((e=>{const i=t.indexOf(e);-1!==i&&t.splice(i,1)}))}else{if(r)t.includes(s)||t.push(s);else{const e=t.indexOf(s);-1!==e&&t.splice(e,1)}if(a)t.includes(l)||t.push(l);else{const e=t.indexOf(l);-1!==e&&t.splice(e,1)}}this.value=t,this._validate(!0,!1),this._emitChangeEvent()}connectedCallback(){super.connectedCallback(),this._onConnected(),this.addEventListener("on-checkbox-change",this._onCheckboxChange),this.addEventListener("on-checkbox-subgroup-change",this._onCheckboxSubgroupChange)}disconnectedCallback(){this._onDisconnected(),this.removeEventListener("on-checkbox-change",this._onCheckboxChange),this.removeEventListener("on-checkbox-subgroup-change",this._onCheckboxSubgroupChange),super.disconnectedCallback()}},r=new WeakMap,g=new WeakMap,f=new WeakMap,x=new WeakMap,y=new WeakMap,w=new WeakMap,C=new WeakMap,_=new WeakMap,z=new WeakMap,S=new WeakMap,A=new WeakMap,$=new WeakMap,E=new WeakMap,q=new WeakMap,M=new WeakMap,R=new WeakMap,T=new WeakMap,W=new WeakMap,L=new WeakMap,e(F,"CheckboxGroup"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=se[Symbol.metadata])&&void 0!==e?e:null):void 0;I=[h({type:Boolean})],V=[h({type:Boolean})],B=[h({type:Boolean})],O=[h({type:Boolean})],D=[h({type:Boolean})],P=[h({type:Boolean})],U=[h({type:Boolean})],Y=[h({type:String,attribute:!1})],G=[h({type:Boolean})],N=[h({type:Boolean})],H=[h({type:String})],J=[h({type:String})],K=[h({type:Boolean})],Q=[h({type:Number})],X=[p()],Z=[h({type:Object})],ee=[p()],te=[p()],ie=[p()],t(F,null,I,{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},re,oe),t(F,null,V,{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},ne,de),t(F,null,B,{kind:"accessor",name:"readonly",static:!1,private:!1,access:{has:e=>"readonly"in e,get:e=>e.readonly,set:(e,t)=>{e.readonly=t}},metadata:i},ce,he),t(F,null,O,{kind:"accessor",name:"horizontal",static:!1,private:!1,access:{has:e=>"horizontal"in e,get:e=>e.horizontal,set:(e,t)=>{e.horizontal=t}},metadata:i},pe,ue),t(F,null,D,{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},me,ve),t(F,null,P,{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},ke,be),t(F,null,U,{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},ge,fe),t(F,null,Y,{kind:"accessor",name:"selectAllScope",static:!1,private:!1,access:{has:e=>"selectAllScope"in e,get:e=>e.selectAllScope,set:(e,t)=>{e.selectAllScope=t}},metadata:i},xe,ye),t(F,null,G,{kind:"accessor",name:"hideLegend",static:!1,private:!1,access:{has:e=>"hideLegend"in e,get:e=>e.hideLegend,set:(e,t)=>{e.hideLegend=t}},metadata:i},we,Ce),t(F,null,N,{kind:"accessor",name:"filterable",static:!1,private:!1,access:{has:e=>"filterable"in e,get:e=>e.filterable,set:(e,t)=>{e.filterable=t}},metadata:i},_e,ze),t(F,null,H,{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},Se,Ae),t(F,null,J,{kind:"accessor",name:"searchTerm",static:!1,private:!1,access:{has:e=>"searchTerm"in e,get:e=>e.searchTerm,set:(e,t)=>{e.searchTerm=t}},metadata:i},$e,Ee),t(F,null,K,{kind:"accessor",name:"limitCheckboxes",static:!1,private:!1,access:{has:e=>"limitCheckboxes"in e,get:e=>e.limitCheckboxes,set:(e,t)=>{e.limitCheckboxes=t}},metadata:i},qe,Me),t(F,null,Q,{kind:"accessor",name:"limitCount",static:!1,private:!1,access:{has:e=>"limitCount"in e,get:e=>e.limitCount,set:(e,t)=>{e.limitCount=t}},metadata:i},Re,Te),t(F,null,X,{kind:"accessor",name:"limitRevealed",static:!1,private:!1,access:{has:e=>"limitRevealed"in e,get:e=>e.limitRevealed,set:(e,t)=>{e.limitRevealed=t}},metadata:i},We,Le),t(F,null,Z,{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},je,Fe),t(F,null,ee,{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},Ie,Ve),t(F,null,te,{kind:"accessor",name:"checkboxes",static:!1,private:!1,access:{has:e=>"checkboxes"in e,get:e=>e.checkboxes,set:(e,t)=>{e.checkboxes=t}},metadata:i},Be,Oe),t(F,null,ie,{kind:"accessor",name:"filteredCheckboxes",static:!1,private:!1,access:{has:e=>"filteredCheckboxes"in e,get:e=>e.filteredCheckboxes,set:(e,t)=>{e.filteredCheckboxes=t}},metadata:i},De,Pe),t(null,j={value:F},ae,{kind:"class",name:F.name,metadata:i},null,le),F=j.value,i&&Object.defineProperty(F,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),F.styles=n(k),i(F,le),F})();export{g as CheckboxGroup};
675
687
  //# sourceMappingURL=checkboxGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkboxGroup.js","sources":["../../../../src/components/reusable/checkbox/checkboxGroup.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { deepmerge } from 'deepmerge-ts';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport CheckboxGroupScss from './checkboxGroup.scss?inline';\n\nimport '../textInput';\nimport './checkbox';\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/error-filled.svg';\n\nconst _defaultTextStrings = {\n selectAll: 'Select all',\n showMore: 'Show more',\n showLess: 'Show less',\n search: 'Search',\n required: 'Required',\n error: 'Error',\n};\n\n/**\n * Checkbox group container.\n * @fires on-checkbox-group-change - Captures the change event and emits the selected values. `detail:{ value: Array }`\n * @fires on-search - Captures the search input event and emits the search term. `detail:{ searchTerm: string }`\n * @fires on-limit-toggle - Captures the show more/less click and emits the expanded state. `detail:{ expanded: boolean }`\n * @slot unnamed - Slot for individual checkboxes.\n * @slot tooltip - Slot for tooltip.\n * @slot description - Slot for description text.\n * @attr {array} [value=[]] - The selected values of the checkbox group.\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-checkbox-group')\nexport class CheckboxGroup extends FormMixin(LitElement) {\n static override styles = unsafeCSS(CheckboxGroupScss);\n\n /** Checkbox group selected values. */\n override value: Array<any> = [];\n\n /** Makes a single selection required. */\n @property({ type: Boolean })\n accessor required = false;\n\n /** Checkbox group disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Checkbox group readonly state. */\n @property({ type: Boolean })\n accessor readonly = false;\n\n /** Checkbox group horizontal style. */\n @property({ type: Boolean })\n accessor horizontal = false;\n\n /** Adds a \"Select All\" checkbox to the top of the group. */\n @property({ type: Boolean })\n accessor selectAll = false;\n\n /** Is \"Select All\" box checked.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllChecked = false;\n\n /** Is \"Select All\" indeterminate boolean.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllIndeterminate = false;\n\n /** Select All scope behavior.\n * @internal\n */\n @property({ type: String, attribute: false })\n accessor selectAllScope: 'legacy' | 'visible' | 'filtered' | 'all' = 'legacy';\n\n /** Hide the group legend/label visually. */\n @property({ type: Boolean })\n accessor hideLegend = false;\n\n /** Adds a search input to enable filtering of checkboxes. */\n @property({ type: Boolean })\n accessor filterable = false;\n\n /** Label text. */\n @property({ type: String })\n accessor label = '';\n\n /** Search input value */\n @property({ type: String })\n accessor searchTerm = '';\n\n /** Limits visible checkboxes behind a \"Show all\" button. */\n @property({ type: Boolean })\n accessor limitCheckboxes = false;\n\n /** Number of checkboxes visible when limited. */\n @property({ type: Number })\n accessor limitCount = 4;\n\n /** Checkbox limit visibility.\n * @internal\n */\n @state()\n accessor limitRevealed = false;\n\n /** Text string customization. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n // /**\n // * Queries for slotted checkboxes.\n // * @ignore\n // */\n // @queryAssignedElements()\n // checkboxes!: Array<any>;\n\n /** Checkboxes array.\n * @internal\n */\n @state()\n accessor checkboxes: Array<any> = [];\n\n /** Filtered Checkboxes array.\n * @internal\n */\n @state()\n accessor filteredCheckboxes: Array<any> = [];\n\n override render() {\n return html`\n <div>\n ${this.filterable\n ? html`\n <kyn-text-input\n class=\"search\"\n type=\"search\"\n size=\"sm\"\n placeholder=${this._textStrings.search}\n hideLabel\n value=${this.searchTerm}\n ?disabled=${this.disabled}\n ?readonly=${!this.disabled && this.readonly}\n @on-input=${(e: Event) => this._handleFilter(e)}\n >\n ${this._textStrings.search}\n </kyn-text-input>\n `\n : null}\n\n <fieldset\n ?disabled=${this.disabled}\n ?readonly=${!this.disabled && this.readonly}\n >\n <legend class=\"label-text ${this.hideLegend ? 'sr-only' : ''}\">\n ${this.required\n ? html`\n <abbr\n class=\"required\"\n title=${this._textStrings.required}\n aria-label=${this._textStrings.required}\n >\n *\n </abbr>\n `\n : null}\n <span>${this.label}</span>\n <slot name=\"tooltip\"></slot>\n </legend>\n <div class=\"description-text\">\n <slot name=\"description\"></slot>\n </div>\n ${this._isInvalid\n ? html`\n <div class=\"error\">\n <span\n role=\"img\"\n class=\"error-icon\"\n title=${this._textStrings.error}\n aria-label=${this._textStrings.error}\n >${unsafeSVG(errorIcon)}</span\n >\n ${this.invalidText || this._internalValidationMsg}\n </div>\n `\n : null}\n\n <div class=\"${this.horizontal ? 'horizontal' : ''}\">\n ${this.selectAll\n ? html`\n <kyn-checkbox\n class=\"select-all\"\n value=\"selectAll\"\n ?checked=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?readonly=${!this.disabled && this.readonly}\n ?invalid=${this.invalidText !== '' ||\n this._internalValidationMsg !== ''}\n >\n ${this._textStrings.selectAll}\n </kyn-checkbox>\n `\n : null}\n\n <slot @slotchange=${this._handleSlotChange}></slot>\n\n ${this.limitCheckboxes &&\n this.filteredCheckboxes.length > this.limitCount\n ? html`\n <button\n class=\"reveal-toggle\"\n @click=${() => this._toggleRevealed(!this.limitRevealed)}\n >\n ${this.limitRevealed\n ? this._textStrings.showLess\n : html`\n ${this._textStrings.showMore}\n (${this.filteredCheckboxes.length})\n `}\n </button>\n `\n : null}\n </div>\n </fieldset>\n </div>\n `;\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n\n if (changedProps.has('value')) {\n this._updateCheckboxStates();\n }\n\n if (changedProps.has('selectAllScope')) this._updateCheckboxStates();\n\n if (changedProps.has('searchTerm') && this.checkboxes.length) {\n this._applyFilter();\n }\n\n if (changedProps.has('invalidText')) {\n this._isInvalid =\n this.invalidText !== '' || this._internalValidationMsg !== '';\n this.checkboxes.forEach((checkbox: any) => {\n checkbox.invalid = this._isInvalid;\n });\n }\n }\n\n override updated(changedProps: any) {\n if (!changedProps.has('invalidText')) this._onUpdated(changedProps);\n\n if (changedProps.has('name')) {\n this.checkboxes.forEach((c: any) => (c.name = this.name));\n const entries = new FormData();\n this.value.forEach((v) => entries.append(this.name, v));\n this._internals.setFormValue(entries);\n }\n\n if (changedProps.has('required')) {\n this.checkboxes.forEach((c: any) => (c.required = this.required));\n }\n\n if (\n changedProps.has('disabled') &&\n changedProps.get('disabled') !== undefined\n ) {\n this.checkboxes.forEach((c: any) => (c.disabled = this.disabled));\n this._updateCheckboxStates();\n }\n\n if (\n changedProps.has('readonly') &&\n changedProps.get('readonly') !== undefined\n ) {\n this.checkboxes.forEach((c: any) => (c.readonly = this.readonly));\n this._updateCheckboxStates();\n }\n\n if (\n changedProps.has('limitCheckboxes') &&\n changedProps.get('limitCheckboxes') !== undefined\n ) {\n this._toggleRevealed(false);\n }\n\n if (\n changedProps.has('limitCount') &&\n changedProps.get('limitCount') !== undefined\n ) {\n this._toggleRevealed(this.limitRevealed);\n }\n }\n\n private _scopeRelevant(): Array<any> {\n const allEnabled = this.checkboxes.filter(\n (c: any) => !c.disabled && !c.readonly\n );\n\n let visibleRelevant = this.filteredCheckboxes.filter(\n (c: any) => !c.disabled && !c.readonly\n );\n if (this.limitCheckboxes && !this.limitRevealed) {\n visibleRelevant = visibleRelevant.slice(0, this.limitCount);\n }\n\n const filteredRelevant = this.filteredCheckboxes.filter(\n (c: any) => !c.disabled && !c.readonly\n );\n\n switch (this.selectAllScope) {\n case 'visible':\n return visibleRelevant;\n case 'filtered':\n return filteredRelevant;\n case 'all':\n return allEnabled;\n default: {\n const useVisible =\n (this.searchTerm && this.searchTerm.length > 0) ||\n (this.limitCheckboxes && !this.limitRevealed);\n return useVisible ? visibleRelevant : allEnabled;\n }\n }\n }\n\n private _computeSelectAllFromValues() {\n const relevant = this._scopeRelevant();\n const relevantValues = new Set(relevant.map((c: any) => c.value));\n const total = relevantValues.size;\n if (total === 0) return { checked: false, indeterminate: false };\n\n let selected = 0;\n for (const v of this.value) if (relevantValues.has(v)) selected++;\n return {\n checked: selected === total,\n indeterminate: selected > 0 && selected < total,\n };\n }\n\n private _updateCheckboxStates() {\n this.checkboxes.forEach((c: any) => {\n c.checked = this.value.includes(c.value);\n });\n\n const { checked, indeterminate } = this._computeSelectAllFromValues();\n this.selectAllChecked = checked;\n this.selectAllIndeterminate = indeterminate;\n\n const selectAllEl = this.querySelector('.select-all') as any;\n if (selectAllEl) {\n selectAllEl.checked = checked;\n selectAllEl.indeterminate = indeterminate;\n const native =\n (selectAllEl.shadowRoot?.querySelector(\n 'input'\n ) as HTMLInputElement | null) ??\n (selectAllEl.querySelector('input') as HTMLInputElement | null);\n if (native) {\n native.checked = checked;\n if (typeof (native as any).indeterminate === 'boolean') {\n (native as any).indeterminate = indeterminate;\n }\n }\n selectAllEl.requestUpdate?.();\n }\n\n const entries = new FormData();\n this.value.forEach((v) => entries.append(this.name, v));\n this._internals.setFormValue(entries);\n }\n\n private _validate(interacted: boolean, report: boolean) {\n const Validity = {\n customError: this.invalidText !== '',\n valueMissing: this.required && !this.value.length,\n };\n\n const InternalMsg =\n this.required && !this.value.length ? 'A selection is required.' : '';\n const ValidationMessage =\n this.invalidText !== '' ? this.invalidText : InternalMsg;\n\n if (interacted || this.invalidText !== '') {\n this._internals.setValidity(Validity, ValidationMessage);\n\n if (interacted) {\n this._internalValidationMsg = InternalMsg;\n }\n }\n\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n private _handleCheckboxChange(\n e: CustomEvent<{ value: string; checked: boolean }>\n ) {\n const { value } = e.detail;\n\n if (this.disabled || this.readonly) {\n e.stopPropagation();\n const target = e.target as HTMLInputElement & { indeterminate?: boolean };\n if (target) {\n if (value === 'selectAll') {\n const { checked, indeterminate } = this._computeSelectAllFromValues();\n target.checked = checked;\n if (typeof target.indeterminate === 'boolean')\n target.indeterminate = indeterminate;\n } else {\n target.checked = this.value.includes(value);\n if (typeof target.indeterminate === 'boolean')\n target.indeterminate = false;\n }\n }\n return;\n }\n\n if (value === 'selectAll') {\n const targets = this._scopeRelevant();\n\n if (e.detail.checked) {\n const next = new Set(this.value);\n targets.forEach((c: any) => next.add(c.value));\n this.value = Array.from(next);\n } else {\n const toRemove = new Set(targets.map((c: any) => c.value));\n this.value = this.value.filter((v) => !toRemove.has(v));\n }\n\n this.checkboxes.forEach((c: any) => (c.indeterminate = false));\n } else {\n const next = new Set(this.value);\n next.has(value) ? next.delete(value) : next.add(value);\n this.value = Array.from(next);\n }\n\n this._validate(true, false);\n this._emitChangeEvent();\n }\n\n private _emitChangeEvent() {\n const event = new CustomEvent('on-checkbox-group-change', {\n detail: { value: [...this.value] },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(event);\n }\n\n private _handleFilter(e: any) {\n this.searchTerm = e.detail.value.toLowerCase();\n this._applyFilter();\n\n const event = new CustomEvent('on-search', {\n detail: { searchTerm: this.searchTerm },\n });\n this.dispatchEvent(event);\n }\n\n private _applyFilter() {\n let visibleCount = 0;\n const searchLower = this.searchTerm.toLowerCase();\n\n this.filteredCheckboxes = this.checkboxes.filter((checkboxEl) => {\n return checkboxEl.textContent.toLowerCase().includes(searchLower);\n });\n\n this.checkboxes.forEach((checkboxEl) => {\n // get checkbox label text\n const checkboxText = checkboxEl.textContent.toLowerCase();\n\n // hide checkbox if no match to search term\n if (this.limitCheckboxes && !this.limitRevealed) {\n if (\n checkboxText.includes(searchLower) &&\n visibleCount < this.limitCount\n ) {\n checkboxEl.style.display = 'block';\n visibleCount++;\n } else {\n checkboxEl.style.display = 'none';\n }\n } else {\n if (checkboxText.includes(searchLower)) {\n checkboxEl.style.display = 'block';\n } else {\n checkboxEl.style.display = 'none';\n }\n }\n });\n\n this._updateCheckboxStates();\n }\n\n private _toggleRevealed(revealed: boolean) {\n this.limitRevealed = revealed;\n\n this.filteredCheckboxes.forEach((checkboxEl, index) => {\n if (!this.limitCheckboxes || this.limitRevealed) {\n checkboxEl.style.display = 'block';\n } else {\n if (index < this.limitCount) {\n checkboxEl.style.display = 'block';\n } else {\n checkboxEl.style.display = 'none';\n }\n }\n });\n\n this._updateCheckboxStates();\n\n const event = new CustomEvent('on-limit-toggle', {\n detail: { expanded: this.limitRevealed },\n });\n this.dispatchEvent(event);\n }\n\n private _handleSlotChange() {\n const prev = this.checkboxes;\n this.checkboxes = Array.from(\n this.querySelectorAll('kyn-checkbox:not(.select-all)')\n );\n this.filteredCheckboxes = this.checkboxes;\n\n if (!prev.length) {\n this._updateChildren();\n // Apply initial filter if searchTerm is set\n if (this.searchTerm && this.searchTerm.length > 0) {\n this._applyFilter();\n }\n }\n\n this._toggleRevealed(this.limitRevealed);\n }\n\n private _updateChildren() {\n this.checkboxes.forEach((c) => {\n c.disabled = c.hasAttribute('disabled') || this.disabled;\n c.readonly = c.hasAttribute('readonly') || this.readonly;\n c.checked = !!this.value?.length && this.value.includes(c.value);\n });\n this._updateCheckboxStates();\n }\n\n private _handleSubgroupChange(e: any) {\n const newValues = [...this.value];\n const {\n isParent,\n parentChecked,\n parentValue,\n value,\n checked,\n childValues,\n } = e.detail;\n\n if (isParent) {\n if (checked) {\n if (!newValues.includes(value)) {\n newValues.push(value);\n }\n\n childValues.forEach((value: string) => {\n if (!newValues.includes(value)) {\n newValues.push(value);\n }\n });\n } else {\n const index = newValues.indexOf(value);\n newValues.splice(index, 1);\n\n childValues.forEach((value: string) => {\n const index = newValues.indexOf(value);\n if (index !== -1) {\n newValues.splice(index, 1);\n }\n });\n }\n } else {\n if (checked) {\n if (!newValues.includes(value)) {\n newValues.push(value);\n }\n } else {\n const index = newValues.indexOf(value);\n if (index !== -1) {\n newValues.splice(index, 1);\n }\n }\n\n if (parentChecked) {\n if (!newValues.includes(parentValue)) {\n newValues.push(parentValue);\n }\n } else {\n const index = newValues.indexOf(parentValue);\n if (index !== -1) {\n newValues.splice(index, 1);\n }\n }\n }\n\n this.value = newValues;\n\n this._validate(true, false);\n\n this._emitChangeEvent();\n }\n\n /** _onCheckboxChange event.\n * @ignore\n */\n private _onCheckboxChange = (e: any) => this._handleCheckboxChange(e);\n /** _onCheckboxSubgroupChange event.\n * @ignore\n */\n private _onCheckboxSubgroupChange = (e: any) => this._handleSubgroupChange(e);\n\n override connectedCallback() {\n super.connectedCallback();\n this._onConnected();\n this.addEventListener('on-checkbox-change', this._onCheckboxChange);\n this.addEventListener(\n 'on-checkbox-subgroup-change',\n this._onCheckboxSubgroupChange\n );\n }\n\n override disconnectedCallback() {\n this._onDisconnected();\n this.removeEventListener('on-checkbox-change', this._onCheckboxChange);\n this.removeEventListener(\n 'on-checkbox-subgroup-change',\n this._onCheckboxSubgroupChange\n );\n super.disconnectedCallback();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-checkbox-group': CheckboxGroup;\n }\n}\n"],"names":["_defaultTextStrings","selectAll","showMore","showLess","search","required","error","CheckboxGroup","customElement","FormMixin","LitElement","_classThis","_classSuper","this","value","_CheckboxGroup_required_accessor_storage","set","__runInitializers","_required_initializers","_CheckboxGroup_disabled_accessor_storage","_required_extraInitializers","_disabled_initializers","_CheckboxGroup_readonly_accessor_storage","_disabled_extraInitializers","_readonly_initializers","_CheckboxGroup_horizontal_accessor_storage","_readonly_extraInitializers","_horizontal_initializers","_CheckboxGroup_selectAll_accessor_storage","_horizontal_extraInitializers","_selectAll_initializers","_CheckboxGroup_selectAllChecked_accessor_storage","_selectAll_extraInitializers","_selectAllChecked_initializers","_CheckboxGroup_selectAllIndeterminate_accessor_storage","_selectAllChecked_extraInitializers","_selectAllIndeterminate_initializers","_CheckboxGroup_selectAllScope_accessor_storage","_selectAllIndeterminate_extraInitializers","_selectAllScope_initializers","_CheckboxGroup_hideLegend_accessor_storage","_selectAllScope_extraInitializers","_hideLegend_initializers","_CheckboxGroup_filterable_accessor_storage","_hideLegend_extraInitializers","_filterable_initializers","_CheckboxGroup_label_accessor_storage","_filterable_extraInitializers","_label_initializers","_CheckboxGroup_searchTerm_accessor_storage","_label_extraInitializers","_searchTerm_initializers","_CheckboxGroup_limitCheckboxes_accessor_storage","_searchTerm_extraInitializers","_limitCheckboxes_initializers","_CheckboxGroup_limitCount_accessor_storage","_limitCheckboxes_extraInitializers","_limitCount_initializers","_CheckboxGroup_limitRevealed_accessor_storage","_limitCount_extraInitializers","_limitRevealed_initializers","_CheckboxGroup_textStrings_accessor_storage","_limitRevealed_extraInitializers","_textStrings_initializers","_CheckboxGroup__textStrings_accessor_storage","_textStrings_extraInitializers","__textStrings_initializers","_CheckboxGroup_checkboxes_accessor_storage","__textStrings_extraInitializers","_checkboxes_initializers","_CheckboxGroup_filteredCheckboxes_accessor_storage","_checkboxes_extraInitializers","_filteredCheckboxes_initializers","_onCheckboxChange","_filteredCheckboxes_extraInitializers","e","_handleCheckboxChange","_onCheckboxSubgroupChange","_handleSubgroupChange","__classPrivateFieldGet","__classPrivateFieldSet","disabled","readonly","horizontal","selectAllChecked","selectAllIndeterminate","selectAllScope","hideLegend","filterable","label","searchTerm","limitCheckboxes","limitCount","limitRevealed","textStrings","_textStrings","checkboxes","filteredCheckboxes","render","html","_handleFilter","_isInvalid","unsafeSVG","errorIcon","invalidText","_internalValidationMsg","_handleSlotChange","length","_toggleRevealed","willUpdate","changedProps","has","deepmerge","_updateCheckboxStates","_applyFilter","forEach","checkbox","invalid","updated","_onUpdated","c","name","entries","FormData","v","append","_internals","setFormValue","undefined","get","_scopeRelevant","allEnabled","filter","visibleRelevant","slice","filteredRelevant","_computeSelectAllFromValues","relevant","relevantValues","Set","map","total","size","checked","indeterminate","selected","includes","selectAllEl","querySelector","native","_b","shadowRoot","_a","_c","requestUpdate","call","_validate","interacted","report","Validity","customError","valueMissing","InternalMsg","ValidationMessage","setValidity","reportValidity","detail","stopPropagation","target","targets","next","add","Array","from","toRemove","delete","_emitChangeEvent","event","CustomEvent","bubbles","composed","dispatchEvent","toLowerCase","visibleCount","searchLower","checkboxEl","textContent","checkboxText","style","display","revealed","index","expanded","prev","querySelectorAll","_updateChildren","hasAttribute","newValues","isParent","parentChecked","parentValue","childValues","push","indexOf","splice","connectedCallback","super","_onConnected","addEventListener","disconnectedCallback","_onDisconnected","removeEventListener","_required_decorators","property","type","Boolean","_disabled_decorators","_readonly_decorators","_horizontal_decorators","_selectAll_decorators","_selectAllChecked_decorators","_selectAllIndeterminate_decorators","String","attribute","_hideLegend_decorators","_filterable_decorators","_label_decorators","_searchTerm_decorators","_limitCheckboxes_decorators","_limitCount_decorators","Number","_limitRevealed_decorators","state","_textStrings_decorators","Object","__textStrings_decorators","_checkboxes_decorators","_filteredCheckboxes_decorators","__esDecorate","kind","static","private","access","obj","metadata","_metadata","_selectAllScope_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","CheckboxGroupScss"],"mappings":"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"}
1
+ {"version":3,"file":"checkboxGroup.js","sources":["../../../../src/components/reusable/checkbox/checkboxGroup.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { deepmerge } from 'deepmerge-ts';\nimport { FormMixin } from '../../../common/mixins/form-input';\nimport CheckboxGroupScss from './checkboxGroup.scss?inline';\n\nimport '../textInput';\nimport './checkbox';\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/error-filled.svg';\n\nconst _defaultTextStrings = {\n selectAll: 'Select all',\n showMore: 'Show more',\n showLess: 'Show less',\n search: 'Search',\n required: 'Required',\n error: 'Error',\n};\n\n/**\n * Checkbox group container.\n * @fires on-checkbox-group-change - Captures the change event and emits the selected values. `detail:{ value: Array }`\n * @fires on-search - Captures the search input event and emits the search term. `detail:{ searchTerm: string }`\n * @fires on-limit-toggle - Captures the show more/less click and emits the expanded state. `detail:{ expanded: boolean }`\n * @slot unnamed - Slot for individual checkboxes.\n * @slot tooltip - Slot for tooltip.\n * @slot description - Slot for description text.\n * @attr {array} [value=[]] - The selected values of the checkbox group.\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-checkbox-group')\nexport class CheckboxGroup extends FormMixin(LitElement) {\n static override styles = unsafeCSS(CheckboxGroupScss);\n\n /** Checkbox group selected values. */\n override value: Array<any> = [];\n\n /** Makes a single selection required. */\n @property({ type: Boolean })\n accessor required = false;\n\n /** Checkbox group disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Checkbox group readonly state. */\n @property({ type: Boolean })\n accessor readonly = false;\n\n /** Checkbox group horizontal style. */\n @property({ type: Boolean })\n accessor horizontal = false;\n\n /** Adds a \"Select All\" checkbox to the top of the group. */\n @property({ type: Boolean })\n accessor selectAll = false;\n\n /** Is \"Select All\" box checked.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllChecked = false;\n\n /** Is \"Select All\" indeterminate boolean.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllIndeterminate = false;\n\n /** Select All scope behavior.\n * @internal\n */\n @property({ type: String, attribute: false })\n accessor selectAllScope: 'legacy' | 'visible' | 'filtered' | 'all' = 'legacy';\n\n /** Hide the group legend/label visually. */\n @property({ type: Boolean })\n accessor hideLegend = false;\n\n /** Adds a search input to enable filtering of checkboxes. */\n @property({ type: Boolean })\n accessor filterable = false;\n\n /** Label text. */\n @property({ type: String })\n accessor label = '';\n\n /** Search input value */\n @property({ type: String })\n accessor searchTerm = '';\n\n /** Limits visible checkboxes behind a \"Show all\" button. */\n @property({ type: Boolean })\n accessor limitCheckboxes = false;\n\n /** Number of checkboxes visible when limited. */\n @property({ type: Number })\n accessor limitCount = 4;\n\n /** Checkbox limit visibility.\n * @internal\n */\n @state()\n accessor limitRevealed = false;\n\n /** Text string customization. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n // /**\n // * Queries for slotted checkboxes.\n // * @ignore\n // */\n // @queryAssignedElements()\n // checkboxes!: Array<any>;\n\n /** Checkboxes array.\n * @internal\n */\n @state()\n accessor checkboxes: Array<any> = [];\n\n /** Filtered Checkboxes array.\n * @internal\n */\n @state()\n accessor filteredCheckboxes: Array<any> = [];\n\n override render() {\n return html`\n <div>\n ${this.filterable\n ? html`\n <kyn-text-input\n class=\"search\"\n type=\"search\"\n size=\"sm\"\n placeholder=${this._textStrings.search}\n hideLabel\n value=${this.searchTerm}\n ?disabled=${this.disabled}\n ?readonly=${!this.disabled && this.readonly}\n @on-input=${(e: Event) => this._handleFilter(e)}\n >\n ${this._textStrings.search}\n </kyn-text-input>\n `\n : null}\n\n <fieldset\n ?disabled=${this.disabled}\n ?readonly=${!this.disabled && this.readonly}\n >\n <legend class=\"label-text ${this.hideLegend ? 'sr-only' : ''}\">\n ${this.required\n ? html`\n <abbr\n class=\"required\"\n title=${this._textStrings.required}\n aria-label=${this._textStrings.required}\n >\n *\n </abbr>\n `\n : null}\n <span>${this.label}</span>\n <slot name=\"tooltip\"></slot>\n </legend>\n <div class=\"description-text\">\n <slot name=\"description\"></slot>\n </div>\n ${this._isInvalid\n ? html`\n <div class=\"error\">\n <span\n role=\"img\"\n class=\"error-icon\"\n title=${this._textStrings.error}\n aria-label=${this._textStrings.error}\n >${unsafeSVG(errorIcon)}</span\n >\n ${this.invalidText || this._internalValidationMsg}\n </div>\n `\n : null}\n\n <div class=\"${this.horizontal ? 'horizontal' : ''}\">\n ${this.selectAll\n ? html`\n <kyn-checkbox\n class=\"select-all\"\n value=\"selectAll\"\n ?checked=${this.selectAllChecked}\n ?indeterminate=${this.selectAllIndeterminate}\n ?required=${this.required}\n ?disabled=${this.disabled}\n ?readonly=${!this.disabled && this.readonly}\n ?invalid=${this.invalidText !== '' ||\n this._internalValidationMsg !== ''}\n >\n ${this._textStrings.selectAll}\n </kyn-checkbox>\n `\n : null}\n\n <slot @slotchange=${this._handleSlotChange}></slot>\n\n ${this.limitCheckboxes &&\n this.filteredCheckboxes.length > this.limitCount\n ? html`\n <button\n class=\"reveal-toggle\"\n @click=${() => this._toggleRevealed(!this.limitRevealed)}\n >\n ${this.limitRevealed\n ? this._textStrings.showLess\n : html`\n ${this._textStrings.showMore}\n (${this.filteredCheckboxes.length})\n `}\n </button>\n `\n : null}\n </div>\n </fieldset>\n </div>\n `;\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n\n if (changedProps.has('value')) {\n this._updateCheckboxStates();\n }\n\n if (changedProps.has('selectAllScope')) this._updateCheckboxStates();\n\n if (changedProps.has('searchTerm') && this.checkboxes.length) {\n this._applyFilter();\n }\n\n if (changedProps.has('invalidText')) {\n this._isInvalid =\n this.invalidText !== '' || this._internalValidationMsg !== '';\n this.checkboxes.forEach((checkbox: any) => {\n checkbox.invalid = this._isInvalid;\n });\n }\n }\n\n override updated(changedProps: any) {\n if (!changedProps.has('invalidText')) this._onUpdated(changedProps);\n\n if (changedProps.has('name')) {\n this.checkboxes.forEach((c: any) => (c.name = this.name));\n const entries = new FormData();\n this.value.forEach((v) => entries.append(this.name, v));\n this._internals.setFormValue(entries);\n }\n\n if (changedProps.has('required')) {\n this.checkboxes.forEach((c: any) => (c.required = this.required));\n }\n\n if (\n changedProps.has('disabled') &&\n changedProps.get('disabled') !== undefined\n ) {\n this.checkboxes.forEach((c: any) => (c.disabled = this.disabled));\n this._updateCheckboxStates();\n }\n\n if (\n changedProps.has('readonly') &&\n changedProps.get('readonly') !== undefined\n ) {\n this.checkboxes.forEach((c: any) => (c.readonly = this.readonly));\n this._updateCheckboxStates();\n }\n\n if (\n changedProps.has('limitCheckboxes') &&\n changedProps.get('limitCheckboxes') !== undefined\n ) {\n this._toggleRevealed(false);\n }\n\n if (\n changedProps.has('limitCount') &&\n changedProps.get('limitCount') !== undefined\n ) {\n this._toggleRevealed(this.limitRevealed);\n }\n }\n\n private _scopeRelevant(): Array<any> {\n const allEnabled = this.checkboxes.filter(\n (c: any) => !c.disabled && !c.readonly\n );\n\n let visibleRelevant = this.filteredCheckboxes.filter(\n (c: any) => !c.disabled && !c.readonly\n );\n if (this.limitCheckboxes && !this.limitRevealed) {\n visibleRelevant = visibleRelevant.slice(0, this.limitCount);\n }\n\n const filteredRelevant = this.filteredCheckboxes.filter(\n (c: any) => !c.disabled && !c.readonly\n );\n\n switch (this.selectAllScope) {\n case 'visible':\n return visibleRelevant;\n case 'filtered':\n return filteredRelevant;\n case 'all':\n return allEnabled;\n default: {\n const useVisible =\n (this.searchTerm && this.searchTerm.length > 0) ||\n (this.limitCheckboxes && !this.limitRevealed);\n return useVisible ? visibleRelevant : allEnabled;\n }\n }\n }\n\n private _computeSelectAllFromValues() {\n const relevant = this._scopeRelevant();\n const relevantValues = new Set(relevant.map((c: any) => c.value));\n const total = relevantValues.size;\n if (total === 0) return { checked: false, indeterminate: false };\n\n let selected = 0;\n for (const v of this.value) if (relevantValues.has(v)) selected++;\n return {\n checked: selected === total,\n indeterminate: selected > 0 && selected < total,\n };\n }\n\n private _updateCheckboxStates() {\n this.checkboxes.forEach((c: any) => {\n c.checked = this.value.includes(c.value);\n });\n\n const { checked, indeterminate } = this._computeSelectAllFromValues();\n this.selectAllChecked = checked;\n this.selectAllIndeterminate = indeterminate;\n\n const selectAllEl = this.querySelector('.select-all') as any;\n if (selectAllEl) {\n selectAllEl.checked = checked;\n selectAllEl.indeterminate = indeterminate;\n const native =\n (selectAllEl.shadowRoot?.querySelector(\n 'input'\n ) as HTMLInputElement | null) ??\n (selectAllEl.querySelector('input') as HTMLInputElement | null);\n if (native) {\n native.checked = checked;\n if (typeof (native as any).indeterminate === 'boolean') {\n (native as any).indeterminate = indeterminate;\n }\n }\n selectAllEl.requestUpdate?.();\n }\n\n const entries = new FormData();\n this.value.forEach((v) => entries.append(this.name, v));\n this._internals.setFormValue(entries);\n }\n\n private _validate(interacted: boolean, report: boolean) {\n const Validity = {\n customError: this.invalidText !== '',\n valueMissing: this.required && !this.value.length,\n };\n\n const InternalMsg =\n this.required && !this.value.length ? 'A selection is required.' : '';\n const ValidationMessage =\n this.invalidText !== '' ? this.invalidText : InternalMsg;\n\n if (interacted || this.invalidText !== '') {\n this._internals.setValidity(Validity, ValidationMessage);\n\n if (interacted) {\n this._internalValidationMsg = InternalMsg;\n }\n }\n\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n private _handleCheckboxChange(\n e: CustomEvent<{ value: string; checked: boolean }>\n ) {\n const { value } = e.detail;\n\n if (this.disabled || this.readonly) {\n e.stopPropagation();\n const target = e.target as HTMLInputElement & { indeterminate?: boolean };\n if (target) {\n if (value === 'selectAll') {\n const { checked, indeterminate } = this._computeSelectAllFromValues();\n target.checked = checked;\n if (typeof target.indeterminate === 'boolean')\n target.indeterminate = indeterminate;\n } else {\n target.checked = this.value.includes(value);\n if (typeof target.indeterminate === 'boolean')\n target.indeterminate = false;\n }\n }\n return;\n }\n\n if (value === 'selectAll') {\n const targets = this._scopeRelevant();\n\n if (e.detail.checked) {\n const next = new Set(this.value);\n targets.forEach((c: any) => next.add(c.value));\n this.value = Array.from(next);\n } else {\n const toRemove = new Set(targets.map((c: any) => c.value));\n this.value = this.value.filter((v) => !toRemove.has(v));\n }\n\n this.checkboxes.forEach((c: any) => (c.indeterminate = false));\n } else {\n const next = new Set(this.value);\n next.has(value) ? next.delete(value) : next.add(value);\n this.value = Array.from(next);\n }\n\n this._validate(true, false);\n this._emitChangeEvent();\n }\n\n private _emitChangeEvent() {\n const event = new CustomEvent('on-checkbox-group-change', {\n detail: { value: [...this.value] },\n bubbles: true,\n composed: true,\n });\n this.dispatchEvent(event);\n }\n\n private _handleFilter(e: any) {\n this.searchTerm = e.detail.value.toLowerCase();\n this._applyFilter();\n\n const event = new CustomEvent('on-search', {\n detail: { searchTerm: this.searchTerm },\n });\n this.dispatchEvent(event);\n }\n\n private _applyFilter() {\n let visibleCount = 0;\n const searchLower = this.searchTerm.toLowerCase();\n\n this.filteredCheckboxes = this.checkboxes.filter((checkboxEl) => {\n return checkboxEl.textContent.toLowerCase().includes(searchLower);\n });\n\n this.checkboxes.forEach((checkboxEl) => {\n // get checkbox label text\n const checkboxText = checkboxEl.textContent.toLowerCase();\n\n // hide checkbox if no match to search term\n if (this.limitCheckboxes && !this.limitRevealed) {\n if (\n checkboxText.includes(searchLower) &&\n visibleCount < this.limitCount\n ) {\n checkboxEl.style.display = 'block';\n visibleCount++;\n } else {\n checkboxEl.style.display = 'none';\n }\n } else {\n if (checkboxText.includes(searchLower)) {\n checkboxEl.style.display = 'block';\n } else {\n checkboxEl.style.display = 'none';\n }\n }\n });\n\n this._updateCheckboxStates();\n }\n\n private _toggleRevealed(revealed: boolean) {\n this.limitRevealed = revealed;\n\n this.filteredCheckboxes.forEach((checkboxEl, index) => {\n if (!this.limitCheckboxes || this.limitRevealed) {\n checkboxEl.style.display = 'block';\n } else {\n if (index < this.limitCount) {\n checkboxEl.style.display = 'block';\n } else {\n checkboxEl.style.display = 'none';\n }\n }\n });\n\n this._updateCheckboxStates();\n\n const event = new CustomEvent('on-limit-toggle', {\n detail: { expanded: this.limitRevealed },\n });\n this.dispatchEvent(event);\n }\n\n private _handleSlotChange() {\n const prev = this.checkboxes;\n this.checkboxes = Array.from(\n this.querySelectorAll('kyn-checkbox:not(.select-all)')\n );\n this.filteredCheckboxes = this.checkboxes;\n\n if (!prev.length) {\n this._updateChildren();\n // Apply initial filter if searchTerm is set\n if (this.searchTerm && this.searchTerm.length > 0) {\n this._applyFilter();\n }\n }\n\n this._toggleRevealed(this.limitRevealed);\n }\n\n private _updateChildren() {\n this.checkboxes.forEach((c) => {\n c.disabled = c.hasAttribute('disabled') || this.disabled;\n c.readonly = c.hasAttribute('readonly') || this.readonly;\n c.checked = !!this.value?.length && this.value.includes(c.value);\n });\n this._updateCheckboxStates();\n }\n\n private _handleSubgroupChange(e: any) {\n const newValues = [...this.value];\n const {\n isParent,\n parentChecked,\n parentValue,\n value,\n checked,\n childValues,\n } = e.detail;\n\n if (isParent) {\n if (checked) {\n if (!newValues.includes(value)) {\n newValues.push(value);\n }\n\n childValues.forEach((value: string) => {\n if (!newValues.includes(value)) {\n newValues.push(value);\n }\n });\n } else {\n const index = newValues.indexOf(value);\n newValues.splice(index, 1);\n\n childValues.forEach((value: string) => {\n const index = newValues.indexOf(value);\n if (index !== -1) {\n newValues.splice(index, 1);\n }\n });\n }\n } else {\n if (checked) {\n if (!newValues.includes(value)) {\n newValues.push(value);\n }\n } else {\n const index = newValues.indexOf(value);\n if (index !== -1) {\n newValues.splice(index, 1);\n }\n }\n\n if (parentChecked) {\n if (!newValues.includes(parentValue)) {\n newValues.push(parentValue);\n }\n } else {\n const index = newValues.indexOf(parentValue);\n if (index !== -1) {\n newValues.splice(index, 1);\n }\n }\n }\n\n this.value = newValues;\n\n this._validate(true, false);\n\n this._emitChangeEvent();\n }\n\n /** _onCheckboxChange event.\n * @ignore\n */\n private _onCheckboxChange = (e: any) => this._handleCheckboxChange(e);\n /** _onCheckboxSubgroupChange event.\n * @ignore\n */\n private _onCheckboxSubgroupChange = (e: any) => this._handleSubgroupChange(e);\n\n override connectedCallback() {\n super.connectedCallback();\n this._onConnected();\n this.addEventListener('on-checkbox-change', this._onCheckboxChange);\n this.addEventListener(\n 'on-checkbox-subgroup-change',\n this._onCheckboxSubgroupChange\n );\n }\n\n override disconnectedCallback() {\n this._onDisconnected();\n this.removeEventListener('on-checkbox-change', this._onCheckboxChange);\n this.removeEventListener(\n 'on-checkbox-subgroup-change',\n this._onCheckboxSubgroupChange\n );\n super.disconnectedCallback();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-checkbox-group': CheckboxGroup;\n }\n}\n"],"names":["_defaultTextStrings","selectAll","showMore","showLess","search","required","error","CheckboxGroup","customElement","FormMixin","LitElement","_classThis","_classSuper","this","value","_CheckboxGroup_required_accessor_storage","set","__runInitializers","_required_initializers","_CheckboxGroup_disabled_accessor_storage","_required_extraInitializers","_disabled_initializers","_CheckboxGroup_readonly_accessor_storage","_disabled_extraInitializers","_readonly_initializers","_CheckboxGroup_horizontal_accessor_storage","_readonly_extraInitializers","_horizontal_initializers","_CheckboxGroup_selectAll_accessor_storage","_horizontal_extraInitializers","_selectAll_initializers","_CheckboxGroup_selectAllChecked_accessor_storage","_selectAll_extraInitializers","_selectAllChecked_initializers","_CheckboxGroup_selectAllIndeterminate_accessor_storage","_selectAllChecked_extraInitializers","_selectAllIndeterminate_initializers","_CheckboxGroup_selectAllScope_accessor_storage","_selectAllIndeterminate_extraInitializers","_selectAllScope_initializers","_CheckboxGroup_hideLegend_accessor_storage","_selectAllScope_extraInitializers","_hideLegend_initializers","_CheckboxGroup_filterable_accessor_storage","_hideLegend_extraInitializers","_filterable_initializers","_CheckboxGroup_label_accessor_storage","_filterable_extraInitializers","_label_initializers","_CheckboxGroup_searchTerm_accessor_storage","_label_extraInitializers","_searchTerm_initializers","_CheckboxGroup_limitCheckboxes_accessor_storage","_searchTerm_extraInitializers","_limitCheckboxes_initializers","_CheckboxGroup_limitCount_accessor_storage","_limitCheckboxes_extraInitializers","_limitCount_initializers","_CheckboxGroup_limitRevealed_accessor_storage","_limitCount_extraInitializers","_limitRevealed_initializers","_CheckboxGroup_textStrings_accessor_storage","_limitRevealed_extraInitializers","_textStrings_initializers","_CheckboxGroup__textStrings_accessor_storage","_textStrings_extraInitializers","__textStrings_initializers","_CheckboxGroup_checkboxes_accessor_storage","__textStrings_extraInitializers","_checkboxes_initializers","_CheckboxGroup_filteredCheckboxes_accessor_storage","_checkboxes_extraInitializers","_filteredCheckboxes_initializers","_onCheckboxChange","_filteredCheckboxes_extraInitializers","e","_handleCheckboxChange","_onCheckboxSubgroupChange","_handleSubgroupChange","__classPrivateFieldGet","__classPrivateFieldSet","disabled","readonly","horizontal","selectAllChecked","selectAllIndeterminate","selectAllScope","hideLegend","filterable","label","searchTerm","limitCheckboxes","limitCount","limitRevealed","textStrings","_textStrings","checkboxes","filteredCheckboxes","render","html","_handleFilter","_isInvalid","unsafeSVG","errorIcon","invalidText","_internalValidationMsg","_handleSlotChange","length","_toggleRevealed","willUpdate","changedProps","has","deepmerge","_updateCheckboxStates","_applyFilter","forEach","checkbox","invalid","updated","_onUpdated","c","name","entries","FormData","v","append","_internals","setFormValue","undefined","get","_scopeRelevant","allEnabled","filter","visibleRelevant","slice","filteredRelevant","_computeSelectAllFromValues","relevant","relevantValues","Set","map","total","size","checked","indeterminate","selected","includes","selectAllEl","querySelector","native","_b","shadowRoot","_a","_c","requestUpdate","call","_validate","interacted","report","Validity","customError","valueMissing","InternalMsg","ValidationMessage","setValidity","reportValidity","detail","stopPropagation","target","targets","next","add","Array","from","toRemove","delete","_emitChangeEvent","event","CustomEvent","bubbles","composed","dispatchEvent","toLowerCase","visibleCount","searchLower","checkboxEl","textContent","checkboxText","style","display","revealed","index","expanded","prev","querySelectorAll","_updateChildren","hasAttribute","newValues","isParent","parentChecked","parentValue","childValues","push","indexOf","splice","connectedCallback","super","_onConnected","addEventListener","disconnectedCallback","_onDisconnected","removeEventListener","_required_decorators","property","type","Boolean","_disabled_decorators","_readonly_decorators","_horizontal_decorators","_selectAll_decorators","_selectAllChecked_decorators","_selectAllIndeterminate_decorators","String","attribute","_hideLegend_decorators","_filterable_decorators","_label_decorators","_searchTerm_decorators","_limitCheckboxes_decorators","_limitCount_decorators","Number","_limitRevealed_decorators","state","_textStrings_decorators","Object","__textStrings_decorators","_checkboxes_decorators","_filteredCheckboxes_decorators","__esDecorate","kind","static","private","access","obj","metadata","_metadata","_selectAllScope_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","CheckboxGroupScss"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{__setFunctionName as t,__esDecorate as e,__runInitializers as i,__classPrivateFieldGet as a,__classPrivateFieldSet as r}from"tslib";import{css as o,LitElement as l,unsafeCSS as n,html as d}from"lit";import{customElement as s,property as c,state as p,query as h}from"lit/decorators.js";import{unsafeSVG as u}from"lit-html/directives/unsafe-svg.js";import{deepmerge as m}from"deepmerge-ts";import{classMap as v}from"lit/directives/class-map.js";import{e as g}from"../../../vendor/@kyndryl-design-system/shidoka-icons-BKNlykoZ.js";import{FormMixin as b}from"../../../common/mixins/form-input.js";var k=o`*,
1
+ import{__setFunctionName as t,__esDecorate as e,__runInitializers as i,__classPrivateFieldGet as a,__classPrivateFieldSet as r}from"tslib";import{css as o,LitElement as l,unsafeCSS as n,html as d}from"lit";import{customElement as s,property as c,state as p,query as h}from"lit/decorators.js";import{unsafeSVG as u}from"lit-html/directives/unsafe-svg.js";import{deepmerge as m}from"deepmerge-ts";import{classMap as v}from"lit/directives/class-map.js";import{e as g}from"../../../vendor/@kyndryl-design-system/shidoka-icons-BKNlykoZ.js";import{FormMixin as b}from"../../../common/mixins/form-input.js";var f=o`*,
2
2
  *::before,
3
3
  *::after {
4
4
  box-sizing: border-box;
@@ -333,6 +333,18 @@ textarea:not([disabled])[invalid] {
333
333
  left: var(--kyn-error-left, auto);
334
334
  right: var(--kyn-error-right, auto);
335
335
  }
336
+ .error.sr-only {
337
+ border: 0;
338
+ clip: rect(0, 0, 0, 0);
339
+ height: 1px;
340
+ margin: -1px;
341
+ overflow: hidden;
342
+ padding: 0;
343
+ position: absolute;
344
+ text-indent: 200%;
345
+ white-space: nowrap;
346
+ width: 1px;
347
+ }
336
348
  .error.error-text .error-icon {
337
349
  display: flex;
338
350
  align-items: center;
@@ -574,7 +586,7 @@ input[type=text] {
574
586
 
575
587
  input[type=color].readonly {
576
588
  pointer-events: none;
577
- }`;const f={requiredText:"Required",errorText:"Error",pleaseSelectColor:"Please select a color",invalidFormat:"Enter a valid hex color (e.g. #FF0000)",colorTextInput:"Color text input"};let x=(()=>{var o,x,y,w,z,_,$,S,C,E,I,M;let q,W,j,T,L,V,F,B,O,P,R,U,Y,A,D=[s("kyn-color-input")],G=[],H=b(l),J=[],K=[],N=[],Q=[],X=[],Z=[],tt=[],et=[],it=[],at=[],rt=[],ot=[],lt=[],nt=[],dt=[],st=[],ct=[],pt=[],ht=[],ut=[],mt=[],vt=[],gt=[],bt=[];return W=class extends H{get label(){return a(this,o,"f")}set label(t){r(this,o,t,"f")}get caption(){return a(this,x,"f")}set caption(t){r(this,x,t,"f")}get disabled(){return a(this,y,"f")}set disabled(t){r(this,y,t,"f")}get required(){return a(this,w,"f")}set required(t){r(this,w,t,"f")}get hideLabel(){return a(this,z,"f")}set hideLabel(t){r(this,z,t,"f")}get readonly(){return a(this,_,"f")}set readonly(t){r(this,_,t,"f")}get textStrings(){return a(this,$,"f")}set textStrings(t){r(this,$,t,"f")}get autoComplete(){return a(this,S,"f")}set autoComplete(t){r(this,S,t,"f")}get _textStrings(){return a(this,C,"f")}set _textStrings(t){r(this,C,t,"f")}get _inputColorEl(){return a(this,E,"f")}set _inputColorEl(t){r(this,E,t,"f")}get _inputEl(){return a(this,I,"f")}set _inputEl(t){r(this,I,t,"f")}get _hasInteracted(){return a(this,M,"f")}set _hasInteracted(t){r(this,M,t,"f")}render(){var t;return d`
589
+ }`;const k={requiredText:"Required",errorText:"Error",pleaseSelectColor:"Please select a color",invalidFormat:"Enter a valid hex color (e.g. #FF0000)",colorTextInput:"Color text input"};let x=(()=>{var o,x,y,w,z,_,$,S,C,E,I,M;let q,W,j,T,L,V,F,B,O,P,R,U,Y,A,D=[s("kyn-color-input")],G=[],H=b(l),J=[],K=[],N=[],Q=[],X=[],Z=[],tt=[],et=[],it=[],at=[],rt=[],ot=[],lt=[],nt=[],dt=[],st=[],ct=[],pt=[],ht=[],ut=[],mt=[],vt=[],gt=[],bt=[];return W=class extends H{get label(){return a(this,o,"f")}set label(t){r(this,o,t,"f")}get caption(){return a(this,x,"f")}set caption(t){r(this,x,t,"f")}get disabled(){return a(this,y,"f")}set disabled(t){r(this,y,t,"f")}get required(){return a(this,w,"f")}set required(t){r(this,w,t,"f")}get hideLabel(){return a(this,z,"f")}set hideLabel(t){r(this,z,t,"f")}get readonly(){return a(this,_,"f")}set readonly(t){r(this,_,t,"f")}get textStrings(){return a(this,$,"f")}set textStrings(t){r(this,$,t,"f")}get autoComplete(){return a(this,S,"f")}set autoComplete(t){r(this,S,t,"f")}get _textStrings(){return a(this,C,"f")}set _textStrings(t){r(this,C,t,"f")}get _inputColorEl(){return a(this,E,"f")}set _inputColorEl(t){r(this,E,t,"f")}get _inputEl(){return a(this,I,"f")}set _inputEl(t){r(this,I,t,"f")}get _hasInteracted(){return a(this,M,"f")}set _hasInteracted(t){r(this,M,t,"f")}render(){var t;return d`
578
590
  <div
579
591
  class="text-input"
580
592
  ?disabled=${this.disabled}
@@ -641,5 +653,5 @@ input[type=color].readonly {
641
653
  </div>
642
654
  </div>
643
655
  </div>
644
- `}handleColorChange(t){this.value=t.target.value,this._inputEl.value=t.target.value,this._validate(!0,!1),this._emitValue(t)}handleTextInput(t){this.value=t.target.value,this._inputColorEl.value=t.target.value,this._validate(!0,!1),this._emitValue(t)}_emitValue(t){const e={value:this.value};t&&(e.origEvent=t);const i=new CustomEvent("on-input",{detail:e});this.dispatchEvent(i)}_validate(t,e){t&&(this._hasInteracted=!0);const i=this._inputEl.value,a={valueMissing:!1,patternMismatch:!1,customError:!1,valid:!0};let r="";this.required&&!i&&(a.valueMissing=!0,a.valid=!1,r=this._textStrings.pleaseSelectColor),""==i||/^#([0-9a-fA-F]{6})$/.test(i)||(a.patternMismatch=!0,a.valid=!1,r=this._textStrings.invalidFormat),this._internals.setValidity(a,r,this._inputEl),t&&(this._internalValidationMsg=r),e&&this._internals.reportValidity()}updated(t){this._onUpdated(t),t.has("value")&&(this._inputEl.value=this.value)}willUpdate(t){t.has("textStrings")&&(this._textStrings=m(f,this.textStrings))}constructor(){super(...arguments),o.set(this,i(this,J,"")),x.set(this,(i(this,K),i(this,N,""))),y.set(this,(i(this,Q),i(this,X,!1))),w.set(this,(i(this,Z),i(this,tt,!1))),z.set(this,(i(this,et),i(this,it,!1))),_.set(this,(i(this,at),i(this,rt,!1))),$.set(this,(i(this,ot),i(this,lt,f))),S.set(this,(i(this,nt),i(this,dt,"off"))),C.set(this,(i(this,st),i(this,ct,f))),E.set(this,(i(this,pt),i(this,ht,void 0))),I.set(this,(i(this,ut),i(this,mt,void 0))),M.set(this,(i(this,vt),i(this,gt,!1))),i(this,bt)}},o=new WeakMap,x=new WeakMap,y=new WeakMap,w=new WeakMap,z=new WeakMap,_=new WeakMap,$=new WeakMap,S=new WeakMap,C=new WeakMap,E=new WeakMap,I=new WeakMap,M=new WeakMap,t(W,"ColorInput"),(()=>{var t;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(t=H[Symbol.metadata])&&void 0!==t?t:null):void 0;j=[c({type:String})],T=[c({type:String})],L=[c({type:Boolean})],V=[c({type:Boolean})],F=[c({type:Boolean})],B=[c({type:Boolean})],O=[c({type:Object})],P=[c({type:String})],R=[p()],U=[h('input[type="color"]')],Y=[h('input[type="text"]')],A=[p()],e(W,null,j,{kind:"accessor",name:"label",static:!1,private:!1,access:{has:t=>"label"in t,get:t=>t.label,set:(t,e)=>{t.label=e}},metadata:i},J,K),e(W,null,T,{kind:"accessor",name:"caption",static:!1,private:!1,access:{has:t=>"caption"in t,get:t=>t.caption,set:(t,e)=>{t.caption=e}},metadata:i},N,Q),e(W,null,L,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:t=>"disabled"in t,get:t=>t.disabled,set:(t,e)=>{t.disabled=e}},metadata:i},X,Z),e(W,null,V,{kind:"accessor",name:"required",static:!1,private:!1,access:{has:t=>"required"in t,get:t=>t.required,set:(t,e)=>{t.required=e}},metadata:i},tt,et),e(W,null,F,{kind:"accessor",name:"hideLabel",static:!1,private:!1,access:{has:t=>"hideLabel"in t,get:t=>t.hideLabel,set:(t,e)=>{t.hideLabel=e}},metadata:i},it,at),e(W,null,B,{kind:"accessor",name:"readonly",static:!1,private:!1,access:{has:t=>"readonly"in t,get:t=>t.readonly,set:(t,e)=>{t.readonly=e}},metadata:i},rt,ot),e(W,null,O,{kind:"accessor",name:"textStrings",static:!1,private:!1,access:{has:t=>"textStrings"in t,get:t=>t.textStrings,set:(t,e)=>{t.textStrings=e}},metadata:i},lt,nt),e(W,null,P,{kind:"accessor",name:"autoComplete",static:!1,private:!1,access:{has:t=>"autoComplete"in t,get:t=>t.autoComplete,set:(t,e)=>{t.autoComplete=e}},metadata:i},dt,st),e(W,null,R,{kind:"accessor",name:"_textStrings",static:!1,private:!1,access:{has:t=>"_textStrings"in t,get:t=>t._textStrings,set:(t,e)=>{t._textStrings=e}},metadata:i},ct,pt),e(W,null,U,{kind:"accessor",name:"_inputColorEl",static:!1,private:!1,access:{has:t=>"_inputColorEl"in t,get:t=>t._inputColorEl,set:(t,e)=>{t._inputColorEl=e}},metadata:i},ht,ut),e(W,null,Y,{kind:"accessor",name:"_inputEl",static:!1,private:!1,access:{has:t=>"_inputEl"in t,get:t=>t._inputEl,set:(t,e)=>{t._inputEl=e}},metadata:i},mt,vt),e(W,null,A,{kind:"accessor",name:"_hasInteracted",static:!1,private:!1,access:{has:t=>"_hasInteracted"in t,get:t=>t._hasInteracted,set:(t,e)=>{t._hasInteracted=e}},metadata:i},gt,bt),e(null,q={value:W},D,{kind:"class",name:W.name,metadata:i},null,G),W=q.value,i&&Object.defineProperty(W,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),W.styles=n(k),i(W,G),W})();export{x as ColorInput};
656
+ `}handleColorChange(t){this.value=t.target.value,this._inputEl.value=t.target.value,this._validate(!0,!1),this._emitValue(t)}handleTextInput(t){this.value=t.target.value,this._inputColorEl.value=t.target.value,this._validate(!0,!1),this._emitValue(t)}_emitValue(t){const e={value:this.value};t&&(e.origEvent=t);const i=new CustomEvent("on-input",{detail:e});this.dispatchEvent(i)}_validate(t,e){t&&(this._hasInteracted=!0);const i=this._inputEl.value,a={valueMissing:!1,patternMismatch:!1,customError:!1,valid:!0};let r="";this.required&&!i&&(a.valueMissing=!0,a.valid=!1,r=this._textStrings.pleaseSelectColor),""==i||/^#([0-9a-fA-F]{6})$/.test(i)||(a.patternMismatch=!0,a.valid=!1,r=this._textStrings.invalidFormat),this._internals.setValidity(a,r,this._inputEl),t&&(this._internalValidationMsg=r),e&&this._internals.reportValidity()}updated(t){this._onUpdated(t),t.has("value")&&(this._inputEl.value=this.value)}willUpdate(t){t.has("textStrings")&&(this._textStrings=m(k,this.textStrings))}constructor(){super(...arguments),o.set(this,i(this,J,"")),x.set(this,(i(this,K),i(this,N,""))),y.set(this,(i(this,Q),i(this,X,!1))),w.set(this,(i(this,Z),i(this,tt,!1))),z.set(this,(i(this,et),i(this,it,!1))),_.set(this,(i(this,at),i(this,rt,!1))),$.set(this,(i(this,ot),i(this,lt,k))),S.set(this,(i(this,nt),i(this,dt,"off"))),C.set(this,(i(this,st),i(this,ct,k))),E.set(this,(i(this,pt),i(this,ht,void 0))),I.set(this,(i(this,ut),i(this,mt,void 0))),M.set(this,(i(this,vt),i(this,gt,!1))),i(this,bt)}},o=new WeakMap,x=new WeakMap,y=new WeakMap,w=new WeakMap,z=new WeakMap,_=new WeakMap,$=new WeakMap,S=new WeakMap,C=new WeakMap,E=new WeakMap,I=new WeakMap,M=new WeakMap,t(W,"ColorInput"),(()=>{var t;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(t=H[Symbol.metadata])&&void 0!==t?t:null):void 0;j=[c({type:String})],T=[c({type:String})],L=[c({type:Boolean})],V=[c({type:Boolean})],F=[c({type:Boolean})],B=[c({type:Boolean})],O=[c({type:Object})],P=[c({type:String})],R=[p()],U=[h('input[type="color"]')],Y=[h('input[type="text"]')],A=[p()],e(W,null,j,{kind:"accessor",name:"label",static:!1,private:!1,access:{has:t=>"label"in t,get:t=>t.label,set:(t,e)=>{t.label=e}},metadata:i},J,K),e(W,null,T,{kind:"accessor",name:"caption",static:!1,private:!1,access:{has:t=>"caption"in t,get:t=>t.caption,set:(t,e)=>{t.caption=e}},metadata:i},N,Q),e(W,null,L,{kind:"accessor",name:"disabled",static:!1,private:!1,access:{has:t=>"disabled"in t,get:t=>t.disabled,set:(t,e)=>{t.disabled=e}},metadata:i},X,Z),e(W,null,V,{kind:"accessor",name:"required",static:!1,private:!1,access:{has:t=>"required"in t,get:t=>t.required,set:(t,e)=>{t.required=e}},metadata:i},tt,et),e(W,null,F,{kind:"accessor",name:"hideLabel",static:!1,private:!1,access:{has:t=>"hideLabel"in t,get:t=>t.hideLabel,set:(t,e)=>{t.hideLabel=e}},metadata:i},it,at),e(W,null,B,{kind:"accessor",name:"readonly",static:!1,private:!1,access:{has:t=>"readonly"in t,get:t=>t.readonly,set:(t,e)=>{t.readonly=e}},metadata:i},rt,ot),e(W,null,O,{kind:"accessor",name:"textStrings",static:!1,private:!1,access:{has:t=>"textStrings"in t,get:t=>t.textStrings,set:(t,e)=>{t.textStrings=e}},metadata:i},lt,nt),e(W,null,P,{kind:"accessor",name:"autoComplete",static:!1,private:!1,access:{has:t=>"autoComplete"in t,get:t=>t.autoComplete,set:(t,e)=>{t.autoComplete=e}},metadata:i},dt,st),e(W,null,R,{kind:"accessor",name:"_textStrings",static:!1,private:!1,access:{has:t=>"_textStrings"in t,get:t=>t._textStrings,set:(t,e)=>{t._textStrings=e}},metadata:i},ct,pt),e(W,null,U,{kind:"accessor",name:"_inputColorEl",static:!1,private:!1,access:{has:t=>"_inputColorEl"in t,get:t=>t._inputColorEl,set:(t,e)=>{t._inputColorEl=e}},metadata:i},ht,ut),e(W,null,Y,{kind:"accessor",name:"_inputEl",static:!1,private:!1,access:{has:t=>"_inputEl"in t,get:t=>t._inputEl,set:(t,e)=>{t._inputEl=e}},metadata:i},mt,vt),e(W,null,A,{kind:"accessor",name:"_hasInteracted",static:!1,private:!1,access:{has:t=>"_hasInteracted"in t,get:t=>t._hasInteracted,set:(t,e)=>{t._hasInteracted=e}},metadata:i},gt,bt),e(null,q={value:W},D,{kind:"class",name:W.name,metadata:i},null,G),W=q.value,i&&Object.defineProperty(W,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),W.styles=n(f),i(W,G),W})();export{x as ColorInput};
645
657
  //# sourceMappingURL=colorInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"colorInput.js","sources":["../../../../src/components/reusable/colorInput/colorInput.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, state, query, property } from 'lit/decorators.js';\nimport { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { deepmerge } from 'deepmerge-ts';\nimport { classMap } from 'lit/directives/class-map.js';\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/error-filled.svg';\nimport Styles from './colorInput.scss?inline';\nimport { FormMixin } from '../../../common/mixins/form-input';\n\nconst _defaultTextStrings = {\n requiredText: 'Required',\n errorText: 'Error',\n pleaseSelectColor: 'Please select a color',\n invalidFormat: 'Enter a valid hex color (e.g. #FF0000)',\n colorTextInput: 'Color text input',\n};\n\n/**\n * Color input.\n * @fires on-input - Captures the input event and emits the selected value and original event details. `detail:{ value: string, origEvent: Event }`\n * @slot tooltip - Slot for tooltip.\n * @attr {string} [value=''] - The value of the input.\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-color-input')\nexport class ColorInput extends FormMixin(LitElement) {\n static override styles = unsafeCSS(Styles);\n\n /** Label text. */\n @property({ type: String })\n accessor label = '';\n\n /** Optional text beneath the input. */\n @property({ type: String })\n accessor caption = '';\n\n /** Input disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Input required state. */\n @property({ type: Boolean })\n accessor required = false;\n\n /** Visually hide the label. */\n @property({ type: Boolean })\n accessor hideLabel = false;\n\n /** Input readonly state. */\n @property({ type: Boolean })\n accessor readonly = false;\n\n /** Customizable text strings. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Control for native browser autocomplete. Use `on`, `off`, or a space-separated `token-list` describing autocomplete behavior.*/\n @property({ type: String })\n accessor autoComplete: string = 'off';\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /**\n * Queries the <input[type=\"color\"]> DOM element.\n * @ignore\n */\n @query('input[type=\"color\"]')\n accessor _inputColorEl!: HTMLInputElement;\n\n /**\n * Queries the <input[type=\"text\"]> DOM element.\n * @ignore\n */\n @query('input[type=\"text\"]')\n accessor _inputEl!: HTMLInputElement;\n\n /** Sets whether user has interacted with input text for error handling..\n * @internal\n */\n @state()\n accessor _hasInteracted = false;\n\n override render() {\n return html`\n <div\n class=\"text-input\"\n ?disabled=${this.disabled}\n ?readonly=${!this.disabled && this.readonly}\n >\n <label\n class=\"label-text ${this.hideLabel ? 'sr-only' : ''}\"\n for=${this.name}\n >\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 }\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </label>\n <div class=\"color-input-wrapper\">\n <input\n class=${classMap({\n 'custom-color': true,\n readonly: this.readonly,\n })}\n type=\"color\"\n name=\"colorInput\"\n id=\"colorInput\"\n .value=${this.value}\n ?disabled=${this.disabled}\n @input=${this.handleColorChange}\n />\n </div>\n <input\n class=\"${classMap({\n 'is-readonly': this.readonly,\n })}\"\n type=\"text\"\n name=${this.name}\n .value=${this.value}\n ?disabled=${this.disabled}\n ?readonly=${!this.disabled && this.readonly}\n ?invalid=${this._isInvalid}\n aria-label=${this._textStrings.colorTextInput}\n aria-invalid=${this._isInvalid}\n aria-describedby=${this._isInvalid ? 'error' : ''}\n autocomplete=${this.autoComplete}\n @input=${(e: any) => this.handleTextInput(e)}\n />\n <div class=\"caption-error-count\">\n <div>\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 id=\"error\" class=\"error\">\n <span\n role=\"img\"\n class=\"error-icon\"\n aria-label=${this._textStrings.errorText}\n >${unsafeSVG(errorIcon)}</span\n >\n ${this.invalidText || this._internalValidationMsg}\n </div>\n `\n : null\n }\n </div>\n </div>\n </div>\n </div>\n `;\n }\n\n private handleColorChange(e: any) {\n this.value = e.target.value;\n this._inputEl.value = e.target.value;\n this._validate(true, false);\n this._emitValue(e);\n }\n\n private handleTextInput(e: any) {\n this.value = e.target.value;\n this._inputColorEl.value = e.target.value;\n this._validate(true, false);\n this._emitValue(e);\n }\n\n private _emitValue(e?: any) {\n const Detail: any = {\n value: this.value,\n };\n if (e) {\n Detail.origEvent = e;\n }\n\n const event = new CustomEvent('on-input', {\n detail: Detail,\n });\n this.dispatchEvent(event);\n }\n\n private _validate(interacted: Boolean, report: Boolean) {\n // get validity state from inputEl\n if (interacted) this._hasInteracted = true;\n const hexPattern = /^#([0-9a-fA-F]{6})$/;\n const value = this._inputEl.value;\n const validityFlags = {\n valueMissing: false,\n patternMismatch: false,\n customError: false,\n valid: true,\n };\n\n let validationMessage = '';\n\n if (this.required && !value) {\n validityFlags.valueMissing = true;\n validityFlags.valid = false;\n validationMessage = this._textStrings.pleaseSelectColor;\n }\n\n if (value != '' && !hexPattern.test(value)) {\n validityFlags.patternMismatch = true;\n validityFlags.valid = false;\n validationMessage = this._textStrings.invalidFormat;\n }\n\n // set validity on custom element, anchor to inputEl\n this._internals.setValidity(\n validityFlags,\n validationMessage,\n this._inputEl\n );\n\n // set internal validation message if value was changed by user input\n if (interacted) {\n this._internalValidationMsg = validationMessage;\n }\n\n // focus the form field to show validity\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n override updated(changedProps: any) {\n // preserve FormMixin updated function\n this._onUpdated(changedProps);\n\n if (changedProps.has('value')) {\n this._inputEl.value = this.value;\n }\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-color-input': ColorInput;\n }\n}\n"],"names":["_defaultTextStrings","requiredText","errorText","pleaseSelectColor","invalidFormat","colorTextInput","ColorInput","customElement","FormMixin","LitElement","_classThis","_classSuper","label","__classPrivateFieldGet","this","_ColorInput_label_accessor_storage","value","__classPrivateFieldSet","caption","_ColorInput_caption_accessor_storage","disabled","_ColorInput_disabled_accessor_storage","required","_ColorInput_required_accessor_storage","hideLabel","_ColorInput_hideLabel_accessor_storage","readonly","_ColorInput_readonly_accessor_storage","textStrings","_ColorInput_textStrings_accessor_storage","autoComplete","_ColorInput_autoComplete_accessor_storage","_textStrings","_ColorInput__textStrings_accessor_storage","_inputColorEl","_ColorInput__inputColorEl_accessor_storage","_inputEl","_ColorInput__inputEl_accessor_storage","_hasInteracted","_ColorInput__hasInteracted_accessor_storage","render","html","name","_a","classMap","handleColorChange","_isInvalid","e","handleTextInput","unsafeSVG","errorIcon","invalidText","_internalValidationMsg","target","_validate","_emitValue","Detail","origEvent","event","CustomEvent","detail","dispatchEvent","interacted","report","validityFlags","valueMissing","patternMismatch","customError","valid","validationMessage","test","_internals","setValidity","reportValidity","updated","changedProps","_onUpdated","has","willUpdate","deepmerge","set","__runInitializers","_label_initializers","_label_extraInitializers","_caption_initializers","_caption_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_required_initializers","_required_extraInitializers","_hideLabel_initializers","_hideLabel_extraInitializers","_readonly_initializers","_readonly_extraInitializers","_textStrings_initializers","_textStrings_extraInitializers","_autoComplete_initializers","_autoComplete_extraInitializers","__textStrings_initializers","__textStrings_extraInitializers","__inputColorEl_initializers","__inputColorEl_extraInitializers","__inputEl_initializers","__inputEl_extraInitializers","__hasInteracted_initializers","_label_decorators","property","type","String","_caption_decorators","_disabled_decorators","Boolean","_required_decorators","_hideLabel_decorators","_readonly_decorators","_textStrings_decorators","Object","_autoComplete_decorators","__textStrings_decorators","state","query","__hasInteracted_decorators","__esDecorate","kind","static","private","access","obj","get","metadata","_metadata","__inputColorEl_decorators","__inputEl_decorators","__hasInteracted_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","Styles"],"mappings":"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"}
1
+ {"version":3,"file":"colorInput.js","sources":["../../../../src/components/reusable/colorInput/colorInput.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, state, query, property } from 'lit/decorators.js';\nimport { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { deepmerge } from 'deepmerge-ts';\nimport { classMap } from 'lit/directives/class-map.js';\nimport errorIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/error-filled.svg';\nimport Styles from './colorInput.scss?inline';\nimport { FormMixin } from '../../../common/mixins/form-input';\n\nconst _defaultTextStrings = {\n requiredText: 'Required',\n errorText: 'Error',\n pleaseSelectColor: 'Please select a color',\n invalidFormat: 'Enter a valid hex color (e.g. #FF0000)',\n colorTextInput: 'Color text input',\n};\n\n/**\n * Color input.\n * @fires on-input - Captures the input event and emits the selected value and original event details. `detail:{ value: string, origEvent: Event }`\n * @slot tooltip - Slot for tooltip.\n * @attr {string} [value=''] - The value of the input.\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-color-input')\nexport class ColorInput extends FormMixin(LitElement) {\n static override styles = unsafeCSS(Styles);\n\n /** Label text. */\n @property({ type: String })\n accessor label = '';\n\n /** Optional text beneath the input. */\n @property({ type: String })\n accessor caption = '';\n\n /** Input disabled state. */\n @property({ type: Boolean })\n accessor disabled = false;\n\n /** Input required state. */\n @property({ type: Boolean })\n accessor required = false;\n\n /** Visually hide the label. */\n @property({ type: Boolean })\n accessor hideLabel = false;\n\n /** Input readonly state. */\n @property({ type: Boolean })\n accessor readonly = false;\n\n /** Customizable text strings. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Control for native browser autocomplete. Use `on`, `off`, or a space-separated `token-list` describing autocomplete behavior.*/\n @property({ type: String })\n accessor autoComplete: string = 'off';\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /**\n * Queries the <input[type=\"color\"]> DOM element.\n * @ignore\n */\n @query('input[type=\"color\"]')\n accessor _inputColorEl!: HTMLInputElement;\n\n /**\n * Queries the <input[type=\"text\"]> DOM element.\n * @ignore\n */\n @query('input[type=\"text\"]')\n accessor _inputEl!: HTMLInputElement;\n\n /** Sets whether user has interacted with input text for error handling..\n * @internal\n */\n @state()\n accessor _hasInteracted = false;\n\n override render() {\n return html`\n <div\n class=\"text-input\"\n ?disabled=${this.disabled}\n ?readonly=${!this.disabled && this.readonly}\n >\n <label\n class=\"label-text ${this.hideLabel ? 'sr-only' : ''}\"\n for=${this.name}\n >\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 }\n ${this.label}\n <slot name=\"tooltip\"></slot>\n </label>\n <div class=\"color-input-wrapper\">\n <input\n class=${classMap({\n 'custom-color': true,\n readonly: this.readonly,\n })}\n type=\"color\"\n name=\"colorInput\"\n id=\"colorInput\"\n .value=${this.value}\n ?disabled=${this.disabled}\n @input=${this.handleColorChange}\n />\n </div>\n <input\n class=\"${classMap({\n 'is-readonly': this.readonly,\n })}\"\n type=\"text\"\n name=${this.name}\n .value=${this.value}\n ?disabled=${this.disabled}\n ?readonly=${!this.disabled && this.readonly}\n ?invalid=${this._isInvalid}\n aria-label=${this._textStrings.colorTextInput}\n aria-invalid=${this._isInvalid}\n aria-describedby=${this._isInvalid ? 'error' : ''}\n autocomplete=${this.autoComplete}\n @input=${(e: any) => this.handleTextInput(e)}\n />\n <div class=\"caption-error-count\">\n <div>\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 id=\"error\" class=\"error\">\n <span\n role=\"img\"\n class=\"error-icon\"\n aria-label=${this._textStrings.errorText}\n >${unsafeSVG(errorIcon)}</span\n >\n ${this.invalidText || this._internalValidationMsg}\n </div>\n `\n : null\n }\n </div>\n </div>\n </div>\n </div>\n `;\n }\n\n private handleColorChange(e: any) {\n this.value = e.target.value;\n this._inputEl.value = e.target.value;\n this._validate(true, false);\n this._emitValue(e);\n }\n\n private handleTextInput(e: any) {\n this.value = e.target.value;\n this._inputColorEl.value = e.target.value;\n this._validate(true, false);\n this._emitValue(e);\n }\n\n private _emitValue(e?: any) {\n const Detail: any = {\n value: this.value,\n };\n if (e) {\n Detail.origEvent = e;\n }\n\n const event = new CustomEvent('on-input', {\n detail: Detail,\n });\n this.dispatchEvent(event);\n }\n\n private _validate(interacted: Boolean, report: Boolean) {\n // get validity state from inputEl\n if (interacted) this._hasInteracted = true;\n const hexPattern = /^#([0-9a-fA-F]{6})$/;\n const value = this._inputEl.value;\n const validityFlags = {\n valueMissing: false,\n patternMismatch: false,\n customError: false,\n valid: true,\n };\n\n let validationMessage = '';\n\n if (this.required && !value) {\n validityFlags.valueMissing = true;\n validityFlags.valid = false;\n validationMessage = this._textStrings.pleaseSelectColor;\n }\n\n if (value != '' && !hexPattern.test(value)) {\n validityFlags.patternMismatch = true;\n validityFlags.valid = false;\n validationMessage = this._textStrings.invalidFormat;\n }\n\n // set validity on custom element, anchor to inputEl\n this._internals.setValidity(\n validityFlags,\n validationMessage,\n this._inputEl\n );\n\n // set internal validation message if value was changed by user input\n if (interacted) {\n this._internalValidationMsg = validationMessage;\n }\n\n // focus the form field to show validity\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n override updated(changedProps: any) {\n // preserve FormMixin updated function\n this._onUpdated(changedProps);\n\n if (changedProps.has('value')) {\n this._inputEl.value = this.value;\n }\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-color-input': ColorInput;\n }\n}\n"],"names":["_defaultTextStrings","requiredText","errorText","pleaseSelectColor","invalidFormat","colorTextInput","ColorInput","customElement","FormMixin","LitElement","_classThis","_classSuper","label","__classPrivateFieldGet","this","_ColorInput_label_accessor_storage","value","__classPrivateFieldSet","caption","_ColorInput_caption_accessor_storage","disabled","_ColorInput_disabled_accessor_storage","required","_ColorInput_required_accessor_storage","hideLabel","_ColorInput_hideLabel_accessor_storage","readonly","_ColorInput_readonly_accessor_storage","textStrings","_ColorInput_textStrings_accessor_storage","autoComplete","_ColorInput_autoComplete_accessor_storage","_textStrings","_ColorInput__textStrings_accessor_storage","_inputColorEl","_ColorInput__inputColorEl_accessor_storage","_inputEl","_ColorInput__inputEl_accessor_storage","_hasInteracted","_ColorInput__hasInteracted_accessor_storage","render","html","name","_a","classMap","handleColorChange","_isInvalid","e","handleTextInput","unsafeSVG","errorIcon","invalidText","_internalValidationMsg","target","_validate","_emitValue","Detail","origEvent","event","CustomEvent","detail","dispatchEvent","interacted","report","validityFlags","valueMissing","patternMismatch","customError","valid","validationMessage","test","_internals","setValidity","reportValidity","updated","changedProps","_onUpdated","has","willUpdate","deepmerge","set","__runInitializers","_label_initializers","_label_extraInitializers","_caption_initializers","_caption_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_required_initializers","_required_extraInitializers","_hideLabel_initializers","_hideLabel_extraInitializers","_readonly_initializers","_readonly_extraInitializers","_textStrings_initializers","_textStrings_extraInitializers","_autoComplete_initializers","_autoComplete_extraInitializers","__textStrings_initializers","__textStrings_extraInitializers","__inputColorEl_initializers","__inputColorEl_extraInitializers","__inputEl_initializers","__inputEl_extraInitializers","__hasInteracted_initializers","_label_decorators","property","type","String","_caption_decorators","_disabled_decorators","Boolean","_required_decorators","_hideLabel_decorators","_readonly_decorators","_textStrings_decorators","Object","_autoComplete_decorators","__textStrings_decorators","state","query","__hasInteracted_decorators","__esDecorate","kind","static","private","access","obj","get","metadata","_metadata","__inputColorEl_decorators","__inputEl_decorators","__hasInteracted_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","Styles"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GASA,MAAMA,EAAsB,CAC1BC,aAAc,WACdC,UAAW,QACXC,kBAAmB,wBACnBC,cAAe,yCACfC,eAAgB,wBAYLC,EAAU,qEADtBC,EAAc,2BACiBC,EAAUC,oJAAlBC,EAAA,cAAQC,EAK9B,SAASC,GAAK,OAAAC,EAAAC,KAAAC,EAAA,IAAA,CAAd,SAASH,CAAKI,GAAAC,EAAAH,KAAAC,EAAAC,EAAA,IAAA,CAId,WAASE,GAAO,OAAAL,EAAAC,KAAAK,EAAA,IAAA,CAAhB,WAASD,CAAOF,GAAAC,EAAAH,KAAAK,EAAAH,EAAA,IAAA,CAIhB,YAASI,GAAQ,OAAAP,EAAAC,KAAAO,EAAA,IAAA,CAAjB,YAASD,CAAQJ,GAAAC,EAAAH,KAAAO,EAAAL,EAAA,IAAA,CAIjB,YAASM,GAAQ,OAAAT,EAAAC,KAAAS,EAAA,IAAA,CAAjB,YAASD,CAAQN,GAAAC,EAAAH,KAAAS,EAAAP,EAAA,IAAA,CAIjB,aAASQ,GAAS,OAAAX,EAAAC,KAAAW,EAAA,IAAA,CAAlB,aAASD,CAASR,GAAAC,EAAAH,KAAAW,EAAAT,EAAA,IAAA,CAIlB,YAASU,GAAQ,OAAAb,EAAAC,KAAAa,EAAA,IAAA,CAAjB,YAASD,CAAQV,GAAAC,EAAAH,KAAAa,EAAAX,EAAA,IAAA,CAIjB,eAASY,GAAW,OAAAf,EAAAC,KAAAe,EAAA,IAAA,CAApB,eAASD,CAAWZ,GAAAC,EAAAH,KAAAe,EAAAb,EAAA,IAAA,CAIpB,gBAASc,GAAY,OAAAjB,EAAAC,KAAAiB,EAAA,IAAA,CAArB,gBAASD,CAAYd,GAAAC,EAAAH,KAAAiB,EAAAf,EAAA,IAAA,CAMrB,gBAASgB,GAAY,OAAAnB,EAAAC,KAAAmB,EAAA,IAAA,CAArB,gBAASD,CAAYhB,GAAAC,EAAAH,KAAAmB,EAAAjB,EAAA,IAAA,CAOrB,iBAASkB,GAAa,OAAArB,EAAAC,KAAAqB,EAAA,IAAA,CAAtB,iBAASD,CAAalB,GAAAC,EAAAH,KAAAqB,EAAAnB,EAAA,IAAA,CAOtB,YAASoB,GAAQ,OAAAvB,EAAAC,KAAAuB,EAAA,IAAA,CAAjB,YAASD,CAAQpB,GAAAC,EAAAH,KAAAuB,EAAArB,EAAA,IAAA,CAMjB,kBAASsB,GAAc,OAAAzB,EAAAC,KAAAyB,EAAA,IAAA,CAAvB,kBAASD,CAActB,GAAAC,EAAAH,KAAAyB,EAAAvB,EAAA,IAAA,CAEd,MAAAwB,SACP,OAAOC,CAAI;;;oBAGK3B,KAAKM;qBACJN,KAAKM,UAAYN,KAAKY;;;8BAGbZ,KAAKU,UAAY,UAAY;gBAC3CV,KAAK4B;;YAGT5B,KAAKQ,SACDmB,CAAI;;0BAEM3B,KAAKkB,aAAa/B;;gCAEI,UAAjBa,KAAKkB,oBAAY,IAAAW,OAAA,EAAAA,EAAE1C,eAAgB;;mBAGlD;YAEJa,KAAKF;;;;;kBAKCgC,EAAS,CACf,gBAAgB,EAChBlB,SAAUZ,KAAKY;;;;qBAKNZ,KAAKE;wBACFF,KAAKM;qBACRN,KAAK+B;;;;qBAILD,EAAS,CAChB,cAAe9B,KAAKY;;mBAGfZ,KAAK4B;qBACH5B,KAAKE;wBACFF,KAAKM;yBACJN,KAAKM,UAAYN,KAAKY;uBACxBZ,KAAKgC;yBACHhC,KAAKkB,aAAa3B;2BAChBS,KAAKgC;+BACDhC,KAAKgC,WAAa,QAAU;2BAChChC,KAAKgB;qBACViB,GAAWjC,KAAKkC,gBAAgBD;;;;gBAKrB,KAAjBjC,KAAKI,QACDuB,CAAI;2DACmC3B,KAAKM;0BACtCN,KAAKI;;sBAGX;gBAGJJ,KAAKgC,WACDL,CAAI;;;;;uCAKe3B,KAAKkB,aAAa9B;6BAC5B+C,EAAUC;;0BAEbpC,KAAKqC,aAAerC,KAAKsC;;sBAG/B;;;;;KAOlB,CAEQ,iBAAAP,CAAkBE,GACxBjC,KAAKE,MAAQ+B,EAAEM,OAAOrC,MACtBF,KAAKsB,SAASpB,MAAQ+B,EAAEM,OAAOrC,MAC/BF,KAAKwC,WAAU,GAAM,GACrBxC,KAAKyC,WAAWR,EAClB,CAEQ,eAAAC,CAAgBD,GACtBjC,KAAKE,MAAQ+B,EAAEM,OAAOrC,MACtBF,KAAKoB,cAAclB,MAAQ+B,EAAEM,OAAOrC,MACpCF,KAAKwC,WAAU,GAAM,GACrBxC,KAAKyC,WAAWR,EAClB,CAEQ,UAAAQ,CAAWR,GACjB,MAAMS,EAAc,CAClBxC,MAAOF,KAAKE,OAEV+B,IACFS,EAAOC,UAAYV,GAGrB,MAAMW,EAAQ,IAAIC,YAAY,WAAY,CACxCC,OAAQJ,IAEV1C,KAAK+C,cAAcH,EACrB,CAEQ,SAAAJ,CAAUQ,EAAqBC,GAEjCD,IAAYhD,KAAKwB,gBAAiB,GACtC,MACMtB,EAAQF,KAAKsB,SAASpB,MACtBgD,EAAgB,CACpBC,cAAc,EACdC,iBAAiB,EACjBC,aAAa,EACbC,OAAO,GAGT,IAAIC,EAAoB,GAEpBvD,KAAKQ,WAAaN,IACpBgD,EAAcC,cAAe,EAC7BD,EAAcI,OAAQ,EACtBC,EAAoBvD,KAAKkB,aAAa7B,mBAG3B,IAATa,GAjBe,sBAiBYsD,KAAKtD,KAClCgD,EAAcE,iBAAkB,EAChCF,EAAcI,OAAQ,EACtBC,EAAoBvD,KAAKkB,aAAa5B,eAIxCU,KAAKyD,WAAWC,YACdR,EACAK,EACAvD,KAAKsB,UAIH0B,IACFhD,KAAKsC,uBAAyBiB,GAI5BN,GACFjD,KAAKyD,WAAWE,gBAEpB,CAES,OAAAC,CAAQC,GAEf7D,KAAK8D,WAAWD,GAEZA,EAAaE,IAAI,WACnB/D,KAAKsB,SAASpB,MAAQF,KAAKE,MAE/B,CAES,UAAA8D,CAAWH,GACdA,EAAaE,IAAI,iBACnB/D,KAAKkB,aAAe+C,EAAU/E,EAAqBc,KAAKc,aAE5D,mCArOSb,EAAAiE,IAAAlE,KAAAmE,EAAAnE,KAAAoE,EAAQ,KAIR/D,EAAA6D,IAAAlE,MAAAmE,EAAAnE,KAAAqE,GAAAF,EAAAnE,KAAAsE,EAAU,MAIV/D,EAAA2D,IAAAlE,MAAAmE,EAAAnE,KAAAuE,GAAAJ,EAAAnE,KAAAwE,GAAW,KAIX/D,EAAAyD,IAAAlE,MAAAmE,EAAAnE,KAAAyE,GAAAN,EAAAnE,KAAA0E,IAAW,KAIX/D,EAAAuD,IAAAlE,MAAAmE,EAAAnE,KAAA2E,IAAAR,EAAAnE,KAAA4E,IAAY,KAIZ/D,EAAAqD,IAAAlE,MAAAmE,EAAAnE,KAAA6E,IAAAV,EAAAnE,KAAA8E,IAAW,KAIX/D,EAAAmD,IAAAlE,MAAAmE,EAAAnE,KAAA+E,IAAAZ,EAAAnE,KAAAgF,GAAc9F,KAId+B,EAAAiD,IAAAlE,MAAAmE,EAAAnE,KAAAiF,IAAAd,EAAAnE,KAAAkF,GAAuB,SAMvB/D,EAAA+C,IAAAlE,MAAAmE,EAAAnE,KAAAmF,IAAAhB,EAAAnE,KAAAoF,GAAelG,KAOfmC,EAAA6C,IAAAlE,MAAAmE,EAAAnE,KAAAqF,IAAAlB,EAAAnE,KAAAsF,QAAA,KAOA/D,EAAA2C,IAAAlE,MAAAmE,EAAAnE,KAAAuF,IAAApB,EAAAnE,KAAAwF,QAAA,KAMA/D,EAAAyC,IAAAlE,MAAAmE,EAAAnE,KAAAyF,IAAAtB,EAAAnE,KAAA0F,IAAiB,kVAvDzBC,EAAA,CAAAC,EAAS,CAAEC,KAAMC,UAIjBC,EAAA,CAAAH,EAAS,CAAEC,KAAMC,UAIjBE,EAAA,CAAAJ,EAAS,CAAEC,KAAMI,WAIjBC,EAAA,CAAAN,EAAS,CAAEC,KAAMI,WAIjBE,EAAA,CAAAP,EAAS,CAAEC,KAAMI,WAIjBG,EAAA,CAAAR,EAAS,CAAEC,KAAMI,WAIjBI,EAAA,CAAAT,EAAS,CAAEC,KAAMS,UAIjBC,EAAA,CAAAX,EAAS,CAAEC,KAAMC,UAMjBU,EAAA,CAAAC,QAOAC,EAAM,2BAONA,EAAM,uBAMNC,EAAA,CAAAF,KArDDG,EAAAhH,EAAA,KAAA+F,EAAA,CAAAkB,KAAA,WAAAjF,KAAA,QAAAkF,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAjD,IAAAkD,GAAA,UAAAA,EAAAC,IAAAD,GAAAA,EAASnH,MAAKoE,IAAA,CAAA+C,EAAA/G,KAAA+G,EAALnH,MAAKI,CAAA,GAAAiH,SAAAC,GAAAhD,EAAAC,GAIduC,EAAAhH,EAAA,KAAAmG,EAAA,CAAAc,KAAA,WAAAjF,KAAA,UAAAkF,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAjD,IAAAkD,GAAA,YAAAA,EAAAC,IAAAD,GAAAA,EAAS7G,QAAO8D,IAAA,CAAA+C,EAAA/G,KAAA+G,EAAP7G,QAAOF,CAAA,GAAAiH,SAAAC,GAAA9C,EAAAC,GAIhBqC,EAAAhH,EAAA,KAAAoG,EAAA,CAAAa,KAAA,WAAAjF,KAAA,WAAAkF,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAjD,IAAAkD,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAAS3G,SAAQ4D,IAAA,CAAA+C,EAAA/G,KAAA+G,EAAR3G,SAAQJ,CAAA,GAAAiH,SAAAC,GAAA5C,EAAAC,GAIjBmC,EAAAhH,EAAA,KAAAsG,EAAA,CAAAW,KAAA,WAAAjF,KAAA,WAAAkF,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAjD,IAAAkD,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAASzG,SAAQ0D,IAAA,CAAA+C,EAAA/G,KAAA+G,EAARzG,SAAQN,CAAA,GAAAiH,SAAAC,GAAA1C,GAAAC,IAIjBiC,EAAAhH,EAAA,KAAAuG,EAAA,CAAAU,KAAA,WAAAjF,KAAA,YAAAkF,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAjD,IAAAkD,GAAA,cAAAA,EAAAC,IAAAD,GAAAA,EAASvG,UAASwD,IAAA,CAAA+C,EAAA/G,KAAA+G,EAATvG,UAASR,CAAA,GAAAiH,SAAAC,GAAAxC,GAAAC,IAIlB+B,EAAAhH,EAAA,KAAAwG,EAAA,CAAAS,KAAA,WAAAjF,KAAA,WAAAkF,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAjD,IAAAkD,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAASrG,SAAQsD,IAAA,CAAA+C,EAAA/G,KAAA+G,EAARrG,SAAQV,CAAA,GAAAiH,SAAAC,GAAAtC,GAAAC,IAIjB6B,EAAAhH,EAAA,KAAAyG,EAAA,CAAAQ,KAAA,WAAAjF,KAAA,cAAAkF,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAjD,IAAAkD,GAAA,gBAAAA,EAAAC,IAAAD,GAAAA,EAASnG,YAAWoD,IAAA,CAAA+C,EAAA/G,KAAA+G,EAAXnG,YAAWZ,CAAA,GAAAiH,SAAAC,GAAApC,GAAAC,IAIpB2B,EAAAhH,EAAA,KAAA2G,EAAA,CAAAM,KAAA,WAAAjF,KAAA,eAAAkF,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAjD,IAAAkD,GAAA,iBAAAA,EAAAC,IAAAD,GAAAA,EAASjG,aAAYkD,IAAA,CAAA+C,EAAA/G,KAAA+G,EAAZjG,aAAYd,CAAA,GAAAiH,SAAAC,GAAAlC,GAAAC,IAMrByB,EAAAhH,EAAA,KAAA4G,EAAA,CAAAK,KAAA,WAAAjF,KAAA,eAAAkF,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAjD,IAAAkD,GAAA,iBAAAA,EAAAC,IAAAD,GAAAA,EAAS/F,aAAYgD,IAAA,CAAA+C,EAAA/G,KAAA+G,EAAZ/F,aAAYhB,CAAA,GAAAiH,SAAAC,GAAAhC,GAAAC,IAOrBuB,EAAAhH,EAAA,KAAAyH,EAAA,CAAAR,KAAA,WAAAjF,KAAA,gBAAAkF,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAjD,IAAAkD,GAAA,kBAAAA,EAAAC,IAAAD,GAAAA,EAAS7F,cAAa8C,IAAA,CAAA+C,EAAA/G,KAAA+G,EAAb7F,cAAalB,CAAA,GAAAiH,SAAAC,GAAA9B,GAAAC,IAOtBqB,EAAAhH,EAAA,KAAA0H,EAAA,CAAAT,KAAA,WAAAjF,KAAA,WAAAkF,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAjD,IAAAkD,GAAA,aAAAA,EAAAC,IAAAD,GAAAA,EAAS3F,SAAQ4C,IAAA,CAAA+C,EAAA/G,KAAA+G,EAAR3F,SAAQpB,CAAA,GAAAiH,SAAAC,GAAA5B,GAAAC,IAMjBmB,EAAAhH,EAAA,KAAA+G,EAAA,CAAAE,KAAA,WAAAjF,KAAA,iBAAAkF,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAjD,IAAAkD,GAAA,mBAAAA,EAAAC,IAAAD,GAAAA,EAASzF,eAAc0C,IAAA,CAAA+C,EAAA/G,KAAA+G,EAAdzF,eAActB,CAAA,GAAAiH,SAAAC,GAAA1B,GAAA6B,IA3DzBX,EAAA,KAAAY,EAAA,CAAAtH,MAAAN,GAAA6H,EAAA,CAAAZ,KAAA,QAAAjF,KAAAhC,EAAAgC,KAAAuF,SAAAC,GAAA,KAAAM,iHACkB9H,EAAA+H,OAASC,EAAUC,GADxB1D,EAAAvE,EAAA8H,MAAU"}
@@ -1,4 +1,4 @@
1
- import{__setFunctionName as t,__esDecorate as e,__runInitializers as i,__classPrivateFieldGet as a,__classPrivateFieldSet as s}from"tslib";import{css as n,LitElement as r,unsafeCSS as l,html as o}from"lit";import{customElement as d,property as c,state as h,query as p}from"lit/decorators.js";import{classMap as u}from"lit/directives/class-map.js";import{FormMixin as m}from"../../../common/mixins/form-input.js";import{unsafeSVG as g}from"lit-html/directives/unsafe-svg.js";import{getPlaceholder as f,injectFlatpickrStyles as v,updateEnableTime as k,clearFlatpickrInput as b,emitValue as y,initializeSingleAnchorFlatpickr as x,getModalContainer as _,setCalendarAttributes as w,hideEmptyYear as D,getFlatpickrOptions as I,handleInputClick as z,handleInputFocus as F,loadLocale as S}from"../../../common/helpers/flatpickr/flatpickr.js";import"flatpickr/dist/esm/l10n/default.js";import{debounce as E,CONFIG_DEBOUNCE_DELAY as T,isEmptyValue as M,cleanupFlatpickrInstance as C,generateRandomId as $,filterValidDates as L}from"../../../common/helpers/flatpickr/utils.js";import"../button/button.js";import A from"flatpickr";import{c as N}from"../../../shidoka-flatpickr-theme-CTco2ary.js";import{c as O,r as V,e as W}from"../../../vendor/@kyndryl-design-system/shidoka-icons-BKNlykoZ.js";import"flatpickr/dist/esm/plugins/rangePlugin.js";import"../../../common/helpers/flatpickr/langs.js";import"../../../common/helpers/flatpickr/overlay.js";import"lit/directives/if-defined.js";import"lit-html/directives/class-map.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var P=n`*,
1
+ import{__setFunctionName as t,__esDecorate as e,__runInitializers as i,__classPrivateFieldGet as a,__classPrivateFieldSet as s}from"tslib";import{css as n,LitElement as r,unsafeCSS as l,html as o}from"lit";import{customElement as d,property as c,state as h,query as p}from"lit/decorators.js";import{classMap as u}from"lit/directives/class-map.js";import{FormMixin as m}from"../../../common/mixins/form-input.js";import{unsafeSVG as g}from"lit-html/directives/unsafe-svg.js";import{getPlaceholder as f,injectFlatpickrStyles as v,updateEnableTime as k,clearFlatpickrInput as b,emitValue as y,initializeSingleAnchorFlatpickr as x,getModalContainer as _,setCalendarAttributes as w,hideEmptyYear as D,getFlatpickrOptions as I,handleInputClick as z,handleInputFocus as F,loadLocale as S}from"../../../common/helpers/flatpickr/flatpickr.js";import"flatpickr/dist/esm/l10n/default.js";import{debounce as E,CONFIG_DEBOUNCE_DELAY as T,isEmptyValue as M,cleanupFlatpickrInstance as C,generateRandomId as $,filterValidDates as L}from"../../../common/helpers/flatpickr/utils.js";import"../button/button.js";import A from"flatpickr";import{c as N}from"../../../shidoka-flatpickr-theme-BqZcH5Up.js";import{c as O,r as V,e as W}from"../../../vendor/@kyndryl-design-system/shidoka-icons-BKNlykoZ.js";import"flatpickr/dist/esm/plugins/rangePlugin.js";import"../../../common/helpers/flatpickr/langs.js";import"../../../common/helpers/flatpickr/overlay.js";import"lit/directives/if-defined.js";import"lit-html/directives/class-map.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var P=n`*,
2
2
  *::before,
3
3
  *::after {
4
4
  box-sizing: border-box;
@@ -333,6 +333,18 @@ textarea:not([disabled])[invalid] {
333
333
  left: var(--kyn-error-left, auto);
334
334
  right: var(--kyn-error-right, auto);
335
335
  }
336
+ .error.sr-only {
337
+ border: 0;
338
+ clip: rect(0, 0, 0, 0);
339
+ height: 1px;
340
+ margin: -1px;
341
+ overflow: hidden;
342
+ padding: 0;
343
+ position: absolute;
344
+ text-indent: 200%;
345
+ white-space: nowrap;
346
+ width: 1px;
347
+ }
336
348
  .error.error-text .error-icon {
337
349
  display: flex;
338
350
  align-items: center;