@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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/virtual-dom",
3
- "version": "1.41.0",
3
+ "version": "1.43.0",
4
4
  "main": "dist/index.js",
5
5
  "type": "module",
6
6
  "keywords": [],
@@ -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 { activeElement } = document
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':