Plugin Directory

Changeset 3247829


Ignore:
Timestamp:
02/27/2025 12:14:59 PM (13 months ago)
Author:
EmranAhmed
Message:

Release 1.1.1

Location:
marquee-block
Files:
91 added
45 edited

Legend:

Unmodified
Added
Removed
  • marquee-block/trunk/README.txt

    r3214417 r3247829  
    55Tested up to: 6.7
    66Requires PHP: 7.4
    7 Stable tag: 1.1.0
     7Stable tag: 1.1.1
    88License: GPLv3
    99License URI: https://www.gnu.org/licenses/gpl-3.0.html
     
    3939== Changelog ==
    4040
     41= 1.1.1 - 2025-02-27 =
     42
     43- Fix TextDomain load issue.
     44
    4145= 1.1.0 - 2024-12-29 =
    4246
  • marquee-block/trunk/build/editor-scripts.asset.php

    r3214417 r3247829  
    1 <?php return array('dependencies' => array('react', 'wp-blocks', 'wp-element', 'wp-primitives'), 'version' => '799644dafe0be69eb271');
     1<?php return array('dependencies' => array('react', 'react-jsx-runtime', 'wp-blocks', 'wp-element', 'wp-primitives'), 'version' => '441fbc4b989e35661e99');
  • marquee-block/trunk/build/editor-scripts.js

    r3214417 r3247829  
    1 (()=>{"use strict";const e=window.React,t=window.wp.element,n=(0,t.forwardRef)((function({icon:e,size:n=24,...o},i){return(0,t.cloneElement)(e,{width:n,height:n,...o,ref:i})})),o=window.wp.blocks,i=window.wp.primitives,w=(0,e.createElement)(i.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},(0,e.createElement)("polygon",{fill:"#394fa1",points:"21.5 14.7 7.2 6.5 7.2 6.5 12 3.7 19.2 7.9 19.2 10.6 21.5 12 21.5 6.5 12 1 2.5 6.5 19.1 16.1 16.7 17.5 2.5 9.3 2.5 12 16.8 20.2 21.5 17.5 21.5 14.7"}),(0,e.createElement)("polygon",{fill:"#3cb44a",points:"2.5 14.8 2.5 17.5 12 23 14.4 21.6 2.5 14.8"}));(0,o.updateCategory)("storepress",{icon:(0,e.createElement)(n,{icon:w})})})();
     1/******/ (() => { // webpackBootstrap
     2/******/    "use strict";
     3/******/    var __webpack_modules__ = ({
     4
     5/***/ "./node_modules/@storepress/icons/build-module/library/storepress.js":
     6/*!***************************************************************************!*\
     7  !*** ./node_modules/@storepress/icons/build-module/library/storepress.js ***!
     8  \***************************************************************************/
     9/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
     10
     11__webpack_require__.r(__webpack_exports__);
     12/* harmony export */ __webpack_require__.d(__webpack_exports__, {
     13/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
     14/* harmony export */ });
     15/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
     16/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
     17/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives");
     18/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__);
     19
     20/**
     21 * External dependencies
     22 */
     23
     24/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_1__.SVG, {
     25  xmlns: "http://www.w3.org/2000/svg",
     26  viewBox: "0 0 24 24"
     27}, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("polygon", {
     28  fill: "#394fa1",
     29  points: "21.5 14.7 7.2 6.5 7.2 6.5 12 3.7 19.2 7.9 19.2 10.6 21.5 12 21.5 6.5 12 1 2.5 6.5 19.1 16.1 16.7 17.5 2.5 9.3 2.5 12 16.8 20.2 21.5 17.5 21.5 14.7"
     30}), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("polygon", {
     31  fill: "#3cb44a",
     32  points: "2.5 14.8 2.5 17.5 12 23 14.4 21.6 2.5 14.8"
     33})));
     34
     35/***/ }),
     36
     37/***/ "./node_modules/@wordpress/icons/build-module/icon/index.js":
     38/*!******************************************************************!*\
     39  !*** ./node_modules/@wordpress/icons/build-module/icon/index.js ***!
     40  \******************************************************************/
     41/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
     42
     43__webpack_require__.r(__webpack_exports__);
     44/* harmony export */ __webpack_require__.d(__webpack_exports__, {
     45/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
     46/* harmony export */ });
     47/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
     48/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
     49/**
     50 * WordPress dependencies
     51 */
     52
     53
     54/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */
     55
     56/**
     57 * Return an SVG icon.
     58 *
     59 * @param {IconProps}                                 props icon is the SVG component to render
     60 *                                                          size is a number specifying the icon size in pixels
     61 *                                                          Other props will be passed to wrapped SVG component
     62 * @param {import('react').ForwardedRef<HTMLElement>} ref   The forwarded ref to the SVG element.
     63 *
     64 * @return {JSX.Element}  Icon component
     65 */
     66function Icon({
     67  icon,
     68  size = 24,
     69  ...props
     70}, ref) {
     71  return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(icon, {
     72    width: size,
     73    height: size,
     74    ...props,
     75    ref
     76  });
     77}
     78/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(Icon));
     79//# sourceMappingURL=index.js.map
     80
     81/***/ }),
     82
     83/***/ "@wordpress/blocks":
     84/*!********************************!*\
     85  !*** external ["wp","blocks"] ***!
     86  \********************************/
     87/***/ ((module) => {
     88
     89module.exports = window["wp"]["blocks"];
     90
     91/***/ }),
     92
     93/***/ "@wordpress/element":
     94/*!*********************************!*\
     95  !*** external ["wp","element"] ***!
     96  \*********************************/
     97/***/ ((module) => {
     98
     99module.exports = window["wp"]["element"];
     100
     101/***/ }),
     102
     103/***/ "@wordpress/primitives":
     104/*!************************************!*\
     105  !*** external ["wp","primitives"] ***!
     106  \************************************/
     107/***/ ((module) => {
     108
     109module.exports = window["wp"]["primitives"];
     110
     111/***/ }),
     112
     113/***/ "react":
     114/*!************************!*\
     115  !*** external "React" ***!
     116  \************************/
     117/***/ ((module) => {
     118
     119module.exports = window["React"];
     120
     121/***/ }),
     122
     123/***/ "react/jsx-runtime":
     124/*!**********************************!*\
     125  !*** external "ReactJSXRuntime" ***!
     126  \**********************************/
     127/***/ ((module) => {
     128
     129module.exports = window["ReactJSXRuntime"];
     130
     131/***/ })
     132
     133/******/    });
     134/************************************************************************/
     135/******/    // The module cache
     136/******/    var __webpack_module_cache__ = {};
     137/******/   
     138/******/    // The require function
     139/******/    function __webpack_require__(moduleId) {
     140/******/        // Check if module is in cache
     141/******/        var cachedModule = __webpack_module_cache__[moduleId];
     142/******/        if (cachedModule !== undefined) {
     143/******/            return cachedModule.exports;
     144/******/        }
     145/******/        // Create a new module (and put it into the cache)
     146/******/        var module = __webpack_module_cache__[moduleId] = {
     147/******/            // no module.id needed
     148/******/            // no module.loaded needed
     149/******/            exports: {}
     150/******/        };
     151/******/   
     152/******/        // Execute the module function
     153/******/        __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
     154/******/   
     155/******/        // Return the exports of the module
     156/******/        return module.exports;
     157/******/    }
     158/******/   
     159/************************************************************************/
     160/******/    /* webpack/runtime/compat get default export */
     161/******/    (() => {
     162/******/        // getDefaultExport function for compatibility with non-harmony modules
     163/******/        __webpack_require__.n = (module) => {
     164/******/            var getter = module && module.__esModule ?
     165/******/                () => (module['default']) :
     166/******/                () => (module);
     167/******/            __webpack_require__.d(getter, { a: getter });
     168/******/            return getter;
     169/******/        };
     170/******/    })();
     171/******/   
     172/******/    /* webpack/runtime/define property getters */
     173/******/    (() => {
     174/******/        // define getter functions for harmony exports
     175/******/        __webpack_require__.d = (exports, definition) => {
     176/******/            for(var key in definition) {
     177/******/                if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
     178/******/                    Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
     179/******/                }
     180/******/            }
     181/******/        };
     182/******/    })();
     183/******/   
     184/******/    /* webpack/runtime/hasOwnProperty shorthand */
     185/******/    (() => {
     186/******/        __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
     187/******/    })();
     188/******/   
     189/******/    /* webpack/runtime/make namespace object */
     190/******/    (() => {
     191/******/        // define __esModule on exports
     192/******/        __webpack_require__.r = (exports) => {
     193/******/            if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
     194/******/                Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
     195/******/            }
     196/******/            Object.defineProperty(exports, '__esModule', { value: true });
     197/******/        };
     198/******/    })();
     199/******/   
     200/************************************************************************/
     201var __webpack_exports__ = {};
     202// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
     203(() => {
     204/*!*******************************!*\
     205  !*** ./src/editor-scripts.js ***!
     206  \*******************************/
     207__webpack_require__.r(__webpack_exports__);
     208/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/icon/index.js");
     209/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
     210/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__);
     211/* harmony import */ var _storepress_icons__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @storepress/icons */ "./node_modules/@storepress/icons/build-module/library/storepress.js");
     212/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
     213/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
     214/**
     215 * External dependencies
     216 */
     217
     218
     219
     220
     221(function () {
     222  (0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.updateCategory)('storepress', {
     223    icon: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_2__["default"], {
     224      icon: _storepress_icons__WEBPACK_IMPORTED_MODULE_3__["default"]
     225    })
     226  });
     227})();
     228})();
     229
     230/******/ })()
     231;
     232//# sourceMappingURL=editor-scripts.js.map
  • marquee-block/trunk/build/editor-scripts.js.map

    r3214417 r3247829  
    1 {"version":3,"file":"editor-scripts.js","mappings":";;;;;;;;;;;;;;;;;;AAAsC;AACtC;AACA;AACA;AAC4C;AAC5C,iEAAe,oDAAa,CAAC,sDAAG;AAChC;AACA;AACA,CAAC,EAAE,oDAAa;AAChB;AACA;AACA,CAAC,GAAG,oDAAa;AACjB;AACA;AACA,CAAC,EAAE;;;;;;;;;;;;;;;;ACdH;AACA;AACA;AAC8D;;AAE9D,eAAe,kCAAkC,4CAA4C;;AAE7F;AACA;AACA;AACA,WAAW,2CAA2C;AACtD;AACA;AACA,WAAW,2CAA2C;AACtD;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,gEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iEAAe,8DAAU,MAAM,EAAC;AAChC;;;;;;;;;;AC9BA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACwC;AACW;AACJ;AAE/C,CAAC,YAAY;EACZC,iEAAc,CAAC,YAAY,EAAE;IAAEE,IAAI,EAAEC,oDAAA,CAACJ,wDAAI;MAACG,IAAI,EAAED,yDAAUA;IAAC,CAAE;EAAE,CAAC,CAAC;AACnE,CAAC,EAAE,CAAC,C","sources":["webpack://marquee-block/./node_modules/@storepress/icons/build-module/library/storepress.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/icon/index.js","webpack://marquee-block/external window \"React\"","webpack://marquee-block/external window [\"wp\",\"blocks\"]","webpack://marquee-block/external window [\"wp\",\"element\"]","webpack://marquee-block/external window [\"wp\",\"primitives\"]","webpack://marquee-block/webpack/bootstrap","webpack://marquee-block/webpack/runtime/compat get default export","webpack://marquee-block/webpack/runtime/define property getters","webpack://marquee-block/webpack/runtime/hasOwnProperty shorthand","webpack://marquee-block/webpack/runtime/make namespace object","webpack://marquee-block/./src/editor-scripts.js"],"sourcesContent":["import { createElement } from \"react\";\n/**\n * External dependencies\n */\nimport { SVG } from '@wordpress/primitives';\nexport default createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(\"polygon\", {\n  fill: \"#394fa1\",\n  points: \"21.5 14.7 7.2 6.5 7.2 6.5 12 3.7 19.2 7.9 19.2 10.6 21.5 12 21.5 6.5 12 1 2.5 6.5 19.1 16.1 16.7 17.5 2.5 9.3 2.5 12 16.8 20.2 21.5 17.5 21.5 14.7\"\n}), createElement(\"polygon\", {\n  fill: \"#3cb44a\",\n  points: \"2.5 14.8 2.5 17.5 12 23 14.4 21.6 2.5 14.8\"\n}));","/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */\n\n/**\n * Return an SVG icon.\n *\n * @param {IconProps}                                 props icon is the SVG component to render\n *                                                          size is a number specifiying the icon size in pixels\n *                                                          Other props will be passed to wrapped SVG component\n * @param {import('react').ForwardedRef<HTMLElement>} ref   The forwarded ref to the SVG element.\n *\n * @return {JSX.Element}  Icon component\n */\nfunction Icon({\n  icon,\n  size = 24,\n  ...props\n}, ref) {\n  return cloneElement(icon, {\n    width: size,\n    height: size,\n    ...props,\n    ref\n  });\n}\nexport default forwardRef(Icon);\n//# sourceMappingURL=index.js.map","module.exports = window[\"React\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"primitives\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * External dependencies\n */\nimport { Icon } from '@wordpress/icons';\nimport { updateCategory } from '@wordpress/blocks';\nimport { storepress } from '@storepress/icons';\n\n(function () {\n\tupdateCategory('storepress', { icon: <Icon icon={storepress} /> });\n})();\n"],"names":["Icon","updateCategory","storepress","icon","createElement"],"sourceRoot":""}
     1{"version":3,"file":"editor-scripts.js","mappings":";;;;;;;;;;;;;;;;;;AAAsC;AACtC;AACA;AACA;AAC4C;AAC5C,iEAAe,oDAAa,CAAC,sDAAG;AAChC;AACA;AACA,CAAC,EAAE,oDAAa;AAChB;AACA;AACA,CAAC,GAAG,oDAAa;AACjB;AACA;AACA,CAAC,EAAE;;;;;;;;;;;;;;;;ACdH;AACA;AACA;AAC8D;;AAE9D,eAAe,kCAAkC,4CAA4C;;AAE7F;AACA;AACA;AACA,WAAW,2CAA2C;AACtD;AACA;AACA,WAAW,2CAA2C;AACtD;AACA,YAAY,cAAc;AAC1B;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,SAAS,gEAAY;AACrB;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,iEAAe,8DAAU,MAAM,EAAC;AAChC;;;;;;;;;;AC9BA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACwC;AACW;AACJ;AAAA;AAE/C,CAAC,YAAY;EACZC,iEAAc,CAAC,YAAY,EAAE;IAAEI,IAAI,eAAED,sDAAA,CAACJ,wDAAI;MAACK,IAAI,EAAEH,yDAAUA;IAAC,CAAE;EAAE,CAAC,CAAC;AACnE,CAAC,EAAE,CAAC,C","sources":["webpack://marquee-block/./node_modules/@storepress/icons/build-module/library/storepress.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/icon/index.js","webpack://marquee-block/external window [\"wp\",\"blocks\"]","webpack://marquee-block/external window [\"wp\",\"element\"]","webpack://marquee-block/external window [\"wp\",\"primitives\"]","webpack://marquee-block/external window \"React\"","webpack://marquee-block/external window \"ReactJSXRuntime\"","webpack://marquee-block/webpack/bootstrap","webpack://marquee-block/webpack/runtime/compat get default export","webpack://marquee-block/webpack/runtime/define property getters","webpack://marquee-block/webpack/runtime/hasOwnProperty shorthand","webpack://marquee-block/webpack/runtime/make namespace object","webpack://marquee-block/./src/editor-scripts.js"],"sourcesContent":["import { createElement } from \"react\";\n/**\n * External dependencies\n */\nimport { SVG } from '@wordpress/primitives';\nexport default createElement(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\"\n}, createElement(\"polygon\", {\n  fill: \"#394fa1\",\n  points: \"21.5 14.7 7.2 6.5 7.2 6.5 12 3.7 19.2 7.9 19.2 10.6 21.5 12 21.5 6.5 12 1 2.5 6.5 19.1 16.1 16.7 17.5 2.5 9.3 2.5 12 16.8 20.2 21.5 17.5 21.5 14.7\"\n}), createElement(\"polygon\", {\n  fill: \"#3cb44a\",\n  points: \"2.5 14.8 2.5 17.5 12 23 14.4 21.6 2.5 14.8\"\n}));","/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */\n\n/**\n * Return an SVG icon.\n *\n * @param {IconProps}                                 props icon is the SVG component to render\n *                                                          size is a number specifying the icon size in pixels\n *                                                          Other props will be passed to wrapped SVG component\n * @param {import('react').ForwardedRef<HTMLElement>} ref   The forwarded ref to the SVG element.\n *\n * @return {JSX.Element}  Icon component\n */\nfunction Icon({\n  icon,\n  size = 24,\n  ...props\n}, ref) {\n  return cloneElement(icon, {\n    width: size,\n    height: size,\n    ...props,\n    ref\n  });\n}\nexport default forwardRef(Icon);\n//# sourceMappingURL=index.js.map","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"primitives\"];","module.exports = window[\"React\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * External dependencies\n */\nimport { Icon } from '@wordpress/icons';\nimport { updateCategory } from '@wordpress/blocks';\nimport { storepress } from '@storepress/icons';\n\n(function () {\n\tupdateCategory('storepress', { icon: <Icon icon={storepress} /> });\n})();\n"],"names":["Icon","updateCategory","storepress","jsx","_jsx","icon"],"sourceRoot":""}
  • marquee-block/trunk/build/marquee/index-rtl.css

    r3214417 r3247829  
    1 .wp-block-storepress-marquee:not(.has-child-selected).orientation-x>.wp-block-storepress-marquee__item>*{white-space:var(--white-space)!important}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color{isolation:isolate;overflow:clip;position:relative}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color:after,.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color:before{content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-x:after,.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-x:before{height:100%;width:10%}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-x:before{background:linear-gradient(-270deg,transparent 0,var(--overlay-color) 100%);margin-inline:0 auto}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-x:after{background:linear-gradient(-90deg,transparent 0,var(--overlay-color) 100%);margin-inline:auto 0}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-y:after,.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-y:before{height:10%;width:100%}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-y:before{background:linear-gradient(0deg,transparent 0,var(--overlay-color) 100%);margin-block:0 auto}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-y:after{background:linear-gradient(-180deg,transparent 0,var(--overlay-color) 100%);margin-block:auto 0}
     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/marquee/editor.scss ***!
     3  \************************************************************************************************************************************************************************************************************************************************/
     4.wp-block-storepress-marquee:not(.has-child-selected).orientation-x > .wp-block-storepress-marquee__item > * {
     5  white-space: var(--white-space) !important;
     6}
     7.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color {
     8  position: relative;
     9  isolation: isolate;
     10  overflow: clip;
     11}
     12.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color::before, .wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color::after {
     13  pointer-events: none;
     14  position: absolute;
     15  content: "";
     16  z-index: 1;
     17  inset: 0;
     18}
     19.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-x::before, .wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-x::after {
     20  width: 10%;
     21  height: 100%;
     22}
     23.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-x::before {
     24  background: linear-gradient(-270deg, transparent 0%, var(--overlay-color) 100%);
     25  margin-inline: 0 auto;
     26}
     27.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-x::after {
     28  background: linear-gradient(-90deg, transparent 0%, var(--overlay-color) 100%);
     29  margin-inline: auto 0;
     30}
     31.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-y::before, .wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-y::after {
     32  width: 100%;
     33  height: 10%;
     34}
     35.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-y::before {
     36  background: linear-gradient(0deg, transparent 0%, var(--overlay-color) 100%);
     37  margin-block: 0 auto;
     38}
     39.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-y::after {
     40  background: linear-gradient(-180deg, transparent 0%, var(--overlay-color) 100%);
     41  margin-block: auto 0;
     42}
  • marquee-block/trunk/build/marquee/index.asset.php

    r3214417 r3247829  
    1 <?php return array('dependencies' => array('react', 'react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '738306c196c20628642c');
     1<?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => 'c96051819fc19e69d550');
  • marquee-block/trunk/build/marquee/index.css

    r3214417 r3247829  
    1 .wp-block-storepress-marquee:not(.has-child-selected).orientation-x>.wp-block-storepress-marquee__item>*{white-space:var(--white-space)!important}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color{isolation:isolate;overflow:clip;position:relative}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color:after,.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color:before{content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-x:after,.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-x:before{height:100%;width:10%}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-x:before{background:linear-gradient(270deg,transparent 0,var(--overlay-color) 100%);margin-inline:0 auto}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-x:after{background:linear-gradient(90deg,transparent 0,var(--overlay-color) 100%);margin-inline:auto 0}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-y:after,.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-y:before{height:10%;width:100%}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-y:before{background:linear-gradient(0deg,transparent 0,var(--overlay-color) 100%);margin-block:0 auto}.wp-block-storepress-marquee:not(.is-selected,.is-highlighted).has-overlay-color.orientation-y:after{background:linear-gradient(180deg,transparent 0,var(--overlay-color) 100%);margin-block:auto 0}
     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/marquee/editor.scss ***!
     3  \************************************************************************************************************************************************************************************************************************************************/
     4.wp-block-storepress-marquee:not(.has-child-selected).orientation-x > .wp-block-storepress-marquee__item > * {
     5  white-space: var(--white-space) !important;
     6}
     7.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color {
     8  position: relative;
     9  isolation: isolate;
     10  overflow: clip;
     11}
     12.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color::before, .wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color::after {
     13  pointer-events: none;
     14  position: absolute;
     15  content: "";
     16  z-index: 1;
     17  inset: 0;
     18}
     19.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-x::before, .wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-x::after {
     20  width: 10%;
     21  height: 100%;
     22}
     23.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-x::before {
     24  background: linear-gradient(270deg, transparent 0%, var(--overlay-color) 100%);
     25  margin-inline: 0 auto;
     26}
     27.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-x::after {
     28  background: linear-gradient(90deg, transparent 0%, var(--overlay-color) 100%);
     29  margin-inline: auto 0;
     30}
     31.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-y::before, .wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-y::after {
     32  width: 100%;
     33  height: 10%;
     34}
     35.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-y::before {
     36  background: linear-gradient(0deg, transparent 0%, var(--overlay-color) 100%);
     37  margin-block: 0 auto;
     38}
     39.wp-block-storepress-marquee:not(.is-selected, .is-highlighted).has-overlay-color.orientation-y::after {
     40  background: linear-gradient(180deg, transparent 0%, var(--overlay-color) 100%);
     41  margin-block: auto 0;
     42}
     43
     44/*# sourceMappingURL=index.css.map*/
  • marquee-block/trunk/build/marquee/index.js

    r3214417 r3247829  
    1 (()=>{var e={694:(e,t,n)=>{"use strict";var a=n(925);function o(){}function l(){}l.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,l,r){if(r!==a){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:l,resetWarningCache:o};return n.PropTypes=n,n}},556:(e,t,n)=>{e.exports=n(694)()},925:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},t={};function n(a){var o=t[a];if(void 0!==o)return o.exports;var l=t[a]={exports:{}};return e[a](l,l.exports,n),l.exports}n.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return n.d(t,{a:t}),t},n.d=(e,t)=>{for(var a in t)n.o(t,a)&&!n.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";const e=window.React,t=window.wp.blocks,a=window.wp.primitives,o=window.ReactJSXRuntime,l=(0,o.jsx)(a.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,o.jsx)(a.Path,{d:"M8.2 14.4h3.9L13 17h1.7L11 6.5H9.3L5.6 17h1.7l.9-2.6zm2-5.5 1.4 4H8.8l1.4-4zm7.4 7.5-1.3.8.8 1.4H5.5V20h14.3l-2.2-3.6z"})}),r=window.wp.blockEditor,i=window.wp.i18n,s=window.wp.components,u=window.wp.element,m=(0,u.forwardRef)((function({icon:e,size:t=24,...n},a){return(0,u.cloneElement)(e,{width:t,height:t,...n,ref:a})})),p=(0,o.jsx)(a.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,o.jsx)(a.Path,{d:"M20 11.2H6.8l3.7-3.7-1-1L3.9 12l5.6 5.5 1-1-3.7-3.7H20z"})}),c=(0,o.jsx)(a.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,o.jsx)(a.Path,{d:"M12 3.9 6.5 9.5l1 1 3.8-3.7V20h1.5V6.8l3.7 3.7 1-1z"})}),d=(0,o.jsx)(a.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,o.jsx)(a.Path,{d:"m14.5 6.5-1 1 3.7 3.7H4v1.6h13.2l-3.7 3.7 1 1 5.6-5.5z"})}),v=(0,o.jsx)(a.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",children:(0,o.jsx)(a.Path,{d:"m16.5 13.5-3.7 3.7V4h-1.5v13.2l-3.8-3.7-1 1 5.5 5.6 5.5-5.6z"})});function g(e){var t,n,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(n=g(e[t]))&&(a&&(a+=" "),a+=n)}else for(n in e)e[n]&&(a&&(a+=" "),a+=n);return a}function x(){for(var e,t,n=0,a="",o=arguments.length;n<o;n++)(e=arguments[n])&&(t=g(e))&&(a&&(a+=" "),a+=t);return a}var _=n(556),h=n.n(_);const w=[{value:"%",label:"%",default:0,min:0,max:100,step:.1},{value:"px",label:"px",default:0,min:0,max:1e3,step:1},{value:"em",label:"em",default:0,min:0,max:50,step:.01},{value:"rem",label:"rem",default:0,min:0,max:50,step:.01},{value:"vw",label:"vw",default:0,min:0,max:100,step:.1},{value:"vh",label:"vh",default:0,min:0,max:100,step:.1},{value:"s",label:"s",default:0,min:0,max:120,step:.1},{value:"ms",label:"ms",default:0,min:0,max:12e4,step:100},{value:"fr",label:"fr",default:1,min:1,max:100,step:1}],b=[{fromUnits:["em","rem"],toUnits:["px"],operator:"*",digit:16},{fromUnits:["px"],toUnits:["em","rem"],operator:"/",digit:16},{fromUnits:["s"],toUnits:["ms"],operator:"*",digit:1e3},{fromUnits:["ms"],toUnits:["s"],operator:"/",digit:1e3}];function f({label:e,onChange:t,value:n,allowedUnits:a=["%","px","em","rem"],defaultUnits:l=w,convertUnits:r=b}){var i,m,p,c,d,v;const g=parseFloat(n),x=(0,u.useMemo)((()=>l.reduce(((e,t)=>(e[t.label]=t.default,e)),{})),[l]),_=(0,u.useMemo)((()=>l.reduce(((e,t)=>(e[t.label]=t,e)),{})),[l]),h=(0,s.__experimentalUseCustomUnits)({units:l,availableUnits:a,defaultValues:x}),f=(0,u.useMemo)((()=>(0,s.__experimentalParseQuantityAndUnitFromRawValue)(n,l)),[n,l])[1]||h[0]?.value||"px";return(0,o.jsx)(s.BaseControl,{label:e,className:"storepress-component-unit-range-control",children:(0,o.jsxs)(s.Flex,{children:[(0,o.jsx)(s.FlexItem,{isBlock:!0,children:(0,o.jsx)(s.__experimentalUnitControl,{value:n,units:h,onChange:t,onUnitChange:e=>{const[a,o]=(0,s.__experimentalParseQuantityAndUnitFromRawValue)(n,l),{unitValue:i,unitString:u}=function(e,t,n,a){if(e===t)return{unitName:e,unitValue:n,unitString:`${n}${e}`};for(const o of a){const{fromUnits:a,toUnits:l,operator:r,digit:i}=o;if(l.includes(e)&&a.includes(t)){if("/"===r){const t=(n/i).toFixed(2);return{unitName:e,unitValue:t,unitString:`${t}${e}`}}if("*"===r){const t=Math.round(n*i);return{unitName:e,unitValue:t,unitString:`${t}${e}`}}}}return{unitName:e,unitValue:n,unitString:`${n}${e}`}}(e,o,a,r);i>_[e]?.max?t(_[e]?.max+e):t(u)},min:null!==(i=_[f]?.min)&&void 0!==i?i:0,max:null!==(m=_[f]?.max)&&void 0!==m?m:100,step:null!==(p=_[f]?.step)&&void 0!==p?p:.1,size:"__unstable-large",label:e,hideLabelFromVision:!0})}),(0,o.jsx)(s.FlexItem,{isBlock:!0,children:(0,o.jsx)(s.__experimentalSpacer,{marginX:2,marginBottom:0,children:(0,o.jsx)(s.RangeControl,{__next40pxDefaultSize:!0,value:g,min:null!==(c=_[f]?.min)&&void 0!==c?c:0,max:null!==(d=_[f]?.max)&&void 0!==d?d:100,step:null!==(v=_[f]?.step)&&void 0!==v?v:.1,withInputField:!1,onChange:e=>{t([e,f].join(""))},label:e,hideLabelFromVision:!0,__nextHasNoMarginBottom:!0,renderTooltipContent:e=>`${e}${f}`})})})]})})}f.propTypes={label:h().string.isRequired,value:h().string.isRequired,onChange:h().func.isRequired,allowedUnits:h().array,defaultUnits:h().array,convertUnits:h().array};const y=f,C=JSON.parse('{"UU":"storepress/marquee"}');(0,t.registerBlockType)(C.UU,{icon:l,edit:function({attributes:t,setAttributes:n,clientId:a}){const{orientation:o,animationDirection:l,hoverAnimationState:u,animationSpeed:g,gap:_,overlayColor:h,whiteSpace:w}=t,b=(0,r.useBlockProps)({className:x({"has-overlay-color":h,"orientation-x":"x"===o,"orientation-y":"y"===o}),style:{"--overlay-color":null!=h?h:"transparent","--white-space":w}}),f=(0,r.__experimentalUseMultipleOriginColorsAndGradients)(),C=(0,r.useInnerBlocksProps)({className:"wp-block-storepress-marquee__item"},{template:[["core/paragraph",{align:"center",content:"Marquee block adds a touch of movement and interactivity to your site and help to capture attention and engage your site visitors in a unique way."}]]});return(0,e.createElement)(e.Fragment,null,(0,e.createElement)(r.InspectorControls,null,(0,e.createElement)(s.PanelBody,{title:(0,i.__)("Settings","marquee-block")},(0,e.createElement)(s.__experimentalToggleGroupControl,{label:(0,i.__)("Orientation","marquee-block"),value:o,onChange:e=>{n({orientation:e})},isBlock:!0},(0,e.createElement)(s.__experimentalToggleGroupControlOption,{value:"x",label:(0,e.createElement)(m,{icon:(0,e.createElement)("svg",null,(0,e.createElement)("path",{transform:"rotate(45 12 12)",d:"M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z"}))})}),(0,e.createElement)(s.__experimentalToggleGroupControlOption,{value:"y",label:(0,e.createElement)(m,{icon:(0,e.createElement)("svg",null,(0,e.createElement)("path",{transform:"rotate(135 12 12)",d:"M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z"}))})})),(0,e.createElement)(s.__experimentalToggleGroupControl,{label:(0,i.__)("Animation Direction","marquee-block"),value:l,onChange:e=>{n({animationDirection:e})},isBlock:!0},(0,e.createElement)(s.__experimentalToggleGroupControlOption,{value:"normal",label:(0,e.createElement)(m,{icon:"x"===o?p:c,size:"30"})}),(0,e.createElement)(s.__experimentalToggleGroupControlOption,{value:"reverse",label:(0,e.createElement)(m,{icon:"x"===o?d:v,size:"30"})})),(0,e.createElement)(s.__experimentalToggleGroupControl,{label:(0,i.__)("On Hover Animation","marquee-block"),value:u,onChange:e=>{n({hoverAnimationState:e})},isBlock:!0},(0,e.createElement)(s.__experimentalToggleGroupControlOption,{value:"paused",label:(0,i.__)("Pause","marquee-block")}),(0,e.createElement)(s.__experimentalToggleGroupControlOption,{value:"running",label:(0,i.__)("Continue","marquee-block")})),(0,e.createElement)(y,{label:(0,i.__)("Animation Speed","marquee-block"),onChange:e=>{n({animationSpeed:e})},value:g,allowedUnits:["s","ms"]})),(0,e.createElement)(s.PanelBody,{title:(0,i.__)("Style","marquee-block")},(0,e.createElement)(s.__experimentalToggleGroupControl,{label:(0,i.__)("White Space","marquee-block"),value:w,onChange:e=>{n({whiteSpace:e})},isBlock:!0},(0,e.createElement)(s.__experimentalToggleGroupControlOption,{value:"wrap",label:(0,i.__)("Wrap","marquee-block")}),(0,e.createElement)(s.__experimentalToggleGroupControlOption,{value:"nowrap",label:(0,i.__)("No Wrap","marquee-block")})),(0,e.createElement)(y,{label:(0,i.__)("Content Gap","marquee-block"),onChange:e=>{n({gap:e})},value:_,allowedUnits:["%","px","em","rem"]}))),(0,e.createElement)(r.InspectorControls,{group:"color"},(0,e.createElement)(r.__experimentalColorGradientSettingsDropdown,{panelId:a,settings:[{label:(0,i.__)("Overlay color","marquee-block"),colorValue:h,onColorChange:e=>{n({overlayColor:e})}}],...f})),(0,e.createElement)("div",{...b},(0,e.createElement)("div",{...C})))},save:()=>(0,e.createElement)(r.InnerBlocks.Content,null)})})()})();
     1/******/ (() => { // webpackBootstrap
     2/******/    var __webpack_modules__ = ({
     3
     4/***/ "./node_modules/@storepress/components/build-module/unit-range-control/index.js":
     5/*!**************************************************************************************!*\
     6  !*** ./node_modules/@storepress/components/build-module/unit-range-control/index.js ***!
     7  \**************************************************************************************/
     8/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
     9
     10"use strict";
     11__webpack_require__.r(__webpack_exports__);
     12/* harmony export */ __webpack_require__.d(__webpack_exports__, {
     13/* harmony export */   availableUnits: () => (/* binding */ availableUnits),
     14/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__),
     15/* harmony export */   unitConverter: () => (/* binding */ unitConverter),
     16/* harmony export */   unitOperations: () => (/* binding */ unitOperations)
     17/* harmony export */ });
     18/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
     19/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
     20/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
     21/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__);
     22/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prop-types */ "./node_modules/prop-types/index.js");
     23/* harmony import */ var prop_types__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(prop_types__WEBPACK_IMPORTED_MODULE_3__);
     24/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
     25/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
     26/**
     27 * WordPress dependencies
     28 */
     29
     30
     31
     32
     33
     34// @see: https://github.com/WordPress/gutenberg/blob/trunk/packages/components/src/unit-control/utils.ts
     35// @see: https://github.com/WordPress/gutenberg/blob/trunk/packages/block-editor/src/components/height-control/index.js
     36
     37/**
     38 * @typedef {Object} availableUnit - Type 'availableUnit'
     39 * @property {string} value   - Unit Key.
     40 * @property {string} label   - Unit Label.
     41 * @property {number} default - Unit Default Value
     42 * @property {number} min     - Unit Minimum Value
     43 * @property {number} max     - Unit Maximum Value
     44 * @property {number} step    - Unit Step
     45 */
     46
     47/** @type {availableUnit[]} */
     48
     49const availableUnits = [{
     50  value: '%',
     51  label: '%',
     52  default: 0,
     53  min: 0,
     54  max: 100,
     55  step: 0.1
     56}, {
     57  value: 'px',
     58  label: 'px',
     59  default: 0,
     60  min: 0,
     61  max: 1000,
     62  step: 1
     63}, {
     64  value: 'em',
     65  label: 'em',
     66  default: 0,
     67  min: 0,
     68  max: 50,
     69  step: 0.01
     70}, {
     71  value: 'rem',
     72  label: 'rem',
     73  default: 0,
     74  min: 0,
     75  max: 50,
     76  step: 0.01
     77}, {
     78  value: 'vw',
     79  label: 'vw',
     80  default: 0,
     81  min: 0,
     82  max: 100,
     83  step: 0.1
     84}, {
     85  value: 'vh',
     86  label: 'vh',
     87  default: 0,
     88  min: 0,
     89  max: 100,
     90  step: 0.1
     91}, {
     92  value: 's',
     93  label: 's',
     94  default: 0,
     95  min: 0,
     96  max: 120,
     97  step: 0.1
     98}, {
     99  value: 'ms',
     100  label: 'ms',
     101  default: 0,
     102  min: 0,
     103  max: 120000,
     104  step: 100
     105}, {
     106  value: 'fr',
     107  label: 'fr',
     108  default: 1,
     109  min: 1,
     110  max: 100,
     111  step: 1
     112}];
     113
     114/**
     115 * @typedef {Object} unitOperation - Type 'unitOperation'
     116 * @property {string[]} fromUnits - Convert from unit array.
     117 * @property {string[]} toUnits   - Convert to unit array
     118 * @property {string}   operator  - Conversion operator
     119 * @property {number}   digit     - Conversion digit
     120 */
     121
     122/** @type {unitOperation[]} */
     123const unitOperations = [{
     124  fromUnits: ['em', 'rem'],
     125  toUnits: ['px'],
     126  operator: '*',
     127  digit: 16
     128}, {
     129  fromUnits: ['px'],
     130  toUnits: ['em', 'rem'],
     131  operator: '/',
     132  digit: 16
     133}, {
     134  fromUnits: ['s'],
     135  toUnits: ['ms'],
     136  operator: '*',
     137  digit: 1000
     138}, {
     139  fromUnits: ['ms'],
     140  toUnits: ['s'],
     141  operator: '/',
     142  digit: 1000
     143}];
     144function unitConverter(newUnit, oldUnit, currentValue, operationLogics) {
     145  if (newUnit === oldUnit) {
     146    return {
     147      unitName: newUnit,
     148      unitValue: currentValue,
     149      unitString: `${currentValue}${newUnit}`
     150    };
     151  }
     152  for (const operation of operationLogics) {
     153    const {
     154      fromUnits,
     155      toUnits,
     156      operator,
     157      digit
     158    } = operation;
     159    if (toUnits.includes(newUnit) && fromUnits.includes(oldUnit)) {
     160      if (operator === '/') {
     161        const newValue = (currentValue / digit).toFixed(2);
     162        return {
     163          unitName: newUnit,
     164          unitValue: newValue,
     165          unitString: `${newValue}${newUnit}`
     166        };
     167      }
     168      if (operator === '*') {
     169        const newValue = Math.round(currentValue * digit);
     170        return {
     171          unitName: newUnit,
     172          unitValue: newValue,
     173          unitString: `${newValue}${newUnit}`
     174        };
     175      }
     176    }
     177  }
     178  return {
     179    unitName: newUnit,
     180    unitValue: currentValue,
     181    unitString: `${currentValue}${newUnit}`
     182  };
     183}
     184
     185/**
     186 * @callback onChange
     187 * @param {string} value
     188 * @return {void}
     189 */
     190
     191/**
     192 * UnitRangeControl renders a linked unit control and range control.
     193 *
     194 *
     195 * @param {Object}          props
     196 * @param {string}          props.label                                              - A label for the control.
     197 * @param {onChange}        props.onChange                                           - Called when the value changes.
     198 * @param {string}          props.value                                              - The current value with unit.
     199 * @param {string[]}        [props.allowedUnits=['%', 'px', 'em', 'rem']] - Available values.
     200 * @param {availableUnit[]} [props.defaultUnits]                                     - Default units.
     201 * @param {unitOperation[]} [props.convertUnits]                                     - Unit value conversion logic.
     202 *
     203 */
     204function UnitRangeControl({
     205  label,
     206  onChange,
     207  value,
     208  allowedUnits = ['%', 'px', 'em', 'rem'],
     209  defaultUnits = availableUnits,
     210  convertUnits = unitOperations
     211}) {
     212  var _unitSettings$selecte, _unitSettings$selecte2, _unitSettings$selecte3, _unitSettings$selecte4, _unitSettings$selecte5, _unitSettings$selecte6;
     213  const customRangeValue = parseFloat(value);
     214  const defaultValues = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
     215    return defaultUnits.reduce((accumulator, unit) => {
     216      accumulator[unit.label] = unit.default;
     217      return accumulator;
     218    }, {});
     219  }, [defaultUnits]);
     220  const unitSettings = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => {
     221    return defaultUnits.reduce((accumulator, unit) => {
     222      accumulator[unit.label] = unit;
     223      return accumulator;
     224    }, {});
     225  }, [defaultUnits]);
     226  const units = (0,_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.__experimentalUseCustomUnits)({
     227    units: defaultUnits,
     228    availableUnits: allowedUnits,
     229    defaultValues
     230  });
     231  const selectedUnit = (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.useMemo)(() => (0,_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.__experimentalParseQuantityAndUnitFromRawValue)(value, defaultUnits), [value, defaultUnits])[1] || units[0]?.value || 'px';
     232  const handleSliderChange = next => {
     233    onChange([next, selectedUnit].join(''));
     234  };
     235  const handleUnitChange = newUnit => {
     236    // Attempt to smooth over differences between currentUnit and newUnit.
     237    // This should slightly improve the experience of switching between unit types.
     238    const [currentValue, currentUnit] = (0,_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.__experimentalParseQuantityAndUnitFromRawValue)(value, defaultUnits);
     239    const {
     240      unitValue,
     241      unitString
     242    } = unitConverter(newUnit, currentUnit, currentValue, convertUnits);
     243    if (unitValue > unitSettings[newUnit]?.max) {
     244      onChange(unitSettings[newUnit]?.max + newUnit);
     245    } else {
     246      onChange(unitString);
     247    }
     248  };
     249  return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.BaseControl, {
     250    label: label,
     251    className: "storepress-component-unit-range-control",
     252    children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.Flex, {
     253      children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.FlexItem, {
     254        isBlock: true,
     255        children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.__experimentalUnitControl, {
     256          value: value,
     257          units: units,
     258          onChange: onChange,
     259          onUnitChange: handleUnitChange,
     260          min: (_unitSettings$selecte = unitSettings[selectedUnit]?.min) !== null && _unitSettings$selecte !== void 0 ? _unitSettings$selecte : 0,
     261          max: (_unitSettings$selecte2 = unitSettings[selectedUnit]?.max) !== null && _unitSettings$selecte2 !== void 0 ? _unitSettings$selecte2 : 100,
     262          step: (_unitSettings$selecte3 = unitSettings[selectedUnit]?.step) !== null && _unitSettings$selecte3 !== void 0 ? _unitSettings$selecte3 : 0.1,
     263          size: "__unstable-large",
     264          label: label,
     265          hideLabelFromVision: true
     266        })
     267      }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.FlexItem, {
     268        isBlock: true,
     269        children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.__experimentalSpacer, {
     270          marginX: 2,
     271          marginBottom: 0,
     272          children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__.RangeControl, {
     273            __next40pxDefaultSize: true,
     274            value: customRangeValue,
     275            min: (_unitSettings$selecte4 = unitSettings[selectedUnit]?.min) !== null && _unitSettings$selecte4 !== void 0 ? _unitSettings$selecte4 : 0,
     276            max: (_unitSettings$selecte5 = unitSettings[selectedUnit]?.max) !== null && _unitSettings$selecte5 !== void 0 ? _unitSettings$selecte5 : 100,
     277            step: (_unitSettings$selecte6 = unitSettings[selectedUnit]?.step) !== null && _unitSettings$selecte6 !== void 0 ? _unitSettings$selecte6 : 0.1,
     278            withInputField: false,
     279            onChange: handleSliderChange,
     280            label: label,
     281            hideLabelFromVision: true,
     282            __nextHasNoMarginBottom: true,
     283            renderTooltipContent: contentValue => `${contentValue}${selectedUnit}`
     284          })
     285        })
     286      })]
     287    })
     288  });
     289}
     290
     291/*UnitRangeControl.defaultProps = {
     292  label: 'Range Control',
     293  onChange: (updatedValue) => {},
     294  value: '10px',
     295  allowedUnits: ['%', 'px', 'em', 'rem'],
     296  defaultUnits: availableUnits,
     297  convertUnits: unitOperations,
     298}*/
     299
     300UnitRangeControl.propTypes = {
     301  label: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string).isRequired,
     302  value: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().string).isRequired,
     303  onChange: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().func).isRequired,
     304  allowedUnits: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().array),
     305  defaultUnits: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().array),
     306  convertUnits: (prop_types__WEBPACK_IMPORTED_MODULE_3___default().array)
     307};
     308/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (UnitRangeControl);
     309
     310/***/ }),
     311
     312/***/ "./node_modules/@wordpress/icons/build-module/icon/index.js":
     313/*!******************************************************************!*\
     314  !*** ./node_modules/@wordpress/icons/build-module/icon/index.js ***!
     315  \******************************************************************/
     316/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
     317
     318"use strict";
     319__webpack_require__.r(__webpack_exports__);
     320/* harmony export */ __webpack_require__.d(__webpack_exports__, {
     321/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
     322/* harmony export */ });
     323/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
     324/* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
     325/**
     326 * WordPress dependencies
     327 */
     328
     329
     330/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */
     331
     332/**
     333 * Return an SVG icon.
     334 *
     335 * @param {IconProps}                                 props icon is the SVG component to render
     336 *                                                          size is a number specifying the icon size in pixels
     337 *                                                          Other props will be passed to wrapped SVG component
     338 * @param {import('react').ForwardedRef<HTMLElement>} ref   The forwarded ref to the SVG element.
     339 *
     340 * @return {JSX.Element}  Icon component
     341 */
     342function Icon({
     343  icon,
     344  size = 24,
     345  ...props
     346}, ref) {
     347  return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.cloneElement)(icon, {
     348    width: size,
     349    height: size,
     350    ...props,
     351    ref
     352  });
     353}
     354/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.forwardRef)(Icon));
     355//# sourceMappingURL=index.js.map
     356
     357/***/ }),
     358
     359/***/ "./node_modules/@wordpress/icons/build-module/library/arrow-down.js":
     360/*!**************************************************************************!*\
     361  !*** ./node_modules/@wordpress/icons/build-module/library/arrow-down.js ***!
     362  \**************************************************************************/
     363/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
     364
     365"use strict";
     366__webpack_require__.r(__webpack_exports__);
     367/* harmony export */ __webpack_require__.d(__webpack_exports__, {
     368/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
     369/* harmony export */ });
     370/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives");
     371/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__);
     372/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
     373/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
     374/**
     375 * WordPress dependencies
     376 */
     377
     378
     379const arrowDown = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__.SVG, {
     380  xmlns: "http://www.w3.org/2000/svg",
     381  viewBox: "0 0 24 24",
     382  children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__.Path, {
     383    d: "m16.5 13.5-3.7 3.7V4h-1.5v13.2l-3.8-3.7-1 1 5.5 5.6 5.5-5.6z"
     384  })
     385});
     386/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (arrowDown);
     387//# sourceMappingURL=arrow-down.js.map
     388
     389/***/ }),
     390
     391/***/ "./node_modules/@wordpress/icons/build-module/library/arrow-left.js":
     392/*!**************************************************************************!*\
     393  !*** ./node_modules/@wordpress/icons/build-module/library/arrow-left.js ***!
     394  \**************************************************************************/
     395/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
     396
     397"use strict";
     398__webpack_require__.r(__webpack_exports__);
     399/* harmony export */ __webpack_require__.d(__webpack_exports__, {
     400/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
     401/* harmony export */ });
     402/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives");
     403/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__);
     404/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
     405/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
     406/**
     407 * WordPress dependencies
     408 */
     409
     410
     411const arrowLeft = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__.SVG, {
     412  xmlns: "http://www.w3.org/2000/svg",
     413  viewBox: "0 0 24 24",
     414  children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__.Path, {
     415    d: "M20 11.2H6.8l3.7-3.7-1-1L3.9 12l5.6 5.5 1-1-3.7-3.7H20z"
     416  })
     417});
     418/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (arrowLeft);
     419//# sourceMappingURL=arrow-left.js.map
     420
     421/***/ }),
     422
     423/***/ "./node_modules/@wordpress/icons/build-module/library/arrow-right.js":
     424/*!***************************************************************************!*\
     425  !*** ./node_modules/@wordpress/icons/build-module/library/arrow-right.js ***!
     426  \***************************************************************************/
     427/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
     428
     429"use strict";
     430__webpack_require__.r(__webpack_exports__);
     431/* harmony export */ __webpack_require__.d(__webpack_exports__, {
     432/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
     433/* harmony export */ });
     434/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives");
     435/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__);
     436/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
     437/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
     438/**
     439 * WordPress dependencies
     440 */
     441
     442
     443const arrowRight = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__.SVG, {
     444  xmlns: "http://www.w3.org/2000/svg",
     445  viewBox: "0 0 24 24",
     446  children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__.Path, {
     447    d: "m14.5 6.5-1 1 3.7 3.7H4v1.6h13.2l-3.7 3.7 1 1 5.6-5.5z"
     448  })
     449});
     450/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (arrowRight);
     451//# sourceMappingURL=arrow-right.js.map
     452
     453/***/ }),
     454
     455/***/ "./node_modules/@wordpress/icons/build-module/library/arrow-up.js":
     456/*!************************************************************************!*\
     457  !*** ./node_modules/@wordpress/icons/build-module/library/arrow-up.js ***!
     458  \************************************************************************/
     459/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
     460
     461"use strict";
     462__webpack_require__.r(__webpack_exports__);
     463/* harmony export */ __webpack_require__.d(__webpack_exports__, {
     464/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
     465/* harmony export */ });
     466/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives");
     467/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__);
     468/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
     469/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
     470/**
     471 * WordPress dependencies
     472 */
     473
     474
     475const arrowUp = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__.SVG, {
     476  xmlns: "http://www.w3.org/2000/svg",
     477  viewBox: "0 0 24 24",
     478  children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__.Path, {
     479    d: "M12 3.9 6.5 9.5l1 1 3.8-3.7V20h1.5V6.8l3.7 3.7 1-1z"
     480  })
     481});
     482/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (arrowUp);
     483//# sourceMappingURL=arrow-up.js.map
     484
     485/***/ }),
     486
     487/***/ "./node_modules/@wordpress/icons/build-module/library/text-horizontal.js":
     488/*!*******************************************************************************!*\
     489  !*** ./node_modules/@wordpress/icons/build-module/library/text-horizontal.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 _wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/primitives */ "@wordpress/primitives");
     499/* harmony import */ var _wordpress_primitives__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__);
     500/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
     501/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
     502/**
     503 * WordPress dependencies
     504 */
     505
     506
     507const textHorizontal = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__.SVG, {
     508  xmlns: "http://www.w3.org/2000/svg",
     509  viewBox: "0 0 24 24",
     510  children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_primitives__WEBPACK_IMPORTED_MODULE_0__.Path, {
     511    d: "M8.2 14.4h3.9L13 17h1.7L11 6.5H9.3L5.6 17h1.7l.9-2.6zm2-5.5 1.4 4H8.8l1.4-4zm7.4 7.5-1.3.8.8 1.4H5.5V20h14.3l-2.2-3.6z"
     512  })
     513});
     514/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (textHorizontal);
     515//# sourceMappingURL=text-horizontal.js.map
     516
     517/***/ }),
     518
     519/***/ "./node_modules/clsx/dist/clsx.mjs":
     520/*!*****************************************!*\
     521  !*** ./node_modules/clsx/dist/clsx.mjs ***!
     522  \*****************************************/
     523/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
     524
     525"use strict";
     526__webpack_require__.r(__webpack_exports__);
     527/* harmony export */ __webpack_require__.d(__webpack_exports__, {
     528/* harmony export */   clsx: () => (/* binding */ clsx),
     529/* harmony export */   "default": () => (__WEBPACK_DEFAULT_EXPORT__)
     530/* harmony export */ });
     531function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f)}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (clsx);
     532
     533/***/ }),
     534
     535/***/ "./node_modules/object-assign/index.js":
     536/*!*********************************************!*\
     537  !*** ./node_modules/object-assign/index.js ***!
     538  \*********************************************/
     539/***/ ((module) => {
     540
     541"use strict";
     542/*
     543object-assign
     544(c) Sindre Sorhus
     545@license MIT
     546*/
     547
     548
     549/* eslint-disable no-unused-vars */
     550var getOwnPropertySymbols = Object.getOwnPropertySymbols;
     551var hasOwnProperty = Object.prototype.hasOwnProperty;
     552var propIsEnumerable = Object.prototype.propertyIsEnumerable;
     553
     554function toObject(val) {
     555    if (val === null || val === undefined) {
     556        throw new TypeError('Object.assign cannot be called with null or undefined');
     557    }
     558
     559    return Object(val);
     560}
     561
     562function shouldUseNative() {
     563    try {
     564        if (!Object.assign) {
     565            return false;
     566        }
     567
     568        // Detect buggy property enumeration order in older V8 versions.
     569
     570        // https://bugs.chromium.org/p/v8/issues/detail?id=4118
     571        var test1 = new String('abc');  // eslint-disable-line no-new-wrappers
     572        test1[5] = 'de';
     573        if (Object.getOwnPropertyNames(test1)[0] === '5') {
     574            return false;
     575        }
     576
     577        // https://bugs.chromium.org/p/v8/issues/detail?id=3056
     578        var test2 = {};
     579        for (var i = 0; i < 10; i++) {
     580            test2['_' + String.fromCharCode(i)] = i;
     581        }
     582        var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
     583            return test2[n];
     584        });
     585        if (order2.join('') !== '0123456789') {
     586            return false;
     587        }
     588
     589        // https://bugs.chromium.org/p/v8/issues/detail?id=3056
     590        var test3 = {};
     591        'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
     592            test3[letter] = letter;
     593        });
     594        if (Object.keys(Object.assign({}, test3)).join('') !==
     595                'abcdefghijklmnopqrst') {
     596            return false;
     597        }
     598
     599        return true;
     600    } catch (err) {
     601        // We don't expect any of the above to throw, but better to be safe.
     602        return false;
     603    }
     604}
     605
     606module.exports = shouldUseNative() ? Object.assign : function (target, source) {
     607    var from;
     608    var to = toObject(target);
     609    var symbols;
     610
     611    for (var s = 1; s < arguments.length; s++) {
     612        from = Object(arguments[s]);
     613
     614        for (var key in from) {
     615            if (hasOwnProperty.call(from, key)) {
     616                to[key] = from[key];
     617            }
     618        }
     619
     620        if (getOwnPropertySymbols) {
     621            symbols = getOwnPropertySymbols(from);
     622            for (var i = 0; i < symbols.length; i++) {
     623                if (propIsEnumerable.call(from, symbols[i])) {
     624                    to[symbols[i]] = from[symbols[i]];
     625                }
     626            }
     627        }
     628    }
     629
     630    return to;
     631};
     632
     633
     634/***/ }),
     635
     636/***/ "./node_modules/prop-types/checkPropTypes.js":
     637/*!***************************************************!*\
     638  !*** ./node_modules/prop-types/checkPropTypes.js ***!
     639  \***************************************************/
     640/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
     641
     642"use strict";
     643/**
     644 * Copyright (c) 2013-present, Facebook, Inc.
     645 *
     646 * This source code is licensed under the MIT license found in the
     647 * LICENSE file in the root directory of this source tree.
     648 */
     649
     650
     651
     652var printWarning = function() {};
     653
     654if (true) {
     655  var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js");
     656  var loggedTypeFailures = {};
     657  var has = __webpack_require__(/*! ./lib/has */ "./node_modules/prop-types/lib/has.js");
     658
     659  printWarning = function(text) {
     660    var message = 'Warning: ' + text;
     661    if (typeof console !== 'undefined') {
     662      console.error(message);
     663    }
     664    try {
     665      // --- Welcome to debugging React ---
     666      // This error was thrown as a convenience so that you can use this stack
     667      // to find the callsite that caused this warning to fire.
     668      throw new Error(message);
     669    } catch (x) { /**/ }
     670  };
     671}
     672
     673/**
     674 * Assert that the values match with the type specs.
     675 * Error messages are memorized and will only be shown once.
     676 *
     677 * @param {object} typeSpecs Map of name to a ReactPropType
     678 * @param {object} values Runtime values that need to be type-checked
     679 * @param {string} location e.g. "prop", "context", "child context"
     680 * @param {string} componentName Name of the component for error messages.
     681 * @param {?Function} getStack Returns the component stack.
     682 * @private
     683 */
     684function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
     685  if (true) {
     686    for (var typeSpecName in typeSpecs) {
     687      if (has(typeSpecs, typeSpecName)) {
     688        var error;
     689        // Prop type validation may throw. In case they do, we don't want to
     690        // fail the render phase where it didn't fail before. So we log it.
     691        // After these have been cleaned up, we'll let them throw.
     692        try {
     693          // This is intentionally an invariant that gets caught. It's the same
     694          // behavior as without this statement except with a better message.
     695          if (typeof typeSpecs[typeSpecName] !== 'function') {
     696            var err = Error(
     697              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +
     698              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +
     699              'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'
     700            );
     701            err.name = 'Invariant Violation';
     702            throw err;
     703          }
     704          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
     705        } catch (ex) {
     706          error = ex;
     707        }
     708        if (error && !(error instanceof Error)) {
     709          printWarning(
     710            (componentName || 'React class') + ': type specification of ' +
     711            location + ' `' + typeSpecName + '` is invalid; the type checker ' +
     712            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +
     713            'You may have forgotten to pass an argument to the type checker ' +
     714            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +
     715            'shape all require an argument).'
     716          );
     717        }
     718        if (error instanceof Error && !(error.message in loggedTypeFailures)) {
     719          // Only monitor this failure once because there tends to be a lot of the
     720          // same error.
     721          loggedTypeFailures[error.message] = true;
     722
     723          var stack = getStack ? getStack() : '';
     724
     725          printWarning(
     726            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')
     727          );
     728        }
     729      }
     730    }
     731  }
     732}
     733
     734/**
     735 * Resets warning cache when testing.
     736 *
     737 * @private
     738 */
     739checkPropTypes.resetWarningCache = function() {
     740  if (true) {
     741    loggedTypeFailures = {};
     742  }
     743}
     744
     745module.exports = checkPropTypes;
     746
     747
     748/***/ }),
     749
     750/***/ "./node_modules/prop-types/factoryWithTypeCheckers.js":
     751/*!************************************************************!*\
     752  !*** ./node_modules/prop-types/factoryWithTypeCheckers.js ***!
     753  \************************************************************/
     754/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
     755
     756"use strict";
     757/**
     758 * Copyright (c) 2013-present, Facebook, Inc.
     759 *
     760 * This source code is licensed under the MIT license found in the
     761 * LICENSE file in the root directory of this source tree.
     762 */
     763
     764
     765
     766var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/prop-types/node_modules/react-is/index.js");
     767var assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js");
     768
     769var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js");
     770var has = __webpack_require__(/*! ./lib/has */ "./node_modules/prop-types/lib/has.js");
     771var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "./node_modules/prop-types/checkPropTypes.js");
     772
     773var printWarning = function() {};
     774
     775if (true) {
     776  printWarning = function(text) {
     777    var message = 'Warning: ' + text;
     778    if (typeof console !== 'undefined') {
     779      console.error(message);
     780    }
     781    try {
     782      // --- Welcome to debugging React ---
     783      // This error was thrown as a convenience so that you can use this stack
     784      // to find the callsite that caused this warning to fire.
     785      throw new Error(message);
     786    } catch (x) {}
     787  };
     788}
     789
     790function emptyFunctionThatReturnsNull() {
     791  return null;
     792}
     793
     794module.exports = function(isValidElement, throwOnDirectAccess) {
     795  /* global Symbol */
     796  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
     797  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
     798
     799  /**
     800   * Returns the iterator method function contained on the iterable object.
     801   *
     802   * Be sure to invoke the function with the iterable as context:
     803   *
     804   *     var iteratorFn = getIteratorFn(myIterable);
     805   *     if (iteratorFn) {
     806   *       var iterator = iteratorFn.call(myIterable);
     807   *       ...
     808   *     }
     809   *
     810   * @param {?object} maybeIterable
     811   * @return {?function}
     812   */
     813  function getIteratorFn(maybeIterable) {
     814    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
     815    if (typeof iteratorFn === 'function') {
     816      return iteratorFn;
     817    }
     818  }
     819
     820  /**
     821   * Collection of methods that allow declaration and validation of props that are
     822   * supplied to React components. Example usage:
     823   *
     824   *   var Props = require('ReactPropTypes');
     825   *   var MyArticle = React.createClass({
     826   *     propTypes: {
     827   *       // An optional string prop named "description".
     828   *       description: Props.string,
     829   *
     830   *       // A required enum prop named "category".
     831   *       category: Props.oneOf(['News','Photos']).isRequired,
     832   *
     833   *       // A prop named "dialog" that requires an instance of Dialog.
     834   *       dialog: Props.instanceOf(Dialog).isRequired
     835   *     },
     836   *     render: function() { ... }
     837   *   });
     838   *
     839   * A more formal specification of how these methods are used:
     840   *
     841   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
     842   *   decl := ReactPropTypes.{type}(.isRequired)?
     843   *
     844   * Each and every declaration produces a function with the same signature. This
     845   * allows the creation of custom validation functions. For example:
     846   *
     847   *  var MyLink = React.createClass({
     848   *    propTypes: {
     849   *      // An optional string or URI prop named "href".
     850   *      href: function(props, propName, componentName) {
     851   *        var propValue = props[propName];
     852   *        if (propValue != null && typeof propValue !== 'string' &&
     853   *            !(propValue instanceof URI)) {
     854   *          return new Error(
     855   *            'Expected a string or an URI for ' + propName + ' in ' +
     856   *            componentName
     857   *          );
     858   *        }
     859   *      }
     860   *    },
     861   *    render: function() {...}
     862   *  });
     863   *
     864   * @internal
     865   */
     866
     867  var ANONYMOUS = '<<anonymous>>';
     868
     869  // Important!
     870  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
     871  var ReactPropTypes = {
     872    array: createPrimitiveTypeChecker('array'),
     873    bigint: createPrimitiveTypeChecker('bigint'),
     874    bool: createPrimitiveTypeChecker('boolean'),
     875    func: createPrimitiveTypeChecker('function'),
     876    number: createPrimitiveTypeChecker('number'),
     877    object: createPrimitiveTypeChecker('object'),
     878    string: createPrimitiveTypeChecker('string'),
     879    symbol: createPrimitiveTypeChecker('symbol'),
     880
     881    any: createAnyTypeChecker(),
     882    arrayOf: createArrayOfTypeChecker,
     883    element: createElementTypeChecker(),
     884    elementType: createElementTypeTypeChecker(),
     885    instanceOf: createInstanceTypeChecker,
     886    node: createNodeChecker(),
     887    objectOf: createObjectOfTypeChecker,
     888    oneOf: createEnumTypeChecker,
     889    oneOfType: createUnionTypeChecker,
     890    shape: createShapeTypeChecker,
     891    exact: createStrictShapeTypeChecker,
     892  };
     893
     894  /**
     895   * inlined Object.is polyfill to avoid requiring consumers ship their own
     896   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
     897   */
     898  /*eslint-disable no-self-compare*/
     899  function is(x, y) {
     900    // SameValue algorithm
     901    if (x === y) {
     902      // Steps 1-5, 7-10
     903      // Steps 6.b-6.e: +0 != -0
     904      return x !== 0 || 1 / x === 1 / y;
     905    } else {
     906      // Step 6.a: NaN == NaN
     907      return x !== x && y !== y;
     908    }
     909  }
     910  /*eslint-enable no-self-compare*/
     911
     912  /**
     913   * We use an Error-like object for backward compatibility as people may call
     914   * PropTypes directly and inspect their output. However, we don't use real
     915   * Errors anymore. We don't inspect their stack anyway, and creating them
     916   * is prohibitively expensive if they are created too often, such as what
     917   * happens in oneOfType() for any type before the one that matched.
     918   */
     919  function PropTypeError(message, data) {
     920    this.message = message;
     921    this.data = data && typeof data === 'object' ? data: {};
     922    this.stack = '';
     923  }
     924  // Make `instanceof Error` still work for returned errors.
     925  PropTypeError.prototype = Error.prototype;
     926
     927  function createChainableTypeChecker(validate) {
     928    if (true) {
     929      var manualPropTypeCallCache = {};
     930      var manualPropTypeWarningCount = 0;
     931    }
     932    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
     933      componentName = componentName || ANONYMOUS;
     934      propFullName = propFullName || propName;
     935
     936      if (secret !== ReactPropTypesSecret) {
     937        if (throwOnDirectAccess) {
     938          // New behavior only for users of `prop-types` package
     939          var err = new Error(
     940            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
     941            'Use `PropTypes.checkPropTypes()` to call them. ' +
     942            'Read more at http://fb.me/use-check-prop-types'
     943          );
     944          err.name = 'Invariant Violation';
     945          throw err;
     946        } else if ( true && typeof console !== 'undefined') {
     947          // Old behavior for people using React.PropTypes
     948          var cacheKey = componentName + ':' + propName;
     949          if (
     950            !manualPropTypeCallCache[cacheKey] &&
     951            // Avoid spamming the console because they are often not actionable except for lib authors
     952            manualPropTypeWarningCount < 3
     953          ) {
     954            printWarning(
     955              'You are manually calling a React.PropTypes validation ' +
     956              'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +
     957              'and will throw in the standalone `prop-types` package. ' +
     958              'You may be seeing this warning due to a third-party PropTypes ' +
     959              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'
     960            );
     961            manualPropTypeCallCache[cacheKey] = true;
     962            manualPropTypeWarningCount++;
     963          }
     964        }
     965      }
     966      if (props[propName] == null) {
     967        if (isRequired) {
     968          if (props[propName] === null) {
     969            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
     970          }
     971          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
     972        }
     973        return null;
     974      } else {
     975        return validate(props, propName, componentName, location, propFullName);
     976      }
     977    }
     978
     979    var chainedCheckType = checkType.bind(null, false);
     980    chainedCheckType.isRequired = checkType.bind(null, true);
     981
     982    return chainedCheckType;
     983  }
     984
     985  function createPrimitiveTypeChecker(expectedType) {
     986    function validate(props, propName, componentName, location, propFullName, secret) {
     987      var propValue = props[propName];
     988      var propType = getPropType(propValue);
     989      if (propType !== expectedType) {
     990        // `propValue` being instance of, say, date/regexp, pass the 'object'
     991        // check, but we can offer a more precise error message here rather than
     992        // 'of type `object`'.
     993        var preciseType = getPreciseType(propValue);
     994
     995        return new PropTypeError(
     996          'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),
     997          {expectedType: expectedType}
     998        );
     999      }
     1000      return null;
     1001    }
     1002    return createChainableTypeChecker(validate);
     1003  }
     1004
     1005  function createAnyTypeChecker() {
     1006    return createChainableTypeChecker(emptyFunctionThatReturnsNull);
     1007  }
     1008
     1009  function createArrayOfTypeChecker(typeChecker) {
     1010    function validate(props, propName, componentName, location, propFullName) {
     1011      if (typeof typeChecker !== 'function') {
     1012        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
     1013      }
     1014      var propValue = props[propName];
     1015      if (!Array.isArray(propValue)) {
     1016        var propType = getPropType(propValue);
     1017        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
     1018      }
     1019      for (var i = 0; i < propValue.length; i++) {
     1020        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
     1021        if (error instanceof Error) {
     1022          return error;
     1023        }
     1024      }
     1025      return null;
     1026    }
     1027    return createChainableTypeChecker(validate);
     1028  }
     1029
     1030  function createElementTypeChecker() {
     1031    function validate(props, propName, componentName, location, propFullName) {
     1032      var propValue = props[propName];
     1033      if (!isValidElement(propValue)) {
     1034        var propType = getPropType(propValue);
     1035        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
     1036      }
     1037      return null;
     1038    }
     1039    return createChainableTypeChecker(validate);
     1040  }
     1041
     1042  function createElementTypeTypeChecker() {
     1043    function validate(props, propName, componentName, location, propFullName) {
     1044      var propValue = props[propName];
     1045      if (!ReactIs.isValidElementType(propValue)) {
     1046        var propType = getPropType(propValue);
     1047        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));
     1048      }
     1049      return null;
     1050    }
     1051    return createChainableTypeChecker(validate);
     1052  }
     1053
     1054  function createInstanceTypeChecker(expectedClass) {
     1055    function validate(props, propName, componentName, location, propFullName) {
     1056      if (!(props[propName] instanceof expectedClass)) {
     1057        var expectedClassName = expectedClass.name || ANONYMOUS;
     1058        var actualClassName = getClassName(props[propName]);
     1059        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
     1060      }
     1061      return null;
     1062    }
     1063    return createChainableTypeChecker(validate);
     1064  }
     1065
     1066  function createEnumTypeChecker(expectedValues) {
     1067    if (!Array.isArray(expectedValues)) {
     1068      if (true) {
     1069        if (arguments.length > 1) {
     1070          printWarning(
     1071            'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +
     1072            'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'
     1073          );
     1074        } else {
     1075          printWarning('Invalid argument supplied to oneOf, expected an array.');
     1076        }
     1077      }
     1078      return emptyFunctionThatReturnsNull;
     1079    }
     1080
     1081    function validate(props, propName, componentName, location, propFullName) {
     1082      var propValue = props[propName];
     1083      for (var i = 0; i < expectedValues.length; i++) {
     1084        if (is(propValue, expectedValues[i])) {
     1085          return null;
     1086        }
     1087      }
     1088
     1089      var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {
     1090        var type = getPreciseType(value);
     1091        if (type === 'symbol') {
     1092          return String(value);
     1093        }
     1094        return value;
     1095      });
     1096      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
     1097    }
     1098    return createChainableTypeChecker(validate);
     1099  }
     1100
     1101  function createObjectOfTypeChecker(typeChecker) {
     1102    function validate(props, propName, componentName, location, propFullName) {
     1103      if (typeof typeChecker !== 'function') {
     1104        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
     1105      }
     1106      var propValue = props[propName];
     1107      var propType = getPropType(propValue);
     1108      if (propType !== 'object') {
     1109        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
     1110      }
     1111      for (var key in propValue) {
     1112        if (has(propValue, key)) {
     1113          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
     1114          if (error instanceof Error) {
     1115            return error;
     1116          }
     1117        }
     1118      }
     1119      return null;
     1120    }
     1121    return createChainableTypeChecker(validate);
     1122  }
     1123
     1124  function createUnionTypeChecker(arrayOfTypeCheckers) {
     1125    if (!Array.isArray(arrayOfTypeCheckers)) {
     1126       true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0;
     1127      return emptyFunctionThatReturnsNull;
     1128    }
     1129
     1130    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
     1131      var checker = arrayOfTypeCheckers[i];
     1132      if (typeof checker !== 'function') {
     1133        printWarning(
     1134          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
     1135          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'
     1136        );
     1137        return emptyFunctionThatReturnsNull;
     1138      }
     1139    }
     1140
     1141    function validate(props, propName, componentName, location, propFullName) {
     1142      var expectedTypes = [];
     1143      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
     1144        var checker = arrayOfTypeCheckers[i];
     1145        var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);
     1146        if (checkerResult == null) {
     1147          return null;
     1148        }
     1149        if (checkerResult.data && has(checkerResult.data, 'expectedType')) {
     1150          expectedTypes.push(checkerResult.data.expectedType);
     1151        }
     1152      }
     1153      var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';
     1154      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));
     1155    }
     1156    return createChainableTypeChecker(validate);
     1157  }
     1158
     1159  function createNodeChecker() {
     1160    function validate(props, propName, componentName, location, propFullName) {
     1161      if (!isNode(props[propName])) {
     1162        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
     1163      }
     1164      return null;
     1165    }
     1166    return createChainableTypeChecker(validate);
     1167  }
     1168
     1169  function invalidValidatorError(componentName, location, propFullName, key, type) {
     1170    return new PropTypeError(
     1171      (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +
     1172      'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'
     1173    );
     1174  }
     1175
     1176  function createShapeTypeChecker(shapeTypes) {
     1177    function validate(props, propName, componentName, location, propFullName) {
     1178      var propValue = props[propName];
     1179      var propType = getPropType(propValue);
     1180      if (propType !== 'object') {
     1181        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
     1182      }
     1183      for (var key in shapeTypes) {
     1184        var checker = shapeTypes[key];
     1185        if (typeof checker !== 'function') {
     1186          return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
     1187        }
     1188        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
     1189        if (error) {
     1190          return error;
     1191        }
     1192      }
     1193      return null;
     1194    }
     1195    return createChainableTypeChecker(validate);
     1196  }
     1197
     1198  function createStrictShapeTypeChecker(shapeTypes) {
     1199    function validate(props, propName, componentName, location, propFullName) {
     1200      var propValue = props[propName];
     1201      var propType = getPropType(propValue);
     1202      if (propType !== 'object') {
     1203        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
     1204      }
     1205      // We need to check all keys in case some are required but missing from props.
     1206      var allKeys = assign({}, props[propName], shapeTypes);
     1207      for (var key in allKeys) {
     1208        var checker = shapeTypes[key];
     1209        if (has(shapeTypes, key) && typeof checker !== 'function') {
     1210          return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));
     1211        }
     1212        if (!checker) {
     1213          return new PropTypeError(
     1214            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
     1215            '\nBad object: ' + JSON.stringify(props[propName], null, '  ') +
     1216            '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, '  ')
     1217          );
     1218        }
     1219        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
     1220        if (error) {
     1221          return error;
     1222        }
     1223      }
     1224      return null;
     1225    }
     1226
     1227    return createChainableTypeChecker(validate);
     1228  }
     1229
     1230  function isNode(propValue) {
     1231    switch (typeof propValue) {
     1232      case 'number':
     1233      case 'string':
     1234      case 'undefined':
     1235        return true;
     1236      case 'boolean':
     1237        return !propValue;
     1238      case 'object':
     1239        if (Array.isArray(propValue)) {
     1240          return propValue.every(isNode);
     1241        }
     1242        if (propValue === null || isValidElement(propValue)) {
     1243          return true;
     1244        }
     1245
     1246        var iteratorFn = getIteratorFn(propValue);
     1247        if (iteratorFn) {
     1248          var iterator = iteratorFn.call(propValue);
     1249          var step;
     1250          if (iteratorFn !== propValue.entries) {
     1251            while (!(step = iterator.next()).done) {
     1252              if (!isNode(step.value)) {
     1253                return false;
     1254              }
     1255            }
     1256          } else {
     1257            // Iterator will provide entry [k,v] tuples rather than values.
     1258            while (!(step = iterator.next()).done) {
     1259              var entry = step.value;
     1260              if (entry) {
     1261                if (!isNode(entry[1])) {
     1262                  return false;
     1263                }
     1264              }
     1265            }
     1266          }
     1267        } else {
     1268          return false;
     1269        }
     1270
     1271        return true;
     1272      default:
     1273        return false;
     1274    }
     1275  }
     1276
     1277  function isSymbol(propType, propValue) {
     1278    // Native Symbol.
     1279    if (propType === 'symbol') {
     1280      return true;
     1281    }
     1282
     1283    // falsy value can't be a Symbol
     1284    if (!propValue) {
     1285      return false;
     1286    }
     1287
     1288    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
     1289    if (propValue['@@toStringTag'] === 'Symbol') {
     1290      return true;
     1291    }
     1292
     1293    // Fallback for non-spec compliant Symbols which are polyfilled.
     1294    if (typeof Symbol === 'function' && propValue instanceof Symbol) {
     1295      return true;
     1296    }
     1297
     1298    return false;
     1299  }
     1300
     1301  // Equivalent of `typeof` but with special handling for array and regexp.
     1302  function getPropType(propValue) {
     1303    var propType = typeof propValue;
     1304    if (Array.isArray(propValue)) {
     1305      return 'array';
     1306    }
     1307    if (propValue instanceof RegExp) {
     1308      // Old webkits (at least until Android 4.0) return 'function' rather than
     1309      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/
     1310      // passes PropTypes.object.
     1311      return 'object';
     1312    }
     1313    if (isSymbol(propType, propValue)) {
     1314      return 'symbol';
     1315    }
     1316    return propType;
     1317  }
     1318
     1319  // This handles more types than `getPropType`. Only used for error messages.
     1320  // See `createPrimitiveTypeChecker`.
     1321  function getPreciseType(propValue) {
     1322    if (typeof propValue === 'undefined' || propValue === null) {
     1323      return '' + propValue;
     1324    }
     1325    var propType = getPropType(propValue);
     1326    if (propType === 'object') {
     1327      if (propValue instanceof Date) {
     1328        return 'date';
     1329      } else if (propValue instanceof RegExp) {
     1330        return 'regexp';
     1331      }
     1332    }
     1333    return propType;
     1334  }
     1335
     1336  // Returns a string that is postfixed to a warning about an invalid type.
     1337  // For example, "undefined" or "of type array"
     1338  function getPostfixForTypeWarning(value) {
     1339    var type = getPreciseType(value);
     1340    switch (type) {
     1341      case 'array':
     1342      case 'object':
     1343        return 'an ' + type;
     1344      case 'boolean':
     1345      case 'date':
     1346      case 'regexp':
     1347        return 'a ' + type;
     1348      default:
     1349        return type;
     1350    }
     1351  }
     1352
     1353  // Returns class name of the object, if any.
     1354  function getClassName(propValue) {
     1355    if (!propValue.constructor || !propValue.constructor.name) {
     1356      return ANONYMOUS;
     1357    }
     1358    return propValue.constructor.name;
     1359  }
     1360
     1361  ReactPropTypes.checkPropTypes = checkPropTypes;
     1362  ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;
     1363  ReactPropTypes.PropTypes = ReactPropTypes;
     1364
     1365  return ReactPropTypes;
     1366};
     1367
     1368
     1369/***/ }),
     1370
     1371/***/ "./node_modules/prop-types/index.js":
     1372/*!******************************************!*\
     1373  !*** ./node_modules/prop-types/index.js ***!
     1374  \******************************************/
     1375/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
     1376
     1377/**
     1378 * Copyright (c) 2013-present, Facebook, Inc.
     1379 *
     1380 * This source code is licensed under the MIT license found in the
     1381 * LICENSE file in the root directory of this source tree.
     1382 */
     1383
     1384if (true) {
     1385  var ReactIs = __webpack_require__(/*! react-is */ "./node_modules/prop-types/node_modules/react-is/index.js");
     1386
     1387  // By explicitly using `prop-types` you are opting into new development behavior.
     1388  // http://fb.me/prop-types-in-prod
     1389  var throwOnDirectAccess = true;
     1390  module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "./node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess);
     1391} else {}
     1392
     1393
     1394/***/ }),
     1395
     1396/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js":
     1397/*!*************************************************************!*\
     1398  !*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
     1399  \*************************************************************/
     1400/***/ ((module) => {
     1401
     1402"use strict";
     1403/**
     1404 * Copyright (c) 2013-present, Facebook, Inc.
     1405 *
     1406 * This source code is licensed under the MIT license found in the
     1407 * LICENSE file in the root directory of this source tree.
     1408 */
     1409
     1410
     1411
     1412var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
     1413
     1414module.exports = ReactPropTypesSecret;
     1415
     1416
     1417/***/ }),
     1418
     1419/***/ "./node_modules/prop-types/lib/has.js":
     1420/*!********************************************!*\
     1421  !*** ./node_modules/prop-types/lib/has.js ***!
     1422  \********************************************/
     1423/***/ ((module) => {
     1424
     1425module.exports = Function.call.bind(Object.prototype.hasOwnProperty);
     1426
     1427
     1428/***/ }),
     1429
     1430/***/ "./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js":
     1431/*!***********************************************************************************!*\
     1432  !*** ./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***!
     1433  \***********************************************************************************/
     1434/***/ ((__unused_webpack_module, exports) => {
     1435
     1436"use strict";
     1437/** @license React v16.13.1
     1438 * react-is.development.js
     1439 *
     1440 * Copyright (c) Facebook, Inc. and its affiliates.
     1441 *
     1442 * This source code is licensed under the MIT license found in the
     1443 * LICENSE file in the root directory of this source tree.
     1444 */
     1445
     1446
     1447
     1448
     1449
     1450if (true) {
     1451  (function() {
     1452'use strict';
     1453
     1454// The Symbol used to tag the ReactElement-like types. If there is no native Symbol
     1455// nor polyfill, then a plain number is used for performance.
     1456var hasSymbol = typeof Symbol === 'function' && Symbol.for;
     1457var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;
     1458var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;
     1459var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;
     1460var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;
     1461var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;
     1462var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;
     1463var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary
     1464// (unstable) APIs that have been removed. Can we remove the symbols?
     1465
     1466var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;
     1467var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;
     1468var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;
     1469var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;
     1470var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;
     1471var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;
     1472var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;
     1473var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;
     1474var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;
     1475var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;
     1476var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;
     1477
     1478function isValidElementType(type) {
     1479  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.
     1480  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);
     1481}
     1482
     1483function typeOf(object) {
     1484  if (typeof object === 'object' && object !== null) {
     1485    var $$typeof = object.$$typeof;
     1486
     1487    switch ($$typeof) {
     1488      case REACT_ELEMENT_TYPE:
     1489        var type = object.type;
     1490
     1491        switch (type) {
     1492          case REACT_ASYNC_MODE_TYPE:
     1493          case REACT_CONCURRENT_MODE_TYPE:
     1494          case REACT_FRAGMENT_TYPE:
     1495          case REACT_PROFILER_TYPE:
     1496          case REACT_STRICT_MODE_TYPE:
     1497          case REACT_SUSPENSE_TYPE:
     1498            return type;
     1499
     1500          default:
     1501            var $$typeofType = type && type.$$typeof;
     1502
     1503            switch ($$typeofType) {
     1504              case REACT_CONTEXT_TYPE:
     1505              case REACT_FORWARD_REF_TYPE:
     1506              case REACT_LAZY_TYPE:
     1507              case REACT_MEMO_TYPE:
     1508              case REACT_PROVIDER_TYPE:
     1509                return $$typeofType;
     1510
     1511              default:
     1512                return $$typeof;
     1513            }
     1514
     1515        }
     1516
     1517      case REACT_PORTAL_TYPE:
     1518        return $$typeof;
     1519    }
     1520  }
     1521
     1522  return undefined;
     1523} // AsyncMode is deprecated along with isAsyncMode
     1524
     1525var AsyncMode = REACT_ASYNC_MODE_TYPE;
     1526var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;
     1527var ContextConsumer = REACT_CONTEXT_TYPE;
     1528var ContextProvider = REACT_PROVIDER_TYPE;
     1529var Element = REACT_ELEMENT_TYPE;
     1530var ForwardRef = REACT_FORWARD_REF_TYPE;
     1531var Fragment = REACT_FRAGMENT_TYPE;
     1532var Lazy = REACT_LAZY_TYPE;
     1533var Memo = REACT_MEMO_TYPE;
     1534var Portal = REACT_PORTAL_TYPE;
     1535var Profiler = REACT_PROFILER_TYPE;
     1536var StrictMode = REACT_STRICT_MODE_TYPE;
     1537var Suspense = REACT_SUSPENSE_TYPE;
     1538var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated
     1539
     1540function isAsyncMode(object) {
     1541  {
     1542    if (!hasWarnedAboutDeprecatedIsAsyncMode) {
     1543      hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint
     1544
     1545      console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');
     1546    }
     1547  }
     1548
     1549  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;
     1550}
     1551function isConcurrentMode(object) {
     1552  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;
     1553}
     1554function isContextConsumer(object) {
     1555  return typeOf(object) === REACT_CONTEXT_TYPE;
     1556}
     1557function isContextProvider(object) {
     1558  return typeOf(object) === REACT_PROVIDER_TYPE;
     1559}
     1560function isElement(object) {
     1561  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;
     1562}
     1563function isForwardRef(object) {
     1564  return typeOf(object) === REACT_FORWARD_REF_TYPE;
     1565}
     1566function isFragment(object) {
     1567  return typeOf(object) === REACT_FRAGMENT_TYPE;
     1568}
     1569function isLazy(object) {
     1570  return typeOf(object) === REACT_LAZY_TYPE;
     1571}
     1572function isMemo(object) {
     1573  return typeOf(object) === REACT_MEMO_TYPE;
     1574}
     1575function isPortal(object) {
     1576  return typeOf(object) === REACT_PORTAL_TYPE;
     1577}
     1578function isProfiler(object) {
     1579  return typeOf(object) === REACT_PROFILER_TYPE;
     1580}
     1581function isStrictMode(object) {
     1582  return typeOf(object) === REACT_STRICT_MODE_TYPE;
     1583}
     1584function isSuspense(object) {
     1585  return typeOf(object) === REACT_SUSPENSE_TYPE;
     1586}
     1587
     1588exports.AsyncMode = AsyncMode;
     1589exports.ConcurrentMode = ConcurrentMode;
     1590exports.ContextConsumer = ContextConsumer;
     1591exports.ContextProvider = ContextProvider;
     1592exports.Element = Element;
     1593exports.ForwardRef = ForwardRef;
     1594exports.Fragment = Fragment;
     1595exports.Lazy = Lazy;
     1596exports.Memo = Memo;
     1597exports.Portal = Portal;
     1598exports.Profiler = Profiler;
     1599exports.StrictMode = StrictMode;
     1600exports.Suspense = Suspense;
     1601exports.isAsyncMode = isAsyncMode;
     1602exports.isConcurrentMode = isConcurrentMode;
     1603exports.isContextConsumer = isContextConsumer;
     1604exports.isContextProvider = isContextProvider;
     1605exports.isElement = isElement;
     1606exports.isForwardRef = isForwardRef;
     1607exports.isFragment = isFragment;
     1608exports.isLazy = isLazy;
     1609exports.isMemo = isMemo;
     1610exports.isPortal = isPortal;
     1611exports.isProfiler = isProfiler;
     1612exports.isStrictMode = isStrictMode;
     1613exports.isSuspense = isSuspense;
     1614exports.isValidElementType = isValidElementType;
     1615exports.typeOf = typeOf;
     1616  })();
     1617}
     1618
     1619
     1620/***/ }),
     1621
     1622/***/ "./node_modules/prop-types/node_modules/react-is/index.js":
     1623/*!****************************************************************!*\
     1624  !*** ./node_modules/prop-types/node_modules/react-is/index.js ***!
     1625  \****************************************************************/
     1626/***/ ((module, __unused_webpack_exports, __webpack_require__) => {
     1627
     1628"use strict";
     1629
     1630
     1631if (false) {} else {
     1632  module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js");
     1633}
     1634
     1635
     1636/***/ }),
     1637
     1638/***/ "./src/marquee/block.json":
     1639/*!********************************!*\
     1640  !*** ./src/marquee/block.json ***!
     1641  \********************************/
     1642/***/ ((module) => {
     1643
     1644"use strict";
     1645module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"storepress/marquee","version":"1.1.0","title":"Marquee","category":"storepress","description":"Marquee block is CSS based animation block to display scrolling text, images and any kinds of blocks horizontally and vertically.","attributes":{"orientation":{"type":"string","default":"x"},"animationDirection":{"type":"string","enum":["normal","reverse"],"default":"normal"},"hoverAnimationState":{"type":"string","enum":["paused","running"],"default":"paused"},"animationSpeed":{"type":"string","default":"10s"},"gap":{"type":"string","default":"40px"},"whiteSpace":{"type":"string","enum":["wrap","nowrap"],"default":"wrap"},"overlayColor":{"type":"string"}},"example":{},"supports":{"html":false,"align":["wide","full"]},"textdomain":"marquee-block","editorScript":"file:./index.js","editorStyle":"file:./index.css","viewScript":"file:./view.js","viewStyle":"file:./view.css","render":"file:./render.php"}');
     1646
     1647/***/ }),
     1648
     1649/***/ "./src/marquee/edit.js":
     1650/*!*****************************!*\
     1651  !*** ./src/marquee/edit.js ***!
     1652  \*****************************/
     1653/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
     1654
     1655"use strict";
     1656__webpack_require__.r(__webpack_exports__);
     1657/* harmony export */ __webpack_require__.d(__webpack_exports__, {
     1658/* harmony export */   "default": () => (/* binding */ Edit)
     1659/* harmony export */ });
     1660/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
     1661/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
     1662/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
     1663/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
     1664/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
     1665/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__);
     1666/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/icon/index.js");
     1667/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/library/arrow-left.js");
     1668/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/library/arrow-up.js");
     1669/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/library/arrow-right.js");
     1670/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/library/arrow-down.js");
     1671/* harmony import */ var clsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! clsx */ "./node_modules/clsx/dist/clsx.mjs");
     1672/* harmony import */ var _storepress_components__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! @storepress/components */ "./node_modules/@storepress/components/build-module/unit-range-control/index.js");
     1673/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./editor.scss */ "./src/marquee/editor.scss");
     1674/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
     1675/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
     1676/**
     1677 * External dependencies
     1678 */
     1679
     1680
     1681
     1682
     1683
     1684
     1685
     1686/**
     1687 * Internal dependencies
     1688 */
     1689
     1690
     1691
     1692function Edit({
     1693  attributes,
     1694  setAttributes,
     1695  clientId
     1696}) {
     1697  const {
     1698    orientation,
     1699    animationDirection,
     1700    hoverAnimationState,
     1701    animationSpeed,
     1702    gap,
     1703    overlayColor,
     1704    whiteSpace
     1705  } = attributes;
     1706  const blockProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)({
     1707    className: (0,clsx__WEBPACK_IMPORTED_MODULE_3__.clsx)({
     1708      'has-overlay-color': overlayColor,
     1709      'orientation-x': orientation === 'x',
     1710      'orientation-y': orientation === 'y'
     1711    }),
     1712    style: {
     1713      '--overlay-color': overlayColor !== null && overlayColor !== void 0 ? overlayColor : 'transparent',
     1714      '--white-space': whiteSpace
     1715    }
     1716  });
     1717  const colorGradientSettings = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.__experimentalUseMultipleOriginColorsAndGradients)();
     1718  const innerBlockProps = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useInnerBlocksProps)({
     1719    className: 'wp-block-storepress-marquee__item'
     1720  }, {
     1721    template: [['core/paragraph', {
     1722      align: 'center',
     1723      content: 'Marquee block adds a touch of movement and interactivity to your site and help to capture attention and engage your site visitors in a unique way.'
     1724    }]]
     1725  });
     1726  const setOverlayColor = newValue => {
     1727    setAttributes({
     1728      overlayColor: newValue
     1729    });
     1730  };
     1731  const setOrientation = newValue => {
     1732    setAttributes({
     1733      orientation: newValue
     1734    });
     1735  };
     1736  const setAnimationDirection = newValue => {
     1737    setAttributes({
     1738      animationDirection: newValue
     1739    });
     1740  };
     1741  const setHoverAnimationState = newValue => {
     1742    setAttributes({
     1743      hoverAnimationState: newValue
     1744    });
     1745  };
     1746  const setAnimationSpeed = newValue => {
     1747    setAttributes({
     1748      animationSpeed: newValue
     1749    });
     1750  };
     1751  const setWhiteSpace = newValue => {
     1752    setAttributes({
     1753      whiteSpace: newValue
     1754    });
     1755  };
     1756  const setGap = newValue => {
     1757    setAttributes({
     1758      gap: newValue
     1759    });
     1760  };
     1761  return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
     1762    children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, {
     1763      children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelBody, {
     1764        title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Settings', 'marquee-block'),
     1765        children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControl, {
     1766          label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Orientation', 'marquee-block'),
     1767          value: orientation,
     1768          onChange: setOrientation,
     1769          isBlock: true,
     1770          children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControlOption, {
     1771            value: "x",
     1772            label: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_6__["default"], {
     1773              icon: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("svg", {
     1774                children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("path", {
     1775                  transform: "rotate(45 12 12)",
     1776                  d: "M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z"
     1777                })
     1778              })
     1779            })
     1780          }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControlOption, {
     1781            value: "y",
     1782            label: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_6__["default"], {
     1783              icon: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("svg", {
     1784                children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("path", {
     1785                  transform: "rotate(135 12 12)",
     1786                  d: "M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z"
     1787                })
     1788              })
     1789            })
     1790          })]
     1791        }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControl, {
     1792          label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Animation Direction', 'marquee-block'),
     1793          value: animationDirection,
     1794          onChange: setAnimationDirection,
     1795          isBlock: true,
     1796          children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControlOption, {
     1797            value: "normal",
     1798            label: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_6__["default"], {
     1799              icon: orientation === 'x' ? _wordpress_icons__WEBPACK_IMPORTED_MODULE_7__["default"] : _wordpress_icons__WEBPACK_IMPORTED_MODULE_8__["default"],
     1800              size: "30"
     1801            })
     1802          }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControlOption, {
     1803            value: "reverse",
     1804            label: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_icons__WEBPACK_IMPORTED_MODULE_6__["default"], {
     1805              icon: orientation === 'x' ? _wordpress_icons__WEBPACK_IMPORTED_MODULE_9__["default"] : _wordpress_icons__WEBPACK_IMPORTED_MODULE_10__["default"],
     1806              size: "30"
     1807            })
     1808          })]
     1809        }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControl, {
     1810          label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('On Hover Animation', 'marquee-block'),
     1811          value: hoverAnimationState,
     1812          onChange: setHoverAnimationState,
     1813          isBlock: true,
     1814          children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControlOption, {
     1815            value: "paused",
     1816            label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Pause', 'marquee-block')
     1817          }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControlOption, {
     1818            value: "running",
     1819            label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Continue', 'marquee-block')
     1820          })]
     1821        }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_storepress_components__WEBPACK_IMPORTED_MODULE_11__["default"], {
     1822          label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Animation Speed', 'marquee-block'),
     1823          onChange: setAnimationSpeed,
     1824          value: animationSpeed,
     1825          allowedUnits: ['s', 'ms']
     1826        })]
     1827      }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelBody, {
     1828        title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Style', 'marquee-block'),
     1829        children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControl, {
     1830          label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('White Space', 'marquee-block'),
     1831          value: whiteSpace,
     1832          onChange: setWhiteSpace,
     1833          isBlock: true,
     1834          children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControlOption, {
     1835            value: "wrap",
     1836            label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Wrap', 'marquee-block')
     1837          }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControlOption, {
     1838            value: "nowrap",
     1839            label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('No Wrap', 'marquee-block')
     1840          })]
     1841        }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_storepress_components__WEBPACK_IMPORTED_MODULE_11__["default"], {
     1842          label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Content Gap', 'marquee-block'),
     1843          onChange: setGap,
     1844          value: gap,
     1845          allowedUnits: ['%', 'px', 'em', 'rem']
     1846        })]
     1847      })]
     1848    }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, {
     1849      group: "color",
     1850      children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.__experimentalColorGradientSettingsDropdown, {
     1851        panelId: clientId,
     1852        settings: [{
     1853          label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)('Overlay color', 'marquee-block'),
     1854          colorValue: overlayColor,
     1855          onColorChange: setOverlayColor
     1856        }],
     1857        ...colorGradientSettings
     1858      })
     1859    }), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
     1860      ...blockProps,
     1861      children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
     1862        ...innerBlockProps
     1863      })
     1864    })]
     1865  });
     1866}
     1867
     1868/***/ }),
     1869
     1870/***/ "./src/marquee/editor.scss":
     1871/*!*********************************!*\
     1872  !*** ./src/marquee/editor.scss ***!
     1873  \*********************************/
     1874/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
     1875
     1876"use strict";
     1877__webpack_require__.r(__webpack_exports__);
     1878// extracted by mini-css-extract-plugin
     1879
     1880
     1881/***/ }),
     1882
     1883/***/ "@wordpress/block-editor":
     1884/*!*************************************!*\
     1885  !*** external ["wp","blockEditor"] ***!
     1886  \*************************************/
     1887/***/ ((module) => {
     1888
     1889"use strict";
     1890module.exports = window["wp"]["blockEditor"];
     1891
     1892/***/ }),
     1893
     1894/***/ "@wordpress/blocks":
     1895/*!********************************!*\
     1896  !*** external ["wp","blocks"] ***!
     1897  \********************************/
     1898/***/ ((module) => {
     1899
     1900"use strict";
     1901module.exports = window["wp"]["blocks"];
     1902
     1903/***/ }),
     1904
     1905/***/ "@wordpress/components":
     1906/*!************************************!*\
     1907  !*** external ["wp","components"] ***!
     1908  \************************************/
     1909/***/ ((module) => {
     1910
     1911"use strict";
     1912module.exports = window["wp"]["components"];
     1913
     1914/***/ }),
     1915
     1916/***/ "@wordpress/element":
     1917/*!*********************************!*\
     1918  !*** external ["wp","element"] ***!
     1919  \*********************************/
     1920/***/ ((module) => {
     1921
     1922"use strict";
     1923module.exports = window["wp"]["element"];
     1924
     1925/***/ }),
     1926
     1927/***/ "@wordpress/i18n":
     1928/*!******************************!*\
     1929  !*** external ["wp","i18n"] ***!
     1930  \******************************/
     1931/***/ ((module) => {
     1932
     1933"use strict";
     1934module.exports = window["wp"]["i18n"];
     1935
     1936/***/ }),
     1937
     1938/***/ "@wordpress/primitives":
     1939/*!************************************!*\
     1940  !*** external ["wp","primitives"] ***!
     1941  \************************************/
     1942/***/ ((module) => {
     1943
     1944"use strict";
     1945module.exports = window["wp"]["primitives"];
     1946
     1947/***/ }),
     1948
     1949/***/ "react/jsx-runtime":
     1950/*!**********************************!*\
     1951  !*** external "ReactJSXRuntime" ***!
     1952  \**********************************/
     1953/***/ ((module) => {
     1954
     1955"use strict";
     1956module.exports = window["ReactJSXRuntime"];
     1957
     1958/***/ })
     1959
     1960/******/    });
     1961/************************************************************************/
     1962/******/    // The module cache
     1963/******/    var __webpack_module_cache__ = {};
     1964/******/   
     1965/******/    // The require function
     1966/******/    function __webpack_require__(moduleId) {
     1967/******/        // Check if module is in cache
     1968/******/        var cachedModule = __webpack_module_cache__[moduleId];
     1969/******/        if (cachedModule !== undefined) {
     1970/******/            return cachedModule.exports;
     1971/******/        }
     1972/******/        // Create a new module (and put it into the cache)
     1973/******/        var module = __webpack_module_cache__[moduleId] = {
     1974/******/            // no module.id needed
     1975/******/            // no module.loaded needed
     1976/******/            exports: {}
     1977/******/        };
     1978/******/   
     1979/******/        // Execute the module function
     1980/******/        __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
     1981/******/   
     1982/******/        // Return the exports of the module
     1983/******/        return module.exports;
     1984/******/    }
     1985/******/   
     1986/************************************************************************/
     1987/******/    /* webpack/runtime/compat get default export */
     1988/******/    (() => {
     1989/******/        // getDefaultExport function for compatibility with non-harmony modules
     1990/******/        __webpack_require__.n = (module) => {
     1991/******/            var getter = module && module.__esModule ?
     1992/******/                () => (module['default']) :
     1993/******/                () => (module);
     1994/******/            __webpack_require__.d(getter, { a: getter });
     1995/******/            return getter;
     1996/******/        };
     1997/******/    })();
     1998/******/   
     1999/******/    /* webpack/runtime/define property getters */
     2000/******/    (() => {
     2001/******/        // define getter functions for harmony exports
     2002/******/        __webpack_require__.d = (exports, definition) => {
     2003/******/            for(var key in definition) {
     2004/******/                if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
     2005/******/                    Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
     2006/******/                }
     2007/******/            }
     2008/******/        };
     2009/******/    })();
     2010/******/   
     2011/******/    /* webpack/runtime/hasOwnProperty shorthand */
     2012/******/    (() => {
     2013/******/        __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
     2014/******/    })();
     2015/******/   
     2016/******/    /* webpack/runtime/make namespace object */
     2017/******/    (() => {
     2018/******/        // define __esModule on exports
     2019/******/        __webpack_require__.r = (exports) => {
     2020/******/            if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
     2021/******/                Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
     2022/******/            }
     2023/******/            Object.defineProperty(exports, '__esModule', { value: true });
     2024/******/        };
     2025/******/    })();
     2026/******/   
     2027/************************************************************************/
     2028var __webpack_exports__ = {};
     2029// This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
     2030(() => {
     2031"use strict";
     2032/*!******************************!*\
     2033  !*** ./src/marquee/index.js ***!
     2034  \******************************/
     2035__webpack_require__.r(__webpack_exports__);
     2036/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
     2037/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__);
     2038/* harmony import */ var _wordpress_icons__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @wordpress/icons */ "./node_modules/@wordpress/icons/build-module/library/text-horizontal.js");
     2039/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
     2040/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
     2041/* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./edit */ "./src/marquee/edit.js");
     2042/* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./block.json */ "./src/marquee/block.json");
     2043/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
     2044/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__);
     2045/**
     2046 * External dependencies
     2047 */
     2048
     2049
     2050
     2051
     2052/**
     2053 * Internal dependencies
     2054 */
     2055
     2056
     2057
     2058/**
     2059 * Every block starts by registering a new block type definition.
     2060 *
     2061 * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/
     2062 */
     2063
     2064(0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)(_block_json__WEBPACK_IMPORTED_MODULE_3__.name, {
     2065  /**
     2066   * @see ./edit.js
     2067   */
     2068  icon: _wordpress_icons__WEBPACK_IMPORTED_MODULE_5__["default"],
     2069  edit: _edit__WEBPACK_IMPORTED_MODULE_2__["default"],
     2070  save: () => /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InnerBlocks.Content, {})
     2071});
     2072})();
     2073
     2074/******/ })()
     2075;
     2076//# sourceMappingURL=index.js.map
  • marquee-block/trunk/build/marquee/index.js.map

    r3214417 r3247829  
    1 {"version":3,"file":"marquee/index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAC6C;AASqE;AAC/E;AACoB;;AAEvD;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;;AAEA,WAAW,iBAAiB;AACmC;AACxD;AACP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,aAAa,QAAQ;AACrB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA,WAAW,iBAAiB;AACrB;AACP;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACM;AACP;AACA;AACA;AACA;AACA,qBAAqB,aAAa,EAAE,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,SAAS,EAAE,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,SAAS,EAAE,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,aAAa,EAAE,QAAQ;AAC1C;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA,WAAW,iBAAiB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,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,WAAW;AACtB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6GAA6G;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,0EAAU;AAChC,aAAa,mBAAO,CAAC,4DAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,UAAU,mBAAO,CAAC,uDAAW;AAC7B,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,8BAA8B;AAC9B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,CAAM;AAC7I;AACA;;AAEA,oBAAoB,gCAAgC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iHAAiH;AACjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACjmBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC,gBAAgB,mBAAO,CAAC,0EAAU;;AAElC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,EAAE,KAAK,EAIN;;;;;;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;ACXA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB,sBAAsB;AACtB,uBAAuB;AACvB,uBAAuB;AACvB,eAAe;AACf,kBAAkB;AAClB,gBAAgB;AAChB,YAAY;AACZ,YAAY;AACZ,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,mBAAmB;AACnB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,iBAAiB;AACjB,oBAAoB;AACpB,kBAAkB;AAClB,cAAc;AACd,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,oBAAoB;AACpB,kBAAkB;AAClB,0BAA0B;AAC1B,cAAc;AACd,GAAG;AACH;;;;;;;;;;;;ACpLa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,wJAAyD;AAC3D;;;;;;;;;;;;ACNA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;ACAA,cAAc,aAAa,+CAA+C,gDAAgD,eAAe,QAAQ,IAAI,0CAA0C,yCAAyC,SAAgB,gBAAgB,wCAAwC,IAAI,mDAAmD,SAAS,iEAAe,IAAI;;;;;;;;;;;;;;;;;UCAnY;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACsD;AACI;AACJ;;AAEtD;AACA;AACA;AAC0B;AACU;;AAEpC;AACA;AACA;AACA;AACA;AACA6B,oEAAiB,CAACG,6CAAa,EAAE;EAChC;AACD;AACA;EACCb,IAAI;EACJe,IAAI,EAAEjD,6CAAI;EACVkD,IAAI,EAAEA,CAAA,KAAMvB,oDAAA,CAACmB,gEAAW,CAACK,OAAO,MAAE;AACnC,CAAC,CAAC,C","sources":["webpack://marquee-block/./node_modules/@storepress/components/build-module/unit-range-control/index.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/icon/index.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/library/arrow-down.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/library/arrow-left.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/library/arrow-right.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/library/arrow-up.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/library/text-horizontal.js","webpack://marquee-block/./src/marquee/edit.js","webpack://marquee-block/./src/marquee/editor.scss?6fea","webpack://marquee-block/./node_modules/object-assign/index.js","webpack://marquee-block/./node_modules/prop-types/checkPropTypes.js","webpack://marquee-block/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://marquee-block/./node_modules/prop-types/index.js","webpack://marquee-block/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://marquee-block/./node_modules/prop-types/lib/has.js","webpack://marquee-block/./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","webpack://marquee-block/./node_modules/prop-types/node_modules/react-is/index.js","webpack://marquee-block/external window \"React\"","webpack://marquee-block/external window \"ReactJSXRuntime\"","webpack://marquee-block/external window [\"wp\",\"blockEditor\"]","webpack://marquee-block/external window [\"wp\",\"blocks\"]","webpack://marquee-block/external window [\"wp\",\"components\"]","webpack://marquee-block/external window [\"wp\",\"element\"]","webpack://marquee-block/external window [\"wp\",\"i18n\"]","webpack://marquee-block/external window [\"wp\",\"primitives\"]","webpack://marquee-block/./node_modules/clsx/dist/clsx.mjs","webpack://marquee-block/webpack/bootstrap","webpack://marquee-block/webpack/runtime/compat get default export","webpack://marquee-block/webpack/runtime/define property getters","webpack://marquee-block/webpack/runtime/hasOwnProperty shorthand","webpack://marquee-block/webpack/runtime/make namespace object","webpack://marquee-block/./src/marquee/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { BaseControl, RangeControl, Flex, FlexItem,\n// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n__experimentalSpacer as Spacer,\n// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n__experimentalUseCustomUnits as useCustomUnits,\n// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n__experimentalUnitControl as UnitControl,\n// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue } from '@wordpress/components';\nimport PropTypes from 'prop-types';\nimport SearchListControl from '../search-list-control';\n\n// @see: https://github.com/WordPress/gutenberg/blob/trunk/packages/components/src/unit-control/utils.ts\n// @see: https://github.com/WordPress/gutenberg/blob/trunk/packages/block-editor/src/components/height-control/index.js\n\n/**\n * @typedef {Object} availableUnit - Type 'availableUnit'\n * @property {string} value   - Unit Key.\n * @property {string} label   - Unit Label.\n * @property {number} default - Unit Default Value\n * @property {number} min     - Unit Minimum Value\n * @property {number} max     - Unit Maximum Value\n * @property {number} step    - Unit Step\n */\n\n/** @type {availableUnit[]} */\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const availableUnits = [{\n  value: '%',\n  label: '%',\n  default: 0,\n  min: 0,\n  max: 100,\n  step: 0.1\n}, {\n  value: 'px',\n  label: 'px',\n  default: 0,\n  min: 0,\n  max: 1000,\n  step: 1\n}, {\n  value: 'em',\n  label: 'em',\n  default: 0,\n  min: 0,\n  max: 50,\n  step: 0.01\n}, {\n  value: 'rem',\n  label: 'rem',\n  default: 0,\n  min: 0,\n  max: 50,\n  step: 0.01\n}, {\n  value: 'vw',\n  label: 'vw',\n  default: 0,\n  min: 0,\n  max: 100,\n  step: 0.1\n}, {\n  value: 'vh',\n  label: 'vh',\n  default: 0,\n  min: 0,\n  max: 100,\n  step: 0.1\n}, {\n  value: 's',\n  label: 's',\n  default: 0,\n  min: 0,\n  max: 120,\n  step: 0.1\n}, {\n  value: 'ms',\n  label: 'ms',\n  default: 0,\n  min: 0,\n  max: 120000,\n  step: 100\n}, {\n  value: 'fr',\n  label: 'fr',\n  default: 1,\n  min: 1,\n  max: 100,\n  step: 1\n}];\n\n/**\n * @typedef {Object} unitOperation - Type 'unitOperation'\n * @property {string[]} fromUnits - Convert from unit array.\n * @property {string[]} toUnits   - Convert to unit array\n * @property {string}   operator  - Conversion operator\n * @property {number}   digit     - Conversion digit\n */\n\n/** @type {unitOperation[]} */\nexport const unitOperations = [{\n  fromUnits: ['em', 'rem'],\n  toUnits: ['px'],\n  operator: '*',\n  digit: 16\n}, {\n  fromUnits: ['px'],\n  toUnits: ['em', 'rem'],\n  operator: '/',\n  digit: 16\n}, {\n  fromUnits: ['s'],\n  toUnits: ['ms'],\n  operator: '*',\n  digit: 1000\n}, {\n  fromUnits: ['ms'],\n  toUnits: ['s'],\n  operator: '/',\n  digit: 1000\n}];\nexport function unitConverter(newUnit, oldUnit, currentValue, operationLogics) {\n  if (newUnit === oldUnit) {\n    return {\n      unitName: newUnit,\n      unitValue: currentValue,\n      unitString: `${currentValue}${newUnit}`\n    };\n  }\n  for (const operation of operationLogics) {\n    const {\n      fromUnits,\n      toUnits,\n      operator,\n      digit\n    } = operation;\n    if (toUnits.includes(newUnit) && fromUnits.includes(oldUnit)) {\n      if (operator === '/') {\n        const newValue = (currentValue / digit).toFixed(2);\n        return {\n          unitName: newUnit,\n          unitValue: newValue,\n          unitString: `${newValue}${newUnit}`\n        };\n      }\n      if (operator === '*') {\n        const newValue = Math.round(currentValue * digit);\n        return {\n          unitName: newUnit,\n          unitValue: newValue,\n          unitString: `${newValue}${newUnit}`\n        };\n      }\n    }\n  }\n  return {\n    unitName: newUnit,\n    unitValue: currentValue,\n    unitString: `${currentValue}${newUnit}`\n  };\n}\n\n/**\n * @callback onChange\n * @param {string} value\n * @return {void}\n */\n\n/**\n * UnitRangeControl renders a linked unit control and range control.\n *\n *\n * @param {Object}          props\n * @param {string}          props.label                                              - A label for the control.\n * @param {onChange}        props.onChange                                           - Called when the value changes.\n * @param {string}          props.value                                              - The current value with unit.\n * @param {string[]}        [props.allowedUnits=['%', 'px', 'em', 'rem']] - Available values.\n * @param {availableUnit[]} [props.defaultUnits]                                     - Default units.\n * @param {unitOperation[]} [props.convertUnits]                                     - Unit value conversion logic.\n *\n */\nfunction UnitRangeControl({\n  label,\n  onChange,\n  value,\n  allowedUnits = ['%', 'px', 'em', 'rem'],\n  defaultUnits = availableUnits,\n  convertUnits = unitOperations\n}) {\n  var _unitSettings$selecte, _unitSettings$selecte2, _unitSettings$selecte3, _unitSettings$selecte4, _unitSettings$selecte5, _unitSettings$selecte6;\n  const customRangeValue = parseFloat(value);\n  const defaultValues = useMemo(() => {\n    return defaultUnits.reduce((accumulator, unit) => {\n      accumulator[unit.label] = unit.default;\n      return accumulator;\n    }, {});\n  }, [defaultUnits]);\n  const unitSettings = useMemo(() => {\n    return defaultUnits.reduce((accumulator, unit) => {\n      accumulator[unit.label] = unit;\n      return accumulator;\n    }, {});\n  }, [defaultUnits]);\n  const units = useCustomUnits({\n    units: defaultUnits,\n    availableUnits: allowedUnits,\n    defaultValues\n  });\n  const selectedUnit = useMemo(() => parseQuantityAndUnitFromRawValue(value, defaultUnits), [value, defaultUnits])[1] || units[0]?.value || 'px';\n  const handleSliderChange = next => {\n    onChange([next, selectedUnit].join(''));\n  };\n  const handleUnitChange = newUnit => {\n    // Attempt to smooth over differences between currentUnit and newUnit.\n    // This should slightly improve the experience of switching between unit types.\n    const [currentValue, currentUnit] = parseQuantityAndUnitFromRawValue(value, defaultUnits);\n    const {\n      unitValue,\n      unitString\n    } = unitConverter(newUnit, currentUnit, currentValue, convertUnits);\n    if (unitValue > unitSettings[newUnit]?.max) {\n      onChange(unitSettings[newUnit]?.max + newUnit);\n    } else {\n      onChange(unitString);\n    }\n  };\n  return /*#__PURE__*/_jsx(BaseControl, {\n    label: label,\n    className: \"storepress-component-unit-range-control\",\n    children: /*#__PURE__*/_jsxs(Flex, {\n      children: [/*#__PURE__*/_jsx(FlexItem, {\n        isBlock: true,\n        children: /*#__PURE__*/_jsx(UnitControl, {\n          value: value,\n          units: units,\n          onChange: onChange,\n          onUnitChange: handleUnitChange,\n          min: (_unitSettings$selecte = unitSettings[selectedUnit]?.min) !== null && _unitSettings$selecte !== void 0 ? _unitSettings$selecte : 0,\n          max: (_unitSettings$selecte2 = unitSettings[selectedUnit]?.max) !== null && _unitSettings$selecte2 !== void 0 ? _unitSettings$selecte2 : 100,\n          step: (_unitSettings$selecte3 = unitSettings[selectedUnit]?.step) !== null && _unitSettings$selecte3 !== void 0 ? _unitSettings$selecte3 : 0.1,\n          size: \"__unstable-large\",\n          label: label,\n          hideLabelFromVision: true\n        })\n      }), /*#__PURE__*/_jsx(FlexItem, {\n        isBlock: true,\n        children: /*#__PURE__*/_jsx(Spacer, {\n          marginX: 2,\n          marginBottom: 0,\n          children: /*#__PURE__*/_jsx(RangeControl, {\n            __next40pxDefaultSize: true,\n            value: customRangeValue,\n            min: (_unitSettings$selecte4 = unitSettings[selectedUnit]?.min) !== null && _unitSettings$selecte4 !== void 0 ? _unitSettings$selecte4 : 0,\n            max: (_unitSettings$selecte5 = unitSettings[selectedUnit]?.max) !== null && _unitSettings$selecte5 !== void 0 ? _unitSettings$selecte5 : 100,\n            step: (_unitSettings$selecte6 = unitSettings[selectedUnit]?.step) !== null && _unitSettings$selecte6 !== void 0 ? _unitSettings$selecte6 : 0.1,\n            withInputField: false,\n            onChange: handleSliderChange,\n            label: label,\n            hideLabelFromVision: true,\n            __nextHasNoMarginBottom: true,\n            renderTooltipContent: contentValue => `${contentValue}${selectedUnit}`\n          })\n        })\n      })]\n    })\n  });\n}\n\n/*UnitRangeControl.defaultProps = {\n  label: 'Range Control',\n  onChange: (updatedValue) => {},\n  value: '10px',\n  allowedUnits: ['%', 'px', 'em', 'rem'],\n  defaultUnits: availableUnits,\n  convertUnits: unitOperations,\n}*/\n\nUnitRangeControl.propTypes = {\n  label: PropTypes.string.isRequired,\n  value: PropTypes.string.isRequired,\n  onChange: PropTypes.func.isRequired,\n  allowedUnits: PropTypes.array,\n  defaultUnits: PropTypes.array,\n  convertUnits: PropTypes.array\n};\nexport default UnitRangeControl;","/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */\n\n/**\n * Return an SVG icon.\n *\n * @param {IconProps}                                 props icon is the SVG component to render\n *                                                          size is a number specifiying the icon size in pixels\n *                                                          Other props will be passed to wrapped SVG component\n * @param {import('react').ForwardedRef<HTMLElement>} ref   The forwarded ref to the SVG element.\n *\n * @return {JSX.Element}  Icon component\n */\nfunction Icon({\n  icon,\n  size = 24,\n  ...props\n}, ref) {\n  return cloneElement(icon, {\n    width: size,\n    height: size,\n    ...props,\n    ref\n  });\n}\nexport default forwardRef(Icon);\n//# sourceMappingURL=index.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowDown = /*#__PURE__*/_jsx(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\",\n  children: /*#__PURE__*/_jsx(Path, {\n    d: \"m16.5 13.5-3.7 3.7V4h-1.5v13.2l-3.8-3.7-1 1 5.5 5.6 5.5-5.6z\"\n  })\n});\nexport default arrowDown;\n//# sourceMappingURL=arrow-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowLeft = /*#__PURE__*/_jsx(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\",\n  children: /*#__PURE__*/_jsx(Path, {\n    d: \"M20 11.2H6.8l3.7-3.7-1-1L3.9 12l5.6 5.5 1-1-3.7-3.7H20z\"\n  })\n});\nexport default arrowLeft;\n//# sourceMappingURL=arrow-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowRight = /*#__PURE__*/_jsx(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\",\n  children: /*#__PURE__*/_jsx(Path, {\n    d: \"m14.5 6.5-1 1 3.7 3.7H4v1.6h13.2l-3.7 3.7 1 1 5.6-5.5z\"\n  })\n});\nexport default arrowRight;\n//# sourceMappingURL=arrow-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowUp = /*#__PURE__*/_jsx(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\",\n  children: /*#__PURE__*/_jsx(Path, {\n    d: \"M12 3.9 6.5 9.5l1 1 3.8-3.7V20h1.5V6.8l3.7 3.7 1-1z\"\n  })\n});\nexport default arrowUp;\n//# sourceMappingURL=arrow-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textHorizontal = /*#__PURE__*/_jsx(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\",\n  children: /*#__PURE__*/_jsx(Path, {\n    d: \"M8.2 14.4h3.9L13 17h1.7L11 6.5H9.3L5.6 17h1.7l.9-2.6zm2-5.5 1.4 4H8.8l1.4-4zm7.4 7.5-1.3.8.8 1.4H5.5V20h14.3l-2.2-3.6z\"\n  })\n});\nexport default textHorizontal;\n//# sourceMappingURL=text-horizontal.js.map","/**\n * External dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\t__experimentalToggleGroupControl as ToggleGroupControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption, // eslint-disable-line @wordpress/no-unsafe-wp-apis\n} from '@wordpress/components';\nimport {\n\tIcon,\n\tarrowLeft,\n\tarrowRight,\n\tarrowUp,\n\tarrowDown,\n} from '@wordpress/icons';\n\nimport { clsx } from 'clsx';\n\nimport { UnitRangeControl } from '@storepress/components';\n\n/**\n * Internal dependencies\n */\n\nimport './editor.scss';\n\nexport default function Edit({ attributes, setAttributes, clientId }) {\n\tconst {\n\t\torientation,\n\t\tanimationDirection,\n\t\thoverAnimationState,\n\t\tanimationSpeed,\n\t\tgap,\n\t\toverlayColor,\n\t\twhiteSpace,\n\t} = attributes;\n\n\tconst blockProps = useBlockProps({\n\t\tclassName: clsx({\n\t\t\t'has-overlay-color': overlayColor,\n\t\t\t'orientation-x': orientation === 'x',\n\t\t\t'orientation-y': orientation === 'y',\n\t\t}),\n\t\tstyle: {\n\t\t\t'--overlay-color': overlayColor ?? 'transparent',\n\t\t\t'--white-space': whiteSpace,\n\t\t},\n\t});\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst innerBlockProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-storepress-marquee__item',\n\t\t},\n\t\t{\n\t\t\ttemplate: [\n\t\t\t\t[\n\t\t\t\t\t'core/paragraph',\n\t\t\t\t\t{\n\t\t\t\t\t\talign: 'center',\n\t\t\t\t\t\tcontent:\n\t\t\t\t\t\t\t'Marquee block adds a touch of movement and interactivity to your site and help to capture attention and engage your site visitors in a unique way.',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t],\n\t\t}\n\t);\n\n\tconst setOverlayColor = (newValue) => {\n\t\tsetAttributes({ overlayColor: newValue });\n\t};\n\n\tconst setOrientation = (newValue) => {\n\t\tsetAttributes({ orientation: newValue });\n\t};\n\n\tconst setAnimationDirection = (newValue) => {\n\t\tsetAttributes({ animationDirection: newValue });\n\t};\n\n\tconst setHoverAnimationState = (newValue) => {\n\t\tsetAttributes({ hoverAnimationState: newValue });\n\t};\n\n\tconst setAnimationSpeed = (newValue) => {\n\t\tsetAttributes({ animationSpeed: newValue });\n\t};\n\n\tconst setWhiteSpace = (newValue) => {\n\t\tsetAttributes({ whiteSpace: newValue });\n\t};\n\n\tconst setGap = (newValue) => {\n\t\tsetAttributes({ gap: newValue });\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={__('Settings', 'marquee-block')}>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={__('Orientation', 'marquee-block')}\n\t\t\t\t\t\tvalue={orientation}\n\t\t\t\t\t\tonChange={setOrientation}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"x\"\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t<svg>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\ttransform=\"rotate(45 12 12)\"\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z\"\n\t\t\t\t\t\t\t\t\t\t\t></path>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"y\"\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t<svg>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\ttransform=\"rotate(135 12 12)\"\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z\"\n\t\t\t\t\t\t\t\t\t\t\t></path>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={__('Animation Direction', 'marquee-block')}\n\t\t\t\t\t\tvalue={animationDirection}\n\t\t\t\t\t\tonChange={setAnimationDirection}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"normal\"\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\torientation === 'x'\n\t\t\t\t\t\t\t\t\t\t\t? arrowLeft\n\t\t\t\t\t\t\t\t\t\t\t: arrowUp\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsize=\"30\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"reverse\"\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\torientation === 'x'\n\t\t\t\t\t\t\t\t\t\t\t? arrowRight\n\t\t\t\t\t\t\t\t\t\t\t: arrowDown\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsize=\"30\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={__('On Hover Animation', 'marquee-block')}\n\t\t\t\t\t\tvalue={hoverAnimationState}\n\t\t\t\t\t\tonChange={setHoverAnimationState}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"paused\"\n\t\t\t\t\t\t\tlabel={__('Pause', 'marquee-block')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"running\"\n\t\t\t\t\t\t\tlabel={__('Continue', 'marquee-block')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\n\t\t\t\t\t<UnitRangeControl\n\t\t\t\t\t\tlabel={__('Animation Speed', 'marquee-block')}\n\t\t\t\t\t\tonChange={setAnimationSpeed}\n\t\t\t\t\t\tvalue={animationSpeed}\n\t\t\t\t\t\tallowedUnits={['s', 'ms']}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelBody title={__('Style', 'marquee-block')}>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={__('White Space', 'marquee-block')}\n\t\t\t\t\t\tvalue={whiteSpace}\n\t\t\t\t\t\tonChange={setWhiteSpace}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"wrap\"\n\t\t\t\t\t\t\tlabel={__('Wrap', 'marquee-block')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"nowrap\"\n\t\t\t\t\t\t\tlabel={__('No Wrap', 'marquee-block')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\n\t\t\t\t\t<UnitRangeControl\n\t\t\t\t\t\tlabel={__('Content Gap', 'marquee-block')}\n\t\t\t\t\t\tonChange={setGap}\n\t\t\t\t\t\tvalue={gap}\n\t\t\t\t\t\tallowedUnits={['%', 'px', 'em', 'rem']}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\tpanelId={clientId}\n\t\t\t\t\tsettings={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __('Overlay color', 'marquee-block'),\n\t\t\t\t\t\t\tcolorValue: overlayColor,\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t\t{...colorGradientSettings}\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\n\t\t\t<div {...blockProps}>\n\t\t\t\t<div {...innerBlockProps} />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport {};","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n  var loggedTypeFailures = {};\n  var has = require('./lib/has');\n\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) { /**/ }\n  };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n  if (process.env.NODE_ENV !== 'production') {\n    for (var typeSpecName in typeSpecs) {\n      if (has(typeSpecs, typeSpecName)) {\n        var error;\n        // Prop type validation may throw. In case they do, we don't want to\n        // fail the render phase where it didn't fail before. So we log it.\n        // After these have been cleaned up, we'll let them throw.\n        try {\n          // This is intentionally an invariant that gets caught. It's the same\n          // behavior as without this statement except with a better message.\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\n            var err = Error(\n              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n              'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n            );\n            err.name = 'Invariant Violation';\n            throw err;\n          }\n          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n        } catch (ex) {\n          error = ex;\n        }\n        if (error && !(error instanceof Error)) {\n          printWarning(\n            (componentName || 'React class') + ': type specification of ' +\n            location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n            'You may have forgotten to pass an argument to the type checker ' +\n            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n            'shape all require an argument).'\n          );\n        }\n        if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n          // Only monitor this failure once because there tends to be a lot of the\n          // same error.\n          loggedTypeFailures[error.message] = true;\n\n          var stack = getStack ? getStack() : '';\n\n          printWarning(\n            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n          );\n        }\n      }\n    }\n  }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n  if (process.env.NODE_ENV !== 'production') {\n    loggedTypeFailures = {};\n  }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n  return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n  /* global Symbol */\n  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n  /**\n   * Returns the iterator method function contained on the iterable object.\n   *\n   * Be sure to invoke the function with the iterable as context:\n   *\n   *     var iteratorFn = getIteratorFn(myIterable);\n   *     if (iteratorFn) {\n   *       var iterator = iteratorFn.call(myIterable);\n   *       ...\n   *     }\n   *\n   * @param {?object} maybeIterable\n   * @return {?function}\n   */\n  function getIteratorFn(maybeIterable) {\n    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n    if (typeof iteratorFn === 'function') {\n      return iteratorFn;\n    }\n  }\n\n  /**\n   * Collection of methods that allow declaration and validation of props that are\n   * supplied to React components. Example usage:\n   *\n   *   var Props = require('ReactPropTypes');\n   *   var MyArticle = React.createClass({\n   *     propTypes: {\n   *       // An optional string prop named \"description\".\n   *       description: Props.string,\n   *\n   *       // A required enum prop named \"category\".\n   *       category: Props.oneOf(['News','Photos']).isRequired,\n   *\n   *       // A prop named \"dialog\" that requires an instance of Dialog.\n   *       dialog: Props.instanceOf(Dialog).isRequired\n   *     },\n   *     render: function() { ... }\n   *   });\n   *\n   * A more formal specification of how these methods are used:\n   *\n   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n   *   decl := ReactPropTypes.{type}(.isRequired)?\n   *\n   * Each and every declaration produces a function with the same signature. This\n   * allows the creation of custom validation functions. For example:\n   *\n   *  var MyLink = React.createClass({\n   *    propTypes: {\n   *      // An optional string or URI prop named \"href\".\n   *      href: function(props, propName, componentName) {\n   *        var propValue = props[propName];\n   *        if (propValue != null && typeof propValue !== 'string' &&\n   *            !(propValue instanceof URI)) {\n   *          return new Error(\n   *            'Expected a string or an URI for ' + propName + ' in ' +\n   *            componentName\n   *          );\n   *        }\n   *      }\n   *    },\n   *    render: function() {...}\n   *  });\n   *\n   * @internal\n   */\n\n  var ANONYMOUS = '<<anonymous>>';\n\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n  var ReactPropTypes = {\n    array: createPrimitiveTypeChecker('array'),\n    bigint: createPrimitiveTypeChecker('bigint'),\n    bool: createPrimitiveTypeChecker('boolean'),\n    func: createPrimitiveTypeChecker('function'),\n    number: createPrimitiveTypeChecker('number'),\n    object: createPrimitiveTypeChecker('object'),\n    string: createPrimitiveTypeChecker('string'),\n    symbol: createPrimitiveTypeChecker('symbol'),\n\n    any: createAnyTypeChecker(),\n    arrayOf: createArrayOfTypeChecker,\n    element: createElementTypeChecker(),\n    elementType: createElementTypeTypeChecker(),\n    instanceOf: createInstanceTypeChecker,\n    node: createNodeChecker(),\n    objectOf: createObjectOfTypeChecker,\n    oneOf: createEnumTypeChecker,\n    oneOfType: createUnionTypeChecker,\n    shape: createShapeTypeChecker,\n    exact: createStrictShapeTypeChecker,\n  };\n\n  /**\n   * inlined Object.is polyfill to avoid requiring consumers ship their own\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n   */\n  /*eslint-disable no-self-compare*/\n  function is(x, y) {\n    // SameValue algorithm\n    if (x === y) {\n      // Steps 1-5, 7-10\n      // Steps 6.b-6.e: +0 != -0\n      return x !== 0 || 1 / x === 1 / y;\n    } else {\n      // Step 6.a: NaN == NaN\n      return x !== x && y !== y;\n    }\n  }\n  /*eslint-enable no-self-compare*/\n\n  /**\n   * We use an Error-like object for backward compatibility as people may call\n   * PropTypes directly and inspect their output. However, we don't use real\n   * Errors anymore. We don't inspect their stack anyway, and creating them\n   * is prohibitively expensive if they are created too often, such as what\n   * happens in oneOfType() for any type before the one that matched.\n   */\n  function PropTypeError(message, data) {\n    this.message = message;\n    this.data = data && typeof data === 'object' ? data: {};\n    this.stack = '';\n  }\n  // Make `instanceof Error` still work for returned errors.\n  PropTypeError.prototype = Error.prototype;\n\n  function createChainableTypeChecker(validate) {\n    if (process.env.NODE_ENV !== 'production') {\n      var manualPropTypeCallCache = {};\n      var manualPropTypeWarningCount = 0;\n    }\n    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n      componentName = componentName || ANONYMOUS;\n      propFullName = propFullName || propName;\n\n      if (secret !== ReactPropTypesSecret) {\n        if (throwOnDirectAccess) {\n          // New behavior only for users of `prop-types` package\n          var err = new Error(\n            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n            'Use `PropTypes.checkPropTypes()` to call them. ' +\n            'Read more at http://fb.me/use-check-prop-types'\n          );\n          err.name = 'Invariant Violation';\n          throw err;\n        } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n          // Old behavior for people using React.PropTypes\n          var cacheKey = componentName + ':' + propName;\n          if (\n            !manualPropTypeCallCache[cacheKey] &&\n            // Avoid spamming the console because they are often not actionable except for lib authors\n            manualPropTypeWarningCount < 3\n          ) {\n            printWarning(\n              'You are manually calling a React.PropTypes validation ' +\n              'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n              'and will throw in the standalone `prop-types` package. ' +\n              'You may be seeing this warning due to a third-party PropTypes ' +\n              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n            );\n            manualPropTypeCallCache[cacheKey] = true;\n            manualPropTypeWarningCount++;\n          }\n        }\n      }\n      if (props[propName] == null) {\n        if (isRequired) {\n          if (props[propName] === null) {\n            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n          }\n          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n        }\n        return null;\n      } else {\n        return validate(props, propName, componentName, location, propFullName);\n      }\n    }\n\n    var chainedCheckType = checkType.bind(null, false);\n    chainedCheckType.isRequired = checkType.bind(null, true);\n\n    return chainedCheckType;\n  }\n\n  function createPrimitiveTypeChecker(expectedType) {\n    function validate(props, propName, componentName, location, propFullName, secret) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== expectedType) {\n        // `propValue` being instance of, say, date/regexp, pass the 'object'\n        // check, but we can offer a more precise error message here rather than\n        // 'of type `object`'.\n        var preciseType = getPreciseType(propValue);\n\n        return new PropTypeError(\n          'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n          {expectedType: expectedType}\n        );\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createAnyTypeChecker() {\n    return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n  }\n\n  function createArrayOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n      }\n      var propValue = props[propName];\n      if (!Array.isArray(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n      }\n      for (var i = 0; i < propValue.length; i++) {\n        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n        if (error instanceof Error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!isValidElement(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!ReactIs.isValidElementType(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createInstanceTypeChecker(expectedClass) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!(props[propName] instanceof expectedClass)) {\n        var expectedClassName = expectedClass.name || ANONYMOUS;\n        var actualClassName = getClassName(props[propName]);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createEnumTypeChecker(expectedValues) {\n    if (!Array.isArray(expectedValues)) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (arguments.length > 1) {\n          printWarning(\n            'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n            'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n          );\n        } else {\n          printWarning('Invalid argument supplied to oneOf, expected an array.');\n        }\n      }\n      return emptyFunctionThatReturnsNull;\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      for (var i = 0; i < expectedValues.length; i++) {\n        if (is(propValue, expectedValues[i])) {\n          return null;\n        }\n      }\n\n      var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n        var type = getPreciseType(value);\n        if (type === 'symbol') {\n          return String(value);\n        }\n        return value;\n      });\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createObjectOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n      }\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n      }\n      for (var key in propValue) {\n        if (has(propValue, key)) {\n          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n          if (error instanceof Error) {\n            return error;\n          }\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createUnionTypeChecker(arrayOfTypeCheckers) {\n    if (!Array.isArray(arrayOfTypeCheckers)) {\n      process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n      return emptyFunctionThatReturnsNull;\n    }\n\n    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n      var checker = arrayOfTypeCheckers[i];\n      if (typeof checker !== 'function') {\n        printWarning(\n          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n        );\n        return emptyFunctionThatReturnsNull;\n      }\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      var expectedTypes = [];\n      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n        var checker = arrayOfTypeCheckers[i];\n        var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n        if (checkerResult == null) {\n          return null;\n        }\n        if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n          expectedTypes.push(checkerResult.data.expectedType);\n        }\n      }\n      var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createNodeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!isNode(props[propName])) {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function invalidValidatorError(componentName, location, propFullName, key, type) {\n    return new PropTypeError(\n      (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n      'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n    );\n  }\n\n  function createShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      for (var key in shapeTypes) {\n        var checker = shapeTypes[key];\n        if (typeof checker !== 'function') {\n          return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createStrictShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      // We need to check all keys in case some are required but missing from props.\n      var allKeys = assign({}, props[propName], shapeTypes);\n      for (var key in allKeys) {\n        var checker = shapeTypes[key];\n        if (has(shapeTypes, key) && typeof checker !== 'function') {\n          return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n        }\n        if (!checker) {\n          return new PropTypeError(\n            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n            '\\nBad object: ' + JSON.stringify(props[propName], null, '  ') +\n            '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, '  ')\n          );\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n\n    return createChainableTypeChecker(validate);\n  }\n\n  function isNode(propValue) {\n    switch (typeof propValue) {\n      case 'number':\n      case 'string':\n      case 'undefined':\n        return true;\n      case 'boolean':\n        return !propValue;\n      case 'object':\n        if (Array.isArray(propValue)) {\n          return propValue.every(isNode);\n        }\n        if (propValue === null || isValidElement(propValue)) {\n          return true;\n        }\n\n        var iteratorFn = getIteratorFn(propValue);\n        if (iteratorFn) {\n          var iterator = iteratorFn.call(propValue);\n          var step;\n          if (iteratorFn !== propValue.entries) {\n            while (!(step = iterator.next()).done) {\n              if (!isNode(step.value)) {\n                return false;\n              }\n            }\n          } else {\n            // Iterator will provide entry [k,v] tuples rather than values.\n            while (!(step = iterator.next()).done) {\n              var entry = step.value;\n              if (entry) {\n                if (!isNode(entry[1])) {\n                  return false;\n                }\n              }\n            }\n          }\n        } else {\n          return false;\n        }\n\n        return true;\n      default:\n        return false;\n    }\n  }\n\n  function isSymbol(propType, propValue) {\n    // Native Symbol.\n    if (propType === 'symbol') {\n      return true;\n    }\n\n    // falsy value can't be a Symbol\n    if (!propValue) {\n      return false;\n    }\n\n    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n    if (propValue['@@toStringTag'] === 'Symbol') {\n      return true;\n    }\n\n    // Fallback for non-spec compliant Symbols which are polyfilled.\n    if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n      return true;\n    }\n\n    return false;\n  }\n\n  // Equivalent of `typeof` but with special handling for array and regexp.\n  function getPropType(propValue) {\n    var propType = typeof propValue;\n    if (Array.isArray(propValue)) {\n      return 'array';\n    }\n    if (propValue instanceof RegExp) {\n      // Old webkits (at least until Android 4.0) return 'function' rather than\n      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n      // passes PropTypes.object.\n      return 'object';\n    }\n    if (isSymbol(propType, propValue)) {\n      return 'symbol';\n    }\n    return propType;\n  }\n\n  // This handles more types than `getPropType`. Only used for error messages.\n  // See `createPrimitiveTypeChecker`.\n  function getPreciseType(propValue) {\n    if (typeof propValue === 'undefined' || propValue === null) {\n      return '' + propValue;\n    }\n    var propType = getPropType(propValue);\n    if (propType === 'object') {\n      if (propValue instanceof Date) {\n        return 'date';\n      } else if (propValue instanceof RegExp) {\n        return 'regexp';\n      }\n    }\n    return propType;\n  }\n\n  // Returns a string that is postfixed to a warning about an invalid type.\n  // For example, \"undefined\" or \"of type array\"\n  function getPostfixForTypeWarning(value) {\n    var type = getPreciseType(value);\n    switch (type) {\n      case 'array':\n      case 'object':\n        return 'an ' + type;\n      case 'boolean':\n      case 'date':\n      case 'regexp':\n        return 'a ' + type;\n      default:\n        return type;\n    }\n  }\n\n  // Returns class name of the object, if any.\n  function getClassName(propValue) {\n    if (!propValue.constructor || !propValue.constructor.name) {\n      return ANONYMOUS;\n    }\n    return propValue.constructor.name;\n  }\n\n  ReactPropTypes.checkPropTypes = checkPropTypes;\n  ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n  if (typeof object === 'object' && object !== null) {\n    var $$typeof = object.$$typeof;\n\n    switch ($$typeof) {\n      case REACT_ELEMENT_TYPE:\n        var type = object.type;\n\n        switch (type) {\n          case REACT_ASYNC_MODE_TYPE:\n          case REACT_CONCURRENT_MODE_TYPE:\n          case REACT_FRAGMENT_TYPE:\n          case REACT_PROFILER_TYPE:\n          case REACT_STRICT_MODE_TYPE:\n          case REACT_SUSPENSE_TYPE:\n            return type;\n\n          default:\n            var $$typeofType = type && type.$$typeof;\n\n            switch ($$typeofType) {\n              case REACT_CONTEXT_TYPE:\n              case REACT_FORWARD_REF_TYPE:\n              case REACT_LAZY_TYPE:\n              case REACT_MEMO_TYPE:\n              case REACT_PROVIDER_TYPE:\n                return $$typeofType;\n\n              default:\n                return $$typeof;\n            }\n\n        }\n\n      case REACT_PORTAL_TYPE:\n        return $$typeof;\n    }\n  }\n\n  return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n  {\n    if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n      hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n      console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n    }\n  }\n\n  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n  return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n  return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n  return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n  return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n  return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n  return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n  return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n  return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n  return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n  return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n  })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-is.production.min.js');\n} else {\n  module.exports = require('./cjs/react-is.development.js');\n}\n","module.exports = window[\"React\"];","module.exports = window[\"ReactJSXRuntime\"];","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"i18n\"];","module.exports = window[\"wp\"][\"primitives\"];","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * External dependencies\n */\nimport { registerBlockType } from '@wordpress/blocks';\nimport { textHorizontal as icon } from '@wordpress/icons';\nimport { InnerBlocks } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport Edit from './edit';\nimport metadata from './block.json';\n\n/**\n * Every block starts by registering a new block type definition.\n *\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/\n */\nregisterBlockType(metadata.name, {\n\t/**\n\t * @see ./edit.js\n\t */\n\ticon,\n\tedit: Edit,\n\tsave: () => <InnerBlocks.Content />,\n});\n"],"names":["__","InspectorControls","useBlockProps","useInnerBlocksProps","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","PanelBody","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","Icon","arrowLeft","arrowRight","arrowUp","arrowDown","clsx","UnitRangeControl","Edit","attributes","setAttributes","clientId","orientation","animationDirection","hoverAnimationState","animationSpeed","gap","overlayColor","whiteSpace","blockProps","className","style","colorGradientSettings","innerBlockProps","template","align","content","setOverlayColor","newValue","setOrientation","setAnimationDirection","setHoverAnimationState","setAnimationSpeed","setWhiteSpace","setGap","createElement","Fragment","title","label","value","onChange","isBlock","icon","transform","d","size","allowedUnits","group","panelId","settings","colorValue","onColorChange","registerBlockType","textHorizontal","InnerBlocks","metadata","name","edit","save","Content"],"sourceRoot":""}
     1{"version":3,"file":"marquee/index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AAC6C;AASqE;AAC/E;AACoB;;AAEvD;AACA;;AAEA;AACA,aAAa,QAAQ;AACrB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB;;AAEA,WAAW,iBAAiB;AACmC;AACxD;AACP;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA,aAAa,QAAQ;AACrB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB;;AAEA,WAAW,iBAAiB;AACrB;AACP;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,CAAC;AACM;AACP;AACA;AACA;AACA;AACA,qBAAqB,aAAa,EAAE,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,SAAS,EAAE,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,SAAS,EAAE,QAAQ;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,aAAa,EAAE,QAAQ;AAC1C;AACA;;AAEA;AACA;AACA,WAAW,QAAQ;AACnB,YAAY;AACZ;;AAEA;AACA;AACA;AACA;AACA,WAAW,iBAAiB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EA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,QAAQ;AAC1B;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;;ACzFA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA,IAAI,IAAqC;AACzC,6BAA6B,mBAAO,CAAC,yFAA4B;AACjE;AACA,YAAY,mBAAO,CAAC,uDAAW;;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,YAAY;AAClB;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB,WAAW,WAAW;AACtB;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6GAA6G;AAC7G;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,IAAqC;AAC3C;AACA;AACA;;AAEA;;;;;;;;;;;;ACtGA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,cAAc,mBAAO,CAAC,0EAAU;AAChC,aAAa,mBAAO,CAAC,4DAAe;;AAEpC,2BAA2B,mBAAO,CAAC,yFAA4B;AAC/D,UAAU,mBAAO,CAAC,uDAAW;AAC7B,qBAAqB,mBAAO,CAAC,qEAAkB;;AAE/C;;AAEA,IAAI,IAAqC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV,8BAA8B;AAC9B,QAAQ;AACR;AACA;AACA;AACA;AACA,+BAA+B,KAAK;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,4BAA4B;AAC5B,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,IAAqC;AAC7C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,SAAS,KAAqC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,sBAAsB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,IAAqC;AAC/C;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,2BAA2B;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM,KAAqC,4FAA4F,CAAM;AAC7I;AACA;;AAEA,oBAAoB,gCAAgC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,gCAAgC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iHAAiH;AACjH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;;;;;;;;ACjmBA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI,IAAqC;AACzC,gBAAgB,mBAAO,CAAC,0EAAU;;AAElC;AACA;AACA;AACA,mBAAmB,mBAAO,CAAC,uFAA2B;AACtD,EAAE,KAAK,EAIN;;;;;;;;;;;;AClBD;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb;;AAEA;;;;;;;;;;;ACXA;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;;;AAIb,IAAI,IAAqC;AACzC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA,kDAAkD;;AAElD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB,sBAAsB;AACtB,uBAAuB;AACvB,uBAAuB;AACvB,eAAe;AACf,kBAAkB;AAClB,gBAAgB;AAChB,YAAY;AACZ,YAAY;AACZ,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,gBAAgB;AAChB,mBAAmB;AACnB,wBAAwB;AACxB,yBAAyB;AACzB,yBAAyB;AACzB,iBAAiB;AACjB,oBAAoB;AACpB,kBAAkB;AAClB,cAAc;AACd,cAAc;AACd,gBAAgB;AAChB,kBAAkB;AAClB,oBAAoB;AACpB,kBAAkB;AAClB,0BAA0B;AAC1B,cAAc;AACd,GAAG;AACH;;;;;;;;;;;;ACpLa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,wJAAyD;AAC3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACNA;AACA;AACA;AACqC;AASJ;AAKF;AAOL;AAEE;AAE8B;;AAE1D;AACA;AACA;;AAEuB;AAAA;AAER,SAAS0B,IAAIA,CAAC;EAAEC,UAAU;EAAEC,aAAa;EAAEC;AAAS,CAAC,EAAE;EACrE,MAAM;IACLC,WAAW;IACXC,kBAAkB;IAClBC,mBAAmB;IACnBC,cAAc;IACdC,GAAG;IACHC,YAAY;IACZC;EACD,CAAC,GAAG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","sources":["webpack://marquee-block/./node_modules/@storepress/components/build-module/unit-range-control/index.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/icon/index.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/library/arrow-down.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/library/arrow-left.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/library/arrow-right.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/library/arrow-up.js","webpack://marquee-block/./node_modules/@wordpress/icons/build-module/library/text-horizontal.js","webpack://marquee-block/./node_modules/clsx/dist/clsx.mjs","webpack://marquee-block/./node_modules/object-assign/index.js","webpack://marquee-block/./node_modules/prop-types/checkPropTypes.js","webpack://marquee-block/./node_modules/prop-types/factoryWithTypeCheckers.js","webpack://marquee-block/./node_modules/prop-types/index.js","webpack://marquee-block/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://marquee-block/./node_modules/prop-types/lib/has.js","webpack://marquee-block/./node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js","webpack://marquee-block/./node_modules/prop-types/node_modules/react-is/index.js","webpack://marquee-block/./src/marquee/edit.js","webpack://marquee-block/./src/marquee/editor.scss?6fea","webpack://marquee-block/external window [\"wp\",\"blockEditor\"]","webpack://marquee-block/external window [\"wp\",\"blocks\"]","webpack://marquee-block/external window [\"wp\",\"components\"]","webpack://marquee-block/external window [\"wp\",\"element\"]","webpack://marquee-block/external window [\"wp\",\"i18n\"]","webpack://marquee-block/external window [\"wp\",\"primitives\"]","webpack://marquee-block/external window \"ReactJSXRuntime\"","webpack://marquee-block/webpack/bootstrap","webpack://marquee-block/webpack/runtime/compat get default export","webpack://marquee-block/webpack/runtime/define property getters","webpack://marquee-block/webpack/runtime/hasOwnProperty shorthand","webpack://marquee-block/webpack/runtime/make namespace object","webpack://marquee-block/./src/marquee/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { BaseControl, RangeControl, Flex, FlexItem,\n// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n__experimentalSpacer as Spacer,\n// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n__experimentalUseCustomUnits as useCustomUnits,\n// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n__experimentalUnitControl as UnitControl,\n// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue } from '@wordpress/components';\nimport PropTypes from 'prop-types';\nimport SearchListControl from '../search-list-control';\n\n// @see: https://github.com/WordPress/gutenberg/blob/trunk/packages/components/src/unit-control/utils.ts\n// @see: https://github.com/WordPress/gutenberg/blob/trunk/packages/block-editor/src/components/height-control/index.js\n\n/**\n * @typedef {Object} availableUnit - Type 'availableUnit'\n * @property {string} value   - Unit Key.\n * @property {string} label   - Unit Label.\n * @property {number} default - Unit Default Value\n * @property {number} min     - Unit Minimum Value\n * @property {number} max     - Unit Maximum Value\n * @property {number} step    - Unit Step\n */\n\n/** @type {availableUnit[]} */\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport const availableUnits = [{\n  value: '%',\n  label: '%',\n  default: 0,\n  min: 0,\n  max: 100,\n  step: 0.1\n}, {\n  value: 'px',\n  label: 'px',\n  default: 0,\n  min: 0,\n  max: 1000,\n  step: 1\n}, {\n  value: 'em',\n  label: 'em',\n  default: 0,\n  min: 0,\n  max: 50,\n  step: 0.01\n}, {\n  value: 'rem',\n  label: 'rem',\n  default: 0,\n  min: 0,\n  max: 50,\n  step: 0.01\n}, {\n  value: 'vw',\n  label: 'vw',\n  default: 0,\n  min: 0,\n  max: 100,\n  step: 0.1\n}, {\n  value: 'vh',\n  label: 'vh',\n  default: 0,\n  min: 0,\n  max: 100,\n  step: 0.1\n}, {\n  value: 's',\n  label: 's',\n  default: 0,\n  min: 0,\n  max: 120,\n  step: 0.1\n}, {\n  value: 'ms',\n  label: 'ms',\n  default: 0,\n  min: 0,\n  max: 120000,\n  step: 100\n}, {\n  value: 'fr',\n  label: 'fr',\n  default: 1,\n  min: 1,\n  max: 100,\n  step: 1\n}];\n\n/**\n * @typedef {Object} unitOperation - Type 'unitOperation'\n * @property {string[]} fromUnits - Convert from unit array.\n * @property {string[]} toUnits   - Convert to unit array\n * @property {string}   operator  - Conversion operator\n * @property {number}   digit     - Conversion digit\n */\n\n/** @type {unitOperation[]} */\nexport const unitOperations = [{\n  fromUnits: ['em', 'rem'],\n  toUnits: ['px'],\n  operator: '*',\n  digit: 16\n}, {\n  fromUnits: ['px'],\n  toUnits: ['em', 'rem'],\n  operator: '/',\n  digit: 16\n}, {\n  fromUnits: ['s'],\n  toUnits: ['ms'],\n  operator: '*',\n  digit: 1000\n}, {\n  fromUnits: ['ms'],\n  toUnits: ['s'],\n  operator: '/',\n  digit: 1000\n}];\nexport function unitConverter(newUnit, oldUnit, currentValue, operationLogics) {\n  if (newUnit === oldUnit) {\n    return {\n      unitName: newUnit,\n      unitValue: currentValue,\n      unitString: `${currentValue}${newUnit}`\n    };\n  }\n  for (const operation of operationLogics) {\n    const {\n      fromUnits,\n      toUnits,\n      operator,\n      digit\n    } = operation;\n    if (toUnits.includes(newUnit) && fromUnits.includes(oldUnit)) {\n      if (operator === '/') {\n        const newValue = (currentValue / digit).toFixed(2);\n        return {\n          unitName: newUnit,\n          unitValue: newValue,\n          unitString: `${newValue}${newUnit}`\n        };\n      }\n      if (operator === '*') {\n        const newValue = Math.round(currentValue * digit);\n        return {\n          unitName: newUnit,\n          unitValue: newValue,\n          unitString: `${newValue}${newUnit}`\n        };\n      }\n    }\n  }\n  return {\n    unitName: newUnit,\n    unitValue: currentValue,\n    unitString: `${currentValue}${newUnit}`\n  };\n}\n\n/**\n * @callback onChange\n * @param {string} value\n * @return {void}\n */\n\n/**\n * UnitRangeControl renders a linked unit control and range control.\n *\n *\n * @param {Object}          props\n * @param {string}          props.label                                              - A label for the control.\n * @param {onChange}        props.onChange                                           - Called when the value changes.\n * @param {string}          props.value                                              - The current value with unit.\n * @param {string[]}        [props.allowedUnits=['%', 'px', 'em', 'rem']] - Available values.\n * @param {availableUnit[]} [props.defaultUnits]                                     - Default units.\n * @param {unitOperation[]} [props.convertUnits]                                     - Unit value conversion logic.\n *\n */\nfunction UnitRangeControl({\n  label,\n  onChange,\n  value,\n  allowedUnits = ['%', 'px', 'em', 'rem'],\n  defaultUnits = availableUnits,\n  convertUnits = unitOperations\n}) {\n  var _unitSettings$selecte, _unitSettings$selecte2, _unitSettings$selecte3, _unitSettings$selecte4, _unitSettings$selecte5, _unitSettings$selecte6;\n  const customRangeValue = parseFloat(value);\n  const defaultValues = useMemo(() => {\n    return defaultUnits.reduce((accumulator, unit) => {\n      accumulator[unit.label] = unit.default;\n      return accumulator;\n    }, {});\n  }, [defaultUnits]);\n  const unitSettings = useMemo(() => {\n    return defaultUnits.reduce((accumulator, unit) => {\n      accumulator[unit.label] = unit;\n      return accumulator;\n    }, {});\n  }, [defaultUnits]);\n  const units = useCustomUnits({\n    units: defaultUnits,\n    availableUnits: allowedUnits,\n    defaultValues\n  });\n  const selectedUnit = useMemo(() => parseQuantityAndUnitFromRawValue(value, defaultUnits), [value, defaultUnits])[1] || units[0]?.value || 'px';\n  const handleSliderChange = next => {\n    onChange([next, selectedUnit].join(''));\n  };\n  const handleUnitChange = newUnit => {\n    // Attempt to smooth over differences between currentUnit and newUnit.\n    // This should slightly improve the experience of switching between unit types.\n    const [currentValue, currentUnit] = parseQuantityAndUnitFromRawValue(value, defaultUnits);\n    const {\n      unitValue,\n      unitString\n    } = unitConverter(newUnit, currentUnit, currentValue, convertUnits);\n    if (unitValue > unitSettings[newUnit]?.max) {\n      onChange(unitSettings[newUnit]?.max + newUnit);\n    } else {\n      onChange(unitString);\n    }\n  };\n  return /*#__PURE__*/_jsx(BaseControl, {\n    label: label,\n    className: \"storepress-component-unit-range-control\",\n    children: /*#__PURE__*/_jsxs(Flex, {\n      children: [/*#__PURE__*/_jsx(FlexItem, {\n        isBlock: true,\n        children: /*#__PURE__*/_jsx(UnitControl, {\n          value: value,\n          units: units,\n          onChange: onChange,\n          onUnitChange: handleUnitChange,\n          min: (_unitSettings$selecte = unitSettings[selectedUnit]?.min) !== null && _unitSettings$selecte !== void 0 ? _unitSettings$selecte : 0,\n          max: (_unitSettings$selecte2 = unitSettings[selectedUnit]?.max) !== null && _unitSettings$selecte2 !== void 0 ? _unitSettings$selecte2 : 100,\n          step: (_unitSettings$selecte3 = unitSettings[selectedUnit]?.step) !== null && _unitSettings$selecte3 !== void 0 ? _unitSettings$selecte3 : 0.1,\n          size: \"__unstable-large\",\n          label: label,\n          hideLabelFromVision: true\n        })\n      }), /*#__PURE__*/_jsx(FlexItem, {\n        isBlock: true,\n        children: /*#__PURE__*/_jsx(Spacer, {\n          marginX: 2,\n          marginBottom: 0,\n          children: /*#__PURE__*/_jsx(RangeControl, {\n            __next40pxDefaultSize: true,\n            value: customRangeValue,\n            min: (_unitSettings$selecte4 = unitSettings[selectedUnit]?.min) !== null && _unitSettings$selecte4 !== void 0 ? _unitSettings$selecte4 : 0,\n            max: (_unitSettings$selecte5 = unitSettings[selectedUnit]?.max) !== null && _unitSettings$selecte5 !== void 0 ? _unitSettings$selecte5 : 100,\n            step: (_unitSettings$selecte6 = unitSettings[selectedUnit]?.step) !== null && _unitSettings$selecte6 !== void 0 ? _unitSettings$selecte6 : 0.1,\n            withInputField: false,\n            onChange: handleSliderChange,\n            label: label,\n            hideLabelFromVision: true,\n            __nextHasNoMarginBottom: true,\n            renderTooltipContent: contentValue => `${contentValue}${selectedUnit}`\n          })\n        })\n      })]\n    })\n  });\n}\n\n/*UnitRangeControl.defaultProps = {\n  label: 'Range Control',\n  onChange: (updatedValue) => {},\n  value: '10px',\n  allowedUnits: ['%', 'px', 'em', 'rem'],\n  defaultUnits: availableUnits,\n  convertUnits: unitOperations,\n}*/\n\nUnitRangeControl.propTypes = {\n  label: PropTypes.string.isRequired,\n  value: PropTypes.string.isRequired,\n  onChange: PropTypes.func.isRequired,\n  allowedUnits: PropTypes.array,\n  defaultUnits: PropTypes.array,\n  convertUnits: PropTypes.array\n};\nexport default UnitRangeControl;","/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */\n\n/**\n * Return an SVG icon.\n *\n * @param {IconProps}                                 props icon is the SVG component to render\n *                                                          size is a number specifying the icon size in pixels\n *                                                          Other props will be passed to wrapped SVG component\n * @param {import('react').ForwardedRef<HTMLElement>} ref   The forwarded ref to the SVG element.\n *\n * @return {JSX.Element}  Icon component\n */\nfunction Icon({\n  icon,\n  size = 24,\n  ...props\n}, ref) {\n  return cloneElement(icon, {\n    width: size,\n    height: size,\n    ...props,\n    ref\n  });\n}\nexport default forwardRef(Icon);\n//# sourceMappingURL=index.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowDown = /*#__PURE__*/_jsx(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\",\n  children: /*#__PURE__*/_jsx(Path, {\n    d: \"m16.5 13.5-3.7 3.7V4h-1.5v13.2l-3.8-3.7-1 1 5.5 5.6 5.5-5.6z\"\n  })\n});\nexport default arrowDown;\n//# sourceMappingURL=arrow-down.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowLeft = /*#__PURE__*/_jsx(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\",\n  children: /*#__PURE__*/_jsx(Path, {\n    d: \"M20 11.2H6.8l3.7-3.7-1-1L3.9 12l5.6 5.5 1-1-3.7-3.7H20z\"\n  })\n});\nexport default arrowLeft;\n//# sourceMappingURL=arrow-left.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowRight = /*#__PURE__*/_jsx(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\",\n  children: /*#__PURE__*/_jsx(Path, {\n    d: \"m14.5 6.5-1 1 3.7 3.7H4v1.6h13.2l-3.7 3.7 1 1 5.6-5.5z\"\n  })\n});\nexport default arrowRight;\n//# sourceMappingURL=arrow-right.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst arrowUp = /*#__PURE__*/_jsx(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\",\n  children: /*#__PURE__*/_jsx(Path, {\n    d: \"M12 3.9 6.5 9.5l1 1 3.8-3.7V20h1.5V6.8l3.7 3.7 1-1z\"\n  })\n});\nexport default arrowUp;\n//# sourceMappingURL=arrow-up.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst textHorizontal = /*#__PURE__*/_jsx(SVG, {\n  xmlns: \"http://www.w3.org/2000/svg\",\n  viewBox: \"0 0 24 24\",\n  children: /*#__PURE__*/_jsx(Path, {\n    d: \"M8.2 14.4h3.9L13 17h1.7L11 6.5H9.3L5.6 17h1.7l.9-2.6zm2-5.5 1.4 4H8.8l1.4-4zm7.4 7.5-1.3.8.8 1.4H5.5V20h14.3l-2.2-3.6z\"\n  })\n});\nexport default textHorizontal;\n//# sourceMappingURL=text-horizontal.js.map","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc');  // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n  var loggedTypeFailures = {};\n  var has = require('./lib/has');\n\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) { /**/ }\n  };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n  if (process.env.NODE_ENV !== 'production') {\n    for (var typeSpecName in typeSpecs) {\n      if (has(typeSpecs, typeSpecName)) {\n        var error;\n        // Prop type validation may throw. In case they do, we don't want to\n        // fail the render phase where it didn't fail before. So we log it.\n        // After these have been cleaned up, we'll let them throw.\n        try {\n          // This is intentionally an invariant that gets caught. It's the same\n          // behavior as without this statement except with a better message.\n          if (typeof typeSpecs[typeSpecName] !== 'function') {\n            var err = Error(\n              (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n              'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n              'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n            );\n            err.name = 'Invariant Violation';\n            throw err;\n          }\n          error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n        } catch (ex) {\n          error = ex;\n        }\n        if (error && !(error instanceof Error)) {\n          printWarning(\n            (componentName || 'React class') + ': type specification of ' +\n            location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n            'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n            'You may have forgotten to pass an argument to the type checker ' +\n            'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n            'shape all require an argument).'\n          );\n        }\n        if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n          // Only monitor this failure once because there tends to be a lot of the\n          // same error.\n          loggedTypeFailures[error.message] = true;\n\n          var stack = getStack ? getStack() : '';\n\n          printWarning(\n            'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n          );\n        }\n      }\n    }\n  }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n  if (process.env.NODE_ENV !== 'production') {\n    loggedTypeFailures = {};\n  }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n  printWarning = function(text) {\n    var message = 'Warning: ' + text;\n    if (typeof console !== 'undefined') {\n      console.error(message);\n    }\n    try {\n      // --- Welcome to debugging React ---\n      // This error was thrown as a convenience so that you can use this stack\n      // to find the callsite that caused this warning to fire.\n      throw new Error(message);\n    } catch (x) {}\n  };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n  return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n  /* global Symbol */\n  var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n  var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n  /**\n   * Returns the iterator method function contained on the iterable object.\n   *\n   * Be sure to invoke the function with the iterable as context:\n   *\n   *     var iteratorFn = getIteratorFn(myIterable);\n   *     if (iteratorFn) {\n   *       var iterator = iteratorFn.call(myIterable);\n   *       ...\n   *     }\n   *\n   * @param {?object} maybeIterable\n   * @return {?function}\n   */\n  function getIteratorFn(maybeIterable) {\n    var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n    if (typeof iteratorFn === 'function') {\n      return iteratorFn;\n    }\n  }\n\n  /**\n   * Collection of methods that allow declaration and validation of props that are\n   * supplied to React components. Example usage:\n   *\n   *   var Props = require('ReactPropTypes');\n   *   var MyArticle = React.createClass({\n   *     propTypes: {\n   *       // An optional string prop named \"description\".\n   *       description: Props.string,\n   *\n   *       // A required enum prop named \"category\".\n   *       category: Props.oneOf(['News','Photos']).isRequired,\n   *\n   *       // A prop named \"dialog\" that requires an instance of Dialog.\n   *       dialog: Props.instanceOf(Dialog).isRequired\n   *     },\n   *     render: function() { ... }\n   *   });\n   *\n   * A more formal specification of how these methods are used:\n   *\n   *   type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n   *   decl := ReactPropTypes.{type}(.isRequired)?\n   *\n   * Each and every declaration produces a function with the same signature. This\n   * allows the creation of custom validation functions. For example:\n   *\n   *  var MyLink = React.createClass({\n   *    propTypes: {\n   *      // An optional string or URI prop named \"href\".\n   *      href: function(props, propName, componentName) {\n   *        var propValue = props[propName];\n   *        if (propValue != null && typeof propValue !== 'string' &&\n   *            !(propValue instanceof URI)) {\n   *          return new Error(\n   *            'Expected a string or an URI for ' + propName + ' in ' +\n   *            componentName\n   *          );\n   *        }\n   *      }\n   *    },\n   *    render: function() {...}\n   *  });\n   *\n   * @internal\n   */\n\n  var ANONYMOUS = '<<anonymous>>';\n\n  // Important!\n  // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n  var ReactPropTypes = {\n    array: createPrimitiveTypeChecker('array'),\n    bigint: createPrimitiveTypeChecker('bigint'),\n    bool: createPrimitiveTypeChecker('boolean'),\n    func: createPrimitiveTypeChecker('function'),\n    number: createPrimitiveTypeChecker('number'),\n    object: createPrimitiveTypeChecker('object'),\n    string: createPrimitiveTypeChecker('string'),\n    symbol: createPrimitiveTypeChecker('symbol'),\n\n    any: createAnyTypeChecker(),\n    arrayOf: createArrayOfTypeChecker,\n    element: createElementTypeChecker(),\n    elementType: createElementTypeTypeChecker(),\n    instanceOf: createInstanceTypeChecker,\n    node: createNodeChecker(),\n    objectOf: createObjectOfTypeChecker,\n    oneOf: createEnumTypeChecker,\n    oneOfType: createUnionTypeChecker,\n    shape: createShapeTypeChecker,\n    exact: createStrictShapeTypeChecker,\n  };\n\n  /**\n   * inlined Object.is polyfill to avoid requiring consumers ship their own\n   * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n   */\n  /*eslint-disable no-self-compare*/\n  function is(x, y) {\n    // SameValue algorithm\n    if (x === y) {\n      // Steps 1-5, 7-10\n      // Steps 6.b-6.e: +0 != -0\n      return x !== 0 || 1 / x === 1 / y;\n    } else {\n      // Step 6.a: NaN == NaN\n      return x !== x && y !== y;\n    }\n  }\n  /*eslint-enable no-self-compare*/\n\n  /**\n   * We use an Error-like object for backward compatibility as people may call\n   * PropTypes directly and inspect their output. However, we don't use real\n   * Errors anymore. We don't inspect their stack anyway, and creating them\n   * is prohibitively expensive if they are created too often, such as what\n   * happens in oneOfType() for any type before the one that matched.\n   */\n  function PropTypeError(message, data) {\n    this.message = message;\n    this.data = data && typeof data === 'object' ? data: {};\n    this.stack = '';\n  }\n  // Make `instanceof Error` still work for returned errors.\n  PropTypeError.prototype = Error.prototype;\n\n  function createChainableTypeChecker(validate) {\n    if (process.env.NODE_ENV !== 'production') {\n      var manualPropTypeCallCache = {};\n      var manualPropTypeWarningCount = 0;\n    }\n    function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n      componentName = componentName || ANONYMOUS;\n      propFullName = propFullName || propName;\n\n      if (secret !== ReactPropTypesSecret) {\n        if (throwOnDirectAccess) {\n          // New behavior only for users of `prop-types` package\n          var err = new Error(\n            'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n            'Use `PropTypes.checkPropTypes()` to call them. ' +\n            'Read more at http://fb.me/use-check-prop-types'\n          );\n          err.name = 'Invariant Violation';\n          throw err;\n        } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n          // Old behavior for people using React.PropTypes\n          var cacheKey = componentName + ':' + propName;\n          if (\n            !manualPropTypeCallCache[cacheKey] &&\n            // Avoid spamming the console because they are often not actionable except for lib authors\n            manualPropTypeWarningCount < 3\n          ) {\n            printWarning(\n              'You are manually calling a React.PropTypes validation ' +\n              'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n              'and will throw in the standalone `prop-types` package. ' +\n              'You may be seeing this warning due to a third-party PropTypes ' +\n              'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n            );\n            manualPropTypeCallCache[cacheKey] = true;\n            manualPropTypeWarningCount++;\n          }\n        }\n      }\n      if (props[propName] == null) {\n        if (isRequired) {\n          if (props[propName] === null) {\n            return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n          }\n          return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n        }\n        return null;\n      } else {\n        return validate(props, propName, componentName, location, propFullName);\n      }\n    }\n\n    var chainedCheckType = checkType.bind(null, false);\n    chainedCheckType.isRequired = checkType.bind(null, true);\n\n    return chainedCheckType;\n  }\n\n  function createPrimitiveTypeChecker(expectedType) {\n    function validate(props, propName, componentName, location, propFullName, secret) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== expectedType) {\n        // `propValue` being instance of, say, date/regexp, pass the 'object'\n        // check, but we can offer a more precise error message here rather than\n        // 'of type `object`'.\n        var preciseType = getPreciseType(propValue);\n\n        return new PropTypeError(\n          'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n          {expectedType: expectedType}\n        );\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createAnyTypeChecker() {\n    return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n  }\n\n  function createArrayOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n      }\n      var propValue = props[propName];\n      if (!Array.isArray(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n      }\n      for (var i = 0; i < propValue.length; i++) {\n        var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n        if (error instanceof Error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!isValidElement(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createElementTypeTypeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      if (!ReactIs.isValidElementType(propValue)) {\n        var propType = getPropType(propValue);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createInstanceTypeChecker(expectedClass) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!(props[propName] instanceof expectedClass)) {\n        var expectedClassName = expectedClass.name || ANONYMOUS;\n        var actualClassName = getClassName(props[propName]);\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createEnumTypeChecker(expectedValues) {\n    if (!Array.isArray(expectedValues)) {\n      if (process.env.NODE_ENV !== 'production') {\n        if (arguments.length > 1) {\n          printWarning(\n            'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n            'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n          );\n        } else {\n          printWarning('Invalid argument supplied to oneOf, expected an array.');\n        }\n      }\n      return emptyFunctionThatReturnsNull;\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      for (var i = 0; i < expectedValues.length; i++) {\n        if (is(propValue, expectedValues[i])) {\n          return null;\n        }\n      }\n\n      var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n        var type = getPreciseType(value);\n        if (type === 'symbol') {\n          return String(value);\n        }\n        return value;\n      });\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createObjectOfTypeChecker(typeChecker) {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (typeof typeChecker !== 'function') {\n        return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n      }\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n      }\n      for (var key in propValue) {\n        if (has(propValue, key)) {\n          var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n          if (error instanceof Error) {\n            return error;\n          }\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createUnionTypeChecker(arrayOfTypeCheckers) {\n    if (!Array.isArray(arrayOfTypeCheckers)) {\n      process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n      return emptyFunctionThatReturnsNull;\n    }\n\n    for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n      var checker = arrayOfTypeCheckers[i];\n      if (typeof checker !== 'function') {\n        printWarning(\n          'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n          'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n        );\n        return emptyFunctionThatReturnsNull;\n      }\n    }\n\n    function validate(props, propName, componentName, location, propFullName) {\n      var expectedTypes = [];\n      for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n        var checker = arrayOfTypeCheckers[i];\n        var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n        if (checkerResult == null) {\n          return null;\n        }\n        if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n          expectedTypes.push(checkerResult.data.expectedType);\n        }\n      }\n      var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n      return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createNodeChecker() {\n    function validate(props, propName, componentName, location, propFullName) {\n      if (!isNode(props[propName])) {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function invalidValidatorError(componentName, location, propFullName, key, type) {\n    return new PropTypeError(\n      (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n      'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n    );\n  }\n\n  function createShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      for (var key in shapeTypes) {\n        var checker = shapeTypes[key];\n        if (typeof checker !== 'function') {\n          return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n    return createChainableTypeChecker(validate);\n  }\n\n  function createStrictShapeTypeChecker(shapeTypes) {\n    function validate(props, propName, componentName, location, propFullName) {\n      var propValue = props[propName];\n      var propType = getPropType(propValue);\n      if (propType !== 'object') {\n        return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n      }\n      // We need to check all keys in case some are required but missing from props.\n      var allKeys = assign({}, props[propName], shapeTypes);\n      for (var key in allKeys) {\n        var checker = shapeTypes[key];\n        if (has(shapeTypes, key) && typeof checker !== 'function') {\n          return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n        }\n        if (!checker) {\n          return new PropTypeError(\n            'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n            '\\nBad object: ' + JSON.stringify(props[propName], null, '  ') +\n            '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, '  ')\n          );\n        }\n        var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n        if (error) {\n          return error;\n        }\n      }\n      return null;\n    }\n\n    return createChainableTypeChecker(validate);\n  }\n\n  function isNode(propValue) {\n    switch (typeof propValue) {\n      case 'number':\n      case 'string':\n      case 'undefined':\n        return true;\n      case 'boolean':\n        return !propValue;\n      case 'object':\n        if (Array.isArray(propValue)) {\n          return propValue.every(isNode);\n        }\n        if (propValue === null || isValidElement(propValue)) {\n          return true;\n        }\n\n        var iteratorFn = getIteratorFn(propValue);\n        if (iteratorFn) {\n          var iterator = iteratorFn.call(propValue);\n          var step;\n          if (iteratorFn !== propValue.entries) {\n            while (!(step = iterator.next()).done) {\n              if (!isNode(step.value)) {\n                return false;\n              }\n            }\n          } else {\n            // Iterator will provide entry [k,v] tuples rather than values.\n            while (!(step = iterator.next()).done) {\n              var entry = step.value;\n              if (entry) {\n                if (!isNode(entry[1])) {\n                  return false;\n                }\n              }\n            }\n          }\n        } else {\n          return false;\n        }\n\n        return true;\n      default:\n        return false;\n    }\n  }\n\n  function isSymbol(propType, propValue) {\n    // Native Symbol.\n    if (propType === 'symbol') {\n      return true;\n    }\n\n    // falsy value can't be a Symbol\n    if (!propValue) {\n      return false;\n    }\n\n    // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n    if (propValue['@@toStringTag'] === 'Symbol') {\n      return true;\n    }\n\n    // Fallback for non-spec compliant Symbols which are polyfilled.\n    if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n      return true;\n    }\n\n    return false;\n  }\n\n  // Equivalent of `typeof` but with special handling for array and regexp.\n  function getPropType(propValue) {\n    var propType = typeof propValue;\n    if (Array.isArray(propValue)) {\n      return 'array';\n    }\n    if (propValue instanceof RegExp) {\n      // Old webkits (at least until Android 4.0) return 'function' rather than\n      // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n      // passes PropTypes.object.\n      return 'object';\n    }\n    if (isSymbol(propType, propValue)) {\n      return 'symbol';\n    }\n    return propType;\n  }\n\n  // This handles more types than `getPropType`. Only used for error messages.\n  // See `createPrimitiveTypeChecker`.\n  function getPreciseType(propValue) {\n    if (typeof propValue === 'undefined' || propValue === null) {\n      return '' + propValue;\n    }\n    var propType = getPropType(propValue);\n    if (propType === 'object') {\n      if (propValue instanceof Date) {\n        return 'date';\n      } else if (propValue instanceof RegExp) {\n        return 'regexp';\n      }\n    }\n    return propType;\n  }\n\n  // Returns a string that is postfixed to a warning about an invalid type.\n  // For example, \"undefined\" or \"of type array\"\n  function getPostfixForTypeWarning(value) {\n    var type = getPreciseType(value);\n    switch (type) {\n      case 'array':\n      case 'object':\n        return 'an ' + type;\n      case 'boolean':\n      case 'date':\n      case 'regexp':\n        return 'a ' + type;\n      default:\n        return type;\n    }\n  }\n\n  // Returns class name of the object, if any.\n  function getClassName(propValue) {\n    if (!propValue.constructor || !propValue.constructor.name) {\n      return ANONYMOUS;\n    }\n    return propValue.constructor.name;\n  }\n\n  ReactPropTypes.checkPropTypes = checkPropTypes;\n  ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n  ReactPropTypes.PropTypes = ReactPropTypes;\n\n  return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n  var ReactIs = require('react-is');\n\n  // By explicitly using `prop-types` you are opting into new development behavior.\n  // http://fb.me/prop-types-in-prod\n  var throwOnDirectAccess = true;\n  module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n  // By explicitly using `prop-types` you are opting into new production behavior.\n  // http://fb.me/prop-types-in-prod\n  module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n\n\nif (process.env.NODE_ENV !== \"production\") {\n  (function() {\n'use strict';\n\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar hasSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7;\nvar REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca;\nvar REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb;\nvar REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc;\nvar REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2;\nvar REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd;\nvar REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary\n// (unstable) APIs that have been removed. Can we remove the symbols?\n\nvar REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf;\nvar REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf;\nvar REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0;\nvar REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8;\nvar REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3;\nvar REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4;\nvar REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9;\nvar REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5;\nvar REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6;\nvar REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7;\n\nfunction isValidElementType(type) {\n  return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill.\n  type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE);\n}\n\nfunction typeOf(object) {\n  if (typeof object === 'object' && object !== null) {\n    var $$typeof = object.$$typeof;\n\n    switch ($$typeof) {\n      case REACT_ELEMENT_TYPE:\n        var type = object.type;\n\n        switch (type) {\n          case REACT_ASYNC_MODE_TYPE:\n          case REACT_CONCURRENT_MODE_TYPE:\n          case REACT_FRAGMENT_TYPE:\n          case REACT_PROFILER_TYPE:\n          case REACT_STRICT_MODE_TYPE:\n          case REACT_SUSPENSE_TYPE:\n            return type;\n\n          default:\n            var $$typeofType = type && type.$$typeof;\n\n            switch ($$typeofType) {\n              case REACT_CONTEXT_TYPE:\n              case REACT_FORWARD_REF_TYPE:\n              case REACT_LAZY_TYPE:\n              case REACT_MEMO_TYPE:\n              case REACT_PROVIDER_TYPE:\n                return $$typeofType;\n\n              default:\n                return $$typeof;\n            }\n\n        }\n\n      case REACT_PORTAL_TYPE:\n        return $$typeof;\n    }\n  }\n\n  return undefined;\n} // AsyncMode is deprecated along with isAsyncMode\n\nvar AsyncMode = REACT_ASYNC_MODE_TYPE;\nvar ConcurrentMode = REACT_CONCURRENT_MODE_TYPE;\nvar ContextConsumer = REACT_CONTEXT_TYPE;\nvar ContextProvider = REACT_PROVIDER_TYPE;\nvar Element = REACT_ELEMENT_TYPE;\nvar ForwardRef = REACT_FORWARD_REF_TYPE;\nvar Fragment = REACT_FRAGMENT_TYPE;\nvar Lazy = REACT_LAZY_TYPE;\nvar Memo = REACT_MEMO_TYPE;\nvar Portal = REACT_PORTAL_TYPE;\nvar Profiler = REACT_PROFILER_TYPE;\nvar StrictMode = REACT_STRICT_MODE_TYPE;\nvar Suspense = REACT_SUSPENSE_TYPE;\nvar hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated\n\nfunction isAsyncMode(object) {\n  {\n    if (!hasWarnedAboutDeprecatedIsAsyncMode) {\n      hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint\n\n      console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.');\n    }\n  }\n\n  return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE;\n}\nfunction isConcurrentMode(object) {\n  return typeOf(object) === REACT_CONCURRENT_MODE_TYPE;\n}\nfunction isContextConsumer(object) {\n  return typeOf(object) === REACT_CONTEXT_TYPE;\n}\nfunction isContextProvider(object) {\n  return typeOf(object) === REACT_PROVIDER_TYPE;\n}\nfunction isElement(object) {\n  return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n}\nfunction isForwardRef(object) {\n  return typeOf(object) === REACT_FORWARD_REF_TYPE;\n}\nfunction isFragment(object) {\n  return typeOf(object) === REACT_FRAGMENT_TYPE;\n}\nfunction isLazy(object) {\n  return typeOf(object) === REACT_LAZY_TYPE;\n}\nfunction isMemo(object) {\n  return typeOf(object) === REACT_MEMO_TYPE;\n}\nfunction isPortal(object) {\n  return typeOf(object) === REACT_PORTAL_TYPE;\n}\nfunction isProfiler(object) {\n  return typeOf(object) === REACT_PROFILER_TYPE;\n}\nfunction isStrictMode(object) {\n  return typeOf(object) === REACT_STRICT_MODE_TYPE;\n}\nfunction isSuspense(object) {\n  return typeOf(object) === REACT_SUSPENSE_TYPE;\n}\n\nexports.AsyncMode = AsyncMode;\nexports.ConcurrentMode = ConcurrentMode;\nexports.ContextConsumer = ContextConsumer;\nexports.ContextProvider = ContextProvider;\nexports.Element = Element;\nexports.ForwardRef = ForwardRef;\nexports.Fragment = Fragment;\nexports.Lazy = Lazy;\nexports.Memo = Memo;\nexports.Portal = Portal;\nexports.Profiler = Profiler;\nexports.StrictMode = StrictMode;\nexports.Suspense = Suspense;\nexports.isAsyncMode = isAsyncMode;\nexports.isConcurrentMode = isConcurrentMode;\nexports.isContextConsumer = isContextConsumer;\nexports.isContextProvider = isContextProvider;\nexports.isElement = isElement;\nexports.isForwardRef = isForwardRef;\nexports.isFragment = isFragment;\nexports.isLazy = isLazy;\nexports.isMemo = isMemo;\nexports.isPortal = isPortal;\nexports.isProfiler = isProfiler;\nexports.isStrictMode = isStrictMode;\nexports.isSuspense = isSuspense;\nexports.isValidElementType = isValidElementType;\nexports.typeOf = typeOf;\n  })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-is.production.min.js');\n} else {\n  module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * External dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t// eslint-disable-next-line @wordpress/no-unsafe-wp-apis\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\t__experimentalToggleGroupControl as ToggleGroupControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption, // eslint-disable-line @wordpress/no-unsafe-wp-apis\n} from '@wordpress/components';\nimport {\n\tIcon,\n\tarrowLeft,\n\tarrowRight,\n\tarrowUp,\n\tarrowDown,\n} from '@wordpress/icons';\n\nimport { clsx } from 'clsx';\n\nimport { UnitRangeControl } from '@storepress/components';\n\n/**\n * Internal dependencies\n */\n\nimport './editor.scss';\n\nexport default function Edit({ attributes, setAttributes, clientId }) {\n\tconst {\n\t\torientation,\n\t\tanimationDirection,\n\t\thoverAnimationState,\n\t\tanimationSpeed,\n\t\tgap,\n\t\toverlayColor,\n\t\twhiteSpace,\n\t} = attributes;\n\n\tconst blockProps = useBlockProps({\n\t\tclassName: clsx({\n\t\t\t'has-overlay-color': overlayColor,\n\t\t\t'orientation-x': orientation === 'x',\n\t\t\t'orientation-y': orientation === 'y',\n\t\t}),\n\t\tstyle: {\n\t\t\t'--overlay-color': overlayColor ?? 'transparent',\n\t\t\t'--white-space': whiteSpace,\n\t\t},\n\t});\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst innerBlockProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-storepress-marquee__item',\n\t\t},\n\t\t{\n\t\t\ttemplate: [\n\t\t\t\t[\n\t\t\t\t\t'core/paragraph',\n\t\t\t\t\t{\n\t\t\t\t\t\talign: 'center',\n\t\t\t\t\t\tcontent:\n\t\t\t\t\t\t\t'Marquee block adds a touch of movement and interactivity to your site and help to capture attention and engage your site visitors in a unique way.',\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t],\n\t\t}\n\t);\n\n\tconst setOverlayColor = (newValue) => {\n\t\tsetAttributes({ overlayColor: newValue });\n\t};\n\n\tconst setOrientation = (newValue) => {\n\t\tsetAttributes({ orientation: newValue });\n\t};\n\n\tconst setAnimationDirection = (newValue) => {\n\t\tsetAttributes({ animationDirection: newValue });\n\t};\n\n\tconst setHoverAnimationState = (newValue) => {\n\t\tsetAttributes({ hoverAnimationState: newValue });\n\t};\n\n\tconst setAnimationSpeed = (newValue) => {\n\t\tsetAttributes({ animationSpeed: newValue });\n\t};\n\n\tconst setWhiteSpace = (newValue) => {\n\t\tsetAttributes({ whiteSpace: newValue });\n\t};\n\n\tconst setGap = (newValue) => {\n\t\tsetAttributes({ gap: newValue });\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={__('Settings', 'marquee-block')}>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={__('Orientation', 'marquee-block')}\n\t\t\t\t\t\tvalue={orientation}\n\t\t\t\t\t\tonChange={setOrientation}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"x\"\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t<svg>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\ttransform=\"rotate(45 12 12)\"\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z\"\n\t\t\t\t\t\t\t\t\t\t\t></path>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"y\"\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t<svg>\n\t\t\t\t\t\t\t\t\t\t\t<path\n\t\t\t\t\t\t\t\t\t\t\t\ttransform=\"rotate(135 12 12)\"\n\t\t\t\t\t\t\t\t\t\t\t\td=\"M7 18h4.5v1.5h-7v-7H6V17L17 6h-4.5V4.5h7v7H18V7L7 18Z\"\n\t\t\t\t\t\t\t\t\t\t\t></path>\n\t\t\t\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={__('Animation Direction', 'marquee-block')}\n\t\t\t\t\t\tvalue={animationDirection}\n\t\t\t\t\t\tonChange={setAnimationDirection}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"normal\"\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\torientation === 'x'\n\t\t\t\t\t\t\t\t\t\t\t? arrowLeft\n\t\t\t\t\t\t\t\t\t\t\t: arrowUp\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsize=\"30\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"reverse\"\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\torientation === 'x'\n\t\t\t\t\t\t\t\t\t\t\t? arrowRight\n\t\t\t\t\t\t\t\t\t\t\t: arrowDown\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsize=\"30\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={__('On Hover Animation', 'marquee-block')}\n\t\t\t\t\t\tvalue={hoverAnimationState}\n\t\t\t\t\t\tonChange={setHoverAnimationState}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"paused\"\n\t\t\t\t\t\t\tlabel={__('Pause', 'marquee-block')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"running\"\n\t\t\t\t\t\t\tlabel={__('Continue', 'marquee-block')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\n\t\t\t\t\t<UnitRangeControl\n\t\t\t\t\t\tlabel={__('Animation Speed', 'marquee-block')}\n\t\t\t\t\t\tonChange={setAnimationSpeed}\n\t\t\t\t\t\tvalue={animationSpeed}\n\t\t\t\t\t\tallowedUnits={['s', 'ms']}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelBody title={__('Style', 'marquee-block')}>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={__('White Space', 'marquee-block')}\n\t\t\t\t\t\tvalue={whiteSpace}\n\t\t\t\t\t\tonChange={setWhiteSpace}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"wrap\"\n\t\t\t\t\t\t\tlabel={__('Wrap', 'marquee-block')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"nowrap\"\n\t\t\t\t\t\t\tlabel={__('No Wrap', 'marquee-block')}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\n\t\t\t\t\t<UnitRangeControl\n\t\t\t\t\t\tlabel={__('Content Gap', 'marquee-block')}\n\t\t\t\t\t\tonChange={setGap}\n\t\t\t\t\t\tvalue={gap}\n\t\t\t\t\t\tallowedUnits={['%', 'px', 'em', 'rem']}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\tpanelId={clientId}\n\t\t\t\t\tsettings={[\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __('Overlay color', 'marquee-block'),\n\t\t\t\t\t\t\tcolorValue: overlayColor,\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t},\n\t\t\t\t\t]}\n\t\t\t\t\t{...colorGradientSettings}\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\n\t\t\t<div {...blockProps}>\n\t\t\t\t<div {...innerBlockProps} />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport {};","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"i18n\"];","module.exports = window[\"wp\"][\"primitives\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * External dependencies\n */\nimport { registerBlockType } from '@wordpress/blocks';\nimport { textHorizontal as icon } from '@wordpress/icons';\nimport { InnerBlocks } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport Edit from './edit';\nimport metadata from './block.json';\n\n/**\n * Every block starts by registering a new block type definition.\n *\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/\n */\nregisterBlockType(metadata.name, {\n\t/**\n\t * @see ./edit.js\n\t */\n\ticon,\n\tedit: Edit,\n\tsave: () => <InnerBlocks.Content />,\n});\n"],"names":["__","InspectorControls","useBlockProps","useInnerBlocksProps","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","PanelBody","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","Icon","arrowLeft","arrowRight","arrowUp","arrowDown","clsx","UnitRangeControl","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Edit","attributes","setAttributes","clientId","orientation","animationDirection","hoverAnimationState","animationSpeed","gap","overlayColor","whiteSpace","blockProps","className","style","colorGradientSettings","innerBlockProps","template","align","content","setOverlayColor","newValue","setOrientation","setAnimationDirection","setHoverAnimationState","setAnimationSpeed","setWhiteSpace","setGap","children","title","label","value","onChange","isBlock","icon","transform","d","size","allowedUnits","group","panelId","settings","colorValue","onColorChange","registerBlockType","textHorizontal","InnerBlocks","metadata","name","edit","save","Content"],"sourceRoot":""}
  • marquee-block/trunk/build/marquee/render.php

    r3214417 r3247829  
    1515 * Dynamic Block Template.
    1616 *
    17  * @var   array<string, mixed> $attributes -  A clean associative array of block attributes.
     17 * @var   array<string, mixed> $attributes - A clean associative array of block attributes.
    1818 * @var   WP_Block             $block      - The block instance. All the block settings and attributes.
    1919 * @var   string               $content    - The block inner HTML (usually empty unless using inner blocks).
  • marquee-block/trunk/build/marquee/view-rtl.css

    r3214417 r3247829  
    1 .wp-block-storepress-marquee{--animation-direction:normal;--content-gap:40px;--animation-speed:10s;--overlay-color:transparent;--white-space:wrap;--animation-play-state:paused;--animation-name:storepress-marquee-animation-x;--_animation-transform:calc(-100% - var(--content-gap));align-items:center;display:flex;gap:var(--content-gap);overflow:clip;position:relative}.wp-block-storepress-marquee:hover>.wp-block-storepress-marquee__item{animation-play-state:var(--animation-play-state)}.wp-block-storepress-marquee>.wp-block-storepress-marquee__item{animation:var(--animation-name) var(--animation-speed) linear infinite;animation-direction:var(--animation-direction);flex:1 0 100%;width:100%}@media(prefers-reduced-motion:reduce){.wp-block-storepress-marquee>.wp-block-storepress-marquee__item{animation:none!important}.wp-block-storepress-marquee>.wp-block-storepress-marquee__item.mirror{display:none}}.wp-block-storepress-marquee.orientation-x{flex-direction:row}.wp-block-storepress-marquee.orientation-x>.wp-block-storepress-marquee__item>*{white-space:var(--white-space)}.wp-block-storepress-marquee.orientation-y{flex-direction:column}.wp-block-storepress-marquee.has-overlay-color{isolation:isolate}.wp-block-storepress-marquee.has-overlay-color:after,.wp-block-storepress-marquee.has-overlay-color:before{content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.wp-block-storepress-marquee.has-overlay-color.orientation-x:after,.wp-block-storepress-marquee.has-overlay-color.orientation-x:before{height:100%;width:10%}.wp-block-storepress-marquee.has-overlay-color.orientation-x:before{background:linear-gradient(-270deg,transparent 0,var(--overlay-color) 100%);margin-inline:0 auto}.wp-block-storepress-marquee.has-overlay-color.orientation-x:after{background:linear-gradient(-90deg,transparent 0,var(--overlay-color) 100%);margin-inline:auto 0}.wp-block-storepress-marquee.has-overlay-color.orientation-y:after,.wp-block-storepress-marquee.has-overlay-color.orientation-y:before{height:10%;width:100%}.wp-block-storepress-marquee.has-overlay-color.orientation-y:before{background:linear-gradient(0deg,transparent 0,var(--overlay-color) 100%);margin-block:0 auto}.wp-block-storepress-marquee.has-overlay-color.orientation-y:after{background:linear-gradient(-180deg,transparent 0,var(--overlay-color) 100%);margin-block:auto 0}@keyframes storepress-marquee-animation-x{0%{transform:translateX(0)}to{transform:translateX(var(--_animation-transform))}}@keyframes storepress-marquee-animation-y{0%{transform:translateY(0)}to{transform:translateY(var(--_animation-transform))}}
     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/marquee/view.scss ***!
     3  \**********************************************************************************************************************************************************************************************************************************************/
     4.wp-block-storepress-marquee {
     5  --animation-direction: normal;
     6  --content-gap: 40px;
     7  --animation-speed: 10s;
     8  --overlay-color: transparent;
     9  --white-space: wrap;
     10  --animation-play-state: paused;
     11  --animation-name: storepress-marquee-animation-x;
     12  --_animation-transform: calc(-100% - var(--content-gap));
     13  position: relative;
     14  display: flex;
     15  align-items: center;
     16  gap: var(--content-gap);
     17  overflow: clip;
     18}
     19.wp-block-storepress-marquee:hover > .wp-block-storepress-marquee__item {
     20  animation-play-state: var(--animation-play-state);
     21}
     22.wp-block-storepress-marquee > .wp-block-storepress-marquee__item {
     23  flex: 1 0 100%;
     24  width: 100%;
     25  /*width: 100%;
     26  height: 100%;*/
     27  animation: var(--animation-name) var(--animation-speed) linear infinite;
     28  animation-direction: var(--animation-direction);
     29}
     30@media (prefers-reduced-motion: reduce) {
     31  .wp-block-storepress-marquee > .wp-block-storepress-marquee__item {
     32    animation: none !important;
     33  }
     34  .wp-block-storepress-marquee > .wp-block-storepress-marquee__item.mirror {
     35    display: none;
     36  }
     37}
     38.wp-block-storepress-marquee.orientation-x {
     39  flex-direction: row;
     40}
     41.wp-block-storepress-marquee.orientation-x > .wp-block-storepress-marquee__item > * {
     42  white-space: var(--white-space);
     43}
     44.wp-block-storepress-marquee.orientation-y {
     45  flex-direction: column;
     46}
     47.wp-block-storepress-marquee.orientation-y > .wp-block-storepress-marquee__item {
     48  /*animation-delay: -3s;*/
     49}
     50.wp-block-storepress-marquee.has-overlay-color {
     51  isolation: isolate;
     52}
     53.wp-block-storepress-marquee.has-overlay-color::before, .wp-block-storepress-marquee.has-overlay-color::after {
     54  pointer-events: none;
     55  position: absolute;
     56  content: "";
     57  z-index: 1;
     58  inset: 0;
     59}
     60.wp-block-storepress-marquee.has-overlay-color.orientation-x::before, .wp-block-storepress-marquee.has-overlay-color.orientation-x::after {
     61  width: 10%;
     62  height: 100%;
     63}
     64.wp-block-storepress-marquee.has-overlay-color.orientation-x::before {
     65  background: linear-gradient(-270deg, transparent 0%, var(--overlay-color) 100%);
     66  margin-inline: 0 auto;
     67}
     68.wp-block-storepress-marquee.has-overlay-color.orientation-x::after {
     69  background: linear-gradient(-90deg, transparent 0%, var(--overlay-color) 100%);
     70  margin-inline: auto 0;
     71}
     72.wp-block-storepress-marquee.has-overlay-color.orientation-y::before, .wp-block-storepress-marquee.has-overlay-color.orientation-y::after {
     73  width: 100%;
     74  height: 10%;
     75}
     76.wp-block-storepress-marquee.has-overlay-color.orientation-y::before {
     77  background: linear-gradient(0deg, transparent 0%, var(--overlay-color) 100%);
     78  margin-block: 0 auto;
     79}
     80.wp-block-storepress-marquee.has-overlay-color.orientation-y::after {
     81  background: linear-gradient(-180deg, transparent 0%, var(--overlay-color) 100%);
     82  margin-block: auto 0;
     83}
     84
     85@keyframes storepress-marquee-animation-x {
     86  from {
     87    transform: translateX(0);
     88  }
     89  to {
     90    transform: translateX(var(--_animation-transform));
     91  }
     92}
     93@keyframes storepress-marquee-animation-y {
     94  from {
     95    transform: translateY(0);
     96  }
     97  to {
     98    transform: translateY(var(--_animation-transform));
     99  }
     100}
  • marquee-block/trunk/build/marquee/view.asset.php

    r3214417 r3247829  
    1 <?php return array('dependencies' => array('wp-dom-ready'), 'version' => 'ba8d618aeaf8d7f2fa47');
     1<?php return array('dependencies' => array('wp-dom-ready'), 'version' => '1fa61b68221d4a5d973c');
  • marquee-block/trunk/build/marquee/view.css

    r3214417 r3247829  
    1 .wp-block-storepress-marquee{--animation-direction:normal;--content-gap:40px;--animation-speed:10s;--overlay-color:transparent;--white-space:wrap;--animation-play-state:paused;--animation-name:storepress-marquee-animation-x;--_animation-transform:calc(-100% - var(--content-gap));align-items:center;display:flex;gap:var(--content-gap);overflow:clip;position:relative}.wp-block-storepress-marquee:hover>.wp-block-storepress-marquee__item{animation-play-state:var(--animation-play-state)}.wp-block-storepress-marquee>.wp-block-storepress-marquee__item{animation:var(--animation-name) var(--animation-speed) linear infinite;animation-direction:var(--animation-direction);flex:1 0 100%;width:100%}@media(prefers-reduced-motion:reduce){.wp-block-storepress-marquee>.wp-block-storepress-marquee__item{animation:none!important}.wp-block-storepress-marquee>.wp-block-storepress-marquee__item.mirror{display:none}}.wp-block-storepress-marquee.orientation-x{flex-direction:row}.wp-block-storepress-marquee.orientation-x>.wp-block-storepress-marquee__item>*{white-space:var(--white-space)}.wp-block-storepress-marquee.orientation-y{flex-direction:column}.wp-block-storepress-marquee.has-overlay-color{isolation:isolate}.wp-block-storepress-marquee.has-overlay-color:after,.wp-block-storepress-marquee.has-overlay-color:before{content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.wp-block-storepress-marquee.has-overlay-color.orientation-x:after,.wp-block-storepress-marquee.has-overlay-color.orientation-x:before{height:100%;width:10%}.wp-block-storepress-marquee.has-overlay-color.orientation-x:before{background:linear-gradient(270deg,transparent 0,var(--overlay-color) 100%);margin-inline:0 auto}.wp-block-storepress-marquee.has-overlay-color.orientation-x:after{background:linear-gradient(90deg,transparent 0,var(--overlay-color) 100%);margin-inline:auto 0}.wp-block-storepress-marquee.has-overlay-color.orientation-y:after,.wp-block-storepress-marquee.has-overlay-color.orientation-y:before{height:10%;width:100%}.wp-block-storepress-marquee.has-overlay-color.orientation-y:before{background:linear-gradient(0deg,transparent 0,var(--overlay-color) 100%);margin-block:0 auto}.wp-block-storepress-marquee.has-overlay-color.orientation-y:after{background:linear-gradient(180deg,transparent 0,var(--overlay-color) 100%);margin-block:auto 0}@keyframes storepress-marquee-animation-x{0%{transform:translateX(0)}to{transform:translateX(var(--_animation-transform))}}@keyframes storepress-marquee-animation-y{0%{transform:translateY(0)}to{transform:translateY(var(--_animation-transform))}}
     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/marquee/view.scss ***!
     3  \**********************************************************************************************************************************************************************************************************************************************/
     4.wp-block-storepress-marquee {
     5  --animation-direction: normal;
     6  --content-gap: 40px;
     7  --animation-speed: 10s;
     8  --overlay-color: transparent;
     9  --white-space: wrap;
     10  --animation-play-state: paused;
     11  --animation-name: storepress-marquee-animation-x;
     12  --_animation-transform: calc(-100% - var(--content-gap));
     13  position: relative;
     14  display: flex;
     15  align-items: center;
     16  gap: var(--content-gap);
     17  overflow: clip;
     18}
     19.wp-block-storepress-marquee:hover > .wp-block-storepress-marquee__item {
     20  animation-play-state: var(--animation-play-state);
     21}
     22.wp-block-storepress-marquee > .wp-block-storepress-marquee__item {
     23  flex: 1 0 100%;
     24  width: 100%;
     25  /*width: 100%;
     26  height: 100%;*/
     27  animation: var(--animation-name) var(--animation-speed) linear infinite;
     28  animation-direction: var(--animation-direction);
     29}
     30@media (prefers-reduced-motion: reduce) {
     31  .wp-block-storepress-marquee > .wp-block-storepress-marquee__item {
     32    animation: none !important;
     33  }
     34  .wp-block-storepress-marquee > .wp-block-storepress-marquee__item.mirror {
     35    display: none;
     36  }
     37}
     38.wp-block-storepress-marquee.orientation-x {
     39  flex-direction: row;
     40}
     41.wp-block-storepress-marquee.orientation-x > .wp-block-storepress-marquee__item > * {
     42  white-space: var(--white-space);
     43}
     44.wp-block-storepress-marquee.orientation-y {
     45  flex-direction: column;
     46}
     47.wp-block-storepress-marquee.orientation-y > .wp-block-storepress-marquee__item {
     48  /*animation-delay: -3s;*/
     49}
     50.wp-block-storepress-marquee.has-overlay-color {
     51  isolation: isolate;
     52}
     53.wp-block-storepress-marquee.has-overlay-color::before, .wp-block-storepress-marquee.has-overlay-color::after {
     54  pointer-events: none;
     55  position: absolute;
     56  content: "";
     57  z-index: 1;
     58  inset: 0;
     59}
     60.wp-block-storepress-marquee.has-overlay-color.orientation-x::before, .wp-block-storepress-marquee.has-overlay-color.orientation-x::after {
     61  width: 10%;
     62  height: 100%;
     63}
     64.wp-block-storepress-marquee.has-overlay-color.orientation-x::before {
     65  background: linear-gradient(270deg, transparent 0%, var(--overlay-color) 100%);
     66  margin-inline: 0 auto;
     67}
     68.wp-block-storepress-marquee.has-overlay-color.orientation-x::after {
     69  background: linear-gradient(90deg, transparent 0%, var(--overlay-color) 100%);
     70  margin-inline: auto 0;
     71}
     72.wp-block-storepress-marquee.has-overlay-color.orientation-y::before, .wp-block-storepress-marquee.has-overlay-color.orientation-y::after {
     73  width: 100%;
     74  height: 10%;
     75}
     76.wp-block-storepress-marquee.has-overlay-color.orientation-y::before {
     77  background: linear-gradient(0deg, transparent 0%, var(--overlay-color) 100%);
     78  margin-block: 0 auto;
     79}
     80.wp-block-storepress-marquee.has-overlay-color.orientation-y::after {
     81  background: linear-gradient(180deg, transparent 0%, var(--overlay-color) 100%);
     82  margin-block: auto 0;
     83}
     84
     85@keyframes storepress-marquee-animation-x {
     86  from {
     87    transform: translateX(0);
     88  }
     89  to {
     90    transform: translateX(var(--_animation-transform));
     91  }
     92}
     93@keyframes storepress-marquee-animation-y {
     94  from {
     95    transform: translateY(0);
     96  }
     97  to {
     98    transform: translateY(var(--_animation-transform));
     99  }
     100}
     101
     102/*# sourceMappingURL=view.css.map*/
  • marquee-block/trunk/build/marquee/view.js

    r3136609 r3247829  
    1 (()=>{"use strict";var e={n:t=>{var r=t&&t.__esModule?()=>t.default:()=>t;return e.d(r,{a:r}),r},d:(t,r)=>{for(var o in r)e.o(r,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:r[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)};const t=window.wp.domReady;e.n(t)()((function(){if(!0===window.matchMedia("(prefers-reduced-motion: reduce)")||!0===window.matchMedia("(prefers-reduced-motion: reduce)").matches)return!1;document.querySelectorAll(".wp-block-storepress-marquee.orientation-y .wp-block-storepress-marquee__item").forEach((function(e){e.parentNode.style.height=!1;const{height:t}=e.getBoundingClientRect();e.parentNode.style.height=`${t}px`}))}))})();
     1/******/ (() => { // webpackBootstrap
     2/******/    "use strict";
     3/******/    var __webpack_modules__ = ({
     4
     5/***/ "./src/marquee/view.scss":
     6/*!*******************************!*\
     7  !*** ./src/marquee/view.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/***/ "@wordpress/dom-ready":
     18/*!**********************************!*\
     19  !*** external ["wp","domReady"] ***!
     20  \**********************************/
     21/***/ ((module) => {
     22
     23module.exports = window["wp"]["domReady"];
     24
     25/***/ })
     26
     27/******/    });
     28/************************************************************************/
     29/******/    // The module cache
     30/******/    var __webpack_module_cache__ = {};
     31/******/   
     32/******/    // The require function
     33/******/    function __webpack_require__(moduleId) {
     34/******/        // Check if module is in cache
     35/******/        var cachedModule = __webpack_module_cache__[moduleId];
     36/******/        if (cachedModule !== undefined) {
     37/******/            return cachedModule.exports;
     38/******/        }
     39/******/        // Create a new module (and put it into the cache)
     40/******/        var module = __webpack_module_cache__[moduleId] = {
     41/******/            // no module.id needed
     42/******/            // no module.loaded needed
     43/******/            exports: {}
     44/******/        };
     45/******/   
     46/******/        // Execute the module function
     47/******/        __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
     48/******/   
     49/******/        // Return the exports of the module
     50/******/        return module.exports;
     51/******/    }
     52/******/   
     53/************************************************************************/
     54/******/    /* webpack/runtime/compat get default export */
     55/******/    (() => {
     56/******/        // getDefaultExport function for compatibility with non-harmony modules
     57/******/        __webpack_require__.n = (module) => {
     58/******/            var getter = module && module.__esModule ?
     59/******/                () => (module['default']) :
     60/******/                () => (module);
     61/******/            __webpack_require__.d(getter, { a: getter });
     62/******/            return getter;
     63/******/        };
     64/******/    })();
     65/******/   
     66/******/    /* webpack/runtime/define property getters */
     67/******/    (() => {
     68/******/        // define getter functions for harmony exports
     69/******/        __webpack_require__.d = (exports, definition) => {
     70/******/            for(var key in definition) {
     71/******/                if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
     72/******/                    Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
     73/******/                }
     74/******/            }
     75/******/        };
     76/******/    })();
     77/******/   
     78/******/    /* webpack/runtime/hasOwnProperty shorthand */
     79/******/    (() => {
     80/******/        __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
     81/******/    })();
     82/******/   
     83/******/    /* webpack/runtime/make namespace object */
     84/******/    (() => {
     85/******/        // define __esModule on exports
     86/******/        __webpack_require__.r = (exports) => {
     87/******/            if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
     88/******/                Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
     89/******/            }
     90/******/            Object.defineProperty(exports, '__esModule', { value: true });
     91/******/        };
     92/******/    })();
     93/******/   
     94/************************************************************************/
     95var __webpack_exports__ = {};
     96// This entry needs to be wrapped in an IIFE because it needs to be isolated against other modules in the chunk.
     97(() => {
     98/*!*****************************!*\
     99  !*** ./src/marquee/view.js ***!
     100  \*****************************/
     101__webpack_require__.r(__webpack_exports__);
     102/* harmony import */ var _wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/dom-ready */ "@wordpress/dom-ready");
     103/* harmony import */ var _wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_0__);
     104/* harmony import */ var _view_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./view.scss */ "./src/marquee/view.scss");
     105/**
     106 * External dependencies
     107 */
     108
     109
     110/**
     111 * Internal dependencies
     112 *
     113 */
     114
     115function storepressMarqueeBlockHeight() {
     116  document.querySelectorAll('.wp-block-storepress-marquee.orientation-y .wp-block-storepress-marquee__item').forEach(function (el) {
     117    el.parentNode.style.height = false;
     118    const {
     119      height
     120    } = el.getBoundingClientRect();
     121    el.parentNode.style.height = `${height}px`;
     122  });
     123}
     124_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_0___default()(function () {
     125  const isReduced = window.matchMedia(`(prefers-reduced-motion: reduce)`) === true || window.matchMedia(`(prefers-reduced-motion: reduce)`).matches === true;
     126  if (isReduced) {
     127    return false;
     128  }
     129  storepressMarqueeBlockHeight();
     130});
     131})();
     132
     133/******/ })()
     134;
     135//# sourceMappingURL=view.js.map
  • marquee-block/trunk/changelog.txt

    r3214417 r3247829  
    1 == Marquee Block ==
     1*** Marquee Block ***
    22
    3 = 1.1.0 - 2024-12-29 =
     32025-02-27 - version 1.1.1
     4* Updated - Textdomain load.
    45
    5 * Change settings and layout.
     62024-12-29 - version 1.1.0
     7* Updated - Settings and layout.
    68
    7 = 1.0.4 - 2024-10-24 =
     92024-10-24 - version 1.0.4
     10* Updated - WordPress packages.
    811
    9 * Update wp packages.
     122024-09-15 - version 1.0.3
     13* Updated - Modify helper methods.
    1014
    11 = 1.0.3 - 2024-09-15 =
     152024-08-19 - version 1.0.2
     16* Added - whitespace option.
    1217
    13 * Modify helper methods.
     182024-08-18 - version 1.0.1
     19* Added - Support SVG Output.
    1420
    15 = 1.0.2 - 2024-08-19 =
    16 
    17 * Add whitespace option.
    18 
    19 = 1.0.1 - 2024-08-18 =
    20 
    21 * Support SVG Output.
    22 
    23 = 1.0.0 - 2024-08-16 =
    24 
     212024-08-16 - version 1.0.0
    2522* Initial release.
  • marquee-block/trunk/includes/Blocks.php

    r3214417 r3247829  
    2121class Blocks {
    2222
     23    use Singleton;
    2324    use Common;
    2425
  • marquee-block/trunk/includes/Common.php

    r3214417 r3247829  
    1616trait Common {
    1717    /**
    18      * Return singleton instance of Class.
    19      * The instance will be created if it does not exist yet.
    20      *
    21      * @return self The main instance.
    22      * @since 1.0.0
    23      */
    24     public static function instance(): self {
    25         static $instance = null;
    26         if ( is_null( $instance ) ) {
    27             $instance = new self();
    28         }
    29 
    30         return $instance;
     18     * Get data if set, otherwise return a default value or null. Prevents notices when data is not set.
     19     *
     20     * @param mixed $variable      Variable.
     21     * @param mixed $default_value Default value.
     22     *
     23     * @return mixed
     24     * @since  1.0.0
     25     */
     26    public function get_var( $variable, $default_value = null ) {
     27        return true === isset( $variable ) ? $variable : $default_value;
     28    }
     29
     30    /**
     31     * Get $_GET data if set, otherwise return a default value or null. Prevents notices when data is not set.
     32     *
     33     * @param string $variable      Variable.
     34     * @param mixed  $default_value Default value.
     35     *
     36     * @return mixed
     37     * @since  1.0.0
     38     */
     39    public function http_get_var( string $variable = '', $default_value = null ) {
     40        $get_data = $_GET; // phpcs:ignore WordPress.Security.NonceVerification.Recommended
     41        if ( $this->is_empty_string( $variable ) ) {
     42            return $this->is_empty_array( $get_data ) ? false : $get_data;
     43        }
     44
     45        return $this->get_var( $get_data[ $variable ], $default_value );
     46    }
     47
     48    /**
     49     * Get $_POST data if set, otherwise return a default value or null. Prevents notices when data is not set.
     50     *
     51     * @param string $variable      Variable.
     52     * @param mixed  $default_value Default value.
     53     *
     54     * @return mixed
     55     * @since  1.0.0
     56     */
     57    public function http_post_var( string $variable = '', $default_value = null ) {
     58        $post_data = $_POST; // phpcs:ignore WordPress.Security.NonceVerification.Missing
     59        if ( $this->is_empty_string( $variable ) ) {
     60            return $this->is_empty_array( $post_data ) ? false : $post_data;
     61        }
     62
     63        return $this->get_var( $post_data[ $variable ], $default_value );
    3164    }
    3265
     
    3871     *
    3972     * @return string
    40      */
    41     public function get_html_attributes(
    42         array $attributes,
    43         array $exclude = array()
    44     ): string {
     73     * @since  1.0.0
     74     */
     75    public function get_html_attributes( array $attributes, array $exclude = array() ): string {
    4576        $attrs = array();
    4677
     
    5283
    5384            // Skip if attribute value is blank.
    54             if ( is_string( $attribute_value )
    55                 && $this->is_empty_string( $attribute_value )
    56             ) {
     85            if ( is_string( $attribute_value ) && $this->is_empty_string( $attribute_value ) ) {
    5786                continue;
    5887            }
     
    71100            if ( is_array( $attribute_value ) ) {
    72101                if ( 'class' === $attribute_name ) {
    73                     $attribute_value
    74                         = $this->get_css_classes( $attribute_value );
     102                    $attribute_value = $this->get_css_classes( $attribute_value );
    75103                } else {
    76104                    $attribute_value = wp_json_encode( $attribute_value );
     
    84112            }
    85113
    86             $attrs[] = sprintf(
    87                 '%s="%s"',
    88                 esc_attr( $attribute_name ),
    89                 esc_attr( $attribute_value )
    90             );
     114            $attrs[] = sprintf( '%s="%s"', esc_attr( $attribute_name ), esc_attr( $attribute_value ) );
    91115        }
    92116
     
    122146            }
    123147
    124             $styles[] = sprintf(
    125                 '%s: %s;',
    126                 esc_attr( $property ),
    127                 esc_attr( $value )
    128             );
     148            $styles[] = sprintf( '%s: %s;', esc_attr( $property ), esc_attr( $value ) );
    129149        }
    130150
     
    167187            }
    168188
    169             if ( is_string( $should_include )
    170                 && $this->is_empty_string( $should_include )
    171             ) {
     189            if ( is_string( $should_include ) && $this->is_empty_string( $should_include ) ) {
    172190                continue;
    173191            }
     
    177195            }
    178196
    179             if ( is_array( $should_include )
    180                 && $this->is_empty_array( $should_include )
    181             ) {
     197            if ( is_array( $should_include ) && $this->is_empty_array( $should_include ) ) {
    182198                continue;
    183199            }
     
    189205
    190206        return implode( ' ', array_unique( $classes ) );
    191     }
    192 
    193     /**
    194      * Converts a string (e.g. 'yes' or 'no') to a bool.
    195      *
    196      * @param string|bool $value String to convert. If a bool is passed it will be returned as-is.
    197      *
    198      * @return bool
    199      * @since      1.0.0
    200      */
    201     public function string_to_boolean( $value ): bool {
    202         return filter_var( $value, FILTER_VALIDATE_BOOLEAN );
    203     }
    204 
    205     /**
    206      * Converts a bool to a 'yes' or 'no'.
    207      *
    208      * @param bool|string $value        Bool to convert. If a string is passed it will first be converted to a bool.
    209      * @param string      $true_string  Truth string.
    210      * @param string      $false_string Falsy string.
    211      *
    212      * @return string
    213      * @since 1.0.0
    214      */
    215     public function boolean_to_string( $value, string $true_string = 'yes', string $false_string = 'no' ): string {
    216         return $this->string_to_boolean( $value ) ? $true_string : $false_string;
    217207    }
    218208
     
    239229            function ( $value ) {
    240230                if ( is_array( $value ) && ! $this->is_array_each_empty_value( $value ) ) {
    241                         return true;
     231                    return true;
    242232                }
    243233
     
    252242                return false;
    253243            },
    254             $items 
     244            $items
    255245        );
    256246
     
    268258        return 0 === count( $items );
    269259    }
     260
     261    /**
     262     * Converts a bool to a 'yes' or 'no'.
     263     *
     264     * @param mixed $check_value Bool to convert. If a string is passed it will first be converted to a bool.
     265     *
     266     * @return string
     267     * @since 1.0.0
     268     */
     269    public function boolean_to_string( $check_value ): string {
     270        $value = $this->string_to_boolean( $check_value );
     271
     272        return true === $value ? 'yes' : 'no';
     273    }
     274
     275    /**
     276     * Converts a string (e.g. 'yes' or 'no') to a bool.
     277     * Recognizing words like Yes, No, Off, On, both string and native types of true and false,
     278     * and is not case-sensitive when validating strings.
     279     *
     280     * @param mixed $check_value String to convert. If a bool is passed it will be returned as-is.
     281     *
     282     * @return boolean
     283     * @since      1.0.0
     284     */
     285    public function string_to_boolean( $check_value ): bool {
     286        return filter_var( $check_value, FILTER_VALIDATE_BOOLEAN );
     287    }
    270288}
  • marquee-block/trunk/includes/Plugin.php

    r3214417 r3247829  
    4848            $this->init();
    4949        } catch ( Exception $e ) {
    50             wp_trigger_error( __METHOD__, $e->getMessage() );
     50            $message = sprintf( '<strong>%s:</strong> %s', $this->name(), $e->getMessage() );
     51            add_action(
     52                'admin_notices',
     53                function () use ( $message ) {
     54                    printf( '<div class="notice notice-error"><p>%s</p></div>', wp_kses_data( $message ) );
     55                },
     56                50
     57            );
    5158        }
    5259
     
    7279
    7380    /**
     81     * Get Plugin Name.
     82     *
     83     * @return string
     84     * @since 1.0.0
     85     */
     86    public function name(): string {
     87        static $names;
     88
     89        if ( is_null( $names ) ) {
     90            $names = get_file_data( $this->get_plugin_file(), array( 'Plugin Name' ) );
     91        }
     92
     93        return esc_attr( $names[0] );
     94    }
     95
     96    /**
    7497     * Get Plugin Version.
    7598     *
     
    124147    public function hooks() {
    125148        // Register with hook.
     149        add_action( 'init', array( $this, 'load_translations' ) );
     150    }
     151
     152    /**
     153     * Load Plugin Translation Files.
     154     *
     155     * @return void
     156     */
     157    public function load_translations() {
     158        load_plugin_textdomain( 'marquee-block', false, $this->plugin_dirname() . '/languages' );
    126159    }
    127160
     
    153186     */
    154187    public function plugin_dirname(): string {
    155         return dirname( plugin_basename( $this->get_plugin_file() ) );
     188        return untrailingslashit( dirname( plugin_basename( $this->get_plugin_file() ) ) );
    156189    }
    157190
  • marquee-block/trunk/marquee-block.php

    r3214417 r3247829  
    99 * Plugin URI:        https://wordpress.org/plugins/marquee-block
    1010 * Description:       Marquee block adds a touch of movement and interactivity to your site and help to capture attention and engage your site visitors in a unique way.
    11  * Version:           1.1.0
     11 * Version:           1.1.1
    1212 * Requires at least: 6.4
    1313 * Requires PHP:      7.4
     
    3434}
    3535
    36 // Include the Plugin class.
    37 if ( ! class_exists( 'StorePress\MarqueeBlock\Plugin' ) ) {
    38     require_once plugin_dir_path( __FILE__ ) . '/includes/Plugin.php';
    39 }
    40 
    4136/**
    4237 * The function that always returns the same instance to ensure only one instance exists in the global scope at any time.
     
    5651 */
    5752function marquee_block_plugin_init() {
    58     // Load Plugin TextDomain.
    59     load_plugin_textdomain( 'marquee-block', false, plugin_dir_path( __FILE__ ) . 'languages' );
     53    // Include the Plugin class.
     54    if ( ! class_exists( 'StorePress\MarqueeBlock\Plugin' ) ) {
     55        require_once plugin_dir_path( __FILE__ ) . '/includes/Plugin.php';
     56    }
    6057
    6158    // Init Plugin.
  • marquee-block/trunk/vendor/autoload.php

    r3214417 r3247829  
    2323require_once __DIR__ . '/composer/autoload_real.php';
    2424
    25 return ComposerAutoloaderInit8931f25594b75bce8796848896a616e0::getLoader();
     25return ComposerAutoloaderInita8c5d613fd521d564527938edbd01487::getLoader();
  • marquee-block/trunk/vendor/autoload_packages.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/automattic/jetpack-autoloader/CHANGELOG.md

    r3214417 r3247829  
    55The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
    66and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
     7
     8## [5.0.2] - 2025-02-24
     9### Changed
     10- Internal updates.
     11
     12## [5.0.1] - 2025-01-20
     13### Changed
     14- Code: Use function-style exit() and die() with a default status code of 0. [#41167]
    715
    816## [5.0.0] - 2024-11-25
     
    399407- Add Custom Autoloader
    400408
     409[5.0.2]: https://github.com/Automattic/jetpack-autoloader/compare/v5.0.1...v5.0.2
     410[5.0.1]: https://github.com/Automattic/jetpack-autoloader/compare/v5.0.0...v5.0.1
    401411[5.0.0]: https://github.com/Automattic/jetpack-autoloader/compare/v4.0.0...v5.0.0
    402412[4.0.0]: https://github.com/Automattic/jetpack-autoloader/compare/v3.1.3...v4.0.0
  • marquee-block/trunk/vendor/automattic/jetpack-autoloader/composer.json

    r3214417 r3247829  
    1919        "composer/composer": "^2.2",
    2020        "yoast/phpunit-polyfills": "^1.1.1",
    21         "automattic/jetpack-changelogger": "^5.1.0"
     21        "automattic/jetpack-changelogger": "^6.0.0"
    2222    },
    2323    "autoload": {
  • marquee-block/trunk/vendor/automattic/jetpack-autoloader/src/AutoloadGenerator.php

    r3214417 r3247829  
    2222class AutoloadGenerator {
    2323
    24     const VERSION = '5.0.0';
     24    const VERSION = '5.0.2';
    2525
    2626    /**
  • marquee-block/trunk/vendor/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php

    r3136609 r3247829  
    105105            $this->io->writeError( 'The project\'s composer.json or composer environment set a non-default vendor directory.', true );
    106106            $this->io->writeError( 'The default composer vendor directory must be used.</error>', true );
    107             exit();
     107            exit( 0 );
    108108        }
    109109
     
    175175        if ( empty( $requires ) ) {
    176176            $this->io->writeError( "\n<error>The package is not required and this should never happen?</error>", true );
    177             exit();
     177            exit( 0 );
    178178        }
    179179
  • marquee-block/trunk/vendor/composer/autoload_classmap.php

    r3136609 r3247829  
    1616    'StorePress\\MarqueeBlock\\Common' => $baseDir . '/includes/Common.php',
    1717    'StorePress\\MarqueeBlock\\Plugin' => $baseDir . '/includes/Plugin.php',
     18    'StorePress\\MarqueeBlock\\Singleton' => $baseDir . '/includes/Singleton.php',
    1819);
  • marquee-block/trunk/vendor/composer/autoload_real.php

    r3214417 r3247829  
    33// autoload_real.php @generated by Composer
    44
    5 class ComposerAutoloaderInit8931f25594b75bce8796848896a616e0
     5class ComposerAutoloaderInita8c5d613fd521d564527938edbd01487
    66{
    77    private static $loader;
     
    2525        require __DIR__ . '/platform_check.php';
    2626
    27         spl_autoload_register(array('ComposerAutoloaderInit8931f25594b75bce8796848896a616e0', 'loadClassLoader'), true, true);
     27        spl_autoload_register(array('ComposerAutoloaderInita8c5d613fd521d564527938edbd01487', 'loadClassLoader'), true, true);
    2828        self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
    29         spl_autoload_unregister(array('ComposerAutoloaderInit8931f25594b75bce8796848896a616e0', 'loadClassLoader'));
     29        spl_autoload_unregister(array('ComposerAutoloaderInita8c5d613fd521d564527938edbd01487', 'loadClassLoader'));
    3030
    3131        require __DIR__ . '/autoload_static.php';
    32         call_user_func(\Composer\Autoload\ComposerStaticInit8931f25594b75bce8796848896a616e0::getInitializer($loader));
     32        call_user_func(\Composer\Autoload\ComposerStaticInita8c5d613fd521d564527938edbd01487::getInitializer($loader));
    3333
    3434        $loader->register(true);
  • marquee-block/trunk/vendor/composer/autoload_static.php

    r3214417 r3247829  
    55namespace Composer\Autoload;
    66
    7 class ComposerStaticInit8931f25594b75bce8796848896a616e0
     7class ComposerStaticInita8c5d613fd521d564527938edbd01487
    88{
    99    public static $prefixLengthsPsr4 = array (
     
    3939        'StorePress\\MarqueeBlock\\Common' => __DIR__ . '/../..' . '/includes/Common.php',
    4040        'StorePress\\MarqueeBlock\\Plugin' => __DIR__ . '/../..' . '/includes/Plugin.php',
     41        'StorePress\\MarqueeBlock\\Singleton' => __DIR__ . '/../..' . '/includes/Singleton.php',
    4142    );
    4243
     
    4445    {
    4546        return \Closure::bind(function () use ($loader) {
    46             $loader->prefixLengthsPsr4 = ComposerStaticInit8931f25594b75bce8796848896a616e0::$prefixLengthsPsr4;
    47             $loader->prefixDirsPsr4 = ComposerStaticInit8931f25594b75bce8796848896a616e0::$prefixDirsPsr4;
    48             $loader->classMap = ComposerStaticInit8931f25594b75bce8796848896a616e0::$classMap;
     47            $loader->prefixLengthsPsr4 = ComposerStaticInita8c5d613fd521d564527938edbd01487::$prefixLengthsPsr4;
     48            $loader->prefixDirsPsr4 = ComposerStaticInita8c5d613fd521d564527938edbd01487::$prefixDirsPsr4;
     49            $loader->classMap = ComposerStaticInita8c5d613fd521d564527938edbd01487::$classMap;
    4950
    5051        }, null, ClassLoader::class);
  • marquee-block/trunk/vendor/composer/installed.json

    r3214417 r3247829  
    33        {
    44            "name": "automattic/jetpack-autoloader",
    5             "version": "v5.0.0",
    6             "version_normalized": "5.0.0.0",
     5            "version": "v5.0.2",
     6            "version_normalized": "5.0.2.0",
    77            "source": {
    88                "type": "git",
    99                "url": "https://github.com/Automattic/jetpack-autoloader.git",
    10                 "reference": "eb6331a5c50a03afd9896ce012e66858de9c49c5"
     10                "reference": "495ec34a198ffc160d77e9393a6bdc461c4f06f1"
    1111            },
    1212            "dist": {
    1313                "type": "zip",
    14                 "url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/eb6331a5c50a03afd9896ce012e66858de9c49c5",
    15                 "reference": "eb6331a5c50a03afd9896ce012e66858de9c49c5",
     14                "url": "https://api.github.com/repos/Automattic/jetpack-autoloader/zipball/495ec34a198ffc160d77e9393a6bdc461c4f06f1",
     15                "reference": "495ec34a198ffc160d77e9393a6bdc461c4f06f1",
    1616                "shasum": ""
    1717            },
     
    2121            },
    2222            "require-dev": {
    23                 "automattic/jetpack-changelogger": "^5.1.0",
     23                "automattic/jetpack-changelogger": "^6.0.0",
    2424                "composer/composer": "^2.2",
    2525                "yoast/phpunit-polyfills": "^1.1.1"
    2626            },
    27             "time": "2024-11-25T16:33:57+00:00",
     27            "time": "2025-02-24T17:06:04+00:00",
    2828            "type": "composer-plugin",
    2929            "extra": {
     
    6464            ],
    6565            "support": {
    66                 "source": "https://github.com/Automattic/jetpack-autoloader/tree/v5.0.0"
     66                "source": "https://github.com/Automattic/jetpack-autoloader/tree/v5.0.2"
    6767            },
    6868            "install-path": "../automattic/jetpack-autoloader"
  • marquee-block/trunk/vendor/composer/installed.php

    r3214417 r3247829  
    44        'pretty_version' => 'dev-master',
    55        'version' => 'dev-master',
    6         'reference' => '40fb8cb941eb89131d99a08be59078f79527da68',
     6        'reference' => 'e433db9a200d2211a3114328a4f7aba62aee4581',
    77        'type' => 'wordpress-plugin',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        'automattic/jetpack-autoloader' => array(
    14             'pretty_version' => 'v5.0.0',
    15             'version' => '5.0.0.0',
    16             'reference' => 'eb6331a5c50a03afd9896ce012e66858de9c49c5',
     14            'pretty_version' => 'v5.0.2',
     15            'version' => '5.0.2.0',
     16            'reference' => '495ec34a198ffc160d77e9393a6bdc461c4f06f1',
    1717            'type' => 'composer-plugin',
    1818            'install_path' => __DIR__ . '/../automattic/jetpack-autoloader',
     
    2323            'pretty_version' => 'dev-master',
    2424            'version' => 'dev-master',
    25             'reference' => '40fb8cb941eb89131d99a08be59078f79527da68',
     25            'reference' => 'e433db9a200d2211a3114328a4f7aba62aee4581',
    2626            'type' => 'wordpress-plugin',
    2727            'install_path' => __DIR__ . '/../../',
  • marquee-block/trunk/vendor/composer/jetpack_autoload_classmap.php

    r3214417 r3247829  
    88return array(
    99    'Autoloader' => array(
    10         'version' => '5.0.0',
     10        'version' => '5.0.2',
    1111        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-autoloader.php'
    1212    ),
    1313    'Autoloader_Handler' => array(
    14         'version' => '5.0.0',
     14        'version' => '5.0.2',
    1515        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-autoloader-handler.php'
    1616    ),
    1717    'Autoloader_Locator' => array(
    18         'version' => '5.0.0',
     18        'version' => '5.0.2',
    1919        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-autoloader-locator.php'
    2020    ),
    2121    'Automattic\\Jetpack\\Autoloader\\AutoloadFileWriter' => array(
    22         'version' => '5.0.0',
     22        'version' => '5.0.2',
    2323        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadFileWriter.php'
    2424    ),
    2525    'Automattic\\Jetpack\\Autoloader\\AutoloadGenerator' => array(
    26         'version' => '5.0.0',
     26        'version' => '5.0.2',
    2727        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadGenerator.php'
    2828    ),
    2929    'Automattic\\Jetpack\\Autoloader\\AutoloadProcessor' => array(
    30         'version' => '5.0.0',
     30        'version' => '5.0.2',
    3131        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/AutoloadProcessor.php'
    3232    ),
    3333    'Automattic\\Jetpack\\Autoloader\\CustomAutoloaderPlugin' => array(
    34         'version' => '5.0.0',
     34        'version' => '5.0.2',
    3535        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/CustomAutoloaderPlugin.php'
    3636    ),
    3737    'Automattic\\Jetpack\\Autoloader\\ManifestGenerator' => array(
    38         'version' => '5.0.0',
     38        'version' => '5.0.2',
    3939        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/ManifestGenerator.php'
    4040    ),
    4141    'Container' => array(
    42         'version' => '5.0.0',
     42        'version' => '5.0.2',
    4343        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-container.php'
    4444    ),
    4545    'Hook_Manager' => array(
    46         'version' => '5.0.0',
     46        'version' => '5.0.2',
    4747        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-hook-manager.php'
    4848    ),
    4949    'Latest_Autoloader_Guard' => array(
    50         'version' => '5.0.0',
     50        'version' => '5.0.2',
    5151        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-latest-autoloader-guard.php'
    5252    ),
    5353    'Manifest_Reader' => array(
    54         'version' => '5.0.0',
     54        'version' => '5.0.2',
    5555        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-manifest-reader.php'
    5656    ),
    5757    'PHP_Autoloader' => array(
    58         'version' => '5.0.0',
     58        'version' => '5.0.2',
    5959        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-php-autoloader.php'
    6060    ),
    6161    'Path_Processor' => array(
    62         'version' => '5.0.0',
     62        'version' => '5.0.2',
    6363        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-path-processor.php'
    6464    ),
    6565    'Plugin_Locator' => array(
    66         'version' => '5.0.0',
     66        'version' => '5.0.2',
    6767        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-plugin-locator.php'
    6868    ),
    6969    'Plugins_Handler' => array(
    70         'version' => '5.0.0',
     70        'version' => '5.0.2',
    7171        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-plugins-handler.php'
    7272    ),
    7373    'Shutdown_Handler' => array(
    74         'version' => '5.0.0',
     74        'version' => '5.0.2',
    7575        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-shutdown-handler.php'
    7676    ),
     
    8787        'path'    => $baseDir . '/includes/Plugin.php'
    8888    ),
     89    'StorePress\\MarqueeBlock\\Singleton' => array(
     90        'version' => 'dev-master',
     91        'path'    => $baseDir . '/includes/Singleton.php'
     92    ),
    8993    'Version_Loader' => array(
    90         'version' => '5.0.0',
     94        'version' => '5.0.2',
    9195        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-version-loader.php'
    9296    ),
    9397    'Version_Selector' => array(
    94         'version' => '5.0.0',
     98        'version' => '5.0.2',
    9599        'path'    => $vendorDir . '/automattic/jetpack-autoloader/src/class-version-selector.php'
    96100    ),
  • marquee-block/trunk/vendor/jetpack-autoloader/class-autoloader-handler.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/jetpack-autoloader/class-autoloader-locator.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/jetpack-autoloader/class-autoloader.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/jetpack-autoloader/class-container.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/jetpack-autoloader/class-hook-manager.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/jetpack-autoloader/class-latest-autoloader-guard.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/jetpack-autoloader/class-manifest-reader.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/jetpack-autoloader/class-path-processor.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/jetpack-autoloader/class-php-autoloader.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/jetpack-autoloader/class-plugin-locator.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/jetpack-autoloader/class-plugins-handler.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/jetpack-autoloader/class-shutdown-handler.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/jetpack-autoloader/class-version-loader.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
  • marquee-block/trunk/vendor/jetpack-autoloader/class-version-selector.php

    r3214417 r3247829  
    66 */
    77
    8 namespace Automattic\Jetpack\Autoloader\jp8931f25594b75bce8796848896a616e0\al5_0_0;
     8namespace Automattic\Jetpack\Autoloader\jpa8c5d613fd521d564527938edbd01487\al5_0_2;
    99
    1010 // phpcs:ignore
Note: See TracChangeset for help on using the changeset viewer.