From 185f6caf9b79e7afcbb97aeda15010f54a1eb842 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 4 Dec 2023 09:52:06 +0100 Subject: [PATCH] :bug: fix(bal-date): Tabnavigation get stuck in the date input (#1171) * Create PR for #1167 * fix(input-date): tab navigation --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Gery Hirschfeld --- .changeset/cuddly-deers-boil.md | 5 +++++ .../src/utils/mask/context/mask-keyboard-context.ts | 4 ++++ packages/components/src/utils/mask/mask.ts | 4 +++- 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 .changeset/cuddly-deers-boil.md diff --git a/.changeset/cuddly-deers-boil.md b/.changeset/cuddly-deers-boil.md new file mode 100644 index 0000000000..a6b68c824a --- /dev/null +++ b/.changeset/cuddly-deers-boil.md @@ -0,0 +1,5 @@ +--- +'@baloise/design-system-components': patch +--- + +Fix tab navigation functionality for the `bal-input-date` component when a value is set. diff --git a/packages/components/src/utils/mask/context/mask-keyboard-context.ts b/packages/components/src/utils/mask/context/mask-keyboard-context.ts index 30cbc2848f..1b22f99731 100644 --- a/packages/components/src/utils/mask/context/mask-keyboard-context.ts +++ b/packages/components/src/utils/mask/context/mask-keyboard-context.ts @@ -36,6 +36,10 @@ export class MaskKeyboardContext extends MaskContext { return this._options.event.key === 'Backspace' } + get isTabKey() { + return this._options.event.key === 'Tab' + } + get isWhiteSpaceKey() { return this._options.event.key === ' ' } diff --git a/packages/components/src/utils/mask/mask.ts b/packages/components/src/utils/mask/mask.ts index bd12a5d804..d6dc7e1e74 100644 --- a/packages/components/src/utils/mask/mask.ts +++ b/packages/components/src/utils/mask/mask.ts @@ -277,7 +277,9 @@ export abstract class AbstractMask implements Mask { // // hit a range of chars } else { - context.preventDefault() + if (!context.isTabKey) { + context.preventDefault() + } if (context.isBackspaceKey || context.isDeleteKey) { this.resetInputValueWithMask(context)