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 @@