@descope/web-components-ui 1.0.201 → 1.0.203
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/index.cjs.js +12 -3
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/index.esm.js +12 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/descope-button-selection-group-descope-button-selection-group-internal-index-js.js +1 -1
- package/package.json +1 -1
- package/src/components/descope-button-selection-group/descope-button-selection-group-internal/ButtonSelectionGroupInternalClass.js +12 -3
package/dist/umd/descope-button-selection-group-descope-button-selection-group-internal-index-js.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
"use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[1348],{3547:(e,t,s)=>{s.d(t,{B:()=>
|
1
|
+
"use strict";(self.webpackChunkDescopeUI=self.webpackChunkDescopeUI||[]).push([[1348],{3547:(e,t,s)=>{s.d(t,{B:()=>a,f:()=>n});var i=s(3878),l=s(4567),r=s(7878);const n=(0,l.iY)("button-selection-group-internal");class a extends((0,i.P)({componentName:n,baseSelector:"slot"})){constructor(){super(),this.innerHTML='\n <style>\n slot {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n flex-wrap: wrap;\n }\n </style>\n <slot part="wrapper"></slot>\n\t\t'}#e=r.C.bind(this,"change");get items(){return this.querySelector("slot").assignedElements()}get isReadonly(){return"true"===this.getAttribute("readonly")}getSelectedNode(){return this.items.find((e=>e.hasAttribute("selected")))}get size(){return this.getAttribute("size")||"md"}get allowDeselect(){return"true"===this.getAttribute("allow-deselect")}removeSelected(){this.getSelectedNode()?.removeAttribute("selected")}onClick(e){e.target!==e.currentTarget&&(e.target===this.getSelectedNode()&&this.allowDeselect?this.removeSelected():this.setSelected(e.target),this.#e())}setSelected(e){e!==this.getSelectedNode()&&(this.removeSelected(),e?.setAttribute("selected","true"))}get value(){return this.getSelectedNode()?.value||""}set value(e){const t=this.items.find((t=>t.value===e));this.setSelected(t)}get defaultValue(){return this.getAttribute("default-value")}setDefaultValue(){setTimeout((()=>{this.defaultValue&&(this.value=this.defaultValue,this.setCustomValidity())}))}onSizeChange(){this.items.forEach((e=>{e.setAttribute("size",this.size)}))}onReadOnlyChange(){this.querySelector("slot").toggleAttribute("inert",this.isReadonly)}getValidity(){return this.isRequired&&!this.value?{valueMissing:!0}:{}}onObservedAttributeChange(e){e.forEach((e=>{switch(e){case"size":this.onSizeChange();break;case"readonly":this.onReadOnlyChange()}}))}init(){this.addEventListener("focus",(e=>{e.isTrusted&&this.items[0]?.focus()})),super.init?.(),this.setDefaultValue(),(0,l.FX)(this,this.onObservedAttributeChange.bind(this),{includeAttrs:["size","readonly"]}),this.querySelector("slot").addEventListener("click",this.onClick.bind(this))}}},8460:(e,t,s)=>{s.r(t),s.d(t,{ButtonSelectionGroupInternalClass:()=>i.B});var i=s(3547);s(2018),customElements.define(i.f,i.B)}}]);
|
package/package.json
CHANGED
@@ -51,7 +51,7 @@ export class ButtonSelectionGroupInternalClass extends createBaseInputClass({
|
|
51
51
|
}
|
52
52
|
|
53
53
|
onClick(e) {
|
54
|
-
if (
|
54
|
+
if (e.target !== e.currentTarget) {
|
55
55
|
if (e.target === this.getSelectedNode() && this.allowDeselect) {
|
56
56
|
this.removeSelected();
|
57
57
|
} else {
|
@@ -97,6 +97,10 @@ export class ButtonSelectionGroupInternalClass extends createBaseInputClass({
|
|
97
97
|
});
|
98
98
|
}
|
99
99
|
|
100
|
+
onReadOnlyChange() {
|
101
|
+
this.querySelector('slot').toggleAttribute('inert', this.isReadonly);
|
102
|
+
}
|
103
|
+
|
100
104
|
getValidity() {
|
101
105
|
if (this.isRequired && !this.value) {
|
102
106
|
return { valueMissing: true };
|
@@ -111,6 +115,9 @@ export class ButtonSelectionGroupInternalClass extends createBaseInputClass({
|
|
111
115
|
case 'size':
|
112
116
|
this.onSizeChange();
|
113
117
|
break;
|
118
|
+
case 'readonly':
|
119
|
+
this.onReadOnlyChange();
|
120
|
+
break;
|
114
121
|
default:
|
115
122
|
break;
|
116
123
|
}
|
@@ -122,14 +129,16 @@ export class ButtonSelectionGroupInternalClass extends createBaseInputClass({
|
|
122
129
|
this.addEventListener('focus', (e) => {
|
123
130
|
// we want to ignore focus events we are dispatching
|
124
131
|
if (e.isTrusted) {
|
125
|
-
this.items[0]
|
132
|
+
this.items[0]?.focus();
|
126
133
|
}
|
127
134
|
});
|
128
135
|
|
129
136
|
super.init?.();
|
130
137
|
this.setDefaultValue();
|
131
138
|
|
132
|
-
observeAttributes(this, this.onObservedAttributeChange.bind(this), {
|
139
|
+
observeAttributes(this, this.onObservedAttributeChange.bind(this), {
|
140
|
+
includeAttrs: ['size', 'readonly'],
|
141
|
+
});
|
133
142
|
|
134
143
|
this.querySelector('slot').addEventListener('click', this.onClick.bind(this));
|
135
144
|
}
|