@lvce-editor/virtual-dom 1.41.0 → 1.43.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/dist/index.js
CHANGED
|
@@ -409,9 +409,10 @@ const setProp = ($Element, key, value, eventMap, newEventMap) => {
|
|
|
409
409
|
case 'onInput':
|
|
410
410
|
case 'onKeyDown':
|
|
411
411
|
case 'onMouseDown':
|
|
412
|
-
case 'onMouseOver':
|
|
413
412
|
case 'onMouseOut':
|
|
413
|
+
case 'onMouseOver':
|
|
414
414
|
case 'onPointerDown':
|
|
415
|
+
case 'onPointerMove':
|
|
415
416
|
case 'onPointerOut':
|
|
416
417
|
case 'onPointerOver':
|
|
417
418
|
case 'onWheel':
|
|
@@ -695,6 +696,20 @@ const getEventListenerMap = id => {
|
|
|
695
696
|
return map;
|
|
696
697
|
};
|
|
697
698
|
|
|
699
|
+
const getActiveElementInside = $Viewlet => {
|
|
700
|
+
if (!$Viewlet) {
|
|
701
|
+
return undefined;
|
|
702
|
+
}
|
|
703
|
+
const $ActiveElement = document.activeElement;
|
|
704
|
+
if (!$ActiveElement) {
|
|
705
|
+
return undefined;
|
|
706
|
+
}
|
|
707
|
+
if (!$Viewlet.contains($ActiveElement)) {
|
|
708
|
+
return undefined;
|
|
709
|
+
}
|
|
710
|
+
return $ActiveElement;
|
|
711
|
+
};
|
|
712
|
+
|
|
698
713
|
const queryInputs = $Viewlet => {
|
|
699
714
|
return [...$Viewlet.querySelectorAll('input, textarea')];
|
|
700
715
|
};
|
|
@@ -725,9 +740,7 @@ const rememberFocus = ($Viewlet, dom, eventMap, uid = 0) => {
|
|
|
725
740
|
const oldTop = $Viewlet.style.top;
|
|
726
741
|
const oldWidth = $Viewlet.style.width;
|
|
727
742
|
const oldHeight = $Viewlet.style.height;
|
|
728
|
-
const
|
|
729
|
-
activeElement
|
|
730
|
-
} = document;
|
|
743
|
+
const activeElement = getActiveElementInside($Viewlet);
|
|
731
744
|
const isTreeFocused = activeElement?.getAttribute('role') === 'tree';
|
|
732
745
|
const isRootTree = $Viewlet.getAttribute('role') === 'tree' && activeElement === $Viewlet;
|
|
733
746
|
const focused = activeElement?.getAttribute('name');
|
package/package.json
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export const getActiveElementInside = (
|
|
2
|
+
$Viewlet: HTMLElement | undefined,
|
|
3
|
+
): HTMLElement | undefined => {
|
|
4
|
+
if (!$Viewlet) {
|
|
5
|
+
return undefined
|
|
6
|
+
}
|
|
7
|
+
const $ActiveElement = document.activeElement as HTMLElement
|
|
8
|
+
if (!$ActiveElement) {
|
|
9
|
+
return undefined
|
|
10
|
+
}
|
|
11
|
+
if (!$Viewlet.contains($ActiveElement)) {
|
|
12
|
+
return undefined
|
|
13
|
+
}
|
|
14
|
+
return $ActiveElement
|
|
15
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as ComponentUid from '../ComponentUid/ComponentUid.ts'
|
|
2
2
|
import * as EventState from '../EventState/EventState.ts'
|
|
3
|
+
import { getActiveElementInside } from '../GetActiveElementInside/GetActiveElementInside.ts'
|
|
3
4
|
import * as QueryInputs from '../QueryInputs/QueryInputs.ts'
|
|
4
5
|
import * as RegisterEventListeners from '../RegisterEventListeners/RegisterEventListeners.ts'
|
|
5
6
|
import * as VirtualDom from '../VirtualDom/VirtualDom.ts'
|
|
@@ -15,7 +16,7 @@ export const rememberFocus = (
|
|
|
15
16
|
const oldTop = $Viewlet.style.top
|
|
16
17
|
const oldWidth = $Viewlet.style.width
|
|
17
18
|
const oldHeight = $Viewlet.style.height
|
|
18
|
-
const
|
|
19
|
+
const activeElement = getActiveElementInside($Viewlet)
|
|
19
20
|
const isTreeFocused = activeElement?.getAttribute('role') === 'tree'
|
|
20
21
|
const isRootTree =
|
|
21
22
|
$Viewlet.getAttribute('role') === 'tree' && activeElement === $Viewlet
|
|
@@ -78,9 +78,10 @@ export const setProp = (
|
|
|
78
78
|
case 'onInput':
|
|
79
79
|
case 'onKeyDown':
|
|
80
80
|
case 'onMouseDown':
|
|
81
|
-
case 'onMouseOver':
|
|
82
81
|
case 'onMouseOut':
|
|
82
|
+
case 'onMouseOver':
|
|
83
83
|
case 'onPointerDown':
|
|
84
|
+
case 'onPointerMove':
|
|
84
85
|
case 'onPointerOut':
|
|
85
86
|
case 'onPointerOver':
|
|
86
87
|
case 'onWheel':
|