@kyndryl-design-system/shidoka-applications 2.95.3 → 2.97.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/card/card.d.ts +7 -1
- package/components/reusable/card/card.d.ts.map +1 -1
- package/components/reusable/card/card.js +8 -2
- package/components/reusable/card/card.js.map +1 -1
- 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/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 +7 -4
- 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
|
@@ -27,18 +27,24 @@ export declare class Card extends LitElement {
|
|
|
27
27
|
accessor aiConnected: boolean;
|
|
28
28
|
/** Set this to `true` for highlight */
|
|
29
29
|
accessor highlight: boolean;
|
|
30
|
+
/** Compact mode, reduces padding. */
|
|
31
|
+
accessor compact: boolean;
|
|
30
32
|
/** Card variant. `'default'`, `'notification'`, `'interaction'`
|
|
31
33
|
* * `'notification'` variant is used primarily for Info Card
|
|
32
34
|
* and contains additional padding, per design specs.
|
|
33
35
|
* * `'interaction'` variant is used for AI response
|
|
34
|
-
|
|
36
|
+
|
|
35
37
|
*/
|
|
36
38
|
accessor variant: CardVariant;
|
|
37
39
|
render(): import("lit-html").TemplateResult<1>;
|
|
38
40
|
private renderNonDefaultVariant;
|
|
41
|
+
/** @internal */
|
|
39
42
|
private get _computedRel();
|
|
43
|
+
/** @internal */
|
|
40
44
|
private _onClick;
|
|
45
|
+
/** @internal */
|
|
41
46
|
private _onKeydown;
|
|
47
|
+
/** @internal */
|
|
42
48
|
private _forwardConfirm;
|
|
43
49
|
connectedCallback(): void;
|
|
44
50
|
disconnectedCallback(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/card/card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAQlD,KAAK,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AACvC,KAAK,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAC1D,KAAK,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,aAAa,CAAC;AAE9D,OAAO,gCAAgC,CAAC;AAExC;;;;;;;GAOG;AACH,qBACa,IAAK,SAAQ,UAAU;IAClC,OAAgB,MAAM,4BAAkD;IAExE,4CAA4C;IAE5C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAY;IAEnC,yCAAyC;IAEzC,QAAQ,CAAC,IAAI,SAAM;IAEnB,sKAAsK;IAEtK,QAAQ,CAAC,GAAG,SAAM;IAElB,sKAAsK;IAEtK,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAW;IAEtC,8FAA8F;IAE9F,QAAQ,CAAC,UAAU,UAAS;IAE5B,sBAAsB;IAEtB,QAAQ,CAAC,WAAW,UAAS;IAE7B,uCAAuC;IAEvC,QAAQ,CAAC,SAAS,UAAS;IAE3B;;;;;OAKG;IAEH,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAa;IAEjC,MAAM;
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/components/reusable/card/card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,KAAK,CAAC;AAQlD,KAAK,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAAC;AACvC,KAAK,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAC1D,KAAK,WAAW,GAAG,SAAS,GAAG,cAAc,GAAG,aAAa,CAAC;AAE9D,OAAO,gCAAgC,CAAC;AAExC;;;;;;;GAOG;AACH,qBACa,IAAK,SAAQ,UAAU;IAClC,OAAgB,MAAM,4BAAkD;IAExE,4CAA4C;IAE5C,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAY;IAEnC,yCAAyC;IAEzC,QAAQ,CAAC,IAAI,SAAM;IAEnB,sKAAsK;IAEtK,QAAQ,CAAC,GAAG,SAAM;IAElB,sKAAsK;IAEtK,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAW;IAEtC,8FAA8F;IAE9F,QAAQ,CAAC,UAAU,UAAS;IAE5B,sBAAsB;IAEtB,QAAQ,CAAC,WAAW,UAAS;IAE7B,uCAAuC;IAEvC,QAAQ,CAAC,SAAS,UAAS;IAE3B,qCAAqC;IAErC,QAAQ,CAAC,OAAO,UAAS;IAEzB;;;;;OAKG;IAEH,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAa;IAEjC,MAAM;IAmDf,OAAO,CAAC,uBAAuB;IAqB/B,gBAAgB;IAChB,OAAO,KAAK,YAAY,GAKvB;IAED,gBAAgB;IAChB,OAAO,CAAC,QAAQ,CASd;IAEF,gBAAgB;IAChB,OAAO,CAAC,UAAU,CAKhB;IAEF,gBAAgB;IAChB,OAAO,CAAC,eAAe,CAUrB;IAEO,iBAAiB;IAQjB,oBAAoB;CAO9B;AACD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,UAAU,EAAE,IAAI,CAAC;KAClB;CACF"}
|
|
@@ -130,6 +130,9 @@ dialog.ai-connected.gradient-bkg {
|
|
|
130
130
|
border: 1px solid var(--kd-color-border-card-default);
|
|
131
131
|
cursor: default;
|
|
132
132
|
}
|
|
133
|
+
.card-wrapper.compact {
|
|
134
|
+
padding: 4px;
|
|
135
|
+
}
|
|
133
136
|
.card-wrapper.ai-highlight {
|
|
134
137
|
border: 1px solid var(--kd-color-border-button-ai-state-highlight);
|
|
135
138
|
background: var(--kd-color-background-container-ai-default);
|
|
@@ -164,6 +167,9 @@ dialog.ai-connected.gradient-bkg {
|
|
|
164
167
|
border: 1px solid var(--kd-color-border-card-clickable);
|
|
165
168
|
box-shadow: var(--kd-elevation-level-4);
|
|
166
169
|
}
|
|
170
|
+
.card-wrapper-clickable.compact {
|
|
171
|
+
padding: 4px;
|
|
172
|
+
}
|
|
167
173
|
.card-wrapper-clickable.ai-connected {
|
|
168
174
|
border: 1px solid var(--kd-color-border-level-secondary);
|
|
169
175
|
box-shadow: var(--kd-elevation-level-1);
|
|
@@ -398,7 +404,7 @@ dialog.ai-connected.gradient-bkg {
|
|
|
398
404
|
|
|
399
405
|
.info-card-rightIcon svg {
|
|
400
406
|
fill: var(--kd-color-icon-primary);
|
|
401
|
-
}`;let k=(()=>{var o,k,u,v,f,m,x,w;let
|
|
407
|
+
}`;let k=(()=>{var o,k,u,v,f,m,x,w,y;let C,z,_,$,I,j,S,B,E,M,W,O=[l("kyn-card")],N=[],D=n,A=[],L=[],R=[],T=[],V=[],K=[],P=[],F=[],q=[],G=[],H=[],J=[],Q=[],U=[],X=[],Y=[],Z=[],rr=[];return z=class extends D{constructor(){super(...arguments),o.set(this,a(this,A,"normal")),k.set(this,(a(this,L),a(this,R,""))),u.set(this,(a(this,T),a(this,V,""))),v.set(this,(a(this,K),a(this,P,"_self"))),f.set(this,(a(this,F),a(this,q,!1))),m.set(this,(a(this,G),a(this,H,!1))),x.set(this,(a(this,J),a(this,Q,!1))),w.set(this,(a(this,U),a(this,X,!1))),y.set(this,(a(this,Y),a(this,Z,"default"))),this._onClick=(a(this,rr),r=>{this.href||r.preventDefault();const e=new CustomEvent("on-card-click",{detail:{origEvent:r},bubbles:!0,composed:!0,cancelable:!0});this.dispatchEvent(e)&&!e.defaultPrevented||r.preventDefault()}),this._onKeydown=r=>{"Enter"!==r.key&&" "!==r.key||(r.preventDefault(),this._onClick(r))},this._forwardConfirm=r=>{if(r.target===this)return;const e=null==r?void 0:r.detail,a=new CustomEvent("on-confirm",{detail:e,bubbles:!0,composed:!0,cancelable:!0});this.dispatchEvent(a)}}get type(){return t(this,o,"f")}set type(r){i(this,o,r,"f")}get href(){return t(this,k,"f")}set href(r){i(this,k,r,"f")}get rel(){return t(this,u,"f")}set rel(r){i(this,u,r,"f")}get target(){return t(this,v,"f")}set target(r){i(this,v,r,"f")}get hideBorder(){return t(this,f,"f")}set hideBorder(r){i(this,f,r,"f")}get aiConnected(){return t(this,m,"f")}set aiConnected(r){i(this,m,r,"f")}get highlight(){return t(this,x,"f")}set highlight(r){i(this,x,r,"f")}get compact(){return t(this,w,"f")}set compact(r){i(this,w,r,"f")}get variant(){return t(this,y,"f")}set variant(r){i(this,y,r,"f")}render(){const r={"card-wrapper":"clickable"!==this.type,"card-wrapper-clickable":"clickable"===this.type,"card-border":!this.hideBorder&&!this.aiConnected&&!this.highlight,"hide-border":this.hideBorder,"ai-connected":this.aiConnected,"card-highlight":this.highlight,"ai-highlight":this.aiConnected&&this.highlight,"variant-notification":"notification"===this.variant,"variant-interaction":"interaction"===this.variant,compact:this.compact},e="clickable"===this.type&&""!==this.href;return-1===this.variant.indexOf("default")?this.renderNonDefaultVariant(r):e?c`
|
|
402
408
|
<a
|
|
403
409
|
part="card-wrapper"
|
|
404
410
|
class=${p(r)}
|
|
@@ -441,5 +447,5 @@ dialog.ai-connected.gradient-bkg {
|
|
|
441
447
|
</div>
|
|
442
448
|
</div>
|
|
443
449
|
</div>
|
|
444
|
-
`}get _computedRel(){return"_blank"!==this.target||this.rel&&""!==this.rel.trim()?this.rel:"noopener noreferrer"}connectedCallback(){super.connectedCallback(),"default"===this.variant&&this.classList.contains("info-card")&&(this.variant="notification"),this.addEventListener("on-confirm",this._forwardConfirm)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("on-confirm",this._forwardConfirm)}},o=new WeakMap,k=new WeakMap,u=new WeakMap,v=new WeakMap,f=new WeakMap,m=new WeakMap,x=new WeakMap,w=new WeakMap,r(
|
|
450
|
+
`}get _computedRel(){return"_blank"!==this.target||this.rel&&""!==this.rel.trim()?this.rel:"noopener noreferrer"}connectedCallback(){super.connectedCallback(),"default"===this.variant&&this.classList.contains("info-card")&&(this.variant="notification"),this.addEventListener("on-confirm",this._forwardConfirm)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("on-confirm",this._forwardConfirm)}},o=new WeakMap,k=new WeakMap,u=new WeakMap,v=new WeakMap,f=new WeakMap,m=new WeakMap,x=new WeakMap,w=new WeakMap,y=new WeakMap,r(z,"Card"),(()=>{var r;const a="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(r=D[Symbol.metadata])&&void 0!==r?r:null):void 0;_=[s({type:String})],$=[s({type:String})],I=[s({type:String})],j=[s({type:String})],S=[s({type:Boolean})],B=[s({type:Boolean})],E=[s({type:Boolean})],M=[s({type:Boolean})],W=[s({type:String,reflect:!0})],e(z,null,_,{kind:"accessor",name:"type",static:!1,private:!1,access:{has:r=>"type"in r,get:r=>r.type,set:(r,e)=>{r.type=e}},metadata:a},A,L),e(z,null,$,{kind:"accessor",name:"href",static:!1,private:!1,access:{has:r=>"href"in r,get:r=>r.href,set:(r,e)=>{r.href=e}},metadata:a},R,T),e(z,null,I,{kind:"accessor",name:"rel",static:!1,private:!1,access:{has:r=>"rel"in r,get:r=>r.rel,set:(r,e)=>{r.rel=e}},metadata:a},V,K),e(z,null,j,{kind:"accessor",name:"target",static:!1,private:!1,access:{has:r=>"target"in r,get:r=>r.target,set:(r,e)=>{r.target=e}},metadata:a},P,F),e(z,null,S,{kind:"accessor",name:"hideBorder",static:!1,private:!1,access:{has:r=>"hideBorder"in r,get:r=>r.hideBorder,set:(r,e)=>{r.hideBorder=e}},metadata:a},q,G),e(z,null,B,{kind:"accessor",name:"aiConnected",static:!1,private:!1,access:{has:r=>"aiConnected"in r,get:r=>r.aiConnected,set:(r,e)=>{r.aiConnected=e}},metadata:a},H,J),e(z,null,E,{kind:"accessor",name:"highlight",static:!1,private:!1,access:{has:r=>"highlight"in r,get:r=>r.highlight,set:(r,e)=>{r.highlight=e}},metadata:a},Q,U),e(z,null,M,{kind:"accessor",name:"compact",static:!1,private:!1,access:{has:r=>"compact"in r,get:r=>r.compact,set:(r,e)=>{r.compact=e}},metadata:a},X,Y),e(z,null,W,{kind:"accessor",name:"variant",static:!1,private:!1,access:{has:r=>"variant"in r,get:r=>r.variant,set:(r,e)=>{r.variant=e}},metadata:a},Z,rr),e(null,C={value:z},O,{kind:"class",name:z.name,metadata:a},null,N),z=C.value,a&&Object.defineProperty(z,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:a})})(),z.styles=[d(g),d(h)],a(z,N),z})();export{k as Card};
|
|
445
451
|
//# sourceMappingURL=card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sources":["../../../../src/components/reusable/card/card.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport CardScss from './card.scss?inline';\nimport InfoCardScss from './infoCard.scss?inline';\n\ntype CardType = 'normal' | 'clickable';\ntype CardTarget = '_self' | '_blank' | '_parent' | '_top';\ntype CardVariant = 'default' | 'notification' | 'interaction';\n\nimport '../inlineConfirm/inlineConfirm';\n\n/**\n * Card.\n * @fires on-card-click - Captures the click event of clickable card and emits the original event details. Use `e.stopPropagation()` / `e.preventDefault()` for any internal clickable elements when card type is `'clickable'` to stop bubbling / prevent event. `detail:{ origEvent: PointerEvent }`\n * @slot unnamed - Slot for card contents.\n * @slot leftIcon - Slot for left icon when `variant` is `'notification'`.\n * @slot inlineConfirm - Slot for right icon when `variant` is `'notification'`.\n * @part card-wrapper - The wrapper element of the card. Use this part to customize its styles such as padding . Ex: kyn-card::part(card-wrapper)\n */\n@customElement('kyn-card')\nexport class Card extends LitElement {\n static override styles = [unsafeCSS(CardScss), unsafeCSS(InfoCardScss)];\n\n /** Card Type. `'normal'` & `'clickable'` */\n @property({ type: String })\n accessor type: CardType = 'normal';\n\n /** Card link url for clickable cards. */\n @property({ type: String })\n accessor href = '';\n\n /** Use for Card type `'clickable'`. Defines a relationship between a linked resource and the document. An empty string (default) means no particular relationship. */\n @property({ type: String })\n accessor rel = '';\n\n /** Defines a target attribute for where to load the URL in case of clickable card. Possible options include `'_self'` (default), `'_blank'`, `'_parent'`, `'_top'` */\n @property({ type: String })\n accessor target: CardTarget = '_self';\n\n /** Hide card border. Useful when clickable card use inside `<kyn-notification>` component. */\n @property({ type: Boolean })\n accessor hideBorder = false;\n\n /** AI theme toggle */\n @property({ type: Boolean })\n accessor aiConnected = false;\n\n /** Set this to `true` for highlight */\n @property({ type: Boolean })\n accessor highlight = false;\n\n /** Card variant. `'default'`, `'notification'`, `'interaction'`\n * * `'notification'` variant is used primarily for Info Card\n * and contains additional padding, per design specs.\n * * `'interaction'` variant is used for AI response\n \n */\n @property({ type: String, reflect: true })\n accessor variant: CardVariant = 'default';\n\n override render() {\n const baseClasses = {\n 'card-wrapper': this.type !== 'clickable',\n 'card-wrapper-clickable': this.type === 'clickable',\n 'card-border': !this.hideBorder && !this.aiConnected && !this.highlight,\n 'hide-border': this.hideBorder,\n 'ai-connected': this.aiConnected,\n 'card-highlight': this.highlight,\n 'ai-highlight': this.aiConnected && this.highlight,\n 'variant-notification': this.variant === 'notification',\n 'variant-interaction': this.variant === 'interaction',\n };\n\n const isAnchor = this.type === 'clickable' && this.href !== '';\n\n if (this.variant.indexOf('default') === -1) {\n return this.renderNonDefaultVariant(baseClasses);\n }\n\n return isAnchor\n ? html`\n <a\n part=\"card-wrapper\"\n class=${classMap(baseClasses)}\n data-variant=${this.variant}\n data-ai=${String(this.aiConnected)}\n href=${this.href || '#'}\n target=${this.target}\n rel=${this._computedRel}\n @click=${this._onClick}\n >\n <slot></slot>\n </a>\n `\n : html`\n <div\n part=\"card-wrapper\"\n class=${classMap(baseClasses)}\n data-variant=${this.variant}\n data-ai=${String(this.aiConnected)}\n role=${ifDefined(this.type === 'clickable' ? 'link' : undefined)}\n tabindex=${ifDefined(this.type === 'clickable' ? 0 : undefined)}\n @click=${this.type === 'clickable' ? this._onClick : null}\n @keydown=${this.type === 'clickable' ? this._onKeydown : null}\n >\n <slot></slot>\n </div>\n `;\n }\n\n private renderNonDefaultVariant(baseClasses: Record<string, boolean>) {\n return html`\n <div\n part=\"card-wrapper\"\n class=${classMap(baseClasses)}\n data-variant=${this.variant}\n data-ai=${String(this.aiConnected)}\n >\n <div class=\"info-card-container\">\n <div class=\"info-card-leftIcon\">\n <slot name=\"leftIcon\"></slot>\n </div>\n <div class=\"info-card-content-wrapper\"><slot></slot></div>\n <div class=\"info-card-rightIcon\">\n <slot name=\"inlineConfirm\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n\n private get _computedRel(): string {\n if (this.target === '_blank' && (!this.rel || this.rel.trim() === '')) {\n return 'noopener noreferrer';\n }\n return this.rel;\n }\n\n private _onClick = (e: Event) => {\n if (!this.href) e.preventDefault();\n const ev = new CustomEvent('on-card-click', {\n detail: { origEvent: e },\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n if (!this.dispatchEvent(ev) || ev.defaultPrevented) e.preventDefault();\n };\n\n private _onKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this._onClick(e);\n }\n };\n\n private _forwardConfirm = (e: Event) => {\n if ((e.target as HTMLElement) === this) return;\n const detail = (e as CustomEvent)?.detail;\n const ev = new CustomEvent('on-confirm', {\n detail,\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n this.dispatchEvent(ev);\n };\n\n override connectedCallback() {\n super.connectedCallback();\n if (this.variant === 'default' && this.classList.contains('info-card')) {\n this.variant = 'notification';\n }\n this.addEventListener('on-confirm', this._forwardConfirm as EventListener);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\n 'on-confirm',\n this._forwardConfirm as EventListener\n );\n }\n}\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-card': Card;\n }\n}\n"],"names":["Card","customElement","LitElement","_classThis","_classSuper","_Card_type_accessor_storage","set","this","__runInitializers","_type_initializers","_Card_href_accessor_storage","_type_extraInitializers","_href_initializers","_Card_rel_accessor_storage","_href_extraInitializers","_rel_initializers","_Card_target_accessor_storage","_rel_extraInitializers","_target_initializers","_Card_hideBorder_accessor_storage","_target_extraInitializers","_hideBorder_initializers","_Card_aiConnected_accessor_storage","_hideBorder_extraInitializers","_aiConnected_initializers","_Card_highlight_accessor_storage","_aiConnected_extraInitializers","_highlight_initializers","_Card_variant_accessor_storage","_highlight_extraInitializers","_variant_initializers","_onClick","_variant_extraInitializers","e","href","preventDefault","ev","CustomEvent","detail","origEvent","bubbles","composed","cancelable","dispatchEvent","defaultPrevented","_onKeydown","key","_forwardConfirm","target","type","__classPrivateFieldGet","value","__classPrivateFieldSet","rel","hideBorder","aiConnected","highlight","variant","render","baseClasses","isAnchor","indexOf","renderNonDefaultVariant","html","classMap","String","_computedRel","ifDefined","undefined","trim","connectedCallback","super","classList","contains","addEventListener","disconnectedCallback","removeEventListener","_type_decorators","property","_href_decorators","_rel_decorators","_target_decorators","_hideBorder_decorators","Boolean","_aiConnected_decorators","_highlight_decorators","reflect","__esDecorate","kind","name","static","private","access","has","obj","get","metadata","_metadata","_variant_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","CardScss","InfoCardScss"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"card.js","sources":["../../../../src/components/reusable/card/card.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport CardScss from './card.scss?inline';\nimport InfoCardScss from './infoCard.scss?inline';\n\ntype CardType = 'normal' | 'clickable';\ntype CardTarget = '_self' | '_blank' | '_parent' | '_top';\ntype CardVariant = 'default' | 'notification' | 'interaction';\n\nimport '../inlineConfirm/inlineConfirm';\n\n/**\n * Card.\n * @fires on-card-click - Captures the click event of clickable card and emits the original event details. Use `e.stopPropagation()` / `e.preventDefault()` for any internal clickable elements when card type is `'clickable'` to stop bubbling / prevent event. `detail:{ origEvent: PointerEvent }`\n * @slot unnamed - Slot for card contents.\n * @slot leftIcon - Slot for left icon when `variant` is `'notification'`.\n * @slot inlineConfirm - Slot for right icon when `variant` is `'notification'`.\n * @part card-wrapper - The wrapper element of the card. Use this part to customize its styles such as padding . Ex: kyn-card::part(card-wrapper)\n */\n@customElement('kyn-card')\nexport class Card extends LitElement {\n static override styles = [unsafeCSS(CardScss), unsafeCSS(InfoCardScss)];\n\n /** Card Type. `'normal'` & `'clickable'` */\n @property({ type: String })\n accessor type: CardType = 'normal';\n\n /** Card link url for clickable cards. */\n @property({ type: String })\n accessor href = '';\n\n /** Use for Card type `'clickable'`. Defines a relationship between a linked resource and the document. An empty string (default) means no particular relationship. */\n @property({ type: String })\n accessor rel = '';\n\n /** Defines a target attribute for where to load the URL in case of clickable card. Possible options include `'_self'` (default), `'_blank'`, `'_parent'`, `'_top'` */\n @property({ type: String })\n accessor target: CardTarget = '_self';\n\n /** Hide card border. Useful when clickable card use inside `<kyn-notification>` component. */\n @property({ type: Boolean })\n accessor hideBorder = false;\n\n /** AI theme toggle */\n @property({ type: Boolean })\n accessor aiConnected = false;\n\n /** Set this to `true` for highlight */\n @property({ type: Boolean })\n accessor highlight = false;\n\n /** Compact mode, reduces padding. */\n @property({ type: Boolean })\n accessor compact = false;\n\n /** Card variant. `'default'`, `'notification'`, `'interaction'`\n * * `'notification'` variant is used primarily for Info Card\n * and contains additional padding, per design specs.\n * * `'interaction'` variant is used for AI response\n\n */\n @property({ type: String, reflect: true })\n accessor variant: CardVariant = 'default';\n\n override render() {\n const baseClasses = {\n 'card-wrapper': this.type !== 'clickable',\n 'card-wrapper-clickable': this.type === 'clickable',\n 'card-border': !this.hideBorder && !this.aiConnected && !this.highlight,\n 'hide-border': this.hideBorder,\n 'ai-connected': this.aiConnected,\n 'card-highlight': this.highlight,\n 'ai-highlight': this.aiConnected && this.highlight,\n 'variant-notification': this.variant === 'notification',\n 'variant-interaction': this.variant === 'interaction',\n compact: this.compact,\n };\n\n const isAnchor = this.type === 'clickable' && this.href !== '';\n\n if (this.variant.indexOf('default') === -1) {\n return this.renderNonDefaultVariant(baseClasses);\n }\n\n return isAnchor\n ? html`\n <a\n part=\"card-wrapper\"\n class=${classMap(baseClasses)}\n data-variant=${this.variant}\n data-ai=${String(this.aiConnected)}\n href=${this.href || '#'}\n target=${this.target}\n rel=${this._computedRel}\n @click=${this._onClick}\n >\n <slot></slot>\n </a>\n `\n : html`\n <div\n part=\"card-wrapper\"\n class=${classMap(baseClasses)}\n data-variant=${this.variant}\n data-ai=${String(this.aiConnected)}\n role=${ifDefined(this.type === 'clickable' ? 'link' : undefined)}\n tabindex=${ifDefined(this.type === 'clickable' ? 0 : undefined)}\n @click=${this.type === 'clickable' ? this._onClick : null}\n @keydown=${this.type === 'clickable' ? this._onKeydown : null}\n >\n <slot></slot>\n </div>\n `;\n }\n\n private renderNonDefaultVariant(baseClasses: Record<string, boolean>) {\n return html`\n <div\n part=\"card-wrapper\"\n class=${classMap(baseClasses)}\n data-variant=${this.variant}\n data-ai=${String(this.aiConnected)}\n >\n <div class=\"info-card-container\">\n <div class=\"info-card-leftIcon\">\n <slot name=\"leftIcon\"></slot>\n </div>\n <div class=\"info-card-content-wrapper\"><slot></slot></div>\n <div class=\"info-card-rightIcon\">\n <slot name=\"inlineConfirm\"></slot>\n </div>\n </div>\n </div>\n `;\n }\n\n /** @internal */\n private get _computedRel(): string {\n if (this.target === '_blank' && (!this.rel || this.rel.trim() === '')) {\n return 'noopener noreferrer';\n }\n return this.rel;\n }\n\n /** @internal */\n private _onClick = (e: Event) => {\n if (!this.href) e.preventDefault();\n const ev = new CustomEvent('on-card-click', {\n detail: { origEvent: e },\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n if (!this.dispatchEvent(ev) || ev.defaultPrevented) e.preventDefault();\n };\n\n /** @internal */\n private _onKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this._onClick(e);\n }\n };\n\n /** @internal */\n private _forwardConfirm = (e: Event) => {\n if ((e.target as HTMLElement) === this) return;\n const detail = (e as CustomEvent)?.detail;\n const ev = new CustomEvent('on-confirm', {\n detail,\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n this.dispatchEvent(ev);\n };\n\n override connectedCallback() {\n super.connectedCallback();\n if (this.variant === 'default' && this.classList.contains('info-card')) {\n this.variant = 'notification';\n }\n this.addEventListener('on-confirm', this._forwardConfirm as EventListener);\n }\n\n override disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener(\n 'on-confirm',\n this._forwardConfirm as EventListener\n );\n }\n}\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-card': Card;\n }\n}\n"],"names":["Card","customElement","LitElement","_classThis","_classSuper","_Card_type_accessor_storage","set","this","__runInitializers","_type_initializers","_Card_href_accessor_storage","_type_extraInitializers","_href_initializers","_Card_rel_accessor_storage","_href_extraInitializers","_rel_initializers","_Card_target_accessor_storage","_rel_extraInitializers","_target_initializers","_Card_hideBorder_accessor_storage","_target_extraInitializers","_hideBorder_initializers","_Card_aiConnected_accessor_storage","_hideBorder_extraInitializers","_aiConnected_initializers","_Card_highlight_accessor_storage","_aiConnected_extraInitializers","_highlight_initializers","_Card_compact_accessor_storage","_highlight_extraInitializers","_compact_initializers","_Card_variant_accessor_storage","_compact_extraInitializers","_variant_initializers","_onClick","_variant_extraInitializers","e","href","preventDefault","ev","CustomEvent","detail","origEvent","bubbles","composed","cancelable","dispatchEvent","defaultPrevented","_onKeydown","key","_forwardConfirm","target","type","__classPrivateFieldGet","value","__classPrivateFieldSet","rel","hideBorder","aiConnected","highlight","compact","variant","render","baseClasses","isAnchor","indexOf","renderNonDefaultVariant","html","classMap","String","_computedRel","ifDefined","undefined","trim","connectedCallback","super","classList","contains","addEventListener","disconnectedCallback","removeEventListener","_type_decorators","property","_href_decorators","_rel_decorators","_target_decorators","_hideBorder_decorators","Boolean","_aiConnected_decorators","_highlight_decorators","_compact_decorators","reflect","__esDecorate","kind","name","static","private","access","has","obj","get","metadata","_metadata","_variant_decorators","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","CardScss","InfoCardScss"],"mappings":"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"}
|
|
@@ -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
|