@thewebforge/usewp
v1.1.0
Published
A collection of useful React hooks created especially to be used in your WordPress Theme or Plugin development project.
Downloads
3
Readme
@thewebforge/usewp
This package is a collection of useful React hooks created especially to be used in your WordPress Theme or Plugin development project.
Why useWP
useWP
is a collection of React Hooks designed specifically for WordPress Themes and Plugins developers. These hooks leverage the functionalities provided by the @wordpress/elements
package, thereby utilizing WordPress React and avoiding the need to add another copy of React as a dependency.
Installation
To install useWP
, simply use npm or yarn:
npm install @thewebforge/usewp
or
bun add @thewebforge/usewp
Usage
import { useConfirm } from "@thewebforge/usewp";
import { check, trash } from "@wordpress/icons";
import { Button } from "@wordpress/components";
const MyComponent = () => {
const [confirmDelete, setConfirmDelete] = useConfirm();
return (
<Button
variant="link"
icon={confirmDelete ? check : trash}
isDestructive={!confirmDelete}
onClick={() => {
if (!confirmDelete) {
setConfirmDelete(true);
return;
}
// Handle Deletion
}}
>
Delete
</Button>
);
};
export default MyComponent;
Available Hooks
useBattery
: A hook to access battery information.useConfirm
: A hook to trigger an action after it has been confirmed.useDarkMode
: A hook to enable dark mode.useDebounce
: A hook to debounce state changes.useDocTitle
: A hook to dynamically update the document title.useFirstMount
: A hook to determine if the component is mounted for the first time.useLocalStorage
: A hook to interact with local storage.useMediaQuery
: A hook to track media query matches.useStorage
: A hook to interact with session storage.useValueWithDefault
: A hook to provide a default value if the initial value is undefined.
Contributing
Contributions are welcome! Please feel free to submit pull requests to contribute to this project.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements
- This package relies on the
@wordpress/elements
package for WordPress React functionalities. - Special thanks to the WordPress community for their work.
Support
If you have any questions, issues, or suggestions, feel free to open an issue on GitHub or contact the maintainer directly.