=== Pexsol Alerts for Contact Form 7 ===
Contributors: pexsol
Donate link: https://www.pexsol.com
Tags: contact form 7, sweetalert2, popup, modal, alert
Requires at least: 5.6
Tested up to: 7.0
Requires PHP: 7.2
Stable tag: 2.0.3
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Swap Contact Form 7's plain inline messages for polished SweetAlert2 popups. Configure everything from one schema-driven settings panel.

== Description ==

Contact Form 7 shows its success and error notices as plain text beneath the form. **Pexsol Alerts for Contact Form 7** intercepts those submission events and presents a modern [SweetAlert2](https://sweetalert2.github.io/) modal or toast instead — no template edits, no shortcode changes, no extra markup in your forms.

Activate it and every CF7 form on your site immediately responds with a popup for the four submission states: success, validation error, spam, and mail failure. A dedicated settings screen under **Contact → Pexsol Alerts** lets you tune colors, size, placement, timing, buttons, and an optional post-submit redirect, with a live preview so you can see changes before saving.

= Built for performance =

The SweetAlert2 library is only loaded on pages that actually contain a Contact Form 7 form. Pages without a form stay lean — nothing extra is requested.

= Highlights =

* Works the moment it is activated — sensible defaults, no setup required.
* One settings panel grouped into Appearance, Behavior, Buttons & Actions, and Success Redirect.
* Live preview button that renders a popup from the values currently in the form.
* Accent color, icon color, background color, and custom width.
* Centered modal or lightweight corner toast, in any of nine positions.
* Auto-hide timer, outside-click, Esc key, and close-button controls.
* Optional redirect (with delay) after a successful submission.
* Conditional asset loading — SweetAlert2 loads only where a form exists.
* Single-row settings storage and a clean uninstall that removes its data.
* Translation-ready (text domain: `pexsol-alerts-contact-form-7`).

== Installation ==

1. Upload the `pexsol-alerts-contact-form-7` folder to `/wp-content/plugins/`, or install the ZIP via **Plugins → Add New → Upload Plugin**.
2. Activate **Pexsol Alerts for Contact Form 7** from the **Plugins** screen.
3. Ensure **Contact Form 7** is installed and active.
4. (Optional) Visit **Contact → Pexsol Alerts** to customize the popups.

== Frequently Asked Questions ==

= Does it need any configuration? =
No. It works with sensible defaults as soon as it is activated.

= Where are the settings? =
Under **Contact → Pexsol Alerts** in the WordPress admin.

= Will it change how Contact Form 7 validates or sends mail? =
No. It only replaces the visual presentation of the result message. Validation, mail handling, and CF7 hooks are untouched.

= Does it work with forms added by page builders? =
Yes. Detection hooks into Contact Form 7 itself, so any render path — shortcode, block, or builder widget — is covered.

= Does it slow down my whole site? =
No. The popup library is enqueued only on pages that render a form.

= What happens when I deactivate it? =
Contact Form 7 returns to its default inline messages. Deleting the plugin also removes its stored settings.

== Screenshots ==

1. Success popup shown after a submission.
2. Validation popup for an incomplete form.
3. Settings screen — Appearance and Behavior panels.
4. Settings screen — Buttons and Success Redirect panels.

== Changelog ==

= 2.0.3 =
* Prefixed every internal identifier so the plugin cannot collide with other plugins or themes: PHP namespace, option name, settings group, admin-post action, page slug, script/style handles, JavaScript globals, and CSS classes now all use a "pexsol_alerts" / "pexsol-alerts" prefix.
* Existing settings are migrated automatically to the new option name on the first admin request after updating; nothing needs to be reconfigured.

= 2.0.2 =
* Renamed to "Pexsol Alerts for Contact Form 7" (text domain "pexsol-alerts-contact-form-7") so the name is distinctive and does not lead with another project's name.
* Compatibility: tested up to WordPress 7.0.

= 2.0.1 =
* Fixed: popup settings (close button, auto-hide, outside-click, and Escape-to-close) were ignored on themes that render the form before wp_enqueue_scripts (e.g. block/FSE themes), because the settings payload was dropped. Assets are now registered defensively before localization.
* Hardened: added direct-access guards (ABSPATH check) to all PHP class files.

= 2.0.0 =
* Rebuilt from the ground up on a namespaced, schema-driven architecture.
* Settings now stored in a single option row instead of many.
* jQuery-free front-end handler using Contact Form 7's native events.
* Added a proper uninstall routine (single- and multisite).
* Refreshed settings UI with panel layout and modern default styling.

== Upgrade Notice ==

= 2.0.0 =
A full rewrite. Settings move to a new storage format, so review your options under Contact → Pexsol Alerts after updating.
