From 9f50dd08650af846078b962cb84819ead2ac27f4 Mon Sep 17 00:00:00 2001
From: braks <78412429+bcakmakoglu@users.noreply.github.com>
Date: Sun, 18 Dec 2022 22:27:36 +0100
Subject: [PATCH] feat(core,nodes): implement a11y in nodes
Signed-off-by: braks <78412429+bcakmakoglu@users.noreply.github.com>
---
packages/core/src/auto-imports.d.ts | 6 +-
.../core/src/components/Nodes/NodeWrapper.vue | 67 ++++++++++++++-----
packages/core/src/composables/useDrag.ts | 12 +++-
packages/core/src/composables/useKeyPress.ts | 3 +-
.../src/composables/useUpdateNodePositions.ts | 32 +++++++++
.../container/EdgeRenderer/EdgeRenderer.vue | 2 -
.../container/NodeRenderer/NodeRenderer.vue | 15 ++++-
.../core/src/container/VueFlow/VueFlow.vue | 2 +
packages/core/src/store/state.ts | 2 +
packages/core/src/types/changes.ts | 6 +-
packages/core/src/types/flow.ts | 2 +
packages/core/src/types/node.ts | 3 +
packages/core/src/types/store.ts | 4 ++
packages/core/src/utils/a11y.ts | 9 +++
packages/core/src/utils/drag.ts | 30 ++++++++-
packages/core/src/utils/graph.ts | 4 +-
packages/core/src/utils/node.ts | 3 +-
17 files changed, 167 insertions(+), 35 deletions(-)
create mode 100644 packages/core/src/composables/useUpdateNodePositions.ts
diff --git a/packages/core/src/auto-imports.d.ts b/packages/core/src/auto-imports.d.ts
index be98b036..492db360 100644
--- a/packages/core/src/auto-imports.d.ts
+++ b/packages/core/src/auto-imports.d.ts
@@ -22,11 +22,12 @@ declare global {
const addEdgeToStore: typeof import('./utils/store')['addEdgeToStore']
const applyChanges: typeof import('./utils/changes')['applyChanges']
const applyEdgeChanges: typeof import('./utils/changes')['applyEdgeChanges']
- const applyExtent: typeof import('./utils/drag')['applyExtent']
const applyNodeChanges: typeof import('./utils/changes')['applyNodeChanges']
+ const arrowKeyDiffs: typeof import('./utils/a11y')['arrowKeyDiffs']
const asyncComputed: typeof import('@vueuse/core')['asyncComputed']
const autoResetRef: typeof import('@vueuse/core')['autoResetRef']
const boxToRect: typeof import('./utils/graph')['boxToRect']
+ const calcNextPosition: typeof import('./utils/drag')['calcNextPosition']
const checkElementBelowIsValid: typeof import('./composables/useHandle')['checkElementBelowIsValid']
const clamp: typeof import('./utils/graph')['clamp']
const clampPosition: typeof import('./utils/graph')['clampPosition']
@@ -72,6 +73,7 @@ declare global {
const getEdgeId: typeof import('./utils/graph')['getEdgeId']
const getEdgePositions: typeof import('./utils/edge')['getEdgePositions']
const getEventHandlerParams: typeof import('./utils/drag')['getEventHandlerParams']
+ const getExtent: typeof import('./utils/drag')['getExtent']
const getHandle: typeof import('./utils/edge')['getHandle']
const getHandleBounds: typeof import('./utils/node')['getHandleBounds']
const getHandlePosition: typeof import('./utils/edge')['getHandlePosition']
@@ -102,6 +104,7 @@ declare global {
const isEdgeVisible: typeof import('./utils/edge')['isEdgeVisible']
const isGraphEdge: typeof import('./utils/graph')['isGraphEdge']
const isGraphNode: typeof import('./utils/graph')['isGraphNode']
+ const isInputDOMNode: typeof import('./composables/useKeyPress')['isInputDOMNode']
const isNode: typeof import('./utils/graph')['isNode']
const isParentSelected: typeof import('./utils/graph')['isParentSelected']
const isProxy: typeof import('vue')['isProxy']
@@ -322,6 +325,7 @@ declare global {
const useToString: typeof import('@vueuse/core')['useToString']
const useToggle: typeof import('@vueuse/core')['useToggle']
const useTransition: typeof import('@vueuse/core')['useTransition']
+ const useUpdateNodePositions: typeof import('./composables/useUpdateNodePositions')['default']
const useUrlSearchParams: typeof import('@vueuse/core')['useUrlSearchParams']
const useUserMedia: typeof import('@vueuse/core')['useUserMedia']
const useVModel: typeof import('@vueuse/core')['useVModel']
diff --git a/packages/core/src/components/Nodes/NodeWrapper.vue b/packages/core/src/components/Nodes/NodeWrapper.vue
index 12389863..732b3e81 100644
--- a/packages/core/src/components/Nodes/NodeWrapper.vue
+++ b/packages/core/src/components/Nodes/NodeWrapper.vue
@@ -1,12 +1,14 @@