@descope/web-components-ui 1.0.95 → 1.0.96
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/index.esm.js +29 -0
- package/dist/index.esm.js.map +1 -1
- package/dist/umd/988.js +1 -1
- package/package.json +1 -1
- package/src/mixins/draggableMixin.js +29 -0
package/dist/index.esm.js
CHANGED
@@ -423,6 +423,35 @@ const draggableMixin = (superclass) =>
|
|
423
423
|
}
|
424
424
|
}
|
425
425
|
|
426
|
+
get #isDraggable() {
|
427
|
+
return this.hasAttribute('draggable') && this.getAttribute('draggable') !== 'false'
|
428
|
+
}
|
429
|
+
|
430
|
+
init() {
|
431
|
+
|
432
|
+
// because we are delegating the focus from the outer component,
|
433
|
+
// the D&D is not working well in the page editor
|
434
|
+
// in order to solve it we are making the inner component focusable on mouse down
|
435
|
+
// and removing it on complete
|
436
|
+
this.addEventListener('mousedown', (e) => {
|
437
|
+
if (this.#isDraggable) {
|
438
|
+
this.baseElement.setAttribute('tabindex', '-1');
|
439
|
+
|
440
|
+
const onComplete = () => {
|
441
|
+
this.baseElement.removeAttribute('tabindex');
|
442
|
+
|
443
|
+
e.target.removeEventListener('mouseup', onComplete);
|
444
|
+
e.target.removeEventListener('dragend', onComplete);
|
445
|
+
};
|
446
|
+
|
447
|
+
e.target.addEventListener('mouseup', onComplete, { once: true });
|
448
|
+
e.target.addEventListener('dragend', onComplete, { once: true });
|
449
|
+
}
|
450
|
+
});
|
451
|
+
|
452
|
+
super.init?.();
|
453
|
+
}
|
454
|
+
|
426
455
|
attributeChangedCallback(attrName, oldValue, newValue) {
|
427
456
|
super.attributeChangedCallback?.(attrName, oldValue, newValue);
|
428
457
|
if (attrName === 'draggable') {
|