@descope/web-components-ui 1.0.201 → 1.0.203
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/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
|
}
|