=== Fantastic Forms ===
Contributors: sebastya
Tags: forms, form builder, survey, typeform, embed
Requires at least: 5.8
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.1
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Embed Fantastic Forms — typeforms, surveys, calculators, payment forms, schedulers — anywhere on your WordPress site with a block or shortcode.

== Description ==

Install + embed Fantastic Forms (40+ elements, 8+ payments, 8000+ integrations) anywhere on your website with a block or shortcode.

[Fantastic Forms](https://fantasticforms.com/wordpress) is a powerful, friendly form builder for surveys, quizzes, calculators, payment forms, schedulers, signature requests, and much more. This official plugin lets you embed any form you've built at fantasticforms.com directly into any WordPress post, page, sidebar, or custom block area.

**Highlights**

* Native Gutenberg block — drop it in, pick a form, done.
* Classic shortcode for Elementor, Divi, classic editor, page builders: `[fantastic_form id="abc123"]`.
* Lightweight — no JavaScript framework bloat, no third-party trackers, no telemetry.
* Free and Pro users supported. Free users embed by form ID; Pro users can plug in an API key to browse their forms from inside WordPress.
* Responsive iframe embeds — your forms look great on every device.
* Works with conditional logic, payment fields, file uploads, signatures, calculators, schedulers, and every other Fantastic Forms element.

**You'll need a (free) Fantastic Forms account**

Sign up at [fantasticforms.com](https://fantasticforms.com) — building forms is 100% free forever; the Pro plan ($99/mo) unlocks API access, unlimited responses, custom domains, and more.

== Installation ==

1. Upload the `fantastic-forms` folder to `/wp-content/plugins/` (or install via Plugins → Add New → Upload Plugin).
2. Activate the plugin from the **Plugins** menu in WordPress.
3. (Optional, Pro only) Go to **Settings → Fantastic Forms** and paste your API key for a nicer form-picker in the block editor.
4. Add a **Fantastic Form** block to any post or page, or paste `[fantastic_form id="YOUR_FORM_ID"]` into the classic editor.

You can find your form ID in the form's URL: `https://fantasticforms.com/f/abc123` → the ID is `abc123`.

== External services ==

This plugin connects to one external service: **fantasticforms.com**, operated by Fantastic Forms.

1. **Embedding forms (front-end iframe)** — When a visitor loads a page that contains the Fantastic Forms block or `[fantastic_form id="…"]` shortcode, their browser loads `https://fantasticforms.com/f/<form_id>` inside an iframe. The plugin itself does not transmit any data; the iframe behaves like any other embedded form. Submissions go directly from the visitor's browser to fantasticforms.com and are governed by the form's own settings.

2. **Listing your forms in the block editor (optional, Pro only)** — When you paste a Pro API key under *Settings → Fantastic Forms* and the API key is non-empty, the plugin calls `GET https://fantasticforms.com/api/v1/forms` so the block editor's dropdown can list your forms. The request is authenticated with the API key you provided and sends no data about your site, your visitors, or your WordPress installation. The response is cached for 5 minutes in a WordPress transient. If you do not save an API key, no external request is ever made by the plugin itself.

Use of the fantasticforms.com service is governed by Fantastic Forms' Terms of Service and Privacy Policy:

* Terms of Service: https://fantasticforms.com/legal/terms
* Privacy Policy:   https://fantasticforms.com/legal/privacy

== Frequently Asked Questions ==

= Do I need a Fantastic Forms account? =

Yes — but the free plan never expires and lets you build unlimited forms with the full element library.

= Do I need an API key? =

No. The block and shortcode work for any public Fantastic Forms ID without authentication. The API key is only needed if you want the block editor to show a dropdown of your forms (Pro plan feature).

= Where is the data stored? =

All form submissions go directly to your Fantastic Forms account at fantasticforms.com. This plugin only embeds the form — it never stores or proxies any submission data through your WordPress site.

= Does this work with caching plugins / WP Rocket / W3 Total Cache? =

Yes. The embed is a plain iframe, fully compatible with full-page caching.

= Does this work in Elementor / Divi / Beaver Builder? =

Yes. Use the shortcode widget in any page builder: `[fantastic_form id="abc123"]`.

= Can I change the form height? =

Yes:

* **Block editor:** use the Height slider in the sidebar.
* **Shortcode:** `[fantastic_form id="abc123" height="900"]`.

= How do I force light or dark mode? =

* **Block editor:** use the Theme dropdown.
* **Shortcode:** `[fantastic_form id="abc123" theme="dark"]` (or `theme="light"`).

= Does the plugin track me or my visitors? =

No. The plugin never phones home, has no analytics, and stores nothing about your site or your visitors. It only contacts fantasticforms.com when you explicitly save a Pro API key (to list your forms in the editor) or when a visitor loads a page containing an embedded form (the iframe loads as a normal browser resource).

= Is the source code available? =

Yes — GPLv2-or-later.

== Screenshots ==

1. The Fantastic Form block in the WordPress block editor with a live preview.
2. The block sidebar — pick a form, set the height, override the theme.
3. Settings → Fantastic Forms — optional Pro API key for a form-picker dropdown.
4. The embedded form on the published page.

== Changelog ==

= 1.0.1 =
* Removed all telemetry / activation pings. The plugin no longer phones home under any circumstance.
* Renamed all functions, constants, options, transients and script handles to use the `fantfo_` / `FANTFO_` prefix to avoid collisions.
* Documented the external service (fantasticforms.com) and the conditions under which the plugin contacts it.
* Settings page now links to the privacy policy near the API-key field.

= 1.0.0 =
* Initial release.
* Gutenberg block (`fantastic-forms/form`).
* Shortcode `[fantastic_form id="…" height="…" theme="…"]`.
* Optional Pro-only API-key form-picker in the block editor and settings page.

== Upgrade Notice ==

= 1.0.1 =
Removes telemetry and re-prefixes internals for WP.org plugin directory compliance. Safe upgrade — your saved API key (if any) is preserved.
