=== Impress Bento Grid ===
Contributors: impresswp
Tags: bento grid, block, grid layout, gutenberg, animation
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.5.5
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Build a bento grid with no code. Start from a designed preset, then drag the tiles to resize and rearrange them.

== Description ==

A bento grid is a layout of different-sized tiles packed together, each holding one piece of content. Bento Grid brings that layout to WordPress as something you build by clicking, not by writing CSS.

Pick a preset and you have a finished grid: a complete theme, a layout rhythm and a mix of tiles that already looks designed. Then drag a tile to move it, drag its edge to resize it, and fill it with your own words and pictures. Place the finished grid on any page, in any editor.

**There is no account and no key to paste.** Every preset, theme, effect and tile ships inside the plugin and renders on your own site, so your grid keeps working exactly as you built it whatever happens to us. The one exception is the optional weather tile, which asks a public weather service for a temperature; it is described in full under External services below, and you can switch it off under Settings, Impress.

= Six presets, five themes =

Glass (frosted glassmorphism), Studio (dark cinematic), Gallery (near-white museum minimal), Agency (vivid gradient), Editorial (warm cream magazine) and Dashboard (live widgets). Each pairs a theme with its own spacing, type and motion personality, so switching preset repaints the whole grid rather than swapping a colour.

= Full width, two ways =

Edge to edge makes the whole grid bigger, breaking out of your content column. Background only keeps the tiles exactly where your page puts them and lets the background, and the light moving in it, run to the edges of the window behind them, so the grid sits on the page rather than in a box.

= You arrange it by dragging it, whichever editor you use =

Grids are built on the **Impress, Bento Grids** screen, so the same full designer is there whether your site runs the block editor, Elementor, WPBakery or a classic theme. A page builder does not get a cut-down version.

Drag a tile to move it. Drag its right or bottom edge to resize it, and the rest of the grid reflows under your hand as you go, so you are looking at the finished layout rather than at a form. Select a tile and its own fields appear: the words, the picture, the numbers. On a photo, drag the dot to choose which part survives the crop.

Build a grid once, give it a name, and place it on as many pages as you like: every editor offers your saved grids in a list, and the shortcode works anywhere. Change the grid later and every page that uses it updates.

Surprise me rearranges the whole grid for you, keeping every tile's content and leaving no gaps.

= A motion identity, not fifteen animations =

Tiles tilt toward the cursor in 3D and the whole grid plane bends slightly under it. Tiles stagger in as they scroll into view. Each theme carries its own tilt strength and easing, so Glass feels springy and Editorial feels calm. One Motion control sets the whole grid to Full, Subtle or Still.

= Living backgrounds =

Behind the grid you can run Aurora (drifting light), Ripples, Fireflies, Grid warp (a dot field that bends toward the pointer), or your own photo. Individual tiles can carry their own effect: gradient mesh, aurora, noise flow, animated lines, or a spotlight that follows the cursor inside the tile.

= Twenty-five tile types, including video =

Photos with a slow Ken Burns pan, stats, quotes, a marquee, an avatar stack, a sparkline, a live pulse, a price, a logo wall and video. Self-building tiles: a headline that types itself, text that unblurs word by word, a graph that draws its bars, a ring that sweeps and counts, a big painted counter. Interactive tiles: a card that flips, a heart that counts up, a mini player, a switch. And live widgets: a ticking clock with a timezone toggle, current weather, and a drifting price ticker.

A video tile plays a file from your media library, or shows a poster with a play button for a YouTube or Vimeo link. Nothing is requested from YouTube or Vimeo until a visitor clicks play, so a page carrying a video tile stays fast and contacts nobody on load.

= Works where you work =

A block for the block editor, a widget for Elementor, an element for WPBakery, and a shortcode for everything else. All four render through the same code, so a grid looks the same wherever you place it.

= Accessible and light by default =

Every effect stops for visitors whose device asks for reduced motion, the tilt is off on phones, and animation pauses when the grid scrolls off screen. Tiles can be selected and resized from the keyboard as well as the mouse. Effect strength ships on Subtle, so the plugin is calm before you change anything.

== External services ==

Two tiles can contact something outside your site, and only if you place one. A page carrying neither tile contacts nobody at all.

The weather tile is the first. You can switch it off entirely under Settings, Impress, in which case the tile shows a placeholder reading and no request is made.

When a weather tile is shown, the visitor's browser requests the current temperature for the city set on that tile from Open-Meteo (https://open-meteo.com). Two requests are made: one to `geocoding-api.open-meteo.com` to turn the city name into coordinates, and one to `api.open-meteo.com` for the temperature. The city name and those coordinates are the only data sent. No personal data, no page URL and no site identifier is included, and no account or API key is involved. If the request fails the tile keeps its placeholder reading.

Open-Meteo terms: https://open-meteo.com/en/terms . Privacy: https://open-meteo.com/en/terms#privacy

The video tile is the second, and only when a visitor clicks play. A tile holding a YouTube or Vimeo link shows a poster image until then; on the click it loads that provider's player, which receives the visitor's browser request and your site's address as the referring page. YouTube links are loaded from youtube-nocookie.com and Vimeo links are asked not to track (dnt=1). A video tile that plays a file from your own media library contacts nobody at all.

YouTube terms: https://www.youtube.com/t/terms . Privacy: https://policies.google.com/privacy
Vimeo terms: https://vimeo.com/terms . Privacy: https://vimeo.com/privacy

No other part of this plugin makes a network request.

== Credits ==

The demonstration photographs bundled with the starter layouts are AI generated. They are not photographs of real people or places, and no third party holds rights in them. They are provided under the same licence as the plugin, and are only there so a new grid opens with something to look at: replace them with your own pictures.

== Installation ==

1. Install and activate the plugin.
2. Go to **Impress, Bento Grids** and build a grid: start from a preset, then drag the tiles to resize and rearrange them and fill them with your own words and pictures.
3. Edit a page, add the **Bento Grid** block or the Bento Grid element in Elementor or WPBakery, and choose your grid. The shortcode works too, in any theme.

Settings for every Impress plugin live together under **Settings, Impress**.

== Frequently Asked Questions ==

= Do I need to know any code? =

No. You start from a preset, then drag the tiles into the shape you want and type your own content into them. There is no CSS to write and no config file.

= Where is my grid stored? =

In your own WordPress database, like any other content. Nothing about your design is sent to us.

= Can I use the same grid on more than one page? =

Yes. Build it once on the Impress, Bento Grids screen, then choose it by name wherever you place it. Edit the grid later and every page using it updates.

= Will the animation slow my page down? =

The effects draw at a sensible resolution, pause when the grid is off screen, and stop entirely for visitors who ask for reduced motion. Nothing is loaded on pages that have no grid on them.

= Is it responsive? =

Yes, and you decide how. The grid drops to three columns on tablets and two on phones, and a tile that is wide on a desktop stays the focal point rather than collapsing to the same size as everything else. You can set a tile's size for tablet or phone on its own, and move it earlier or later in the order for that width, so a phone reads the way you want rather than the way the desktop layout happens to fall. Anything you do not set simply follows the wider screen.

= The background is too busy for my page. Can I calm it down? =

Yes, and there are two separate dials for it. Effect strength (Off, Subtle, Balanced, Bold) sets how loud the background is. Effect speed (Calm, Natural, Lively) sets how fast it moves, which is a different thing: a faint background that still moves quickly reads as restless rather than quiet. Left alone, the speed follows the strength, so a quieter grid also moves more slowly. Both are on each grid and as a default for the whole site under Settings, Impress, and both ship on the calm side.

= Which editors are supported? =

The block editor, Elementor, WPBakery, and a shortcode for classic themes. All four place a grid you built on the Bento Grids screen, so none of them is a lesser version: a WPBakery site gets exactly the same designer as a block-editor one.

== Screenshots ==

1. The Glass preset: frosted tiles over a photo background, with live clock and weather tiles.
2. The Gallery preset: near-white museum minimal with generous spacing.
3. The Bento Grids screen, where a grid is built and its theme, motion and background are chosen.
4. Settings, Impress: the shared settings home for every Impress plugin.

== Changelog ==

= 1.5.5 =
* Saved grids are now checked per grid, so each author's designs are theirs alone.
* The weather tile no longer sends your site's address to the weather service.
* The external services section now also covers the video tile's embed.
* Editor text can now be translated.

= 1.5.4 =
* First public release.
