Compare commits

...

5 Commits

Author SHA1 Message Date
Benjamin Canac
56230ea915 chore(release): 1.2.11 2023-05-04 11:01:28 +02:00
Benjamin Canac
126b5fcfd4 Revert "chore(github): add v1 branch to ci dev"
This reverts commit d3536d8768.
2023-05-04 11:00:12 +02:00
Benjamin Canac
d3536d8768 chore(github): add v1 branch to ci dev 2023-05-04 10:52:54 +02:00
Sylvain Marroufin
59f62d322f fix(defineShortcuts): use useEventListener (#150) 2023-05-04 10:50:10 +02:00
Sylvain Marroufin
b85a8e7203 chore(defineShortcuts): config prop whenever more flexible (#149) 2023-05-02 14:47:31 +02:00
3 changed files with 52 additions and 51 deletions

View File

@@ -2,6 +2,13 @@
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
### [1.2.11](https://github.com/nuxtlabs/ui/compare/v1.2.10...v1.2.11) (2023-05-04)
### Bug Fixes
* **defineShortcuts:** use `useEventListener` ([#150](https://github.com/nuxtlabs/ui/issues/150)) ([59f62d3](https://github.com/nuxtlabs/ui/commit/59f62d322f07919d16a8d35340c3aa038cd09520))
### [1.2.10](https://github.com/nuxtlabs/ui/compare/v1.2.9...v1.2.10) (2023-04-07) ### [1.2.10](https://github.com/nuxtlabs/ui/compare/v1.2.9...v1.2.10) (2023-04-07)

View File

@@ -1,6 +1,6 @@
{ {
"name": "@nuxthq/ui", "name": "@nuxthq/ui",
"version": "1.2.10", "version": "1.2.11",
"repository": "https://github.com/nuxtlabs/ui", "repository": "https://github.com/nuxtlabs/ui",
"license": "MIT", "license": "MIT",
"exports": { "exports": {

View File

@@ -1,12 +1,13 @@
import type { Ref, ComputedRef } from 'vue' import type { ComputedRef, WatchSource } from 'vue'
import { logicAnd, logicNot } from '@vueuse/math' import { logicAnd, logicNot } from '@vueuse/math'
import { computed, onMounted, onBeforeUnmount } from 'vue' import { useEventListener } from '@vueuse/core'
import { computed } from 'vue'
import { useShortcuts } from './useShortcuts' import { useShortcuts } from './useShortcuts'
export interface ShortcutConfig { export interface ShortcutConfig {
handler: Function handler: Function
usingInput?: string | boolean usingInput?: string | boolean
whenever?: Ref<Boolean>[] whenever?: WatchSource<Boolean>[]
} }
export interface ShortcutsConfig { export interface ShortcutsConfig {
@@ -52,7 +53,6 @@ export const defineShortcuts = (config: ShortcutsConfig) => {
} }
} }
onMounted(() => {
// Map config to full detailled shortcuts // Map config to full detailled shortcuts
shortcuts = Object.entries(config).map(([key, shortcutConfig]) => { shortcuts = Object.entries(config).map(([key, shortcutConfig]) => {
if (!shortcutConfig) { if (!shortcutConfig) {
@@ -83,13 +83,12 @@ export const defineShortcuts = (config: ShortcutsConfig) => {
} }
if (!shortcut.handler) { if (!shortcut.handler) {
// eslint-disable-next-line no-console
console.trace('[Shortcut] Invalid value') console.trace('[Shortcut] Invalid value')
return null return null
} }
// Create shortcut computed // Create shortcut computed
const conditions = [] const conditions: ComputedRef<Boolean>[] = []
if (!(shortcutConfig as ShortcutConfig).usingInput) { if (!(shortcutConfig as ShortcutConfig).usingInput) {
conditions.push(logicNot(usingInput)) conditions.push(logicNot(usingInput))
} else if (typeof (shortcutConfig as ShortcutConfig).usingInput === 'string') { } else if (typeof (shortcutConfig as ShortcutConfig).usingInput === 'string') {
@@ -100,10 +99,5 @@ export const defineShortcuts = (config: ShortcutsConfig) => {
return shortcut as Shortcut return shortcut as Shortcut
}).filter(Boolean) as Shortcut[] }).filter(Boolean) as Shortcut[]
document.addEventListener('keydown', onKeyDown) useEventListener('keydown', onKeyDown)
})
onBeforeUnmount(() => {
document.removeEventListener('keydown', onKeyDown)
})
} }