@kyndryl-design-system/shidoka-applications 2.53.2 → 2.53.3
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.
|
@@ -46,10 +46,8 @@ export declare class CheckboxGroup extends CheckboxGroup_base {
|
|
|
46
46
|
accessor searchTerm: string;
|
|
47
47
|
/** Limits visible checkboxes behind a "Show all" button. */
|
|
48
48
|
accessor limitCheckboxes: boolean;
|
|
49
|
-
/** Number of checkboxes visible when limited.
|
|
50
|
-
|
|
51
|
-
*/
|
|
52
|
-
accessor _limitCount: number;
|
|
49
|
+
/** Number of checkboxes visible when limited. */
|
|
50
|
+
accessor limitCount: number;
|
|
53
51
|
/** Checkbox limit visibility.
|
|
54
52
|
* @internal
|
|
55
53
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkboxGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/checkbox/checkboxGroup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAMlD,OAAO,cAAc,CAAC;AACtB,OAAO,YAAY,CAAC;;AAYpB;;;;;;;;;;;GAWG;AACH,qBACa,aAAc,SAAQ,kBAAqB;IACtD,OAAgB,MAAM,0BAAgC;IAEtD,sCAAsC;IAC7B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAM;IAEhC,yCAAyC;IAEzC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,qCAAqC;IAErC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,uCAAuC;IAEvC,QAAQ,CAAC,UAAU,UAAS;IAE5B,4DAA4D;IAE5D,QAAQ,CAAC,SAAS,UAAS;IAE3B;;OAEG;IAEH,QAAQ,CAAC,gBAAgB,UAAS;IAElC;;OAEG;IAEH,QAAQ,CAAC,sBAAsB,UAAS;IAExC,4CAA4C;IAE5C,QAAQ,CAAC,UAAU,UAAS;IAE5B,6DAA6D;IAE7D,QAAQ,CAAC,UAAU,UAAS;IAE5B,kBAAkB;IAElB,QAAQ,CAAC,KAAK,SAAM;IAEpB;;OAEG;IAEH,QAAQ,CAAC,UAAU,SAAM;IAEzB,4DAA4D;IAE5D,QAAQ,CAAC,eAAe,UAAS;IAEjC
|
|
1
|
+
{"version":3,"file":"checkboxGroup.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/checkbox/checkboxGroup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAMlD,OAAO,cAAc,CAAC;AACtB,OAAO,YAAY,CAAC;;AAYpB;;;;;;;;;;;GAWG;AACH,qBACa,aAAc,SAAQ,kBAAqB;IACtD,OAAgB,MAAM,0BAAgC;IAEtD,sCAAsC;IAC7B,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAM;IAEhC,yCAAyC;IAEzC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,qCAAqC;IAErC,QAAQ,CAAC,QAAQ,UAAS;IAE1B,uCAAuC;IAEvC,QAAQ,CAAC,UAAU,UAAS;IAE5B,4DAA4D;IAE5D,QAAQ,CAAC,SAAS,UAAS;IAE3B;;OAEG;IAEH,QAAQ,CAAC,gBAAgB,UAAS;IAElC;;OAEG;IAEH,QAAQ,CAAC,sBAAsB,UAAS;IAExC,4CAA4C;IAE5C,QAAQ,CAAC,UAAU,UAAS;IAE5B,6DAA6D;IAE7D,QAAQ,CAAC,UAAU,UAAS;IAE5B,kBAAkB;IAElB,QAAQ,CAAC,KAAK,SAAM;IAEpB;;OAEG;IAEH,QAAQ,CAAC,UAAU,SAAM;IAEzB,4DAA4D;IAE5D,QAAQ,CAAC,eAAe,UAAS;IAEjC,iDAAiD;IAEjD,QAAQ,CAAC,UAAU,SAAK;IAExB;;OAEG;IAEH,QAAQ,CAAC,aAAa,UAAS;IAE/B,iCAAiC;IAEjC,QAAQ,CAAC,WAAW;;;;;;;MAAuB;IAE3C;;OAEG;IAEH,QAAQ,CAAC,YAAY;;;;;;;MAAuB;IAU5C,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,CAAM;IAGrC,QAAQ,CAAC,kBAAkB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAM;IAEpC,MAAM;IAgGN,UAAU,CAAC,YAAY,EAAE,GAAG;IAM5B,OAAO,CAAC,YAAY,EAAE,GAAG;IAmDlC,OAAO,CAAC,qBAAqB;IAsB7B,OAAO,CAAC,SAAS;IA0BjB,OAAO,CAAC,qBAAqB;IAiC7B,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,aAAa;IAuCrB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,qBAAqB;IAgEpB,iBAAiB;IAiBjB,oBAAoB;CAc9B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,aAAa,CAAC;KACrC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as e,a as t,b as i,c as a,d as l}from"../../../vendor/tslib-Ac8XvvSX.js";import{x as s,o as r}from"../../../vendor/lit-html-BRBT5o_V.js";import{i as o,a as n,t as d,r as c,n as h}from"../../../vendor/@lit/reactive-element-f91Vet7N.js";import{i as u}from"../../../vendor/lit-element-m-OqzV5s.js";import{d as p}from"../../../vendor/deepmerge-ts-OFb5ej8y.js";import{FormMixin as m}from"../../../common/mixins/form-input.js";import"../textInput/textInput.js";import"./checkbox.js";import{g
|
|
1
|
+
import{_ as e,a as t,b as i,c as a,d as l}from"../../../vendor/tslib-Ac8XvvSX.js";import{x as s,o as r}from"../../../vendor/lit-html-BRBT5o_V.js";import{i as o,a as n,t as d,r as c,n as h}from"../../../vendor/@lit/reactive-element-f91Vet7N.js";import{i as u}from"../../../vendor/lit-element-m-OqzV5s.js";import{d as p}from"../../../vendor/deepmerge-ts-OFb5ej8y.js";import{FormMixin as m}from"../../../common/mixins/form-input.js";import"../textInput/textInput.js";import"./checkbox.js";import{g}from"../../../vendor/@kyndryl-design-system/shidoka-icons-bi0_OAYf.js";import"../button/button.js";import"../../../common/helpers/helpers.js";import"../button/defs.js";var k=o`*,
|
|
2
2
|
*::before,
|
|
3
3
|
*::after {
|
|
4
4
|
box-sizing: border-box;
|
|
@@ -556,7 +556,7 @@ fieldset {
|
|
|
556
556
|
|
|
557
557
|
.error {
|
|
558
558
|
order: 1;
|
|
559
|
-
}`;const v={selectAll:"Select all",showMore:"Show more",showLess:"Show less",search:"Search",required:"Required",error:"Error"};let b=(()=>{var o,b,f,x,y,w,z,
|
|
559
|
+
}`;const v={selectAll:"Select all",showMore:"Show more",showLess:"Show less",search:"Search",required:"Required",error:"Error"};let b=(()=>{var o,b,f,x,y,w,C,z,_,S,A,$,E,M,q,T,R;let j,L,W,I,B,V,O,F,D,P,U,Y,G,N,H,J,K,Q,X,Z=[d("kyn-checkbox-group")],ee=[],te=m(u),ie=[],ae=[],le=[],se=[],re=[],oe=[],ne=[],de=[],ce=[],he=[],ue=[],pe=[],me=[],ge=[],ke=[],ve=[],be=[],fe=[],xe=[],ye=[],we=[],Ce=[],ze=[],_e=[],Se=[],Ae=[],$e=[],Ee=[],Me=[],qe=[],Te=[],Re=[],je=[],Le=[];return L=class extends te{get required(){return a(this,o,"f")}set required(e){l(this,o,e,"f")}get disabled(){return a(this,b,"f")}set disabled(e){l(this,b,e,"f")}get horizontal(){return a(this,f,"f")}set horizontal(e){l(this,f,e,"f")}get selectAll(){return a(this,x,"f")}set selectAll(e){l(this,x,e,"f")}get selectAllChecked(){return a(this,y,"f")}set selectAllChecked(e){l(this,y,e,"f")}get selectAllIndeterminate(){return a(this,w,"f")}set selectAllIndeterminate(e){l(this,w,e,"f")}get hideLegend(){return a(this,C,"f")}set hideLegend(e){l(this,C,e,"f")}get filterable(){return a(this,z,"f")}set filterable(e){l(this,z,e,"f")}get label(){return a(this,_,"f")}set label(e){l(this,_,e,"f")}get searchTerm(){return a(this,S,"f")}set searchTerm(e){l(this,S,e,"f")}get limitCheckboxes(){return a(this,A,"f")}set limitCheckboxes(e){l(this,A,e,"f")}get limitCount(){return a(this,$,"f")}set limitCount(e){l(this,$,e,"f")}get limitRevealed(){return a(this,E,"f")}set limitRevealed(e){l(this,E,e,"f")}get textStrings(){return a(this,M,"f")}set textStrings(e){l(this,M,e,"f")}get _textStrings(){return a(this,q,"f")}set _textStrings(e){l(this,q,e,"f")}get checkboxes(){return a(this,T,"f")}set checkboxes(e){l(this,T,e,"f")}get filteredCheckboxes(){return a(this,R,"f")}set filteredCheckboxes(e){l(this,R,e,"f")}render(){return s`
|
|
560
560
|
<div>
|
|
561
561
|
${this.filterable?s`
|
|
562
562
|
<kyn-text-input
|
|
@@ -597,7 +597,7 @@ fieldset {
|
|
|
597
597
|
class="error-icon"
|
|
598
598
|
title=${this._textStrings.error}
|
|
599
599
|
aria-label=${this._textStrings.error}
|
|
600
|
-
>${r(
|
|
600
|
+
>${r(g)}</span
|
|
601
601
|
>
|
|
602
602
|
${this.invalidText||this._internalValidationMsg}
|
|
603
603
|
</div>
|
|
@@ -620,7 +620,7 @@ fieldset {
|
|
|
620
620
|
|
|
621
621
|
<slot @slotchange=${this._handleSlotChange}></slot>
|
|
622
622
|
|
|
623
|
-
${this.limitCheckboxes&&this.filteredCheckboxes.length>this.
|
|
623
|
+
${this.limitCheckboxes&&this.filteredCheckboxes.length>this.limitCount?s`
|
|
624
624
|
<button
|
|
625
625
|
class="reveal-toggle"
|
|
626
626
|
@click=${()=>this._toggleRevealed(!this.limitRevealed)}
|
|
@@ -634,5 +634,5 @@ fieldset {
|
|
|
634
634
|
</div>
|
|
635
635
|
</fieldset>
|
|
636
636
|
</div>
|
|
637
|
-
`}willUpdate(e){e.has("textStrings")&&(this._textStrings=p(v,this.textStrings))}updated(e){e.has("invalidText")||this._onUpdated(e),e.has("invalidText")?(this._isInvalid=""!==this.invalidText||""!==this._internalValidationMsg,this.checkboxes.forEach((e=>{e.invalid=this._isInvalid}))):e.has("value")&&this._updateCheckboxStates(),e.has("name")&&this.checkboxes.forEach((e=>{e.name=this.name})),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})),e.has("limitCheckboxes")&&void 0!==e.get("limitCheckboxes")&&this._toggleRevealed(!1)}_updateCheckboxStates(){this.checkboxes.forEach((e=>{e.checked=this.value.includes(e.value)}));const e=this.checkboxes.filter((e=>e.checked)).length;this.selectAllChecked=this.checkboxes.length>0&&e===this.checkboxes.length,this.selectAllIndeterminate=e<this.checkboxes.length&&e>0;const t=new FormData;this.value.forEach((e=>{t.append(this.name,e)})),this._internals.setFormValue(t)}_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 t=e.detail.value;if("selectAll"===t)e.detail.checked?this.value=this.checkboxes.filter((e=>!e.disabled)).map((e=>e.value)):this.value=[],this.checkboxes.forEach((e=>{e.indeterminate=!1}));else{const e=[...this.value];if(e.includes(t)){const i=e.indexOf(t);e.splice(i,1)}else e.push(t);this.value=e}this._validate(!0,!1),this._emitChangeEvent()}_emitChangeEvent(){const e=new CustomEvent("on-checkbox-group-change",{detail:{value:this.value}});this.dispatchEvent(e)}_handleFilter(e){let t=0;this.searchTerm=e.detail.value.toLowerCase(),this.filteredCheckboxes=this.checkboxes.filter((e=>e.textContent.toLowerCase().includes(this.searchTerm))),this.checkboxes.forEach((e=>{const i=e.textContent.toLowerCase();this.limitCheckboxes&&!this.limitRevealed?i.includes(this.searchTerm)&&t<this.
|
|
637
|
+
`}willUpdate(e){e.has("textStrings")&&(this._textStrings=p(v,this.textStrings))}updated(e){e.has("invalidText")||this._onUpdated(e),e.has("invalidText")?(this._isInvalid=""!==this.invalidText||""!==this._internalValidationMsg,this.checkboxes.forEach((e=>{e.invalid=this._isInvalid}))):e.has("value")&&this._updateCheckboxStates(),e.has("name")&&this.checkboxes.forEach((e=>{e.name=this.name})),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})),e.has("limitCheckboxes")&&void 0!==e.get("limitCheckboxes")&&this._toggleRevealed(!1),e.has("limitCount")&&void 0!==e.get("limitCount")&&this._toggleRevealed(this.limitRevealed)}_updateCheckboxStates(){this.checkboxes.forEach((e=>{e.checked=this.value.includes(e.value)}));const e=this.checkboxes.filter((e=>e.checked)).length;this.selectAllChecked=this.checkboxes.length>0&&e===this.checkboxes.length,this.selectAllIndeterminate=e<this.checkboxes.length&&e>0;const t=new FormData;this.value.forEach((e=>{t.append(this.name,e)})),this._internals.setFormValue(t)}_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 t=e.detail.value;if("selectAll"===t)e.detail.checked?this.value=this.checkboxes.filter((e=>!e.disabled)).map((e=>e.value)):this.value=[],this.checkboxes.forEach((e=>{e.indeterminate=!1}));else{const e=[...this.value];if(e.includes(t)){const i=e.indexOf(t);e.splice(i,1)}else e.push(t);this.value=e}this._validate(!0,!1),this._emitChangeEvent()}_emitChangeEvent(){const e=new CustomEvent("on-checkbox-group-change",{detail:{value:this.value}});this.dispatchEvent(e)}_handleFilter(e){let t=0;this.searchTerm=e.detail.value.toLowerCase(),this.filteredCheckboxes=this.checkboxes.filter((e=>e.textContent.toLowerCase().includes(this.searchTerm))),this.checkboxes.forEach((e=>{const i=e.textContent.toLowerCase();this.limitCheckboxes&&!this.limitRevealed?i.includes(this.searchTerm)&&t<this.limitCount?(e.style.display="block",t++):e.style.display="none":i.includes(this.searchTerm)?e.style.display="block":e.style.display="none"}));const i=new CustomEvent("on-search",{detail:{searchTerm:this.searchTerm}});this.dispatchEvent(i)}_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"}));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")),this.filteredCheckboxes=this.checkboxes,e.length||this._updateChildren(),this._toggleRevealed(this.limitRevealed)}_updateChildren(){if(this.checkboxes.forEach((e=>{e.disabled=e.hasAttribute("disabled")||this.disabled,this.value&&this.value.length?e.checked=this.value.includes(e.value):e.checked=!1})),this.selectAll){const e=this.checkboxes.filter((e=>e.checked)).length;this.selectAllChecked=this.checkboxes.length>0&&e===this.checkboxes.length,this.selectAllIndeterminate=e<this.checkboxes.length&&e>0}}_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",(e=>this._handleCheckboxChange(e))),this.addEventListener("on-checkbox-subgroup-change",(e=>this._handleSubgroupChange(e)))}disconnectedCallback(){this._onDisconnected(),this.removeEventListener("on-checkbox-change",(e=>this._handleCheckboxChange(e))),this.removeEventListener("on-checkbox-subgroup-change",(e=>this._handleSubgroupChange(e))),super.disconnectedCallback()}constructor(){super(...arguments),this.value=[],o.set(this,i(this,ie,!1)),b.set(this,(i(this,ae),i(this,le,!1))),f.set(this,(i(this,se),i(this,re,!1))),x.set(this,(i(this,oe),i(this,ne,!1))),y.set(this,(i(this,de),i(this,ce,!1))),w.set(this,(i(this,he),i(this,ue,!1))),C.set(this,(i(this,pe),i(this,me,!1))),z.set(this,(i(this,ge),i(this,ke,!1))),_.set(this,(i(this,ve),i(this,be,""))),S.set(this,(i(this,fe),i(this,xe,""))),A.set(this,(i(this,ye),i(this,we,!1))),$.set(this,(i(this,Ce),i(this,ze,4))),E.set(this,(i(this,_e),i(this,Se,!1))),M.set(this,(i(this,Ae),i(this,$e,v))),q.set(this,(i(this,Ee),i(this,Me,v))),T.set(this,(i(this,qe),i(this,Te,[]))),R.set(this,(i(this,Re),i(this,je,[]))),i(this,Le)}},o=new WeakMap,b=new WeakMap,f=new WeakMap,x=new WeakMap,y=new WeakMap,w=new WeakMap,C=new WeakMap,z=new WeakMap,_=new WeakMap,S=new WeakMap,A=new WeakMap,$=new WeakMap,E=new WeakMap,M=new WeakMap,q=new WeakMap,T=new WeakMap,R=new WeakMap,e(L,"CheckboxGroup"),(()=>{var e;const i="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(e=te[Symbol.metadata])&&void 0!==e?e:null):void 0;W=[h({type:Boolean})],I=[h({type:Boolean})],B=[h({type:Boolean})],V=[h({type:Boolean})],O=[h({type:Boolean})],F=[h({type:Boolean})],D=[h({type:Boolean})],P=[h({type:Boolean})],U=[h({type:String})],Y=[n()],G=[h({type:Boolean})],N=[h({type:Number})],H=[n()],J=[h({type:Object})],K=[n()],Q=[n()],X=[n()],t(L,null,W,{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},ie,ae),t(L,null,I,{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},le,se),t(L,null,B,{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},re,oe),t(L,null,V,{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},ne,de),t(L,null,O,{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},ce,he),t(L,null,F,{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},ue,pe),t(L,null,D,{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},me,ge),t(L,null,P,{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},ke,ve),t(L,null,U,{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},be,fe),t(L,null,Y,{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},xe,ye),t(L,null,G,{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},we,Ce),t(L,null,N,{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},ze,_e),t(L,null,H,{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},Se,Ae),t(L,null,J,{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},$e,Ee),t(L,null,K,{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},Me,qe),t(L,null,Q,{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},Te,Re),t(L,null,X,{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},je,Le),t(null,j={value:L},Z,{kind:"class",name:L.name,metadata:i},null,ee),L=j.value,i&&Object.defineProperty(L,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:i})})(),L.styles=c(k),i(L,ee),L})();export{b as CheckboxGroup};
|
|
638
638
|
//# 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 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.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllIndeterminate = false;\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 /** Filter text input value.\n * @internal\n */\n @state()\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 * @internal\n */\n @state()\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 @state()\n accessor checkboxes: Array<any> = [];\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 @on-input=${(e: Event) => this._handleFilter(e)}\n >\n ${this._textStrings.search}\n </kyn-text-input>\n `\n : null}\n\n <fieldset ?disabled=${this.disabled}>\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 ?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\n override updated(changedProps: any) {\n if (!changedProps.has('invalidText')) {\n this._onUpdated(changedProps);\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 } else if (changedProps.has('value')) {\n this._updateCheckboxStates();\n }\n\n if (changedProps.has('name')) {\n this.checkboxes.forEach((checkbox: any) => {\n checkbox.name = this.name;\n });\n }\n\n if (changedProps.has('required')) {\n this.checkboxes.forEach((checkbox: any) => {\n checkbox.required = this.required;\n });\n }\n\n if (\n changedProps.has('disabled') &&\n changedProps.get('disabled') !== undefined\n ) {\n this.checkboxes.forEach((checkbox: any) => {\n checkbox.disabled = this.disabled;\n });\n }\n\n if (\n changedProps.has('limitCheckboxes') &&\n changedProps.get('limitCheckboxes') !== undefined\n ) {\n this._toggleRevealed(false);\n }\n }\n\n private _updateCheckboxStates() {\n this.checkboxes.forEach((checkbox: any) => {\n checkbox.checked = this.value.includes(checkbox.value);\n });\n\n const CheckedBoxesCount = this.checkboxes.filter(\n (checkbox) => checkbox.checked\n ).length;\n\n this.selectAllChecked =\n this.checkboxes.length > 0 &&\n CheckedBoxesCount === this.checkboxes.length;\n\n this.selectAllIndeterminate =\n CheckedBoxesCount < this.checkboxes.length && CheckedBoxesCount > 0;\n const entries = new FormData();\n this.value.forEach((value) => {\n entries.append(this.name, value);\n });\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 // set internal validation message if value was changed by user input\n if (interacted) {\n this._internalValidationMsg = InternalMsg;\n }\n }\n\n // focus the first checkbox to show validity\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n private _handleCheckboxChange(e: any) {\n const value = e.detail.value;\n\n if (value === 'selectAll') {\n if (e.detail.checked) {\n this.value = this.checkboxes\n .filter((checkbox) => !checkbox.disabled)\n .map((checkbox) => {\n return checkbox.value;\n });\n } else {\n this.value = [];\n }\n\n this.checkboxes.forEach((checkbox: any) => {\n checkbox.indeterminate = false;\n });\n } else {\n const newValues = [...this.value];\n if (newValues.includes(value)) {\n const index = newValues.indexOf(value);\n newValues.splice(index, 1);\n } else {\n newValues.push(value);\n }\n this.value = newValues;\n }\n\n this._validate(true, false);\n\n this._emitChangeEvent();\n }\n\n private _emitChangeEvent() {\n const event = new CustomEvent('on-checkbox-group-change', {\n detail: { value: this.value },\n });\n this.dispatchEvent(event);\n }\n\n private _handleFilter(e: any) {\n let visibleCount = 0;\n\n this.searchTerm = e.detail.value.toLowerCase();\n\n this.filteredCheckboxes = this.checkboxes.filter((checkboxEl) => {\n return checkboxEl.textContent.toLowerCase().includes(this.searchTerm);\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(this.searchTerm) &&\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(this.searchTerm)) {\n checkboxEl.style.display = 'block';\n } else {\n checkboxEl.style.display = 'none';\n }\n }\n });\n\n const event = new CustomEvent('on-search', {\n detail: { searchTerm: this.searchTerm },\n });\n this.dispatchEvent(event);\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 const event = new CustomEvent('on-limit-toggle', {\n detail: { expanded: this.limitRevealed },\n });\n this.dispatchEvent(event);\n }\n\n private _handleSlotChange() {\n const previousCheckboxes = this.checkboxes;\n this.checkboxes = Array.from(this.querySelectorAll('kyn-checkbox'));\n this.filteredCheckboxes = this.checkboxes;\n\n if (!previousCheckboxes.length) {\n this._updateChildren();\n }\n\n this._toggleRevealed(this.limitRevealed);\n }\n\n private _updateChildren() {\n this.checkboxes.forEach((checkbox) => {\n checkbox.disabled = checkbox.hasAttribute('disabled') || this.disabled;\n if (this.value && this.value.length) {\n checkbox.checked = this.value.includes(checkbox.value);\n } else {\n checkbox.checked = false;\n }\n });\n\n if (this.selectAll) {\n const CheckedBoxesCount = this.checkboxes.filter(\n (checkbox) => checkbox.checked\n ).length;\n\n this.selectAllChecked =\n this.checkboxes.length > 0 &&\n CheckedBoxesCount === this.checkboxes.length;\n\n this.selectAllIndeterminate =\n CheckedBoxesCount < this.checkboxes.length && CheckedBoxesCount > 0;\n }\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 override connectedCallback() {\n super.connectedCallback();\n\n // preserve FormMixin connectedCallback function\n this._onConnected();\n\n // capture child checkboxes change event\n this.addEventListener('on-checkbox-change', (e: any) =>\n this._handleCheckboxChange(e)\n );\n\n // capture subgroup change event\n this.addEventListener('on-checkbox-subgroup-change', (e: any) =>\n this._handleSubgroupChange(e)\n );\n }\n\n override disconnectedCallback() {\n // preserve FormMixin disconnectedCallback function\n this._onDisconnected();\n\n this.removeEventListener('on-checkbox-change', (e: any) =>\n this._handleCheckboxChange(e)\n );\n\n this.removeEventListener('on-checkbox-subgroup-change', (e: any) =>\n this._handleSubgroupChange(e)\n );\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","__classPrivateFieldGet","this","_CheckboxGroup_required_accessor_storage","value","__classPrivateFieldSet","disabled","_CheckboxGroup_disabled_accessor_storage","horizontal","_CheckboxGroup_horizontal_accessor_storage","_CheckboxGroup_selectAll_accessor_storage","selectAllChecked","_CheckboxGroup_selectAllChecked_accessor_storage","selectAllIndeterminate","_CheckboxGroup_selectAllIndeterminate_accessor_storage","hideLegend","_CheckboxGroup_hideLegend_accessor_storage","filterable","_CheckboxGroup_filterable_accessor_storage","label","_CheckboxGroup_label_accessor_storage","searchTerm","_CheckboxGroup_searchTerm_accessor_storage","limitCheckboxes","_CheckboxGroup_limitCheckboxes_accessor_storage","_limitCount","_CheckboxGroup__limitCount_accessor_storage","limitRevealed","_CheckboxGroup_limitRevealed_accessor_storage","textStrings","_CheckboxGroup_textStrings_accessor_storage","_textStrings","_CheckboxGroup__textStrings_accessor_storage","checkboxes","_CheckboxGroup_checkboxes_accessor_storage","filteredCheckboxes","_CheckboxGroup_filteredCheckboxes_accessor_storage","render","html","e","_handleFilter","_isInvalid","unsafeSVG","errorIcon","invalidText","_internalValidationMsg","_handleSlotChange","length","_toggleRevealed","willUpdate","changedProps","has","deepmerge","updated","_onUpdated","forEach","checkbox","invalid","_updateCheckboxStates","name","undefined","get","checked","includes","CheckedBoxesCount","filter","entries","FormData","append","_internals","setFormValue","_validate","interacted","report","Validity","customError","valueMissing","InternalMsg","ValidationMessage","setValidity","reportValidity","_handleCheckboxChange","detail","map","indeterminate","newValues","index","indexOf","splice","push","_emitChangeEvent","event","CustomEvent","dispatchEvent","visibleCount","toLowerCase","checkboxEl","textContent","checkboxText","style","display","revealed","expanded","previousCheckboxes","Array","from","querySelectorAll","_updateChildren","hasAttribute","_handleSubgroupChange","isParent","parentChecked","parentValue","childValues","connectedCallback","super","_onConnected","addEventListener","disconnectedCallback","_onDisconnected","removeEventListener","set","__runInitializers","_required_initializers","_required_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_horizontal_initializers","_horizontal_extraInitializers","_selectAll_initializers","_selectAll_extraInitializers","_selectAllChecked_initializers","_selectAllChecked_extraInitializers","_selectAllIndeterminate_initializers","_selectAllIndeterminate_extraInitializers","_hideLegend_initializers","_hideLegend_extraInitializers","_filterable_initializers","_filterable_extraInitializers","_label_initializers","_label_extraInitializers","_searchTerm_initializers","_searchTerm_extraInitializers","_limitCheckboxes_initializers","_limitCheckboxes_extraInitializers","__limitCount_initializers","__limitCount_extraInitializers","_limitRevealed_initializers","_limitRevealed_extraInitializers","_textStrings_initializers","_textStrings_extraInitializers","__textStrings_initializers","__textStrings_extraInitializers","_checkboxes_initializers","_checkboxes_extraInitializers","_filteredCheckboxes_initializers","_required_decorators","property","type","Boolean","_disabled_decorators","_horizontal_decorators","_selectAll_decorators","_selectAllChecked_decorators","_selectAllIndeterminate_decorators","_hideLegend_decorators","_filterable_decorators","_label_decorators","String","_searchTerm_decorators","state","_limitCheckboxes_decorators","__limitCount_decorators","_limitRevealed_decorators","_textStrings_decorators","Object","__textStrings_decorators","_checkboxes_decorators","_filteredCheckboxes_decorators","__esDecorate","kind","static","private","access","obj","metadata","_metadata","_filteredCheckboxes_extraInitializers","_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 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.\n * @internal\n */\n @property({ type: Boolean })\n accessor selectAllIndeterminate = false;\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 /** Filter text input value.\n * @internal\n */\n @state()\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 @state()\n accessor checkboxes: Array<any> = [];\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 @on-input=${(e: Event) => this._handleFilter(e)}\n >\n ${this._textStrings.search}\n </kyn-text-input>\n `\n : null}\n\n <fieldset ?disabled=${this.disabled}>\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 ?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\n override updated(changedProps: any) {\n if (!changedProps.has('invalidText')) {\n this._onUpdated(changedProps);\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 } else if (changedProps.has('value')) {\n this._updateCheckboxStates();\n }\n\n if (changedProps.has('name')) {\n this.checkboxes.forEach((checkbox: any) => {\n checkbox.name = this.name;\n });\n }\n\n if (changedProps.has('required')) {\n this.checkboxes.forEach((checkbox: any) => {\n checkbox.required = this.required;\n });\n }\n\n if (\n changedProps.has('disabled') &&\n changedProps.get('disabled') !== undefined\n ) {\n this.checkboxes.forEach((checkbox: any) => {\n checkbox.disabled = this.disabled;\n });\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 _updateCheckboxStates() {\n this.checkboxes.forEach((checkbox: any) => {\n checkbox.checked = this.value.includes(checkbox.value);\n });\n\n const CheckedBoxesCount = this.checkboxes.filter(\n (checkbox) => checkbox.checked\n ).length;\n\n this.selectAllChecked =\n this.checkboxes.length > 0 &&\n CheckedBoxesCount === this.checkboxes.length;\n\n this.selectAllIndeterminate =\n CheckedBoxesCount < this.checkboxes.length && CheckedBoxesCount > 0;\n const entries = new FormData();\n this.value.forEach((value) => {\n entries.append(this.name, value);\n });\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 // set internal validation message if value was changed by user input\n if (interacted) {\n this._internalValidationMsg = InternalMsg;\n }\n }\n\n // focus the first checkbox to show validity\n if (report) {\n this._internals.reportValidity();\n }\n }\n\n private _handleCheckboxChange(e: any) {\n const value = e.detail.value;\n\n if (value === 'selectAll') {\n if (e.detail.checked) {\n this.value = this.checkboxes\n .filter((checkbox) => !checkbox.disabled)\n .map((checkbox) => {\n return checkbox.value;\n });\n } else {\n this.value = [];\n }\n\n this.checkboxes.forEach((checkbox: any) => {\n checkbox.indeterminate = false;\n });\n } else {\n const newValues = [...this.value];\n if (newValues.includes(value)) {\n const index = newValues.indexOf(value);\n newValues.splice(index, 1);\n } else {\n newValues.push(value);\n }\n this.value = newValues;\n }\n\n this._validate(true, false);\n\n this._emitChangeEvent();\n }\n\n private _emitChangeEvent() {\n const event = new CustomEvent('on-checkbox-group-change', {\n detail: { value: this.value },\n });\n this.dispatchEvent(event);\n }\n\n private _handleFilter(e: any) {\n let visibleCount = 0;\n\n this.searchTerm = e.detail.value.toLowerCase();\n\n this.filteredCheckboxes = this.checkboxes.filter((checkboxEl) => {\n return checkboxEl.textContent.toLowerCase().includes(this.searchTerm);\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(this.searchTerm) &&\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(this.searchTerm)) {\n checkboxEl.style.display = 'block';\n } else {\n checkboxEl.style.display = 'none';\n }\n }\n });\n\n const event = new CustomEvent('on-search', {\n detail: { searchTerm: this.searchTerm },\n });\n this.dispatchEvent(event);\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 const event = new CustomEvent('on-limit-toggle', {\n detail: { expanded: this.limitRevealed },\n });\n this.dispatchEvent(event);\n }\n\n private _handleSlotChange() {\n const previousCheckboxes = this.checkboxes;\n this.checkboxes = Array.from(this.querySelectorAll('kyn-checkbox'));\n this.filteredCheckboxes = this.checkboxes;\n\n if (!previousCheckboxes.length) {\n this._updateChildren();\n }\n\n this._toggleRevealed(this.limitRevealed);\n }\n\n private _updateChildren() {\n this.checkboxes.forEach((checkbox) => {\n checkbox.disabled = checkbox.hasAttribute('disabled') || this.disabled;\n if (this.value && this.value.length) {\n checkbox.checked = this.value.includes(checkbox.value);\n } else {\n checkbox.checked = false;\n }\n });\n\n if (this.selectAll) {\n const CheckedBoxesCount = this.checkboxes.filter(\n (checkbox) => checkbox.checked\n ).length;\n\n this.selectAllChecked =\n this.checkboxes.length > 0 &&\n CheckedBoxesCount === this.checkboxes.length;\n\n this.selectAllIndeterminate =\n CheckedBoxesCount < this.checkboxes.length && CheckedBoxesCount > 0;\n }\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 override connectedCallback() {\n super.connectedCallback();\n\n // preserve FormMixin connectedCallback function\n this._onConnected();\n\n // capture child checkboxes change event\n this.addEventListener('on-checkbox-change', (e: any) =>\n this._handleCheckboxChange(e)\n );\n\n // capture subgroup change event\n this.addEventListener('on-checkbox-subgroup-change', (e: any) =>\n this._handleSubgroupChange(e)\n );\n }\n\n override disconnectedCallback() {\n // preserve FormMixin disconnectedCallback function\n this._onDisconnected();\n\n this.removeEventListener('on-checkbox-change', (e: any) =>\n this._handleCheckboxChange(e)\n );\n\n this.removeEventListener('on-checkbox-subgroup-change', (e: any) =>\n this._handleSubgroupChange(e)\n );\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","__classPrivateFieldGet","this","_CheckboxGroup_required_accessor_storage","value","__classPrivateFieldSet","disabled","_CheckboxGroup_disabled_accessor_storage","horizontal","_CheckboxGroup_horizontal_accessor_storage","_CheckboxGroup_selectAll_accessor_storage","selectAllChecked","_CheckboxGroup_selectAllChecked_accessor_storage","selectAllIndeterminate","_CheckboxGroup_selectAllIndeterminate_accessor_storage","hideLegend","_CheckboxGroup_hideLegend_accessor_storage","filterable","_CheckboxGroup_filterable_accessor_storage","label","_CheckboxGroup_label_accessor_storage","searchTerm","_CheckboxGroup_searchTerm_accessor_storage","limitCheckboxes","_CheckboxGroup_limitCheckboxes_accessor_storage","limitCount","_CheckboxGroup_limitCount_accessor_storage","limitRevealed","_CheckboxGroup_limitRevealed_accessor_storage","textStrings","_CheckboxGroup_textStrings_accessor_storage","_textStrings","_CheckboxGroup__textStrings_accessor_storage","checkboxes","_CheckboxGroup_checkboxes_accessor_storage","filteredCheckboxes","_CheckboxGroup_filteredCheckboxes_accessor_storage","render","html","e","_handleFilter","_isInvalid","unsafeSVG","errorIcon","invalidText","_internalValidationMsg","_handleSlotChange","length","_toggleRevealed","willUpdate","changedProps","has","deepmerge","updated","_onUpdated","forEach","checkbox","invalid","_updateCheckboxStates","name","undefined","get","checked","includes","CheckedBoxesCount","filter","entries","FormData","append","_internals","setFormValue","_validate","interacted","report","Validity","customError","valueMissing","InternalMsg","ValidationMessage","setValidity","reportValidity","_handleCheckboxChange","detail","map","indeterminate","newValues","index","indexOf","splice","push","_emitChangeEvent","event","CustomEvent","dispatchEvent","visibleCount","toLowerCase","checkboxEl","textContent","checkboxText","style","display","revealed","expanded","previousCheckboxes","Array","from","querySelectorAll","_updateChildren","hasAttribute","_handleSubgroupChange","isParent","parentChecked","parentValue","childValues","connectedCallback","super","_onConnected","addEventListener","disconnectedCallback","_onDisconnected","removeEventListener","set","__runInitializers","_required_initializers","_required_extraInitializers","_disabled_initializers","_disabled_extraInitializers","_horizontal_initializers","_horizontal_extraInitializers","_selectAll_initializers","_selectAll_extraInitializers","_selectAllChecked_initializers","_selectAllChecked_extraInitializers","_selectAllIndeterminate_initializers","_selectAllIndeterminate_extraInitializers","_hideLegend_initializers","_hideLegend_extraInitializers","_filterable_initializers","_filterable_extraInitializers","_label_initializers","_label_extraInitializers","_searchTerm_initializers","_searchTerm_extraInitializers","_limitCheckboxes_initializers","_limitCheckboxes_extraInitializers","_limitCount_initializers","_limitCount_extraInitializers","_limitRevealed_initializers","_limitRevealed_extraInitializers","_textStrings_initializers","_textStrings_extraInitializers","__textStrings_initializers","__textStrings_extraInitializers","_checkboxes_initializers","_checkboxes_extraInitializers","_filteredCheckboxes_initializers","_required_decorators","property","type","Boolean","_disabled_decorators","_horizontal_decorators","_selectAll_decorators","_selectAllChecked_decorators","_selectAllIndeterminate_decorators","_hideLegend_decorators","_filterable_decorators","_label_decorators","String","_searchTerm_decorators","state","_limitCheckboxes_decorators","_limitCount_decorators","Number","_limitRevealed_decorators","_textStrings_decorators","Object","__textStrings_decorators","_checkboxes_decorators","_filteredCheckboxes_decorators","__esDecorate","kind","static","private","access","obj","metadata","_metadata","_filteredCheckboxes_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","CheckboxGroupScss"],"mappings":"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"}
|