npm package: @nazfy/modal
Description: Declarative modals
Author: Nazareno Molinari
Latest version: 1.0.5

# 💡 Declarative Modal JS

[![MIT License](https://img.shields.io/badge/license-MIT-0374b5?style=flat)](https://github.com/your-username/declarative-modal-js/blob/main/LICENSE)
[![npm version](https://badge.fury.io/js/@nazfy%2Fmodal.svg)](https://badge.fury.io/js/@nazfy%2Fmodal)
[![Playwright CI](https://github.com/Naza2021/decl-modal/actions/workflows/ci-tests.yml/badge.svg)](https://github.com/Naza2021/decl-modal/actions/workflows/ci-tests.yml)

<p align="center">
  <img src="https://decl-modal-docs.vercel.app/img/overview.gif" alt="Declarative Modal Overview">
</p>

## Svelte package

https://www.npmjs.com/package/@nazfy/modal-svelte

## React package

https://www.npmjs.com/package/@nazfy/modal-react

## 🚀 Unleash the Power of Declarative Modals

Welcome to a world where modals become a seamless part of your user interface. Declarative Modal JS brings you a revolutionary approach to displaying modals without the hassle of managing visibility states. Craft complex logic, prompt user inputs, or confirm actions effortlessly within your application flow. Our library is designed to supercharge your development process, offering a headless core that allows for complete customization.

### 🌟 Key Features

- 🌍 **Framework Agnostic Core**: Developed with Vanilla JS, Declarative Modal supports adapters for popular libraries including React, Svelte, and in the near future, Solid and Qwik.
- 📦 **Server-Side Rendering (SSR) Support**: Fully compatible with SSR.
- 🔒 **Type-Safe Show Functions**: Strict typing for show functions enables bidirectional communication between the modal and its caller, providing endless possibilities for generic logic without embedding specific business logic.
- 💨 **Lightweight & Zero Dependencies**: With a focus on native APIs, the library boasts a small footprint (~8kb) with no external dependencies.
- 🎨 **Headless UI Construction**: Freedom to build your UI with any animation, style, or configuration without being confined by complicated props or configurations.
- 🌀 **Inclusion of Basic Animations**: While basic animations are provided, you have the liberty to animate your modals as much as you wish.
- 🛠 **Versatile Core**: Beyond modals, use the core to create popups, tooltips, sidebars, menus, and whatever else your project requires.

## 🔍 Live Demo

Experience the simplicity and power of Declarative Modal JS firsthand: [https://decl-modal-next-example.nazfy.dev/](https://decl-modal-next-example.nazfy.dev/)

## 📚 Documentation

Dive deeper into the capabilities and integration of Declarative Modal JS: [https://decl-modal-docs.nazfy.dev/](https://decl-modal-docs.nazfy.dev/)

## Why Choose Declarative Modal JS?

Replace libraries like `react-toastify`, `react-modal`, and `react-tooltip` with a more efficient, flexible, and customizable solution. Save valuable bundle space and forget about learning specific configurations, props, or styles. With Declarative Modal JS, you control the implementation, tailoring it to your needs without complexity. Jumpstart your integration with our example containers and tailor them to your project, making your development process as smooth as possible.