@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.
- package/common/scss/form-input.scss +4 -0
- package/components/reusable/checkbox/checkboxGroup.js +15 -3
- package/components/reusable/checkbox/checkboxGroup.js.map +1 -1
- package/components/reusable/colorInput/colorInput.js +15 -3
- package/components/reusable/colorInput/colorInput.js.map +1 -1
- package/components/reusable/datePicker/datepicker.js +13 -1
- package/components/reusable/datePicker/datepicker.js.map +1 -1
- package/components/reusable/datePicker/index.js +1 -1
- package/components/reusable/daterangepicker/daterangepicker.js +13 -1
- package/components/reusable/daterangepicker/daterangepicker.js.map +1 -1
- package/components/reusable/daterangepicker/index.js +1 -1
- package/components/reusable/dropdown/dropdown.js +12 -0
- package/components/reusable/dropdown/dropdown.js.map +1 -1
- package/components/reusable/multiInputField/multiInputField.js +12 -0
- package/components/reusable/multiInputField/multiInputField.js.map +1 -1
- package/components/reusable/numberInput/numberInput.d.ts +2 -0
- package/components/reusable/numberInput/numberInput.d.ts.map +1 -1
- package/components/reusable/numberInput/numberInput.js +50 -31
- package/components/reusable/numberInput/numberInput.js.map +1 -1
- package/components/reusable/pagination/Pagination.js +2 -2
- package/components/reusable/pagination/Pagination.js.map +1 -1
- package/components/reusable/pagination/index.js +1 -1
- package/components/reusable/pagination/pagination-navigation-buttons.d.ts +1 -0
- package/components/reusable/pagination/pagination-navigation-buttons.d.ts.map +1 -1
- package/components/reusable/pagination/pagination-navigation-buttons.js +35 -21
- package/components/reusable/pagination/pagination-navigation-buttons.js.map +1 -1
- package/components/reusable/progressBar/progressBar.js +12 -0
- package/components/reusable/progressBar/progressBar.js.map +1 -1
- package/components/reusable/queryBuilder/index.js +1 -1
- package/components/reusable/queryBuilder/queryBuilder.js +1 -1
- package/components/reusable/queryBuilder/queryBuilderGroup.js +1 -1
- package/components/reusable/queryBuilder/queryBuilderRule.js +1 -1
- package/components/reusable/radioButton/radioButtonGroup.js +15 -3
- package/components/reusable/radioButton/radioButtonGroup.js.map +1 -1
- package/components/reusable/sideDrawer/sideDrawer.js +1 -1
- package/components/reusable/sliderInput/sliderInput.js +12 -0
- package/components/reusable/sliderInput/sliderInput.js.map +1 -1
- package/components/reusable/table/index.js +1 -1
- package/components/reusable/table/table-header.js +1 -1
- package/components/reusable/table/table.skeleton.js +1 -1
- package/components/reusable/textArea/textArea.js +15 -3
- package/components/reusable/textArea/textArea.js.map +1 -1
- package/components/reusable/textInput/textInput.js +12 -0
- package/components/reusable/textInput/textInput.js.map +1 -1
- package/components/reusable/timepicker/index.js +1 -1
- package/components/reusable/timepicker/timepicker.js +13 -1
- package/components/reusable/timepicker/timepicker.js.map +1 -1
- package/components/reusable/toggleButton/toggleButton.js +12 -0
- package/components/reusable/toggleButton/toggleButton.js.map +1 -1
- package/index.js +1 -1
- package/package.json +1 -1
- package/{shidoka-flatpickr-theme-CTco2ary.js → shidoka-flatpickr-theme-BqZcH5Up.js} +13 -1
- package/{shidoka-flatpickr-theme-CTco2ary.js.map → shidoka-flatpickr-theme-BqZcH5Up.js.map} +1 -1
|
@@ -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
|
|
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=[],
|
|
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
|
|
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
|
|
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(
|
|
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":"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"}
|
|
@@ -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-
|
|
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;
|