From bcdaf0de6a8ad43c86c47f3d41c2b0e47cbc391f Mon Sep 17 00:00:00 2001 From: wild_duck Date: Wed, 28 Aug 2024 20:57:08 +0300 Subject: [PATCH] chore: adding some mdx changes and pic --- README.md | 42 +++++++++++++----------- public/logo.png | Bin 0 -> 40652 bytes src/DuckShortcut/DuckShortcut.tsx | 4 +-- src/DuckShortcut/DuckShortcut.types.tsx | 2 +- 4 files changed, 26 insertions(+), 22 deletions(-) create mode 100644 public/logo.png diff --git a/README.md b/README.md index 0f937dc..f880c2d 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,21 @@ # `@ahmedayob/duck-shortcut` +

+ Duck UI Logo +

+ A lightweight React component for easily binding and handling keyboard shortcuts in your React applications. ## Features -- **Easy Integration**: Integrate keyboard shortcuts into your React application effortlessly. Simply use the `useShortcut` hook and pass the required props to handle key combinations or sequences. +- **Easy Integration**: Integrate keyboard shortcuts into your React application effortlessly. Simply use the `useDuckShortcut` hook and pass the required props to handle key combinations or sequences. - **Support for Key Combinations**: Handle key combinations like `Ctrl+S` or `Command+K` with ease. The component can take a single string or an array of key combinations. - **Support for Key Sequences**: React to key sequences such as `Up Up Down Down Left Right B A Enter`. You can define these sequences as strings or arrays. - **Mixed Key Combinations and Sequences**: Combine both key combinations and sequences to define more complex shortcuts. - **Global Keyboard Event Listener**: The component adds a global keyboard event listener that works anywhere in the component tree without preventing events from bubbling or capturing. - **TypeScript Support**: Fully implemented in TypeScript with type definitions, ensuring a smooth development experience with type safety. - **Case Insensitivity**: The component handles key shortcuts in a case-insensitive manner, so you don’t need to worry about key case. -- **No Conflict with Other Components**: Use multiple instances of `useShortcut` for different shortcuts without conflicts. +- **No Conflict with Other Components**: Use multiple instances of `useDuckShortcut` for different shortcuts without conflicts. ## Installation @@ -28,10 +32,10 @@ yarn add @ahmedayob/duck-shortcut Here's a quick guide on how to use the library: ```tsx -import { useShortcut } from '@ahmedayob/duck-shortcut' +import { useDuckShortcut } from '@ahmedayob/duck-shortcut' const App = () => { - useShortcut({ + useDuckShortcut({ keys: ['ctrl+s'], // Key combinations or sequences onKeysPressed: () => { console.log('Ctrl+S was pressed!') @@ -47,9 +51,9 @@ const App = () => { You can handle multiple key combinations or sequences by passing them as an array: ```typescript -import { useShortcut } from '@ahmedayob/duck-shortcut' +import { useDuckShortcut } from '@ahmedayob/duck-shortcut' const App = () => { - useShortcut({ + useDuckShortcut({ keys: ['ctrl+s', 'command+k'], // Multiple shortcuts onKeysPressed: () => { console.log('Ctrl+S or Command+K was pressed!') @@ -61,22 +65,22 @@ const App = () => { ## API Reference -Here’s an API reference for `@ahmedayob/duck-shortcut` in MDX format, detailing the types and usage of the `useShortcut` hook: +Here’s an API reference for `@ahmedayob/duck-shortcut` in MDX format, detailing the types and usage of the `useDuckShortcut` hook: -## `useShortcut` +## `useDuckShortcut` -The `useShortcut` hook allows you to bind keyboard shortcuts to callback functions in your React components. +The `useDuckShortcut` hook allows you to bind keyboard shortcuts to callback functions in your React components. ### Importing ```jsx -import { useShortcut } from '@ahmedayob/duck-shortcut' +import { useDuckShortcut } from '@ahmedayob/duck-shortcut' ``` ### Usage ```jsx -useShortcut({ +useDuckShortcut({ keys: /* Key combinations or sequences */, onKeysPressed: /* Callback function */, }); @@ -123,10 +127,10 @@ onKeysPressed: () => { ### Example ```jsx -import { useShortcut } from '@ahmedayob/duck-shortcut' +import { useDuckShortcut } from '@ahmedayob/duck-shortcut' const App = () => { - useShortcut({ + useDuckShortcut({ keys: ['ctrl+s', 'command+k'], // Define your shortcuts onKeysPressed: () => { // Callback when shortcuts are pressed @@ -146,19 +150,19 @@ const App = () => { ## Type Definitions -### `ShortcutProps` +### `DuckShortcutProps` ```typescript -interface ShortcutProps { +interface DuckShortcutProps { keys: string | string[] // Key combinations or sequences onKeysPressed: () => void // Callback when shortcuts are pressed } ``` -### `useShortcut` +### `useDuckShortcut` ```typescript -declare function useShortcut(props: ShortcutProps): void +declare function useDuckShortcut(props: DuckShortcutProps): void ``` ## License @@ -167,9 +171,9 @@ This library is available under the [MIT License](LICENSE). ## Contributing -This reference includes type definitions for `ShortcutProps`, as well as detailed information on how to use the `useShortcut` hook. +This reference includes type definitions for `DuckShortcutProps`, as well as detailed information on how to use the `useDuckShortcut` hook. -Contributions are welcome! Please open issues and pull requests on the [GitHub repository](https://github.com/ahmedayob/shor). +Contributions are welcome! Please open issues and pull requests on the [GitHub repository](https://github.com/TheDuckUI/shortcut). ## License diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c7a95deb449e2f2b287d2ca47ef29569062e3925 GIT binary patch literal 40652 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 = ({ keys, onKeysPressed }) => { +export const useDuckShortcut: React.FC = ({ keys, onKeysPressed }) => { // Normalize the shortcuts in a state const normalizedKeys = React.useMemo(() => normalizeShortcuts(keys), [keys]) diff --git a/src/DuckShortcut/DuckShortcut.types.tsx b/src/DuckShortcut/DuckShortcut.types.tsx index dbf53f9..e98970d 100644 --- a/src/DuckShortcut/DuckShortcut.types.tsx +++ b/src/DuckShortcut/DuckShortcut.types.tsx @@ -1,4 +1,4 @@ -export type DuckShortcut = { +export type DuckShortcutProps = { keys: string | string[] onKeysPressed: () => void }