=== Tabs Block – Responsive Gutenberg Tabs for Block Editor ===
Contributors:      lubus, ajitbohra, punitv342, thomasnavarro
Tags:              tabs, tabs block, block editor, responsive tabs
Requires at least: 6.6
Tested up to:      6.9
Requires PHP:      7.4
Stable tag:        1.1.3
License:           MIT
License URI:       https://opensource.org/licenses/MIT

Tabs Block for Gutenberg – create responsive, accessible tabs using the WordPress Interactivity API.

== Description ==

### Build Accessible, Responsive Tabs in the Gutenberg Block Editor

**Tabs Block for Gutenberg** lets you add beautiful, responsive, and accessible tabbed content directly in the WordPress Block Editor no coding or external libraries required.  

Whether you’re building a documentation page, a product features section, or a clean tabbed layout for content organization, this plugin helps you do it quickly and natively.

### Why Choose BlaBlaBlocks Tabs Block?

The **Tabs Block** plugin combines **modern WordPress standards** with **ease of use**. Built using the **WordPress Interactivity API**, it ensures lightweight performance, accessibility, and full compatibility with the latest versions of WordPress.

#### Key Highlights
- **Accessible Tabs:** WCAG-compliant markup, ARIA roles, and keyboard navigation support.
- **Zero Dependencies:** No jQuery or heavy JS frameworks powered by the **Interactivity API**.
- **Responsive by Default:** Tabs automatically stack or scroll on smaller screens.
-  **Horizontal & Vertical Layouts:** Switch between tab orientations with one click.
- **Ready-to-Use Templates:** Choose from prebuilt designs to jump-start your layout.
- **Seamless Block Editor Integration:** Looks, feels, and behaves like a native WordPress block.

## #Key Features

#### 1. Fully Accessible
Accessibility isn’t optional — it’s built in. Tabs Block follows **WCAG 2.1** guidelines and adds:

* ARIA attributes for screen readers.
* Tab focus management for keyboard users.
* Semantic markup that works with assistive technologies.

#### 2. Responsive by Design
No need for custom CSS or media queries. Tabs automatically adapt their layout across screen sizes:

* On desktop: clean horizontal tab navigation.  
* On mobile: collapsible stacked layout or swipe-enabled scrolling.

#### 3. Horizontal & Vertical Tabs
Want sidebar-style navigation? Just toggle layout mode. You can switch between horizontal and vertical tabs at any time, perfect for documentation pages or feature lists.

#### 4. Powered by the Interactivity API
Unlike most tab plugins that rely on JavaScript frameworks, BlaBlaBlocks Tabs Block uses **WordPress’s native Interactivity API**.  
That means:

* Faster loading and rendering.
* Better Core Web Vitals scores.
* Seamless state management between editor and frontend.

#### 5. Ready-to-Use Templates
Save time with built-in templates. Choose from multiple tab styles (minimal, boxed, underlined, colored) and insert them with one click.

#### 6. Works Everywhere
Tabs Block is fully compatible with:

* Block Themes (Full Site Editing)
* Classic Themes using the Block Editor
* Reusable Blocks and Block Patterns
* Core blocks like Columns, Groups, and Cover

### How to Use the Tabs Block

#### Step 1: Add the Tabs Block
1. In the Block Editor, click the “+” icon to add a new block.  
2. Search for **“Tabs Block”**.  
3. Select it to insert into your post or page.

#### Step 2: Choose a Layout
Open the right-hand sidebar and pick from **horizontal** or **vertical** layouts. You can switch anytime.

#### Step 3: Add Tabs and Content
Add, rename, or delete tabs using the block toolbar. Each tab panel supports any block — text, images, videos, forms, etc.

#### Step 4: Customize the Look
Use the sidebar controls to adjust:

* Colors
* Typography
* Borders
* Padding and spacing

### Step 5: Preview Responsiveness
Use the Editor’s device preview to test how your tabs behave on mobile, tablet, and desktop.

Checkout out [documentation](https://github.com/lubusIN/blablablocks-tabs-block/wiki) for more details

## Customization Options

Tabs Block integrates seamlessly with WordPress’s design tools, so you can:

* Change background and text colors using global styles.  
* Adjust spacing, borders, and radii.  
* Apply block style variations for a unified site look.

For developers, advanced customization can be done via CSS custom properties or theme JSON overrides.

### Common Use Cases

- **Product Features Tabs:** Highlight product details, specifications, and reviews.
- **Documentation Pages:** Organize setup instructions and API references.
- **FAQs:** Group related questions under topic-based tabs.
- **Pricing Comparisons:** Present plan details side by side.
- **Portfolio Showcases:** Display projects or case studies by category.


###  Integration and Compatibility

Tabs Block integrates smoothly with:

- **Core WordPress Blocks:** Columns, Groups, Cover, Image, Paragraph, Buttons, etc.
- **Full Site Editing (FSE):** Works in templates and template parts.
- **Reusable Blocks:** Create once, reuse anywhere.
- **Translation Plugins:** WPML, Polylang, Loco Translate.
- **Caching & Optimization Plugins:** No conflicts with WP Rocket, LiteSpeed Cache, or Autoptimize.

### Troubleshooting

#### Tabs Not Switching?

- Check for JavaScript errors in your browser console.
- Ensure WordPress 6.5 or higher is installed (Interactivity API required).

#### Styles Not Applying?
Your theme’s CSS may override tab styles. Try adding a higher specificity rule or using the block’s built-in design controls.

### Open Source and Free

**BlaBlaBlocks Tabs Block** is open source under the **MIT License**.  
You can freely use, modify, and contribute to its development.

- **Source Code:**  
  [https://github.com/lubusIN/blablablocks-tabs-block](https://github.com/lubusIN/blablablocks-tabs-block)

- **Report Issues:**  
  [https://github.com/lubusIN/blablablocks-tabs-block/issues](https://github.com/lubusIN/blablablocks-tabs-block/issues)

- **Documentation:**  
  [https://github.com/lubusIN/blablablocks-tabs-block/wiki](https://github.com/lubusIN/blablablocks-tabs-block/wiki)

== Frequently Asked Questions ==

### 1. Does this plugin work with Full Site Editing?
Yes. Tabs Block works perfectly with block themes and the Site Editor.

### 2. Can I add blocks inside tabs?
Absolutely. Each tab panel is a container for any core or third-party block.

### 3. Is this plugin mobile-friendly?
Yes. Tabs automatically become scrollable or stacked on small screens.

### 4. Can I use the Tabs Block inside Columns or Groups?
Yes. It supports full nesting and alignment control.

### 5. Does it require JavaScript libraries?
No. Tabs Block uses **WordPress’s Interactivity API**, eliminating dependency on jQuery.

### 6. How do I change colors and typography?
Use the built-in WordPress color, typography, and border tools under the block sidebar.

### 7. Can I create my own tab templates?
Yes. You can save a Tabs Block setup as a Reusable Block or pattern and reuse it across posts.

### 8. How do I make vertical tabs?
Select the Tabs Block → under Layout settings → choose “Vertical”.

### 9. Why aren’t my tabs switching?
Ensure you’re on WordPress 6.5+ and your theme doesn’t override Interactivity API features.

### 10. Can I style tabs using CSS?
Yes. Each tab and panel has a unique class name for custom styling.

### 11. Is it compatible with caching plugins?
Yes. Tabs Block doesn’t rely on AJAX or dynamic requests, so caching won’t affect functionality.

== Screenshots ==
1. **Editor Settings** – Customize tab layouts in the Block Editor sidebar.  
2. **Responsive Preview** – Tabs adapt automatically for mobile, tablet, and desktop.  
3. **Template Library** – Choose from multiple ready-to-use tab designs.  
4. **Frontend Example** – See how responsive tabs render beautifully on your site.

== Installation ==

= Automatic =
1. Log in to your WordPress dashboard.
2. Navigate to Plugins > Add New.
3. In the search field, type “Tabs Block for Gutenberg”, then click Search Plugins.
4. Click Install Now, then Activate.

= Manual =
1. Download the BlaBlaBlocks Tabs Block plugin.
2. Upload it to your server via FTP under `/wp-content/plugins/`.
3. Activate it through the Plugins screen in WordPress.

== Changelog ==

= 1.1.3 =
* Fix: Resolved issue where Tabs gap was not applied when using spacing presets (e.g. small, medium, large). Preset values are now correctly converted to valid CSS variables like var(--wp--preset--spacing--*).
* Fix: Corrected rendering of rich text formats inside Tabs content. Rich formatting is now properly applied on the frontend instead of being output as raw HTML strings.

= 1.1.2 =
* Fix: Ensure tabId is always synced with clientId to prevent duplication issues by @thomasnavarro in [#32](https://github.com/lubusIN/blablablocks-tabs-block/pull/32)

= 1.1.1 =
* Fix: Escape special characters in tab titles to prevent block crash [#30](https://github.com/lubusIN/blablablocks-tabs-block/pull/30)

= 1.1.0 =
* Fix: Site Editor constantly showing "Review changes" after inserting Tabs block [#27](https://github.com/lubusIN/blablablocks-tabs-block/issues/27)
* Bump plugin version to 1.1.0.
* Update "Tested up to" to 6.9.

= 1.0.0 =
* Initial release of Tabs Block for Gutenberg.
* Added responsive horizontal and vertical tab layouts.
* Built using WordPress Interactivity API for zero-dependency performance.
* Includes ready-to-use templates and accessible WCAG-compliant markup.