Plugin Directory

Changeset 3446823


Ignore:
Timestamp:
01/26/2026 05:26:28 AM (3 weeks ago)
Author:
digitalapps
Message:

1.4.0

Location:
wp-swiper/trunk
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • wp-swiper/trunk/README.txt

    r3431465 r3446823  
    55Requires at least: 3.0.1
    66Tested up to: 6.9
    7 Stable tag: 1.13.12
     7Stable tag: 1.4.0
    88License: GPLv2 or later
    99License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    149149
    150150== Changelog ==
    151 = 1.4.0-beta.1 =
    152 * NEW: Drag and drop photos to create slides automatically
    153 * NEW: Enhanced autoplay controls with additional options
    154 * NEW: Customizable navigation colors for arrows and buttons
    155 * NEW: Add overlays to slides with color and opacity controls
    156 * IMPROVEMENT: Better user experience for slide creation workflow
    157 * BETA: This is a beta release - please test and provide feedback
     151= 1.4.0 =
     152* **Swiper Bundle Update**: Upgraded Swiper to version **v12.0.2** for improved performance and features
     153* **UI Modernization**: Complete overhaul of block editor interface with modern design patterns
     154  - CSS custom properties for consistent theming
     155  - Modern tab navigation with pill-style active states
     156  - Card-like container with subtle shadows and rounded corners
     157  - Smooth transitions and animations
     158  - Improved visual hierarchy and spacing
     159  - Create slides from drop zone images
     160  - Better drop zone feedback with hover/drag animations
     161  - Modern gradient-based remove buttons
     162  - Prepared for future dark mode support
     163* **Bug Fixes**:
     164  - Fixed ReferenceError for reverseDirection, stopOnLastSlide, and waitForTransition variables in slides block
     165  - Fixed block validation error caused by conditional overlay style rendering
     166  - Improved attribute handling in save functions
    158167
    159168= 1.3.10 =
  • wp-swiper/trunk/build/blocks/slide/block.json

    r3428937 r3446823  
    22  "apiVersion": 3,
    33  "name": "da/wp-swiper-slide",
     4  "icon": {
     5    "src": "<svg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'><rect x='3' y='5' width='18' height='14' rx='2' fill='none' stroke='currentColor' stroke-width='2'/><circle cx='8' cy='10' r='1.5' fill='currentColor'/><path d='M3 15 L8 11 L12 14 L16 10 L21 14 L21 17 C21 18.1 20.1 19 19 19 L5 19 C3.9 19 3 18.1 3 17 Z' fill='currentColor' opacity='0.4'/></svg>"
     6  },
    47  "parent": [
    58    "da/wp-swiper-slides"
  • wp-swiper/trunk/build/blocks/slides/block.json

    r3428937 r3446823  
    1717      "default": ""
    1818    },
    19     "txtColor": {
    20       "type": "string"
    21     },
    2219    "overlayColor": {
    2320      "type": "object",
     
    181178      "default": true
    182179    },
     180    "sliderHeight": {
     181      "type": "string",
     182      "default": "500px"
     183    },
    183184    "freeMode": {
    184185      "type": "boolean",
     
    224225      "type": "boolean",
    225226      "default": false
     227    },
     228    "navigationColor": {
     229      "type": "string",
     230      "default": ""
     231    },
     232    "paginationColor": {
     233      "type": "string",
     234      "default": ""
    226235    }
    227236  }
  • wp-swiper/trunk/build/frontend-rtl.css

    r3428937 r3446823  
    1 /*!*************************************************************************************************************************************************************************************************************************************************!*\
    2   !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/styles/frontend.scss ***!
    3   \*************************************************************************************************************************************************************************************************************************************************/
    4 .wp-swiper {
    5   position: relative;
    6 }
    7 .wp-swiper .wp_swiper__button-prev img,
    8 .wp-swiper .wp_swiper__button-next img {
    9   width: 45px;
    10   height: 45px;
    11 }
    12 .wp-swiper .wp_swiper__button-prev::after,
    13 .wp-swiper .wp_swiper__button-next::after {
    14   content: none;
    15 }
    16 .wp-swiper > .wp-swiper__wrapper {
    17   position: relative;
    18   margin-bottom: 10px;
    19 }
    20 .wp-swiper__thumbs {
    21   overflow: hidden;
    22 }
    23 .wp-swiper__thumbs img {
    24   width: 100%;
    25   height: 100%;
    26   -o-object-fit: cover;
    27      object-fit: cover;
    28   cursor: pointer;
    29 }
    30 .wp-swiper__thumbs .wp-swiper__thumb {
    31   box-sizing: border-box;
    32   height: 100px;
    33   width: 100px;
    34   overflow: hidden;
    35 }
    36 .wp-swiper.is-style-overlayed-text-right .wp-swiper__slide-content .wp-block-columns .wp-block-column:first-child {
    37   margin-left: 30%;
    38 }
    39 .wp-swiper.is-style-overlayed-text-right .wp-swiper__slide-content .wp-block-columns .wp-block-column:last-child {
    40   position: absolute;
    41   background: white;
    42   z-index: 1;
    43   max-width: 40%;
    44   left: 0;
    45   right: auto;
    46   padding: 40px;
    47 }
    48 .wp-swiper.is-style-overlayed-text-right .swiper-button-prev {
    49   top: unset;
    50   bottom: 10%;
    51   right: auto;
    52   left: calc(var(--swiper-navigation-size) + 20px);
    53 }
    54 .wp-swiper.is-style-overlayed-text-right .swiper-button-next {
    55   top: unset;
    56   bottom: 10%;
    57 }
    58 .wp-swiper.is-style-overlayed-text-right .wp_swiper__button-prev img,
    59 .wp-swiper.is-style-overlayed-text-right .wp_swiper__button-next img {
    60   width: 36px;
    61   height: 36px;
    62 }
    63 .wp-swiper.is-style-overlayed-text-right .wp_swiper__button-prev::after,
    64 .wp-swiper.is-style-overlayed-text-right .wp_swiper__button-next::after {
    65   content: none;
    66 }
    67 .wp-swiper.is-style-thumbnails-bottom-right .swiper-pagination-bullets.swiper-pagination-horizontal {
    68   width: auto;
    69   right: 2%;
    70 }
    71 .wp-swiper.is-style-thumbnails-bottom-right .swiper-button-prev {
    72   top: 110%;
    73   right: 20px;
    74 }
    75 .wp-swiper.is-style-thumbnails-bottom-right .swiper-button-next {
    76   top: 110%;
    77   left: auto;
    78   right: calc(var(--swiper-navigation-size) + 40px);
    79 }
    80 .wp-swiper.is-style-thumbnails-bottom-right .wp-swiper__thumbs {
    81   position: absolute;
    82   left: 5%;
    83   width: 50%;
    84   transform: translateY(-50%);
    85   z-index: 1;
    86 }
    87 .wp-swiper.is-style-thumbnails-bottom-right .wp-swiper__thumbs .swiper-slide {
    88   border: 2px solid transparent;
    89 }
    90 .wp-swiper.is-style-thumbnails-bottom-right .wp-swiper__thumbs .swiper-slide.swiper-slide-thumb-active {
    91   border: 2px solid white;
    92 }
    93 .wp-swiper.is-style-testimonials {
    94   position: relative;
    95 }
    96 .wp-swiper.is-style-testimonials .wp-swiper__quotes {
    97   opacity: 0.1;
    98   position: absolute;
    99   top: 0;
    100 }
    101 .wp-swiper.is-style-testimonials .wp-swiper__quotes svg {
    102   width: 128px;
    103   height: 128px;
    104 }
    105 .wp-swiper.is-style-testimonials .swiper-pagination {
    106   position: relative;
    107 }
    108 .wp-swiper.is-style-testimonials .swiper-pagination-bullet {
    109   width: 16px;
    110   height: 16px;
    111 }
    112 .wp-swiper.is-style-testimonials .swiper-pagination-bullet-active {
    113   background-color: #000000;
    114 }
    115 .wp-swiper.is-style-testimonials .wp-swiper__wrapper {
    116   padding-right: 80px;
    117   padding-left: 80px;
    118 }
    119 .wp-swiper.is-style-testimonials .wp-swiper__slide-content p {
    120   font-size: 22px;
    121 }
    122 .wp-swiper.is-style-testimonials .swiper-button-prev svg,
    123 .wp-swiper.is-style-testimonials .swiper-button-next svg {
    124   fill: #000000;
    125   width: 32px;
    126   height: 32px;
    127 }
    128 .wp-swiper--halign-left {
    129   align-items: flex-start;
    130 }
    131 .wp-swiper--halign-center {
    132   align-items: center;
    133 }
    134 .wp-swiper--halign-right {
    135   align-items: flex-end;
    136 }
    137 .wp-swiper--valign-left {
    138   justify-content: flex-start;
    139 }
    140 .wp-swiper--valign-center {
    141   justify-content: center;
    142 }
    143 .wp-swiper--valign-right {
    144   justify-content: flex-end;
    145 }
    146 .wp-swiper .swiper-container-autoheight .swiper-slide {
    147   height: 100%;
    148 }
    149 .wp-swiper .swiper-overflow-visible {
    150   overflow: visible !important;
    151 }
    152 .wp-swiper__overlay-color {
    153   position: absolute;
    154   right: 0;
    155   top: 0;
    156   left: 0;
    157   bottom: 0;
    158   z-index: 4;
    159 }
    160 .wp-swiper__overlay-img {
    161   position: absolute;
    162   right: 0;
    163   top: 0;
    164   left: 0;
    165   bottom: 0;
    166   background-position: center;
    167   background-repeat: no-repeat;
    168   background-size: contain;
    169   pointer-events: none;
    170   z-index: 5;
    171 }
    172 .wp-swiper__slide .wp-swiper__slide-content {
    173   position: relative;
    174   box-sizing: border-box;
    175   width: 100%;
    176   margin-right: auto;
    177   margin-left: auto;
    178   z-index: 5;
    179 }
    180 @media (max-width: 768px) {
    181   .wp-swiper.is-style-testimonials .wp-swiper__wrapper {
    182     padding-right: 0;
    183     padding-left: 0;
    184   }
    185   .swiper-button-next,
    186   .swiper-button-prev {
    187     display: none !important;
    188   }
    189 }
     1.wp-swiper{position:relative}.wp-swiper__thumbs{overflow:hidden}.wp-swiper__thumbs img{cursor:pointer;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.wp-swiper__thumbs .wp-swiper__thumb{box-sizing:border-box;height:100px;overflow:hidden;width:100px}.wp-swiper.is-style-overlayed-text-right .wp-swiper__slide-content .wp-block-columns .wp-block-column:first-child{margin-left:30%}.wp-swiper.is-style-overlayed-text-right .wp-swiper__slide-content .wp-block-columns .wp-block-column:last-child{background:#fff;right:auto;max-width:40%;padding:40px;position:absolute;left:0;z-index:1}.wp-swiper.is-style-overlayed-text-right .swiper-button-prev{bottom:10%;right:auto;left:calc(var(--swiper-navigation-size) + 20px);top:unset}.wp-swiper.is-style-overlayed-text-right .swiper-button-next{bottom:10%;top:unset}.wp-swiper.is-style-overlayed-text-right .wp_swiper__button-next img,.wp-swiper.is-style-overlayed-text-right .wp_swiper__button-prev img{height:36px;width:36px}.wp-swiper.is-style-overlayed-text-right .wp_swiper__button-next:after,.wp-swiper.is-style-overlayed-text-right .wp_swiper__button-prev:after{content:none}.wp-swiper.is-style-thumbnails-bottom-right .swiper-pagination-bullets.swiper-pagination-horizontal{right:2%;width:auto}.wp-swiper.is-style-thumbnails-bottom-right .swiper-button-prev{right:20px;top:110%}.wp-swiper.is-style-thumbnails-bottom-right .swiper-button-next{right:calc(var(--swiper-navigation-size) + 40px);left:auto;top:110%}.wp-swiper.is-style-thumbnails-bottom-right .wp-swiper__thumbs{position:absolute;left:5%;transform:translateY(-50%);width:50%;z-index:1}.wp-swiper.is-style-thumbnails-bottom-right .wp-swiper__thumbs .swiper-slide{border:2px solid transparent}.wp-swiper.is-style-thumbnails-bottom-right .wp-swiper__thumbs .swiper-slide.swiper-slide-thumb-active{border:2px solid #fff}.wp-swiper.is-style-testimonials{position:relative}.wp-swiper.is-style-testimonials .wp-swiper__quotes{opacity:.1;position:absolute;top:0}.wp-swiper.is-style-testimonials .wp-swiper__quotes svg{height:128px;width:128px}.wp-swiper.is-style-testimonials .swiper-pagination{position:relative}.wp-swiper.is-style-testimonials .swiper-pagination-bullet{height:16px;width:16px}.wp-swiper.is-style-testimonials .swiper-pagination-bullet-active{background-color:#000}.wp-swiper.is-style-testimonials .wp-swiper__wrapper{padding-right:80px;padding-left:80px}.wp-swiper.is-style-testimonials .wp-swiper__slide-content p{font-size:22px}.wp-swiper.is-style-testimonials .swiper-button-next svg,.wp-swiper.is-style-testimonials .swiper-button-prev svg{fill:#000;height:32px;width:32px}.wp-swiper--halign-left{align-items:flex-start}.wp-swiper--halign-center{align-items:center}.wp-swiper--halign-right{align-items:flex-end}.wp-swiper--valign-left{justify-content:flex-start}.wp-swiper--valign-center{justify-content:center}.wp-swiper--valign-right{justify-content:flex-end}.wp-swiper .swiper-container-autoheight .swiper-slide{height:100%}.wp-swiper .swiper-overflow-visible{overflow:visible!important}.wp-swiper__overlay-color{bottom:0;right:0;position:absolute;left:0;top:0;z-index:4}.wp-swiper__overlay-img{background-position:50%;background-repeat:no-repeat;background-size:contain;bottom:0;right:0;pointer-events:none;position:absolute;left:0;top:0;z-index:5}.wp-swiper__slide .wp-swiper__slide-content{box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:center;margin-right:auto;margin-left:auto;position:relative;width:100%;z-index:5}.wp-swiper__slide.is-position-bottom-center .wp-swiper__slide-content{justify-content:flex-end}.wp-swiper .swiper-button-next,.wp-swiper .swiper-button-prev{color:var(--wp-swiper-navigation-color,#000)}.wp-swiper .swiper-button-next svg,.wp-swiper .swiper-button-prev svg{fill:var(--wp-swiper-navigation-color,#000)}.wp-swiper .swiper-pagination-bullet-active,.wp-swiper .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background-color:var(--wp-swiper-pagination-color,#000)}@media(max-width:768px){.wp-swiper.is-style-testimonials .wp-swiper__wrapper{padding-right:0;padding-left:0}.swiper-button-next,.swiper-button-prev{display:none!important}}
  • wp-swiper/trunk/build/frontend.build.asset.php

    r3428937 r3446823  
    1 <?php return array('dependencies' => array(), 'version' => '93271732143fc7453ecc');
     1<?php return array('dependencies' => array(), 'version' => '2d72f515109409657331');
  • wp-swiper/trunk/build/frontend.build.js

    r3428937 r3446823  
    1 /******/ (() => { // webpackBootstrap
    2 /******/    "use strict";
    3 /******/    var __webpack_modules__ = ({
    4 
    5 /***/ "./src/styles/frontend.scss"
    6 /*!**********************************!*\
    7   !*** ./src/styles/frontend.scss ***!
    8   \**********************************/
    9 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    10 
    11 __webpack_require__.r(__webpack_exports__);
    12 // extracted by mini-css-extract-plugin
    13 
    14 
    15 /***/ }
    16 
    17 /******/    });
    18 /************************************************************************/
    19 /******/    // The module cache
    20 /******/    var __webpack_module_cache__ = {};
    21 /******/   
    22 /******/    // The require function
    23 /******/    function __webpack_require__(moduleId) {
    24 /******/        // Check if module is in cache
    25 /******/        var cachedModule = __webpack_module_cache__[moduleId];
    26 /******/        if (cachedModule !== undefined) {
    27 /******/            return cachedModule.exports;
    28 /******/        }
    29 /******/        // Check if module exists (development only)
    30 /******/        if (__webpack_modules__[moduleId] === undefined) {
    31 /******/            var e = new Error("Cannot find module '" + moduleId + "'");
    32 /******/            e.code = 'MODULE_NOT_FOUND';
    33 /******/            throw e;
    34 /******/        }
    35 /******/        // Create a new module (and put it into the cache)
    36 /******/        var module = __webpack_module_cache__[moduleId] = {
    37 /******/            // no module.id needed
    38 /******/            // no module.loaded needed
    39 /******/            exports: {}
    40 /******/        };
    41 /******/   
    42 /******/        // Execute the module function
    43 /******/        __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
    44 /******/   
    45 /******/        // Return the exports of the module
    46 /******/        return module.exports;
    47 /******/    }
    48 /******/   
    49 /************************************************************************/
    50 /******/    /* webpack/runtime/make namespace object */
    51 /******/    (() => {
    52 /******/        // define __esModule on exports
    53 /******/        __webpack_require__.r = (exports) => {
    54 /******/            if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
    55 /******/                Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
    56 /******/            }
    57 /******/            Object.defineProperty(exports, '__esModule', { value: true });
    58 /******/        };
    59 /******/    })();
    60 /******/   
    61 /************************************************************************/
    62 var __webpack_exports__ = {};
    63 // This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
    64 (() => {
    65 /*!*************************!*\
    66   !*** ./src/frontend.js ***!
    67   \*************************/
    68 __webpack_require__.r(__webpack_exports__);
    69 /* harmony import */ var _styles_frontend_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./styles/frontend.scss */ "./src/styles/frontend.scss");
    70 
    71 var wp_swiper = new function () {
    72   var self = this;
    73   self.init = function () {
    74     self.init_options();
    75   };
    76   self.getNumber = function (value, inital = 1) {
    77     return Number(value) ? Number(value) : inital;
    78   };
    79   this.JSONify = obj => {
    80     var o = {};
    81     for (var i in obj) {
    82       o['"' + i + '"'] = obj[i]; // make the quotes
    83     }
    84     return o;
    85   };
    86   self.init_options = function () {
    87     var wpSwipers = document.querySelectorAll('.wp-swiper');
    88     window.wpSwiper = [];
    89     window.wpSwiperThumbs = [];
    90     for (let i = 0; i < wpSwipers.length; i++) {
    91       let options = {};
    92       wpSwipers[i].classList.add(`wp-swiper--${i}`);
    93       let swiper_container = wpSwipers[i].querySelector('.swiper-container');
    94       let swiper_config = JSON.parse(swiper_container.getAttribute('data-swiper'));
    95       options = swiper_config;
    96 
    97       // Convert slidesPerView to integer if it's not 'auto'
    98       if (options.slidesPerView && options.slidesPerView !== 'auto') {
    99         options.slidesPerView = parseInt(options.slidesPerView, 10);
    100       }
    101       if (options.navigation) {
    102         options.navigation = {
    103           nextEl: `.wp-swiper--${i} .swiper-button-next`,
    104           prevEl: `.wp-swiper--${i} .swiper-button-prev`
    105         };
    106       }
    107       if (options.pagination) {
    108         options.pagination.el = wpSwipers[i].querySelector('.swiper-pagination');
    109       } else {
    110         options.pagination = false;
    111       }
    112       if (options.breakpoints) {
    113         if (typeof options.breakpoints === "string") {
    114           options.breakpoints = JSON.parse(options.breakpoints.replace(/\\/g, ''));
    115         }
    116       }
    117 
    118       // Swiper Thumbs
    119       if (swiper_container.hasAttribute('data-thumbs')) {
    120         let thumbsConfig = {
    121           spaceBetween: 10,
    122           slidesPerView: 4,
    123           freeMode: true,
    124           watchSlidesProgress: true
    125         };
    126         const slides = wpSwipers[i].querySelectorAll('.wp-swiper__slide');
    127         const thumbsSwiper = wpSwipers[i].querySelector('.wp-swiper__thumbs .swiper-container');
    128         const thumbsWrapper = wpSwipers[i].querySelector('.wp-swiper__thumbs .swiper-wrapper');
    129         const existingThumbs = thumbsWrapper.querySelectorAll('.wp-swiper__thumb');
    130         let thumbSlidesArray = [];
    131         Array.from(slides).forEach((slide, index) => {
    132           const thumbNumber = index + 1; // Assuming thumb numbers start from 1
    133           const matchingThumb = Array.from(existingThumbs).find(thumb => parseInt(thumb.getAttribute('data-thumb')) === thumbNumber);
    134           if (matchingThumb) {
    135             thumbSlidesArray[index] = matchingThumb.cloneNode(true);
    136           } else {
    137             thumbSlidesArray[index] = slide.cloneNode(true);
    138             thumbSlidesArray[index].removeAttribute('data-tab');
    139             thumbSlidesArray[index].classList.remove('wp-swiper__slide');
    140             thumbSlidesArray[index].classList.add('wp-swiper__thumb');
    141           }
    142         });
    143         thumbsWrapper.innerHTML = ''; // Clear existing content
    144         thumbSlidesArray.forEach(element => {
    145           thumbsWrapper.appendChild(element);
    146         });
    147         thumbsConfig = JSON.parse(swiper_container.getAttribute('data-thumbs'));
    148         window.wpSwiperThumbs[i] = new Swiper(thumbsSwiper, thumbsConfig);
    149         options = {
    150           ...options,
    151           thumbs: {
    152             swiper: window.wpSwiperThumbs[i]
    153           }
    154         };
    155       }
    156       if (options.direction == 'vertical') {
    157         options.on = {
    158           init: function () {
    159             var swiperWrapper = this.wrapperEl;
    160             var swiperSlideHeight = swiperWrapper.children[this.activeIndex].querySelector('.wp-swiper__slide-content').offsetHeight;
    161             swiperWrapper.style.height = swiperSlideHeight + 'px';
    162           },
    163           slideChangeTransitionEnd: function () {
    164             var swiperWrapper = this.wrapperEl;
    165             var swiperSlideHeight = swiperWrapper.children[this.activeIndex].querySelector('.wp-swiper__slide-content').offsetHeight;
    166             swiperWrapper.style.height = swiperSlideHeight + 'px';
    167           }
    168         };
    169       }
    170       if (swiper_container.hasAttribute('data-debug')) {
    171         if (swiper_container.getAttribute('data-debug') == 'true') {
    172           console.log({
    173             swiper_container,
    174             options: options
    175           });
    176         }
    177       }
    178 
    179       // Auto Slide Width logic - attach lifecycle events to override Swiper's width calculations
    180       if (options.autoSlideWidth) {
    181         // Width fix function that sets each slide to auto width (with redundancy check)
    182         const fixWidths = swiper => {
    183           swiper.slides.forEach(slide => {
    184             if (slide.style.width !== 'auto') {
    185               slide.style.width = 'auto';
    186             }
    187           });
    188         };
    189 
    190         // Helper to wrap event handlers while preserving existing handlers
    191         const wrapHandler = existingHandler => {
    192           return function (swiper) {
    193             if (existingHandler) {
    194               existingHandler.call(this, swiper);
    195             }
    196             fixWidths(swiper);
    197           };
    198         };
    199 
    200         // Merge with existing 'on' handlers if any (e.g., vertical direction)
    201         // Only essential events to minimize performance impact
    202         const existingOn = options.on || {};
    203         options.on = {
    204           ...existingOn,
    205           init: wrapHandler(existingOn.init),
    206           update: wrapHandler(existingOn.update),
    207           slideChangeTransitionStart: wrapHandler(existingOn.slideChangeTransitionStart),
    208           resize: wrapHandler(existingOn.resize),
    209           beforeResize: wrapHandler(existingOn.beforeResize)
    210         };
    211 
    212         // Remove autoSlideWidth from options as it's not a native Swiper property
    213         delete options.autoSlideWidth;
    214       }
    215       window.wpSwiper[i] = new Swiper(swiper_container, options);
    216     }
    217   };
    218   window.addEventListener('DOMContentLoaded', event => {
    219     try {
    220       self.init();
    221     } catch (e) {
    222       console.warn('JS Error: ');
    223       console.log(e);
    224     }
    225   });
    226 }();
    227 })();
    228 
    229 /******/ })()
    230 ;
    231 //# sourceMappingURL=frontend.build.js.map
     1(()=>{"use strict";new function(){var e=this;e.init=function(){e.init_options()},e.getNumber=function(e,t=1){return Number(e)?Number(e):t},this.JSONify=e=>{var t={};for(var i in e)t['"'+i+'"']=e[i];return t},e.init_options=function(){var e=document.querySelectorAll(".wp-swiper");window.wpSwiper=[],window.wpSwiperThumbs=[];for(let t=0;t<e.length;t++){let i={};e[t].classList.add(`wp-swiper--${t}`);let r=e[t].querySelector(".swiper-container");if(i=JSON.parse(r.getAttribute("data-swiper")),i.slidesPerView&&"auto"!==i.slidesPerView&&(i.slidesPerView=parseInt(i.slidesPerView,10)),i.navigation&&(i.navigation={nextEl:`.wp-swiper--${t} .swiper-button-next`,prevEl:`.wp-swiper--${t} .swiper-button-prev`}),i.pagination?i.pagination.el=e[t].querySelector(".swiper-pagination"):i.pagination=!1,i.breakpoints&&"string"==typeof i.breakpoints&&(i.breakpoints=JSON.parse(i.breakpoints.replace(/\\/g,""))),r.hasAttribute("data-thumbs")){let n={spaceBetween:10,slidesPerView:4,freeMode:!0,watchSlidesProgress:!0};const s=e[t].querySelectorAll(".wp-swiper__slide"),o=e[t].querySelector(".wp-swiper__thumbs .swiper-container"),a=e[t].querySelector(".wp-swiper__thumbs .swiper-wrapper"),p=a.querySelectorAll(".wp-swiper__thumb");let w=[];Array.from(s).forEach((e,t)=>{const i=t+1,r=Array.from(p).find(e=>parseInt(e.getAttribute("data-thumb"))===i);r?w[t]=r.cloneNode(!0):(w[t]=e.cloneNode(!0),w[t].removeAttribute("data-tab"),w[t].classList.remove("wp-swiper__slide"),w[t].classList.add("wp-swiper__thumb"))}),a.innerHTML="",w.forEach(e=>{a.appendChild(e)}),n=JSON.parse(r.getAttribute("data-thumbs")),window.wpSwiperThumbs[t]=new Swiper(o,n),i={...i,thumbs:{swiper:window.wpSwiperThumbs[t]}}}if("vertical"==i.direction&&(i.on={init:function(){var e=this.wrapperEl,t=e.children[this.activeIndex].querySelector(".wp-swiper__slide-content").offsetHeight;e.style.height=t+"px"},slideChangeTransitionEnd:function(){var e=this.wrapperEl,t=e.children[this.activeIndex].querySelector(".wp-swiper__slide-content").offsetHeight;e.style.height=t+"px"}}),r.hasAttribute("data-debug")&&"true"==r.getAttribute("data-debug")&&console.log({swiper_container:r,options:i}),i.autoSlideWidth){const e=e=>{e.slides.forEach(e=>{"auto"!==e.style.width&&(e.style.width="auto")})},t=t=>function(i){t&&t.call(this,i),e(i)},r=i.on||{};i.on={...r,init:t(r.init),update:t(r.update),slideChangeTransitionStart:t(r.slideChangeTransitionStart),resize:t(r.resize),beforeResize:t(r.beforeResize)},delete i.autoSlideWidth}window.wpSwiper[t]=new Swiper(r,i)}},window.addEventListener("DOMContentLoaded",t=>{try{e.init()}catch(e){console.warn("JS Error: "),console.log(e)}})}})();
  • wp-swiper/trunk/build/frontend.css

    r3428937 r3446823  
    1 /*!*************************************************************************************************************************************************************************************************************************************************!*\
    2   !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/styles/frontend.scss ***!
    3   \*************************************************************************************************************************************************************************************************************************************************/
    4 .wp-swiper {
    5   position: relative;
    6 }
    7 .wp-swiper .wp_swiper__button-prev img,
    8 .wp-swiper .wp_swiper__button-next img {
    9   width: 45px;
    10   height: 45px;
    11 }
    12 .wp-swiper .wp_swiper__button-prev::after,
    13 .wp-swiper .wp_swiper__button-next::after {
    14   content: none;
    15 }
    16 .wp-swiper > .wp-swiper__wrapper {
    17   position: relative;
    18   margin-bottom: 10px;
    19 }
    20 .wp-swiper__thumbs {
    21   overflow: hidden;
    22 }
    23 .wp-swiper__thumbs img {
    24   width: 100%;
    25   height: 100%;
    26   -o-object-fit: cover;
    27      object-fit: cover;
    28   cursor: pointer;
    29 }
    30 .wp-swiper__thumbs .wp-swiper__thumb {
    31   box-sizing: border-box;
    32   height: 100px;
    33   width: 100px;
    34   overflow: hidden;
    35 }
    36 .wp-swiper.is-style-overlayed-text-right .wp-swiper__slide-content .wp-block-columns .wp-block-column:first-child {
    37   margin-right: 30%;
    38 }
    39 .wp-swiper.is-style-overlayed-text-right .wp-swiper__slide-content .wp-block-columns .wp-block-column:last-child {
    40   position: absolute;
    41   background: white;
    42   z-index: 1;
    43   max-width: 40%;
    44   right: 0;
    45   left: auto;
    46   padding: 40px;
    47 }
    48 .wp-swiper.is-style-overlayed-text-right .swiper-button-prev {
    49   top: unset;
    50   bottom: 10%;
    51   left: auto;
    52   right: calc(var(--swiper-navigation-size) + 20px);
    53 }
    54 .wp-swiper.is-style-overlayed-text-right .swiper-button-next {
    55   top: unset;
    56   bottom: 10%;
    57 }
    58 .wp-swiper.is-style-overlayed-text-right .wp_swiper__button-prev img,
    59 .wp-swiper.is-style-overlayed-text-right .wp_swiper__button-next img {
    60   width: 36px;
    61   height: 36px;
    62 }
    63 .wp-swiper.is-style-overlayed-text-right .wp_swiper__button-prev::after,
    64 .wp-swiper.is-style-overlayed-text-right .wp_swiper__button-next::after {
    65   content: none;
    66 }
    67 .wp-swiper.is-style-thumbnails-bottom-right .swiper-pagination-bullets.swiper-pagination-horizontal {
    68   width: auto;
    69   left: 2%;
    70 }
    71 .wp-swiper.is-style-thumbnails-bottom-right .swiper-button-prev {
    72   top: 110%;
    73   left: 20px;
    74 }
    75 .wp-swiper.is-style-thumbnails-bottom-right .swiper-button-next {
    76   top: 110%;
    77   right: auto;
    78   left: calc(var(--swiper-navigation-size) + 40px);
    79 }
    80 .wp-swiper.is-style-thumbnails-bottom-right .wp-swiper__thumbs {
    81   position: absolute;
    82   right: 5%;
    83   width: 50%;
    84   transform: translateY(-50%);
    85   z-index: 1;
    86 }
    87 .wp-swiper.is-style-thumbnails-bottom-right .wp-swiper__thumbs .swiper-slide {
    88   border: 2px solid transparent;
    89 }
    90 .wp-swiper.is-style-thumbnails-bottom-right .wp-swiper__thumbs .swiper-slide.swiper-slide-thumb-active {
    91   border: 2px solid white;
    92 }
    93 .wp-swiper.is-style-testimonials {
    94   position: relative;
    95 }
    96 .wp-swiper.is-style-testimonials .wp-swiper__quotes {
    97   opacity: 0.1;
    98   position: absolute;
    99   top: 0;
    100 }
    101 .wp-swiper.is-style-testimonials .wp-swiper__quotes svg {
    102   width: 128px;
    103   height: 128px;
    104 }
    105 .wp-swiper.is-style-testimonials .swiper-pagination {
    106   position: relative;
    107 }
    108 .wp-swiper.is-style-testimonials .swiper-pagination-bullet {
    109   width: 16px;
    110   height: 16px;
    111 }
    112 .wp-swiper.is-style-testimonials .swiper-pagination-bullet-active {
    113   background-color: #000000;
    114 }
    115 .wp-swiper.is-style-testimonials .wp-swiper__wrapper {
    116   padding-left: 80px;
    117   padding-right: 80px;
    118 }
    119 .wp-swiper.is-style-testimonials .wp-swiper__slide-content p {
    120   font-size: 22px;
    121 }
    122 .wp-swiper.is-style-testimonials .swiper-button-prev svg,
    123 .wp-swiper.is-style-testimonials .swiper-button-next svg {
    124   fill: #000000;
    125   width: 32px;
    126   height: 32px;
    127 }
    128 .wp-swiper--halign-left {
    129   align-items: flex-start;
    130 }
    131 .wp-swiper--halign-center {
    132   align-items: center;
    133 }
    134 .wp-swiper--halign-right {
    135   align-items: flex-end;
    136 }
    137 .wp-swiper--valign-left {
    138   justify-content: flex-start;
    139 }
    140 .wp-swiper--valign-center {
    141   justify-content: center;
    142 }
    143 .wp-swiper--valign-right {
    144   justify-content: flex-end;
    145 }
    146 .wp-swiper .swiper-container-autoheight .swiper-slide {
    147   height: 100%;
    148 }
    149 .wp-swiper .swiper-overflow-visible {
    150   overflow: visible !important;
    151 }
    152 .wp-swiper__overlay-color {
    153   position: absolute;
    154   left: 0;
    155   top: 0;
    156   right: 0;
    157   bottom: 0;
    158   z-index: 4;
    159 }
    160 .wp-swiper__overlay-img {
    161   position: absolute;
    162   left: 0;
    163   top: 0;
    164   right: 0;
    165   bottom: 0;
    166   background-position: center;
    167   background-repeat: no-repeat;
    168   background-size: contain;
    169   pointer-events: none;
    170   z-index: 5;
    171 }
    172 .wp-swiper__slide .wp-swiper__slide-content {
    173   position: relative;
    174   box-sizing: border-box;
    175   width: 100%;
    176   margin-left: auto;
    177   margin-right: auto;
    178   z-index: 5;
    179 }
    180 @media (max-width: 768px) {
    181   .wp-swiper.is-style-testimonials .wp-swiper__wrapper {
    182     padding-left: 0;
    183     padding-right: 0;
    184   }
    185   .swiper-button-next,
    186   .swiper-button-prev {
    187     display: none !important;
    188   }
    189 }
    190 
    191 /*# sourceMappingURL=frontend.css.map*/
     1.wp-swiper{position:relative}.wp-swiper__thumbs{overflow:hidden}.wp-swiper__thumbs img{cursor:pointer;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.wp-swiper__thumbs .wp-swiper__thumb{box-sizing:border-box;height:100px;overflow:hidden;width:100px}.wp-swiper.is-style-overlayed-text-right .wp-swiper__slide-content .wp-block-columns .wp-block-column:first-child{margin-right:30%}.wp-swiper.is-style-overlayed-text-right .wp-swiper__slide-content .wp-block-columns .wp-block-column:last-child{background:#fff;left:auto;max-width:40%;padding:40px;position:absolute;right:0;z-index:1}.wp-swiper.is-style-overlayed-text-right .swiper-button-prev{bottom:10%;left:auto;right:calc(var(--swiper-navigation-size) + 20px);top:unset}.wp-swiper.is-style-overlayed-text-right .swiper-button-next{bottom:10%;top:unset}.wp-swiper.is-style-overlayed-text-right .wp_swiper__button-next img,.wp-swiper.is-style-overlayed-text-right .wp_swiper__button-prev img{height:36px;width:36px}.wp-swiper.is-style-overlayed-text-right .wp_swiper__button-next:after,.wp-swiper.is-style-overlayed-text-right .wp_swiper__button-prev:after{content:none}.wp-swiper.is-style-thumbnails-bottom-right .swiper-pagination-bullets.swiper-pagination-horizontal{left:2%;width:auto}.wp-swiper.is-style-thumbnails-bottom-right .swiper-button-prev{left:20px;top:110%}.wp-swiper.is-style-thumbnails-bottom-right .swiper-button-next{left:calc(var(--swiper-navigation-size) + 40px);right:auto;top:110%}.wp-swiper.is-style-thumbnails-bottom-right .wp-swiper__thumbs{position:absolute;right:5%;transform:translateY(-50%);width:50%;z-index:1}.wp-swiper.is-style-thumbnails-bottom-right .wp-swiper__thumbs .swiper-slide{border:2px solid transparent}.wp-swiper.is-style-thumbnails-bottom-right .wp-swiper__thumbs .swiper-slide.swiper-slide-thumb-active{border:2px solid #fff}.wp-swiper.is-style-testimonials{position:relative}.wp-swiper.is-style-testimonials .wp-swiper__quotes{opacity:.1;position:absolute;top:0}.wp-swiper.is-style-testimonials .wp-swiper__quotes svg{height:128px;width:128px}.wp-swiper.is-style-testimonials .swiper-pagination{position:relative}.wp-swiper.is-style-testimonials .swiper-pagination-bullet{height:16px;width:16px}.wp-swiper.is-style-testimonials .swiper-pagination-bullet-active{background-color:#000}.wp-swiper.is-style-testimonials .wp-swiper__wrapper{padding-left:80px;padding-right:80px}.wp-swiper.is-style-testimonials .wp-swiper__slide-content p{font-size:22px}.wp-swiper.is-style-testimonials .swiper-button-next svg,.wp-swiper.is-style-testimonials .swiper-button-prev svg{fill:#000;height:32px;width:32px}.wp-swiper--halign-left{align-items:flex-start}.wp-swiper--halign-center{align-items:center}.wp-swiper--halign-right{align-items:flex-end}.wp-swiper--valign-left{justify-content:flex-start}.wp-swiper--valign-center{justify-content:center}.wp-swiper--valign-right{justify-content:flex-end}.wp-swiper .swiper-container-autoheight .swiper-slide{height:100%}.wp-swiper .swiper-overflow-visible{overflow:visible!important}.wp-swiper__overlay-color{bottom:0;left:0;position:absolute;right:0;top:0;z-index:4}.wp-swiper__overlay-img{background-position:50%;background-repeat:no-repeat;background-size:contain;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:5}.wp-swiper__slide .wp-swiper__slide-content{box-sizing:border-box;display:flex;flex-direction:column;height:100%;justify-content:center;margin-left:auto;margin-right:auto;position:relative;width:100%;z-index:5}.wp-swiper__slide.is-position-bottom-center .wp-swiper__slide-content{justify-content:flex-end}.wp-swiper .swiper-button-next,.wp-swiper .swiper-button-prev{color:var(--wp-swiper-navigation-color,#000)}.wp-swiper .swiper-button-next svg,.wp-swiper .swiper-button-prev svg{fill:var(--wp-swiper-navigation-color,#000)}.wp-swiper .swiper-pagination-bullet-active,.wp-swiper .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background-color:var(--wp-swiper-pagination-color,#000)}@media(max-width:768px){.wp-swiper.is-style-testimonials .wp-swiper__wrapper{padding-left:0;padding-right:0}.swiper-button-next,.swiper-button-prev{display:none!important}}
  • wp-swiper/trunk/build/index-rtl.css

    r3428937 r3446823  
    1 /*!***********************************************************************************************************************************************************************************************************************************************!*\
    2   !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/styles/editor.scss ***!
    3   \***********************************************************************************************************************************************************************************************************************************************/
    4 .wp-swiper__slides .wb-tabs-buttons {
    5   display: flex;
    6   flex-wrap: wrap;
    7   margin-bottom: 20px;
    8   border-bottom: 1px solid #dee2e6;
    9 }
    10 .wp-swiper__slides .wp-swiper__slide-content {
    11   display: flex;
    12   flex-direction: column;
    13 }
    14 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide {
    15   display: flex;
    16   flex-grow: 1;
    17   position: relative;
    18   padding: 10px;
    19   border: 1px solid gray;
    20   min-height: 430px;
    21   align-items: center;
    22   justify-content: center;
    23 }
    24 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .block-editor-inner-blocks {
    25   flex-grow: 1;
    26 }
    27 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__content {
    28   z-index: 5;
    29 }
    30 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__slide-overlay {
    31   position: absolute;
    32   right: 0;
    33   top: 0;
    34   left: 0;
    35   bottom: 0;
    36 }
    37 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__slide-overlay--image {
    38   background-size: cover;
    39   background-repeat: no-repeat;
    40   opacity: 0.2;
    41 }
    42 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-top-left {
    43   justify-content: flex-start;
    44   align-items: flex-start;
    45 }
    46 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-center-left {
    47   align-items: center;
    48   justify-content: flex-start;
    49 }
    50 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-bottom-left {
    51   align-items: flex-end;
    52   justify-content: flex-start;
    53 }
    54 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-top-center {
    55   align-items: flex-start;
    56   justify-content: center;
    57 }
    58 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-center-center {
    59   align-items: center;
    60 }
    61 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-bottom-center {
    62   align-items: flex-end;
    63   justify-content: center;
    64 }
    65 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-top-right {
    66   align-items: flex-start;
    67   justify-content: flex-end;
    68 }
    69 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-center-right {
    70   justify-content: flex-end;
    71   align-items: center;
    72 }
    73 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-bottom-right {
    74   align-items: flex-end;
    75   justify-content: flex-end;
    76 }
    77 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-left .block-editor-block-list__layout, .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-center .block-editor-block-list__layout, .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-right .block-editor-block-list__layout {
    78   display: flex;
    79   flex-direction: column;
    80 }
    81 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-left .block-editor-block-list__layout .wp-block-spacer, .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-center .block-editor-block-list__layout .wp-block-spacer, .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-right .block-editor-block-list__layout .wp-block-spacer {
    82   margin-right: 0;
    83   margin-left: 0;
    84 }
    85 .wp-swiper__slide-content > .block-editor-inner-blocks > .block-editor-block-list__layout > .block-editor-block-list__block > .block-editor-block-list__block-edit {
    86   margin-top: 12px;
    87 }
    88 .wp-swiper__slides .wb-tabs-buttons.wb-tabs-buttons-align-start {
    89   justify-content: flex-start;
    90 }
    91 .wp-swiper__slides .wb-tabs-buttons.wb-tabs-buttons-align-center {
    92   justify-content: center;
    93 }
    94 .wp-swiper__slides .wb-tabs-buttons.wb-tabs-buttons-align-end {
    95   justify-content: flex-end;
    96 }
    97 .wp-swiper__slides .wb-tabs-buttons .edit-post-visual-editor,
    98 .wp-swiper__slides .wb-tabs-buttons .edit-post-visual-editor p,
    99 .wp-swiper__slides .wb-tabs-buttons .editor-rich-text__tinymce.mce-content-body {
    100   line-height: inherit;
    101 }
    102 .wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item {
    103   position: relative;
    104   flex-basis: 20%;
    105   text-align: center;
    106   margin-bottom: -1px;
    107   cursor: pointer;
    108   background-color: transparent;
    109   border: 1px solid gray;
    110   border-top-right-radius: 3px;
    111   border-top-left-radius: 3px;
    112   box-shadow: none;
    113   opacity: 0.6;
    114   transition: 0.15s border-color, 0.15s background-color, 0.15s opacity;
    115   will-change: border-color, background-color, opacity;
    116   box-sizing: border-box;
    117 }
    118 .wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item h4 {
    119   color: #191e23;
    120   margin-top: 10px;
    121   margin-bottom: 10px;
    122   font-size: 16px;
    123 }
    124 .wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item:hover {
    125   border-color: #dee2e6;
    126   opacity: 1;
    127 }
    128 .wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item.wb-tabs-buttons-item-active {
    129   background-color: rgba(180, 180, 180, 0.5);
    130   border-color: #dee2e6;
    131   border-bottom-color: #fff;
    132   opacity: 1;
    133 }
    134 .wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item:not(:hover) > .wb-component-remove-button {
    135   opacity: 0;
    136 }
    137 .wp-swiper__slides .wp-swiper__slide-content [data-tab] {
    138   display: none;
    139 }
    140 .wp-swiper__slides .wb-tabs-buttons {
    141   margin-bottom: 0;
    142 }
    143 .wp-swiper__slides div[data-type="da/wp-swiper-slide"] {
    144   margin-top: 0;
    145 }
    146 /* <remove button> */
    147 div[data-type="da/wp-swiper-slides"] button.wb-component-remove-button {
    148   position: absolute;
    149   align-items: center;
    150   justify-content: center;
    151   top: 0;
    152   left: 0;
    153   width: 20px;
    154   height: 20px;
    155   padding: 0;
    156   margin-top: -10px;
    157   margin-left: -10px;
    158   color: #fff;
    159   background-color: #4f5969;
    160   border-radius: 50%;
    161   opacity: 0.7;
    162   transition: 0.2s opacity, 0.2s background-color;
    163 }
    164 .wb-component-remove-button:hover {
    165   background-color: #5c39a7;
    166   opacity: 1;
    167 }
    168 .wb-component-remove-button svg {
    169   width: auto;
    170   height: 0.8em;
    171 }
    172 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep,
    173 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope {
    174   padding: 0;
    175   margin-right: 5px;
    176 }
    177 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:hover,
    178 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:focus,
    179 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:hover,
    180 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:focus {
    181   text-decoration: underline;
    182 }
    183 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep,
    184 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:focus,
    185 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope,
    186 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:focus {
    187   background: none;
    188   box-shadow: none;
    189 }
    190 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep,
    191 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:focus {
    192   color: #ffffff;
    193 }
    194 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope,
    195 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:focus {
    196   color: #999;
    197 }
    198 .wb-component-remove-button-confirm.components-popover::before {
    199   border-color: transparent;
    200 }
    201 .wb-component-remove-button-confirm.components-popover.is-top::after {
    202   border-top-color: #191e23;
    203 }
    204 .wb-component-remove-button-confirm.components-popover.is-bottom::after {
    205   border-bottom-color: #191e23;
    206 }
    207 .wb-component-remove-button-confirm .components-popover__content {
    208   padding: 4px 12px;
    209   color: #ffffff;
    210   white-space: nowrap;
    211   background: #191e23;
    212   border-width: 0;
    213 }
    214 .wb-component-remove-button-confirm:not(.is-mobile) .components-popover__content {
    215   min-width: 0;
    216 }
    217 .wb-component-remove-button-confirm .components-tooltip__shortcut {
    218   display: block;
    219   color: #7e8993;
    220   text-align: center;
    221 }
    222 /* </remove button> */
     1:root{--wpswiper-primary:var(--wp-admin-theme-color);--wpswiper-primary-hover:var(--wp-admin-theme-color-darker-10);--wpswiper-primary-light:#eef1fd;--wpswiper-border:#e0e0e0;--wpswiper-border-light:#f0f0f0;--wpswiper-bg:#fff;--wpswiper-bg-subtle:#f8f9fa;--wpswiper-bg-hover:#f0f2f5;--wpswiper-text:#1e1e1e;--wpswiper-text-muted:#757575;--wpswiper-shadow-sm:0 1px 3px rgba(0,0,0,.08);--wpswiper-shadow:0 2px 8px rgba(0,0,0,.08);--wpswiper-shadow-lg:0 4px 16px rgba(0,0,0,.12);--wpswiper-radius:8px;--wpswiper-radius-sm:4px;--wpswiper-radius-lg:12px;--wpswiper-transition:0.2s cubic-bezier(0.4,0,0.2,1)}.wp-swiper__slides{background:var(--wpswiper-bg);border-radius:var(--wpswiper-radius-lg);box-shadow:var(--wpswiper-shadow);overflow:hidden}.wp-swiper__slides .wb-tabs-buttons-wrapper{background:var(--wpswiper-bg-subtle);border-bottom:1px solid var(--wpswiper-border);padding:16px 16px 0}.wp-swiper__slides .wb-tabs-buttons{border-bottom:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0;padding-bottom:16px}.wp-swiper__slides .wb-tabs-buttons.wb-tabs-buttons-align-start{justify-content:flex-start}.wp-swiper__slides .wb-tabs-buttons.wb-tabs-buttons-align-center{justify-content:center}.wp-swiper__slides .wb-tabs-buttons.wb-tabs-buttons-align-end{justify-content:flex-end}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item{align-items:center;background:var(--wpswiper-bg);border:1px solid var(--wpswiper-border);border-radius:var(--wpswiper-radius);box-shadow:var(--wpswiper-shadow-sm);cursor:pointer;display:flex;justify-content:center;min-width:100px;opacity:1;padding:10px 16px;position:relative;transition:all var(--wpswiper-transition)}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item h4{color:var(--wpswiper-text-muted);font-size:13px;font-weight:500;margin:0;transition:color var(--wpswiper-transition)}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item:hover{background:var(--wpswiper-bg);border-color:var(--wpswiper-primary);box-shadow:var(--wpswiper-shadow);transform:translateY(-1px)}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item:hover h4{color:var(--wpswiper-primary)}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item.wb-tabs-buttons-item-active{background:var(--wpswiper-primary);border-color:var(--wpswiper-primary);box-shadow:var(--wpswiper-shadow)}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item.wb-tabs-buttons-item-active h4{color:#fff;font-weight:600}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item.wb-tabs-buttons-item-active:hover{background:var(--wpswiper-primary-hover);border-color:var(--wpswiper-primary-hover);transform:translateY(-1px)}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item:not(:hover)>.wb-component-remove-button{opacity:0}.wp-swiper__slides .wb-tabs-buttons>.components-button{align-items:center;background:var(--wpswiper-primary-light);border:2px dashed var(--wpswiper-primary);border-radius:var(--wpswiper-radius);color:var(--wpswiper-primary);display:flex;height:40px;justify-content:center;min-width:40px;padding:0;transition:all var(--wpswiper-transition)}.wp-swiper__slides .wb-tabs-buttons>.components-button:hover{background:var(--wpswiper-primary);border-style:solid;color:#fff;transform:translateY(-1px)}.wp-swiper__slides .wb-tabs-buttons>.components-button svg{color:#fff}.wp-swiper__slides .wp-swiper__slide-content{background:var(--wpswiper-bg);display:flex;flex-direction:column;padding:16px}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide{background:var(--wpswiper-bg-subtle);border:1px solid var(--wpswiper-border);border-radius:var(--wpswiper-radius);display:flex;flex-grow:1;min-height:400px;padding:24px;position:relative;transition:all var(--wpswiper-transition)}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide:hover{border-color:var(--wpswiper-primary);box-shadow:0 0 0 1px var(--wpswiper-primary)}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .block-editor-inner-blocks{display:flex;flex-direction:column;flex-grow:1;justify-content:center;z-index:5}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__content{z-index:5}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__slide-overlay{border-radius:inherit;inset:0;pointer-events:none;position:absolute}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__slide-overlay--image{background-repeat:no-repeat;background-size:cover;opacity:.25}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__slide-overlay--color{z-index:1}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-center-left{align-items:center;justify-content:flex-start}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-top-center{align-items:flex-start;justify-content:center}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-center-center{align-items:center}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-center-right{align-items:center;justify-content:flex-end}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-center .block-editor-block-list__layout,.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-left .block-editor-block-list__layout,.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-right .block-editor-block-list__layout{display:flex;flex-direction:column}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-center .block-editor-block-list__layout .wp-block-spacer,.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-left .block-editor-block-list__layout .wp-block-spacer,.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-right .block-editor-block-list__layout .wp-block-spacer{margin-right:0;margin-left:0}.wp-swiper__slides .wp-swiper__slide-content [data-tab]{display:none}.wp-swiper__slide-content>.block-editor-inner-blocks>.block-editor-block-list__layout>.block-editor-block-list__block>.block-editor-block-list__block-edit{margin-top:12px}.wp-swiper__slides div[data-type="da/wp-swiper-slide"]{margin-top:0}div[data-type="da/wp-swiper-slides"] button.wb-component-remove-button{align-items:center;background:linear-gradient(-135deg,#ef4444,#dc2626);border:2px solid #fff;border-radius:50%;box-shadow:var(--wpswiper-shadow);color:#fff;display:flex;height:22px;justify-content:center;opacity:0;padding:0;position:absolute;left:-6px;top:-6px;transition:all var(--wpswiper-transition);width:22px;z-index:10}div[data-type="da/wp-swiper-slides"] button.wb-component-remove-button svg{height:10px;width:10px}div[data-type="da/wp-swiper-slides"] button.wb-component-remove-button:hover{background:linear-gradient(-135deg,#dc2626,#b91c1c);box-shadow:var(--wpswiper-shadow-lg);transform:scale(1.1)}div[data-type="da/wp-swiper-slides"] .wb-tabs-buttons-item:hover .wb-component-remove-button{opacity:1}.wb-component-remove-button-confirm .components-popover__content{background:#1e1e1e;border:none;border-radius:var(--wpswiper-radius);box-shadow:var(--wpswiper-shadow-lg);color:#fff;padding:8px 16px;white-space:nowrap}.wb-component-remove-button-confirm:before{border-color:transparent}.wb-component-remove-button-confirm.is-top:after{border-top-color:#1e1e1e}.wb-component-remove-button-confirm.is-bottom:after{border-bottom-color:#1e1e1e}.wb-component-remove-button-confirm:not(.is-mobile) .components-popover__content{min-width:0}.wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope,.wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep{background:none;border-radius:var(--wpswiper-radius-sm);box-shadow:none;font-weight:500;margin-right:8px;padding:4px 8px;transition:all var(--wpswiper-transition)}.wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:focus,.wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:hover,.wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:focus,.wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:hover{text-decoration:none}.wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep{background:#ef4444;color:#fff}.wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:focus,.wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:hover{background:#dc2626}.wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope{color:#a0a0a0}.wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:focus,.wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:hover{background:hsla(0,0%,100%,.1);color:#fff}.wb-component-remove-button-confirm .components-tooltip__shortcut{color:#7e8993;display:block;margin-top:4px;text-align:center}.wp-swiper__drop-zone-wrapper{background:var(--wpswiper-bg-subtle);border:2px dashed var(--wpswiper-border);border-radius:var(--wpswiper-radius);margin:16px;padding:32px;position:relative;transition:all var(--wpswiper-transition)}.wp-swiper__drop-zone-wrapper:hover{background:var(--wpswiper-primary-light);border-color:var(--wpswiper-primary)}.wp-swiper__drop-zone-wrapper:hover .wp-swiper__drop-zone-content{color:var(--wpswiper-primary)}.wp-swiper__drop-zone-wrapper:hover .wp-swiper__drop-zone-content .dashicons{transform:scale(1.1)}.wp-swiper__drop-zone-wrapper.is-dragging-over{background:var(--wpswiper-primary-light);border-color:var(--wpswiper-primary);border-style:solid;box-shadow:0 0 0 4px rgba(56,88,233,.15);transform:scale(1.01)}.wp-swiper__drop-zone-wrapper.is-dragging-over .wp-swiper__drop-zone-content{color:var(--wpswiper-primary)}.wp-swiper__drop-zone-wrapper.is-dragging-over .wp-swiper__drop-zone-content .dashicons{animation:wpswiper-bounce .5s ease infinite alternate}.wp-swiper__drop-zone-wrapper.is-uploading{background:var(--wpswiper-primary-light);border-color:var(--wpswiper-primary);border-style:solid;pointer-events:none}.wp-swiper__drop-zone-wrapper.is-uploading .wp-swiper__drop-zone-content{color:var(--wpswiper-primary)}.wp-swiper__drop-zone-wrapper .components-drop-zone{border-radius:inherit}.wp-swiper__drop-zone-wrapper .components-drop-zone__content{display:none}.wp-swiper__drop-zone-content{align-items:center;color:var(--wpswiper-text-muted);display:flex;flex-direction:column;justify-content:center;pointer-events:none;text-align:center}.wp-swiper__drop-zone-content .dashicons{font-size:40px;height:40px;margin-bottom:12px;transition:transform var(--wpswiper-transition);width:40px}.wp-swiper__drop-zone-content p{font-size:14px;font-weight:500;margin:0}.wp-swiper__drop-zone-spinner{animation:wpswiper-spin 1s linear infinite}@keyframes wpswiper-spin{0%{transform:rotate(0deg)}to{transform:rotate(-1turn)}}@keyframes wpswiper-bounce{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.wp-swiper-inspector .components-panel__body-title{font-weight:600}.wp-swiper-inspector .wp-swiper-separator{border-top:1px solid var(--wpswiper-border-light);margin:16px 0}.wp-swiper-inspector .wp-swiper-config-editor textarea{background:var(--wpswiper-bg-subtle);border:1px solid var(--wpswiper-border);border-radius:var(--wpswiper-radius-sm);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:12px;line-height:1.5;padding:12px;resize:vertical;transition:all var(--wpswiper-transition)}.wp-swiper-inspector .wp-swiper-config-editor textarea:focus{border-color:var(--wpswiper-primary);box-shadow:0 0 0 1px var(--wpswiper-primary);outline:none}.wp-swiper-inspector .wp-swiper-config-editor textarea.is-invalid{background:#fef2f2;border-color:#ef4444}.wp-swiper-inspector .wp-swiper-helper-text{color:var(--wpswiper-text-muted);font-size:12px;line-height:1.5;margin-top:8px}.wp-swiper__slides .wb-tabs-buttons .edit-post-visual-editor,.wp-swiper__slides .wb-tabs-buttons .edit-post-visual-editor p,.wp-swiper__slides .wb-tabs-buttons .editor-rich-text__tinymce.mce-content-body{line-height:inherit}
  • wp-swiper/trunk/build/index.build.asset.php

    r3428937 r3446823  
    1 <?php return array('dependencies' => array('react', 'react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-data', 'wp-element', 'wp-i18n', 'wp-keycodes'), 'version' => '748ad59cc5d54307e86c');
     1<?php return array('dependencies' => array('react', 'react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-keycodes'), 'version' => '3a3992f353767a38ea99');
  • wp-swiper/trunk/build/index.build.js

    r3428937 r3446823  
    1 /******/ (() => { // webpackBootstrap
    2 /******/    var __webpack_modules__ = ({
    3 
    4 /***/ "./node_modules/classnames/dedupe.js"
    5 /*!*******************************************!*\
    6   !*** ./node_modules/classnames/dedupe.js ***!
    7   \*******************************************/
    8 (module, exports) {
    9 
    10 var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
    11     Copyright (c) 2018 Jed Watson.
    12     Licensed under the MIT License (MIT), see
    13     http://jedwatson.github.io/classnames
    14 */
    15 /* global define */
    16 
    17 (function () {
    18     'use strict';
    19 
    20     var classNames = (function () {
    21         // don't inherit from Object so we can skip hasOwnProperty check later
    22         // http://stackoverflow.com/questions/15518328/creating-js-object-with-object-createnull#answer-21079232
    23         function StorageObject() {}
    24         StorageObject.prototype = Object.create(null);
    25 
    26         function _parseArray (resultSet, array) {
    27             var length = array.length;
    28 
    29             for (var i = 0; i < length; ++i) {
    30                 _parse(resultSet, array[i]);
    31             }
    32         }
    33 
    34         var hasOwn = {}.hasOwnProperty;
    35 
    36         function _parseNumber (resultSet, num) {
    37             resultSet[num] = true;
    38         }
    39 
    40         function _parseObject (resultSet, object) {
    41             if (object.toString !== Object.prototype.toString && !object.toString.toString().includes('[native code]')) {
    42                 resultSet[object.toString()] = true;
    43                 return;
    44             }
    45 
    46             for (var k in object) {
    47                 if (hasOwn.call(object, k)) {
    48                     // set value to false instead of deleting it to avoid changing object structure
    49                     // https://www.smashingmagazine.com/2012/11/writing-fast-memory-efficient-javascript/#de-referencing-misconceptions
    50                     resultSet[k] = !!object[k];
    51                 }
    52             }
    53         }
    54 
    55         var SPACE = /\s+/;
    56         function _parseString (resultSet, str) {
    57             var array = str.split(SPACE);
    58             var length = array.length;
    59 
    60             for (var i = 0; i < length; ++i) {
    61                 resultSet[array[i]] = true;
    62             }
    63         }
    64 
    65         function _parse (resultSet, arg) {
    66             if (!arg) return;
    67             var argType = typeof arg;
    68 
    69             // 'foo bar'
    70             if (argType === 'string') {
    71                 _parseString(resultSet, arg);
    72 
    73             // ['foo', 'bar', ...]
    74             } else if (Array.isArray(arg)) {
    75                 _parseArray(resultSet, arg);
    76 
    77             // { 'foo': true, ... }
    78             } else if (argType === 'object') {
    79                 _parseObject(resultSet, arg);
    80 
    81             // '130'
    82             } else if (argType === 'number') {
    83                 _parseNumber(resultSet, arg);
    84             }
    85         }
    86 
    87         function _classNames () {
    88             // don't leak arguments
    89             // https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments
    90             var len = arguments.length;
    91             var args = Array(len);
    92             for (var i = 0; i < len; i++) {
    93                 args[i] = arguments[i];
    94             }
    95 
    96             var classSet = new StorageObject();
    97             _parseArray(classSet, args);
    98 
    99             var list = [];
    100 
    101             for (var k in classSet) {
    102                 if (classSet[k]) {
    103                     list.push(k)
    104                 }
    105             }
    106 
    107             return list.join(' ');
    108         }
    109 
    110         return _classNames;
    111     })();
    112 
    113     if ( true && module.exports) {
    114         classNames.default = classNames;
    115         module.exports = classNames;
    116     } else if (true) {
    117         // register as 'classnames', consistent with npm package name
    118         !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
    119             return classNames;
    120         }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
    121         __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    122     } else // removed by dead control flow
    123 {}
    124 }());
    125 
    126 
    127 /***/ },
    128 
    129 /***/ "./node_modules/slugify/slugify.js"
    130 /*!*****************************************!*\
    131   !*** ./node_modules/slugify/slugify.js ***!
    132   \*****************************************/
    133 (module) {
    134 
    135 
    136 ;(function (name, root, factory) {
    137   if (true) {
    138     module.exports = factory()
    139     module.exports["default"] = factory()
    140   }
    141   /* istanbul ignore next */
    142   else // removed by dead control flow
    143 {}
    144 }('slugify', this, function () {
    145   var charMap = JSON.parse('{"$":"dollar","%":"percent","&":"and","<":"less",">":"greater","|":"or","¢":"cent","£":"pound","¤":"currency","¥":"yen","©":"(c)","ª":"a","®":"(r)","º":"o","À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","Æ":"AE","Ç":"C","È":"E","É":"E","Ê":"E","Ë":"E","Ì":"I","Í":"I","Î":"I","Ï":"I","Ð":"D","Ñ":"N","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","Ù":"U","Ú":"U","Û":"U","Ü":"U","Ý":"Y","Þ":"TH","ß":"ss","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","æ":"ae","ç":"c","è":"e","é":"e","ê":"e","ë":"e","ì":"i","í":"i","î":"i","ï":"i","ð":"d","ñ":"n","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","ù":"u","ú":"u","û":"u","ü":"u","ý":"y","þ":"th","ÿ":"y","Ā":"A","ā":"a","Ă":"A","ă":"a","Ą":"A","ą":"a","Ć":"C","ć":"c","Č":"C","č":"c","Ď":"D","ď":"d","Đ":"DJ","đ":"dj","Ē":"E","ē":"e","Ė":"E","ė":"e","Ę":"e","ę":"e","Ě":"E","ě":"e","Ğ":"G","ğ":"g","Ģ":"G","ģ":"g","Ĩ":"I","ĩ":"i","Ī":"i","ī":"i","Į":"I","į":"i","İ":"I","ı":"i","Ķ":"k","ķ":"k","Ļ":"L","ļ":"l","Ľ":"L","ľ":"l","Ł":"L","ł":"l","Ń":"N","ń":"n","Ņ":"N","ņ":"n","Ň":"N","ň":"n","Ō":"O","ō":"o","Ő":"O","ő":"o","Œ":"OE","œ":"oe","Ŕ":"R","ŕ":"r","Ř":"R","ř":"r","Ś":"S","ś":"s","Ş":"S","ş":"s","Š":"S","š":"s","Ţ":"T","ţ":"t","Ť":"T","ť":"t","Ũ":"U","ũ":"u","Ū":"u","ū":"u","Ů":"U","ů":"u","Ű":"U","ű":"u","Ų":"U","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","ź":"z","Ż":"Z","ż":"z","Ž":"Z","ž":"z","Ə":"E","ƒ":"f","Ơ":"O","ơ":"o","Ư":"U","ư":"u","Lj":"LJ","lj":"lj","Nj":"NJ","nj":"nj","Ș":"S","ș":"s","Ț":"T","ț":"t","ə":"e","˚":"o","Ά":"A","Έ":"E","Ή":"H","Ί":"I","Ό":"O","Ύ":"Y","Ώ":"W","ΐ":"i","Α":"A","Β":"B","Γ":"G","Δ":"D","Ε":"E","Ζ":"Z","Η":"H","Θ":"8","Ι":"I","Κ":"K","Λ":"L","Μ":"M","Ν":"N","Ξ":"3","Ο":"O","Π":"P","Ρ":"R","Σ":"S","Τ":"T","Υ":"Y","Φ":"F","Χ":"X","Ψ":"PS","Ω":"W","Ϊ":"I","Ϋ":"Y","ά":"a","έ":"e","ή":"h","ί":"i","ΰ":"y","α":"a","β":"b","γ":"g","δ":"d","ε":"e","ζ":"z","η":"h","θ":"8","ι":"i","κ":"k","λ":"l","μ":"m","ν":"n","ξ":"3","ο":"o","π":"p","ρ":"r","ς":"s","σ":"s","τ":"t","υ":"y","φ":"f","χ":"x","ψ":"ps","ω":"w","ϊ":"i","ϋ":"y","ό":"o","ύ":"y","ώ":"w","Ё":"Yo","Ђ":"DJ","Є":"Ye","І":"I","Ї":"Yi","Ј":"J","Љ":"LJ","Њ":"NJ","Ћ":"C","Џ":"DZ","А":"A","Б":"B","В":"V","Г":"G","Д":"D","Е":"E","Ж":"Zh","З":"Z","И":"I","Й":"J","К":"K","Л":"L","М":"M","Н":"N","О":"O","П":"P","Р":"R","С":"S","Т":"T","У":"U","Ф":"F","Х":"H","Ц":"C","Ч":"Ch","Ш":"Sh","Щ":"Sh","Ъ":"U","Ы":"Y","Ь":"","Э":"E","Ю":"Yu","Я":"Ya","а":"a","б":"b","в":"v","г":"g","д":"d","е":"e","ж":"zh","з":"z","и":"i","й":"j","к":"k","л":"l","м":"m","н":"n","о":"o","п":"p","р":"r","с":"s","т":"t","у":"u","ф":"f","х":"h","ц":"c","ч":"ch","ш":"sh","щ":"sh","ъ":"u","ы":"y","ь":"","э":"e","ю":"yu","я":"ya","ё":"yo","ђ":"dj","є":"ye","і":"i","ї":"yi","ј":"j","љ":"lj","њ":"nj","ћ":"c","ѝ":"u","џ":"dz","Ґ":"G","ґ":"g","Ғ":"GH","ғ":"gh","Қ":"KH","қ":"kh","Ң":"NG","ң":"ng","Ү":"UE","ү":"ue","Ұ":"U","ұ":"u","Һ":"H","һ":"h","Ә":"AE","ә":"ae","Ө":"OE","ө":"oe","Ա":"A","Բ":"B","Գ":"G","Դ":"D","Ե":"E","Զ":"Z","Է":"E\'","Ը":"Y\'","Թ":"T\'","Ժ":"JH","Ի":"I","Լ":"L","Խ":"X","Ծ":"C\'","Կ":"K","Հ":"H","Ձ":"D\'","Ղ":"GH","Ճ":"TW","Մ":"M","Յ":"Y","Ն":"N","Շ":"SH","Չ":"CH","Պ":"P","Ջ":"J","Ռ":"R\'","Ս":"S","Վ":"V","Տ":"T","Ր":"R","Ց":"C","Փ":"P\'","Ք":"Q\'","Օ":"O\'\'","Ֆ":"F","և":"EV","ء":"a","آ":"aa","أ":"a","ؤ":"u","إ":"i","ئ":"e","ا":"a","ب":"b","ة":"h","ت":"t","ث":"th","ج":"j","ح":"h","خ":"kh","د":"d","ذ":"th","ر":"r","ز":"z","س":"s","ش":"sh","ص":"s","ض":"dh","ط":"t","ظ":"z","ع":"a","غ":"gh","ف":"f","ق":"q","ك":"k","ل":"l","م":"m","ن":"n","ه":"h","و":"w","ى":"a","ي":"y","ً":"an","ٌ":"on","ٍ":"en","َ":"a","ُ":"u","ِ":"e","ْ":"","٠":"0","١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","پ":"p","چ":"ch","ژ":"zh","ک":"k","گ":"g","ی":"y","۰":"0","۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","฿":"baht","ა":"a","ბ":"b","გ":"g","დ":"d","ე":"e","ვ":"v","ზ":"z","თ":"t","ი":"i","კ":"k","ლ":"l","მ":"m","ნ":"n","ო":"o","პ":"p","ჟ":"zh","რ":"r","ს":"s","ტ":"t","უ":"u","ფ":"f","ქ":"k","ღ":"gh","ყ":"q","შ":"sh","ჩ":"ch","ც":"ts","ძ":"dz","წ":"ts","ჭ":"ch","ხ":"kh","ჯ":"j","ჰ":"h","Ṣ":"S","ṣ":"s","Ẁ":"W","ẁ":"w","Ẃ":"W","ẃ":"w","Ẅ":"W","ẅ":"w","ẞ":"SS","Ạ":"A","ạ":"a","Ả":"A","ả":"a","Ấ":"A","ấ":"a","Ầ":"A","ầ":"a","Ẩ":"A","ẩ":"a","Ẫ":"A","ẫ":"a","Ậ":"A","ậ":"a","Ắ":"A","ắ":"a","Ằ":"A","ằ":"a","Ẳ":"A","ẳ":"a","Ẵ":"A","ẵ":"a","Ặ":"A","ặ":"a","Ẹ":"E","ẹ":"e","Ẻ":"E","ẻ":"e","Ẽ":"E","ẽ":"e","Ế":"E","ế":"e","Ề":"E","ề":"e","Ể":"E","ể":"e","Ễ":"E","ễ":"e","Ệ":"E","ệ":"e","Ỉ":"I","ỉ":"i","Ị":"I","ị":"i","Ọ":"O","ọ":"o","Ỏ":"O","ỏ":"o","Ố":"O","ố":"o","Ồ":"O","ồ":"o","Ổ":"O","ổ":"o","Ỗ":"O","ỗ":"o","Ộ":"O","ộ":"o","Ớ":"O","ớ":"o","Ờ":"O","ờ":"o","Ở":"O","ở":"o","Ỡ":"O","ỡ":"o","Ợ":"O","ợ":"o","Ụ":"U","ụ":"u","Ủ":"U","ủ":"u","Ứ":"U","ứ":"u","Ừ":"U","ừ":"u","Ử":"U","ử":"u","Ữ":"U","ữ":"u","Ự":"U","ự":"u","Ỳ":"Y","ỳ":"y","Ỵ":"Y","ỵ":"y","Ỷ":"Y","ỷ":"y","Ỹ":"Y","ỹ":"y","–":"-","‘":"\'","’":"\'","“":"\\\"","”":"\\\"","„":"\\\"","†":"+","•":"*","…":"...","₠":"ecu","₢":"cruzeiro","₣":"french franc","₤":"lira","₥":"mill","₦":"naira","₧":"peseta","₨":"rupee","₩":"won","₪":"new shequel","₫":"dong","€":"euro","₭":"kip","₮":"tugrik","₯":"drachma","₰":"penny","₱":"peso","₲":"guarani","₳":"austral","₴":"hryvnia","₵":"cedi","₸":"kazakhstani tenge","₹":"indian rupee","₺":"turkish lira","₽":"russian ruble","₿":"bitcoin","℠":"sm","™":"tm","∂":"d","∆":"delta","∑":"sum","∞":"infinity","♥":"love","元":"yuan","円":"yen","﷼":"rial","ﻵ":"laa","ﻷ":"laa","ﻹ":"lai","ﻻ":"la"}')
    146   var locales = JSON.parse('{"bg":{"Й":"Y","Ц":"Ts","Щ":"Sht","Ъ":"A","Ь":"Y","й":"y","ц":"ts","щ":"sht","ъ":"a","ь":"y"},"de":{"Ä":"AE","ä":"ae","Ö":"OE","ö":"oe","Ü":"UE","ü":"ue","ß":"ss","%":"prozent","&":"und","|":"oder","∑":"summe","∞":"unendlich","♥":"liebe"},"es":{"%":"por ciento","&":"y","<":"menor que",">":"mayor que","|":"o","¢":"centavos","£":"libras","¤":"moneda","₣":"francos","∑":"suma","∞":"infinito","♥":"amor"},"fr":{"%":"pourcent","&":"et","<":"plus petit",">":"plus grand","|":"ou","¢":"centime","£":"livre","¤":"devise","₣":"franc","∑":"somme","∞":"infini","♥":"amour"},"pt":{"%":"porcento","&":"e","<":"menor",">":"maior","|":"ou","¢":"centavo","∑":"soma","£":"libra","∞":"infinito","♥":"amor"},"uk":{"И":"Y","и":"y","Й":"Y","й":"y","Ц":"Ts","ц":"ts","Х":"Kh","х":"kh","Щ":"Shch","щ":"shch","Г":"H","г":"h"},"vi":{"Đ":"D","đ":"d"},"da":{"Ø":"OE","ø":"oe","Å":"AA","å":"aa","%":"procent","&":"og","|":"eller","$":"dollar","<":"mindre end",">":"større end"},"nb":{"&":"og","Å":"AA","Æ":"AE","Ø":"OE","å":"aa","æ":"ae","ø":"oe"},"it":{"&":"e"},"nl":{"&":"en"},"sv":{"&":"och","Å":"AA","Ä":"AE","Ö":"OE","å":"aa","ä":"ae","ö":"oe"}}')
    147 
    148   function replace (string, options) {
    149     if (typeof string !== 'string') {
    150       throw new Error('slugify: string argument expected')
    151     }
    152 
    153     options = (typeof options === 'string')
    154       ? {replacement: options}
    155       : options || {}
    156 
    157     var locale = locales[options.locale] || {}
    158 
    159     var replacement = options.replacement === undefined ? '-' : options.replacement
    160 
    161     var trim = options.trim === undefined ? true : options.trim
    162 
    163     var slug = string.normalize().split('')
    164       // replace characters based on charMap
    165       .reduce(function (result, ch) {
    166         var appendChar = locale[ch];
    167         if (appendChar === undefined) appendChar = charMap[ch];
    168         if (appendChar === undefined) appendChar = ch;
    169         if (appendChar === replacement) appendChar = ' ';
    170         return result + appendChar
    171           // remove not allowed characters
    172           .replace(options.remove || /[^\w\s$*_+~.()'"!\-:@]+/g, '')
    173       }, '');
    174 
    175     if (options.strict) {
    176       slug = slug.replace(/[^A-Za-z0-9\s]/g, '');
    177     }
    178 
    179     if (trim) {
    180       slug = slug.trim()
    181     }
    182 
    183     // Replace spaces with replacement character, treating multiple consecutive
    184     // spaces as a single space.
    185     slug = slug.replace(/\s+/g, replacement);
    186 
    187     if (options.lower) {
    188       slug = slug.toLowerCase()
    189     }
    190 
    191     return slug
    192   }
    193 
    194   replace.extend = function (customMap) {
    195     Object.assign(charMap, customMap)
    196   }
    197 
    198   return replace
    199 }))
    200 
    201 
    202 /***/ },
    203 
    204 /***/ "./node_modules/striptags/src/striptags.js"
    205 /*!*************************************************!*\
    206   !*** ./node_modules/striptags/src/striptags.js ***!
    207   \*************************************************/
    208 (module, exports, __webpack_require__) {
    209 
    210 "use strict";
    211 var __WEBPACK_AMD_DEFINE_RESULT__;
    212 
    213 (function (global) {
    214 
    215     // minimal symbol polyfill for IE11 and others
    216     if (typeof Symbol !== 'function') {
    217         var Symbol = function(name) {
    218             return name;
    219         }
    220 
    221         Symbol.nonNative = true;
    222     }
    223 
    224     const STATE_PLAINTEXT = Symbol('plaintext');
    225     const STATE_HTML      = Symbol('html');
    226     const STATE_COMMENT   = Symbol('comment');
    227 
    228     const ALLOWED_TAGS_REGEX  = /<(\w*)>/g;
    229     const NORMALIZE_TAG_REGEX = /<\/?([^\s\/>]+)/;
    230 
    231     function striptags(html, allowable_tags, tag_replacement) {
    232         html            = html || '';
    233         allowable_tags  = allowable_tags || [];
    234         tag_replacement = tag_replacement || '';
    235 
    236         let context = init_context(allowable_tags, tag_replacement);
    237 
    238         return striptags_internal(html, context);
    239     }
    240 
    241     function init_striptags_stream(allowable_tags, tag_replacement) {
    242         allowable_tags  = allowable_tags || [];
    243         tag_replacement = tag_replacement || '';
    244 
    245         let context = init_context(allowable_tags, tag_replacement);
    246 
    247         return function striptags_stream(html) {
    248             return striptags_internal(html || '', context);
    249         };
    250     }
    251 
    252     striptags.init_streaming_mode = init_striptags_stream;
    253 
    254     function init_context(allowable_tags, tag_replacement) {
    255         allowable_tags = parse_allowable_tags(allowable_tags);
    256 
    257         return {
    258             allowable_tags : allowable_tags,
    259             tag_replacement: tag_replacement,
    260 
    261             state         : STATE_PLAINTEXT,
    262             tag_buffer    : '',
    263             depth         : 0,
    264             in_quote_char : ''
    265         };
    266     }
    267 
    268     function striptags_internal(html, context) {
    269         if (typeof html != "string") {
    270             throw new TypeError("'html' parameter must be a string");
    271         }
    272 
    273         let allowable_tags  = context.allowable_tags;
    274         let tag_replacement = context.tag_replacement;
    275 
    276         let state         = context.state;
    277         let tag_buffer    = context.tag_buffer;
    278         let depth         = context.depth;
    279         let in_quote_char = context.in_quote_char;
    280         let output        = '';
    281 
    282         for (let idx = 0, length = html.length; idx < length; idx++) {
    283             let char = html[idx];
    284 
    285             if (state === STATE_PLAINTEXT) {
    286                 switch (char) {
    287                     case '<':
    288                         state       = STATE_HTML;
    289                         tag_buffer += char;
    290                         break;
    291 
    292                     default:
    293                         output += char;
    294                         break;
    295                 }
    296             }
    297 
    298             else if (state === STATE_HTML) {
    299                 switch (char) {
    300                     case '<':
    301                         // ignore '<' if inside a quote
    302                         if (in_quote_char) {
    303                             break;
    304                         }
    305 
    306                         // we're seeing a nested '<'
    307                         depth++;
    308                         break;
    309 
    310                     case '>':
    311                         // ignore '>' if inside a quote
    312                         if (in_quote_char) {
    313                             break;
    314                         }
    315 
    316                         // something like this is happening: '<<>>'
    317                         if (depth) {
    318                             depth--;
    319 
    320                             break;
    321                         }
    322 
    323                         // this is closing the tag in tag_buffer
    324                         in_quote_char = '';
    325                         state         = STATE_PLAINTEXT;
    326                         tag_buffer   += '>';
    327 
    328                         if (allowable_tags.has(normalize_tag(tag_buffer))) {
    329                             output += tag_buffer;
    330                         } else {
    331                             output += tag_replacement;
    332                         }
    333 
    334                         tag_buffer = '';
    335                         break;
    336 
    337                     case '"':
    338                     case '\'':
    339                         // catch both single and double quotes
    340 
    341                         if (char === in_quote_char) {
    342                             in_quote_char = '';
    343                         } else {
    344                             in_quote_char = in_quote_char || char;
    345                         }
    346 
    347                         tag_buffer += char;
    348                         break;
    349 
    350                     case '-':
    351                         if (tag_buffer === '<!-') {
    352                             state = STATE_COMMENT;
    353                         }
    354 
    355                         tag_buffer += char;
    356                         break;
    357 
    358                     case ' ':
    359                     case '\n':
    360                         if (tag_buffer === '<') {
    361                             state      = STATE_PLAINTEXT;
    362                             output    += '< ';
    363                             tag_buffer = '';
    364 
    365                             break;
    366                         }
    367 
    368                         tag_buffer += char;
    369                         break;
    370 
    371                     default:
    372                         tag_buffer += char;
    373                         break;
    374                 }
    375             }
    376 
    377             else if (state === STATE_COMMENT) {
    378                 switch (char) {
    379                     case '>':
    380                         if (tag_buffer.slice(-2) == '--') {
    381                             // close the comment
    382                             state = STATE_PLAINTEXT;
    383                         }
    384 
    385                         tag_buffer = '';
    386                         break;
    387 
    388                     default:
    389                         tag_buffer += char;
    390                         break;
    391                 }
    392             }
    393         }
    394 
    395         // save the context for future iterations
    396         context.state         = state;
    397         context.tag_buffer    = tag_buffer;
    398         context.depth         = depth;
    399         context.in_quote_char = in_quote_char;
    400 
    401         return output;
    402     }
    403 
    404     function parse_allowable_tags(allowable_tags) {
    405         let tag_set = new Set();
    406 
    407         if (typeof allowable_tags === 'string') {
    408             let match;
    409 
    410             while ((match = ALLOWED_TAGS_REGEX.exec(allowable_tags))) {
    411                 tag_set.add(match[1]);
    412             }
    413         }
    414 
    415         else if (!Symbol.nonNative &&
    416                  typeof allowable_tags[Symbol.iterator] === 'function') {
    417 
    418             tag_set = new Set(allowable_tags);
    419         }
    420 
    421         else if (typeof allowable_tags.forEach === 'function') {
    422             // IE11 compatible
    423             allowable_tags.forEach(tag_set.add, tag_set);
    424         }
    425 
    426         return tag_set;
    427     }
    428 
    429     function normalize_tag(tag_buffer) {
    430         let match = NORMALIZE_TAG_REGEX.exec(tag_buffer);
    431 
    432         return match ? match[1].toLowerCase() : null;
    433     }
    434 
    435     if (true) {
    436         // AMD
    437         !(__WEBPACK_AMD_DEFINE_RESULT__ = (function module_factory() { return striptags; }).call(exports, __webpack_require__, exports, module),
    438         __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
    439     }
    440 
    441     else // removed by dead control flow
    442 {}
    443 }(this));
    444 
    445 
    446 /***/ },
    447 
    448 /***/ "./src/blocks/slide/block.json"
    449 /*!*************************************!*\
    450   !*** ./src/blocks/slide/block.json ***!
    451   \*************************************/
    452 (module) {
    453 
    454 "use strict";
    455 module.exports = /*#__PURE__*/JSON.parse('{"apiVersion":3,"name":"da/wp-swiper-slide","parent":["da/wp-swiper-slides"],"category":"media","supports":{"html":false,"className":false,"anchor":true,"inserter":false,"reusable":false},"attributes":{"align":{"type":"string","default":"undefined"},"slideImgId":{"type":"number"},"slideImg":{"type":"string"},"thumbImg":{"type":"string"},"slug":{"type":"string"},"contentValign":{"type":"string","default":""},"contentHalign":{"type":"string","default":""},"contentVHalign":{"type":"string"},"focalPoint":{"type":"object","default":{"x":0.5,"y":0.5}},"overlayColor":{"type":"object","default":{"rgb":{"r":0,"g":0,"b":0,"a":0}}},"containerWidth":{"type":"number"}}}');
    456 
    457 /***/ },
    458 
    459 /***/ "./src/blocks/slide/deprecated.js"
    460 /*!****************************************!*\
    461   !*** ./src/blocks/slide/deprecated.js ***!
    462   \****************************************/
    463 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    464 
    465 "use strict";
    466 __webpack_require__.r(__webpack_exports__);
    467 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    468 /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
    469 /* harmony export */ });
    470 /* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./block.json */ "./src/blocks/slide/block.json");
    471 /* harmony import */ var _save1033__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./save1033 */ "./src/blocks/slide/save1033.js");
    472 /**
    473  * Internal dependencies
    474  */
    475 
    476 
    477 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ([{
    478   supports: _block_json__WEBPACK_IMPORTED_MODULE_0__.supports,
    479   attributes: {
    480     ..._block_json__WEBPACK_IMPORTED_MODULE_0__.attributes
    481   },
    482   save: _save1033__WEBPACK_IMPORTED_MODULE_1__["default"]
    483 }]);
    484 
    485 /***/ },
    486 
    487 /***/ "./src/blocks/slide/edit.js"
    488 /*!**********************************!*\
    489   !*** ./src/blocks/slide/edit.js ***!
    490   \**********************************/
    491 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    492 
    493 "use strict";
    494 __webpack_require__.r(__webpack_exports__);
    495 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    496 /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
    497 /* harmony export */ });
    498 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! classnames/dedupe */ "./node_modules/classnames/dedupe.js");
    499 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__);
    500 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
    501 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__);
    502 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
    503 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__);
    504 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
    505 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_3__);
    506 /* harmony import */ var _components_block_alignment_matrix_control__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components/block-alignment-matrix-control */ "./src/components/block-alignment-matrix-control/index.js");
    507 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
    508 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__);
    509 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
    510 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__);
    511 /* harmony import */ var _utils_shared__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils/shared */ "./src/utils/shared.js");
    512 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
    513 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__);
    514 /**
    515  * External dependencies
    516  */
    517 
    518 
    519 /**
    520  * WordPress dependencies
    521  */
    522 
    523 
    524 
    525 
    526 
    527 
    528 
    529 
    530 /**
    531  * Block Edit Class.
    532  */
    533 
    534 function edit(props) {
    535   const onSelectImage = media => {
    536     let img_url = media.sizes.full.url;
    537     props.setAttributes({
    538       slideImg: img_url
    539     });
    540   };
    541   const onSelectThumb = media => {
    542     let img_url = media.sizes.full.url;
    543     props.setAttributes({
    544       thumbImg: img_url
    545     });
    546   };
    547   const isEmpty = val => {
    548     return true;
    549   };
    550   const getOverlayImage = style => {
    551     if (props.attributes.slideImg) {
    552       style.backgroundImage = `url(${props.attributes.slideImg})`;
    553     }
    554     return style;
    555   };
    556   const getOverlayColor = style => {
    557     if (props.attributes.overlayColor) {
    558       let {
    559         overlayColor
    560       } = props.attributes;
    561       style.backgroundColor = `rgba(${overlayColor.rgb.r}, ${overlayColor.rgb.g}, ${overlayColor.rgb.b}, ${overlayColor.rgb.a})`;
    562     }
    563     return style;
    564   };
    565   const setFocalPoint = value => {
    566     props.setAttributes({
    567       focalPoint: value
    568     });
    569   };
    570   const {
    571     setAttributes,
    572     hasChildBlocks,
    573     attributes
    574   } = props;
    575   let {
    576     className = ''
    577   } = props;
    578   const {
    579     slideImg,
    580     thumbImg,
    581     overlayColor,
    582     contentVHalign,
    583     slug
    584   } = attributes;
    585   className = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()(className, 'wp-swiper__slide');
    586   className = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()(className, {
    587     'has-image': isEmpty(slideImg)
    588   });
    589   className = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()(className, (0,_utils_shared__WEBPACK_IMPORTED_MODULE_7__.getPositionClassName)(contentVHalign));
    590   const blockProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.useBlockProps)({
    591     className: className,
    592     'data-tab': slug
    593   });
    594 
    595   /* Example function to render the CSS styles based on Focal Point Picker value */
    596   const style = {
    597     backgroundImage: `url(${slideImg})`,
    598     backgroundPosition: `${props.attributes.focalPoint.x * 100}% ${props.attributes.focalPoint.y * 100}%`
    599   };
    600   let style_overlay_image = {};
    601   let style_overlay_color = {};
    602   style_overlay_image = getOverlayImage(style_overlay_image);
    603   style_overlay_color = getOverlayColor(style_overlay_color);
    604   style_overlay_image = {
    605     ...style_overlay_image,
    606     ...style
    607   };
    608   return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(_wordpress_element__WEBPACK_IMPORTED_MODULE_2__.Fragment, {
    609     children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.InspectorControls, {
    610       children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelBody, {
    611         title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Image Settings'),
    612         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.BaseControl, {
    613           label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Slide Image', '@@text_domain'),
    614           children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    615             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.MediaUploadCheck, {
    616               children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.MediaUpload, {
    617                 value: slideImg,
    618                 onSelect: onSelectImage,
    619                 type: "image",
    620                 render: open => {
    621                   return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    622                     onClick: open.open,
    623                     className: "button",
    624                     children: "Select slide image"
    625                   });
    626                 }
    627               })
    628             })
    629           }), slideImg && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    630             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.FocalPointPicker, {
    631               url: slideImg,
    632               value: props.attributes.focalPoint,
    633               onDragStart: setFocalPoint,
    634               onDrag: setFocalPoint,
    635               onChange: setFocalPoint
    636             })
    637           }), slideImg && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    638             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    639               isSecondary: true,
    640               size: "small",
    641               className: "block-library-cover__reset-button",
    642               onClick: () => setAttributes({
    643                 slideImg: undefined
    644               }),
    645               children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Clear Media')
    646             })
    647           }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    648             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.MediaUploadCheck, {
    649               children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.MediaUpload, {
    650                 value: thumbImg,
    651                 onSelect: onSelectThumb,
    652                 type: "image",
    653                 render: open => {
    654                   return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    655                     onClick: open.open,
    656                     className: "button",
    657                     children: "Select thumb image"
    658                   });
    659                 }
    660               })
    661             })
    662           }), thumbImg && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    663             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.FocalPointPicker, {
    664               url: thumbImg,
    665               value: props.attributes.focalPoint,
    666               onDragStart: setFocalPoint,
    667               onDrag: setFocalPoint,
    668               onChange: setFocalPoint
    669             })
    670           }), thumbImg && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    671             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    672               isSecondary: true,
    673               size: "small",
    674               className: "block-library-cover__reset-button",
    675               onClick: () => setAttributes({
    676                 thumbImg: undefined
    677               }),
    678               children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Clear Media')
    679             })
    680           })]
    681         })
    682       })
    683     }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.BlockControls, {
    684       group: "block",
    685       children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_components_block_alignment_matrix_control__WEBPACK_IMPORTED_MODULE_4__["default"], {
    686         label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Change content position'),
    687         value: contentVHalign,
    688         onChange: value => {
    689           setAttributes({
    690             contentVHalign: value
    691           });
    692         }
    693       })
    694     }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsxs)("div", {
    695       ...blockProps,
    696       children: [slideImg && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div", {
    697         className: "wp-swiper__slide-overlay wp-swiper__slide-overlay--image",
    698         style: style_overlay_image
    699       }), overlayColor.rgb.a > 0 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)("div", {
    700         className: "wp-swiper__slide-overlay wp-swiper__slide-overlay--color",
    701         style: style_overlay_color
    702       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.InnerBlocks, {
    703         renderAppender: hasChildBlocks ? undefined : () => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_8__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.InnerBlocks.ButtonBlockAppender, {})
    704       })]
    705     })]
    706   });
    707 }
    708 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_wordpress_data__WEBPACK_IMPORTED_MODULE_3__.withSelect)((select, props) => {
    709   const {
    710     clientId
    711   } = props;
    712   const {
    713     getBlockOrder
    714   } = select('core/block-editor');
    715   return {
    716     hasChildBlocks: getBlockOrder(clientId).length > 0
    717   };
    718 })(edit));
    719 
    720 /***/ },
    721 
    722 /***/ "./src/blocks/slide/index.js"
    723 /*!***********************************!*\
    724   !*** ./src/blocks/slide/index.js ***!
    725   \***********************************/
    726 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    727 
    728 "use strict";
    729 __webpack_require__.r(__webpack_exports__);
    730 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    731 /* harmony export */   metadata: () => (/* reexport default export from named module */ _block_json__WEBPACK_IMPORTED_MODULE_0__),
    732 /* harmony export */   name: () => (/* binding */ name),
    733 /* harmony export */   settings: () => (/* binding */ settings)
    734 /* harmony export */ });
    735 /* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./block.json */ "./src/blocks/slide/block.json");
    736 /* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./edit */ "./src/blocks/slide/edit.js");
    737 /* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./save */ "./src/blocks/slide/save.js");
    738 /* harmony import */ var _deprecated__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./deprecated */ "./src/blocks/slide/deprecated.js");
    739 /**
    740  * WordPress dependencies
    741  */
    742 const {
    743   __
    744 } = wp.i18n;
    745 
    746 /**
    747  * Internal dependencies
    748  */
    749 
    750 
    751 
    752 
    753 const {
    754   name
    755 } = _block_json__WEBPACK_IMPORTED_MODULE_0__;
    756 
    757 const settings = {
    758   ..._block_json__WEBPACK_IMPORTED_MODULE_0__,
    759   title: __('Slide', '@@text_domain'),
    760   description: __('A single slide within a wp-swiper block.', '@@text_domain'),
    761   icon: 'admin',
    762   getEditWrapperProps(attributes) {
    763     return {
    764       'data-tab': attributes.slug
    765     };
    766   },
    767   edit: _edit__WEBPACK_IMPORTED_MODULE_1__["default"],
    768   save: _save__WEBPACK_IMPORTED_MODULE_2__["default"],
    769   deprecated: _deprecated__WEBPACK_IMPORTED_MODULE_3__["default"]
    770 };
    771 
    772 /***/ },
    773 
    774 /***/ "./src/blocks/slide/save.js"
    775 /*!**********************************!*\
    776   !*** ./src/blocks/slide/save.js ***!
    777   \**********************************/
    778 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    779 
    780 "use strict";
    781 __webpack_require__.r(__webpack_exports__);
    782 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    783 /* harmony export */   "default": () => (/* binding */ save)
    784 /* harmony export */ });
    785 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! classnames/dedupe */ "./node_modules/classnames/dedupe.js");
    786 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__);
    787 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
    788 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
    789 /* harmony import */ var _utils_shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/shared */ "./src/utils/shared.js");
    790 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
    791 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__);
    792 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react */ "react");
    793 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_4__);
    794 /**
    795  * External dependencies
    796  */
    797 
    798 
    799 /**
    800  * WordPress dependencies
    801  */
    802 
    803 
    804 /**
    805  * Internal dependencies
    806  */
    807 
    808 
    809 /**
    810  * Block Save Class.
    811  */
    812 
    813 
    814 function save(props) {
    815   const {
    816     attributes
    817   } = props;
    818   const {
    819     overlayColor,
    820     slug,
    821     slideImg,
    822     contentVHalign,
    823     containerWidth,
    824     focalPoint
    825   } = attributes;
    826   let className = 'wp-swiper__slide swiper-slide';
    827   if (contentVHalign != '' && typeof contentVHalign !== 'undefined') {
    828     className = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()(className, (0,_utils_shared__WEBPACK_IMPORTED_MODULE_2__.getPositionClassName)(contentVHalign));
    829   }
    830 
    831   // background size: cover
    832   // needed becaue some people
    833   // use Slide Image
    834   // under Image Settings
    835   const style = slideImg ? {
    836     backgroundImage: `url(${slideImg})`,
    837     backgroundSize: 'cover',
    838     backgroundPosition: `${focalPoint.x * 100}% ${focalPoint.y * 100}%`
    839   } : {};
    840   const contaienr_width_style = containerWidth ? {
    841     maxWidth: `${containerWidth}%`
    842   } : null;
    843   const style_overlay_color = overlayColor ? {
    844     backgroundColor: `rgba(${overlayColor.rgb.r}, ${overlayColor.rgb.g}, ${overlayColor.rgb.b}, ${overlayColor.rgb.a})`
    845   } : null;
    846   const blockProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps.save();
    847   return /*#__PURE__*/(0,react__WEBPACK_IMPORTED_MODULE_4__.createElement)("div", {
    848     ...blockProps,
    849     key: slug,
    850     "data-tab": slug,
    851     className: className,
    852     style: style
    853   }, /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
    854     className: "wp-swiper__overlay-color",
    855     ...(style_overlay_color && {
    856       style: style_overlay_color
    857     })
    858   }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
    859     className: "wp-swiper__slide-content",
    860     style: contaienr_width_style,
    861     children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InnerBlocks.Content, {})
    862   }));
    863 }
    864 
    865 /***/ },
    866 
    867 /***/ "./src/blocks/slide/save1033.js"
    868 /*!**************************************!*\
    869   !*** ./src/blocks/slide/save1033.js ***!
    870   \**************************************/
    871 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    872 
    873 "use strict";
    874 __webpack_require__.r(__webpack_exports__);
    875 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    876 /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
    877 /* harmony export */ });
    878 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! classnames/dedupe */ "./node_modules/classnames/dedupe.js");
    879 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__);
    880 /* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./block.json */ "./src/blocks/slide/block.json");
    881 /* harmony import */ var _utils_shared__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils/shared */ "./src/utils/shared.js");
    882 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
    883 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__);
    884 /**
    885  * External dependencies
    886  */
    887 
    888 
    889 /**
    890  * WordPress dependencies
    891  */
    892 const {
    893   applyFilters
    894 } = wp.hooks;
    895 const {
    896   Component
    897 } = wp.element;
    898 const {
    899   InnerBlocks
    900 } = wp.blockEditor;
    901 
    902 /**
    903  * Internal dependencies
    904  */
    905 
    906 
    907 
    908 const {
    909   name
    910 } = _block_json__WEBPACK_IMPORTED_MODULE_1__;
    911 
    912 /**
    913  * Block Save Class.
    914  */
    915 class BlockSave extends Component {
    916   render() {
    917     const {
    918       overlayColor,
    919       slug,
    920       slideImg,
    921       contentVHalign,
    922       containerWidth
    923     } = this.props.attributes;
    924     let className = 'wp-swiper__slide swiper-slide';
    925     if (contentVHalign != '' && typeof contentVHalign !== 'undefined') {
    926       className = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()(className, (0,_utils_shared__WEBPACK_IMPORTED_MODULE_2__.getPositionClassName)(contentVHalign));
    927     }
    928 
    929     // background size: cover
    930     // needed becaue some people
    931     // use Slide Image
    932     // under Image Settings
    933     const style = slideImg ? {
    934       backgroundImage: `url(${slideImg})`,
    935       backgroundSize: 'cover'
    936     } : {};
    937     const contaienr_width_style = containerWidth ? {
    938       maxWidth: `${containerWidth}%`
    939     } : null;
    940     const style_overlay_color = overlayColor ? {
    941       backgroundColor: `rgba(${overlayColor.rgb.r}, ${overlayColor.rgb.g}, ${overlayColor.rgb.b}, ${overlayColor.rgb.a})`
    942     } : {};
    943     return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", {
    944       className: className,
    945       "data-tab": slug,
    946       style: style,
    947       children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
    948         className: "wp-swiper__overlay-color",
    949         style: style_overlay_color
    950       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("div", {
    951         className: "wp-swiper__slide-content",
    952         style: contaienr_width_style,
    953         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(InnerBlocks.Content, {})
    954       })]
    955     });
    956   }
    957 }
    958 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (BlockSave);
    959 
    960 /***/ },
    961 
    962 /***/ "./src/blocks/slides/block.json"
    963 /*!**************************************!*\
    964   !*** ./src/blocks/slides/block.json ***!
    965   \**************************************/
    966 (module) {
    967 
    968 "use strict";
    969 module.exports = /*#__PURE__*/JSON.parse('{"apiVersion":3,"name":"da/wp-swiper-slides","category":"media","supports":{"html":false,"className":false,"anchor":true,"align":["wide","full"]},"attributes":{"align":{"type":"string","default":""},"txtColor":{"type":"string"},"overlayColor":{"type":"object","default":{"rgb":{"r":0,"g":0,"b":0,"a":0}}},"containerWidth":{"type":"number"},"overlayImg":{"type":"string"},"previousIcon":{"type":"string"},"nextIcon":{"type":"string"},"overlayImgOpacity":{"type":"number","default":0.5},"currentSlide":{"type":"number","default":0},"tabActive":{"type":"string","default":"slide-1"},"buttonsAlign":{"type":"string","default":"start"},"autoplay":{"type":"boolean","default":false},"disableOnInteraction":{"type":"boolean","default":true},"pauseOnMouseEnter":{"type":"boolean","default":false},"reverseDirection":{"type":"boolean","default":false},"stopOnLastSlide":{"type":"boolean","default":false},"waitForTransition":{"type":"boolean","default":true},"navigation":{"type":"boolean","default":true},"pagination":{"type":"boolean","default":true},"clickable_pagination":{"type":"boolean","default":false},"loop":{"type":"boolean","default":false},"loopAddBlankSlides":{"type":"boolean","default":true},"loopAdditionalSlides":{"type":"number","default":0},"effect":{"type":"string","default":"slide"},"speed":{"type":"number","default":500},"delay":{"type":"number","default":3000},"slidesPerView":{"type":"string","default":"1"},"slidesPerGroup":{"type":"number","default":1},"slidesPerGroupAuto":{"type":"boolean","default":false},"slidesPerGroupSkip":{"type":"number","default":0},"spaceBetween":{"type":"number","default":0},"autoSlideWidth":{"type":"boolean","default":false},"slidesOffsetBefore":{"type":"number","default":0},"slidesOffsetAfter":{"type":"number","default":0},"tabsData":{"type":"array","default":[{"clientId":"","slug":"slide-1","slideImg":"","thumbImg":""}]},"breakpoints":{"type":"string"},"thumbs":{"type":"boolean","default":false},"thumbsSlidesPerView":{"type":"number","default":4},"thumbsSpaceBetween":{"type":"number","default":10},"autoHeight":{"type":"boolean","default":true},"freeMode":{"type":"boolean","default":false},"freeModeMinimumVelocity":{"type":"number","default":0.02},"freeModeMomentum":{"type":"boolean","default":true},"freeModeMomentumBounce":{"type":"boolean","default":true},"freeModeMomentumBounceRatio":{"type":"number","default":1},"freeModeMomentumRatio":{"type":"number","default":1},"freeModeMomentumVelocityRatio":{"type":"number","default":1},"freeModeSticky":{"type":"boolean","default":false},"debug":{"type":"boolean","default":false},"direction":{"type":"string","default":"horizontal"},"overflowVisible":{"type":"boolean","default":false}}}');
    970 
    971 /***/ },
    972 
    973 /***/ "./src/blocks/slides/deprecated.js"
    974 /*!*****************************************!*\
    975   !*** ./src/blocks/slides/deprecated.js ***!
    976   \*****************************************/
    977 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    978 
    979 "use strict";
    980 __webpack_require__.r(__webpack_exports__);
    981 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    982 /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
    983 /* harmony export */ });
    984 /* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./block.json */ "./src/blocks/slides/block.json");
    985 /* harmony import */ var _oldsave__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./oldsave */ "./src/blocks/slides/oldsave.js");
    986 /* harmony import */ var _save_v1__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./save-v1 */ "./src/blocks/slides/save-v1.js");
    987 /**
    988  * Internal dependencies
    989  */
    990 
    991 
    992 
    993 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ([
    994 // Version 2: Migrate from sticky to freeModeSticky
    995 {
    996   attributes: {
    997     ..._block_json__WEBPACK_IMPORTED_MODULE_0__.attributes,
    998     sticky: {
    999       type: 'boolean',
    1000       default: false
    1001     }
    1002   },
    1003   save: _save_v1__WEBPACK_IMPORTED_MODULE_2__["default"],
    1004   migrate(attributes) {
    1005     // Migrate old sticky attribute to freeModeSticky
    1006     const {
    1007       sticky,
    1008       ...restAttributes
    1009     } = attributes;
    1010     return {
    1011       ...restAttributes,
    1012       freeModeSticky: sticky || false
    1013     };
    1014   }
    1015 },
    1016 // Version 1: Original old save format
    1017 {
    1018   save: _oldsave__WEBPACK_IMPORTED_MODULE_1__["default"]
    1019 }]);
    1020 
    1021 /***/ },
    1022 
    1023 /***/ "./src/blocks/slides/edit.js"
    1024 /*!***********************************!*\
    1025   !*** ./src/blocks/slides/edit.js ***!
    1026   \***********************************/
    1027 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    1028 
    1029 "use strict";
    1030 __webpack_require__.r(__webpack_exports__);
    1031 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    1032 /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
    1033 /* harmony export */ });
    1034 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! classnames/dedupe */ "./node_modules/classnames/dedupe.js");
    1035 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__);
    1036 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
    1037 /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
    1038 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
    1039 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__);
    1040 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
    1041 /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__);
    1042 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
    1043 /* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__);
    1044 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
    1045 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__);
    1046 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
    1047 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__);
    1048 /* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/compose */ "@wordpress/compose");
    1049 /* harmony import */ var _wordpress_compose__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__);
    1050 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
    1051 /* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_8__);
    1052 /* harmony import */ var _components_remove_button__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../components/remove-button */ "./src/components/remove-button/index.js");
    1053 /* harmony import */ var _utils_get_unique_slug__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/get-unique-slug */ "./src/utils/get-unique-slug/index.js");
    1054 /* harmony import */ var _utils_get_image__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../utils/get-image */ "./src/utils/get-image/index.js");
    1055 /* harmony import */ var _utils_shared__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils/shared */ "./src/utils/shared.js");
    1056 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
    1057 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__);
    1058 /**
    1059  * External dependencies
    1060  */
    1061 
    1062 
    1063 /**
    1064  * WordPress dependencies
    1065  */
    1066 
    1067 
    1068 
    1069 
    1070 
    1071 
    1072 
    1073 
    1074 
    1075 /**
    1076  * Internal dependencies
    1077  */
    1078 
    1079 
    1080 
    1081 
    1082 
    1083 // Template for default inner blocks (one slide by default)
    1084 
    1085 const INNER_BLOCKS_TEMPLATE = [['da/wp-swiper-slide', {
    1086   slug: 'slide-1'
    1087 }]];
    1088 
    1089 /**
    1090  * Helper function to build the Swiper config object from attributes
    1091  * This mirrors the logic in save.js to generate the same data-swiper JSON
    1092  */
    1093 function buildSwiperConfig(attributes) {
    1094   const {
    1095     slidesPerView,
    1096     slidesPerGroup,
    1097     slidesPerGroupAuto,
    1098     slidesPerGroupSkip,
    1099     spaceBetween,
    1100     autoSlideWidth,
    1101     autoplay,
    1102     disableOnInteraction,
    1103     pauseOnMouseEnter,
    1104     reverseDirection,
    1105     stopOnLastSlide,
    1106     waitForTransition,
    1107     delay,
    1108     speed,
    1109     loop,
    1110     loopAddBlankSlides,
    1111     loopAdditionalSlides,
    1112     effect,
    1113     navigation,
    1114     mousewheel,
    1115     releaseOnEdges,
    1116     pagination_type,
    1117     clickable_pagination,
    1118     breakpoints,
    1119     freeMode,
    1120     freeModeMinimumVelocity,
    1121     freeModeMomentum,
    1122     freeModeMomentumBounce,
    1123     freeModeMomentumBounceRatio,
    1124     freeModeMomentumRatio,
    1125     freeModeMomentumVelocityRatio,
    1126     freeModeSticky,
    1127     autoHeight,
    1128     direction,
    1129     slidesOffsetBefore,
    1130     slidesOffsetAfter
    1131   } = attributes;
    1132   let data_atts = {
    1133     slidesPerView: slidesPerView === 'auto' ? 'auto' : parseInt(slidesPerView, 10),
    1134     slidesPerGroup,
    1135     slidesPerGroupAuto,
    1136     slidesPerGroupSkip,
    1137     navigation,
    1138     pagination: {},
    1139     delay: delay,
    1140     speed: speed,
    1141     loop: loop,
    1142     direction,
    1143     slidesOffsetBefore,
    1144     slidesOffsetAfter,
    1145     autoHeight,
    1146     spaceBetween,
    1147     releaseOnEdges
    1148   };
    1149 
    1150   // Auto Slide Width logic
    1151   if (autoSlideWidth) {
    1152     data_atts.autoSlideWidth = true;
    1153   }
    1154 
    1155   // Mousewheel and release on edges logic
    1156   if (mousewheel && releaseOnEdges) {
    1157     data_atts.mousewheel = {
    1158       releaseOnEdges: releaseOnEdges === 'true'
    1159     };
    1160   }
    1161 
    1162   // Loop logic
    1163   if (loop) {
    1164     data_atts.loopAddBlankSlides = loopAddBlankSlides;
    1165     data_atts.loopAdditionalSlides = loopAdditionalSlides;
    1166   }
    1167 
    1168   // Effect logic
    1169   if (effect) {
    1170     data_atts.effect = effect;
    1171     if (effect === 'fade') {
    1172       data_atts.fadeEffect = {
    1173         crossFade: true
    1174       };
    1175     }
    1176   }
    1177 
    1178   // Autoplay logic
    1179   if (autoplay) {
    1180     data_atts.autoplay = true;
    1181     if (delay !== null && delay !== undefined) {
    1182       data_atts.autoplay = {
    1183         delay: Number(delay)
    1184       };
    1185     }
    1186     if (disableOnInteraction) {
    1187       if (!data_atts.autoplay || data_atts.autoplay === true) {
    1188         data_atts.autoplay = {};
    1189       }
    1190       data_atts.autoplay.disableOnInteraction = true;
    1191     }
    1192     if (pauseOnMouseEnter) {
    1193       if (!data_atts.autoplay || data_atts.autoplay === true) {
    1194         data_atts.autoplay = {};
    1195       }
    1196       data_atts.autoplay.pauseOnMouseEnter = true;
    1197     }
    1198     if (reverseDirection) {
    1199       if (!data_atts.autoplay || data_atts.autoplay === true) {
    1200         data_atts.autoplay = {};
    1201       }
    1202       data_atts.autoplay.reverseDirection = true;
    1203     }
    1204     if (stopOnLastSlide) {
    1205       if (!data_atts.autoplay || data_atts.autoplay === true) {
    1206         data_atts.autoplay = {};
    1207       }
    1208       data_atts.autoplay.stopOnLastSlide = true;
    1209     }
    1210     if (waitForTransition !== undefined && waitForTransition !== null) {
    1211       if (!data_atts.autoplay || data_atts.autoplay === true) {
    1212         data_atts.autoplay = {};
    1213       }
    1214       data_atts.autoplay.waitForTransition = waitForTransition;
    1215     }
    1216   }
    1217 
    1218   // Freemode
    1219   if (freeMode) {
    1220     data_atts.freeMode = {
    1221       enabled: true,
    1222       minimumVelocity: freeModeMinimumVelocity,
    1223       momentum: freeModeMomentum,
    1224       momentumBounce: freeModeMomentumBounce,
    1225       momentumBounceRatio: freeModeMomentumBounceRatio,
    1226       momentumRatio: freeModeMomentumRatio,
    1227       momentumVelocityRatio: freeModeMomentumVelocityRatio,
    1228       sticky: freeModeSticky
    1229     };
    1230   }
    1231 
    1232   // Pagination
    1233   data_atts.pagination.type = pagination_type !== 'bullets' ? pagination_type : 'bullets';
    1234   if (clickable_pagination) {
    1235     data_atts.pagination.clickable = clickable_pagination ? true : '';
    1236   }
    1237   if (typeof breakpoints !== 'undefined' && breakpoints !== '') {
    1238     data_atts.breakpoints = breakpoints;
    1239   }
    1240   return data_atts;
    1241 }
    1242 
    1243 /**
    1244  * Swiper Config Editor Component
    1245  * Displays editable JSON config for the slider
    1246  */
    1247 function SwiperConfigEditor({
    1248   attributes,
    1249   setAttributes
    1250 }) {
    1251   const [jsonValue, setJsonValue] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)('');
    1252   const [isValid, setIsValid] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);
    1253   const [hasChanges, setHasChanges] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(false);
    1254 
    1255   // Build the current config from attributes
    1256   const currentConfig = buildSwiperConfig(attributes);
    1257   const currentConfigJson = JSON.stringify(currentConfig, null, 2);
    1258 
    1259   // Update local state when attributes change (but only if user hasn't made changes)
    1260   (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
    1261     if (!hasChanges) {
    1262       setJsonValue(currentConfigJson);
    1263     }
    1264   }, [currentConfigJson, hasChanges]);
    1265 
    1266   // Initialize on mount
    1267   (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
    1268     setJsonValue(currentConfigJson);
    1269   }, []);
    1270   const handleJsonChange = value => {
    1271     setJsonValue(value);
    1272     setHasChanges(true);
    1273 
    1274     // Validate JSON
    1275     try {
    1276       JSON.parse(value);
    1277       setIsValid(true);
    1278     } catch (e) {
    1279       setIsValid(false);
    1280     }
    1281   };
    1282   const handleSave = () => {
    1283     if (!isValid) return;
    1284     try {
    1285       const parsed = JSON.parse(jsonValue);
    1286 
    1287       // Map JSON config back to block attributes
    1288       const newAttributes = {};
    1289       if (parsed.slidesPerView !== undefined) newAttributes.slidesPerView = parsed.slidesPerView;
    1290       if (parsed.slidesPerGroup !== undefined) newAttributes.slidesPerGroup = parsed.slidesPerGroup;
    1291       if (parsed.slidesPerGroupAuto !== undefined) newAttributes.slidesPerGroupAuto = parsed.slidesPerGroupAuto;
    1292       if (parsed.slidesPerGroupSkip !== undefined) newAttributes.slidesPerGroupSkip = parsed.slidesPerGroupSkip;
    1293       if (parsed.spaceBetween !== undefined) newAttributes.spaceBetween = parsed.spaceBetween;
    1294       if (parsed.autoSlideWidth !== undefined) newAttributes.autoSlideWidth = parsed.autoSlideWidth;
    1295       if (parsed.navigation !== undefined) newAttributes.navigation = parsed.navigation;
    1296       if (parsed.delay !== undefined) newAttributes.delay = parsed.delay;
    1297       if (parsed.speed !== undefined) newAttributes.speed = parsed.speed;
    1298       if (parsed.loop !== undefined) newAttributes.loop = parsed.loop;
    1299       if (parsed.direction !== undefined) newAttributes.direction = parsed.direction;
    1300       if (parsed.slidesOffsetBefore !== undefined) newAttributes.slidesOffsetBefore = parsed.slidesOffsetBefore;
    1301       if (parsed.slidesOffsetAfter !== undefined) newAttributes.slidesOffsetAfter = parsed.slidesOffsetAfter;
    1302       if (parsed.autoHeight !== undefined) newAttributes.autoHeight = parsed.autoHeight;
    1303       if (parsed.releaseOnEdges !== undefined) newAttributes.releaseOnEdges = parsed.releaseOnEdges;
    1304       if (parsed.effect !== undefined) newAttributes.effect = parsed.effect;
    1305       if (parsed.loopAddBlankSlides !== undefined) newAttributes.loopAddBlankSlides = parsed.loopAddBlankSlides;
    1306       if (parsed.loopAdditionalSlides !== undefined) newAttributes.loopAdditionalSlides = parsed.loopAdditionalSlides;
    1307 
    1308       // Handle autoplay object
    1309       if (parsed.autoplay !== undefined) {
    1310         if (parsed.autoplay === true || typeof parsed.autoplay === 'object') {
    1311           newAttributes.autoplay = true;
    1312           if (typeof parsed.autoplay === 'object') {
    1313             if (parsed.autoplay.delay !== undefined) newAttributes.delay = parsed.autoplay.delay;
    1314             if (parsed.autoplay.disableOnInteraction !== undefined) newAttributes.disableOnInteraction = parsed.autoplay.disableOnInteraction;
    1315             if (parsed.autoplay.pauseOnMouseEnter !== undefined) newAttributes.pauseOnMouseEnter = parsed.autoplay.pauseOnMouseEnter;
    1316             if (parsed.autoplay.reverseDirection !== undefined) newAttributes.reverseDirection = parsed.autoplay.reverseDirection;
    1317             if (parsed.autoplay.stopOnLastSlide !== undefined) newAttributes.stopOnLastSlide = parsed.autoplay.stopOnLastSlide;
    1318             if (parsed.autoplay.waitForTransition !== undefined) newAttributes.waitForTransition = parsed.autoplay.waitForTransition;
    1319           }
    1320         } else {
    1321           newAttributes.autoplay = false;
    1322         }
    1323       }
    1324 
    1325       // Handle freeMode object
    1326       if (parsed.freeMode !== undefined) {
    1327         if (typeof parsed.freeMode === 'object' && parsed.freeMode.enabled) {
    1328           newAttributes.freeMode = true;
    1329           if (parsed.freeMode.minimumVelocity !== undefined) newAttributes.freeModeMinimumVelocity = parsed.freeMode.minimumVelocity;
    1330           if (parsed.freeMode.momentum !== undefined) newAttributes.freeModeMomentum = parsed.freeMode.momentum;
    1331           if (parsed.freeMode.momentumBounce !== undefined) newAttributes.freeModeMomentumBounce = parsed.freeMode.momentumBounce;
    1332           if (parsed.freeMode.momentumBounceRatio !== undefined) newAttributes.freeModeMomentumBounceRatio = parsed.freeMode.momentumBounceRatio;
    1333           if (parsed.freeMode.momentumRatio !== undefined) newAttributes.freeModeMomentumRatio = parsed.freeMode.momentumRatio;
    1334           if (parsed.freeMode.momentumVelocityRatio !== undefined) newAttributes.freeModeMomentumVelocityRatio = parsed.freeMode.momentumVelocityRatio;
    1335           if (parsed.freeMode.sticky !== undefined) newAttributes.freeModeSticky = parsed.freeMode.sticky;
    1336         } else {
    1337           newAttributes.freeMode = false;
    1338         }
    1339       }
    1340 
    1341       // Handle pagination object
    1342       if (parsed.pagination !== undefined) {
    1343         if (parsed.pagination.type !== undefined) newAttributes.pagination_type = parsed.pagination.type;
    1344         if (parsed.pagination.clickable !== undefined) newAttributes.clickable_pagination = parsed.pagination.clickable;
    1345       }
    1346 
    1347       // Handle breakpoints
    1348       if (parsed.breakpoints !== undefined) newAttributes.breakpoints = parsed.breakpoints;
    1349 
    1350       // Handle mousewheel
    1351       if (parsed.mousewheel !== undefined) {
    1352         newAttributes.mousewheel = true;
    1353         if (typeof parsed.mousewheel === 'object' && parsed.mousewheel.releaseOnEdges !== undefined) {
    1354           newAttributes.releaseOnEdges = parsed.mousewheel.releaseOnEdges ? 'true' : 'false';
    1355         }
    1356       }
    1357       setAttributes(newAttributes);
    1358       setHasChanges(false);
    1359     } catch (e) {
    1360       console.error('Failed to parse JSON config:', e);
    1361     }
    1362   };
    1363   const handleReset = () => {
    1364     setJsonValue(currentConfigJson);
    1365     setHasChanges(false);
    1366     setIsValid(true);
    1367   };
    1368   const helperTextStyle = {
    1369     marginTop: '8px',
    1370     fontSize: '12px',
    1371     fontStyle: 'normal',
    1372     color: 'rgb(117, 117, 117)',
    1373     marginBottom: '12px'
    1374   };
    1375   return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment, {
    1376     children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.BaseControl, {
    1377       label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Swiper Configuration (JSON)'),
    1378       help: !isValid ? (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Invalid JSON format. Please fix the syntax errors.') : '',
    1379       children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("textarea", {
    1380         value: jsonValue,
    1381         onChange: e => handleJsonChange(e.target.value),
    1382         rows: 15,
    1383         style: {
    1384           width: '100%',
    1385           fontFamily: 'monospace',
    1386           fontSize: '11px',
    1387           padding: '8px',
    1388           border: `1px solid ${isValid ? '#8c8f94' : '#cc1818'}`,
    1389           borderRadius: '4px',
    1390           backgroundColor: isValid ? '#fff' : '#fff5f5',
    1391           resize: 'vertical'
    1392         }
    1393       })
    1394     }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1395       children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    1396         variant: "primary",
    1397         onClick: handleSave,
    1398         disabled: !isValid || !hasChanges,
    1399         style: {
    1400           marginRight: '8px'
    1401         },
    1402         children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Apply Changes')
    1403       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    1404         variant: "secondary",
    1405         onClick: handleReset,
    1406         disabled: !hasChanges,
    1407         children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Reset')
    1408       })]
    1409     }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("p", {
    1410       style: helperTextStyle,
    1411       children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('This JSON object represents the Swiper initialization configuration. You can edit properties directly here and click "Apply Changes" to update the slider settings. This is useful for advanced customizations or copying configurations between sliders.')
    1412     }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)("p", {
    1413       style: helperTextStyle,
    1414       children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("strong", {
    1415         children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Tip:')
    1416       }), " ", (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Changes made here will update the corresponding settings in the sidebar panels. Some nested properties (like autoplay options) will be extracted to their respective settings.')]
    1417     })]
    1418   });
    1419 }
    1420 
    1421 /**
    1422  * Block Edit Class.
    1423  */
    1424 function BlockEdit(props) {
    1425   const {
    1426     clientId,
    1427     attributes,
    1428     setAttributes,
    1429     isSelectedBlockInRoot,
    1430     getBlocks,
    1431     replaceInnerBlocks,
    1432     updateBlockAttributes,
    1433     block,
    1434     updateSlugsForInnerBlocks
    1435   } = props;
    1436   let {
    1437     className
    1438   } = props;
    1439   const blockProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.useBlockProps)();
    1440   const {
    1441     tabActive,
    1442     buttonsAlign,
    1443     tabsData,
    1444     txtColor,
    1445     overlayColor,
    1446     overlayImg,
    1447     overlayImgOpacity,
    1448     autoplay,
    1449     disableOnInteraction,
    1450     pauseOnMouseEnter,
    1451     reverseDirection,
    1452     stopOnLastSlide,
    1453     waitForTransition,
    1454     delay,
    1455     speed,
    1456     loop,
    1457     loopAddBlankSlides,
    1458     loopAdditionalSlides,
    1459     effect,
    1460     slidesPerView,
    1461     slidesPerGroup,
    1462     slidesPerGroupAuto,
    1463     slidesPerGroupSkip,
    1464     spaceBetween,
    1465     autoSlideWidth,
    1466     navigation,
    1467     pagination,
    1468     containerWidth,
    1469     mousewheel,
    1470     releaseOnEdges,
    1471     pagination_type,
    1472     clickable_pagination,
    1473     breakpoints,
    1474     freeMode,
    1475     freeModeMinimumVelocity,
    1476     freeModeMomentum,
    1477     freeModeMomentumBounce,
    1478     freeModeMomentumBounceRatio,
    1479     freeModeMomentumRatio,
    1480     freeModeMomentumVelocityRatio,
    1481     freeModeSticky,
    1482     thumbs,
    1483     thumbsSlidesPerView,
    1484     thumbsSpaceBetween,
    1485     autoHeight,
    1486     debug,
    1487     direction,
    1488     previousIcon,
    1489     nextIcon,
    1490     slidesOffsetBefore,
    1491     slidesOffsetAfter,
    1492     overflowVisible
    1493   } = attributes;
    1494   const child_blocks = getBlocks(clientId);
    1495   (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
    1496     // Extract the client IDs of the inner blocks
    1497     const prevClientIdOrder = block.innerBlocks.map(ib => ib.attributes.slug);
    1498     const propClientIdOrder = props.attributes.tabsData.map(tabData => tabData.slug);
    1499     const prevThumbImg = block.innerBlocks.map(ib => ib.attributes.thumbImg);
    1500     const propThumbImg = props.attributes.tabsData.map(tabData => tabData.thumbImg);
    1501 
    1502     // console.log({
    1503     //  child_blocks,
    1504     //  innerBlocks: block.innerBlocks,
    1505     //  prevClientIdOrder,
    1506     //  propClientIdOrder,
    1507     //  areArraysEqualWithoutOrder: areArraysEqualWithoutOrder(prevClientIdOrder, propClientIdOrder),
    1508     // });
    1509 
    1510     // Disabled: for now, this was preventing the thumbs to update
    1511     // Check if the order of client IDs has changed
    1512 
    1513     let counter = 0;
    1514 
    1515     // if we disable this line of code, then adding new slide doesnt work
    1516     // intorducing if else , fixed the problem, above line can be removed
    1517     // && is important to make sure both conditions are evaluated before proceeding
    1518     if (!areArraysEqualWithoutOrder(prevClientIdOrder, propClientIdOrder && !areArraysEqualWithoutOrder(prevThumbImg, propThumbImg))) {
    1519       const newTabsData = block.innerBlocks.map((tabData, index) => {
    1520         counter++;
    1521 
    1522         // removed: logically we do this step later in setAttributes
    1523         // updateBlockAttributes(tabData.clientId, {
    1524         //  slug: `slide-${counter}`,
    1525         // });
    1526 
    1527         // console.log({
    1528         //  "trigger": "child_blocks",
    1529         //  clientId: tabData.clientId,
    1530         //  slideImg: tabData.attributes.slideImg,
    1531         //  thumbImg: tabData.attributes.thumbImg,
    1532         //  slug: `slide-${counter}`,
    1533         // });
    1534 
    1535         return {
    1536           clientId: tabData.clientId,
    1537           slideImg: tabData.attributes.slideImg,
    1538           thumbImg: tabData.attributes.thumbImg,
    1539           slug: `slide-${counter}`
    1540         };
    1541       });
    1542       updateSlugsForInnerBlocks(block.innerBlocks);
    1543       setAttributes({
    1544         tabsData: newTabsData
    1545       });
    1546     }
    1547   }, [child_blocks]);
    1548   const [alignment, setAlignment] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)('bottom center');
    1549 
    1550   // Function to check if two arrays are equal without considering the order of elements
    1551   const areArraysEqualWithoutOrder = (arr1, arr2) => {
    1552     // Check if the lengths of the arrays are different, if so, they can't be equal
    1553     if (arr1.length !== arr2.length) {
    1554       // Arrays have different lengths, so they are not equal
    1555       return false;
    1556     }
    1557 
    1558     // Use the every() method to check if every element at the same index is equal
    1559     return arr1.every((value, index) => {
    1560       // console.log(`Comparing: "${value}" === "${arr2[index]}"`);
    1561       return value === arr2[index];
    1562     });
    1563   };
    1564 
    1565   /**
    1566    * Returns the layouts configuration for a given number of tabs.
    1567    *
    1568    * @param {number} attributes tabs attributes.
    1569    *
    1570    * @return {Object[]} Tabs layout configuration.
    1571    */
    1572   const getTabsTemplate = () => {
    1573     const {
    1574       tabsData
    1575     } = attributes;
    1576     return tabsData.map(tabData => ['da/wp-swiper-slide', tabData]);
    1577   };
    1578   const getTabs = () => {
    1579     return block.innerBlocks;
    1580   };
    1581   const changeLabel = (dataType, value, i) => {
    1582     const {
    1583       setAttributes,
    1584       attributes,
    1585       updateBlockAttributes
    1586     } = props;
    1587     const {
    1588       tabsData
    1589     } = attributes;
    1590     const tabs = getTabs();
    1591     if (tabs[i]) {
    1592       const newSlug = dataType == 'title' ? (0,_utils_get_unique_slug__WEBPACK_IMPORTED_MODULE_10__["default"])(`tab ${value}`, tabs[i].clientId) : tabsData[i].slug;
    1593       const newTabsData = tabsData.map((oldTabData, newIndex) => {
    1594         if (i === newIndex) {
    1595           return {
    1596             ...oldTabData,
    1597             ...{
    1598               title: dataType == 'title' ? value : tabsData[i].title,
    1599               subtitle: dataType == 'subtitle' ? value : tabsData[i].subtitle,
    1600               image: dataType == 'image' ? value : tabsData[i].image,
    1601               overlayImg: dataType == 'overlayImg' ? value : tabsData[i].overlayImg,
    1602               overlayColor: dataType == 'overlayColor' ? value : tabsData[i].overlayColor,
    1603               slug: newSlug
    1604             }
    1605           };
    1606         }
    1607         return oldTabData;
    1608       });
    1609       setAttributes({
    1610         currentSlide: i,
    1611         tabActive: newSlug,
    1612         tabsData: newTabsData
    1613       });
    1614       updateBlockAttributes(tabs[i].clientId, {
    1615         slug: newSlug
    1616       });
    1617     }
    1618   };
    1619   const removeTab = i => {
    1620     const {
    1621       setAttributes,
    1622       attributes,
    1623       block,
    1624       getBlocks,
    1625       replaceInnerBlocks,
    1626       removeBlock
    1627     } = props;
    1628     const {
    1629       tabsData = []
    1630     } = attributes;
    1631     if (1 >= block.innerBlocks.length) {
    1632       removeBlock(block.clientId);
    1633     } else if (block.innerBlocks[i]) {
    1634       if (tabsData[i]) {
    1635         const newTabsData = (0,_utils_shared__WEBPACK_IMPORTED_MODULE_12__.deepClone)(tabsData);
    1636         newTabsData.splice(i, 1);
    1637 
    1638         // const slug = i;
    1639         // tabsData[i] = {
    1640         //  ...tabsData[i],
    1641         //  slug: `slide-${slug}`,
    1642         // };
    1643         // console.log('2', tabsData);
    1644 
    1645         // update slug attribute
    1646         // for inner blocks (slide)
    1647 
    1648         removeBlock(block.innerBlocks[i].clientId);
    1649         for (let j = i; j < newTabsData.length; j++) {
    1650           const newSlug = `slide-${j + 1}`;
    1651           newTabsData[j].slug = newSlug;
    1652           updateBlockAttributes(newTabsData[j].clientId, {
    1653             slug: newSlug
    1654           });
    1655         }
    1656         setAttributes({
    1657           tabsData: newTabsData
    1658         });
    1659       }
    1660     }
    1661   };
    1662   (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(() => {
    1663     return;
    1664     // removed by dead control flow
    1665 
    1666 
    1667     // Extract the client IDs of the inner blocks
    1668     // removed by dead control flow
    1669 
    1670     // removed by dead control flow
    1671 
    1672 
    1673     // Check if the order of client IDs has changed
    1674     // removed by dead control flow
    1675 
    1676   }, [tabsData]);
    1677   className = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()(className, 'wp-swiper__slides');
    1678   let buttonsAlignValForControl = buttonsAlign;
    1679   if (buttonsAlignValForControl === 'start') {
    1680     buttonsAlignValForControl = 'left';
    1681   } else if (buttonsAlignValForControl === 'end') {
    1682     buttonsAlignValForControl = 'right';
    1683   }
    1684 
    1685   // used for the map function to create numbered tabs
    1686   let counter = 1;
    1687   const style = txtColor ? {
    1688     color: txtColor
    1689   } : {};
    1690   const Seperator = () => {
    1691     return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1692       children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("div", {
    1693         style: {
    1694           borderTop: '1px solid #dddddd',
    1695           marginTop: '16px',
    1696           marginBottom: '16px',
    1697           width: '100%'
    1698         }
    1699       })
    1700     });
    1701   };
    1702   return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_wordpress_element__WEBPACK_IMPORTED_MODULE_3__.Fragment, {
    1703     children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.InspectorControls, {
    1704       children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelBody, {
    1705         title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Overlay Settings'),
    1706         initialOpen: false,
    1707         children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1708           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.MediaUploadCheck, {
    1709             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.MediaUpload, {
    1710               value: overlayImg,
    1711               onSelect: media => {
    1712                 let img_url = media.sizes.full.url;
    1713                 setAttributes({
    1714                   overlayImg: img_url
    1715                 });
    1716               },
    1717               type: "image",
    1718               render: open => {
    1719                 return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    1720                   onClick: open.open,
    1721                   className: "button",
    1722                   children: "Select overlay image"
    1723                 });
    1724               }
    1725             })
    1726           })
    1727         }), overlayImg && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1728           children: (0,_utils_get_image__WEBPACK_IMPORTED_MODULE_11__["default"])(overlayImg)
    1729         }), overlayImg && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1730           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    1731             isSecondary: true,
    1732             size: "small",
    1733             className: "block-library-cover__reset-button",
    1734             onClick: () => setAttributes({
    1735               overlayImg: undefined
    1736             }),
    1737             children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Clear Media')
    1738           })
    1739         }), overlayImg && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.BaseControl, {
    1740           label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Image Overlay Opacity', '@@text_domain'),
    1741           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.RangeControl, {
    1742             label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Opacity'),
    1743             value: overlayImgOpacity,
    1744             onChange: value => setAttributes({
    1745               overlayImgOpacity: value
    1746             }),
    1747             min: 0,
    1748             max: 1,
    1749             step: 0.01,
    1750             required: true
    1751           })
    1752         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(Seperator, {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.BaseControl, {
    1753           label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Overlay Color', '@@text_domain'),
    1754           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ColorPicker, {
    1755             color: overlayColor.hex || overlayColor,
    1756             onChangeComplete: color => {
    1757               setAttributes({
    1758                 overlayColor: color
    1759               });
    1760               let iBlocks = block.innerBlocks;
    1761               iBlocks.map(iBlock => {
    1762                 updateBlockAttributes(iBlock.clientId, {
    1763                   overlayColor: color
    1764                 });
    1765               });
    1766             }
    1767           })
    1768         }), overlayColor.rgb.a > 0 && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1769           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    1770             isSecondary: true,
    1771             size: "small",
    1772             className: "block-library-cover__reset-button",
    1773             onClick: () => {
    1774               const defaultColor = {
    1775                 rgb: {
    1776                   r: 0,
    1777                   g: 0,
    1778                   b: 0,
    1779                   a: 0
    1780                 }
    1781               };
    1782               setAttributes({
    1783                 overlayColor: defaultColor
    1784               });
    1785 
    1786               // Update all inner blocks
    1787               let iBlocks = block.innerBlocks;
    1788               iBlocks.map(iBlock => {
    1789                 updateBlockAttributes(iBlock.clientId, {
    1790                   overlayColor: defaultColor
    1791                 });
    1792               });
    1793             },
    1794             children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Clear Color')
    1795           })
    1796         })]
    1797       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelBody, {
    1798         title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Color Settings'),
    1799         initialOpen: false,
    1800         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.BaseControl, {
    1801           label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Text Color', '@@text_domain'),
    1802           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ColorPicker, {
    1803             color: txtColor,
    1804             onChangeComplete: color => setAttributes({
    1805               txtColor: color.hex
    1806             })
    1807           })
    1808         })
    1809       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelBody, {
    1810         title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Basic Slider Settings'),
    1811         icon: "controls-play",
    1812         initialOpen: true,
    1813         children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1814           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    1815             label: "Auto Play",
    1816             checked: autoplay,
    1817             onChange: () => {
    1818               setAttributes({
    1819                 autoplay: !autoplay
    1820               });
    1821             }
    1822           })
    1823         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1824           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    1825             label: "Loop",
    1826             checked: loop,
    1827             onChange: () => {
    1828               setAttributes({
    1829                 loop: !loop
    1830               });
    1831             }
    1832           })
    1833         }), loop && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment, {
    1834           children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1835             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    1836               label: "Loop Add Blank Slides",
    1837               help: "Automatically adds blank slides if you use Grid or slidesPerGroup and the total amount of slides is not even to slidesPerGroup or to grid.rows",
    1838               checked: loopAddBlankSlides,
    1839               onChange: () => {
    1840                 setAttributes({
    1841                   loopAddBlankSlides: !loopAddBlankSlides
    1842                 });
    1843               }
    1844             })
    1845           }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1846             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.TextControl, {
    1847               label: "Loop Additional Slides",
    1848               help: "Allows to increase amount of looped slides",
    1849               value: loopAdditionalSlides,
    1850               type: "number",
    1851               onChange: option => {
    1852                 setAttributes({
    1853                   loopAdditionalSlides: parseInt(option)
    1854                 });
    1855               }
    1856             })
    1857           })]
    1858         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1859           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.TextControl, {
    1860             label: "Speed",
    1861             help: "Duration of transition between slides (in ms)",
    1862             value: speed,
    1863             type: "number",
    1864             onChange: option => {
    1865               setAttributes({
    1866                 speed: parseInt(option)
    1867               });
    1868             }
    1869           })
    1870         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1871           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.TextControl, {
    1872             label: "Delay",
    1873             help: "Delay between transitions (in ms)",
    1874             value: delay,
    1875             type: "number",
    1876             onChange: option => {
    1877               setAttributes({
    1878                 delay: parseInt(option)
    1879               });
    1880             }
    1881           })
    1882         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1883           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.RangeControl, {
    1884             label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Container Max Width %'),
    1885             help: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Frontend: Set the max width for the content with text.'),
    1886             value: containerWidth,
    1887             onChange: value => {
    1888               setAttributes({
    1889                 containerWidth: value
    1890               });
    1891               let iBlocks = block.innerBlocks;
    1892               iBlocks.map(iBlock => {
    1893                 updateBlockAttributes(iBlock.clientId, {
    1894                   containerWidth: value
    1895                 });
    1896               });
    1897             },
    1898             min: 1,
    1899             max: 100,
    1900             step: 1,
    1901             required: true
    1902           })
    1903         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1904           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    1905             label: "Overflow Visible",
    1906             help: "Apply overflow visible to the swiper container",
    1907             checked: overflowVisible,
    1908             onChange: () => {
    1909               setAttributes({
    1910                 overflowVisible: !overflowVisible
    1911               });
    1912             }
    1913           })
    1914         })]
    1915       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelBody, {
    1916         title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Slides Configuration'),
    1917         icon: "grid-view",
    1918         initialOpen: false,
    1919         children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1920           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.TextControl, {
    1921             label: "Slides per view",
    1922             help: "Number of slides per view (slides visible at the same time on slider's container). Can be a number or auto",
    1923             value: slidesPerView,
    1924             onChange: option => {
    1925               setAttributes({
    1926                 slidesPerView: option
    1927               });
    1928             }
    1929           })
    1930         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1931           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.TextControl, {
    1932             label: "Slides Per Group",
    1933             help: "Set numbers of slides to define and enable group sliding. Useful to use with slidesPerView > 1",
    1934             value: slidesPerGroup,
    1935             type: "number",
    1936             onChange: option => {
    1937               setAttributes({
    1938                 slidesPerGroup: parseInt(option)
    1939               });
    1940             }
    1941           })
    1942         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1943           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    1944             label: "Slides Per Group Auto",
    1945             help: "This param intended to be used only with slidesPerView: 'auto' and slidesPerGroup: 1. When enabled, it will skip all slides in view on .slideNext() & .slidePrev() methods calls, on Navigation buttons clicks and in autoplay.",
    1946             checked: slidesPerGroupAuto,
    1947             onChange: () => {
    1948               setAttributes({
    1949                 slidesPerGroupAuto: !slidesPerGroupAuto
    1950               });
    1951             }
    1952           })
    1953         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1954           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.TextControl, {
    1955             label: "Slides Per Group Skip",
    1956             help: "If slidesPerGroupSkip equals 0 (default), no slides are excluded from grouping. If slidesPerGroupSkip is equal or greater than 1, the first X slides are treated as single groups, whereas all following slides are grouped by the slidesPerGroup value.",
    1957             value: slidesPerGroupSkip,
    1958             type: "number",
    1959             onChange: option => {
    1960               setAttributes({
    1961                 slidesPerGroupSkip: parseInt(option)
    1962               });
    1963             }
    1964           })
    1965         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1966           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.TextControl, {
    1967             label: "Space Between",
    1968             help: "Distance between slides in px.",
    1969             value: spaceBetween,
    1970             onChange: option => {
    1971               setAttributes({
    1972                 spaceBetween: parseInt(option)
    1973               });
    1974             }
    1975           })
    1976         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1977           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    1978             label: "Auto Slide Width",
    1979             help: "Makes each slide size itself based on its content instead of being evenly distributed. Useful for logos, badges, small cards, or any element that should not be stretched.",
    1980             checked: autoSlideWidth,
    1981             onChange: () => {
    1982               setAttributes({
    1983                 autoSlideWidth: !autoSlideWidth
    1984               });
    1985             }
    1986           })
    1987         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1988           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.TextControl, {
    1989             label: "Slides Offset Before",
    1990             help: "Add (in px) additional slide offset in the beginning of the container (before all slides)",
    1991             value: slidesOffsetBefore,
    1992             onChange: option => {
    1993               setAttributes({
    1994                 slidesOffsetBefore: parseInt(option)
    1995               });
    1996             }
    1997           })
    1998         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    1999           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.TextControl, {
    2000             label: "Slides Offset After",
    2001             help: "Add (in px) additional slide offset in the end of the container (after all slides)",
    2002             value: slidesOffsetAfter,
    2003             onChange: option => {
    2004               setAttributes({
    2005                 slidesOffsetAfter: parseInt(option)
    2006               });
    2007             }
    2008           })
    2009         })]
    2010       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelBody, {
    2011         title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Navigation & Controls'),
    2012         icon: "leftright",
    2013         initialOpen: false,
    2014         children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2015           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2016             label: "Show Navigation",
    2017             checked: navigation,
    2018             onChange: () => {
    2019               setAttributes({
    2020                 navigation: !navigation
    2021               });
    2022             }
    2023           })
    2024         }), navigation && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment, {
    2025           children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2026             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("p", {
    2027               children: "You can customize icons by uploading your own. Default icons used otherwise."
    2028             })
    2029           }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2030             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.MediaUploadCheck, {
    2031               children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.MediaUpload, {
    2032                 value: previousIcon,
    2033                 onSelect: media => {
    2034                   let img_url = media.sizes.full.url;
    2035                   setAttributes({
    2036                     previousIcon: img_url
    2037                   });
    2038                 },
    2039                 type: "image",
    2040                 render: open => {
    2041                   return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    2042                     onClick: open.open,
    2043                     className: "button",
    2044                     children: "Select previous slide icon"
    2045                   });
    2046                 }
    2047               })
    2048             })
    2049           }), previousIcon && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2050             children: (0,_utils_get_image__WEBPACK_IMPORTED_MODULE_11__["default"])(previousIcon)
    2051           }), previousIcon && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2052             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    2053               isSecondary: true,
    2054               size: "small",
    2055               className: "block-library-cover__reset-button",
    2056               onClick: () => setAttributes({
    2057                 previousIcon: undefined
    2058               }),
    2059               children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Clear Media')
    2060             })
    2061           }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2062             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.MediaUploadCheck, {
    2063               children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.MediaUpload, {
    2064                 value: nextIcon,
    2065                 onSelect: media => {
    2066                   let img_url = media.sizes.full.url;
    2067                   setAttributes({
    2068                     nextIcon: img_url
    2069                   });
    2070                 },
    2071                 type: "image",
    2072                 render: open => {
    2073                   return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    2074                     onClick: open.open,
    2075                     className: "button",
    2076                     children: "Select next slide icon"
    2077                   });
    2078                 }
    2079               })
    2080             })
    2081           }), nextIcon && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2082             children: (0,_utils_get_image__WEBPACK_IMPORTED_MODULE_11__["default"])(nextIcon)
    2083           }), nextIcon && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2084             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    2085               isSecondary: true,
    2086               size: "small",
    2087               className: "block-library-cover__reset-button",
    2088               onClick: () => setAttributes({
    2089                 nextIcon: undefined
    2090               }),
    2091               children: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Clear Media')
    2092             })
    2093           })]
    2094         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(Seperator, {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2095           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2096             label: "Show Pagination",
    2097             checked: pagination,
    2098             onChange: () => {
    2099               setAttributes({
    2100                 pagination: !pagination
    2101               });
    2102             }
    2103           })
    2104         }), pagination && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment, {
    2105           children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2106             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.SelectControl, {
    2107               label: "Type of pagination",
    2108               value: pagination_type,
    2109               options: [{
    2110                 label: 'Bullets',
    2111                 value: 'bullets'
    2112               }, {
    2113                 label: 'Fraction',
    2114                 value: 'fraction'
    2115               }, {
    2116                 label: 'Progress Bar',
    2117                 value: 'progressbar'
    2118               }],
    2119               onChange: option => {
    2120                 setAttributes({
    2121                   pagination_type: option
    2122                 });
    2123               }
    2124             })
    2125           }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2126             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2127               label: "Clickable Pagination",
    2128               checked: clickable_pagination,
    2129               onChange: () => {
    2130                 setAttributes({
    2131                   clickable_pagination: !clickable_pagination
    2132                 });
    2133               }
    2134             })
    2135           })]
    2136         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(Seperator, {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2137           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2138             label: "Auto Height",
    2139             help: "Set to true and slider wrapper will adapt its height to the height of the currently active slide",
    2140             checked: autoHeight,
    2141             onChange: () => {
    2142               setAttributes({
    2143                 autoHeight: !autoHeight
    2144               });
    2145             }
    2146           })
    2147         })]
    2148       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelBody, {
    2149         title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Direction Settings'),
    2150         icon: "sort",
    2151         initialOpen: false,
    2152         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.SelectControl, {
    2153           label: "Direction",
    2154           help: "For vertical slider, Slides Per View should be set to 1",
    2155           value: direction,
    2156           options: [{
    2157             label: 'Horizontal',
    2158             value: 'horizontal'
    2159           }, {
    2160             label: 'Vertical',
    2161             value: 'vertical'
    2162           }],
    2163           onChange: option => {
    2164             setAttributes({
    2165               direction: option
    2166             });
    2167           }
    2168         })
    2169       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelBody, {
    2170         title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Autoplay Behavior'),
    2171         icon: "controls-repeat",
    2172         initialOpen: false,
    2173         children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2174           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2175             label: "Disable On Interaction",
    2176             checked: disableOnInteraction,
    2177             help: "Set to false and autoplay will not be disabled after user interactions (swipes), it will be restarted every time after interaction",
    2178             onChange: () => {
    2179               setAttributes({
    2180                 disableOnInteraction: !disableOnInteraction
    2181               });
    2182             }
    2183           })
    2184         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2185           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2186             label: "Pause On Mouse Enter",
    2187             checked: pauseOnMouseEnter,
    2188             help: "When enabled autoplay will be paused on pointer (mouse) enter over Swiper container.",
    2189             onChange: () => {
    2190               setAttributes({
    2191                 pauseOnMouseEnter: !pauseOnMouseEnter
    2192               });
    2193             }
    2194           })
    2195         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2196           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2197             label: "Reverse Direction",
    2198             checked: reverseDirection,
    2199             help: "Enables autoplay in reverse direction",
    2200             onChange: () => {
    2201               setAttributes({
    2202                 reverseDirection: !reverseDirection
    2203               });
    2204             }
    2205           })
    2206         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2207           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2208             label: "Stop On Last Slide",
    2209             checked: stopOnLastSlide,
    2210             help: "Enable this parameter and autoplay will be stopped when it reaches last slide (has no effect in loop mode)",
    2211             onChange: () => {
    2212               setAttributes({
    2213                 stopOnLastSlide: !stopOnLastSlide
    2214               });
    2215             }
    2216           })
    2217         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2218           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2219             label: "Wait For Transition",
    2220             checked: waitForTransition,
    2221             help: "When enabled autoplay will wait for wrapper transition to continue. Can be disabled in case of using Virtual Translate when your slider may not have transition",
    2222             onChange: () => {
    2223               setAttributes({
    2224                 waitForTransition: !waitForTransition
    2225               });
    2226             }
    2227           })
    2228         })]
    2229       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelBody, {
    2230         title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Advanced Features'),
    2231         icon: "admin-generic",
    2232         initialOpen: false,
    2233         children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2234           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.SelectControl, {
    2235             label: "Effect (Under Construction)",
    2236             value: effect,
    2237             options: [{
    2238               label: 'Slide',
    2239               value: 'slide'
    2240             }, {
    2241               label: 'Fade',
    2242               value: 'fade'
    2243             }, {
    2244               label: 'Cube',
    2245               value: 'cube'
    2246             }, {
    2247               label: 'Coverflow',
    2248               value: 'coverflow'
    2249             }, {
    2250               label: 'Flip',
    2251               value: 'flip'
    2252             }],
    2253             onChange: option => {
    2254               setAttributes({
    2255                 effect: option
    2256               });
    2257             }
    2258           })
    2259         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2260           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2261             label: "Mouse Wheel",
    2262             help: "Enables navigation through slides using mouse wheel.",
    2263             checked: mousewheel,
    2264             onChange: () => {
    2265               setAttributes({
    2266                 mousewheel: !mousewheel
    2267               });
    2268             }
    2269           })
    2270         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2271           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2272             label: "Release On Edges",
    2273             help: "Set to true and swiper will release mousewheel event and allow page scrolling when swiper is on edge positions (in the beginning or in the end) NOTE: Mouse Wheel must be set to true for this to work.",
    2274             checked: releaseOnEdges,
    2275             onChange: () => {
    2276               setAttributes({
    2277                 releaseOnEdges: !releaseOnEdges
    2278               });
    2279             }
    2280           })
    2281         })]
    2282       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelBody, {
    2283         title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Free Mode'),
    2284         icon: "controls-play",
    2285         initialOpen: false,
    2286         children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2287           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2288             label: "Enable Free Mode",
    2289             help: "Whether the free mode is enabled. Slide will continue moving for a while after you release it.",
    2290             checked: freeMode,
    2291             onChange: () => {
    2292               if (freeMode) {
    2293                 setAttributes({
    2294                   freeModeSticky: false
    2295                 });
    2296               }
    2297               setAttributes({
    2298                 freeMode: !freeMode
    2299               });
    2300             }
    2301           })
    2302         }), freeMode && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment, {
    2303           children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2304             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.RangeControl, {
    2305               label: "Minimum Velocity",
    2306               help: "Minimum touchmove-velocity required to trigger free mode momentum",
    2307               value: freeModeMinimumVelocity,
    2308               onChange: value => {
    2309                 setAttributes({
    2310                   freeModeMinimumVelocity: value
    2311                 });
    2312               },
    2313               min: 0,
    2314               max: 1,
    2315               step: 0.01
    2316             })
    2317           }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2318             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2319               label: "Momentum",
    2320               help: "If enabled, then slide will keep moving for a while after you release it",
    2321               checked: freeModeMomentum,
    2322               onChange: () => {
    2323                 setAttributes({
    2324                   freeModeMomentum: !freeModeMomentum
    2325                 });
    2326               }
    2327             })
    2328           }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2329             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2330               label: "Momentum Bounce",
    2331               help: "Set to false if you want to disable momentum bounce in free mode",
    2332               checked: freeModeMomentumBounce,
    2333               onChange: () => {
    2334                 setAttributes({
    2335                   freeModeMomentumBounce: !freeModeMomentumBounce
    2336                 });
    2337               }
    2338             })
    2339           }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2340             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.RangeControl, {
    2341               label: "Momentum Bounce Ratio",
    2342               help: "Higher value produces larger momentum bounce effect",
    2343               value: freeModeMomentumBounceRatio,
    2344               onChange: value => {
    2345                 setAttributes({
    2346                   freeModeMomentumBounceRatio: value
    2347                 });
    2348               },
    2349               min: 0,
    2350               max: 10,
    2351               step: 0.1
    2352             })
    2353           }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2354             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.RangeControl, {
    2355               label: "Momentum Ratio",
    2356               help: "Higher value produces larger momentum distance after you release slider",
    2357               value: freeModeMomentumRatio,
    2358               onChange: value => {
    2359                 setAttributes({
    2360                   freeModeMomentumRatio: value
    2361                 });
    2362               },
    2363               min: 0,
    2364               max: 10,
    2365               step: 0.1
    2366             })
    2367           }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2368             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.RangeControl, {
    2369               label: "Momentum Velocity Ratio",
    2370               help: "Higher value produces larger momentum velocity after you release slider",
    2371               value: freeModeMomentumVelocityRatio,
    2372               onChange: value => {
    2373                 setAttributes({
    2374                   freeModeMomentumVelocityRatio: value
    2375                 });
    2376               },
    2377               min: 0,
    2378               max: 10,
    2379               step: 0.1
    2380             })
    2381           }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2382             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2383               label: "Sticky",
    2384               help: "Set to enabled to enable snap to slides positions in free mode",
    2385               checked: freeModeSticky,
    2386               onChange: () => {
    2387                 setAttributes({
    2388                   freeModeSticky: !freeModeSticky
    2389                 });
    2390               }
    2391             })
    2392           })]
    2393         })]
    2394       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelBody, {
    2395         title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Responsive Breakpoints'),
    2396         icon: "smartphone",
    2397         initialOpen: false,
    2398         children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2399           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.TextareaControl, {
    2400             label: "Responsive breakpoints (JSON Object)",
    2401             help: "Allows to set different parameter for different responsive breakpoints (screen sizes). Not all parameters can be changed in breakpoints, only those which are not required different layout and logic, like slidesPerView, slidesPerGroup, spaceBetween, grid.rows. Such parameters like loop and effect won't work",
    2402             value: breakpoints,
    2403             onChange: option => {
    2404               setAttributes({
    2405                 breakpoints: option
    2406               });
    2407             }
    2408           })
    2409         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2410           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)("p", {
    2411             children: ["Example: ", '{\"720\":{\"slidesPerView\":2}}', " - Notice the double quotes"]
    2412           })
    2413         })]
    2414       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelBody, {
    2415         title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Thumbnails'),
    2416         icon: "images-alt2",
    2417         initialOpen: false,
    2418         children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2419           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2420             label: "Thumbs",
    2421             help: "Enables thumbs to be used as pagination.",
    2422             checked: thumbs,
    2423             onChange: () => {
    2424               setAttributes({
    2425                 thumbs: !thumbs
    2426               });
    2427             }
    2428           })
    2429         }), thumbs && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.Fragment, {
    2430           children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2431             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.TextControl, {
    2432               label: "Space Between",
    2433               help: "Distance between slides in px.",
    2434               value: thumbsSpaceBetween,
    2435               onChange: option => {
    2436                 setAttributes({
    2437                   thumbsSpaceBetween: parseInt(option)
    2438                 });
    2439               }
    2440             })
    2441           }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2442             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.TextControl, {
    2443               label: "Thumbs per view",
    2444               help: "Number of slides per view (slides visible at the same time on slider's container). Can be a number or auto",
    2445               value: thumbsSlidesPerView,
    2446               onChange: option => {
    2447                 setAttributes({
    2448                   thumbsSlidesPerView: parseInt(option)
    2449                 });
    2450               }
    2451             })
    2452           }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2453             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.__experimentalAlignmentMatrixControl, {
    2454               disableAlignment: ['center'],
    2455               value: alignment,
    2456               onChange: newAlignment => setAlignment(newAlignment)
    2457             })
    2458           })]
    2459         })]
    2460       }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelBody, {
    2461         title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Developer Tools'),
    2462         icon: "admin-tools",
    2463         initialOpen: false,
    2464         children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.ToggleControl, {
    2465           label: "Debug",
    2466           help: "Show (console.log) config JSON object for each slider",
    2467           checked: debug,
    2468           onChange: () => {
    2469             setAttributes({
    2470               debug: !debug
    2471             });
    2472           }
    2473         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2474           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    2475             onClick: () => {
    2476               let counter = 1;
    2477               tabsData.forEach((tab, index) => {
    2478                 tab.slug = `slide-${counter}`;
    2479                 counter++;
    2480               });
    2481               setAttributes({
    2482                 tabsData
    2483               });
    2484               updateSlugsForInnerBlocks(block.innerBlocks);
    2485             },
    2486             className: "button",
    2487             children: "Fix Slide Slugs"
    2488           })
    2489         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.PanelRow, {
    2490           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("p", {
    2491             style: {
    2492               marginTop: 'calc(8px)',
    2493               fontSize: '12px',
    2494               fontStyle: 'normal',
    2495               color: 'rgb(117, 117, 117)',
    2496               marginBottom: 'revert'
    2497             },
    2498             children: "On rare occasions, if the slide slugs become out of sync with the slide data stored in the parent block, you might notice all slide contents appearing under a single tab. Clicking this button could help resolve the issue. This action iterates over each slide and resets the slugs in ascending order (e.g., slide-1, slide-2, etc.), ensuring that each tab properly corresponds to its respective slide."
    2499           })
    2500         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(SwiperConfigEditor, {
    2501           attributes: attributes,
    2502           setAttributes: setAttributes
    2503         })]
    2504       })]
    2505     }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("div", {
    2506       ...blockProps,
    2507       className: classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()(blockProps.className, className),
    2508       "data-tab-active": tabActive,
    2509       children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)("div", {
    2510         className: "wb-tabs-buttons-wrapper",
    2511         style: style,
    2512         children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)("div", {
    2513           className: classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()('wb-tabs-buttons', `wb-tabs-buttons-align-${buttonsAlign}`),
    2514           children: [tabsData.map((tabData, i) => {
    2515             const {
    2516               slug
    2517             } = tabData;
    2518             const selected = tabActive === slug;
    2519             return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)("div", {
    2520               className: classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()('wb-tabs-buttons-item', selected ? 'wb-tabs-buttons-item-active' : ''),
    2521               onClick: () => setAttributes({
    2522                 tabActive: slug
    2523               }),
    2524               children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsxs)("h4", {
    2525                 children: ["Slide ", counter++]
    2526               }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_components_remove_button__WEBPACK_IMPORTED_MODULE_9__["default"], {
    2527                 show: isSelectedBlockInRoot,
    2528                 tooltipText: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Remove slide?', '@@text_domain'),
    2529                 onRemove: () => {
    2530                   removeTab(i);
    2531                 }
    2532               })]
    2533             }, `tab_button_${tabData.slug}`);
    2534           }), isSelectedBlockInRoot ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Tooltip, {
    2535             text: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__.__)('Add Slide', '@@text_domain'),
    2536             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_5__.Button, {
    2537               icon: 'insert',
    2538               onClick: () => {
    2539                 let newTabsData = [];
    2540                 const newDataLength = tabsData.length + 1;
    2541                 const block = (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_4__.createBlock)('da/wp-swiper-slide', {
    2542                   slug: `slide-${newDataLength}`
    2543                 });
    2544                 newTabsData = [...tabsData];
    2545                 newTabsData.push({
    2546                   clientId: block.clientId,
    2547                   slug: `slide-${newDataLength}`,
    2548                   slideImg: '',
    2549                   thumbImg: ''
    2550                 });
    2551                 let innerBlocks = getBlocks(clientId);
    2552                 innerBlocks = [...innerBlocks, block];
    2553                 replaceInnerBlocks(clientId, innerBlocks, false);
    2554                 setAttributes({
    2555                   tabsData: newTabsData
    2556                 });
    2557               }
    2558             })
    2559           }) : '']
    2560         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("div", {
    2561           className: "wp-swiper__slide-content",
    2562           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.InnerBlocks, {
    2563             template: INNER_BLOCKS_TEMPLATE,
    2564             templateLock: false,
    2565             allowedBlocks: ['da/wp-swiper-slide']
    2566           })
    2567         })]
    2568       })
    2569     }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_13__.jsx)("style", {
    2570       children: `
    2571                         [data-block="${props.clientId}"] [data-tab] {
    2572                             display: none;
    2573                         }
    2574                         [data-block="${props.clientId}"] [data-tab="${tabActive !== null && tabActive !== void 0 ? tabActive : 'slide-1'}"] {
    2575                             display: block !important;
    2576                         }
    2577                         `
    2578     })]
    2579   });
    2580 }
    2581 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_wordpress_compose__WEBPACK_IMPORTED_MODULE_7__.compose)([(0,_wordpress_data__WEBPACK_IMPORTED_MODULE_8__.withSelect)((select, ownProps) => {
    2582   const {
    2583     getBlock,
    2584     isBlockSelected,
    2585     hasSelectedInnerBlock
    2586   } = select('core/block-editor');
    2587   const {
    2588     clientId
    2589   } = ownProps;
    2590   const block = getBlock(clientId);
    2591   return {
    2592     innerBlocks: block ? block.innerBlocks : [],
    2593     // Get inner blocks if the block exists
    2594     blocks: select(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.store).getBlocks(),
    2595     block,
    2596     isSelectedBlockInRoot: isBlockSelected(clientId) || hasSelectedInnerBlock(clientId, true)
    2597   };
    2598 }), (0,_wordpress_data__WEBPACK_IMPORTED_MODULE_8__.withDispatch)((dispatch, ownProps, registry) => {
    2599   const {
    2600     updateBlockAttributes,
    2601     removeBlock,
    2602     replaceInnerBlocks,
    2603     moveBlockToPosition,
    2604     moveBlocksDown
    2605   } = dispatch('core/block-editor');
    2606   const {
    2607     getBlocks
    2608   } = registry.select('core/block-editor');
    2609 
    2610   // Function to update slug attribute for inner blocks
    2611   const updateSlugsForInnerBlocks = innerBlocks => {
    2612     let counter = 1;
    2613     innerBlocks.forEach((innerBlock, index) => {
    2614       updateBlockAttributes(innerBlock.clientId, {
    2615         slug: `slide-${counter}`
    2616       });
    2617       counter++;
    2618     });
    2619   };
    2620   return {
    2621     moveBlocksDown,
    2622     moveBlockToPosition,
    2623     replaceInnerBlocks,
    2624     getBlocks,
    2625     updateBlockAttributes,
    2626     removeBlock,
    2627     updateSlugsForInnerBlocks
    2628   };
    2629 })])(BlockEdit));
    2630 
    2631 /***/ },
    2632 
    2633 /***/ "./src/blocks/slides/index.js"
    2634 /*!************************************!*\
    2635   !*** ./src/blocks/slides/index.js ***!
    2636   \************************************/
    2637 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    2638 
    2639 "use strict";
    2640 __webpack_require__.r(__webpack_exports__);
    2641 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    2642 /* harmony export */   metadata: () => (/* reexport default export from named module */ _block_json__WEBPACK_IMPORTED_MODULE_1__),
    2643 /* harmony export */   name: () => (/* binding */ name),
    2644 /* harmony export */   settings: () => (/* binding */ settings)
    2645 /* harmony export */ });
    2646 /* harmony import */ var _deprecated__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./deprecated */ "./src/blocks/slides/deprecated.js");
    2647 /* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./block.json */ "./src/blocks/slides/block.json");
    2648 /* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./edit */ "./src/blocks/slides/edit.js");
    2649 /* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./save */ "./src/blocks/slides/save.js");
    2650 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
    2651 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__);
    2652 /**
    2653  * WordPress dependencies
    2654  */
    2655 const {
    2656   __
    2657 } = wp.i18n;
    2658 
    2659 // Import Swiper React components
    2660 
    2661 /**
    2662  * Internal dependencies
    2663  */
    2664 
    2665 
    2666 
    2667 
    2668 
    2669 const {
    2670   name
    2671 } = _block_json__WEBPACK_IMPORTED_MODULE_1__;
    2672 
    2673 const settings = {
    2674   ..._block_json__WEBPACK_IMPORTED_MODULE_1__,
    2675   title: __('WP Swiper', '@@text_domain'),
    2676   description: __('Create an awesome slider.', '@@text_domain'),
    2677   icon: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("svg", {
    2678     width: "24",
    2679     height: "24",
    2680     viewBox: "0 0 24 24",
    2681     fill: "none",
    2682     xmlns: "http://www.w3.org/2000/svg",
    2683     children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("path", {
    2684       d: "M20 17.4444C20 17.857 19.8314 18.2527 19.5314 18.5444C19.2313 18.8361 18.8243 19 18.4 19H5.6C5.17565 19 4.76869 18.8361 4.46863 18.5444C4.16857 18.2527 4 17.857 4 17.4444V6.55556C4 6.143 4.16857 5.74733 4.46863 5.45561C4.76869 5.16389 5.17565 5 5.6 5H9.6L11.2 7.33333H18.4C18.8243 7.33333 19.2313 7.49722 19.5314 7.78894C19.8314 8.08067 20 8.47633 20 8.88889V17.4444Z",
    2685       stroke: "currentColor",
    2686       fill: "transparent",
    2687       "stroke-width": "1.5",
    2688       "stroke-linecap": "round",
    2689       "stroke-linejoin": "round"
    2690     })
    2691   }),
    2692   keywords: [__('swiper', '@@text_domain'), __('slider', '@@text_domain'), __('wp slider', '@@text_domain'), __('wp swiper', '@@text_domain')],
    2693   edit: _edit__WEBPACK_IMPORTED_MODULE_2__["default"],
    2694   save: _save__WEBPACK_IMPORTED_MODULE_3__["default"],
    2695   deprecated: _deprecated__WEBPACK_IMPORTED_MODULE_0__["default"]
    2696 };
    2697 settings.attributes = {
    2698   ...settings.attributes,
    2699   freeMode: {
    2700     type: 'boolean',
    2701     default: false
    2702   },
    2703   freeModeMinimumVelocity: {
    2704     type: 'number',
    2705     default: 0.02
    2706   },
    2707   freeModeMomentum: {
    2708     type: 'boolean',
    2709     default: true
    2710   },
    2711   freeModeMomentumBounce: {
    2712     type: 'boolean',
    2713     default: true
    2714   },
    2715   freeModeMomentumBounceRatio: {
    2716     type: 'number',
    2717     default: 1
    2718   },
    2719   freeModeMomentumRatio: {
    2720     type: 'number',
    2721     default: 1
    2722   },
    2723   freeModeMomentumVelocityRatio: {
    2724     type: 'number',
    2725     default: 1
    2726   },
    2727   freeModeSticky: {
    2728     type: 'boolean',
    2729     default: false
    2730   },
    2731   mousewheel: {
    2732     type: 'boolean',
    2733     default: false
    2734   },
    2735   releaseOnEdges: {
    2736     type: 'boolean',
    2737     default: false
    2738   },
    2739   pagination_type: {
    2740     type: 'string',
    2741     default: 'bullets'
    2742   }
    2743 };
    2744 
    2745 
    2746 /***/ },
    2747 
    2748 /***/ "./src/blocks/slides/oldsave.js"
    2749 /*!**************************************!*\
    2750   !*** ./src/blocks/slides/oldsave.js ***!
    2751   \**************************************/
    2752 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    2753 
    2754 "use strict";
    2755 __webpack_require__.r(__webpack_exports__);
    2756 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    2757 /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
    2758 /* harmony export */ });
    2759 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! classnames/dedupe */ "./node_modules/classnames/dedupe.js");
    2760 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__);
    2761 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
    2762 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
    2763 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
    2764 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
    2765 /**
    2766  * External dependencies
    2767  */
    2768 
    2769 
    2770 /**
    2771  * WordPress dependencies
    2772  */
    2773 
    2774 
    2775 /**
    2776  * Block Save Class.
    2777  */
    2778 
    2779 function save(props) {
    2780   let {
    2781     className
    2782   } = props.attributes;
    2783   const {
    2784     align,
    2785     overlayImg,
    2786     overlayImgOpacity,
    2787     slidesPerView,
    2788     spaceBetween,
    2789     txtColor,
    2790     autoplay,
    2791     disableOnInteraction,
    2792     pauseOnMouseEnter,
    2793     reverseDirection,
    2794     stopOnLastSlide,
    2795     waitForTransition,
    2796     delay,
    2797     speed,
    2798     loop,
    2799     effect,
    2800     navigation,
    2801     pagination,
    2802     mousewheel,
    2803     releaseOnEdges,
    2804     pagination_type,
    2805     clickable_pagination,
    2806     breakpoints,
    2807     thumbs,
    2808     thumbsSpaceBetween,
    2809     thumbsSlidesPerView,
    2810     autoHeight,
    2811     freeMode,
    2812     sticky,
    2813     debug,
    2814     direction,
    2815     tabsData,
    2816     previousIcon,
    2817     nextIcon,
    2818     slidesOffsetBefore,
    2819     slidesOffsetAfter
    2820   } = props.attributes;
    2821   className = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()(className, 'wp-swiper');
    2822   if (align) {
    2823     className = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()(className, `align${align}`);
    2824   }
    2825   const blockProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps.save({
    2826     className: className
    2827   });
    2828   const innerBlocksProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useInnerBlocksProps;
    2829   const thumbsElements = (typeof tabsData !== 'undefined' ? tabsData : []).map((tab, index) => {
    2830     return (tab.thumbImg || tab.slideImg) && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    2831       className: "swiper-slide wp-swiper__thumb",
    2832       "data-thumb": index + 1,
    2833       children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("img", {
    2834         src: tab.thumbImg || tab.slideImg,
    2835         alt: `Thumbnail ${index + 1}`
    2836       })
    2837     }, index);
    2838   });
    2839   const style_overlay_image = overlayImg ? {
    2840     backgroundImage: `url(${overlayImg})`
    2841   } : {};
    2842   if (overlayImgOpacity) {
    2843     style_overlay_image.opacity = overlayImgOpacity;
    2844   }
    2845   const style_overlay_wrapper = txtColor ? {
    2846     color: txtColor
    2847   } : {};
    2848   let thumbsConfig = {
    2849     'data-thumbs': {}
    2850   };
    2851   let data_atts = {
    2852     'slidesPerView-': slidesPerView,
    2853     'navigation': navigation,
    2854     'pagination': pagination,
    2855     'autoplay': autoplay,
    2856     'disableOnInteraction': disableOnInteraction,
    2857     'pauseOnMouseEnter': pauseOnMouseEnter,
    2858     'delay': delay,
    2859     'speed': speed,
    2860     'loop': loop,
    2861     'effect': effect
    2862   };
    2863   if (debug) {
    2864     data_atts['debug'] = debug;
    2865   }
    2866   if (freeMode && sticky) {
    2867     data_atts['sticky'] = sticky;
    2868   }
    2869   data_atts['slidesOffsetBefore'] = slidesOffsetBefore;
    2870   data_atts['slidesOffsetAfter'] = slidesOffsetAfter;
    2871   data_atts['direction'] = direction;
    2872   data_atts['freeMode'] = freeMode;
    2873   data_atts['autoHeight'] = autoHeight;
    2874   data_atts['spaceBetween'] = spaceBetween;
    2875   data_atts['mousewheel'] = mousewheel;
    2876   data_atts['releaseOnEdges'] = releaseOnEdges;
    2877   data_atts['type'] = pagination_type != 'bullets' ? pagination_type : 'bullets';
    2878   if (clickable_pagination) {
    2879     data_atts['clickable'] = clickable_pagination ? true : '';
    2880   }
    2881   if (typeof breakpoints !== 'undefined' && breakpoints != '') {
    2882     data_atts['data-breakpoints'] = JSON.stringify(breakpoints.replace(/^\s+|\s+|\n$/gm, ''));
    2883     data_atts['data-breakpoints'] = data_atts['breakpoints'].substring(1, data_atts['breakpoints'].length - 1);
    2884   }
    2885   if (thumbs) {
    2886     thumbsConfig['data-thumbs'] = JSON.stringify({
    2887       spaceBetween: thumbsSpaceBetween,
    2888       slidesPerView: thumbsSlidesPerView,
    2889       freeMode: true,
    2890       watchSlidesProgress: true,
    2891       navigation: false
    2892     });
    2893   }
    2894   return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
    2895     ...blockProps,
    2896     children: [getOverlayImg(overlayImg, style_overlay_image), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
    2897       className: "wp-swiper__wrapper",
    2898       style: style_overlay_wrapper,
    2899       children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    2900         className: "swiper-container swiper",
    2901         "data-swiper": JSON.stringify(data_atts),
    2902         ...thumbsConfig,
    2903         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    2904           className: "swiper-wrapper",
    2905           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InnerBlocks.Content, {})
    2906         })
    2907       }), getNavigation(props), getPagination(props)]
    2908     }), getQuoteSVG(props), thumbs && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    2909       className: "wp-swiper__thumbs",
    2910       children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    2911         className: "wp-swiper__wrapper",
    2912         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    2913           className: "swiper-container",
    2914           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    2915             className: "swiper-wrapper",
    2916             children: thumbsElements
    2917           })
    2918         })
    2919       })
    2920     })]
    2921   });
    2922   function getOverlayImg(overlayImg, style_overlay_image) {
    2923     if (overlayImg === undefined) {
    2924       return;
    2925     }
    2926     return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    2927       className: "wp-swiper__overlay-img",
    2928       style: style_overlay_image
    2929     });
    2930   }
    2931   function getPagination({
    2932     attributes
    2933   }) {
    2934     const {
    2935       pagination
    2936     } = attributes;
    2937     if (pagination) {
    2938       return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    2939         className: "swiper-pagination"
    2940       });
    2941     }
    2942   }
    2943   function getNavigation({
    2944     attributes
    2945   }) {
    2946     const {
    2947       navigation
    2948     } = attributes;
    2949     if (navigation) {
    2950       return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {
    2951         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    2952           className: "wp_swiper__navigation",
    2953           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
    2954             className: "wp_swiper__navigation-container",
    2955             children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    2956               className: `swiper-button-prev ${previousIcon ? 'wp_swiper__button-prev' : ''}`,
    2957               children: previousIcon ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("img", {
    2958                 src: previousIcon,
    2959                 alt: "Previous"
    2960               }) : null
    2961             }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    2962               className: `swiper-button-next ${nextIcon ? 'wp_swiper__button-next' : ''}`,
    2963               children: nextIcon ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("img", {
    2964                 src: nextIcon,
    2965                 alt: "Previous"
    2966               }) : null
    2967             })]
    2968           })
    2969         })
    2970       });
    2971     }
    2972   }
    2973   function getQuoteSVG({
    2974     attributes
    2975   }) {
    2976     let {
    2977       className
    2978     } = attributes;
    2979     className = className ? className.toString() : '';
    2980     if (className.indexOf('is-style-testimonials') !== -1) {
    2981       return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {
    2982         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    2983           className: "wp-swiper__quotes",
    2984           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("svg", {
    2985             "aria-hidden": "true",
    2986             focusable: "false",
    2987             "data-prefix": "fas",
    2988             "data-icon": "quote-right",
    2989             role: "img",
    2990             xmlns: "http://www.w3.org/2000/svg",
    2991             viewBox: "0 0 512 512",
    2992             class: "svg-inline--fa fa-quote-right fa-w-16 fa-5x",
    2993             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("path", {
    2994               fill: "currentColor",
    2995               d: "M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z",
    2996               class: ""
    2997             })
    2998           })
    2999         })
    3000       });
    3001     }
    3002   }
    3003 }
    3004 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (save);
    3005 
    3006 /***/ },
    3007 
    3008 /***/ "./src/blocks/slides/save-v1.js"
    3009 /*!**************************************!*\
    3010   !*** ./src/blocks/slides/save-v1.js ***!
    3011   \**************************************/
    3012 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    3013 
    3014 "use strict";
    3015 __webpack_require__.r(__webpack_exports__);
    3016 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    3017 /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
    3018 /* harmony export */ });
    3019 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! classnames/dedupe */ "./node_modules/classnames/dedupe.js");
    3020 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__);
    3021 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
    3022 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
    3023 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
    3024 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
    3025 /**
    3026  * External dependencies
    3027  */
    3028 
    3029 
    3030 /**
    3031  * WordPress dependencies
    3032  */
    3033 
    3034 
    3035 /**
    3036  * Block Save Class - Version 1 (with old sticky attribute)
    3037  * This is for backward compatibility with blocks created before Free Mode parameters were added
    3038  */
    3039 
    3040 function save(props) {
    3041   let {
    3042     className
    3043   } = props.attributes;
    3044   const {
    3045     align,
    3046     overlayImg,
    3047     overlayImgOpacity,
    3048     slidesPerView,
    3049     slidesPerGroup,
    3050     slidesPerGroupAuto,
    3051     slidesPerGroupSkip,
    3052     spaceBetween,
    3053     txtColor,
    3054     autoplay,
    3055     disableOnInteraction,
    3056     pauseOnMouseEnter,
    3057     reverseDirection,
    3058     stopOnLastSlide,
    3059     waitForTransition,
    3060     delay,
    3061     speed,
    3062     loop,
    3063     effect,
    3064     navigation,
    3065     pagination,
    3066     mousewheel,
    3067     releaseOnEdges,
    3068     pagination_type,
    3069     clickable_pagination,
    3070     breakpoints,
    3071     thumbs,
    3072     thumbsSpaceBetween,
    3073     thumbsSlidesPerView,
    3074     autoHeight,
    3075     freeMode,
    3076     sticky,
    3077     debug,
    3078     direction,
    3079     tabsData,
    3080     previousIcon,
    3081     nextIcon,
    3082     slidesOffsetBefore,
    3083     slidesOffsetAfter,
    3084     overflowVisible
    3085   } = props.attributes;
    3086   className = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()(className, 'wp-swiper');
    3087   if (align) {
    3088     className = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()(className, `align${align}`);
    3089   }
    3090   const blockProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps.save({
    3091     className: className
    3092   });
    3093   const innerBlocksProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useInnerBlocksProps;
    3094   const style_overlay_image = overlayImg ? {
    3095     backgroundImage: `url(${overlayImg})`
    3096   } : {};
    3097   if (overlayImgOpacity) {
    3098     style_overlay_image.opacity = overlayImgOpacity;
    3099   }
    3100   const style_overlay_wrapper = txtColor ? {
    3101     color: txtColor
    3102   } : {};
    3103   let thumbsConfig = {
    3104     'data-thumbs': {}
    3105   };
    3106   let data_atts = {
    3107     slidesPerView: slidesPerView === 'auto' ? 'auto' : parseInt(slidesPerView, 10),
    3108     slidesPerGroup,
    3109     slidesPerGroupAuto,
    3110     slidesPerGroupSkip,
    3111     navigation,
    3112     pagination: {},
    3113     delay: delay,
    3114     speed: speed,
    3115     loop: loop,
    3116     direction,
    3117     slidesOffsetBefore,
    3118     slidesOffsetAfter,
    3119     autoHeight,
    3120     spaceBetween,
    3121     releaseOnEdges
    3122   };
    3123 
    3124   // Mousewheel and release on edges logic
    3125   if (mousewheel && releaseOnEdges) {
    3126     data_atts.mousewheel = {
    3127       releaseOnEdges: releaseOnEdges === 'true'
    3128     };
    3129   }
    3130 
    3131   // Effect logic
    3132   if (effect) {
    3133     data_atts.effect = effect;
    3134 
    3135     // If the effect is 'fade', enable crossFade
    3136     if (effect === 'fade') {
    3137       data_atts.fadeEffect = {
    3138         crossFade: true
    3139       };
    3140     }
    3141   }
    3142 
    3143   // Autoplay
    3144   // -- START -- Autoplay logic
    3145   if (autoplay) {
    3146     data_atts.autoplay = true;
    3147 
    3148     // Delay logic
    3149     if (delay !== null && delay !== undefined) {
    3150       data_atts.autoplay = {
    3151         delay: Number(delay)
    3152       };
    3153     }
    3154 
    3155     // Disable on interaction
    3156     if (disableOnInteraction) {
    3157       if (!data_atts.autoplay) {
    3158         data_atts.autoplay = {};
    3159       }
    3160       data_atts.autoplay.disableOnInteraction = true;
    3161     }
    3162 
    3163     // Pause on mouse enter
    3164     if (pauseOnMouseEnter) {
    3165       if (!data_atts.autoplay) {
    3166         data_atts.autoplay = {};
    3167       }
    3168       data_atts.autoplay.pauseOnMouseEnter = true;
    3169     }
    3170 
    3171     // Reverse direction
    3172     if (reverseDirection) {
    3173       if (!data_atts.autoplay) {
    3174         data_atts.autoplay = {};
    3175       }
    3176       data_atts.autoplay.reverseDirection = true;
    3177     }
    3178 
    3179     // Stop on last slide
    3180     if (stopOnLastSlide) {
    3181       if (!data_atts.autoplay) {
    3182         data_atts.autoplay = {};
    3183       }
    3184       data_atts.autoplay.stopOnLastSlide = true;
    3185     }
    3186 
    3187     // Wait for transition
    3188     if (waitForTransition !== undefined && waitForTransition !== null) {
    3189       if (!data_atts.autoplay) {
    3190         data_atts.autoplay = {};
    3191       }
    3192       data_atts.autoplay.waitForTransition = waitForTransition;
    3193     }
    3194   }
    3195   // -- END -- Autoplay logic
    3196 
    3197   // Freemode (old version with sticky attribute)
    3198   if (freeMode) {
    3199     data_atts.freeMode = {
    3200       enabled: true
    3201     };
    3202 
    3203     // If both freeMode and sticky are true, enable sticky mode
    3204     if (sticky) {
    3205       data_atts.freeMode.sticky = true;
    3206     }
    3207   }
    3208 
    3209   // Pagination
    3210   data_atts.pagination.type = pagination_type != 'bullets' ? pagination_type : 'bullets';
    3211   if (clickable_pagination) {
    3212     data_atts.pagination.clickable = clickable_pagination ? true : '';
    3213   }
    3214   if (typeof breakpoints !== 'undefined' && breakpoints != '') {
    3215     data_atts.breakpoints = breakpoints;
    3216   }
    3217   if (thumbs) {
    3218     thumbsConfig['data-thumbs'] = JSON.stringify({
    3219       spaceBetween: thumbsSpaceBetween,
    3220       slidesPerView: thumbsSlidesPerView,
    3221       freeMode: true,
    3222       watchSlidesProgress: true,
    3223       navigation: false
    3224     });
    3225   }
    3226   const thumbsElements = (typeof tabsData !== 'undefined' ? tabsData : []).map((tab, index) => {
    3227     return (tab.thumbImg || tab.slideImg) && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3228       className: "swiper-slide wp-swiper__thumb",
    3229       "data-thumb": index + 1,
    3230       children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("img", {
    3231         src: tab.thumbImg || tab.slideImg,
    3232         alt: `Thumbnail ${index + 1}`
    3233       })
    3234     }, index);
    3235   });
    3236   const swiperContainerClassName = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()('swiper-container', 'swiper', {
    3237     'swiper-overflow-visible': overflowVisible
    3238   });
    3239   return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
    3240     ...blockProps,
    3241     children: [getOverlayImg(overlayImg, style_overlay_image), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
    3242       className: "wp-swiper__wrapper",
    3243       style: style_overlay_wrapper,
    3244       children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3245         className: swiperContainerClassName,
    3246         ...(debug ? {
    3247           'data-debug': true
    3248         } : {}),
    3249         // Only include data-debug if debug is true
    3250         "data-swiper": JSON.stringify(data_atts),
    3251         ...thumbsConfig,
    3252         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3253           className: "swiper-wrapper",
    3254           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InnerBlocks.Content, {})
    3255         })
    3256       }), getNavigation(props), getPagination(props)]
    3257     }), getQuoteSVG(props), thumbs && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3258       className: "wp-swiper__thumbs",
    3259       children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3260         className: "wp-swiper__wrapper",
    3261         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3262           className: "swiper-container",
    3263           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3264             className: "swiper-wrapper",
    3265             children: thumbsElements
    3266           })
    3267         })
    3268       })
    3269     })]
    3270   });
    3271   function getOverlayImg(overlayImg, style_overlay_image) {
    3272     if (overlayImg === undefined) {
    3273       return;
    3274     }
    3275     return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3276       className: "wp-swiper__overlay-img",
    3277       style: style_overlay_image
    3278     });
    3279   }
    3280   function getPagination({
    3281     attributes
    3282   }) {
    3283     const {
    3284       pagination
    3285     } = attributes;
    3286     if (pagination) {
    3287       return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3288         className: "swiper-pagination"
    3289       });
    3290     }
    3291   }
    3292   function getNavigation({
    3293     attributes
    3294   }) {
    3295     const {
    3296       navigation
    3297     } = attributes;
    3298     if (navigation) {
    3299       return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {
    3300         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3301           className: "wp_swiper__navigation",
    3302           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
    3303             className: "wp_swiper__navigation-container",
    3304             children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3305               className: `swiper-button-prev ${previousIcon ? 'wp_swiper__button-prev' : ''}`,
    3306               children: previousIcon ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("img", {
    3307                 src: previousIcon,
    3308                 alt: "Previous"
    3309               }) : null
    3310             }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3311               className: `swiper-button-next ${nextIcon ? 'wp_swiper__button-next' : ''}`,
    3312               children: nextIcon ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("img", {
    3313                 src: nextIcon,
    3314                 alt: "Previous"
    3315               }) : null
    3316             })]
    3317           })
    3318         })
    3319       });
    3320     }
    3321   }
    3322   function getQuoteSVG({
    3323     attributes
    3324   }) {
    3325     let {
    3326       className
    3327     } = attributes;
    3328     className = className ? className.toString() : '';
    3329     if (className.indexOf('is-style-testimonials') !== -1) {
    3330       return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {
    3331         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3332           className: "wp-swiper__quotes",
    3333           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("svg", {
    3334             "aria-hidden": "true",
    3335             focusable: "false",
    3336             "data-prefix": "fas",
    3337             "data-icon": "quote-right",
    3338             role: "img",
    3339             xmlns: "http://www.w3.org/2000/svg",
    3340             viewBox: "0 0 512 512",
    3341             class: "svg-inline--fa fa-quote-right fa-w-16 fa-5x",
    3342             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("path", {
    3343               fill: "currentColor",
    3344               d: "M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z",
    3345               class: ""
    3346             })
    3347           })
    3348         })
    3349       });
    3350     }
    3351   }
    3352 }
    3353 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (save);
    3354 
    3355 /***/ },
    3356 
    3357 /***/ "./src/blocks/slides/save.js"
    3358 /*!***********************************!*\
    3359   !*** ./src/blocks/slides/save.js ***!
    3360   \***********************************/
    3361 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    3362 
    3363 "use strict";
    3364 __webpack_require__.r(__webpack_exports__);
    3365 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    3366 /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
    3367 /* harmony export */ });
    3368 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! classnames/dedupe */ "./node_modules/classnames/dedupe.js");
    3369 /* harmony import */ var classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(classnames_dedupe__WEBPACK_IMPORTED_MODULE_0__);
    3370 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
    3371 /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
    3372 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
    3373 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
    3374 /**
    3375  * External dependencies
    3376  */
    3377 
    3378 
    3379 /**
    3380  * WordPress dependencies
    3381  */
    3382 
    3383 
    3384 /**
    3385  * Block Save Class.
    3386  */
    3387 
    3388 function save(props) {
    3389   let {
    3390     className
    3391   } = props.attributes;
    3392   const {
    3393     align,
    3394     overlayImg,
    3395     overlayImgOpacity,
    3396     slidesPerView,
    3397     slidesPerGroup,
    3398     slidesPerGroupAuto,
    3399     slidesPerGroupSkip,
    3400     spaceBetween,
    3401     autoSlideWidth,
    3402     txtColor,
    3403     autoplay,
    3404     disableOnInteraction,
    3405     pauseOnMouseEnter,
    3406     reverseDirection,
    3407     stopOnLastSlide,
    3408     waitForTransition,
    3409     delay,
    3410     speed,
    3411     loop,
    3412     loopAddBlankSlides,
    3413     loopAdditionalSlides,
    3414     effect,
    3415     navigation,
    3416     pagination,
    3417     mousewheel,
    3418     releaseOnEdges,
    3419     pagination_type,
    3420     clickable_pagination,
    3421     breakpoints,
    3422     thumbs,
    3423     thumbsSpaceBetween,
    3424     thumbsSlidesPerView,
    3425     autoHeight,
    3426     freeMode,
    3427     freeModeMinimumVelocity,
    3428     freeModeMomentum,
    3429     freeModeMomentumBounce,
    3430     freeModeMomentumBounceRatio,
    3431     freeModeMomentumRatio,
    3432     freeModeMomentumVelocityRatio,
    3433     freeModeSticky,
    3434     debug,
    3435     direction,
    3436     tabsData,
    3437     previousIcon,
    3438     nextIcon,
    3439     slidesOffsetBefore,
    3440     slidesOffsetAfter,
    3441     overflowVisible
    3442   } = props.attributes;
    3443   className = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()(className, 'wp-swiper');
    3444   if (align) {
    3445     className = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()(className, `align${align}`);
    3446   }
    3447   const blockProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps.save({
    3448     className: className
    3449   });
    3450   const innerBlocksProps = _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useInnerBlocksProps;
    3451   const style_overlay_image = overlayImg ? {
    3452     backgroundImage: `url(${overlayImg})`
    3453   } : {};
    3454   if (overlayImgOpacity) {
    3455     style_overlay_image.opacity = overlayImgOpacity;
    3456   }
    3457   const style_overlay_wrapper = txtColor ? {
    3458     color: txtColor
    3459   } : {};
    3460   let thumbsConfig = {
    3461     'data-thumbs': {}
    3462   };
    3463   let data_atts = {
    3464     slidesPerView: slidesPerView === 'auto' ? 'auto' : parseInt(slidesPerView, 10),
    3465     slidesPerGroup,
    3466     slidesPerGroupAuto,
    3467     slidesPerGroupSkip,
    3468     navigation,
    3469     pagination: {},
    3470     delay: delay,
    3471     speed: speed,
    3472     loop: loop,
    3473     direction,
    3474     slidesOffsetBefore,
    3475     slidesOffsetAfter,
    3476     autoHeight,
    3477     spaceBetween,
    3478     releaseOnEdges
    3479   };
    3480 
    3481   // Auto Slide Width logic - only include if true
    3482   if (autoSlideWidth) {
    3483     data_atts.autoSlideWidth = true;
    3484   }
    3485 
    3486   // Mousewheel and release on edges logic
    3487   if (mousewheel && releaseOnEdges) {
    3488     data_atts.mousewheel = {
    3489       releaseOnEdges: releaseOnEdges === 'true'
    3490     };
    3491   }
    3492 
    3493   // Loop logic
    3494   if (loop) {
    3495     data_atts.loopAddBlankSlides = loopAddBlankSlides;
    3496     data_atts.loopAdditionalSlides = loopAdditionalSlides;
    3497   }
    3498 
    3499   // Effect logic
    3500   if (effect) {
    3501     data_atts.effect = effect;
    3502 
    3503     // If the effect is 'fade', enable crossFade
    3504     if (effect === 'fade') {
    3505       data_atts.fadeEffect = {
    3506         crossFade: true
    3507       };
    3508     }
    3509   }
    3510 
    3511   // Autoplay
    3512   // -- START -- Autoplay logic
    3513   if (autoplay) {
    3514     data_atts.autoplay = true;
    3515 
    3516     // Delay logic
    3517     if (delay !== null && delay !== undefined) {
    3518       data_atts.autoplay = {
    3519         delay: Number(delay)
    3520       };
    3521     }
    3522 
    3523     // Disable on interaction
    3524     if (disableOnInteraction) {
    3525       if (!data_atts.autoplay) {
    3526         data_atts.autoplay = {};
    3527       }
    3528       data_atts.autoplay.disableOnInteraction = true;
    3529     }
    3530 
    3531     // Pause on mouse enter
    3532     if (pauseOnMouseEnter) {
    3533       if (!data_atts.autoplay) {
    3534         data_atts.autoplay = {};
    3535       }
    3536       data_atts.autoplay.pauseOnMouseEnter = true;
    3537     }
    3538 
    3539     // Reverse direction
    3540     if (reverseDirection) {
    3541       if (!data_atts.autoplay) {
    3542         data_atts.autoplay = {};
    3543       }
    3544       data_atts.autoplay.reverseDirection = true;
    3545     }
    3546 
    3547     // Stop on last slide
    3548     if (stopOnLastSlide) {
    3549       if (!data_atts.autoplay) {
    3550         data_atts.autoplay = {};
    3551       }
    3552       data_atts.autoplay.stopOnLastSlide = true;
    3553     }
    3554 
    3555     // Wait for transition
    3556     if (waitForTransition !== undefined && waitForTransition !== null) {
    3557       if (!data_atts.autoplay) {
    3558         data_atts.autoplay = {};
    3559       }
    3560       data_atts.autoplay.waitForTransition = waitForTransition;
    3561     }
    3562   }
    3563   // -- END -- Autoplay logic
    3564 
    3565   // Freemode
    3566   if (freeMode) {
    3567     data_atts.freeMode = {
    3568       enabled: true,
    3569       minimumVelocity: freeModeMinimumVelocity,
    3570       momentum: freeModeMomentum,
    3571       momentumBounce: freeModeMomentumBounce,
    3572       momentumBounceRatio: freeModeMomentumBounceRatio,
    3573       momentumRatio: freeModeMomentumRatio,
    3574       momentumVelocityRatio: freeModeMomentumVelocityRatio,
    3575       sticky: freeModeSticky
    3576     };
    3577   }
    3578 
    3579   // Pagination
    3580   data_atts.pagination.type = pagination_type != 'bullets' ? pagination_type : 'bullets';
    3581   if (clickable_pagination) {
    3582     data_atts.pagination.clickable = clickable_pagination ? true : '';
    3583   }
    3584   if (typeof breakpoints !== 'undefined' && breakpoints != '') {
    3585     data_atts.breakpoints = breakpoints;
    3586   }
    3587   if (thumbs) {
    3588     thumbsConfig['data-thumbs'] = JSON.stringify({
    3589       spaceBetween: thumbsSpaceBetween,
    3590       slidesPerView: thumbsSlidesPerView,
    3591       freeMode: true,
    3592       watchSlidesProgress: true,
    3593       navigation: false
    3594     });
    3595   }
    3596   const thumbsElements = (typeof tabsData !== 'undefined' ? tabsData : []).map((tab, index) => {
    3597     return (tab.thumbImg || tab.slideImg) && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3598       className: "swiper-slide wp-swiper__thumb",
    3599       "data-thumb": index + 1,
    3600       children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("img", {
    3601         src: tab.thumbImg || tab.slideImg,
    3602         alt: `Thumbnail ${index + 1}`
    3603       })
    3604     }, index);
    3605   });
    3606   const swiperContainerClassName = classnames_dedupe__WEBPACK_IMPORTED_MODULE_0___default()('swiper-container', 'swiper', {
    3607     'swiper-overflow-visible': overflowVisible
    3608   });
    3609   return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
    3610     ...blockProps,
    3611     children: [getOverlayImg(overlayImg, style_overlay_image), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
    3612       className: "wp-swiper__wrapper",
    3613       style: style_overlay_wrapper,
    3614       children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3615         className: swiperContainerClassName,
    3616         ...(debug ? {
    3617           'data-debug': true
    3618         } : {}),
    3619         // Only include data-debug if debug is true
    3620         "data-swiper": JSON.stringify(data_atts),
    3621         ...thumbsConfig,
    3622         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3623           className: "swiper-wrapper",
    3624           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InnerBlocks.Content, {})
    3625         })
    3626       }), getNavigation(props), getPagination(props)]
    3627     }), getQuoteSVG(props), thumbs && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3628       className: "wp-swiper__thumbs",
    3629       children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3630         className: "wp-swiper__wrapper",
    3631         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3632           className: "swiper-container",
    3633           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3634             className: "swiper-wrapper",
    3635             children: thumbsElements
    3636           })
    3637         })
    3638       })
    3639     })]
    3640   });
    3641   function getOverlayImg(overlayImg, style_overlay_image) {
    3642     if (overlayImg === undefined) {
    3643       return;
    3644     }
    3645     return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3646       className: "wp-swiper__overlay-img",
    3647       style: style_overlay_image
    3648     });
    3649   }
    3650   function getPagination({
    3651     attributes
    3652   }) {
    3653     const {
    3654       pagination
    3655     } = attributes;
    3656     if (pagination) {
    3657       return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3658         className: "swiper-pagination"
    3659       });
    3660     }
    3661   }
    3662   function getNavigation({
    3663     attributes
    3664   }) {
    3665     const {
    3666       navigation
    3667     } = attributes;
    3668     if (navigation) {
    3669       return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {
    3670         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3671           className: "wp_swiper__navigation",
    3672           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)("div", {
    3673             className: "wp_swiper__navigation-container",
    3674             children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3675               className: `swiper-button-prev ${previousIcon ? 'wp_swiper__button-prev' : ''}`,
    3676               children: previousIcon ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("img", {
    3677                 src: previousIcon,
    3678                 alt: "Previous"
    3679               }) : null
    3680             }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3681               className: `swiper-button-next ${nextIcon ? 'wp_swiper__button-next' : ''}`,
    3682               children: nextIcon ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("img", {
    3683                 src: nextIcon,
    3684                 alt: "Previous"
    3685               }) : null
    3686             })]
    3687           })
    3688         })
    3689       });
    3690     }
    3691   }
    3692   function getQuoteSVG({
    3693     attributes
    3694   }) {
    3695     let {
    3696       className
    3697     } = attributes;
    3698     className = className ? className.toString() : '';
    3699     if (className.indexOf('is-style-testimonials') !== -1) {
    3700       return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {
    3701         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
    3702           className: "wp-swiper__quotes",
    3703           children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("svg", {
    3704             "aria-hidden": "true",
    3705             focusable: "false",
    3706             "data-prefix": "fas",
    3707             "data-icon": "quote-right",
    3708             role: "img",
    3709             xmlns: "http://www.w3.org/2000/svg",
    3710             viewBox: "0 0 512 512",
    3711             class: "svg-inline--fa fa-quote-right fa-w-16 fa-5x",
    3712             children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("path", {
    3713               fill: "currentColor",
    3714               d: "M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z",
    3715               class: ""
    3716             })
    3717           })
    3718         })
    3719       });
    3720     }
    3721   }
    3722 }
    3723 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (save);
    3724 
    3725 /***/ },
    3726 
    3727 /***/ "./src/components/block-alignment-matrix-control/index.js"
    3728 /*!****************************************************************!*\
    3729   !*** ./src/components/block-alignment-matrix-control/index.js ***!
    3730   \****************************************************************/
    3731 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    3732 
    3733 "use strict";
    3734 __webpack_require__.r(__webpack_exports__);
    3735 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    3736 /* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
    3737 /* harmony export */ });
    3738 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
    3739 /* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
    3740 /* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/keycodes */ "@wordpress/keycodes");
    3741 /* harmony import */ var _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__);
    3742 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
    3743 /* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__);
    3744 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
    3745 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__);
    3746 /**
    3747  * WordPress dependencies
    3748  */
    3749 
    3750 
    3751 
    3752 
    3753 function BlockAlignmentMatrixControl(props) {
    3754   const {
    3755     label = (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Change matrix alignment'),
    3756     onChange = 'undefined',
    3757     value = 'center',
    3758     isDisabled
    3759   } = props;
    3760   const icon = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalAlignmentMatrixControl.Icon, {
    3761     value: value
    3762   });
    3763   const className = 'block-editor-block-alignment-matrix-control';
    3764   const popoverClassName = `${className}__popover`;
    3765   const isAlternate = true;
    3766   return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.Dropdown, {
    3767     placement: "bottom right",
    3768     className: className,
    3769     popoverProps: {
    3770       className: popoverClassName,
    3771       isAlternate
    3772     },
    3773     renderToggle: ({
    3774       onToggle,
    3775       isOpen
    3776     }) => {
    3777       const openOnArrowDown = event => {
    3778         if (!isOpen && event.keyCode === _wordpress_keycodes__WEBPACK_IMPORTED_MODULE_1__.DOWN) {
    3779           event.preventDefault();
    3780           event.stopPropagation();
    3781           onToggle();
    3782         }
    3783       };
    3784       return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ToolbarButton, {
    3785         onClick: onToggle,
    3786         "aria-haspopup": "true",
    3787         "aria-expanded": isOpen,
    3788         onKeyDown: openOnArrowDown,
    3789         label: label,
    3790         icon: icon,
    3791         showTooltip: true,
    3792         disabled: isDisabled
    3793       });
    3794     },
    3795     renderContent: () => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalAlignmentMatrixControl, {
    3796       hasFocusBorder: false,
    3797       onChange: onChange,
    3798       value: value
    3799     })
    3800   });
    3801 }
    3802 /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (BlockAlignmentMatrixControl);
    3803 
    3804 /***/ },
    3805 
    3806 /***/ "./src/components/remove-button/index.js"
    3807 /*!***********************************************!*\
    3808   !*** ./src/components/remove-button/index.js ***!
    3809   \***********************************************/
    3810 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    3811 
    3812 "use strict";
    3813 __webpack_require__.r(__webpack_exports__);
    3814 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    3815 /* harmony export */   "default": () => (/* binding */ RemoveButton)
    3816 /* harmony export */ });
    3817 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
    3818 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
    3819 
    3820 /**
    3821  * WordPress dependencies
    3822  */
    3823 const {
    3824   Component
    3825 } = wp.element;
    3826 const {
    3827   __
    3828 } = wp.i18n;
    3829 const {
    3830   Button,
    3831   Popover
    3832 } = wp.components;
    3833 
    3834 /**
    3835  * Component Class
    3836  */
    3837 class RemoveButton extends Component {
    3838   constructor() {
    3839     super(...arguments);
    3840     this.state = {
    3841       confirmed: -1
    3842     };
    3843   }
    3844   render() {
    3845     const {
    3846       onRemove,
    3847       show,
    3848       style,
    3849       tooltipText = __('Remove Slide?', '@@text_domain'),
    3850       tooltipRemoveText = __('Remove', '@@text_domain'),
    3851       tooltipCancelText = __('Cancel', '@@text_domain')
    3852     } = this.props;
    3853     const {
    3854       confirmed
    3855     } = this.state;
    3856     if (!show) {
    3857       return '';
    3858     }
    3859     return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(Button, {
    3860       className: "wb-component-remove-button",
    3861       onClick: () => {
    3862         if (confirmed === -1) {
    3863           this.setState({
    3864             confirmed: 0
    3865           });
    3866         }
    3867       },
    3868       style: style,
    3869       children: [confirmed === 0 ? /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(Popover, {
    3870         className: "wb-component-remove-button-confirm",
    3871         onClose: () => {
    3872           this.setState({
    3873             confirmed: -1
    3874           });
    3875         },
    3876         onClickOutside: () => {
    3877           this.setState({
    3878             confirmed: -1
    3879           });
    3880         },
    3881         children: [tooltipText, /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Button, {
    3882           className: "wb-component-remove-button-confirm-yep",
    3883           onClick: onRemove,
    3884           children: tooltipRemoveText
    3885         }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(Button, {
    3886           className: "wb-component-remove-button-confirm-nope",
    3887           onClick: () => {
    3888             this.setState({
    3889               confirmed: -1
    3890             });
    3891           },
    3892           children: tooltipCancelText
    3893         })]
    3894       }) : '', /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("svg", {
    3895         "aria-hidden": "true",
    3896         focusable: "false",
    3897         "data-prefix": "fas",
    3898         "data-icon": "trash",
    3899         role: "img",
    3900         xmlns: "http://www.w3.org/2000/svg",
    3901         viewBox: "0 0 448 512",
    3902         class: "svg-inline--fa fa-trash fa-w-14 fa-3x",
    3903         children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("path", {
    3904           fill: "currentColor",
    3905           d: "M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z",
    3906           class: ""
    3907         })
    3908       })]
    3909     });
    3910   }
    3911 }
    3912 
    3913 /***/ },
    3914 
    3915 /***/ "./src/styles/editor.scss"
    3916 /*!********************************!*\
    3917   !*** ./src/styles/editor.scss ***!
    3918   \********************************/
    3919 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    3920 
    3921 "use strict";
    3922 __webpack_require__.r(__webpack_exports__);
    3923 // extracted by mini-css-extract-plugin
    3924 
    3925 
    3926 /***/ },
    3927 
    3928 /***/ "./src/utils/get-image/index.js"
    3929 /*!**************************************!*\
    3930   !*** ./src/utils/get-image/index.js ***!
    3931   \**************************************/
    3932 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    3933 
    3934 "use strict";
    3935 __webpack_require__.r(__webpack_exports__);
    3936 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    3937 /* harmony export */   "default": () => (/* binding */ get_image)
    3938 /* harmony export */ });
    3939 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
    3940 /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
    3941 
    3942 function get_image(tab_image) {
    3943   return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("div", {
    3944     className: "wb-tabs-icon",
    3945     children: '' != tab_image && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)("img", {
    3946       className: "wb-tabs-icon_image",
    3947       src: tab_image
    3948     })
    3949   });
    3950 }
    3951 
    3952 /***/ },
    3953 
    3954 /***/ "./src/utils/get-unique-slug/index.js"
    3955 /*!********************************************!*\
    3956   !*** ./src/utils/get-unique-slug/index.js ***!
    3957   \********************************************/
    3958 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    3959 
    3960 "use strict";
    3961 __webpack_require__.r(__webpack_exports__);
    3962 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    3963 /* harmony export */   "default": () => (/* binding */ getUniqueSlug),
    3964 /* harmony export */   getSlug: () => (/* binding */ getSlug)
    3965 /* harmony export */ });
    3966 /* harmony import */ var slugify__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! slugify */ "./node_modules/slugify/slugify.js");
    3967 /* harmony import */ var slugify__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(slugify__WEBPACK_IMPORTED_MODULE_0__);
    3968 /* harmony import */ var striptags__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! striptags */ "./node_modules/striptags/src/striptags.js");
    3969 /* harmony import */ var striptags__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(striptags__WEBPACK_IMPORTED_MODULE_1__);
    3970 /**
    3971  * External dependencies
    3972  */
    3973 
    3974 
    3975 
    3976 /**
    3977  * WordPress dependencies
    3978  */
    3979 const {
    3980   getBlocks
    3981 } = wp.data.select('core/block-editor');
    3982 
    3983 /**
    3984  * Get all block IDs.
    3985  *
    3986  * @param {Array} excludeId exclude block client id.
    3987  * @param {Array} blocks blocks list to check.
    3988  *
    3989  * @return {Array} block anchors and slugs array.
    3990  */
    3991 function getAllSlugs(excludeId, blocks = 'none') {
    3992   let slugs = [];
    3993   if ('none' === blocks) {
    3994     blocks = getBlocks();
    3995   }
    3996   blocks.forEach(block => {
    3997     if (block.clientId !== excludeId && block.attributes) {
    3998       if (block.attributes.anchor) {
    3999         slugs.push(block.attributes.anchor);
    4000       }
    4001       if (block.name === 'wb/tabs-tab' && block.attributes.slug) {
    4002         slugs.push(block.attributes.slug);
    4003       }
    4004     }
    4005     if (block.innerBlocks && block.innerBlocks.length) {
    4006       slugs = [...slugs, ...getAllSlugs(excludeId, block.innerBlocks)];
    4007     }
    4008   });
    4009   return slugs;
    4010 }
    4011 
    4012 /**
    4013  * Check if slug is unique.
    4014  *
    4015  * @param {String} slug new slug.
    4016  * @param {Array} slugs slugs list to check.
    4017  *
    4018  * @return {Boolean} is unique.
    4019  */
    4020 function isUniqueSlug(slug, slugs) {
    4021   let isUnique = true;
    4022   slugs.forEach(thisSlug => {
    4023     if (thisSlug === slug) {
    4024       isUnique = false;
    4025     }
    4026   });
    4027   return isUnique;
    4028 }
    4029 
    4030 /**
    4031  * Get slug from title.
    4032  *
    4033  * @param {String} title title string.
    4034  *
    4035  * @return {String} slug.
    4036  */
    4037 function getSlug(title) {
    4038   return slugify__WEBPACK_IMPORTED_MODULE_0___default()(striptags__WEBPACK_IMPORTED_MODULE_1___default()(title), {
    4039     replacement: '-',
    4040     remove: /[*_+~()'"!?\/\-—–−:@^|&#.,;%<>{}]/g,
    4041     lower: true
    4042   });
    4043 }
    4044 
    4045 /**
    4046  * Get unique slug from title.
    4047  *
    4048  * @param {String} title title string.
    4049  * @param {String} excludeBlockId exclude block id to not check.
    4050  *
    4051  * @return {String} slug.
    4052  */
    4053 function getUniqueSlug(title, excludeBlockId) {
    4054   let newSlug = '';
    4055   let i = 0;
    4056   const allSlugs = getAllSlugs(excludeBlockId);
    4057   while (!newSlug || !isUniqueSlug(newSlug, allSlugs)) {
    4058     if (newSlug) {
    4059       i += 1;
    4060     }
    4061     newSlug = `${getSlug(title)}${i ? `-${i}` : ''}`;
    4062   }
    4063   return newSlug;
    4064 }
    4065 
    4066 /***/ },
    4067 
    4068 /***/ "./src/utils/shared.js"
    4069 /*!*****************************!*\
    4070   !*** ./src/utils/shared.js ***!
    4071   \*****************************/
    4072 (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
    4073 
    4074 "use strict";
    4075 __webpack_require__.r(__webpack_exports__);
    4076 /* harmony export */ __webpack_require__.d(__webpack_exports__, {
    4077 /* harmony export */   deepClone: () => (/* binding */ deepClone),
    4078 /* harmony export */   getPositionClassName: () => (/* binding */ getPositionClassName),
    4079 /* harmony export */   isContentPositionCenter: () => (/* binding */ isContentPositionCenter)
    4080 /* harmony export */ });
    4081 const POSITION_CLASSNAMES = {
    4082   'top left': 'is-position-top-left',
    4083   'top center': 'is-position-top-center',
    4084   'top right': 'is-position-top-right',
    4085   'center left': 'is-position-center-left',
    4086   'center center': 'is-position-center-center',
    4087   center: 'is-position-center-center',
    4088   'center right': 'is-position-center-right',
    4089   'bottom left': 'is-position-bottom-left',
    4090   'bottom center': 'is-position-bottom-center',
    4091   'bottom right': 'is-position-bottom-right'
    4092 };
    4093 function isContentPositionCenter(contentPosition) {
    4094   return !contentPosition || contentPosition === 'center center' || contentPosition === 'center';
    4095 }
    4096 function getPositionClassName(contentPosition) {
    4097   /*
    4098    * Only render a className if the contentPosition is not center (the default).
    4099    */
    4100   if (isContentPositionCenter(contentPosition)) return '';
    4101   return POSITION_CLASSNAMES[contentPosition];
    4102 }
    4103 function deepClone(obj) {
    4104   if (Array.isArray(obj)) {
    4105     return obj.map(item => deepClone(item));
    4106   } else if (typeof obj === 'object' && obj !== null) {
    4107     const clone = {};
    4108     for (let key in obj) {
    4109       if (obj.hasOwnProperty(key)) {
    4110         clone[key] = deepClone(obj[key]);
    4111       }
    4112     }
    4113     return clone;
    4114   } else {
    4115     return obj;
    4116   }
    4117 }
    4118 
    4119 /***/ },
    4120 
    4121 /***/ "@wordpress/block-editor"
    4122 /*!*************************************!*\
    4123   !*** external ["wp","blockEditor"] ***!
    4124   \*************************************/
    4125 (module) {
    4126 
    4127 "use strict";
    4128 module.exports = window["wp"]["blockEditor"];
    4129 
    4130 /***/ },
    4131 
    4132 /***/ "@wordpress/blocks"
    4133 /*!********************************!*\
    4134   !*** external ["wp","blocks"] ***!
    4135   \********************************/
    4136 (module) {
    4137 
    4138 "use strict";
    4139 module.exports = window["wp"]["blocks"];
    4140 
    4141 /***/ },
    4142 
    4143 /***/ "@wordpress/components"
    4144 /*!************************************!*\
    4145   !*** external ["wp","components"] ***!
    4146   \************************************/
    4147 (module) {
    4148 
    4149 "use strict";
    4150 module.exports = window["wp"]["components"];
    4151 
    4152 /***/ },
    4153 
    4154 /***/ "@wordpress/compose"
    4155 /*!*********************************!*\
    4156   !*** external ["wp","compose"] ***!
    4157   \*********************************/
    4158 (module) {
    4159 
    4160 "use strict";
    4161 module.exports = window["wp"]["compose"];
    4162 
    4163 /***/ },
    4164 
    4165 /***/ "@wordpress/data"
    4166 /*!******************************!*\
    4167   !*** external ["wp","data"] ***!
    4168   \******************************/
    4169 (module) {
    4170 
    4171 "use strict";
    4172 module.exports = window["wp"]["data"];
    4173 
    4174 /***/ },
    4175 
    4176 /***/ "@wordpress/element"
    4177 /*!*********************************!*\
    4178   !*** external ["wp","element"] ***!
    4179   \*********************************/
    4180 (module) {
    4181 
    4182 "use strict";
    4183 module.exports = window["wp"]["element"];
    4184 
    4185 /***/ },
    4186 
    4187 /***/ "@wordpress/i18n"
    4188 /*!******************************!*\
    4189   !*** external ["wp","i18n"] ***!
    4190   \******************************/
    4191 (module) {
    4192 
    4193 "use strict";
    4194 module.exports = window["wp"]["i18n"];
    4195 
    4196 /***/ },
    4197 
    4198 /***/ "@wordpress/keycodes"
    4199 /*!**********************************!*\
    4200   !*** external ["wp","keycodes"] ***!
    4201   \**********************************/
    4202 (module) {
    4203 
    4204 "use strict";
    4205 module.exports = window["wp"]["keycodes"];
    4206 
    4207 /***/ },
    4208 
    4209 /***/ "react"
    4210 /*!************************!*\
    4211   !*** external "React" ***!
    4212   \************************/
    4213 (module) {
    4214 
    4215 "use strict";
    4216 module.exports = window["React"];
    4217 
    4218 /***/ },
    4219 
    4220 /***/ "react/jsx-runtime"
    4221 /*!**********************************!*\
    4222   !*** external "ReactJSXRuntime" ***!
    4223   \**********************************/
    4224 (module) {
    4225 
    4226 "use strict";
    4227 module.exports = window["ReactJSXRuntime"];
    4228 
    4229 /***/ }
    4230 
    4231 /******/    });
    4232 /************************************************************************/
    4233 /******/    // The module cache
    4234 /******/    var __webpack_module_cache__ = {};
    4235 /******/   
    4236 /******/    // The require function
    4237 /******/    function __webpack_require__(moduleId) {
    4238 /******/        // Check if module is in cache
    4239 /******/        var cachedModule = __webpack_module_cache__[moduleId];
    4240 /******/        if (cachedModule !== undefined) {
    4241 /******/            return cachedModule.exports;
    4242 /******/        }
    4243 /******/        // Check if module exists (development only)
    4244 /******/        if (__webpack_modules__[moduleId] === undefined) {
    4245 /******/            var e = new Error("Cannot find module '" + moduleId + "'");
    4246 /******/            e.code = 'MODULE_NOT_FOUND';
    4247 /******/            throw e;
    4248 /******/        }
    4249 /******/        // Create a new module (and put it into the cache)
    4250 /******/        var module = __webpack_module_cache__[moduleId] = {
    4251 /******/            // no module.id needed
    4252 /******/            // no module.loaded needed
    4253 /******/            exports: {}
    4254 /******/        };
    4255 /******/   
    4256 /******/        // Execute the module function
    4257 /******/        __webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
    4258 /******/   
    4259 /******/        // Return the exports of the module
    4260 /******/        return module.exports;
    4261 /******/    }
    4262 /******/   
    4263 /************************************************************************/
    4264 /******/    /* webpack/runtime/compat get default export */
    4265 /******/    (() => {
    4266 /******/        // getDefaultExport function for compatibility with non-harmony modules
    4267 /******/        __webpack_require__.n = (module) => {
    4268 /******/            var getter = module && module.__esModule ?
    4269 /******/                () => (module['default']) :
    4270 /******/                () => (module);
    4271 /******/            __webpack_require__.d(getter, { a: getter });
    4272 /******/            return getter;
    4273 /******/        };
    4274 /******/    })();
    4275 /******/   
    4276 /******/    /* webpack/runtime/define property getters */
    4277 /******/    (() => {
    4278 /******/        // define getter functions for harmony exports
    4279 /******/        __webpack_require__.d = (exports, definition) => {
    4280 /******/            for(var key in definition) {
    4281 /******/                if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
    4282 /******/                    Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
    4283 /******/                }
    4284 /******/            }
    4285 /******/        };
    4286 /******/    })();
    4287 /******/   
    4288 /******/    /* webpack/runtime/hasOwnProperty shorthand */
    4289 /******/    (() => {
    4290 /******/        __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
    4291 /******/    })();
    4292 /******/   
    4293 /******/    /* webpack/runtime/make namespace object */
    4294 /******/    (() => {
    4295 /******/        // define __esModule on exports
    4296 /******/        __webpack_require__.r = (exports) => {
    4297 /******/            if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
    4298 /******/                Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
    4299 /******/            }
    4300 /******/            Object.defineProperty(exports, '__esModule', { value: true });
    4301 /******/        };
    4302 /******/    })();
    4303 /******/   
    4304 /************************************************************************/
    4305 var __webpack_exports__ = {};
    4306 // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
    4307 (() => {
    4308 "use strict";
    4309 /*!**********************!*\
    4310   !*** ./src/index.js ***!
    4311   \**********************/
    4312 __webpack_require__.r(__webpack_exports__);
    4313 /* harmony import */ var _styles_editor_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./styles/editor.scss */ "./src/styles/editor.scss");
    4314 /* harmony import */ var _blocks_slides__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./blocks/slides */ "./src/blocks/slides/index.js");
    4315 /* harmony import */ var _blocks_slide__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blocks/slide */ "./src/blocks/slide/index.js");
    4316 
    4317 
    4318 
    4319 const {
    4320   registerBlockType,
    4321   registerBlockStyle
    4322 } = wp.blocks;
    4323 
    4324 /**
    4325  * Register blocks
    4326  */
    4327 registerBlockType(_blocks_slides__WEBPACK_IMPORTED_MODULE_1__.name, _blocks_slides__WEBPACK_IMPORTED_MODULE_1__.settings);
    4328 registerBlockType(_blocks_slide__WEBPACK_IMPORTED_MODULE_2__.name, _blocks_slide__WEBPACK_IMPORTED_MODULE_2__.settings);
    4329 registerBlockStyle(_blocks_slides__WEBPACK_IMPORTED_MODULE_1__.name, [{
    4330   name: 'testimonials',
    4331   label: 'Testimonials'
    4332 }, {
    4333   name: 'thumbnails-bottom-right',
    4334   label: 'Thumbnails Bottom Right'
    4335 }, {
    4336   name: 'overlayed-text-right',
    4337   label: 'Overlayed Text Right'
    4338 }]);
    4339 })();
    4340 
    4341 /******/ })()
    4342 ;
    4343 //# sourceMappingURL=index.build.js.map
     1(()=>{var e={655(e,t){var i;!function(){"use strict";var s=function(){function e(){}function t(e,t){for(var i=t.length,s=0;s<i;++s)o(e,t[s])}e.prototype=Object.create(null);var i={}.hasOwnProperty,s=/\s+/;function o(e,o){if(o){var a=typeof o;"string"===a?function(e,t){for(var i=t.split(s),o=i.length,a=0;a<o;++a)e[i[a]]=!0}(e,o):Array.isArray(o)?t(e,o):"object"===a?function(e,t){if(t.toString===Object.prototype.toString||t.toString.toString().includes("[native code]"))for(var s in t)i.call(t,s)&&(e[s]=!!t[s]);else e[t.toString()]=!0}(e,o):"number"===a&&function(e,t){e[t]=!0}(e,o)}}return function(){for(var i=arguments.length,s=Array(i),o=0;o<i;o++)s[o]=arguments[o];var a=new e;t(a,s);var l=[];for(var n in a)a[n]&&l.push(n);return l.join(" ")}}();e.exports?(s.default=s,e.exports=s):void 0===(i=function(){return s}.apply(t,[]))||(e.exports=i)}()}},t={};function i(s){var o=t[s];if(void 0!==o)return o.exports;var a=t[s]={exports:{}};return e[s](a,a.exports,i),a.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var s in t)i.o(t,s)&&!i.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:t[s]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";const e=JSON.parse('{"apiVersion":3,"name":"da/wp-swiper-slides","category":"media","supports":{"html":false,"className":false,"anchor":true,"align":["wide","full"]},"attributes":{"align":{"type":"string","default":""},"overlayColor":{"type":"object","default":{"rgb":{"r":0,"g":0,"b":0,"a":0}}},"containerWidth":{"type":"number"},"overlayImg":{"type":"string"},"previousIcon":{"type":"string"},"nextIcon":{"type":"string"},"overlayImgOpacity":{"type":"number","default":0.5},"currentSlide":{"type":"number","default":0},"tabActive":{"type":"string","default":"slide-1"},"buttonsAlign":{"type":"string","default":"start"},"autoplay":{"type":"boolean","default":false},"disableOnInteraction":{"type":"boolean","default":true},"pauseOnMouseEnter":{"type":"boolean","default":false},"reverseDirection":{"type":"boolean","default":false},"stopOnLastSlide":{"type":"boolean","default":false},"waitForTransition":{"type":"boolean","default":true},"navigation":{"type":"boolean","default":true},"pagination":{"type":"boolean","default":true},"clickable_pagination":{"type":"boolean","default":false},"loop":{"type":"boolean","default":false},"loopAddBlankSlides":{"type":"boolean","default":true},"loopAdditionalSlides":{"type":"number","default":0},"effect":{"type":"string","default":"slide"},"speed":{"type":"number","default":500},"delay":{"type":"number","default":3000},"slidesPerView":{"type":"string","default":"1"},"slidesPerGroup":{"type":"number","default":1},"slidesPerGroupAuto":{"type":"boolean","default":false},"slidesPerGroupSkip":{"type":"number","default":0},"spaceBetween":{"type":"number","default":0},"autoSlideWidth":{"type":"boolean","default":false},"slidesOffsetBefore":{"type":"number","default":0},"slidesOffsetAfter":{"type":"number","default":0},"tabsData":{"type":"array","default":[{"clientId":"","slug":"slide-1","slideImg":"","thumbImg":""}]},"breakpoints":{"type":"string"},"thumbs":{"type":"boolean","default":false},"thumbsSlidesPerView":{"type":"number","default":4},"thumbsSpaceBetween":{"type":"number","default":10},"autoHeight":{"type":"boolean","default":true},"sliderHeight":{"type":"string","default":"500px"},"freeMode":{"type":"boolean","default":false},"freeModeMinimumVelocity":{"type":"number","default":0.02},"freeModeMomentum":{"type":"boolean","default":true},"freeModeMomentumBounce":{"type":"boolean","default":true},"freeModeMomentumBounceRatio":{"type":"number","default":1},"freeModeMomentumRatio":{"type":"number","default":1},"freeModeMomentumVelocityRatio":{"type":"number","default":1},"freeModeSticky":{"type":"boolean","default":false},"debug":{"type":"boolean","default":false},"direction":{"type":"string","default":"horizontal"},"overflowVisible":{"type":"boolean","default":false},"navigationColor":{"type":"string","default":""},"paginationColor":{"type":"string","default":""}}}');var t=i(655),s=i.n(t);const o=window.wp.blockEditor,a=window.ReactJSXRuntime,{sliderHeight:l,navigationColor:n,paginationColor:r,autoHeight:d,...p}=e.attributes,c={...p,autoHeight:{type:"boolean",default:!0},pagination_type:{type:"string",default:"bullets"},mousewheel:{type:"boolean",default:!1},releaseOnEdges:{type:"boolean",default:!1}},u=[{attributes:{...c,tabsData:{type:"array",default:[]}},save:function(e){let{className:t}=e.attributes;const{align:i,overlayImg:l,overlayImgOpacity:n,slidesPerView:r,slidesPerGroup:d,slidesPerGroupAuto:p,slidesPerGroupSkip:c,spaceBetween:u,autoSlideWidth:w,autoplay:m,disableOnInteraction:g,pauseOnMouseEnter:h,reverseDirection:f,stopOnLastSlide:b,waitForTransition:v,delay:y,speed:x,loop:_,loopAddBlankSlides:j,loopAdditionalSlides:k,effect:C,navigation:P,pagination:S,mousewheel:M,releaseOnEdges:B,pagination_type:O,clickable_pagination:I,breakpoints:N,thumbs:R,thumbsSpaceBetween:A,thumbsSlidesPerView:T,autoHeight:V,freeMode:E,freeModeMinimumVelocity:D,freeModeMomentum:H,freeModeMomentumBounce:F,freeModeMomentumBounceRatio:G,freeModeMomentumRatio:$,freeModeMomentumVelocityRatio:z,freeModeSticky:L,debug:W,direction:J,tabsData:q,previousIcon:U,nextIcon:Z,slidesOffsetBefore:X,slidesOffsetAfter:Y,overflowVisible:K}=e.attributes;t=s()(t,"wp-swiper"),i&&(t=s()(t,`align${i}`));const Q={className:t},ee=l?{backgroundImage:`url(${l})`}:{};n&&(ee.opacity=n);let te={"data-thumbs":{}},ie={slidesPerView:"auto"===r?"auto":parseInt(r,10),slidesPerGroup:d,slidesPerGroupAuto:p,slidesPerGroupSkip:c,navigation:P,pagination:{},delay:y,speed:x,loop:_,direction:J,slidesOffsetBefore:X,slidesOffsetAfter:Y,autoHeight:V,spaceBetween:u,releaseOnEdges:B};w&&(ie.autoSlideWidth=!0),M&&B&&(ie.mousewheel={releaseOnEdges:"true"===B}),_&&(ie.loopAddBlankSlides=j,ie.loopAdditionalSlides=k),ie.effect=C||"slide","fade"===C&&(ie.fadeEffect={crossFade:!0}),m&&(ie.autoplay=!0,null!=y&&(ie.autoplay={delay:Number(y)}),g&&(ie.autoplay||(ie.autoplay={}),ie.autoplay.disableOnInteraction=!0),h&&(ie.autoplay||(ie.autoplay={}),ie.autoplay.pauseOnMouseEnter=!0),f&&(ie.autoplay||(ie.autoplay={}),ie.autoplay.reverseDirection=!0),b&&(ie.autoplay||(ie.autoplay={}),ie.autoplay.stopOnLastSlide=!0),null!=v&&(ie.autoplay||(ie.autoplay={}),ie.autoplay.waitForTransition=v)),E&&(ie.freeMode={enabled:!0,minimumVelocity:D,momentum:H,momentumBounce:F,momentumBounceRatio:G,momentumRatio:$,momentumVelocityRatio:z,sticky:L}),ie.pagination.type="bullets"!=O?O:"bullets",I&&(ie.pagination.clickable=!!I||""),void 0!==N&&""!=N&&(ie.breakpoints=N),R&&(te["data-thumbs"]=JSON.stringify({spaceBetween:A,slidesPerView:T,freeMode:!0,watchSlidesProgress:!0,navigation:!1}));const se=(void 0!==q?q:[]).map((e,t)=>(e.thumbImg||e.slideImg)&&(0,a.jsx)("div",{className:"swiper-slide wp-swiper__thumb","data-thumb":t+1,children:(0,a.jsx)("img",{src:e.thumbImg||e.slideImg,alt:`Thumbnail ${t+1}`})},t)),oe=s()("swiper-container","swiper",{"swiper-overflow-visible":K});return(0,a.jsxs)("div",{...Q,children:[function(e,t){if(void 0!==e)return(0,a.jsx)("div",{className:"wp-swiper__overlay-img",style:t})}(l,ee),(0,a.jsxs)("div",{className:"wp-swiper__wrapper",children:[(0,a.jsx)("div",{className:oe,...W?{"data-debug":!0}:{},"data-swiper":JSON.stringify(ie),...te,children:(0,a.jsxs)("div",{className:"swiper-wrapper",children:["\n",(0,a.jsx)(o.InnerBlocks.Content,{}),"\n"]})}),function({attributes:e}){const{navigation:t}=e;if(t)return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{className:"wp_swiper__navigation",children:(0,a.jsxs)("div",{className:"wp_swiper__navigation-container",children:[(0,a.jsx)("div",{className:"swiper-button-prev "+(U?"wp_swiper__button-prev":""),children:U?(0,a.jsx)("img",{src:U,alt:"Previous"}):null}),(0,a.jsx)("div",{className:"swiper-button-next "+(Z?"wp_swiper__button-next":""),children:Z?(0,a.jsx)("img",{src:Z,alt:"Previous"}):null})]})})})}(e),function({attributes:e}){const{pagination:t}=e;if(t)return(0,a.jsx)("div",{className:"swiper-pagination"})}(e)]}),function({attributes:e}){let{className:t}=e;if(t=t?t.toString():"",-1!==t.indexOf("is-style-testimonials"))return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{className:"wp-swiper__quotes",children:(0,a.jsx)("svg",{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"quote-right",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",class:"svg-inline--fa fa-quote-right fa-w-16 fa-5x",children:(0,a.jsx)("path",{fill:"currentColor",d:"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z",class:""})})})})}(e),R&&(0,a.jsx)("div",{className:"wp-swiper__thumbs",children:(0,a.jsx)("div",{className:"wp-swiper__wrapper",children:(0,a.jsx)("div",{className:"swiper-container",children:(0,a.jsx)("div",{className:"swiper-wrapper",children:se})})})})]})},migrate:e=>({...e,sliderHeight:"500px",navigationColor:void 0,paginationColor:void 0})},{attributes:{...c,sticky:{type:"boolean",default:!1},tabsData:{type:"array",default:[]}},save:function(e){let{className:t}=e.attributes;const{align:i,overlayImg:l,overlayImgOpacity:n,slidesPerView:r,slidesPerGroup:d,slidesPerGroupAuto:p,slidesPerGroupSkip:c,spaceBetween:u,txtColor:w,autoplay:m,disableOnInteraction:g,pauseOnMouseEnter:h,reverseDirection:f,stopOnLastSlide:b,waitForTransition:v,delay:y,speed:x,loop:_,effect:j,navigation:k,pagination:C,mousewheel:P,releaseOnEdges:S,pagination_type:M,clickable_pagination:B,breakpoints:O,thumbs:I,thumbsSpaceBetween:N,thumbsSlidesPerView:R,autoHeight:A,freeMode:T,sticky:V,debug:E,direction:D,tabsData:H,previousIcon:F,nextIcon:G,slidesOffsetBefore:$,slidesOffsetAfter:z,overflowVisible:L}=e.attributes;t=s()(t,"wp-swiper"),i&&(t=s()(t,`align${i}`));const W=o.useBlockProps.save({className:t}),J=(o.useInnerBlocksProps,l?{backgroundImage:`url(${l})`}:{});n&&(J.opacity=n);const q=w?{color:w}:{};let U={"data-thumbs":{}},Z={slidesPerView:"auto"===r?"auto":parseInt(r,10),slidesPerGroup:d,slidesPerGroupAuto:p,slidesPerGroupSkip:c,navigation:k,pagination:{},delay:y,speed:x,loop:_,direction:D,slidesOffsetBefore:$,slidesOffsetAfter:z,autoHeight:A,spaceBetween:u,releaseOnEdges:S};P&&S&&(Z.mousewheel={releaseOnEdges:"true"===S}),j&&(Z.effect=j,"fade"===j&&(Z.fadeEffect={crossFade:!0})),m&&(Z.autoplay=!0,null!=y&&(Z.autoplay={delay:Number(y)}),g&&(Z.autoplay||(Z.autoplay={}),Z.autoplay.disableOnInteraction=!0),h&&(Z.autoplay||(Z.autoplay={}),Z.autoplay.pauseOnMouseEnter=!0),f&&(Z.autoplay||(Z.autoplay={}),Z.autoplay.reverseDirection=!0),b&&(Z.autoplay||(Z.autoplay={}),Z.autoplay.stopOnLastSlide=!0),null!=v&&(Z.autoplay||(Z.autoplay={}),Z.autoplay.waitForTransition=v)),T&&(Z.freeMode={enabled:!0},V&&(Z.freeMode.sticky=!0)),Z.pagination.type="bullets"!=M?M:"bullets",B&&(Z.pagination.clickable=!!B||""),void 0!==O&&""!=O&&(Z.breakpoints=O),I&&(U["data-thumbs"]=JSON.stringify({spaceBetween:N,slidesPerView:R,freeMode:!0,watchSlidesProgress:!0,navigation:!1}));const X=(void 0!==H?H:[]).map((e,t)=>(e.thumbImg||e.slideImg)&&(0,a.jsx)("div",{className:"swiper-slide wp-swiper__thumb","data-thumb":t+1,children:(0,a.jsx)("img",{src:e.thumbImg||e.slideImg,alt:`Thumbnail ${t+1}`})},t)),Y=s()("swiper-container","swiper",{"swiper-overflow-visible":L});return(0,a.jsxs)("div",{...W,children:[function(e,t){if(void 0!==e)return(0,a.jsx)("div",{className:"wp-swiper__overlay-img",style:t})}(l,J),(0,a.jsxs)("div",{className:"wp-swiper__wrapper",style:q,children:[(0,a.jsx)("div",{className:Y,...E?{"data-debug":!0}:{},"data-swiper":JSON.stringify(Z),...U,children:(0,a.jsx)("div",{className:"swiper-wrapper",children:(0,a.jsx)(o.InnerBlocks.Content,{})})}),function({attributes:e}){const{navigation:t}=e;if(t)return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{className:"wp_swiper__navigation",children:(0,a.jsxs)("div",{className:"wp_swiper__navigation-container",children:[(0,a.jsx)("div",{className:"swiper-button-prev "+(F?"wp_swiper__button-prev":""),children:F?(0,a.jsx)("img",{src:F,alt:"Previous"}):null}),(0,a.jsx)("div",{className:"swiper-button-next "+(G?"wp_swiper__button-next":""),children:G?(0,a.jsx)("img",{src:G,alt:"Previous"}):null})]})})})}(e),function({attributes:e}){const{pagination:t}=e;if(t)return(0,a.jsx)("div",{className:"swiper-pagination"})}(e)]}),function({attributes:e}){let{className:t}=e;if(t=t?t.toString():"",-1!==t.indexOf("is-style-testimonials"))return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{className:"wp-swiper__quotes",children:(0,a.jsx)("svg",{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"quote-right",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",class:"svg-inline--fa fa-quote-right fa-w-16 fa-5x",children:(0,a.jsx)("path",{fill:"currentColor",d:"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z",class:""})})})})}(e),I&&(0,a.jsx)("div",{className:"wp-swiper__thumbs",children:(0,a.jsx)("div",{className:"wp-swiper__wrapper",children:(0,a.jsx)("div",{className:"swiper-container",children:(0,a.jsx)("div",{className:"swiper-wrapper",children:X})})})})]})},migrate(e){const{sticky:t,...i}=e;return{...i,freeModeSticky:t||!1,sliderHeight:"500px",navigationColor:void 0,paginationColor:void 0}}},{attributes:{...c,tabsData:{type:"array",default:[]}},save:function(e){let{className:t}=e.attributes;const{align:i,overlayImg:l,overlayImgOpacity:n,slidesPerView:r,spaceBetween:d,txtColor:p,autoplay:c,disableOnInteraction:u,pauseOnMouseEnter:w,reverseDirection:m,stopOnLastSlide:g,waitForTransition:h,delay:f,speed:b,loop:v,effect:y,navigation:x,pagination:_,mousewheel:j,releaseOnEdges:k,pagination_type:C,clickable_pagination:P,breakpoints:S,thumbs:M,thumbsSpaceBetween:B,thumbsSlidesPerView:O,autoHeight:I,freeMode:N,sticky:R,debug:A,direction:T,tabsData:V,previousIcon:E,nextIcon:D,slidesOffsetBefore:H,slidesOffsetAfter:F}=e.attributes;t=s()(t,"wp-swiper"),i&&(t=s()(t,`align${i}`));const G=o.useBlockProps.save({className:t}),$=(o.useInnerBlocksProps,(void 0!==V?V:[]).map((e,t)=>(e.thumbImg||e.slideImg)&&(0,a.jsx)("div",{className:"swiper-slide wp-swiper__thumb","data-thumb":t+1,children:(0,a.jsx)("img",{src:e.thumbImg||e.slideImg,alt:`Thumbnail ${t+1}`})},t))),z=l?{backgroundImage:`url(${l})`}:{};n&&(z.opacity=n);const L=p?{color:p}:{};let W={"data-thumbs":{}},J={"slidesPerView-":r,navigation:x,pagination:_,autoplay:c,disableOnInteraction:u,pauseOnMouseEnter:w,delay:f,speed:b,loop:v,effect:y};return A&&(J.debug=A),N&&R&&(J.sticky=R),J.slidesOffsetBefore=H,J.slidesOffsetAfter=F,J.direction=T,J.freeMode=N,J.autoHeight=I,J.spaceBetween=d,J.mousewheel=j,J.releaseOnEdges=k,J.type="bullets"!=C?C:"bullets",P&&(J.clickable=!!P||""),void 0!==S&&""!=S&&(J["data-breakpoints"]=JSON.stringify(S.replace(/^\s+|\s+|\n$/gm,"")),J["data-breakpoints"]=J.breakpoints.substring(1,J.breakpoints.length-1)),M&&(W["data-thumbs"]=JSON.stringify({spaceBetween:B,slidesPerView:O,freeMode:!0,watchSlidesProgress:!0,navigation:!1})),(0,a.jsxs)("div",{...G,children:[function(e,t){if(void 0!==e)return(0,a.jsx)("div",{className:"wp-swiper__overlay-img",style:t})}(l,z),(0,a.jsxs)("div",{className:"wp-swiper__wrapper",style:L,children:[(0,a.jsx)("div",{className:"swiper-container swiper","data-swiper":JSON.stringify(J),...W,children:(0,a.jsx)("div",{className:"swiper-wrapper",children:(0,a.jsx)(o.InnerBlocks.Content,{})})}),function({attributes:e}){const{navigation:t}=e;if(t)return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{className:"wp_swiper__navigation",children:(0,a.jsxs)("div",{className:"wp_swiper__navigation-container",children:[(0,a.jsx)("div",{className:"swiper-button-prev "+(E?"wp_swiper__button-prev":""),children:E?(0,a.jsx)("img",{src:E,alt:"Previous"}):null}),(0,a.jsx)("div",{className:"swiper-button-next "+(D?"wp_swiper__button-next":""),children:D?(0,a.jsx)("img",{src:D,alt:"Previous"}):null})]})})})}(e),function({attributes:e}){const{pagination:t}=e;if(t)return(0,a.jsx)("div",{className:"swiper-pagination"})}(e)]}),function({attributes:e}){let{className:t}=e;if(t=t?t.toString():"",-1!==t.indexOf("is-style-testimonials"))return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{className:"wp-swiper__quotes",children:(0,a.jsx)("svg",{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"quote-right",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",class:"svg-inline--fa fa-quote-right fa-w-16 fa-5x",children:(0,a.jsx)("path",{fill:"currentColor",d:"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z",class:""})})})})}(e),M&&(0,a.jsx)("div",{className:"wp-swiper__thumbs",children:(0,a.jsx)("div",{className:"wp-swiper__wrapper",children:(0,a.jsx)("div",{className:"swiper-container",children:(0,a.jsx)("div",{className:"swiper-wrapper",children:$})})})})]})},migrate:e=>({...e,sliderHeight:"500px",navigationColor:void 0,paginationColor:void 0})}],w=window.wp.element,m=window.wp.i18n,g=window.wp.blocks,h=window.wp.data,f=window.wp.components,{Component:b}=wp.element,{__}=wp.i18n,{Button:v,Popover:y}=wp.components;class x extends b{constructor(){super(...arguments),this.state={confirmed:-1}}render(){const{onRemove:e,show:t,style:i,tooltipText:s=__("Remove Slide?","@@text_domain"),tooltipRemoveText:o=__("Remove","@@text_domain"),tooltipCancelText:l=__("Cancel","@@text_domain")}=this.props,{confirmed:n}=this.state;return t?(0,a.jsxs)(v,{className:"wb-component-remove-button",onClick:()=>{-1===n&&this.setState({confirmed:0})},style:i,children:[0===n?(0,a.jsxs)(y,{className:"wb-component-remove-button-confirm",onClose:()=>{this.setState({confirmed:-1})},onClickOutside:()=>{this.setState({confirmed:-1})},children:[s,(0,a.jsx)(v,{className:"wb-component-remove-button-confirm-yep",onClick:e,children:o}),(0,a.jsx)(v,{className:"wb-component-remove-button-confirm-nope",onClick:()=>{this.setState({confirmed:-1})},children:l})]}):"",(0,a.jsx)("svg",{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"trash",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 448 512",class:"svg-inline--fa fa-trash fa-w-14 fa-3x",children:(0,a.jsx)("path",{fill:"currentColor",d:"M432 32H312l-9.4-18.7A24 24 0 0 0 281.1 0H166.8a23.72 23.72 0 0 0-21.4 13.3L136 32H16A16 16 0 0 0 0 48v32a16 16 0 0 0 16 16h416a16 16 0 0 0 16-16V48a16 16 0 0 0-16-16zM53.2 467a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128H32z",class:""})})]}):""}}function _(e){return(0,a.jsx)("div",{className:"wb-tabs-icon",children:""!=e&&(0,a.jsx)("img",{className:"wb-tabs-icon_image",src:e})})}const j={"top left":"is-position-top-left","top center":"is-position-top-center","top right":"is-position-top-right","center left":"is-position-center-left","center center":"is-position-center-center",center:"is-position-center-center","center right":"is-position-center-right","bottom left":"is-position-bottom-left","bottom center":"is-position-bottom-center","bottom right":"is-position-bottom-right"};function k(e){return function(e){return!e||"center center"===e||"center"===e}(e)?"":j[e]}function C(e){if(Array.isArray(e))return e.map(e=>C(e));if("object"==typeof e&&null!==e){const t={};for(let i in e)e.hasOwnProperty(i)&&(t[i]=C(e[i]));return t}return e}const P=[["da/wp-swiper-slide",{slug:"slide-1"}]];async function S(e){const t=new FormData;return t.append("file",e),await wp.apiFetch({path:"/wp/v2/media",method:"POST",body:t})}function M({attributes:e,setAttributes:t}){const[i,s]=(0,w.useState)(""),[o,l]=(0,w.useState)(!0),[n,r]=(0,w.useState)(!1),d=function(e){const{slidesPerView:t,slidesPerGroup:i,slidesPerGroupAuto:s,slidesPerGroupSkip:o,spaceBetween:a,autoSlideWidth:l,autoplay:n,disableOnInteraction:r,pauseOnMouseEnter:d,reverseDirection:p,stopOnLastSlide:c,waitForTransition:u,delay:w,speed:m,loop:g,loopAddBlankSlides:h,loopAdditionalSlides:f,effect:b,navigation:v,mousewheel:y,releaseOnEdges:x,pagination_type:_,clickable_pagination:j,breakpoints:k,freeMode:C,freeModeMinimumVelocity:P,freeModeMomentum:S,freeModeMomentumBounce:M,freeModeMomentumBounceRatio:B,freeModeMomentumRatio:O,freeModeMomentumVelocityRatio:I,freeModeSticky:N,autoHeight:R,direction:A,slidesOffsetBefore:T,slidesOffsetAfter:V}=e,E={slidesPerView:"auto"===t?"auto":parseInt(t,10),slidesPerGroup:i,slidesPerGroupAuto:s,slidesPerGroupSkip:o,navigation:v,pagination:{},delay:w,speed:m,loop:g,direction:A,slidesOffsetBefore:T,slidesOffsetAfter:V,autoHeight:R,spaceBetween:a,releaseOnEdges:x};return l&&(E.autoSlideWidth=!0),y&&x&&(E.mousewheel={releaseOnEdges:"true"===x}),g&&(E.loopAddBlankSlides=h,E.loopAdditionalSlides=f),b&&(E.effect=b,"fade"===b&&(E.fadeEffect={crossFade:!0})),n&&(E.autoplay=!0,null!=w&&(E.autoplay={delay:Number(w)}),r&&(E.autoplay&&!0!==E.autoplay||(E.autoplay={}),E.autoplay.disableOnInteraction=!0),d&&(E.autoplay&&!0!==E.autoplay||(E.autoplay={}),E.autoplay.pauseOnMouseEnter=!0),p&&(E.autoplay&&!0!==E.autoplay||(E.autoplay={}),E.autoplay.reverseDirection=!0),c&&(E.autoplay&&!0!==E.autoplay||(E.autoplay={}),E.autoplay.stopOnLastSlide=!0),null!=u&&(E.autoplay&&!0!==E.autoplay||(E.autoplay={}),E.autoplay.waitForTransition=u)),C&&(E.freeMode={enabled:!0,minimumVelocity:P,momentum:S,momentumBounce:M,momentumBounceRatio:B,momentumRatio:O,momentumVelocityRatio:I,sticky:N}),E.pagination.type="bullets"!==_?_:"bullets",j&&(E.pagination.clickable=!!j||""),void 0!==k&&""!==k&&(E.breakpoints=k),E}(e),p=JSON.stringify(d,null,2);(0,w.useEffect)(()=>{n||s(p)},[p,n]),(0,w.useEffect)(()=>{s(p)},[]);const c={marginTop:"8px",fontSize:"12px",fontStyle:"normal",color:"rgb(117, 117, 117)",marginBottom:"12px"};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(f.BaseControl,{label:(0,m.__)("Swiper Configuration (JSON)","wp-swiper"),help:o?"":(0,m.__)("Invalid JSON format. Please fix the syntax errors.","wp-swiper"),children:(0,a.jsx)("textarea",{value:i,onChange:e=>(e=>{s(e),r(!0);try{JSON.parse(e),l(!0)}catch(e){l(!1)}})(e.target.value),rows:15,style:{width:"100%",fontFamily:"monospace",fontSize:"11px",padding:"8px",border:"1px solid "+(o?"#8c8f94":"#cc1818"),borderRadius:"4px",backgroundColor:o?"#fff":"#fff5f5",resize:"vertical"}})}),(0,a.jsxs)(f.PanelRow,{children:[(0,a.jsx)(f.Button,{variant:"primary",onClick:()=>{if(o)try{const e=JSON.parse(i),s={};void 0!==e.slidesPerView&&(s.slidesPerView=e.slidesPerView),void 0!==e.slidesPerGroup&&(s.slidesPerGroup=e.slidesPerGroup),void 0!==e.slidesPerGroupAuto&&(s.slidesPerGroupAuto=e.slidesPerGroupAuto),void 0!==e.slidesPerGroupSkip&&(s.slidesPerGroupSkip=e.slidesPerGroupSkip),void 0!==e.spaceBetween&&(s.spaceBetween=e.spaceBetween),void 0!==e.autoSlideWidth&&(s.autoSlideWidth=e.autoSlideWidth),void 0!==e.navigation&&(s.navigation=e.navigation),void 0!==e.delay&&(s.delay=e.delay),void 0!==e.speed&&(s.speed=e.speed),void 0!==e.loop&&(s.loop=e.loop),void 0!==e.direction&&(s.direction=e.direction),void 0!==e.slidesOffsetBefore&&(s.slidesOffsetBefore=e.slidesOffsetBefore),void 0!==e.slidesOffsetAfter&&(s.slidesOffsetAfter=e.slidesOffsetAfter),void 0!==e.autoHeight&&(s.autoHeight=e.autoHeight),void 0!==e.releaseOnEdges&&(s.releaseOnEdges=e.releaseOnEdges),void 0!==e.effect&&(s.effect=e.effect),void 0!==e.loopAddBlankSlides&&(s.loopAddBlankSlides=e.loopAddBlankSlides),void 0!==e.loopAdditionalSlides&&(s.loopAdditionalSlides=e.loopAdditionalSlides),void 0!==e.autoplay&&(!0===e.autoplay||"object"==typeof e.autoplay?(s.autoplay=!0,"object"==typeof e.autoplay&&(void 0!==e.autoplay.delay&&(s.delay=e.autoplay.delay),void 0!==e.autoplay.disableOnInteraction&&(s.disableOnInteraction=e.autoplay.disableOnInteraction),void 0!==e.autoplay.pauseOnMouseEnter&&(s.pauseOnMouseEnter=e.autoplay.pauseOnMouseEnter),void 0!==e.autoplay.reverseDirection&&(s.reverseDirection=e.autoplay.reverseDirection),void 0!==e.autoplay.stopOnLastSlide&&(s.stopOnLastSlide=e.autoplay.stopOnLastSlide),void 0!==e.autoplay.waitForTransition&&(s.waitForTransition=e.autoplay.waitForTransition))):s.autoplay=!1),void 0!==e.freeMode&&("object"==typeof e.freeMode&&e.freeMode.enabled?(s.freeMode=!0,void 0!==e.freeMode.minimumVelocity&&(s.freeModeMinimumVelocity=e.freeMode.minimumVelocity),void 0!==e.freeMode.momentum&&(s.freeModeMomentum=e.freeMode.momentum),void 0!==e.freeMode.momentumBounce&&(s.freeModeMomentumBounce=e.freeMode.momentumBounce),void 0!==e.freeMode.momentumBounceRatio&&(s.freeModeMomentumBounceRatio=e.freeMode.momentumBounceRatio),void 0!==e.freeMode.momentumRatio&&(s.freeModeMomentumRatio=e.freeMode.momentumRatio),void 0!==e.freeMode.momentumVelocityRatio&&(s.freeModeMomentumVelocityRatio=e.freeMode.momentumVelocityRatio),void 0!==e.freeMode.sticky&&(s.freeModeSticky=e.freeMode.sticky)):s.freeMode=!1),void 0!==e.pagination&&(void 0!==e.pagination.type&&(s.pagination_type=e.pagination.type),void 0!==e.pagination.clickable&&(s.clickable_pagination=e.pagination.clickable)),void 0!==e.breakpoints&&(s.breakpoints=e.breakpoints),void 0!==e.mousewheel&&(s.mousewheel=!0,"object"==typeof e.mousewheel&&void 0!==e.mousewheel.releaseOnEdges&&(s.releaseOnEdges=e.mousewheel.releaseOnEdges?"true":"false")),t(s),r(!1)}catch(e){console.error("Failed to parse JSON config:",e)}},disabled:!o||!n,style:{marginRight:"8px"},children:(0,m.__)("Apply Changes","wp-swiper")}),(0,a.jsx)(f.Button,{variant:"secondary",onClick:()=>{s(p),r(!1),l(!0)},disabled:!n,children:(0,m.__)("Reset","wp-swiper")})]}),(0,a.jsx)("p",{style:c,children:(0,m.__)('This JSON object represents the Swiper initialization configuration. You can edit properties directly here and click "Apply Changes" to update the slider settings. This is useful for advanced customizations or copying configurations between sliders.',"wp-swiper")}),(0,a.jsxs)("p",{style:c,children:[(0,a.jsx)("strong",{children:(0,m.__)("Tip:","wp-swiper")})," ",(0,m.__)("Changes made here will update the corresponding settings in the sidebar panels. Some nested properties (like autoplay options) will be extracted to their respective settings.","wp-swiper")]})]})}const{__:B}=wp.i18n,{name:O}=e,I={...e,title:B("WP Swiper","@@text_domain"),description:B("Create an awesome slider.","@@text_domain"),icon:(0,a.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:(0,a.jsx)("path",{d:"M20 17.4444C20 17.857 19.8314 18.2527 19.5314 18.5444C19.2313 18.8361 18.8243 19 18.4 19H5.6C5.17565 19 4.76869 18.8361 4.46863 18.5444C4.16857 18.2527 4 17.857 4 17.4444V6.55556C4 6.143 4.16857 5.74733 4.46863 5.45561C4.76869 5.16389 5.17565 5 5.6 5H9.6L11.2 7.33333H18.4C18.8243 7.33333 19.2313 7.49722 19.5314 7.78894C19.8314 8.08067 20 8.47633 20 8.88889V17.4444Z",stroke:"currentColor",fill:"transparent","stroke-width":"1.5","stroke-linecap":"round","stroke-linejoin":"round"})}),keywords:[B("swiper","@@text_domain"),B("slider","@@text_domain"),B("wp slider","@@text_domain"),B("wp swiper","@@text_domain")],edit:function({clientId:e,attributes:t,setAttributes:i,className:l}){const n=(0,o.useBlockProps)(),{block:r,isSelectedBlockInRoot:d}=(0,h.useSelect)(t=>{const{getBlock:i,isBlockSelected:s,hasSelectedInnerBlock:a}=t(o.store);return{block:i(e),isSelectedBlockInRoot:s(e)||a(e,!0)}},[e]),{updateBlockAttributes:p,removeBlock:c,replaceInnerBlocks:u}=(0,h.useDispatch)(o.store),{getBlocks:b}=(0,h.useSelect)(e=>({getBlocks:e(o.store).getBlocks}),[]),v=(0,w.useCallback)(e=>{let t=1;e.forEach(e=>{p(e.clientId,{slug:`slide-${t}`}),t++})},[p]),{tabActive:y,buttonsAlign:j,tabsData:k,overlayColor:B,overlayImg:O,overlayImgOpacity:I,autoplay:N,disableOnInteraction:R,pauseOnMouseEnter:A,reverseDirection:T,stopOnLastSlide:V,waitForTransition:E,delay:D,speed:H,loop:F,loopAddBlankSlides:G,loopAdditionalSlides:$,effect:z,slidesPerView:L,slidesPerGroup:W,slidesPerGroupAuto:J,slidesPerGroupSkip:q,spaceBetween:U,autoSlideWidth:Z,navigation:X,pagination:Y,containerWidth:K,mousewheel:Q,releaseOnEdges:ee,pagination_type:te,clickable_pagination:ie,breakpoints:se,freeMode:oe,freeModeMinimumVelocity:ae,freeModeMomentum:le,freeModeMomentumBounce:ne,freeModeMomentumBounceRatio:re,freeModeMomentumRatio:de,freeModeMomentumVelocityRatio:pe,freeModeSticky:ce,thumbs:ue,thumbsSlidesPerView:we,thumbsSpaceBetween:me,autoHeight:ge,sliderHeight:he,debug:fe,direction:be,previousIcon:ve,nextIcon:ye,slidesOffsetBefore:xe,slidesOffsetAfter:_e,overflowVisible:je,navigationColor:ke,paginationColor:Ce}=t,Pe=b(e),Se=(0,w.useCallback)((e,t)=>!(!e||!t||e.length!==t.length)&&e.every((e,i)=>e===t[i]),[]);(0,w.useEffect)(()=>{if(!r?.innerBlocks)return;const e=r.innerBlocks.map(e=>e.attributes.slug),t=k.map(e=>e.slug),s=r.innerBlocks.map(e=>e.attributes.thumbImg),o=k.map(e=>e.thumbImg);let a=0;if(!Se(e,t)||!Se(s,o)){const e=r.innerBlocks.map(e=>(a++,{clientId:e.clientId,slideImg:e.attributes.slideImg,thumbImg:e.attributes.thumbImg,slug:`slide-${a}`}));v(r.innerBlocks),i({tabsData:e})}},[Pe,r,k,Se,v,i]);const[Me,Be]=(0,w.useState)("bottom center"),[Oe,Ie]=(0,w.useState)(!1),[Ne,Re]=(0,w.useState)(!1),Ae=(0,w.useCallback)(e=>{if(r?.innerBlocks)if(r.innerBlocks.length<=1)c(r.clientId);else if(r.innerBlocks[e]&&k[e]){const t=C(k);t.splice(e,1),c(r.innerBlocks[e].clientId);for(let i=e;i<t.length;i++){const e=`slide-${i+1}`;t[i].slug=e,p(t[i].clientId,{slug:e})}i({tabsData:t})}},[r,k,c,p,i]);l=s()(l,"wp-swiper__slides");let Te=j;"start"===Te?Te="left":"end"===Te&&(Te="right");let Ve=1;const Ee=()=>(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)("div",{style:{borderTop:"1px solid #dddddd",marginTop:"16px",marginBottom:"16px",width:"100%"}})});return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(o.InspectorControls,{children:[(0,a.jsxs)(f.PanelBody,{title:(0,m.__)("Overlay Settings","wp-swiper"),initialOpen:!1,children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(o.MediaUploadCheck,{children:(0,a.jsx)(o.MediaUpload,{value:O,onSelect:e=>{const t=e.sizes?.full?.url||e.url;i({overlayImg:t})},allowedTypes:["image"],render:({open:e})=>(0,a.jsx)(f.Button,{onClick:e,className:"button",children:(0,m.__)("Select overlay image","wp-swiper")})})})}),O&&(0,a.jsx)(f.PanelRow,{children:_(O)}),O&&(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.Button,{variant:"secondary",size:"small",className:"block-library-cover__reset-button",onClick:()=>i({overlayImg:void 0}),children:(0,m.__)("Clear Media","wp-swiper")})}),O&&(0,a.jsx)(f.BaseControl,{label:(0,m.__)("Image Overlay Opacity","wp-swiper"),children:(0,a.jsx)(f.RangeControl,{label:(0,m.__)("Opacity","wp-swiper"),value:I,onChange:e=>i({overlayImgOpacity:e}),min:0,max:1,step:.01,required:!0})}),(0,a.jsx)(Ee,{}),(0,a.jsx)(f.BaseControl,{label:(0,m.__)("Overlay Color","wp-swiper"),children:(0,a.jsx)(f.ColorPalette,{value:"object"==typeof B?`rgba(${B.rgb.r}, ${B.rgb.g}, ${B.rgb.b}, ${B.rgb.a})`:B,onChange:e=>{i({overlayColor:e}),r.innerBlocks.map(t=>{p(t.clientId,{overlayColor:e})})}})}),B?.rgb?.a>0&&(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.Button,{variant:"secondary",size:"small",className:"block-library-cover__reset-button",onClick:()=>{const e={rgb:{r:0,g:0,b:0,a:0}};i({overlayColor:e}),(r?.innerBlocks||[]).forEach(t=>{p(t.clientId,{overlayColor:e})})},children:(0,m.__)("Clear Color","wp-swiper")})})]}),(0,a.jsxs)(f.PanelBody,{title:(0,m.__)("Color Settings","wp-swiper"),initialOpen:!1,children:[(0,a.jsx)(f.BaseControl,{label:(0,m.__)("Navigation Color","wp-swiper"),children:(0,a.jsx)(f.ColorPalette,{value:ke,onChange:e=>i({navigationColor:e})})}),ke&&(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.Button,{variant:"secondary",size:"small",onClick:()=>i({navigationColor:""}),children:(0,m.__)("Clear Navigation Color","wp-swiper")})}),(0,a.jsx)(Ee,{}),(0,a.jsx)(f.BaseControl,{label:(0,m.__)("Pagination Color","wp-swiper"),children:(0,a.jsx)(f.ColorPalette,{value:Ce,onChange:e=>i({paginationColor:e})})}),Ce&&(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.Button,{variant:"secondary",size:"small",onClick:()=>i({paginationColor:""}),children:(0,m.__)("Clear Pagination Color","wp-swiper")})})]}),(0,a.jsxs)(f.PanelBody,{title:(0,m.__)("Basic Slider Settings","wp-swiper"),icon:"controls-play",initialOpen:!0,children:[!ge&&(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.__experimentalUnitControl,{label:(0,m.__)("Slider Height","wp-swiper"),help:(0,m.__)("Set a fixed height for the slider","wp-swiper"),value:he,onChange:e=>{i({sliderHeight:e})},units:[{value:"px",label:"px",default:500},{value:"vh",label:"vh",default:50},{value:"%",label:"%",default:100},{value:"em",label:"em",default:20}]})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Auto Height","wp-swiper"),help:(0,m.__)("Slider wrapper will adapt its height to the height of the currently active slide","wp-swiper"),checked:ge,onChange:()=>{i({autoHeight:!ge})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Auto Play","wp-swiper"),checked:N,onChange:()=>{i({autoplay:!N})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Loop","wp-swiper"),checked:F,onChange:()=>{i({loop:!F})}})}),F&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Loop Add Blank Slides","wp-swiper"),help:(0,m.__)("Automatically adds blank slides if you use Grid or slidesPerGroup and the total amount of slides is not even to slidesPerGroup or to grid.rows","wp-swiper"),checked:G,onChange:()=>{i({loopAddBlankSlides:!G})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.TextControl,{label:(0,m.__)("Loop Additional Slides","wp-swiper"),help:(0,m.__)("Allows to increase amount of looped slides","wp-swiper"),value:$,type:"number",onChange:e=>{i({loopAdditionalSlides:parseInt(e)})}})})]}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.TextControl,{label:(0,m.__)("Speed","wp-swiper"),help:(0,m.__)("Duration of transition between slides (in ms)","wp-swiper"),value:H,type:"number",onChange:e=>{i({speed:parseInt(e)})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.TextControl,{label:(0,m.__)("Delay","wp-swiper"),help:(0,m.__)("Delay between transitions (in ms)","wp-swiper"),value:D,type:"number",onChange:e=>{i({delay:parseInt(e)})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.RangeControl,{label:(0,m.__)("Container Max Width %","wp-swiper"),help:(0,m.__)("Frontend: Set the max width for the content with text.","wp-swiper"),value:K,onChange:e=>{i({containerWidth:e}),(r?.innerBlocks||[]).forEach(t=>{p(t.clientId,{containerWidth:e})})},min:1,max:100,step:1,required:!0})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Overflow Visible","wp-swiper"),help:(0,m.__)("Apply overflow visible to the swiper container","wp-swiper"),checked:je,onChange:()=>{i({overflowVisible:!je})}})})]}),(0,a.jsxs)(f.PanelBody,{title:(0,m.__)("Slides Configuration","wp-swiper"),icon:"grid-view",initialOpen:!1,children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.TextControl,{label:(0,m.__)("Slides per view","wp-swiper"),help:(0,m.__)("Number of slides per view (slides visible at the same time on slider's container). Can be a number or auto","wp-swiper"),value:L,onChange:e=>{i({slidesPerView:e})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.TextControl,{label:(0,m.__)("Slides Per Group","wp-swiper"),help:(0,m.__)("Set numbers of slides to define and enable group sliding. Useful to use with slidesPerView > 1","wp-swiper"),value:W,type:"number",onChange:e=>{i({slidesPerGroup:parseInt(e)})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Slides Per Group Auto","wp-swiper"),help:(0,m.__)("This param intended to be used only with slidesPerView: 'auto' and slidesPerGroup: 1. When enabled, it will skip all slides in view on .slideNext() & .slidePrev() methods calls, on Navigation buttons clicks and in autoplay.","wp-swiper"),checked:J,onChange:()=>{i({slidesPerGroupAuto:!J})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.TextControl,{label:(0,m.__)("Slides Per Group Skip","wp-swiper"),help:(0,m.__)("If slidesPerGroupSkip equals 0 (default), no slides are excluded from grouping. If slidesPerGroupSkip is equal or greater than 1, the first X slides are treated as single groups, whereas all following slides are grouped by the slidesPerGroup value.","wp-swiper"),value:q,type:"number",onChange:e=>{i({slidesPerGroupSkip:parseInt(e)})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.TextControl,{label:(0,m.__)("Space Between","wp-swiper"),help:(0,m.__)("Distance between slides in px.","wp-swiper"),value:U,onChange:e=>{i({spaceBetween:parseInt(e)})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Auto Slide Width","wp-swiper"),help:(0,m.__)("Makes each slide size itself based on its content instead of being evenly distributed. Useful for logos, badges, small cards, or any element that should not be stretched.","wp-swiper"),checked:Z,onChange:()=>{i({autoSlideWidth:!Z})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.TextControl,{label:(0,m.__)("Slides Offset Before","wp-swiper"),help:(0,m.__)("Add (in px) additional slide offset in the beginning of the container (before all slides)","wp-swiper"),value:xe,onChange:e=>{i({slidesOffsetBefore:parseInt(e)})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.TextControl,{label:(0,m.__)("Slides Offset After","wp-swiper"),help:(0,m.__)("Add (in px) additional slide offset in the end of the container (after all slides)","wp-swiper"),value:_e,onChange:e=>{i({slidesOffsetAfter:parseInt(e)})}})})]}),(0,a.jsxs)(f.PanelBody,{title:(0,m.__)("Navigation & Controls","wp-swiper"),icon:"leftright",initialOpen:!1,children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Show Navigation","wp-swiper"),checked:X,onChange:()=>{i({navigation:!X})}})}),X&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)("p",{children:(0,m.__)("You can customize icons by uploading your own. Default icons used otherwise.","wp-swiper")})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(o.MediaUploadCheck,{children:(0,a.jsx)(o.MediaUpload,{value:ve,onSelect:e=>{const t=e.sizes?.full?.url||e.url;i({previousIcon:t})},allowedTypes:["image"],render:({open:e})=>(0,a.jsx)(f.Button,{onClick:e,className:"button",children:(0,m.__)("Select previous slide icon","wp-swiper")})})})}),ve&&(0,a.jsx)(f.PanelRow,{children:_(ve)}),ve&&(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.Button,{variant:"secondary",size:"small",className:"block-library-cover__reset-button",onClick:()=>i({previousIcon:void 0}),children:(0,m.__)("Clear Media","wp-swiper")})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(o.MediaUploadCheck,{children:(0,a.jsx)(o.MediaUpload,{value:ye,onSelect:e=>{const t=e.sizes?.full?.url||e.url;i({nextIcon:t})},allowedTypes:["image"],render:({open:e})=>(0,a.jsx)(f.Button,{onClick:e,className:"button",children:(0,m.__)("Select next slide icon","wp-swiper")})})})}),ye&&(0,a.jsx)(f.PanelRow,{children:_(ye)}),ye&&(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.Button,{variant:"secondary",size:"small",className:"block-library-cover__reset-button",onClick:()=>i({nextIcon:void 0}),children:(0,m.__)("Clear Media","wp-swiper")})})]}),(0,a.jsx)(Ee,{}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Show Pagination","wp-swiper"),checked:Y,onChange:()=>{i({pagination:!Y})}})}),Y&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.SelectControl,{label:(0,m.__)("Type of pagination","wp-swiper"),value:te,options:[{label:(0,m.__)("Bullets","wp-swiper"),value:"bullets"},{label:(0,m.__)("Fraction","wp-swiper"),value:"fraction"},{label:(0,m.__)("Progress Bar","wp-swiper"),value:"progressbar"}],onChange:e=>{i({pagination_type:e})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Clickable Pagination","wp-swiper"),checked:ie,onChange:()=>{i({clickable_pagination:!ie})}})})]})]}),(0,a.jsx)(f.PanelBody,{title:(0,m.__)("Direction Settings","wp-swiper"),icon:"sort",initialOpen:!1,children:(0,a.jsx)(f.SelectControl,{label:(0,m.__)("Direction","wp-swiper"),help:(0,m.__)("For vertical slider, Slides Per View should be set to 1","wp-swiper"),value:be,options:[{label:(0,m.__)("Horizontal","wp-swiper"),value:"horizontal"},{label:(0,m.__)("Vertical","wp-swiper"),value:"vertical"}],onChange:e=>{i({direction:e})}})}),(0,a.jsxs)(f.PanelBody,{title:(0,m.__)("Autoplay Behavior","wp-swiper"),icon:"controls-repeat",initialOpen:!1,children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Disable On Interaction","wp-swiper"),checked:R,help:(0,m.__)("Set to false and autoplay will not be disabled after user interactions (swipes), it will be restarted every time after interaction","wp-swiper"),onChange:()=>{i({disableOnInteraction:!R})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Pause On Mouse Enter","wp-swiper"),checked:A,help:(0,m.__)("When enabled autoplay will be paused on pointer (mouse) enter over Swiper container.","wp-swiper"),onChange:()=>{i({pauseOnMouseEnter:!A})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Reverse Direction","wp-swiper"),checked:T,help:(0,m.__)("Enables autoplay in reverse direction","wp-swiper"),onChange:()=>{i({reverseDirection:!T})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Stop On Last Slide","wp-swiper"),checked:V,help:(0,m.__)("Enable this parameter and autoplay will be stopped when it reaches last slide (has no effect in loop mode)","wp-swiper"),onChange:()=>{i({stopOnLastSlide:!V})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Wait For Transition","wp-swiper"),checked:E,help:(0,m.__)("When enabled autoplay will wait for wrapper transition to continue. Can be disabled in case of using Virtual Translate when your slider may not have transition","wp-swiper"),onChange:()=>{i({waitForTransition:!E})}})})]}),(0,a.jsxs)(f.PanelBody,{title:(0,m.__)("Advanced Features","wp-swiper"),icon:"admin-generic",initialOpen:!1,children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.SelectControl,{label:(0,m.__)("Effect (Under Construction)","wp-swiper"),value:z,options:[{label:(0,m.__)("Slide","wp-swiper"),value:"slide"},{label:(0,m.__)("Fade","wp-swiper"),value:"fade"},{label:(0,m.__)("Cube","wp-swiper"),value:"cube"},{label:(0,m.__)("Coverflow","wp-swiper"),value:"coverflow"},{label:(0,m.__)("Flip","wp-swiper"),value:"flip"}],onChange:e=>{i({effect:e})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Mouse Wheel","wp-swiper"),help:(0,m.__)("Enables navigation through slides using mouse wheel.","wp-swiper"),checked:Q,onChange:()=>{i({mousewheel:!Q})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Release On Edges","wp-swiper"),help:(0,m.__)("Set to true and swiper will release mousewheel event and allow page scrolling when swiper is on edge positions (in the beginning or in the end) NOTE: Mouse Wheel must be set to true for this to work.","wp-swiper"),checked:ee,onChange:()=>{i({releaseOnEdges:!ee})}})})]}),(0,a.jsxs)(f.PanelBody,{title:(0,m.__)("Free Mode","wp-swiper"),icon:"controls-play",initialOpen:!1,children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Enable Free Mode","wp-swiper"),help:(0,m.__)("Whether the free mode is enabled. Slide will continue moving for a while after you release it.","wp-swiper"),checked:oe,onChange:()=>{oe&&i({freeModeSticky:!1}),i({freeMode:!oe})}})}),oe&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.RangeControl,{label:(0,m.__)("Minimum Velocity","wp-swiper"),help:(0,m.__)("Minimum touchmove-velocity required to trigger free mode momentum","wp-swiper"),value:ae,onChange:e=>{i({freeModeMinimumVelocity:e})},min:0,max:1,step:.01})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Momentum","wp-swiper"),help:(0,m.__)("If enabled, then slide will keep moving for a while after you release it","wp-swiper"),checked:le,onChange:()=>{i({freeModeMomentum:!le})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Momentum Bounce","wp-swiper"),help:(0,m.__)("Set to false if you want to disable momentum bounce in free mode","wp-swiper"),checked:ne,onChange:()=>{i({freeModeMomentumBounce:!ne})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.RangeControl,{label:(0,m.__)("Momentum Bounce Ratio","wp-swiper"),help:(0,m.__)("Higher value produces larger momentum bounce effect","wp-swiper"),value:re,onChange:e=>{i({freeModeMomentumBounceRatio:e})},min:0,max:10,step:.1})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.RangeControl,{label:(0,m.__)("Momentum Ratio","wp-swiper"),help:(0,m.__)("Higher value produces larger momentum distance after you release slider","wp-swiper"),value:de,onChange:e=>{i({freeModeMomentumRatio:e})},min:0,max:10,step:.1})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.RangeControl,{label:(0,m.__)("Momentum Velocity Ratio","wp-swiper"),help:(0,m.__)("Higher value produces larger momentum velocity after you release slider","wp-swiper"),value:pe,onChange:e=>{i({freeModeMomentumVelocityRatio:e})},min:0,max:10,step:.1})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Sticky","wp-swiper"),help:(0,m.__)("Set to enabled to enable snap to slides positions in free mode","wp-swiper"),checked:ce,onChange:()=>{i({freeModeSticky:!ce})}})})]})]}),(0,a.jsxs)(f.PanelBody,{title:(0,m.__)("Responsive Breakpoints","wp-swiper"),icon:"smartphone",initialOpen:!1,children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.TextareaControl,{label:(0,m.__)("Responsive breakpoints (JSON Object)","wp-swiper"),help:(0,m.__)("Allows to set different parameter for different responsive breakpoints (screen sizes). Not all parameters can be changed in breakpoints, only those which are not required different layout and logic, like slidesPerView, slidesPerGroup, spaceBetween, grid.rows. Such parameters like loop and effect won't work","wp-swiper"),value:se,onChange:e=>{i({breakpoints:e})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsxs)("p",{children:[(0,m.__)("Example:","wp-swiper")," ",'{"720":{"slidesPerView":2}}'," - ",(0,m.__)("Notice the double quotes","wp-swiper")]})})]}),(0,a.jsxs)(f.PanelBody,{title:(0,m.__)("Thumbnails","wp-swiper"),icon:"images-alt2",initialOpen:!1,children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Thumbs","wp-swiper"),help:(0,m.__)("Enables thumbs to be used as pagination.","wp-swiper"),checked:ue,onChange:()=>{i({thumbs:!ue})}})}),ue&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.TextControl,{label:(0,m.__)("Space Between","wp-swiper"),help:(0,m.__)("Distance between slides in px.","wp-swiper"),value:me,onChange:e=>{i({thumbsSpaceBetween:parseInt(e)})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.TextControl,{label:(0,m.__)("Thumbs per view","wp-swiper"),help:(0,m.__)("Number of slides per view (slides visible at the same time on slider's container). Can be a number or auto","wp-swiper"),value:we,onChange:e=>{i({thumbsSlidesPerView:parseInt(e)})}})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.__experimentalAlignmentMatrixControl,{disableAlignment:["center"],value:Me,onChange:e=>Be(e)})})]})]}),(0,a.jsxs)(f.PanelBody,{title:(0,m.__)("Developer Tools","wp-swiper"),icon:"admin-tools",initialOpen:!1,children:[(0,a.jsx)(f.ToggleControl,{label:(0,m.__)("Debug","wp-swiper"),help:(0,m.__)("Show (console.log) config JSON object for each slider","wp-swiper"),checked:fe,onChange:()=>{i({debug:!fe})}}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.Button,{onClick:()=>{let e=1;k.forEach(t=>{t.slug=`slide-${e}`,e++}),i({tabsData:k}),v(r?.innerBlocks||[])},className:"button",children:(0,m.__)("Fix Slide Slugs","wp-swiper")})}),(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)("p",{style:{marginTop:"calc(8px)",fontSize:"12px",fontStyle:"normal",color:"rgb(117, 117, 117)",marginBottom:"revert"},children:(0,m.__)("On rare occasions, if the slide slugs become out of sync with the slide data stored in the parent block, you might notice all slide contents appearing under a single tab. Clicking this button could help resolve the issue. This action iterates over each slide and resets the slugs in ascending order (e.g., slide-1, slide-2, etc.), ensuring that each tab properly corresponds to its respective slide.","wp-swiper")})}),(0,a.jsx)(M,{attributes:t,setAttributes:i})]})]}),(0,a.jsx)("div",{...n,className:s()(n.className,l),"data-tab-active":y,children:(0,a.jsxs)("div",{className:"wb-tabs-buttons-wrapper",children:[(0,a.jsxs)("div",{className:s()("wb-tabs-buttons",`wb-tabs-buttons-align-${j}`),children:[k.map((e,t)=>{const{slug:o}=e,l=y===o;return(0,a.jsxs)("div",{className:s()("wb-tabs-buttons-item",l?"wb-tabs-buttons-item-active":""),onClick:()=>i({tabActive:o}),children:[(0,a.jsxs)("h4",{children:[(0,m.__)("Slide","wp-swiper")," ",Ve++]}),(0,a.jsx)(x,{show:d,tooltipText:(0,m.__)("Remove slide?","wp-swiper"),onRemove:()=>{Ae(t)}})]},`tab_button_${e.slug}`)}),d?(0,a.jsx)(f.Tooltip,{text:(0,m.__)("Add Slide","wp-swiper"),children:(0,a.jsx)(f.Button,{icon:"insert",onClick:()=>{const t=k.length+1,s=(0,g.createBlock)("da/wp-swiper-slide",{slug:`slide-${t}`}),o=[...k,{clientId:s.clientId,slug:`slide-${t}`,slideImg:"",thumbImg:""}],a=[...b(e),s];u(e,a,!1),i({tabsData:o})}})}):""]}),(0,a.jsx)("div",{className:"wp-swiper__slide-content",children:(0,a.jsx)(o.InnerBlocks,{template:P,templateLock:!1,allowedBlocks:["da/wp-swiper-slide"]})}),(0,a.jsxs)("div",{className:s()("wp-swiper__drop-zone-wrapper",{"is-dragging-over":Oe,"is-uploading":Ne}),children:[(0,a.jsx)(f.DropZone,{onFilesDrop:async t=>{if(!t||0===t.length)return;const s=Array.from(t).filter(e=>e.type.startsWith("image/"));if(0!==s.length){Re(!0),Ie(!1);try{const t=1===k.length&&!k[0].slideImg&&r?.innerBlocks?.[0]&&!r.innerBlocks[0].attributes.slideImg;let o=0,a=[...k],l=[...b(e)];if(t&&s.length>0){const e=s[0],t=await S(e),i=t.source_url||t.media_details?.sizes?.full?.source_url||"",n=t.media_details?.sizes?.thumbnail?.source_url||t.media_details?.sizes?.medium?.source_url||i,r=l[0],d=(0,g.createBlock)("da/wp-swiper-slide",{...r.attributes,slug:"slide-1",slideImg:i,slideImgId:t.id,thumbImg:n},r.innerBlocks);l[0]=d,a[0]={clientId:d.clientId,slug:"slide-1",slideImg:i,thumbImg:n},o=1}for(let e=o;e<s.length;e++){const t=s[e],i=await S(t),o=i.source_url||i.media_details?.sizes?.full?.source_url||"",n=i.media_details?.sizes?.thumbnail?.source_url||i.media_details?.sizes?.medium?.source_url||o,r=a.length+1,d=(0,g.createBlock)("da/wp-swiper-slide",{slug:`slide-${r}`,slideImg:o,slideImgId:i.id,thumbImg:n});a=[...a,{clientId:d.clientId,slug:`slide-${r}`,slideImg:o,thumbImg:n}],l=[...l,d]}l.length>0&&(u(e,l,!1),i({tabsData:a,tabActive:1===o?"slide-1":`slide-${a.length}`}))}catch(e){console.error("Error uploading images:",e)}finally{Re(!1)}}},onDragEnter:()=>Ie(!0),onDragLeave:()=>Ie(!1)}),(0,a.jsx)("div",{className:"wp-swiper__drop-zone-content",children:Ne?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("svg",{className:"wp-swiper__drop-zone-spinner",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",children:[(0,a.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z",opacity:"0.3"}),(0,a.jsx)("path",{d:"M12 2v4c3.31 0 6 2.69 6 6h4c0-5.52-4.48-10-10-10z",children:(0,a.jsx)("animateTransform",{attributeName:"transform",attributeType:"XML",type:"rotate",from:"0 12 12",to:"360 12 12",dur:"1s",repeatCount:"indefinite"})})]}),(0,a.jsx)("p",{children:(0,m.__)("Uploading images...","wp-swiper")})]}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("svg",{width:"48",height:"48",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",children:(0,a.jsx)("path",{d:"M22 16V4c0-1.1-.9-2-2-2H8c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2zm-11-4l2.03 2.71L16 11l4 5H8l3-4zM2 6v14c0 1.1.9 2 2 2h14v-2H4V6H2z"})}),(0,a.jsx)("p",{children:(0,m.__)("Drop images here to create slides","wp-swiper")})]})})]})]})}),(0,a.jsx)("style",{children:`\n\t\t\t\t\t\t[data-block="${e}"] [data-tab] {\n\t\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t[data-block="${e}"] [data-tab="${null!=y?y:"slide-1"}"] {\n\t\t\t\t\t\t\tdisplay: flex !important;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t`})]})},save:function(e){let{className:t}=e.attributes;const{align:i,overlayImg:l,overlayImgOpacity:n,slidesPerView:r,slidesPerGroup:d,slidesPerGroupAuto:p,slidesPerGroupSkip:c,spaceBetween:u,autoSlideWidth:w,autoplay:m,disableOnInteraction:g,pauseOnMouseEnter:h,reverseDirection:f,stopOnLastSlide:b,waitForTransition:v,delay:y,speed:x,loop:_,loopAddBlankSlides:j,loopAdditionalSlides:k,effect:C,navigation:P,pagination:S,mousewheel:M,releaseOnEdges:B,pagination_type:O,clickable_pagination:I,breakpoints:N,thumbs:R,thumbsSpaceBetween:A,thumbsSlidesPerView:T,autoHeight:V,sliderHeight:E,freeMode:D,freeModeMinimumVelocity:H,freeModeMomentum:F,freeModeMomentumBounce:G,freeModeMomentumBounceRatio:$,freeModeMomentumRatio:z,freeModeMomentumVelocityRatio:L,freeModeSticky:W,debug:J,direction:q,tabsData:U,previousIcon:Z,nextIcon:X,slidesOffsetBefore:Y,slidesOffsetAfter:K,overflowVisible:Q,navigationColor:ee,paginationColor:te}=e.attributes;t=s()(t,"wp-swiper"),i&&(t=s()(t,`align${i}`));const ie={};ee&&(ie["--wp-swiper-navigation-color"]=ee),te&&(ie["--wp-swiper-pagination-color"]=te);const se=o.useBlockProps.save({className:t,style:ie}),oe=(o.useInnerBlocksProps,l?{backgroundImage:`url(${l})`}:{});n&&(oe.opacity=n);let ae={"data-thumbs":{}},le={slidesPerView:"auto"===r?"auto":parseInt(r,10),slidesPerGroup:d,slidesPerGroupAuto:p,slidesPerGroupSkip:c,navigation:P,pagination:{},delay:y,speed:x,loop:_,direction:q,slidesOffsetBefore:Y,slidesOffsetAfter:K,autoHeight:V,spaceBetween:u,releaseOnEdges:B};w&&(le.autoSlideWidth=!0),M&&B&&(le.mousewheel={releaseOnEdges:"true"===B}),_&&(le.loopAddBlankSlides=j,le.loopAdditionalSlides=k),C&&(le.effect=C,"fade"===C&&(le.fadeEffect={crossFade:!0})),m&&(le.autoplay=!0,null!=y&&(le.autoplay={delay:Number(y)}),g&&(le.autoplay||(le.autoplay={}),le.autoplay.disableOnInteraction=!0),h&&(le.autoplay||(le.autoplay={}),le.autoplay.pauseOnMouseEnter=!0),f&&(le.autoplay||(le.autoplay={}),le.autoplay.reverseDirection=!0),b&&(le.autoplay||(le.autoplay={}),le.autoplay.stopOnLastSlide=!0),null!=v&&(le.autoplay||(le.autoplay={}),le.autoplay.waitForTransition=v)),D&&(le.freeMode={enabled:!0,minimumVelocity:H,momentum:F,momentumBounce:G,momentumBounceRatio:$,momentumRatio:z,momentumVelocityRatio:L,sticky:W}),le.pagination.type="bullets"!=O?O:"bullets",I&&(le.pagination.clickable=!!I||""),void 0!==N&&""!=N&&(le.breakpoints=N),R&&(ae["data-thumbs"]=JSON.stringify({spaceBetween:A,slidesPerView:T,freeMode:!0,watchSlidesProgress:!0,navigation:!1}));const ne=(void 0!==U?U:[]).map((e,t)=>(e.thumbImg||e.slideImg)&&(0,a.jsx)("div",{className:"swiper-slide wp-swiper__thumb","data-thumb":t+1,children:(0,a.jsx)("img",{src:e.thumbImg||e.slideImg,alt:`Thumbnail ${t+1}`})},t)),re=s()("swiper-container","swiper",{"swiper-overflow-visible":Q}),de={};return E&&!V&&(de.height=E),(0,a.jsxs)("div",{...se,children:[function(e,t){if(void 0!==e)return(0,a.jsx)("div",{className:"wp-swiper__overlay-img",style:t})}(l,oe),(0,a.jsxs)("div",{className:"wp-swiper__wrapper",children:[(0,a.jsx)("div",{className:re,style:Object.keys(de).length>0?de:void 0,...J?{"data-debug":!0}:{},"data-swiper":JSON.stringify(le),...ae,children:(0,a.jsx)("div",{className:"swiper-wrapper",children:(0,a.jsx)(o.InnerBlocks.Content,{})})}),function({attributes:e}){const{navigation:t}=e;if(t)return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{className:"wp_swiper__navigation",children:(0,a.jsxs)("div",{className:"wp_swiper__navigation-container",children:[(0,a.jsx)("div",{className:"swiper-button-prev "+(Z?"wp_swiper__button-prev":""),children:Z?(0,a.jsx)("img",{src:Z,alt:"Previous"}):null}),(0,a.jsx)("div",{className:"swiper-button-next "+(X?"wp_swiper__button-next":""),children:X?(0,a.jsx)("img",{src:X,alt:"Previous"}):null})]})})})}(e),function({attributes:e}){const{pagination:t}=e;if(t)return(0,a.jsx)("div",{className:"swiper-pagination"})}(e)]}),function({attributes:e}){let{className:t}=e;if(t=t?t.toString():"",-1!==t.indexOf("is-style-testimonials"))return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)("div",{className:"wp-swiper__quotes",children:(0,a.jsx)("svg",{"aria-hidden":"true",focusable:"false","data-prefix":"fas","data-icon":"quote-right",role:"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512",class:"svg-inline--fa fa-quote-right fa-w-16 fa-5x",children:(0,a.jsx)("path",{fill:"currentColor",d:"M464 32H336c-26.5 0-48 21.5-48 48v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48zm-288 0H48C21.5 32 0 53.5 0 80v128c0 26.5 21.5 48 48 48h80v64c0 35.3-28.7 64-64 64h-8c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h8c88.4 0 160-71.6 160-160V80c0-26.5-21.5-48-48-48z",class:""})})})})}(e),R&&(0,a.jsx)("div",{className:"wp-swiper__thumbs",children:(0,a.jsx)("div",{className:"wp-swiper__wrapper",children:(0,a.jsx)("div",{className:"swiper-container",children:(0,a.jsx)("div",{className:"swiper-wrapper",children:ne})})})})]})},deprecated:u};I.attributes={...I.attributes,freeMode:{type:"boolean",default:!1},freeModeMinimumVelocity:{type:"number",default:.02},freeModeMomentum:{type:"boolean",default:!0},freeModeMomentumBounce:{type:"boolean",default:!0},freeModeMomentumBounceRatio:{type:"number",default:1},freeModeMomentumRatio:{type:"number",default:1},freeModeMomentumVelocityRatio:{type:"number",default:1},freeModeSticky:{type:"boolean",default:!1},mousewheel:{type:"boolean",default:!1},releaseOnEdges:{type:"boolean",default:!1},pagination_type:{type:"string",default:"bullets"}};const N=JSON.parse('{"apiVersion":3,"name":"da/wp-swiper-slide","icon":{"src":"<svg viewBox=\'0 0 24 24\' xmlns=\'http://www.w3.org/2000/svg\'><rect x=\'3\' y=\'5\' width=\'18\' height=\'14\' rx=\'2\' fill=\'none\' stroke=\'currentColor\' stroke-width=\'2\'/><circle cx=\'8\' cy=\'10\' r=\'1.5\' fill=\'currentColor\'/><path d=\'M3 15 L8 11 L12 14 L16 10 L21 14 L21 17 C21 18.1 20.1 19 19 19 L5 19 C3.9 19 3 18.1 3 17 Z\' fill=\'currentColor\' opacity=\'0.4\'/></svg>"},"parent":["da/wp-swiper-slides"],"category":"media","supports":{"html":false,"className":false,"anchor":true,"inserter":false,"reusable":false},"attributes":{"align":{"type":"string","default":"undefined"},"slideImgId":{"type":"number"},"slideImg":{"type":"string"},"thumbImg":{"type":"string"},"slug":{"type":"string"},"contentValign":{"type":"string","default":""},"contentHalign":{"type":"string","default":""},"contentVHalign":{"type":"string"},"focalPoint":{"type":"object","default":{"x":0.5,"y":0.5}},"overlayColor":{"type":"object","default":{"rgb":{"r":0,"g":0,"b":0,"a":0}}},"containerWidth":{"type":"number"}}}'),R=window.wp.keycodes,A=function(e){const{label:t=(0,m.__)("Change matrix alignment"),onChange:i="undefined",value:s="center",isDisabled:o}=e,l=(0,a.jsx)(f.__experimentalAlignmentMatrixControl.Icon,{value:s}),n="block-editor-block-alignment-matrix-control",r=`${n}__popover`;return(0,a.jsx)(f.Dropdown,{placement:"bottom right",className:n,popoverProps:{className:r,isAlternate:!0},renderToggle:({onToggle:e,isOpen:i})=>(0,a.jsx)(f.ToolbarButton,{onClick:e,"aria-haspopup":"true","aria-expanded":i,onKeyDown:t=>{i||t.keyCode!==R.DOWN||(t.preventDefault(),t.stopPropagation(),e())},label:t,icon:l,showTooltip:!0,disabled:o}),renderContent:()=>(0,a.jsx)(f.__experimentalAlignmentMatrixControl,{hasFocusBorder:!1,onChange:i,value:s})})},T=window.React,{applyFilters:V}=wp.hooks,{Component:E}=wp.element,{InnerBlocks:D}=wp.blockEditor,{name:H}=N,F=class extends E{render(){const{overlayColor:e,slug:t,slideImg:i,contentVHalign:o,containerWidth:l}=this.props.attributes;let n="wp-swiper__slide swiper-slide";""!=o&&void 0!==o&&(n=s()(n,k(o)));const r=i?{backgroundImage:`url(${i})`,backgroundSize:"cover"}:{},d=l?{maxWidth:`${l}%`}:null,p=e?{backgroundColor:`rgba(${e.rgb.r}, ${e.rgb.g}, ${e.rgb.b}, ${e.rgb.a})`}:{};return(0,a.jsxs)("div",{className:n,"data-tab":t,style:r,children:[(0,a.jsx)("div",{className:"wp-swiper__overlay-color",style:p}),(0,a.jsx)("div",{className:"wp-swiper__slide-content",style:d,children:(0,a.jsx)(D.Content,{})})]})}},{focalPoint:G,...$}=N.attributes,z=[{supports:N.supports,attributes:{...$},save:F,migrate:e=>({...e,focalPoint:{x:.5,y:.5}})},{supports:N.supports,attributes:{...N.attributes},save:F}],{__:L}=wp.i18n,{name:W}=N,J={...N,title:L("Slide","@@text_domain"),description:L("A single slide within a wp-swiper block.","@@text_domain"),icon:(0,a.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,a.jsx)("rect",{x:"3",y:"5",width:"18",height:"14",rx:"2",stroke:"currentColor",fill:"transparent","stroke-width":"1.5"}),(0,a.jsx)("circle",{cx:"8",cy:"10",r:"1.5",fill:"currentColor"}),(0,a.jsx)("path",{d:"M3 15 L8 11 L12 14 L16 10 L21 14 L21 17 C21 18.1 20.1 19 19 19 L5 19 C3.9 19 3 18.1 3 17 Z",fill:"currentColor",opacity:"0.4"})]}),getEditWrapperProps:e=>({"data-tab":e.slug}),edit:function({attributes:e,setAttributes:t,clientId:i}){const{slideImg:l,thumbImg:n,overlayColor:r,contentVHalign:d,slug:p,focalPoint:c}=e,u=(0,h.useSelect)(e=>e(o.store).getBlockOrder(i).length>0,[i]),g=(0,w.useCallback)(e=>{const i=e?.sizes?.full?.url||e?.url;i&&t({slideImg:i})},[t]),b=(0,w.useCallback)(e=>{const i=e?.sizes?.full?.url||e?.url;i&&t({thumbImg:i})},[t]),v=(0,w.useCallback)(e=>{t({focalPoint:e})},[t]),y=(0,w.useCallback)(()=>{t({slideImg:void 0})},[t]),x=(0,w.useCallback)(()=>{t({thumbImg:void 0})},[t]),_=(0,w.useMemo)(()=>{let e=s()("wp-swiper__slide",{"has-image":Boolean(l)});return e=s()(e,k(d)),e},[l,d]),j=(0,o.useBlockProps)({className:_,"data-tab":p}),C=(0,w.useMemo)(()=>{var e,t;return l?{backgroundImage:`url(${l})`,backgroundPosition:`${100*(null!==(e=c?.x)&&void 0!==e?e:.5)}% ${100*(null!==(t=c?.y)&&void 0!==t?t:.5)}%`}:{}},[l,c]),P=(0,w.useMemo)(()=>{if(!r?.rgb)return{};const{r:e,g:t,b:i,a:s}=r.rgb;return{backgroundColor:`rgba(${e}, ${t}, ${i}, ${s})`}},[r]);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.InspectorControls,{children:(0,a.jsxs)(f.PanelBody,{title:(0,m.__)("Image Settings","wp-swiper"),children:[(0,a.jsxs)(f.BaseControl,{label:(0,m.__)("Slide Image","wp-swiper"),children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(o.MediaUploadCheck,{children:(0,a.jsx)(o.MediaUpload,{value:l,onSelect:g,allowedTypes:["image"],render:({open:e})=>(0,a.jsx)(f.Button,{onClick:e,variant:"secondary",children:(0,m.__)("Select slide image","wp-swiper")})})})}),l&&(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.FocalPointPicker,{url:l,value:c,onDragStart:v,onDrag:v,onChange:v})}),l&&(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.Button,{variant:"secondary",size:"small",className:"block-library-cover__reset-button",onClick:y,children:(0,m.__)("Clear Media","wp-swiper")})})]}),(0,a.jsxs)(f.BaseControl,{label:(0,m.__)("Thumbnail Image","wp-swiper"),children:[(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(o.MediaUploadCheck,{children:(0,a.jsx)(o.MediaUpload,{value:n,onSelect:b,allowedTypes:["image"],render:({open:e})=>(0,a.jsx)(f.Button,{onClick:e,variant:"secondary",children:(0,m.__)("Select thumb image","wp-swiper")})})})}),n&&(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.FocalPointPicker,{url:n,value:c,onDragStart:v,onDrag:v,onChange:v})}),n&&(0,a.jsx)(f.PanelRow,{children:(0,a.jsx)(f.Button,{variant:"secondary",size:"small",className:"block-library-cover__reset-button",onClick:x,children:(0,m.__)("Clear Media","wp-swiper")})})]})]})}),(0,a.jsx)(o.BlockControls,{group:"block",children:(0,a.jsx)(A,{label:(0,m.__)("Change content position","wp-swiper"),value:d,onChange:e=>t({contentVHalign:e})})}),(0,a.jsxs)("div",{...j,children:[l&&(0,a.jsx)("div",{className:"wp-swiper__slide-overlay wp-swiper__slide-overlay--image",style:C}),r?.rgb?.a>0&&(0,a.jsx)("div",{className:"wp-swiper__slide-overlay wp-swiper__slide-overlay--color",style:P}),(0,a.jsx)(o.InnerBlocks,{renderAppender:u?void 0:o.InnerBlocks.ButtonBlockAppender})]})]})},save:function(e){const{attributes:t}=e,{overlayColor:i,slug:l,slideImg:n,contentVHalign:r,containerWidth:d,focalPoint:p}=t;let c="wp-swiper__slide swiper-slide";""!=r&&void 0!==r&&(c=s()(c,k(r)));const u=n?{backgroundImage:`url(${n})`,backgroundSize:"cover",backgroundPosition:`${100*p.x}% ${100*p.y}%`}:{},w=d?{maxWidth:`${d}%`}:null,m=i?{backgroundColor:`rgba(${i.rgb.r}, ${i.rgb.g}, ${i.rgb.b}, ${i.rgb.a})`}:null,g=o.useBlockProps.save();return(0,T.createElement)("div",{...g,key:l,"data-tab":l,className:c,style:u},(0,a.jsx)("div",{className:"wp-swiper__overlay-color",...m&&{style:m}}),(0,a.jsx)("div",{className:"wp-swiper__slide-content",style:w,children:(0,a.jsx)(o.InnerBlocks.Content,{})}))},deprecated:z},{registerBlockType:q,registerBlockStyle:U}=wp.blocks;q(O,I),q(W,J),U(O,[{name:"testimonials",label:"Testimonials"},{name:"thumbnails-bottom-right",label:"Thumbnails Bottom Right"},{name:"overlayed-text-right",label:"Overlayed Text Right"}])})()})();
  • wp-swiper/trunk/build/index.css

    r3428937 r3446823  
    1 /*!***********************************************************************************************************************************************************************************************************************************************!*\
    2   !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/styles/editor.scss ***!
    3   \***********************************************************************************************************************************************************************************************************************************************/
    4 .wp-swiper__slides .wb-tabs-buttons {
    5   display: flex;
    6   flex-wrap: wrap;
    7   margin-bottom: 20px;
    8   border-bottom: 1px solid #dee2e6;
    9 }
    10 .wp-swiper__slides .wp-swiper__slide-content {
    11   display: flex;
    12   flex-direction: column;
    13 }
    14 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide {
    15   display: flex;
    16   flex-grow: 1;
    17   position: relative;
    18   padding: 10px;
    19   border: 1px solid gray;
    20   min-height: 430px;
    21   align-items: center;
    22   justify-content: center;
    23 }
    24 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .block-editor-inner-blocks {
    25   flex-grow: 1;
    26 }
    27 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__content {
    28   z-index: 5;
    29 }
    30 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__slide-overlay {
    31   position: absolute;
    32   left: 0;
    33   top: 0;
    34   right: 0;
    35   bottom: 0;
    36 }
    37 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__slide-overlay--image {
    38   background-size: cover;
    39   background-repeat: no-repeat;
    40   opacity: 0.2;
    41 }
    42 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-top-left {
    43   justify-content: flex-start;
    44   align-items: flex-start;
    45 }
    46 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-center-left {
    47   align-items: center;
    48   justify-content: flex-start;
    49 }
    50 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-bottom-left {
    51   align-items: flex-end;
    52   justify-content: flex-start;
    53 }
    54 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-top-center {
    55   align-items: flex-start;
    56   justify-content: center;
    57 }
    58 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-center-center {
    59   align-items: center;
    60 }
    61 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-bottom-center {
    62   align-items: flex-end;
    63   justify-content: center;
    64 }
    65 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-top-right {
    66   align-items: flex-start;
    67   justify-content: flex-end;
    68 }
    69 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-center-right {
    70   justify-content: flex-end;
    71   align-items: center;
    72 }
    73 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-bottom-right {
    74   align-items: flex-end;
    75   justify-content: flex-end;
    76 }
    77 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-left .block-editor-block-list__layout, .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-center .block-editor-block-list__layout, .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-right .block-editor-block-list__layout {
    78   display: flex;
    79   flex-direction: column;
    80 }
    81 .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-left .block-editor-block-list__layout .wp-block-spacer, .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-center .block-editor-block-list__layout .wp-block-spacer, .wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-right .block-editor-block-list__layout .wp-block-spacer {
    82   margin-left: 0;
    83   margin-right: 0;
    84 }
    85 .wp-swiper__slide-content > .block-editor-inner-blocks > .block-editor-block-list__layout > .block-editor-block-list__block > .block-editor-block-list__block-edit {
    86   margin-top: 12px;
    87 }
    88 .wp-swiper__slides .wb-tabs-buttons.wb-tabs-buttons-align-start {
    89   justify-content: flex-start;
    90 }
    91 .wp-swiper__slides .wb-tabs-buttons.wb-tabs-buttons-align-center {
    92   justify-content: center;
    93 }
    94 .wp-swiper__slides .wb-tabs-buttons.wb-tabs-buttons-align-end {
    95   justify-content: flex-end;
    96 }
    97 .wp-swiper__slides .wb-tabs-buttons .edit-post-visual-editor,
    98 .wp-swiper__slides .wb-tabs-buttons .edit-post-visual-editor p,
    99 .wp-swiper__slides .wb-tabs-buttons .editor-rich-text__tinymce.mce-content-body {
    100   line-height: inherit;
    101 }
    102 .wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item {
    103   position: relative;
    104   flex-basis: 20%;
    105   text-align: center;
    106   margin-bottom: -1px;
    107   cursor: pointer;
    108   background-color: transparent;
    109   border: 1px solid gray;
    110   border-top-left-radius: 3px;
    111   border-top-right-radius: 3px;
    112   box-shadow: none;
    113   opacity: 0.6;
    114   transition: 0.15s border-color, 0.15s background-color, 0.15s opacity;
    115   will-change: border-color, background-color, opacity;
    116   box-sizing: border-box;
    117 }
    118 .wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item h4 {
    119   color: #191e23;
    120   margin-top: 10px;
    121   margin-bottom: 10px;
    122   font-size: 16px;
    123 }
    124 .wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item:hover {
    125   border-color: #dee2e6;
    126   opacity: 1;
    127 }
    128 .wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item.wb-tabs-buttons-item-active {
    129   background-color: rgba(180, 180, 180, 0.5);
    130   border-color: #dee2e6;
    131   border-bottom-color: #fff;
    132   opacity: 1;
    133 }
    134 .wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item:not(:hover) > .wb-component-remove-button {
    135   opacity: 0;
    136 }
    137 .wp-swiper__slides .wp-swiper__slide-content [data-tab] {
    138   display: none;
    139 }
    140 .wp-swiper__slides .wb-tabs-buttons {
    141   margin-bottom: 0;
    142 }
    143 .wp-swiper__slides div[data-type="da/wp-swiper-slide"] {
    144   margin-top: 0;
    145 }
    146 /* <remove button> */
    147 div[data-type="da/wp-swiper-slides"] button.wb-component-remove-button {
    148   position: absolute;
    149   align-items: center;
    150   justify-content: center;
    151   top: 0;
    152   right: 0;
    153   width: 20px;
    154   height: 20px;
    155   padding: 0;
    156   margin-top: -10px;
    157   margin-right: -10px;
    158   color: #fff;
    159   background-color: #4f5969;
    160   border-radius: 50%;
    161   opacity: 0.7;
    162   transition: 0.2s opacity, 0.2s background-color;
    163 }
    164 .wb-component-remove-button:hover {
    165   background-color: #5c39a7;
    166   opacity: 1;
    167 }
    168 .wb-component-remove-button svg {
    169   width: auto;
    170   height: 0.8em;
    171 }
    172 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep,
    173 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope {
    174   padding: 0;
    175   margin-left: 5px;
    176 }
    177 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:hover,
    178 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:focus,
    179 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:hover,
    180 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:focus {
    181   text-decoration: underline;
    182 }
    183 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep,
    184 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:focus,
    185 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope,
    186 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:focus {
    187   background: none;
    188   box-shadow: none;
    189 }
    190 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep,
    191 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:focus {
    192   color: #ffffff;
    193 }
    194 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope,
    195 .wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:focus {
    196   color: #999;
    197 }
    198 .wb-component-remove-button-confirm.components-popover::before {
    199   border-color: transparent;
    200 }
    201 .wb-component-remove-button-confirm.components-popover.is-top::after {
    202   border-top-color: #191e23;
    203 }
    204 .wb-component-remove-button-confirm.components-popover.is-bottom::after {
    205   border-bottom-color: #191e23;
    206 }
    207 .wb-component-remove-button-confirm .components-popover__content {
    208   padding: 4px 12px;
    209   color: #ffffff;
    210   white-space: nowrap;
    211   background: #191e23;
    212   border-width: 0;
    213 }
    214 .wb-component-remove-button-confirm:not(.is-mobile) .components-popover__content {
    215   min-width: 0;
    216 }
    217 .wb-component-remove-button-confirm .components-tooltip__shortcut {
    218   display: block;
    219   color: #7e8993;
    220   text-align: center;
    221 }
    222 /* </remove button> */
    223 
    224 /*# sourceMappingURL=index.css.map*/
     1:root{--wpswiper-primary:var(--wp-admin-theme-color);--wpswiper-primary-hover:var(--wp-admin-theme-color-darker-10);--wpswiper-primary-light:#eef1fd;--wpswiper-border:#e0e0e0;--wpswiper-border-light:#f0f0f0;--wpswiper-bg:#fff;--wpswiper-bg-subtle:#f8f9fa;--wpswiper-bg-hover:#f0f2f5;--wpswiper-text:#1e1e1e;--wpswiper-text-muted:#757575;--wpswiper-shadow-sm:0 1px 3px rgba(0,0,0,.08);--wpswiper-shadow:0 2px 8px rgba(0,0,0,.08);--wpswiper-shadow-lg:0 4px 16px rgba(0,0,0,.12);--wpswiper-radius:8px;--wpswiper-radius-sm:4px;--wpswiper-radius-lg:12px;--wpswiper-transition:0.2s cubic-bezier(0.4,0,0.2,1)}.wp-swiper__slides{background:var(--wpswiper-bg);border-radius:var(--wpswiper-radius-lg);box-shadow:var(--wpswiper-shadow);overflow:hidden}.wp-swiper__slides .wb-tabs-buttons-wrapper{background:var(--wpswiper-bg-subtle);border-bottom:1px solid var(--wpswiper-border);padding:16px 16px 0}.wp-swiper__slides .wb-tabs-buttons{border-bottom:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:0;padding-bottom:16px}.wp-swiper__slides .wb-tabs-buttons.wb-tabs-buttons-align-start{justify-content:flex-start}.wp-swiper__slides .wb-tabs-buttons.wb-tabs-buttons-align-center{justify-content:center}.wp-swiper__slides .wb-tabs-buttons.wb-tabs-buttons-align-end{justify-content:flex-end}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item{align-items:center;background:var(--wpswiper-bg);border:1px solid var(--wpswiper-border);border-radius:var(--wpswiper-radius);box-shadow:var(--wpswiper-shadow-sm);cursor:pointer;display:flex;justify-content:center;min-width:100px;opacity:1;padding:10px 16px;position:relative;transition:all var(--wpswiper-transition)}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item h4{color:var(--wpswiper-text-muted);font-size:13px;font-weight:500;margin:0;transition:color var(--wpswiper-transition)}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item:hover{background:var(--wpswiper-bg);border-color:var(--wpswiper-primary);box-shadow:var(--wpswiper-shadow);transform:translateY(-1px)}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item:hover h4{color:var(--wpswiper-primary)}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item.wb-tabs-buttons-item-active{background:var(--wpswiper-primary);border-color:var(--wpswiper-primary);box-shadow:var(--wpswiper-shadow)}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item.wb-tabs-buttons-item-active h4{color:#fff;font-weight:600}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item.wb-tabs-buttons-item-active:hover{background:var(--wpswiper-primary-hover);border-color:var(--wpswiper-primary-hover);transform:translateY(-1px)}.wp-swiper__slides .wb-tabs-buttons .wb-tabs-buttons-item:not(:hover)>.wb-component-remove-button{opacity:0}.wp-swiper__slides .wb-tabs-buttons>.components-button{align-items:center;background:var(--wpswiper-primary-light);border:2px dashed var(--wpswiper-primary);border-radius:var(--wpswiper-radius);color:var(--wpswiper-primary);display:flex;height:40px;justify-content:center;min-width:40px;padding:0;transition:all var(--wpswiper-transition)}.wp-swiper__slides .wb-tabs-buttons>.components-button:hover{background:var(--wpswiper-primary);border-style:solid;color:#fff;transform:translateY(-1px)}.wp-swiper__slides .wb-tabs-buttons>.components-button svg{color:#fff}.wp-swiper__slides .wp-swiper__slide-content{background:var(--wpswiper-bg);display:flex;flex-direction:column;padding:16px}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide{background:var(--wpswiper-bg-subtle);border:1px solid var(--wpswiper-border);border-radius:var(--wpswiper-radius);display:flex;flex-grow:1;min-height:400px;padding:24px;position:relative;transition:all var(--wpswiper-transition)}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide:hover{border-color:var(--wpswiper-primary);box-shadow:0 0 0 1px var(--wpswiper-primary)}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .block-editor-inner-blocks{display:flex;flex-direction:column;flex-grow:1;justify-content:center;z-index:5}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__content{z-index:5}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__slide-overlay{border-radius:inherit;inset:0;pointer-events:none;position:absolute}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__slide-overlay--image{background-repeat:no-repeat;background-size:cover;opacity:.25}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide .wp-swiper__slide-overlay--color{z-index:1}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-top-left{align-items:flex-start;justify-content:flex-start}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-center-left{align-items:center;justify-content:flex-start}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-bottom-left{align-items:flex-end;justify-content:flex-start}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-top-center{align-items:flex-start;justify-content:center}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-center-center{align-items:center}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-bottom-center{align-items:flex-end;justify-content:center}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-top-right{align-items:flex-start;justify-content:flex-end}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-center-right{align-items:center;justify-content:flex-end}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.is-position-bottom-right{align-items:flex-end;justify-content:flex-end}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-center .block-editor-block-list__layout,.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-left .block-editor-block-list__layout,.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-right .block-editor-block-list__layout{display:flex;flex-direction:column}.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-center .block-editor-block-list__layout .wp-block-spacer,.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-left .block-editor-block-list__layout .wp-block-spacer,.wp-swiper__slides .wp-swiper__slide-content .wp-swiper__slide.halign-right .block-editor-block-list__layout .wp-block-spacer{margin-left:0;margin-right:0}.wp-swiper__slides .wp-swiper__slide-content [data-tab]{display:none}.wp-swiper__slide-content>.block-editor-inner-blocks>.block-editor-block-list__layout>.block-editor-block-list__block>.block-editor-block-list__block-edit{margin-top:12px}.wp-swiper__slides div[data-type="da/wp-swiper-slide"]{margin-top:0}div[data-type="da/wp-swiper-slides"] button.wb-component-remove-button{align-items:center;background:linear-gradient(135deg,#ef4444,#dc2626);border:2px solid #fff;border-radius:50%;box-shadow:var(--wpswiper-shadow);color:#fff;display:flex;height:22px;justify-content:center;opacity:0;padding:0;position:absolute;right:-6px;top:-6px;transition:all var(--wpswiper-transition);width:22px;z-index:10}div[data-type="da/wp-swiper-slides"] button.wb-component-remove-button svg{height:10px;width:10px}div[data-type="da/wp-swiper-slides"] button.wb-component-remove-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:var(--wpswiper-shadow-lg);transform:scale(1.1)}div[data-type="da/wp-swiper-slides"] .wb-tabs-buttons-item:hover .wb-component-remove-button{opacity:1}.wb-component-remove-button-confirm .components-popover__content{background:#1e1e1e;border:none;border-radius:var(--wpswiper-radius);box-shadow:var(--wpswiper-shadow-lg);color:#fff;padding:8px 16px;white-space:nowrap}.wb-component-remove-button-confirm:before{border-color:transparent}.wb-component-remove-button-confirm.is-top:after{border-top-color:#1e1e1e}.wb-component-remove-button-confirm.is-bottom:after{border-bottom-color:#1e1e1e}.wb-component-remove-button-confirm:not(.is-mobile) .components-popover__content{min-width:0}.wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope,.wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep{background:none;border-radius:var(--wpswiper-radius-sm);box-shadow:none;font-weight:500;margin-left:8px;padding:4px 8px;transition:all var(--wpswiper-transition)}.wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:focus,.wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:hover,.wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:focus,.wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:hover{text-decoration:none}.wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep{background:#ef4444;color:#fff}.wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:focus,.wb-component-remove-button-confirm .wb-component-remove-button-confirm-yep:hover{background:#dc2626}.wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope{color:#a0a0a0}.wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:focus,.wb-component-remove-button-confirm .wb-component-remove-button-confirm-nope:hover{background:hsla(0,0%,100%,.1);color:#fff}.wb-component-remove-button-confirm .components-tooltip__shortcut{color:#7e8993;display:block;margin-top:4px;text-align:center}.wp-swiper__drop-zone-wrapper{background:var(--wpswiper-bg-subtle);border:2px dashed var(--wpswiper-border);border-radius:var(--wpswiper-radius);margin:16px;padding:32px;position:relative;transition:all var(--wpswiper-transition)}.wp-swiper__drop-zone-wrapper:hover{background:var(--wpswiper-primary-light);border-color:var(--wpswiper-primary)}.wp-swiper__drop-zone-wrapper:hover .wp-swiper__drop-zone-content{color:var(--wpswiper-primary)}.wp-swiper__drop-zone-wrapper:hover .wp-swiper__drop-zone-content .dashicons{transform:scale(1.1)}.wp-swiper__drop-zone-wrapper.is-dragging-over{background:var(--wpswiper-primary-light);border-color:var(--wpswiper-primary);border-style:solid;box-shadow:0 0 0 4px rgba(56,88,233,.15);transform:scale(1.01)}.wp-swiper__drop-zone-wrapper.is-dragging-over .wp-swiper__drop-zone-content{color:var(--wpswiper-primary)}.wp-swiper__drop-zone-wrapper.is-dragging-over .wp-swiper__drop-zone-content .dashicons{animation:wpswiper-bounce .5s ease infinite alternate}.wp-swiper__drop-zone-wrapper.is-uploading{background:var(--wpswiper-primary-light);border-color:var(--wpswiper-primary);border-style:solid;pointer-events:none}.wp-swiper__drop-zone-wrapper.is-uploading .wp-swiper__drop-zone-content{color:var(--wpswiper-primary)}.wp-swiper__drop-zone-wrapper .components-drop-zone{border-radius:inherit}.wp-swiper__drop-zone-wrapper .components-drop-zone__content{display:none}.wp-swiper__drop-zone-content{align-items:center;color:var(--wpswiper-text-muted);display:flex;flex-direction:column;justify-content:center;pointer-events:none;text-align:center}.wp-swiper__drop-zone-content .dashicons{font-size:40px;height:40px;margin-bottom:12px;transition:transform var(--wpswiper-transition);width:40px}.wp-swiper__drop-zone-content p{font-size:14px;font-weight:500;margin:0}.wp-swiper__drop-zone-spinner{animation:wpswiper-spin 1s linear infinite}@keyframes wpswiper-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes wpswiper-bounce{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.wp-swiper-inspector .components-panel__body-title{font-weight:600}.wp-swiper-inspector .wp-swiper-separator{border-top:1px solid var(--wpswiper-border-light);margin:16px 0}.wp-swiper-inspector .wp-swiper-config-editor textarea{background:var(--wpswiper-bg-subtle);border:1px solid var(--wpswiper-border);border-radius:var(--wpswiper-radius-sm);font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;font-size:12px;line-height:1.5;padding:12px;resize:vertical;transition:all var(--wpswiper-transition)}.wp-swiper-inspector .wp-swiper-config-editor textarea:focus{border-color:var(--wpswiper-primary);box-shadow:0 0 0 1px var(--wpswiper-primary);outline:none}.wp-swiper-inspector .wp-swiper-config-editor textarea.is-invalid{background:#fef2f2;border-color:#ef4444}.wp-swiper-inspector .wp-swiper-helper-text{color:var(--wpswiper-text-muted);font-size:12px;line-height:1.5;margin-top:8px}.wp-swiper__slides .wb-tabs-buttons .edit-post-visual-editor,.wp-swiper__slides .wb-tabs-buttons .edit-post-visual-editor p,.wp-swiper__slides .wb-tabs-buttons .editor-rich-text__tinymce.mce-content-body{line-height:inherit}
  • wp-swiper/trunk/includes/admin/class-wp-swiper-admin.php

    r3431807 r3446823  
    8383    } // set_options()
    8484
    85     function enqueue_admin_styles() {
     85    public function enqueue_block_editor_styles() {
    8686        wp_enqueue_style(
    8787            $this->plugin_name . '-block-editor-style',
     
    9090            '1.0.0'
    9191        );
     92        wp_enqueue_style( 'dashicons' );
    9293    }
    9394
  • wp-swiper/trunk/includes/core/class-wp-swiper.php

    r3428984 r3446823  
    4545
    4646        $this->loader->add_action('enqueue_block_editor_assets', $plugin_admin, 'register_gutenberg_block');
    47         $this->loader->add_action('enqueue_block_editor_assets', $plugin_admin, 'enqueue_admin_styles');
    48         $this->loader->add_action('admin_notices', $plugin_admin, 'display_beta_announcement_notice');
    49         $this->loader->add_action('wp_ajax_wpswiper_dismiss_beta_notice', $plugin_admin, 'dismiss_beta_notice');
     47        $this->loader->add_action('enqueue_block_editor_assets', $plugin_admin, 'enqueue_block_editor_styles');
    5048    }
    5149
  • wp-swiper/trunk/wp-swiper.php

    r3431465 r3446823  
    1717 * Plugin URI:        https://digitalapps.com/wp-swiper/
    1818 * Description:       Swiper JS as a Gutenberg Block.
    19  * Version:           1.3.12
     19 * Version:           1.4.0
    2020 * Author:            Digital Apps
    2121 * Author URI:        https://digitalapps.com/
     
    3232}
    3333
    34 define( 'DAWPS_PLUGIN_VERSION', '1.3.12' );
     34define( 'DAWPS_PLUGIN_VERSION', '1.4.0' );
    3535define( 'DAWPS_BUNDLE_VERSION', '12.0.2' );
    3636define( 'DAWPS_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
Note: See TracChangeset for help on using the changeset viewer.