diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..1b8abd5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,75 @@ +name: Bug Report +description: File a bug report. +title: "[Bug]: " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to fill out this bug report! + - type: textarea + id: describe-the-bug + attributes: + label: Describe the bug + description: A clear and concise description of the bug. + placeholder: Tell us what went wrong. + validations: + required: true + - type: textarea + id: expected-behavior + attributes: + label: Expected behavior + description: What did you expect to happen? + placeholder: Describe the expected result. + validations: + required: true + - type: textarea + id: actual-behavior + attributes: + label: Actual behavior + description: What actually happened? + placeholder: Describe the actual result. + validations: + required: true + - type: textarea + id: steps + attributes: + label: Steps to reproduce + description: How can we reproduce this behavior? + placeholder: | + 1. Go to '...' + 2. Click on '...' + 3. See error + validations: + required: true + - type: textarea + id: environment-information + attributes: + label: Environment information + description: Share your operating environment details. + placeholder: | + OS: + Browser: + Plugin version: + validations: + required: false + - type: textarea + id: wordpress-environment + attributes: + label: WordPress Environment + description: Share your WordPress environment details. + placeholder: | + WordPress version: + PHP version: + Active theme: + Active plugins: + validations: + required: false + - type: checkboxes + id: terms + attributes: + label: Contribution Guidelines + description: By submitting this issue, you agree to follow our [contribution guidelines](https://github.com/rtCamp/rt-carousel/blob/main/docs/CONTRIBUTING.md). + options: + - label: I have read the contribution guidelines + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..c2218ca --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,6 @@ +blank_issues_enabled: false + +contact_links: + - name: Report a security vulnerability + url: https://github.com/rtCamp/rt-carousel/security/policy + about: Please use GitHub Security Advisories to privately report vulnerabilities diff --git a/.github/ISSUE_TEMPLATE/enhancement.yml b/.github/ISSUE_TEMPLATE/enhancement.yml new file mode 100644 index 0000000..10d6329 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/enhancement.yml @@ -0,0 +1,33 @@ +name: Enhancement +description: Suggest an idea for this project. +title: "[Enhancement]: " +labels: ["enhancement"] +body: + - type: textarea + id: feature-description + attributes: + label: Feature description + description: Describe the feature or improvement you'd like. + validations: + required: true + - type: textarea + id: problem + attributes: + label: Problem it solves + description: Explain the problem this feature would solve. + validations: + required: true + - type: textarea + id: alternatives + attributes: + label: Describe alternatives you've considered + description: Describe any alternative solutions or approaches you've considered. + validations: + required: false + - type: textarea + id: context + attributes: + label: Additional context + description: Add any context, examples, or screenshots. + validations: + required: false diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..9b05fc2 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,53 @@ +## Summary + +Describe the change and why it is needed. + +## Type of change + +- [ ] Bug fix +- [ ] New feature +- [ ] Enhancement/refactor +- [ ] Documentation update +- [ ] Test update +- [ ] Build/CI/tooling + +## Related issue(s) + + + +Closes # +Relates to # (if applicable) + +## What changed + +- +- +- + +## Breaking changes + +Does this introduce a breaking change? If yes, describe the impact and migration path below. + +- [ ] Yes — migration path: +- [ ] No + +## Testing + +Describe how this was tested. + +- [ ] Unit tests +- [ ] Manual testing +- [ ] Cross-browser testing (if UI changes) + +Test details: + +## Screenshots / recordings + +If applicable, add screenshots or short recordings. + +## Checklist + +- [ ] I have self-reviewed this PR +- [ ] I have added/updated tests where needed +- [ ] I have updated docs where needed +- [ ] I have checked for breaking changes diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9179545..36a5b17 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,7 +40,7 @@ jobs: tag_name: v${{ steps.get_version.outputs.VERSION }} name: v${{ steps.get_version.outputs.VERSION }} generate_release_notes: true - files: carousel-kit.zip + files: rt-carousel.zip env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.gitignore b/.gitignore index 5000c74..d546272 100644 --- a/.gitignore +++ b/.gitignore @@ -36,4 +36,4 @@ phpstan.neon # Build build/ tsconfig.tsbuildinfo -carousel-kit.zip +rt-carousel.zip diff --git a/.wp-env.json b/.wp-env.json new file mode 100644 index 0000000..c13da34 --- /dev/null +++ b/.wp-env.json @@ -0,0 +1,6 @@ +{ + "$schema": "https://schemas.wp.org/trunk/wp-env.json", + "plugins": [ "." ], + "testsEnvironment": false, + "phpmyadminPort": 9000 +} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index ca75fc2..deaf38b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,28 @@ +# Changelog + +## [1.1.0](https://github.com/rtCamp/rt-carousel/compare/v1.0.4...v1.1.0) (2026-04-08) + + +### Bug Fixes + +* add initialized state to CarouselContext to track carousel initialization ([#92](https://github.com/rtCamp/rt-carousel/issues/92)) ([71de050](https://github.com/rtCamp/rt-carousel/commit/71de050aae8ff55f82b61a02440f8ccd42b63d76)) +* exclude composer.json and composer.lock from distribution package ([#99](https://github.com/rtCamp/rt-carousel/issues/99)) ([a1308c6](https://github.com/rtCamp/rt-carousel/commit/a1308c6581faa68e7b68a4c2e29c78110a1670f9)) +* restore vertical scroll for Query Loop carousel ([#104](https://github.com/rtCamp/rt-carousel/issues/104)) ([1d16ee6](https://github.com/rtCamp/rt-carousel/commit/1d16ee6f6ac068524998f33c20fdab39638ead3f)) +* **controls:** block toolbar persists when selected block moves out of view in carousel ([#106](https://github.com/rtCamp/rt-carousel/issues/106)) ([dec79c8](https://github.com/rtCamp/rt-carousel/commit/dec79c8)) + + +### Features + +* add support for the carousel progress bar ([#88](https://github.com/rtCamp/rt-carousel/issues/88)) ([edc8699](https://github.com/rtCamp/rt-carousel/commit/edc8699)) +* support vertical alignment on carousel slide ([#87](https://github.com/rtCamp/rt-carousel/issues/87)) ([f73890e](https://github.com/rtCamp/rt-carousel/commit/f73890e)) +* add wp-env configuration for WP development setup ([#109](https://github.com/rtCamp/rt-carousel/issues/109)) ([dcccaf7](https://github.com/rtCamp/rt-carousel/commit/dcccaf79747cf84811a7907e68df01d2aaeb7030)) + + +### Refactors + +* rename plugin from "Carousel Kit" to "rtCarousel" with automatic block content migration ([#101](https://github.com/rtCamp/rt-carousel/pull/101)) ([9788ed7](https://github.com/rtCamp/rt-carousel/commit/9788ed7)) + + ## [1.0.4](https://github.com/rtCamp/carousel-kit/compare/v1.0.3...v1.0.4) (2026-03-09) ### Bug Fixes @@ -60,14 +85,14 @@ * slide appender and setup ([a42331d](https://github.com/rtCamp/carousel-kit/commit/a42331d10b225379408ddf8c0649e83484496a1e)) -# [1.0.1](https://github.com/rtCamp/carousel-kit/compare/v1.0.0...v1.0.1) (2026-02-16) +## [1.0.1](https://github.com/rtCamp/carousel-kit/compare/v1.0.0...v1.0.1) (2026-02-16) ### Bug Fixes * **carousel:** resolve spacing issues in loop mode where gaps were missing between last and first slide * **carousel:** allow infinite loop in editor viewport to match frontend behavior -# 1.0.0 (2026-02-03) +## 1.0.0 (2026-02-03) ### Bug Fixes diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 1188ff2..7ed8f37 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -12,6 +12,52 @@ make dev npm start ``` +## Local WordPress Environment + +To test this plugin, you’ll need a working WordPress installation. If you already have a local WordPress environment set up, you can use this build like any standard plugin—simply place the plugin directory inside your wp-content/plugins/ folder and activate it from the admin dashboard. + +If you don’t already have a local environment, you can quickly set one up using Docker and wp-env by following the steps below. + +### Using Docker and wp-env + +Install the wp-env package globally: + +```bash +npm install -g @wordpress/env +``` + +Ensure Docker is running, then start wp-env from within the plugin directory: + +```bash +wp-env start +``` + +This command spins up a Docker-based WordPress environment using the latest image and mounts your local plugin code into it as a volume. As a result, any changes you make locally are instantly reflected in the running WordPress instance, and are persisted. + +If the setup completes successfully, you should see output similar to the following in your terminal: + +```bash +WordPress development site started at http://localhost:8888 +MySQL is listening on port 61440 +phpMyAdmin started at http://localhost:9000 + + ✔ Done! (in 23s 90ms) +``` + +To stop the running environment: + +```bash +wp-env stop +``` + +#### Accessing the Environment + +The WordPress site should now be accessible at + +You can access the Dashboard at: using Username: admin, Password: password. You'll notice that the plugin is installed and activated. This is your local build. Any changes you make to the plugin code will be reflected here. + +You can read more about wp-env and its configuration in the [official documentation](https://github.com/WordPress/gutenberg/blob/trunk/packages/env/README.md). + ## Available Commands ### Build & Watch @@ -48,7 +94,7 @@ npm start | :--- | :--- | | `npm run changelog` | Generates/Updates `CHANGELOG.md` based on commits. | | `npm run version` | Internal hook used by `npm version` to update changelog and stage it. | -| `npm version [major|minor|patch]` | Bumps version in `package.json`, updates `CHANGELOG.md`, and creates a git tag. | +| `npm version [major\|minor\|patch]` | Bumps version in `package.json`, updates `CHANGELOG.md`, and creates a git tag. | ## Local GitHub Actions (act) @@ -69,7 +115,7 @@ npm run test:actions ## Directory Structure - `src/` - Source code for blocks (React/TypeScript/SCSS). -- `inc/` - PHP classes and traits (PSR-4 `Carousel_Kit`). +- `inc/` - PHP classes and traits (PSR-4 `Rt_Carousel`). - `build/` - Compiled assets (generated by `npm run build`). - `docs/` - Documentation files. - `examples/` - Block patterns and examples. diff --git a/Makefile b/Makefile index 3a9efba..7028878 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # Configuration -PLUGIN_SLUG := carousel-kit +PLUGIN_SLUG := rt-carousel BUILD_DIR := build-dist ZIP_NAME := $(PLUGIN_SLUG).zip @@ -43,7 +43,7 @@ dist: @echo "Creating distribution package..." @rm -rf $(BUILD_DIR) @mkdir -p $(BUILD_DIR)/$(PLUGIN_SLUG) - + @# Copy Files @rsync -r \ --exclude='.*' \ @@ -61,8 +61,6 @@ dist: --exclude='package-lock.json' \ --exclude='blueprint.json' \ --exclude='tsconfig.json' \ - --exclude='composer.json' \ - --exclude='composer.lock' \ --exclude='Makefile' \ --exclude='CHANGELOG.md' \ --exclude='DEVELOPMENT.md' \ @@ -70,7 +68,7 @@ dist: --exclude='$(BUILD_DIR)' \ --exclude='*.zip' \ ./ $(BUILD_DIR)/$(PLUGIN_SLUG)/ - + @echo "Zipping..." @cd $(BUILD_DIR) && zip -r ../$(ZIP_NAME) $(PLUGIN_SLUG) @echo "Done! Plugin zip created at $(ZIP_NAME)" diff --git a/README.md b/README.md index 3e54097..0c9eaa5 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ -# Carousel Kit +# rtCarousel -![Build Status](https://github.com/rtCamp/carousel-kit/actions/workflows/release.yml/badge.svg?branch=main) -![Latest Release](https://img.shields.io/github/v/release/rtCamp/carousel-kit) +![Build Status](https://github.com/rtCamp/rt-carousel/actions/workflows/release.yml/badge.svg?branch=main) +![Latest Release](https://img.shields.io/github/v/release/rtCamp/rt-carousel) **A modular, high-performance carousel block for WordPress, powered by the Interactivity API and Embla Carousel.** @@ -37,7 +37,7 @@ Easily create dynamic, accessible, and customizable carousels for any content ty ## Browser Support -Carousel Kit supports all modern browsers: +rtCarousel supports all modern browsers: | Browser | Minimum Version | | ------- | --------------- | @@ -62,7 +62,7 @@ The plugin provides a suite of blocks that work together: ### Does it work with Full Site Editing (FSE)? -Yes! Carousel Kit is fully compatible with Full Site Editing. You can use the carousel block in templates, template parts, and anywhere blocks are supported. +Yes! rtCarousel is fully compatible with Full Site Editing. You can use the carousel block in templates, template parts, and anywhere blocks are supported. ### Can I nest other blocks inside slides? @@ -82,7 +82,7 @@ Yes. Each carousel instance maintains its own independent state. ### What data is removed on uninstall? -On uninstall, Carousel Kit removes its cached pattern transient (`carousel_kit_patterns_cache`). It does not remove your posts or block content. +On uninstall, rtCarousel removes its cached pattern transient (`rt_carousel_patterns_cache`). It does not remove your posts or block content. ## Changelog @@ -90,11 +90,11 @@ See [CHANGELOG.md](CHANGELOG.md) for full release history. ## Live Demo -[**🚀 Try the Interactive Demo in WordPress Playground**](https://playground.wordpress.net/?blueprint-url=https://raw.githubusercontent.com/rtCamp/carousel-kit/main/blueprint.json) +[**🚀 Try the Interactive Demo in WordPress Playground**](https://playground.wordpress.net/?blueprint-url=https://raw.githubusercontent.com/rtCamp/rt-carousel/main/blueprint.json) ## Feature Request -Have a feature request? [Open an issue](https://github.com/rtCamp/carousel-kit/issues) on GitHub. +Have a feature request? [Open an issue](https://github.com/rtCamp/rt-carousel/issues) on GitHub. ## Contributors diff --git a/blueprint.json b/blueprint.json index 858566e..a67ecc9 100644 --- a/blueprint.json +++ b/blueprint.json @@ -10,7 +10,7 @@ "step": "installPlugin", "pluginData": { "resource": "url", - "url": "https://github.com/rtCamp/carousel-kit/releases/latest/download/carousel-kit.zip" + "url": "https://github.com/rtCamp/rt-carousel/releases/latest/download/rt-carousel.zip" } }, { @@ -21,12 +21,12 @@ "step": "importWxr", "file": { "resource": "url", - "url": "https://raw.githubusercontent.com/rtCamp/carousel-kit/main/examples/data/carousel-kit.xml" + "url": "https://raw.githubusercontent.com/rtCamp/rt-carousel/main/examples/data/rt-carousel.xml" } }, { "step": "runPHP", - "code": "ID); } global $wpdb; $wpdb->query(\"UPDATE $wpdb->posts SET post_content = REPLACE(post_content, 'http://carousel-demo.local', '\" . site_url() . \"')\"); $nav_id = $wpdb->get_var(\"SELECT ID FROM $wpdb->posts WHERE post_type = 'wp_navigation' AND (post_name = 'navigation' OR post_title = 'Navigation') LIMIT 1\"); if ($nav_id && $nav_id != 4) { $old_ref = 'ref' . chr(34) . ':4'; $new_ref = 'ref' . chr(34) . ':' . $nav_id; $wpdb->query($wpdb->prepare(\"UPDATE $wpdb->posts SET post_content = REPLACE(post_content, %s, %s)\", $old_ref, $new_ref)); } if (function_exists('wp_cache_flush')) wp_cache_flush(); ?>" + "code": "ID); } global $wpdb; $wpdb->query(\"UPDATE $wpdb->posts SET post_content = REPLACE(post_content, 'http://carousel-demo.local', '\" . site_url() . \"')\"); $nav_id = $wpdb->get_var(\"SELECT ID FROM $wpdb->posts WHERE post_type = 'wp_navigation' AND (post_name = 'navigation' OR post_title = 'Navigation') LIMIT 1\"); if ($nav_id && $nav_id != 4) { $old_ref = 'ref' . chr(34) . ':4'; $new_ref = 'ref' . chr(34) . ':' . $nav_id; $wpdb->query($wpdb->prepare(\"UPDATE $wpdb->posts SET post_content = REPLACE(post_content, %s, %s)\", $old_ref, $new_ref)); } if (function_exists('wp_cache_flush')) wp_cache_flush(); ?>" } ] } \ No newline at end of file diff --git a/carousel-kit.php b/carousel-kit.php deleted file mode 100644 index 48a9498..0000000 --- a/carousel-kit.php +++ /dev/null @@ -1,49 +0,0 @@ - @@ -78,8 +78,8 @@ Highlight slide content when active using the `callbacks.isSlideActive` helper. ### Editor Interactivity: "Find & Bind" Gutenberg's `InnerBlocks` can isolate React Contexts, causing state sync issues between parent and deeply nested children in the editor. To guarantee reliable interactivity: -1. **Attach**: The Viewport component attaches the vanilla Embla instance directly to its DOM node using a Symbol key: `element[Symbol.for("carousel-kit.carousel")] = embla`. -2. **Find**: Child components (Controls/Dots) attempt to find the API via Context first. If missing, they traverse the DOM up to the common wrapper (`.carousel-kit`) and then search for the sibling `.embla` viewport. +1. **Attach**: The Viewport component attaches the vanilla Embla instance directly to its DOM node using a Symbol key: `element[Symbol.for("rt-carousel.carousel")] = embla`. +2. **Find**: Child components (Controls/Dots) attempt to find the API via Context first. If missing, they traverse the DOM up to the common wrapper (`.rt-carousel`) and then search for the sibling `.embla` viewport. 3. **Bind**: A retry mechanism (`setTimeout` + `useEffect`) ensures the Viewport has finished initializing before binding listeners. ### Dots Implementation diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index e40a8c8..02f0b17 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -1,4 +1,4 @@ -# Contributing to Carousel Kit +# Contributing to rtCarousel Thank you for your interest in contributing! We welcome all contributions, from bug reports to feature requests and code changes. @@ -38,4 +38,4 @@ To create a production-ready ZIP file: make zip ``` -This will create `carousel-kit.zip` in the project root, optimized for distribution (no dev dependencies). +This will create `rt-carousel.zip` in the project root, optimized for distribution (no dev dependencies). diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index e18f765..67aff8a 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -5,7 +5,7 @@ - PHP 8.2 or higher ## Manual Installation -1. Download the `carousel-kit.zip` file from the [Releases](https://github.com/rtCamp/carousel-kit/releases) page. +1. Download the `rt-carousel.zip` file from the [Releases](https://github.com/rtCamp/rt-carousel/releases) page. 2. Log in to your WordPress admin dashboard. 3. Go to **Plugins > Add New Plugin**. 4. Click **Upload Plugin**. @@ -21,7 +21,7 @@ "repositories": [ { "type": "vcs", - "url": "https://github.com/rtCamp/carousel-kit" + "url": "https://github.com/rtCamp/rt-carousel" } ] ``` @@ -29,5 +29,5 @@ 2. **Run the installation command (stable release):** ```bash - composer require rtcamp/carousel-kit:^1.0 + composer require rtcamp/rt-carousel:^1.0 ``` diff --git a/docs/THEMING.md b/docs/THEMING.md index c88498d..791e02a 100644 --- a/docs/THEMING.md +++ b/docs/THEMING.md @@ -7,32 +7,32 @@ Easily theme the carousel using CSS variables or block supports. Navigation bloc ### Core Layout | Variable | Description | | :--- | :--- | -| `--carousel-kit-gap` | Controlled by the `slideGap` attribute. Applied as margin to slides. | -| `--carousel-kit-slide-width` | Controls the width of each slide. Defaults to 100% or set by column variants. | +| `--rt-carousel-gap` | Controlled by the `slideGap` attribute. Applied as margin to slides. | +| `--rt-carousel-slide-width` | Controls the width of each slide. Defaults to 100% or set by column variants. | ### Controls (Buttons) | Variable | Default | Description | | ----------------------------------------- | ------------------------------------- | --------------------------- | -| `--carousel-kit-control-bg` | `unset` | Background color of buttons | -| `--carousel-kit-control-color` | `inherit` | Icon color | -| `--carousel-kit-control-size` | `2.5rem` | Width/Height of buttons | -| `--carousel-kit-control-padding` | `0.5rem` | Padding inside buttons | -| `--carousel-kit-control-border` | `1.25px solid rgba(28, 28, 28, 0.3)` | Border style | -| `--carousel-kit-control-radius` | `1rem` | Border radius | -| `--carousel-kit-control-bg-hover` | `rgba(248, 248, 248, 1)` | Background on hover | -| `--carousel-kit-control-border-hover` | `1.25px solid rgba(28, 28, 28, 0.75)` | Border on hover | -| `--carousel-kit-control-color-hover` | `inherit` | Icon color on hover | +| `--rt-carousel-control-bg` | `unset` | Background color of buttons | +| `--rt-carousel-control-color` | `inherit` | Icon color | +| `--rt-carousel-control-size` | `2.5rem` | Width/Height of buttons | +| `--rt-carousel-control-padding` | `0.5rem` | Padding inside buttons | +| `--rt-carousel-control-border` | `1.25px solid rgba(28, 28, 28, 0.3)` | Border style | +| `--rt-carousel-control-radius` | `50%` | Border radius | +| `--rt-carousel-control-bg-hover` | `rgba(248, 248, 248, 1)` | Background on hover | +| `--rt-carousel-control-border-hover` | `1.25px solid rgba(28, 28, 28, 0.75)` | Border on hover | +| `--rt-carousel-control-color-hover` | `inherit` | Icon color on hover | ### Dots (Pagination) | Variable | Default | Description | | ------------------------------------- | --------------------- | ---------------------- | -| `--carousel-kit-dots-gap` | `0.5rem` | Gap between dots | -| `--carousel-kit-dot-size` | `0.5rem` | Size of inactive dots | -| `--carousel-kit-dot-color` | `rgb(221, 221, 221)` | Color of inactive dots | -| `--carousel-kit-dot-radius` | `50%` | Shape of the dots | -| `--carousel-kit-dot-border` | `none` | Border style for dots | -| `--carousel-kit-dot-active-size` | `0.75rem` | Size of active dot | -| `--carousel-kit-dot-active-color` | `rgba(28, 28, 28, 1)` | Color of active dot | +| `--rt-carousel-dots-gap` | `0.5rem` | Gap between dots | +| `--rt-carousel-dot-size` | `0.5rem` | Size of inactive dots | +| `--rt-carousel-dot-color` | `rgb(221, 221, 221)` | Color of inactive dots | +| `--rt-carousel-dot-radius` | `50%` | Shape of the dots | +| `--rt-carousel-dot-border` | `none` | Border style for dots | +| `--rt-carousel-dot-active-scale` | `1.5` | Scale multiplier for active dot (unitless) | +| `--rt-carousel-dot-active-color` | `rgba(28, 28, 28, 1)` | Color of active dot | ## Overriding Styles @@ -41,9 +41,9 @@ You can override these variables globally in your theme's stylesheet or via `the ### Global CSS (`style.css`) ```css :root { - --carousel-kit-control-bg: #000000; - --carousel-kit-dot-active-color: #ff0000; - --carousel-kit-gap: 20px; + --rt-carousel-control-bg: #000000; + --rt-carousel-dot-active-color: #ff0000; + --rt-carousel-gap: 20px; } ``` @@ -52,8 +52,8 @@ You can override these variables globally in your theme's stylesheet or via `the { "styles": { "blocks": { - "carousel-kit/carousel": { - "css": "--carousel-kit-control-bg: #000000;" + "rt-carousel/carousel": { + "css": "--rt-carousel-control-bg: #000000;" } } } diff --git a/docs/USAGE.md b/docs/USAGE.md index 8918d62..dce47df 100644 --- a/docs/USAGE.md +++ b/docs/USAGE.md @@ -2,7 +2,7 @@ ## Block Configuration -### Parent Block: `carousel-kit/carousel` +### Parent Block: `rt-carousel/carousel` The parent block acts as the controller and wrapper. It handles configuration, state, and context for all child blocks. #### Attributes @@ -31,15 +31,15 @@ The parent block acts as the controller and wrapper. It handles configuration, s ### Creating Restricted Carousels To create a specialized carousel (e.g., testimonials only), set the `allowedSlideBlocks` attribute on the parent block: -```json - +```html + - - + + - - - + + + ``` --- @@ -62,5 +62,5 @@ You can create dynamic post sliders or content carousels using the WordPress Que | Use Case | Recommended Block | | :--- | :--- | | Dynamic Content (Posts, Pages, Products, Custom Post Types) | Query Loop (`core/query`) | -| Static Content (Hero Slider, Logo Showcase, Manual Testimonials) | Carousel Slide (`carousel-kit/carousel-slide`) | -| Mixed Content (Slide 1 is a Video, Slide 2 is Text) | Carousel Slide (`carousel-kit/carousel-slide`) | +| Static Content (Hero Slider, Logo Showcase, Manual Testimonials) | Carousel Slide (`rt-carousel/carousel-slide`) | +| Mixed Content (Slide 1 is a Video, Slide 2 is Text) | Carousel Slide (`rt-carousel/carousel-slide`) | diff --git a/examples/data/carousel-kit.xml b/examples/data/rt-carousel.xml similarity index 53% rename from examples/data/carousel-kit.xml rename to examples/data/rt-carousel.xml index 4aa073b..d9d3263 100644 --- a/examples/data/carousel-kit.xml +++ b/examples/data/rt-carousel.xml @@ -20,7 +20,7 @@ -Carousel Kit by rtCamp +rtCarousel by rtCamp http://carousel-demo.local Carousel system built for WordPress using Interactivity API Mon, 16 Feb 2026 22:47:19 +0000 @@ -347,16 +347,16 @@ http://carousel-demo.local/?page_id=9 -

What is Carousel Kit?

+

What is rtCarousel?

-

Carousel Kit is a an Interactivity API-powered carousel system built for the WordPress Block Editor. It is designed for enterprise-grade performance and extensibility.

+

rtCarousel is a an Interactivity API-powered carousel system built for the WordPress Block Editor. It is designed for enterprise-grade performance and extensibility.

@@ -368,16 +368,16 @@

Examples

- -