From dab74f8bd53a845219182fa6fa17581669224439 Mon Sep 17 00:00:00 2001 From: eoxia-amandine Date: Thu, 28 Nov 2024 10:43:51 +0100 Subject: [PATCH] #21 [Blocks] add: sticky option mobile --- blocks/build/eo-sticky/block.json | 8 ++ blocks/build/eo-sticky/index.asset.php | 2 +- blocks/build/eo-sticky/index.js | 26 +++- blocks/build/eo-sticky/index.js.map | 2 +- blocks/build/eo-sticky/render.php | 25 ++-- blocks/build/eo-sticky/style-index-rtl.css | 137 +++++++++++++++------ blocks/build/eo-sticky/style-index.css | 137 +++++++++++++++------ blocks/build/eo-sticky/style-index.css.map | 2 +- blocks/build/eo-sticky/view.asset.php | 2 +- blocks/build/eo-sticky/view.js | 9 +- blocks/build/eo-sticky/view.js.map | 2 +- blocks/src/eo-sticky/block.json | 8 ++ blocks/src/eo-sticky/edit.js | 23 +++- blocks/src/eo-sticky/render.php | 25 ++-- blocks/src/eo-sticky/scss/_mobile.scss | 79 ++++++++++++ blocks/src/eo-sticky/scss/style.scss | 132 ++++++++++---------- blocks/src/eo-sticky/view.js | 6 + 17 files changed, 455 insertions(+), 170 deletions(-) create mode 100644 blocks/src/eo-sticky/scss/_mobile.scss diff --git a/blocks/build/eo-sticky/block.json b/blocks/build/eo-sticky/block.json index 5877a70..539b1e3 100644 --- a/blocks/build/eo-sticky/block.json +++ b/blocks/build/eo-sticky/block.json @@ -20,6 +20,14 @@ "verticalGapPercent": { "type": "number", "default": 0 + }, + "displayMobile": { + "type": "boolean", + "default": true + }, + "styleMobile": { + "type": "string", + "default": "standard" } }, "supports": { diff --git a/blocks/build/eo-sticky/index.asset.php b/blocks/build/eo-sticky/index.asset.php index 4d82fec..996ad23 100644 --- a/blocks/build/eo-sticky/index.asset.php +++ b/blocks/build/eo-sticky/index.asset.php @@ -1 +1 @@ - array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '4a88043ba9ae301315f0'); + array('react', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '1ee234298f6e4a660bce'); diff --git a/blocks/build/eo-sticky/index.js b/blocks/build/eo-sticky/index.js index 6d40c08..4e17e45 100644 --- a/blocks/build/eo-sticky/index.js +++ b/blocks/build/eo-sticky/index.js @@ -124,6 +124,7 @@ __webpack_require__.r(__webpack_exports__); + /** * Lets webpack process CSS, SASS or SCSS files referenced in JavaScript files. * Those files can contain any CSS code that gets applied to the editor. @@ -206,7 +207,28 @@ function Edit({ renderTooltipContent: gapPercentTooltip })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.PanelBody, { title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Mobile settings', 'eo-blocks') - })), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { + }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.ToggleControl, { + label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Show in mobile', 'eo-blocks'), + checked: attributes.displayMobile, + onChange: value => setAttributes({ + displayMobile: value + }) + }), attributes.displayMobile && (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.__experimentalToggleGroupControl, { + label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Style in mobile', 'eo-blocks'), + isBlock: true, + __nextHasNoMarginBottom: true, + __next40pxDefaultSize: true, + value: attributes.styleMobile, + onChange: value => setAttributes({ + styleMobile: value + }) + }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.__experimentalToggleGroupControlOption, { + value: "standard", + label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Standard', 'eo-blocks') + }), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.__experimentalToggleGroupControlOption, { + value: "menu", + label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)('Menu', 'eo-blocks') + })))), (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { ...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__.useBlockProps)() }, (0,react__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_2__.InnerBlocks, null))); } @@ -1736,7 +1758,7 @@ module.exports = window["wp"]["primitives"]; \*****************************************/ /***/ ((module) => { -module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"eo/sticky","version":"1.0.0","title":"Sticky","category":"eo-blocks","icon":"smiley","description":"Display sticky block","example":{},"attributes":{"contentPosition":{"type":"string","default":"top right"},"horizontalGapPercent":{"type":"number","default":0},"verticalGapPercent":{"type":"number","default":0}},"supports":{"color":{"background":"true","color":"true"},"spacing":{"margin":false,"padding":true,"blockGap":true}},"textdomain":"accordion","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","render":"file:./render.php","viewScript":"file:./view.js"}'); +module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"eo/sticky","version":"1.0.0","title":"Sticky","category":"eo-blocks","icon":"smiley","description":"Display sticky block","example":{},"attributes":{"contentPosition":{"type":"string","default":"top right"},"horizontalGapPercent":{"type":"number","default":0},"verticalGapPercent":{"type":"number","default":0},"displayMobile":{"type":"boolean","default":true},"styleMobile":{"type":"string","default":"standard"}},"supports":{"color":{"background":"true","color":"true"},"spacing":{"margin":false,"padding":true,"blockGap":true}},"textdomain":"accordion","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","render":"file:./render.php","viewScript":"file:./view.js"}'); /***/ }) diff --git a/blocks/build/eo-sticky/index.js.map b/blocks/build/eo-sticky/index.js.map index ed5f5c2..c94dfda 100644 --- a/blocks/build/eo-sticky/index.js.map +++ b/blocks/build/eo-sticky/index.js.map @@ -1 +1 @@ -{"version":3,"file":"eo-sticky/index.js","mappings":"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ACjC;AACD;AACA;EACCO,IAAI,EAAEnC,6CAAI;EACVoC,IAAI,EAAEC,KAAK,IAAI;IACd,OAAO1B,oDAAA,CAAC3B,gEAAW,CAACsD,OAAO,MAAE,CAAC;EAC/B,CAAC;EACDC,IAAI,EAAEV;AACP,CAAE,CAAC;;;;;;;;;;;AC7CH;;;;;;;;;;;;ACAA;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEa;;AAEb,IAAI,IAAqC;AACzC;AACA;;AAEA,YAAY,mBAAO,CAAC,oBAAO;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iGAAiG,eAAe;AAChH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK,GAAG;;AAER,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4BAA4B;AAC5B;AACA,qCAAqC;;AAErC,gCAAgC;AAChC;AACA;;AAEA,gCAAgC;;AAEhC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,sBAAsB;AACtB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,iCAAiC;AACjC;AACA,SAAS;AACT,2BAA2B;AAC3B;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;;AAE3D;AACA;;AAEA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA,gFAAgF;AAChF;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;;AAGlB;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2HAA2H;AAC3H;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA,oEAAoE;;AAEpE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,eAAe;AAC1B,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;;AAER;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,oBAAoB;AACpB,2DAA2D,UAAU;AACrE,yBAAyB,UAAU;AACnC;AACA,aAAa,UAAU;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,6DAA6D;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN,4CAA4C;;AAE5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0DAA0D;AAC1D;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gDAAgD,gDAAgD,MAAM,aAAa;;AAEnH;AACA,iDAAiD,kCAAkC,OAAO;;AAE1F,yGAAyG,cAAc,UAAU,gGAAgG,kBAAkB,UAAU,UAAU;;AAEvQ;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;;AAEA;;AAEA,gBAAgB;AAChB,WAAW;AACX,YAAY;AACZ,GAAG;AACH;;;;;;;;;;;ACpzCa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,+IAAkE;AACpE;;;;;;;;;;;ACNA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA,+BAA+B,wCAAwC;WACvE;WACA;WACA;WACA;WACA,iBAAiB,qBAAqB;WACtC;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC3BA;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;;;;;WCNA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;;;;;UEjDA;UACA;UACA;UACA;UACA","sources":["webpack://eo-blocks/./node_modules/@wordpress/icons/build-module/library/sides-horizontal.js","webpack://eo-blocks/./node_modules/@wordpress/icons/build-module/library/sides-vertical.js","webpack://eo-blocks/./blocks/src/eo-sticky/edit.js","webpack://eo-blocks/./blocks/src/eo-sticky/index.js","webpack://eo-blocks/./blocks/src/eo-sticky/scss/editor.scss","webpack://eo-blocks/./blocks/src/eo-sticky/scss/style.scss","webpack://eo-blocks/./node_modules/react/cjs/react-jsx-runtime.development.js","webpack://eo-blocks/./node_modules/react/jsx-runtime.js","webpack://eo-blocks/external window \"React\"","webpack://eo-blocks/external window [\"wp\",\"blockEditor\"]","webpack://eo-blocks/external window [\"wp\",\"blocks\"]","webpack://eo-blocks/external window [\"wp\",\"components\"]","webpack://eo-blocks/external window [\"wp\",\"element\"]","webpack://eo-blocks/external window [\"wp\",\"i18n\"]","webpack://eo-blocks/external window [\"wp\",\"primitives\"]","webpack://eo-blocks/webpack/bootstrap","webpack://eo-blocks/webpack/runtime/chunk loaded","webpack://eo-blocks/webpack/runtime/compat get default export","webpack://eo-blocks/webpack/runtime/define property getters","webpack://eo-blocks/webpack/runtime/hasOwnProperty shorthand","webpack://eo-blocks/webpack/runtime/make namespace object","webpack://eo-blocks/webpack/runtime/jsonp chunk loading","webpack://eo-blocks/webpack/before-startup","webpack://eo-blocks/webpack/startup","webpack://eo-blocks/webpack/after-startup"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesHorizontal = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4.5 7.5v9h1.5v-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18 7.5v9h1.5v-9z\"\n })]\n});\nexport default sidesHorizontal;\n//# sourceMappingURL=sides-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesVertical = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 19.5h9v-1.5h-9z\"\n })]\n});\nexport default sidesVertical;\n//# sourceMappingURL=sides-vertical.js.map","/**\r\n * Retrieves the translation of text.\r\n *\r\n * @see https://developer.wordpress.org/block-editor/reference-guides/packages/packages-i18n/\r\n */\r\nimport { __ } from '@wordpress/i18n';\r\n\r\n/**\r\n * React hook that is used to mark the block wrapper element.\r\n * It provides all the necessary props like the class name.\r\n *\r\n * @see https://developer.wordpress.org/block-editor/reference-guides/packages/packages-block-editor/#useblockprops\r\n */\r\nimport { InspectorControls, BlockControls, RichText, useBlockProps, InnerBlocks } from '@wordpress/block-editor';\r\nimport { Flex, FlexBlock, FlexItem, RangeControl, DropdownMenu, Toolbar, ToolbarDropdownMenu, ToggleControl, PanelBody, Spacer } from '@wordpress/components';\r\n// import { AlignmentMatrixControl } from '@wordpress/components';\r\n\r\n/**\r\n * Experimental components\r\n */\r\nimport {\r\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl\r\n} from '@wordpress/block-editor';\r\n\r\nimport {\r\n\tsidesHorizontal,\r\n\tsidesVertical,\r\n} from '@wordpress/icons';\r\n\r\nimport { useState } from '@wordpress/element';\r\n\r\n/**\r\n * Lets webpack process CSS, SASS or SCSS files referenced in JavaScript files.\r\n * Those files can contain any CSS code that gets applied to the editor.\r\n *\r\n * @see https://www.npmjs.com/package/@wordpress/scripts#using-css\r\n */\r\nimport './scss/editor.scss';\r\n\r\n/**\r\n * The edit function describes the structure of your block in the context of the\r\n * editor. This represents what the editor will render when the block is used.\r\n *\r\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-edit-save/#edit\r\n *\r\n * @return {Element} Element to render.\r\n */\r\nexport default function Edit( { attributes, setAttributes } ) {\r\n\tconst gapPercentTooltip = value => `${value}em`;\r\n\tconst titleStyle = {\r\n\t\tfontSize: '11px',\r\n\t\tfontWeight: '500',\r\n\t\tlineHeight: '1.4',\r\n\t\ttextTransform: 'uppercase'\r\n\t};\r\n\tconst stickyPositionTranslate = {\r\n\t\t'top left': __( 'At the top left of screen', 'eo-blocks' ),\r\n\t\t'top center': __( 'At the top middle of screen', 'eo-blocks' ),\r\n\t\t'top right': __( 'At the top right of screen', 'eo-blocks' ),\r\n\t\t'center left': __( 'At the middle left of screen', 'eo-blocks' ),\r\n\t\t'center center': __( 'At the middle of screen', 'eo-blocks' ),\r\n\t\t'center right': __( 'At the middle right of screen', 'eo-blocks' ),\r\n\t\t'bottom left': __( 'At the bottom left of screen', 'eo-blocks' ),\r\n\t\t'bottom center': __( 'At the bottom middle of screen', 'eo-blocks' ),\r\n\t\t'bottom right': __( 'At the bottom right of screen', 'eo-blocks' ),\r\n\t}\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\tsetAttributes( {\r\n\t\t\t\t\t\t\tcontentPosition: nextPosition,\r\n\t\t\t\t\t\t} )\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{ __( 'Sticky position', 'eo-blocks' ) }\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tsetAttributes( {\r\n\t\t\t\t\t\t\t\t\t\tcontentPosition: nextPosition,\r\n\t\t\t\t\t\t\t\t\t} )\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{ stickyPositionTranslate[attributes.contentPosition] }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t setAttributes({horizontalGapPercent: value})}\r\n\t\t\t\t\t\tmin={0}\r\n\t\t\t\t\t\tmax={6}\r\n\t\t\t\t\t\trenderTooltipContent={gapPercentTooltip}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t setAttributes({verticalGapPercent: value})}\r\n\t\t\t\t\t\tmin={0}\r\n\t\t\t\t\t\tmax={6}\r\n\t\t\t\t\t\trenderTooltipContent={gapPercentTooltip}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n}\r\n","/**\r\n * Registers a new block provided a unique name and an object defining its behavior.\r\n *\r\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/\r\n */\r\nimport { registerBlockType } from '@wordpress/blocks';\r\nimport { InnerBlocks } from '@wordpress/block-editor'\r\n\r\n/**\r\n * Lets webpack process CSS, SASS or SCSS files referenced in JavaScript files.\r\n * All files containing `style` keyword are bundled together. The code used\r\n * gets applied both to the front of your site and to the editor.\r\n *\r\n * @see https://www.npmjs.com/package/@wordpress/scripts#using-css\r\n */\r\nimport './scss/style.scss';\r\n\r\n/**\r\n * Internal dependencies\r\n */\r\nimport Edit from './edit';\r\nimport metadata from './block.json';\r\n\r\nconst blockIcon = (\r\n\t\r\n\t\t\r\n\t\r\n);\r\n\r\n/**\r\n * Every block starts by registering a new block type definition.\r\n *\r\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/\r\n */\r\nregisterBlockType( metadata.name, {\r\n\t/**\r\n\t * @see ./edit.js\r\n\t */\r\n\tedit: Edit,\r\n\tsave: props => {\r\n\t\treturn \r\n\t},\r\n\ticon: blockIcon,\r\n} );\r\n","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","/**\n * @license React\n * react-jsx-runtime.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\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (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 || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // 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\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 // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie.
\n // or
). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n //
, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n {\n if (hasOwnProperty.call(props, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(props).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","module.exports = window[\"React\"];","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\"];","// 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// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\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};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"eo-sticky/index\": 0,\n\t\"eo-sticky/style-index\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunkeo_blocks\"] = globalThis[\"webpackChunkeo_blocks\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"eo-sticky/style-index\"], () => (__webpack_require__(\"./blocks/src/eo-sticky/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["__","InspectorControls","BlockControls","RichText","useBlockProps","InnerBlocks","Flex","FlexBlock","FlexItem","RangeControl","DropdownMenu","Toolbar","ToolbarDropdownMenu","ToggleControl","PanelBody","Spacer","__experimentalBlockAlignmentMatrixControl","BlockAlignmentMatrixControl","sidesHorizontal","sidesVertical","useState","Edit","attributes","setAttributes","gapPercentTooltip","value","titleStyle","fontSize","fontWeight","lineHeight","textTransform","stickyPositionTranslate","createElement","Fragment","label","contentPosition","onChange","nextPosition","title","style","help","beforeIcon","step","horizontalGapPercent","min","max","renderTooltipContent","verticalGapPercent","registerBlockType","metadata","blockIcon","xmlns","viewBox","d","fill","name","edit","save","props","Content","icon"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"eo-sticky/index.js","mappings":"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A;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA,KAAK,GAAG;;AAER,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,4BAA4B;AAC5B;AACA,qCAAqC;;AAErC,gCAAgC;AAChC;AACA;;AAEA,gCAAgC;;AAEhC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;;AAGJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;;AAGF;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,sBAAsB;AACtB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,uBAAuB;AACvB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,wBAAwB;AACxB;AACA,SAAS;AACT,iCAAiC;AACjC;AACA,SAAS;AACT,2BAA2B;AAC3B;AACA,SAAS;AACT,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;;AAE3D;AACA;;AAEA;AACA,yDAAyD;AACzD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;;AAGT;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA,UAAU;AACV;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,aAAa,kBAAkB;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;;AAEA;AACA;AACA,gFAAgF;AAChF;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB;;;AAGlB;AACA;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;;AAGJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2HAA2H;AAC3H;AACA;AACA;;AAEA;AACA,UAAU;AACV;AACA;;AAEA;AACA;;AAEA,oEAAoE;;AAEpE;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;;AAEjC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;;AAGF;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,GAAG;AACd,WAAW,eAAe;AAC1B,WAAW,GAAG;AACd,WAAW,GAAG;AACd;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;;AAER;AACA;AACA;AACA;AACA;AACA,KAAK,GAAG;AACR;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,GAAG;AACd,WAAW,QAAQ;AACnB,WAAW,QAAQ;AACnB;;AAEA;AACA;AACA,kBAAkB;;AAElB;AACA;AACA,oBAAoB;AACpB,2DAA2D,UAAU;AACrE,yBAAyB,UAAU;AACnC;AACA,aAAa,UAAU;AACvB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;AACA;AACA;AACA,MAAM;;;AAGN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,YAAY,SAAS;AACrB;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA,6DAA6D;AAC7D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,WAAW;AACtB,WAAW,GAAG;AACd;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA,sBAAsB,iBAAiB;AACvC;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN,4CAA4C;;AAE5C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,cAAc;AACzB;;;AAGA;AACA;AACA;;AAEA,oBAAoB,iBAAiB;AACrC;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8CAA8C;AAC9C;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;;AAEA;AACA;AACA,QAAQ;AACR;AACA,QAAQ;AACR;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;;AAEA,0DAA0D;AAC1D;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B,qBAAqB;AACjD;AACA;;AAEA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,gDAAgD,gDAAgD,MAAM,aAAa;;AAEnH;AACA,iDAAiD,kCAAkC,OAAO;;AAE1F,yGAAyG,cAAc,UAAU,gGAAgG,kBAAkB,UAAU,UAAU;;AAEvQ;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;;AAEA;;AAEA,gBAAgB;AAChB,WAAW;AACX,YAAY;AACZ,GAAG;AACH;;;;;;;;;;;ACpzCa;;AAEb,IAAI,KAAqC,EAAE,EAE1C,CAAC;AACF,EAAE,+IAAkE;AACpE;;;;;;;;;;;ACNA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA,+BAA+B,wCAAwC;WACvE;WACA;WACA;WACA;WACA,iBAAiB,qBAAqB;WACtC;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC3BA;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;;;;;WCNA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;;;;;UEjDA;UACA;UACA;UACA;UACA","sources":["webpack://eo-blocks/./node_modules/@wordpress/icons/build-module/library/sides-horizontal.js","webpack://eo-blocks/./node_modules/@wordpress/icons/build-module/library/sides-vertical.js","webpack://eo-blocks/./blocks/src/eo-sticky/edit.js","webpack://eo-blocks/./blocks/src/eo-sticky/index.js","webpack://eo-blocks/./blocks/src/eo-sticky/scss/editor.scss","webpack://eo-blocks/./blocks/src/eo-sticky/scss/style.scss?c7b8","webpack://eo-blocks/./node_modules/react/cjs/react-jsx-runtime.development.js","webpack://eo-blocks/./node_modules/react/jsx-runtime.js","webpack://eo-blocks/external window \"React\"","webpack://eo-blocks/external window [\"wp\",\"blockEditor\"]","webpack://eo-blocks/external window [\"wp\",\"blocks\"]","webpack://eo-blocks/external window [\"wp\",\"components\"]","webpack://eo-blocks/external window [\"wp\",\"element\"]","webpack://eo-blocks/external window [\"wp\",\"i18n\"]","webpack://eo-blocks/external window [\"wp\",\"primitives\"]","webpack://eo-blocks/webpack/bootstrap","webpack://eo-blocks/webpack/runtime/chunk loaded","webpack://eo-blocks/webpack/runtime/compat get default export","webpack://eo-blocks/webpack/runtime/define property getters","webpack://eo-blocks/webpack/runtime/hasOwnProperty shorthand","webpack://eo-blocks/webpack/runtime/make namespace object","webpack://eo-blocks/webpack/runtime/jsonp chunk loading","webpack://eo-blocks/webpack/before-startup","webpack://eo-blocks/webpack/startup","webpack://eo-blocks/webpack/after-startup"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesHorizontal = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m4.5 7.5v9h1.5v-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m18 7.5v9h1.5v-9z\"\n })]\n});\nexport default sidesHorizontal;\n//# sourceMappingURL=sides-horizontal.js.map","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst sidesVertical = /*#__PURE__*/_jsxs(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n children: [/*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9zm0 13.5h9v-1.5h-9zm-3-3h1.5v-9h-1.5zm13.5-9v9h1.5v-9z\",\n style: {\n opacity: 0.25\n }\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 6h9v-1.5h-9z\"\n }), /*#__PURE__*/_jsx(Path, {\n d: \"m7.5 19.5h9v-1.5h-9z\"\n })]\n});\nexport default sidesVertical;\n//# sourceMappingURL=sides-vertical.js.map","/**\r\n * Retrieves the translation of text.\r\n *\r\n * @see https://developer.wordpress.org/block-editor/reference-guides/packages/packages-i18n/\r\n */\r\nimport { __ } from '@wordpress/i18n';\r\n\r\n/**\r\n * React hook that is used to mark the block wrapper element.\r\n * It provides all the necessary props like the class name.\r\n *\r\n * @see https://developer.wordpress.org/block-editor/reference-guides/packages/packages-block-editor/#useblockprops\r\n */\r\nimport { InspectorControls, BlockControls, RichText, useBlockProps, InnerBlocks } from '@wordpress/block-editor';\r\nimport { Flex, FlexBlock, FlexItem, RangeControl, DropdownMenu, Toolbar, ToolbarDropdownMenu, ToggleControl, PanelBody, Spacer } from '@wordpress/components';\r\n// import { AlignmentMatrixControl } from '@wordpress/components';\r\n\r\n/**\r\n * Experimental components\r\n */\r\nimport {\r\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl\r\n} from '@wordpress/block-editor';\r\nimport {\r\n\t__experimentalToggleGroupControl as ToggleGroupControl,\r\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\r\n} from '@wordpress/components'\r\n\r\nimport {\r\n\tsidesHorizontal,\r\n\tsidesVertical,\r\n} from '@wordpress/icons';\r\n\r\nimport { useState } from '@wordpress/element';\r\n\r\n/**\r\n * Lets webpack process CSS, SASS or SCSS files referenced in JavaScript files.\r\n * Those files can contain any CSS code that gets applied to the editor.\r\n *\r\n * @see https://www.npmjs.com/package/@wordpress/scripts#using-css\r\n */\r\nimport './scss/editor.scss';\r\n\r\n/**\r\n * The edit function describes the structure of your block in the context of the\r\n * editor. This represents what the editor will render when the block is used.\r\n *\r\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-edit-save/#edit\r\n *\r\n * @return {Element} Element to render.\r\n */\r\nexport default function Edit( { attributes, setAttributes } ) {\r\n\tconst gapPercentTooltip = value => `${value}em`;\r\n\tconst titleStyle = {\r\n\t\tfontSize: '11px',\r\n\t\tfontWeight: '500',\r\n\t\tlineHeight: '1.4',\r\n\t\ttextTransform: 'uppercase'\r\n\t};\r\n\tconst stickyPositionTranslate = {\r\n\t\t'top left': __( 'At the top left of screen', 'eo-blocks' ),\r\n\t\t'top center': __( 'At the top middle of screen', 'eo-blocks' ),\r\n\t\t'top right': __( 'At the top right of screen', 'eo-blocks' ),\r\n\t\t'center left': __( 'At the middle left of screen', 'eo-blocks' ),\r\n\t\t'center center': __( 'At the middle of screen', 'eo-blocks' ),\r\n\t\t'center right': __( 'At the middle right of screen', 'eo-blocks' ),\r\n\t\t'bottom left': __( 'At the bottom left of screen', 'eo-blocks' ),\r\n\t\t'bottom center': __( 'At the bottom middle of screen', 'eo-blocks' ),\r\n\t\t'bottom right': __( 'At the bottom right of screen', 'eo-blocks' ),\r\n\t}\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\tsetAttributes( {\r\n\t\t\t\t\t\t\tcontentPosition: nextPosition,\r\n\t\t\t\t\t\t} )\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\r\n\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{ __( 'Sticky position', 'eo-blocks' ) }\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tsetAttributes( {\r\n\t\t\t\t\t\t\t\t\t\tcontentPosition: nextPosition,\r\n\t\t\t\t\t\t\t\t\t} )\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{ stickyPositionTranslate[attributes.contentPosition] }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t setAttributes({horizontalGapPercent: value})}\r\n\t\t\t\t\t\tmin={0}\r\n\t\t\t\t\t\tmax={6}\r\n\t\t\t\t\t\trenderTooltipContent={gapPercentTooltip}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t setAttributes({verticalGapPercent: value})}\r\n\t\t\t\t\t\tmin={0}\r\n\t\t\t\t\t\tmax={6}\r\n\t\t\t\t\t\trenderTooltipContent={gapPercentTooltip}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t setAttributes( { displayMobile: value } ) }\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{ attributes.displayMobile &&\r\n\t\t\t\t\t\t setAttributes( { styleMobile: value } ) }\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t);\r\n}\r\n","/**\r\n * Registers a new block provided a unique name and an object defining its behavior.\r\n *\r\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/\r\n */\r\nimport { registerBlockType } from '@wordpress/blocks';\r\nimport { InnerBlocks } from '@wordpress/block-editor'\r\n\r\n/**\r\n * Lets webpack process CSS, SASS or SCSS files referenced in JavaScript files.\r\n * All files containing `style` keyword are bundled together. The code used\r\n * gets applied both to the front of your site and to the editor.\r\n *\r\n * @see https://www.npmjs.com/package/@wordpress/scripts#using-css\r\n */\r\nimport './scss/style.scss';\r\n\r\n/**\r\n * Internal dependencies\r\n */\r\nimport Edit from './edit';\r\nimport metadata from './block.json';\r\n\r\nconst blockIcon = (\r\n\t\r\n\t\t\r\n\t\r\n);\r\n\r\n/**\r\n * Every block starts by registering a new block type definition.\r\n *\r\n * @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-registration/\r\n */\r\nregisterBlockType( metadata.name, {\r\n\t/**\r\n\t * @see ./edit.js\r\n\t */\r\n\tedit: Edit,\r\n\tsave: props => {\r\n\t\treturn \r\n\t},\r\n\ticon: blockIcon,\r\n} );\r\n","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","/**\n * @license React\n * react-jsx-runtime.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\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\nvar React = require('react');\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types.\nvar REACT_ELEMENT_TYPE = Symbol.for('react.element');\nvar REACT_PORTAL_TYPE = Symbol.for('react.portal');\nvar REACT_FRAGMENT_TYPE = Symbol.for('react.fragment');\nvar REACT_STRICT_MODE_TYPE = Symbol.for('react.strict_mode');\nvar REACT_PROFILER_TYPE = Symbol.for('react.profiler');\nvar REACT_PROVIDER_TYPE = Symbol.for('react.provider');\nvar REACT_CONTEXT_TYPE = Symbol.for('react.context');\nvar REACT_FORWARD_REF_TYPE = Symbol.for('react.forward_ref');\nvar REACT_SUSPENSE_TYPE = Symbol.for('react.suspense');\nvar REACT_SUSPENSE_LIST_TYPE = Symbol.for('react.suspense_list');\nvar REACT_MEMO_TYPE = Symbol.for('react.memo');\nvar REACT_LAZY_TYPE = Symbol.for('react.lazy');\nvar REACT_OFFSCREEN_TYPE = Symbol.for('react.offscreen');\nvar MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator';\nfunction getIteratorFn(maybeIterable) {\n if (maybeIterable === null || typeof maybeIterable !== 'object') {\n return null;\n }\n\n var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL];\n\n if (typeof maybeIterator === 'function') {\n return maybeIterator;\n }\n\n return null;\n}\n\nvar ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n\nfunction error(format) {\n {\n {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n printWarning('error', format, args);\n }\n }\n}\n\nfunction printWarning(level, format, args) {\n // When changing this logic, you might want to also\n // update consoleWithStackDev.www.js as well.\n {\n var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n var stack = ReactDebugCurrentFrame.getStackAddendum();\n\n if (stack !== '') {\n format += '%s';\n args = args.concat([stack]);\n } // eslint-disable-next-line react-internal/safe-string-coercion\n\n\n var argsWithFormat = args.map(function (item) {\n return String(item);\n }); // Careful: RN currently depends on this prefix\n\n argsWithFormat.unshift('Warning: ' + format); // We intentionally don't use spread (or .apply) directly because it\n // breaks IE9: https://github.com/facebook/react/issues/13610\n // eslint-disable-next-line react-internal/no-production-logging\n\n Function.prototype.apply.call(console[level], console, argsWithFormat);\n }\n}\n\n// -----------------------------------------------------------------------------\n\nvar enableScopeAPI = false; // Experimental Create Event Handle API.\nvar enableCacheElement = false;\nvar enableTransitionTracing = false; // No known bugs, but needs performance testing\n\nvar enableLegacyHidden = false; // Enables unstable_avoidThisFallback feature in Fiber\n// stuff. Intended to enable React core members to more easily debug scheduling\n// issues in DEV builds.\n\nvar enableDebugTracing = false; // Track which Fiber(s) schedule render work.\n\nvar REACT_MODULE_REFERENCE;\n\n{\n REACT_MODULE_REFERENCE = Symbol.for('react.module.reference');\n}\n\nfunction isValidElementType(type) {\n if (typeof type === 'string' || typeof type === 'function') {\n return true;\n } // Note: typeof might be other than 'symbol' or 'number' (e.g. if it's a polyfill).\n\n\n if (type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || enableDebugTracing || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || enableLegacyHidden || type === REACT_OFFSCREEN_TYPE || enableScopeAPI || enableCacheElement || enableTransitionTracing ) {\n return true;\n }\n\n if (typeof type === 'object' && type !== null) {\n if (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 || // This needs to include all possible module reference object\n // types supported by any Flight configuration anywhere since\n // we don't know which Flight build this will end up being used\n // with.\n type.$$typeof === REACT_MODULE_REFERENCE || type.getModuleId !== undefined) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction getWrappedName(outerType, innerType, wrapperName) {\n var displayName = outerType.displayName;\n\n if (displayName) {\n return displayName;\n }\n\n var functionName = innerType.displayName || innerType.name || '';\n return functionName !== '' ? wrapperName + \"(\" + functionName + \")\" : wrapperName;\n} // Keep in sync with react-reconciler/getComponentNameFromFiber\n\n\nfunction getContextName(type) {\n return type.displayName || 'Context';\n} // Note that the reconciler package should generally prefer to use getComponentNameFromFiber() instead.\n\n\nfunction getComponentNameFromType(type) {\n if (type == null) {\n // Host root, text node or just invalid type.\n return null;\n }\n\n {\n if (typeof type.tag === 'number') {\n error('Received an unexpected object in getComponentNameFromType(). ' + 'This is likely a bug in React. Please file an issue.');\n }\n }\n\n if (typeof type === 'function') {\n return type.displayName || type.name || null;\n }\n\n if (typeof type === 'string') {\n return type;\n }\n\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return 'Fragment';\n\n case REACT_PORTAL_TYPE:\n return 'Portal';\n\n case REACT_PROFILER_TYPE:\n return 'Profiler';\n\n case REACT_STRICT_MODE_TYPE:\n return 'StrictMode';\n\n case REACT_SUSPENSE_TYPE:\n return 'Suspense';\n\n case REACT_SUSPENSE_LIST_TYPE:\n return 'SuspenseList';\n\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n var context = type;\n return getContextName(context) + '.Consumer';\n\n case REACT_PROVIDER_TYPE:\n var provider = type;\n return getContextName(provider._context) + '.Provider';\n\n case REACT_FORWARD_REF_TYPE:\n return getWrappedName(type, type.render, 'ForwardRef');\n\n case REACT_MEMO_TYPE:\n var outerName = type.displayName || null;\n\n if (outerName !== null) {\n return outerName;\n }\n\n return getComponentNameFromType(type.type) || 'Memo';\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n return getComponentNameFromType(init(payload));\n } catch (x) {\n return null;\n }\n }\n\n // eslint-disable-next-line no-fallthrough\n }\n }\n\n return null;\n}\n\nvar assign = Object.assign;\n\n// Helpers to patch console.logs to avoid logging during side-effect free\n// replaying on render function. This currently only patches the object\n// lazily which won't cover if the log function was extracted eagerly.\n// We could also eagerly patch the method.\nvar disabledDepth = 0;\nvar prevLog;\nvar prevInfo;\nvar prevWarn;\nvar prevError;\nvar prevGroup;\nvar prevGroupCollapsed;\nvar prevGroupEnd;\n\nfunction disabledLog() {}\n\ndisabledLog.__reactDisabledLog = true;\nfunction disableLogs() {\n {\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd; // https://github.com/facebook/react/issues/19099\n\n var props = {\n configurable: true,\n enumerable: true,\n value: disabledLog,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n disabledDepth++;\n }\n}\nfunction reenableLogs() {\n {\n disabledDepth--;\n\n if (disabledDepth === 0) {\n /* eslint-disable react-internal/no-production-logging */\n var props = {\n configurable: true,\n enumerable: true,\n writable: true\n }; // $FlowFixMe Flow thinks console is immutable.\n\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n /* eslint-enable react-internal/no-production-logging */\n }\n\n if (disabledDepth < 0) {\n error('disabledDepth fell below zero. ' + 'This is a bug in React. Please file an issue.');\n }\n }\n}\n\nvar ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher;\nvar prefix;\nfunction describeBuiltInComponentFrame(name, source, ownerFn) {\n {\n if (prefix === undefined) {\n // Extract the VM specific prefix used by each line.\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || '';\n }\n } // We use the prefix to ensure our stacks line up with native stack frames.\n\n\n return '\\n' + prefix + name;\n }\n}\nvar reentry = false;\nvar componentFrameCache;\n\n{\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map;\n componentFrameCache = new PossiblyWeakMap();\n}\n\nfunction describeNativeComponentFrame(fn, construct) {\n // If something asked for a stack inside a fake render, it should get ignored.\n if ( !fn || reentry) {\n return '';\n }\n\n {\n var frame = componentFrameCache.get(fn);\n\n if (frame !== undefined) {\n return frame;\n }\n }\n\n var control;\n reentry = true;\n var previousPrepareStackTrace = Error.prepareStackTrace; // $FlowFixMe It does accept undefined.\n\n Error.prepareStackTrace = undefined;\n var previousDispatcher;\n\n {\n previousDispatcher = ReactCurrentDispatcher.current; // Set the dispatcher in DEV because this might be call in the render function\n // for warnings.\n\n ReactCurrentDispatcher.current = null;\n disableLogs();\n }\n\n try {\n // This should throw.\n if (construct) {\n // Something should be setting the props in the constructor.\n var Fake = function () {\n throw Error();\n }; // $FlowFixMe\n\n\n Object.defineProperty(Fake.prototype, 'props', {\n set: function () {\n // We use a throwing setter instead of frozen or non-writable props\n // because that won't throw in a non-strict mode function.\n throw Error();\n }\n });\n\n if (typeof Reflect === 'object' && Reflect.construct) {\n // We construct a different control for this case to include any extra\n // frames added by the construct call.\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n control = x;\n }\n\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x) {\n control = x;\n }\n\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x) {\n control = x;\n }\n\n fn();\n }\n } catch (sample) {\n // This is inlined manually because closure doesn't do it for us.\n if (sample && control && typeof sample.stack === 'string') {\n // This extracts the first frame from the sample that isn't also in the control.\n // Skipping one frame that we assume is the frame that calls the two.\n var sampleLines = sample.stack.split('\\n');\n var controlLines = control.stack.split('\\n');\n var s = sampleLines.length - 1;\n var c = controlLines.length - 1;\n\n while (s >= 1 && c >= 0 && sampleLines[s] !== controlLines[c]) {\n // We expect at least one stack frame to be shared.\n // Typically this will be the root most one. However, stack frames may be\n // cut off due to maximum stack limits. In this case, one maybe cut off\n // earlier than the other. We assume that the sample is longer or the same\n // and there for cut off earlier. So we should find the root most frame in\n // the sample somewhere in the control.\n c--;\n }\n\n for (; s >= 1 && c >= 0; s--, c--) {\n // Next we find the first one that isn't the same which should be the\n // frame that called our sample function and the control.\n if (sampleLines[s] !== controlLines[c]) {\n // In V8, the first line is describing the message but other VMs don't.\n // If we're about to return the first line, and the control is also on the same\n // line, that's a pretty good indicator that our sample threw at same line as\n // the control. I.e. before we entered the sample frame. So we ignore this result.\n // This can happen if you passed a class to function component, or non-function.\n if (s !== 1 || c !== 1) {\n do {\n s--;\n c--; // We may still have similar intermediate frames from the construct call.\n // The next one that isn't the same should be our match though.\n\n if (c < 0 || sampleLines[s] !== controlLines[c]) {\n // V8 adds a \"new\" prefix for native classes. Let's remove it to make it prettier.\n var _frame = '\\n' + sampleLines[s].replace(' at new ', ' at '); // If our component frame is labeled \"\"\n // but we have a user-provided \"displayName\"\n // splice it in to make the stack more readable.\n\n\n if (fn.displayName && _frame.includes('')) {\n _frame = _frame.replace('', fn.displayName);\n }\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, _frame);\n }\n } // Return the line we found.\n\n\n return _frame;\n }\n } while (s >= 1 && c >= 0);\n }\n\n break;\n }\n }\n }\n } finally {\n reentry = false;\n\n {\n ReactCurrentDispatcher.current = previousDispatcher;\n reenableLogs();\n }\n\n Error.prepareStackTrace = previousPrepareStackTrace;\n } // Fallback to just using the name if we couldn't make it throw.\n\n\n var name = fn ? fn.displayName || fn.name : '';\n var syntheticFrame = name ? describeBuiltInComponentFrame(name) : '';\n\n {\n if (typeof fn === 'function') {\n componentFrameCache.set(fn, syntheticFrame);\n }\n }\n\n return syntheticFrame;\n}\nfunction describeFunctionComponentFrame(fn, source, ownerFn) {\n {\n return describeNativeComponentFrame(fn, false);\n }\n}\n\nfunction shouldConstruct(Component) {\n var prototype = Component.prototype;\n return !!(prototype && prototype.isReactComponent);\n}\n\nfunction describeUnknownElementTypeFrameInDEV(type, source, ownerFn) {\n\n if (type == null) {\n return '';\n }\n\n if (typeof type === 'function') {\n {\n return describeNativeComponentFrame(type, shouldConstruct(type));\n }\n }\n\n if (typeof type === 'string') {\n return describeBuiltInComponentFrame(type);\n }\n\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame('Suspense');\n\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame('SuspenseList');\n }\n\n if (typeof type === 'object') {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeFunctionComponentFrame(type.render);\n\n case REACT_MEMO_TYPE:\n // Memo may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(type.type, source, ownerFn);\n\n case REACT_LAZY_TYPE:\n {\n var lazyComponent = type;\n var payload = lazyComponent._payload;\n var init = lazyComponent._init;\n\n try {\n // Lazy may contain any component type so we recursively resolve it.\n return describeUnknownElementTypeFrameInDEV(init(payload), source, ownerFn);\n } catch (x) {}\n }\n }\n }\n\n return '';\n}\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar loggedTypeFailures = {};\nvar ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame.setExtraStackFrame(null);\n }\n }\n}\n\nfunction checkPropTypes(typeSpecs, values, location, componentName, element) {\n {\n // $FlowFixMe This is okay but Flow doesn't know it.\n var has = Function.call.bind(hasOwnProperty);\n\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error$1 = void 0; // 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\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 // eslint-disable-next-line react-internal/prod-error-codes\n var err = Error((componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.');\n err.name = 'Invariant Violation';\n throw err;\n }\n\n error$1 = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED');\n } catch (ex) {\n error$1 = ex;\n }\n\n if (error$1 && !(error$1 instanceof Error)) {\n setCurrentlyValidatingElement(element);\n\n error('%s: type specification of %s' + ' `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error$1);\n\n setCurrentlyValidatingElement(null);\n }\n\n if (error$1 instanceof Error && !(error$1.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error$1.message] = true;\n setCurrentlyValidatingElement(element);\n\n error('Failed %s type: %s', location, error$1.message);\n\n setCurrentlyValidatingElement(null);\n }\n }\n }\n }\n}\n\nvar isArrayImpl = Array.isArray; // eslint-disable-next-line no-redeclare\n\nfunction isArray(a) {\n return isArrayImpl(a);\n}\n\n/*\n * The `'' + value` pattern (used in in perf-sensitive code) throws for Symbol\n * and Temporal.* types. See https://github.com/facebook/react/pull/22064.\n *\n * The functions in this module will throw an easier-to-understand,\n * easier-to-debug exception with a clear errors message message explaining the\n * problem. (Instead of a confusing exception thrown inside the implementation\n * of the `value` object).\n */\n// $FlowFixMe only called in DEV, so void return is not possible.\nfunction typeName(value) {\n {\n // toStringTag is needed for namespaced types like Temporal.Instant\n var hasToStringTag = typeof Symbol === 'function' && Symbol.toStringTag;\n var type = hasToStringTag && value[Symbol.toStringTag] || value.constructor.name || 'Object';\n return type;\n }\n} // $FlowFixMe only called in DEV, so void return is not possible.\n\n\nfunction willCoercionThrow(value) {\n {\n try {\n testStringCoercion(value);\n return false;\n } catch (e) {\n return true;\n }\n }\n}\n\nfunction testStringCoercion(value) {\n // If you ended up here by following an exception call stack, here's what's\n // happened: you supplied an object or symbol value to React (as a prop, key,\n // DOM attribute, CSS property, string ref, etc.) and when React tried to\n // coerce it to a string using `'' + value`, an exception was thrown.\n //\n // The most common types that will cause this exception are `Symbol` instances\n // and Temporal objects like `Temporal.Instant`. But any object that has a\n // `valueOf` or `[Symbol.toPrimitive]` method that throws will also cause this\n // exception. (Library authors do this to prevent users from using built-in\n // numeric operators like `+` or comparison operators like `>=` because custom\n // methods are needed to perform accurate arithmetic or comparison.)\n //\n // To fix the problem, coerce this object or symbol value to a string before\n // passing it to React. The most reliable way is usually `String(value)`.\n //\n // To find which value is throwing, check the browser or debugger console.\n // Before this exception was thrown, there should be `console.error` output\n // that shows the type (Symbol, Temporal.PlainDate, etc.) that caused the\n // problem and how that type was used: key, atrribute, input value prop, etc.\n // In most cases, this console output also shows the component and its\n // ancestor components where the exception happened.\n //\n // eslint-disable-next-line react-internal/safe-string-coercion\n return '' + value;\n}\nfunction checkKeyStringCoercion(value) {\n {\n if (willCoercionThrow(value)) {\n error('The provided key is an unsupported type %s.' + ' This value must be coerced to a string before before using it here.', typeName(value));\n\n return testStringCoercion(value); // throw (to help callers find troubleshooting comments)\n }\n }\n}\n\nvar ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner;\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\nvar specialPropKeyWarningShown;\nvar specialPropRefWarningShown;\nvar didWarnAboutStringRefs;\n\n{\n didWarnAboutStringRefs = {};\n}\n\nfunction hasValidRef(config) {\n {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n\n return config.key !== undefined;\n}\n\nfunction warnIfStringRefCannotBeAutoConverted(config, self) {\n {\n if (typeof config.ref === 'string' && ReactCurrentOwner.current && self && ReactCurrentOwner.current.stateNode !== self) {\n var componentName = getComponentNameFromType(ReactCurrentOwner.current.type);\n\n if (!didWarnAboutStringRefs[componentName]) {\n error('Component \"%s\" contains the string ref \"%s\". ' + 'Support for string refs will be removed in a future major release. ' + 'This case cannot be automatically converted to an arrow function. ' + 'We ask you to manually fix this case by using useRef() or createRef() instead. ' + 'Learn more about using refs safely here: ' + 'https://reactjs.org/link/strict-mode-string-ref', getComponentNameFromType(ReactCurrentOwner.current.type), config.ref);\n\n didWarnAboutStringRefs[componentName] = true;\n }\n }\n }\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n\n error('%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n }\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n\n error('%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://reactjs.org/link/special-props)', displayName);\n }\n };\n\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n }\n}\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, instanceof check\n * will not work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} props\n * @param {*} key\n * @param {string|object} ref\n * @param {*} owner\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @internal\n */\n\n\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allows us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {}; // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n }); // self and source are DEV only properties.\n\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n }); // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n/**\n * https://github.com/reactjs/rfcs/pull/107\n * @param {*} type\n * @param {object} props\n * @param {string} key\n */\n\nfunction jsxDEV(type, config, maybeKey, source, self) {\n {\n var propName; // Reserved names are extracted\n\n var props = {};\n var key = null;\n var ref = null; // Currently, key can be spread in as a prop. This causes a potential\n // issue if key is also explicitly declared (ie.
\n // or
). We want to deprecate key spread,\n // but as an intermediary step, we will use jsxDEV for everything except\n //
, because we aren't currently able to tell if\n // key is explicitly declared to be undefined or not.\n\n if (maybeKey !== undefined) {\n {\n checkKeyStringCoercion(maybeKey);\n }\n\n key = '' + maybeKey;\n }\n\n if (hasValidKey(config)) {\n {\n checkKeyStringCoercion(config.key);\n }\n\n key = '' + config.key;\n }\n\n if (hasValidRef(config)) {\n ref = config.ref;\n warnIfStringRefCannotBeAutoConverted(config, self);\n } // Remaining properties are added to a new props object\n\n\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n } // Resolve default props\n\n\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n\n if (key || ref) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n }\n}\n\nvar ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner;\nvar ReactDebugCurrentFrame$1 = ReactSharedInternals.ReactDebugCurrentFrame;\n\nfunction setCurrentlyValidatingElement$1(element) {\n {\n if (element) {\n var owner = element._owner;\n var stack = describeUnknownElementTypeFrameInDEV(element.type, element._source, owner ? owner.type : null);\n ReactDebugCurrentFrame$1.setExtraStackFrame(stack);\n } else {\n ReactDebugCurrentFrame$1.setExtraStackFrame(null);\n }\n }\n}\n\nvar propTypesMisspellWarningShown;\n\n{\n propTypesMisspellWarningShown = false;\n}\n/**\n * Verifies the object is a ReactElement.\n * See https://reactjs.org/docs/react-api.html#isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a ReactElement.\n * @final\n */\n\n\nfunction isValidElement(object) {\n {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n}\n\nfunction getDeclarationErrorAddendum() {\n {\n if (ReactCurrentOwner$1.current) {\n var name = getComponentNameFromType(ReactCurrentOwner$1.current.type);\n\n if (name) {\n return '\\n\\nCheck the render method of `' + name + '`.';\n }\n }\n\n return '';\n }\n}\n\nfunction getSourceInfoErrorAddendum(source) {\n {\n if (source !== undefined) {\n var fileName = source.fileName.replace(/^.*[\\\\\\/]/, '');\n var lineNumber = source.lineNumber;\n return '\\n\\nCheck your code at ' + fileName + ':' + lineNumber + '.';\n }\n\n return '';\n }\n}\n/**\n * Warn if there's no key explicitly set on dynamic arrays of children or\n * object keys are not valid. This allows us to keep track of children between\n * updates.\n */\n\n\nvar ownerHasKeyUseWarning = {};\n\nfunction getCurrentComponentErrorInfo(parentType) {\n {\n var info = getDeclarationErrorAddendum();\n\n if (!info) {\n var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name;\n\n if (parentName) {\n info = \"\\n\\nCheck the top-level render call using <\" + parentName + \">.\";\n }\n }\n\n return info;\n }\n}\n/**\n * Warn if the element doesn't have an explicit key assigned to it.\n * This element is in an array. The array could grow and shrink or be\n * reordered. All children that haven't already been validated are required to\n * have a \"key\" property assigned to it. Error statuses are cached so a warning\n * will only be shown once.\n *\n * @internal\n * @param {ReactElement} element Element that requires a key.\n * @param {*} parentType element's parent's type.\n */\n\n\nfunction validateExplicitKey(element, parentType) {\n {\n if (!element._store || element._store.validated || element.key != null) {\n return;\n }\n\n element._store.validated = true;\n var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType);\n\n if (ownerHasKeyUseWarning[currentComponentErrorInfo]) {\n return;\n }\n\n ownerHasKeyUseWarning[currentComponentErrorInfo] = true; // Usually the current owner is the offender, but if it accepts children as a\n // property, it may be the creator of the child that's responsible for\n // assigning it a key.\n\n var childOwner = '';\n\n if (element && element._owner && element._owner !== ReactCurrentOwner$1.current) {\n // Give the component that originally created this child.\n childOwner = \" It was passed a child from \" + getComponentNameFromType(element._owner.type) + \".\";\n }\n\n setCurrentlyValidatingElement$1(element);\n\n error('Each child in a list should have a unique \"key\" prop.' + '%s%s See https://reactjs.org/link/warning-keys for more information.', currentComponentErrorInfo, childOwner);\n\n setCurrentlyValidatingElement$1(null);\n }\n}\n/**\n * Ensure that every element either is passed in a static location, in an\n * array with an explicit keys property defined, or in an object literal\n * with valid key property.\n *\n * @internal\n * @param {ReactNode} node Statically passed child of any type.\n * @param {*} parentType node's parent's type.\n */\n\n\nfunction validateChildKeys(node, parentType) {\n {\n if (typeof node !== 'object') {\n return;\n }\n\n if (isArray(node)) {\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n\n if (isValidElement(child)) {\n validateExplicitKey(child, parentType);\n }\n }\n } else if (isValidElement(node)) {\n // This element was passed in a valid location.\n if (node._store) {\n node._store.validated = true;\n }\n } else if (node) {\n var iteratorFn = getIteratorFn(node);\n\n if (typeof iteratorFn === 'function') {\n // Entry iterators used to provide implicit keys,\n // but now we print a separate warning for them later.\n if (iteratorFn !== node.entries) {\n var iterator = iteratorFn.call(node);\n var step;\n\n while (!(step = iterator.next()).done) {\n if (isValidElement(step.value)) {\n validateExplicitKey(step.value, parentType);\n }\n }\n }\n }\n }\n }\n}\n/**\n * Given an element, validate that its props follow the propTypes definition,\n * provided by the type.\n *\n * @param {ReactElement} element\n */\n\n\nfunction validatePropTypes(element) {\n {\n var type = element.type;\n\n if (type === null || type === undefined || typeof type === 'string') {\n return;\n }\n\n var propTypes;\n\n if (typeof type === 'function') {\n propTypes = type.propTypes;\n } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || // Note: Memo only checks outer props here.\n // Inner props are checked in the reconciler.\n type.$$typeof === REACT_MEMO_TYPE)) {\n propTypes = type.propTypes;\n } else {\n return;\n }\n\n if (propTypes) {\n // Intentionally inside to avoid triggering lazy initializers:\n var name = getComponentNameFromType(type);\n checkPropTypes(propTypes, element.props, 'prop', name, element);\n } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) {\n propTypesMisspellWarningShown = true; // Intentionally inside to avoid triggering lazy initializers:\n\n var _name = getComponentNameFromType(type);\n\n error('Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', _name || 'Unknown');\n }\n\n if (typeof type.getDefaultProps === 'function' && !type.getDefaultProps.isReactClassApproved) {\n error('getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.');\n }\n }\n}\n/**\n * Given a fragment, validate that it can only be provided with fragment props\n * @param {ReactElement} fragment\n */\n\n\nfunction validateFragmentProps(fragment) {\n {\n var keys = Object.keys(fragment.props);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n\n if (key !== 'children' && key !== 'key') {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key);\n\n setCurrentlyValidatingElement$1(null);\n break;\n }\n }\n\n if (fragment.ref !== null) {\n setCurrentlyValidatingElement$1(fragment);\n\n error('Invalid attribute `ref` supplied to `React.Fragment`.');\n\n setCurrentlyValidatingElement$1(null);\n }\n }\n}\n\nvar didWarnAboutKeySpread = {};\nfunction jsxWithValidation(type, props, key, isStaticChildren, source, self) {\n {\n var validType = isValidElementType(type); // We warn in this case but don't throw. We expect the element creation to\n // succeed and there will likely be errors in render.\n\n if (!validType) {\n var info = '';\n\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in, or you might have mixed up default and named imports.\";\n }\n\n var sourceInfo = getSourceInfoErrorAddendum(source);\n\n if (sourceInfo) {\n info += sourceInfo;\n } else {\n info += getDeclarationErrorAddendum();\n }\n\n var typeString;\n\n if (type === null) {\n typeString = 'null';\n } else if (isArray(type)) {\n typeString = 'array';\n } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) {\n typeString = \"<\" + (getComponentNameFromType(type.type) || 'Unknown') + \" />\";\n info = ' Did you accidentally export a JSX literal instead of a component?';\n } else {\n typeString = typeof type;\n }\n\n error('React.jsx: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info);\n }\n\n var element = jsxDEV(type, props, key, source, self); // The result can be nullish if a mock or a custom function is used.\n // TODO: Drop this when these are no longer allowed as the type argument.\n\n if (element == null) {\n return element;\n } // Skip key warning if the type isn't valid since our key validation logic\n // doesn't expect a non-string/function type and can throw confusing errors.\n // We don't want exception behavior to differ between dev and prod.\n // (Rendering will throw with a helpful message and as soon as the type is\n // fixed, the key warnings will appear.)\n\n\n if (validType) {\n var children = props.children;\n\n if (children !== undefined) {\n if (isStaticChildren) {\n if (isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n validateChildKeys(children[i], type);\n }\n\n if (Object.freeze) {\n Object.freeze(children);\n }\n } else {\n error('React.jsx: Static children should always be an array. ' + 'You are likely explicitly calling React.jsxs or React.jsxDEV. ' + 'Use the Babel transform instead.');\n }\n } else {\n validateChildKeys(children, type);\n }\n }\n }\n\n {\n if (hasOwnProperty.call(props, 'key')) {\n var componentName = getComponentNameFromType(type);\n var keys = Object.keys(props).filter(function (k) {\n return k !== 'key';\n });\n var beforeExample = keys.length > 0 ? '{key: someKey, ' + keys.join(': ..., ') + ': ...}' : '{key: someKey}';\n\n if (!didWarnAboutKeySpread[componentName + beforeExample]) {\n var afterExample = keys.length > 0 ? '{' + keys.join(': ..., ') + ': ...}' : '{}';\n\n error('A props object containing a \"key\" prop is being spread into JSX:\\n' + ' let props = %s;\\n' + ' <%s {...props} />\\n' + 'React keys must be passed directly to JSX without using spread:\\n' + ' let props = %s;\\n' + ' <%s key={someKey} {...props} />', beforeExample, componentName, afterExample, componentName);\n\n didWarnAboutKeySpread[componentName + beforeExample] = true;\n }\n }\n }\n\n if (type === REACT_FRAGMENT_TYPE) {\n validateFragmentProps(element);\n } else {\n validatePropTypes(element);\n }\n\n return element;\n }\n} // These two functions exist to still get child warnings in dev\n// even with the prod transform. This means that jsxDEV is purely\n// opt-in behavior for better messages but that we won't stop\n// giving you warnings if you use production apis.\n\nfunction jsxWithValidationStatic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, true);\n }\n}\nfunction jsxWithValidationDynamic(type, props, key) {\n {\n return jsxWithValidation(type, props, key, false);\n }\n}\n\nvar jsx = jsxWithValidationDynamic ; // we may want to special case jsxs internally to take advantage of static children.\n// for now we can ship identical prod functions\n\nvar jsxs = jsxWithValidationStatic ;\n\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsx;\nexports.jsxs = jsxs;\n })();\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","module.exports = window[\"React\"];","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\"];","// 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// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\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};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"eo-sticky/index\": 0,\n\t\"eo-sticky/style-index\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = globalThis[\"webpackChunkeo_blocks\"] = globalThis[\"webpackChunkeo_blocks\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"eo-sticky/style-index\"], () => (__webpack_require__(\"./blocks/src/eo-sticky/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["__","InspectorControls","BlockControls","RichText","useBlockProps","InnerBlocks","Flex","FlexBlock","FlexItem","RangeControl","DropdownMenu","Toolbar","ToolbarDropdownMenu","ToggleControl","PanelBody","Spacer","__experimentalBlockAlignmentMatrixControl","BlockAlignmentMatrixControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","sidesHorizontal","sidesVertical","useState","Edit","attributes","setAttributes","gapPercentTooltip","value","titleStyle","fontSize","fontWeight","lineHeight","textTransform","stickyPositionTranslate","createElement","Fragment","label","contentPosition","onChange","nextPosition","title","style","help","beforeIcon","step","horizontalGapPercent","min","max","renderTooltipContent","verticalGapPercent","checked","displayMobile","isBlock","__nextHasNoMarginBottom","__next40pxDefaultSize","styleMobile","registerBlockType","metadata","blockIcon","xmlns","viewBox","d","fill","name","edit","save","props","Content","icon"],"sourceRoot":""} \ No newline at end of file diff --git a/blocks/build/eo-sticky/render.php b/blocks/build/eo-sticky/render.php index a812a4d..ee6e7dc 100644 --- a/blocks/build/eo-sticky/render.php +++ b/blocks/build/eo-sticky/render.php @@ -18,18 +18,21 @@ $verticalGapPercent = ! empty( $attributes['verticalGapPercent'] ) ? $attributes['verticalGapPercent'] : 0; $verticalGapPercent = 'is-gap-vertical-' . str_replace( ' ', '-', $verticalGapPercent ); -$blockClass = $contentPosition . ' ' . $horizontalGapPercent . ' ' . $verticalGapPercent; +$showInMobile = ! empty( $attributes['displayMobile'] ) ? 'is-display-mobile' : ''; +if ( ! empty( $showInMobile ) ) : + $styleMobile = ! empty( $attributes['styleMobile'] ) ? $attributes['styleMobile'] : 'standard'; + $showInMobile .= ' is-style-mobile-' . $styleMobile; +endif; -//$blockStyle = sprintf( -// 'transform: translateX(%s%%); transform: translateY(%s%%);', -// esc_attr( $horizontalGapPercent ), -// esc_attr( $verticalGapPercent ) -//); +$blockClass = $contentPosition . ' ' . $horizontalGapPercent . ' ' . $verticalGapPercent . ' ' . $showInMobile; ?> -
esc_attr( $blockClass), -// 'style' => $blockStyle -) ) ); ?>> - +
esc_attr( $blockClass) ) ) ); ?>> +
+ +
+
+ + +
diff --git a/blocks/build/eo-sticky/style-index-rtl.css b/blocks/build/eo-sticky/style-index-rtl.css index 25a5e27..6b211b5 100644 --- a/blocks/build/eo-sticky/style-index-rtl.css +++ b/blocks/build/eo-sticky/style-index-rtl.css @@ -12,120 +12,183 @@ z-index: 100000; margin-top: 0 !important; } -.wp-block-eo-sticky.is-position-top-left { +.wp-block-eo-sticky:not(.is-active-mobile-menu) { + /** Vertical & Horizontal Gap */ +} +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left { top: 0; right: 0; } -.wp-block-eo-sticky.is-position-top-center { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-center { top: 0; right: 50%; transform: translateX(50%); } -.wp-block-eo-sticky.is-position-top-right { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right { top: 0; left: 0; } -.wp-block-eo-sticky.is-position-center-left { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left { top: 50%; right: 0; transform: translateY(-50%); } -.wp-block-eo-sticky.is-position-center-center, .wp-block-eo-sticky .is-position-center { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-center, .wp-block-eo-sticky:not(.is-active-mobile-menu) .is-position-center { top: 50%; right: 50%; transform: translate(50%, -50%); } -.wp-block-eo-sticky.is-position-center-right { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right { top: 50%; left: 0; transform: translateY(-50%); } -.wp-block-eo-sticky.is-position-bottom-left { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left { bottom: 0; right: 0; } -.wp-block-eo-sticky.is-position-bottom-center { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-center { bottom: 0; right: 50%; transform: translateX(50%); } -.wp-block-eo-sticky.is-position-bottom-right { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right { bottom: 0; left: 0; } - -/** Vertical & Horizontal Gap */ -[class^=is-position-top].wp-block-eo-sticky.is-gap-vertical-1 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-top].is-gap-vertical-1 { top: 1em; } -[class^=is-position-top].wp-block-eo-sticky.is-gap-vertical-2 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-top].is-gap-vertical-2 { top: 2em; } -[class^=is-position-top].wp-block-eo-sticky.is-gap-vertical-3 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-top].is-gap-vertical-3 { top: 3em; } -[class^=is-position-top].wp-block-eo-sticky.is-gap-vertical-4 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-top].is-gap-vertical-4 { top: 4em; } -[class^=is-position-top].wp-block-eo-sticky.is-gap-vertical-5 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-top].is-gap-vertical-5 { top: 5em; } -[class^=is-position-top].wp-block-eo-sticky.is-gap-vertical-6 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-top].is-gap-vertical-6 { top: 6em; } - -[class^=is-position-bottom].wp-block-eo-sticky.is-gap-vertical-1 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-bottom].is-gap-vertical-1 { bottom: 1em; } -[class^=is-position-bottom].wp-block-eo-sticky.is-gap-vertical-2 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-bottom].is-gap-vertical-2 { bottom: 2em; } -[class^=is-position-bottom].wp-block-eo-sticky.is-gap-vertical-3 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-bottom].is-gap-vertical-3 { bottom: 3em; } -[class^=is-position-bottom].wp-block-eo-sticky.is-gap-vertical-4 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-bottom].is-gap-vertical-4 { bottom: 4em; } -[class^=is-position-bottom].wp-block-eo-sticky.is-gap-vertical-5 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-bottom].is-gap-vertical-5 { bottom: 5em; } -[class^=is-position-bottom].wp-block-eo-sticky.is-gap-vertical-6 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-bottom].is-gap-vertical-6 { bottom: 6em; } - -.wp-block-eo-sticky.is-position-top-left.is-gap-horizontal-1, .wp-block-eo-sticky.is-position-center-left.is-gap-horizontal-1, .wp-block-eo-sticky.is-position-bottom-left.is-gap-horizontal-1 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left.is-gap-horizontal-1, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left.is-gap-horizontal-1, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left.is-gap-horizontal-1 { right: 1em; } -.wp-block-eo-sticky.is-position-top-left.is-gap-horizontal-2, .wp-block-eo-sticky.is-position-center-left.is-gap-horizontal-2, .wp-block-eo-sticky.is-position-bottom-left.is-gap-horizontal-2 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left.is-gap-horizontal-2, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left.is-gap-horizontal-2, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left.is-gap-horizontal-2 { right: 2em; } -.wp-block-eo-sticky.is-position-top-left.is-gap-horizontal-3, .wp-block-eo-sticky.is-position-center-left.is-gap-horizontal-3, .wp-block-eo-sticky.is-position-bottom-left.is-gap-horizontal-3 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left.is-gap-horizontal-3, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left.is-gap-horizontal-3, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left.is-gap-horizontal-3 { right: 3em; } -.wp-block-eo-sticky.is-position-top-left.is-gap-horizontal-4, .wp-block-eo-sticky.is-position-center-left.is-gap-horizontal-4, .wp-block-eo-sticky.is-position-bottom-left.is-gap-horizontal-4 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left.is-gap-horizontal-4, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left.is-gap-horizontal-4, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left.is-gap-horizontal-4 { right: 4em; } -.wp-block-eo-sticky.is-position-top-left.is-gap-horizontal-5, .wp-block-eo-sticky.is-position-center-left.is-gap-horizontal-5, .wp-block-eo-sticky.is-position-bottom-left.is-gap-horizontal-5 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left.is-gap-horizontal-5, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left.is-gap-horizontal-5, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left.is-gap-horizontal-5 { right: 5em; } -.wp-block-eo-sticky.is-position-top-left.is-gap-horizontal-6, .wp-block-eo-sticky.is-position-center-left.is-gap-horizontal-6, .wp-block-eo-sticky.is-position-bottom-left.is-gap-horizontal-6 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left.is-gap-horizontal-6, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left.is-gap-horizontal-6, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left.is-gap-horizontal-6 { right: 6em; } -.wp-block-eo-sticky.is-position-top-right.is-gap-horizontal-1, .wp-block-eo-sticky.is-position-center-right.is-gap-horizontal-1, .wp-block-eo-sticky.is-position-bottom-right.is-gap-horizontal-1 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right.is-gap-horizontal-1, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right.is-gap-horizontal-1, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right.is-gap-horizontal-1 { left: 1em; } -.wp-block-eo-sticky.is-position-top-right.is-gap-horizontal-2, .wp-block-eo-sticky.is-position-center-right.is-gap-horizontal-2, .wp-block-eo-sticky.is-position-bottom-right.is-gap-horizontal-2 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right.is-gap-horizontal-2, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right.is-gap-horizontal-2, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right.is-gap-horizontal-2 { left: 2em; } -.wp-block-eo-sticky.is-position-top-right.is-gap-horizontal-3, .wp-block-eo-sticky.is-position-center-right.is-gap-horizontal-3, .wp-block-eo-sticky.is-position-bottom-right.is-gap-horizontal-3 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right.is-gap-horizontal-3, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right.is-gap-horizontal-3, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right.is-gap-horizontal-3 { left: 3em; } -.wp-block-eo-sticky.is-position-top-right.is-gap-horizontal-4, .wp-block-eo-sticky.is-position-center-right.is-gap-horizontal-4, .wp-block-eo-sticky.is-position-bottom-right.is-gap-horizontal-4 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right.is-gap-horizontal-4, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right.is-gap-horizontal-4, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right.is-gap-horizontal-4 { left: 4em; } -.wp-block-eo-sticky.is-position-top-right.is-gap-horizontal-5, .wp-block-eo-sticky.is-position-center-right.is-gap-horizontal-5, .wp-block-eo-sticky.is-position-bottom-right.is-gap-horizontal-5 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right.is-gap-horizontal-5, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right.is-gap-horizontal-5, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right.is-gap-horizontal-5 { left: 5em; } -.wp-block-eo-sticky.is-position-top-right.is-gap-horizontal-6, .wp-block-eo-sticky.is-position-center-right.is-gap-horizontal-6, .wp-block-eo-sticky.is-position-bottom-right.is-gap-horizontal-6 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right.is-gap-horizontal-6, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right.is-gap-horizontal-6, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right.is-gap-horizontal-6 { left: 6em; } + +/** + * Sticky version mobile + */ +.wp-block-eo-sticky .eo-sticky__menu { + display: none; + width: 50px; + height: 50px; + background: #fff; + box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15); + border-radius: 8px; + transition: opacity 0.2s ease-out; +} +.wp-block-eo-sticky .eo-sticky__menu:hover { + cursor: pointer; + opacity: 0.6; +} +.wp-block-eo-sticky .eo-sticky__menu .eo-sticky__menu-icon { + width: 100%; + max-width: 20px; + margin: auto; +} +.wp-block-eo-sticky .eo-sticky__menu-close { + display: none; + position: absolute; + top: 2em; + left: 2em; + width: 100%; + max-width: 20px; + transition: opacity 0.2s ease-out; +} +.wp-block-eo-sticky .eo-sticky__menu-close:hover { + opacity: 0.5; + cursor: pointer; +} +@media (max-width: 599px) { + .wp-block-eo-sticky:not(.is-display-mobile) { + display: none; + } +} +@media (max-width: 599px) { + .wp-block-eo-sticky.is-display-mobile.is-style-mobile-menu .eo-sticky__menu { + display: flex; + } + .wp-block-eo-sticky.is-display-mobile.is-style-mobile-menu .eo-sticky__container { + display: none; + position: fixed; + z-index: 100001; + justify-content: center; + align-items: center; + top: 0; + right: 0; + width: 100%; + height: 100%; + background: #fff; + padding: 4em; + } + .wp-block-eo-sticky.is-display-mobile.is-style-mobile-menu.is-active-mobile-menu .eo-sticky__container { + display: flex; + } + .wp-block-eo-sticky.is-display-mobile.is-style-mobile-menu.is-active-mobile-menu .eo-sticky__menu-close { + display: block; + } +} diff --git a/blocks/build/eo-sticky/style-index.css b/blocks/build/eo-sticky/style-index.css index bbaf3bf..8a1e5a1 100644 --- a/blocks/build/eo-sticky/style-index.css +++ b/blocks/build/eo-sticky/style-index.css @@ -12,122 +12,185 @@ z-index: 100000; margin-top: 0 !important; } -.wp-block-eo-sticky.is-position-top-left { +.wp-block-eo-sticky:not(.is-active-mobile-menu) { + /** Vertical & Horizontal Gap */ +} +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left { top: 0; left: 0; } -.wp-block-eo-sticky.is-position-top-center { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-center { top: 0; left: 50%; transform: translateX(-50%); } -.wp-block-eo-sticky.is-position-top-right { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right { top: 0; right: 0; } -.wp-block-eo-sticky.is-position-center-left { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left { top: 50%; left: 0; transform: translateY(-50%); } -.wp-block-eo-sticky.is-position-center-center, .wp-block-eo-sticky .is-position-center { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-center, .wp-block-eo-sticky:not(.is-active-mobile-menu) .is-position-center { top: 50%; left: 50%; transform: translate(-50%, -50%); } -.wp-block-eo-sticky.is-position-center-right { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right { top: 50%; right: 0; transform: translateY(-50%); } -.wp-block-eo-sticky.is-position-bottom-left { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left { bottom: 0; left: 0; } -.wp-block-eo-sticky.is-position-bottom-center { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-center { bottom: 0; left: 50%; transform: translateX(-50%); } -.wp-block-eo-sticky.is-position-bottom-right { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right { bottom: 0; right: 0; } - -/** Vertical & Horizontal Gap */ -[class^=is-position-top].wp-block-eo-sticky.is-gap-vertical-1 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-top].is-gap-vertical-1 { top: 1em; } -[class^=is-position-top].wp-block-eo-sticky.is-gap-vertical-2 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-top].is-gap-vertical-2 { top: 2em; } -[class^=is-position-top].wp-block-eo-sticky.is-gap-vertical-3 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-top].is-gap-vertical-3 { top: 3em; } -[class^=is-position-top].wp-block-eo-sticky.is-gap-vertical-4 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-top].is-gap-vertical-4 { top: 4em; } -[class^=is-position-top].wp-block-eo-sticky.is-gap-vertical-5 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-top].is-gap-vertical-5 { top: 5em; } -[class^=is-position-top].wp-block-eo-sticky.is-gap-vertical-6 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-top].is-gap-vertical-6 { top: 6em; } - -[class^=is-position-bottom].wp-block-eo-sticky.is-gap-vertical-1 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-bottom].is-gap-vertical-1 { bottom: 1em; } -[class^=is-position-bottom].wp-block-eo-sticky.is-gap-vertical-2 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-bottom].is-gap-vertical-2 { bottom: 2em; } -[class^=is-position-bottom].wp-block-eo-sticky.is-gap-vertical-3 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-bottom].is-gap-vertical-3 { bottom: 3em; } -[class^=is-position-bottom].wp-block-eo-sticky.is-gap-vertical-4 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-bottom].is-gap-vertical-4 { bottom: 4em; } -[class^=is-position-bottom].wp-block-eo-sticky.is-gap-vertical-5 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-bottom].is-gap-vertical-5 { bottom: 5em; } -[class^=is-position-bottom].wp-block-eo-sticky.is-gap-vertical-6 { +.wp-block-eo-sticky:not(.is-active-mobile-menu)[class^=is-position-bottom].is-gap-vertical-6 { bottom: 6em; } - -.wp-block-eo-sticky.is-position-top-left.is-gap-horizontal-1, .wp-block-eo-sticky.is-position-center-left.is-gap-horizontal-1, .wp-block-eo-sticky.is-position-bottom-left.is-gap-horizontal-1 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left.is-gap-horizontal-1, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left.is-gap-horizontal-1, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left.is-gap-horizontal-1 { left: 1em; } -.wp-block-eo-sticky.is-position-top-left.is-gap-horizontal-2, .wp-block-eo-sticky.is-position-center-left.is-gap-horizontal-2, .wp-block-eo-sticky.is-position-bottom-left.is-gap-horizontal-2 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left.is-gap-horizontal-2, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left.is-gap-horizontal-2, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left.is-gap-horizontal-2 { left: 2em; } -.wp-block-eo-sticky.is-position-top-left.is-gap-horizontal-3, .wp-block-eo-sticky.is-position-center-left.is-gap-horizontal-3, .wp-block-eo-sticky.is-position-bottom-left.is-gap-horizontal-3 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left.is-gap-horizontal-3, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left.is-gap-horizontal-3, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left.is-gap-horizontal-3 { left: 3em; } -.wp-block-eo-sticky.is-position-top-left.is-gap-horizontal-4, .wp-block-eo-sticky.is-position-center-left.is-gap-horizontal-4, .wp-block-eo-sticky.is-position-bottom-left.is-gap-horizontal-4 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left.is-gap-horizontal-4, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left.is-gap-horizontal-4, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left.is-gap-horizontal-4 { left: 4em; } -.wp-block-eo-sticky.is-position-top-left.is-gap-horizontal-5, .wp-block-eo-sticky.is-position-center-left.is-gap-horizontal-5, .wp-block-eo-sticky.is-position-bottom-left.is-gap-horizontal-5 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left.is-gap-horizontal-5, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left.is-gap-horizontal-5, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left.is-gap-horizontal-5 { left: 5em; } -.wp-block-eo-sticky.is-position-top-left.is-gap-horizontal-6, .wp-block-eo-sticky.is-position-center-left.is-gap-horizontal-6, .wp-block-eo-sticky.is-position-bottom-left.is-gap-horizontal-6 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-left.is-gap-horizontal-6, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-left.is-gap-horizontal-6, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-left.is-gap-horizontal-6 { left: 6em; } -.wp-block-eo-sticky.is-position-top-right.is-gap-horizontal-1, .wp-block-eo-sticky.is-position-center-right.is-gap-horizontal-1, .wp-block-eo-sticky.is-position-bottom-right.is-gap-horizontal-1 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right.is-gap-horizontal-1, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right.is-gap-horizontal-1, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right.is-gap-horizontal-1 { right: 1em; } -.wp-block-eo-sticky.is-position-top-right.is-gap-horizontal-2, .wp-block-eo-sticky.is-position-center-right.is-gap-horizontal-2, .wp-block-eo-sticky.is-position-bottom-right.is-gap-horizontal-2 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right.is-gap-horizontal-2, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right.is-gap-horizontal-2, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right.is-gap-horizontal-2 { right: 2em; } -.wp-block-eo-sticky.is-position-top-right.is-gap-horizontal-3, .wp-block-eo-sticky.is-position-center-right.is-gap-horizontal-3, .wp-block-eo-sticky.is-position-bottom-right.is-gap-horizontal-3 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right.is-gap-horizontal-3, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right.is-gap-horizontal-3, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right.is-gap-horizontal-3 { right: 3em; } -.wp-block-eo-sticky.is-position-top-right.is-gap-horizontal-4, .wp-block-eo-sticky.is-position-center-right.is-gap-horizontal-4, .wp-block-eo-sticky.is-position-bottom-right.is-gap-horizontal-4 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right.is-gap-horizontal-4, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right.is-gap-horizontal-4, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right.is-gap-horizontal-4 { right: 4em; } -.wp-block-eo-sticky.is-position-top-right.is-gap-horizontal-5, .wp-block-eo-sticky.is-position-center-right.is-gap-horizontal-5, .wp-block-eo-sticky.is-position-bottom-right.is-gap-horizontal-5 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right.is-gap-horizontal-5, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right.is-gap-horizontal-5, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right.is-gap-horizontal-5 { right: 5em; } -.wp-block-eo-sticky.is-position-top-right.is-gap-horizontal-6, .wp-block-eo-sticky.is-position-center-right.is-gap-horizontal-6, .wp-block-eo-sticky.is-position-bottom-right.is-gap-horizontal-6 { +.wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-top-right.is-gap-horizontal-6, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-center-right.is-gap-horizontal-6, .wp-block-eo-sticky:not(.is-active-mobile-menu).is-position-bottom-right.is-gap-horizontal-6 { right: 6em; } +/** + * Sticky version mobile + */ +.wp-block-eo-sticky .eo-sticky__menu { + display: none; + width: 50px; + height: 50px; + background: #fff; + box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.15); + border-radius: 8px; + transition: opacity 0.2s ease-out; +} +.wp-block-eo-sticky .eo-sticky__menu:hover { + cursor: pointer; + opacity: 0.6; +} +.wp-block-eo-sticky .eo-sticky__menu .eo-sticky__menu-icon { + width: 100%; + max-width: 20px; + margin: auto; +} +.wp-block-eo-sticky .eo-sticky__menu-close { + display: none; + position: absolute; + top: 2em; + right: 2em; + width: 100%; + max-width: 20px; + transition: opacity 0.2s ease-out; +} +.wp-block-eo-sticky .eo-sticky__menu-close:hover { + opacity: 0.5; + cursor: pointer; +} +@media (max-width: 599px) { + .wp-block-eo-sticky:not(.is-display-mobile) { + display: none; + } +} +@media (max-width: 599px) { + .wp-block-eo-sticky.is-display-mobile.is-style-mobile-menu .eo-sticky__menu { + display: flex; + } + .wp-block-eo-sticky.is-display-mobile.is-style-mobile-menu .eo-sticky__container { + display: none; + position: fixed; + z-index: 100001; + justify-content: center; + align-items: center; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #fff; + padding: 4em; + } + .wp-block-eo-sticky.is-display-mobile.is-style-mobile-menu.is-active-mobile-menu .eo-sticky__container { + display: flex; + } + .wp-block-eo-sticky.is-display-mobile.is-style-mobile-menu.is-active-mobile-menu .eo-sticky__menu-close { + display: block; + } +} + /*# sourceMappingURL=style-index.css.map*/ \ No newline at end of file diff --git a/blocks/build/eo-sticky/style-index.css.map b/blocks/build/eo-sticky/style-index.css.map index a6c78df..1f96ed9 100644 --- a/blocks/build/eo-sticky/style-index.css.map +++ b/blocks/build/eo-sticky/style-index.css.map @@ -1 +1 @@ -{"version":3,"file":"eo-sticky/style-index.css","mappings":";;;AAAA;;;;;EAAA;AASA;EACC;EACA;EACA;AAFD;AAIC;EACC;EACA;AAFF;AAIC;EACC;EACA;EACA;AAFF;AAIC;EACC;EACA;AAFF;AAIC;EACC;EACA;EACA;AAFF;AAIC;EACC;EACA;EACA;AAFF;AAIC;EACC;EACA;EACA;AAFF;AAIC;EACC;EACA;AAFF;AAIC;EACC;EACA;EACA;AAFF;AAIC;EACC;EACA;AAFF;;AAMA;AAGE;EACC;AALH;AAIE;EACC;AAFH;AACE;EACC;AACH;AAFE;EACC;AAIH;AALE;EACC;AAOH;AARE;EACC;AAUH;;AAJE;EACC;AAOH;AARE;EACC;AAUH;AAXE;EACC;AAaH;AAdE;EACC;AAgBH;AAjBE;EACC;AAmBH;AApBE;EACC;AAsBH;;AAfG;EACC;AAkBJ;AAnBG;EACC;AAqBJ;AAtBG;EACC;AAwBJ;AAzBG;EACC;AA2BJ;AA5BG;EACC;AA8BJ;AA/BG;EACC;AAiCJ;AA3BG;EACC;AA6BJ;AA9BG;EACC;AAgCJ;AAjCG;EACC;AAmCJ;AApCG;EACC;AAsCJ;AAvCG;EACC;AAyCJ;AA1CG;EACC;AA4CJ,C","sources":["webpack://eo-blocks/./blocks/src/eo-sticky/scss/style.scss"],"sourcesContent":["/**\r\n * The following styles get applied both on the front of your site\r\n * and in the editor.\r\n *\r\n * Replace them with your own styles or remove the file completely.\r\n */\r\n\r\n$media__mobile: 599px;\r\n\r\n.wp-block-eo-sticky {\r\n\tposition: fixed;\r\n\tz-index: 100000;\r\n\tmargin-top: 0 !important;\r\n\r\n\t&.is-position-top-left {\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t}\r\n\t&.is-position-top-center {\r\n\t\ttop: 0;\r\n\t\tleft: 50%;\r\n\t\ttransform: translateX(-50%);\r\n\t}\r\n\t&.is-position-top-right {\r\n\t\ttop: 0;\r\n\t\tright: 0;\r\n\t}\r\n\t&.is-position-center-left {\r\n\t\ttop: 50%;\r\n\t\tleft: 0;\r\n\t\ttransform: translateY(-50%);\r\n\t}\r\n\t&.is-position-center-center, .is-position-center {\r\n\t\ttop: 50%;\r\n\t\tleft: 50%;\r\n\t\ttransform: translate(-50%, -50%);\r\n\t}\r\n\t&.is-position-center-right {\r\n\t\ttop: 50%;\r\n\t\tright: 0;\r\n\t\ttransform: translateY(-50%);\r\n\t}\r\n\t&.is-position-bottom-left {\r\n\t\tbottom: 0;\r\n\t\tleft: 0;\r\n\t}\r\n\t&.is-position-bottom-center {\r\n\t\tbottom: 0;\r\n\t\tleft: 50%;\r\n\t\ttransform: translateX(-50%);\r\n\t}\r\n\t&.is-position-bottom-right {\r\n\t\tbottom: 0;\r\n\t\tright: 0;\r\n\t}\r\n}\r\n\r\n/** Vertical & Horizontal Gap */\r\n[class^=\"is-position-top\"].wp-block-eo-sticky {\r\n\t@for $i from 1 through 6 {\r\n\t\t&.is-gap-vertical-#{$i} {\r\n\t\t\ttop: #{$i + 'em'};\r\n\t\t}\r\n\t}\r\n}\r\n[class^=\"is-position-bottom\"].wp-block-eo-sticky {\r\n\t@for $i from 1 through 6 {\r\n\t\t&.is-gap-vertical-#{$i} {\r\n\t\t\tbottom: #{$i + 'em'};\r\n\t\t}\r\n\t}\r\n}\r\n.wp-block-eo-sticky {\r\n\t&.is-position-top-left, &.is-position-center-left, &.is-position-bottom-left {\r\n\t\t@for $i from 1 through 6 {\r\n\t\t\t&.is-gap-horizontal-#{$i} {\r\n\t\t\t\tleft: #{$i + 'em'};\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t&.is-position-top-right, &.is-position-center-right, &.is-position-bottom-right {\r\n\t\t@for $i from 1 through 6 {\r\n\t\t\t&.is-gap-horizontal-#{$i} {\r\n\t\t\t\tright: #{$i + 'em'};\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"eo-sticky/style-index.css","mappings":";;;AAAA;;;;;EAAA;AASA;EACC;EACA;EACA;AAFD;AAIC;EA2CC;AA5CF;AAEE;EACC;EACA;AAAH;AAEE;EACC;EACA;EACA;AAAH;AAEE;EACC;EACA;AAAH;AAEE;EACC;EACA;EACA;AAAH;AAEE;EACC;EACA;EACA;AAAH;AAEE;EACC;EACA;EACA;AAAH;AAEE;EACC;EACA;AAAH;AAEE;EACC;EACA;EACA;AAAH;AAEE;EACC;EACA;AAAH;AAMI;EACC;AAJL;AAGI;EACC;AADL;AAAI;EACC;AAEL;AAHI;EACC;AAKL;AANI;EACC;AAQL;AATI;EACC;AAWL;AALI;EACC;AAOL;AARI;EACC;AAUL;AAXI;EACC;AAaL;AAdI;EACC;AAgBL;AAjBI;EACC;AAmBL;AApBI;EACC;AAsBL;AAhBI;EACC;AAkBL;AAnBI;EACC;AAqBL;AAtBI;EACC;AAwBL;AAzBI;EACC;AA2BL;AA5BI;EACC;AA8BL;AA/BI;EACC;AAiCL;AA3BI;EACC;AA6BL;AA9BI;EACC;AAgCL;AAjCI;EACC;AAmCL;AApCI;EACC;AAsCL;AAvCI;EACC;AAyCL;AA1CI;EACC;AA4CL;;AC9HA;;EAAA;AAKE;EACE;EAEA;EACA;EACA;EACA;EACA;EACA;AD8HJ;AC5HI;EACE;EACA;AD8HN;AC3HI;EACE;EACA;EACA;AD6HN;AC1HE;EACE;EAEA;EACA;EACA;EACA;EACA;EACA;AD2HJ;ACzHI;EACE;EACA;AD2HN;ACtHI;EADF;IAEI;EDyHJ;AACF;ACrHI;EACE;IACE;EDuHN;ECrHI;IACE;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;EDsHN;EClHM;IACE;EDoHR;EClHM;IACE;EDoHR;AACF,C","sources":["webpack://eo-blocks/./blocks/src/eo-sticky/scss/style.scss","webpack://eo-blocks/./blocks/src/eo-sticky/scss/_mobile.scss"],"sourcesContent":["/**\r\n * The following styles get applied both on the front of your site\r\n * and in the editor.\r\n *\r\n * Replace them with your own styles or remove the file completely.\r\n */\r\n\r\n$media__mobile: 599px;\r\n\r\n.wp-block-eo-sticky {\r\n\tposition: fixed;\r\n\tz-index: 100000;\r\n\tmargin-top: 0 !important;\r\n\r\n\t&:not(.is-active-mobile-menu) {\r\n\t\t&.is-position-top-left {\r\n\t\t\ttop: 0;\r\n\t\t\tleft: 0;\r\n\t\t}\r\n\t\t&.is-position-top-center {\r\n\t\t\ttop: 0;\r\n\t\t\tleft: 50%;\r\n\t\t\ttransform: translateX(-50%);\r\n\t\t}\r\n\t\t&.is-position-top-right {\r\n\t\t\ttop: 0;\r\n\t\t\tright: 0;\r\n\t\t}\r\n\t\t&.is-position-center-left {\r\n\t\t\ttop: 50%;\r\n\t\t\tleft: 0;\r\n\t\t\ttransform: translateY(-50%);\r\n\t\t}\r\n\t\t&.is-position-center-center, .is-position-center {\r\n\t\t\ttop: 50%;\r\n\t\t\tleft: 50%;\r\n\t\t\ttransform: translate(-50%, -50%);\r\n\t\t}\r\n\t\t&.is-position-center-right {\r\n\t\t\ttop: 50%;\r\n\t\t\tright: 0;\r\n\t\t\ttransform: translateY(-50%);\r\n\t\t}\r\n\t\t&.is-position-bottom-left {\r\n\t\t\tbottom: 0;\r\n\t\t\tleft: 0;\r\n\t\t}\r\n\t\t&.is-position-bottom-center {\r\n\t\t\tbottom: 0;\r\n\t\t\tleft: 50%;\r\n\t\t\ttransform: translateX(-50%);\r\n\t\t}\r\n\t\t&.is-position-bottom-right {\r\n\t\t\tbottom: 0;\r\n\t\t\tright: 0;\r\n\t\t}\r\n\r\n\t\t/** Vertical & Horizontal Gap */\r\n\t\t&[class^=\"is-position-top\"] {\r\n\t\t\t@for $i from 1 through 6 {\r\n\t\t\t\t&.is-gap-vertical-#{$i} {\r\n\t\t\t\t\ttop: #{$i + 'em'};\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t&[class^=\"is-position-bottom\"] {\r\n\t\t\t@for $i from 1 through 6 {\r\n\t\t\t\t&.is-gap-vertical-#{$i} {\r\n\t\t\t\t\tbottom: #{$i + 'em'};\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t&.is-position-top-left, &.is-position-center-left, &.is-position-bottom-left {\r\n\t\t\t@for $i from 1 through 6 {\r\n\t\t\t\t&.is-gap-horizontal-#{$i} {\r\n\t\t\t\t\tleft: #{$i + 'em'};\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t&.is-position-top-right, &.is-position-center-right, &.is-position-bottom-right {\r\n\t\t\t@for $i from 1 through 6 {\r\n\t\t\t\t&.is-gap-horizontal-#{$i} {\r\n\t\t\t\t\tright: #{$i + 'em'};\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\n@import \"mobile\";\r\n","/**\r\n * Sticky version mobile\r\n */\r\n\r\n.wp-block-eo-sticky {\r\n .eo-sticky__menu {\r\n display: none;\r\n\r\n width: 50px;\r\n height: 50px;\r\n background: #fff;\r\n box-shadow: 0 0 20px 0 rgba(0,0,0,0.15);\r\n border-radius: 8px;\r\n transition: opacity 0.2s ease-out;\r\n\r\n &:hover {\r\n cursor: pointer;\r\n opacity: 0.6;\r\n }\r\n\r\n .eo-sticky__menu-icon {\r\n width: 100%;\r\n max-width: 20px;\r\n margin: auto;\r\n }\r\n }\r\n .eo-sticky__menu-close {\r\n display: none;\r\n\r\n position: absolute;\r\n top: 2em;\r\n right: 2em;\r\n width: 100%;\r\n max-width: 20px;\r\n transition: opacity 0.2s ease-out;\r\n\r\n &:hover {\r\n opacity: 0.5;\r\n cursor: pointer;\r\n }\r\n }\r\n\r\n &:not(.is-display-mobile) {\r\n @media ( max-width: $media__mobile ) {\r\n display: none;\r\n }\r\n }\r\n\r\n &.is-display-mobile.is-style-mobile-menu {\r\n @media ( max-width: $media__mobile ) {\r\n .eo-sticky__menu {\r\n display: flex;\r\n }\r\n .eo-sticky__container {\r\n display: none;\r\n\r\n position: fixed;\r\n z-index: 100001;\r\n justify-content: center;\r\n align-items: center;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 100%;\r\n background: #fff;\r\n padding: 4em;\r\n }\r\n\r\n &.is-active-mobile-menu {\r\n .eo-sticky__container {\r\n display: flex;\r\n }\r\n .eo-sticky__menu-close {\r\n display: block;\r\n }\r\n }\r\n }\r\n }\r\n}\r\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/blocks/build/eo-sticky/view.asset.php b/blocks/build/eo-sticky/view.asset.php index b7d5420..3d3b484 100644 --- a/blocks/build/eo-sticky/view.asset.php +++ b/blocks/build/eo-sticky/view.asset.php @@ -1 +1 @@ - array(), 'version' => '5167daba9bbeb023f783'); + array(), 'version' => '733981ae834f89f674ff'); diff --git a/blocks/build/eo-sticky/view.js b/blocks/build/eo-sticky/view.js index a411849..94ae63b 100644 --- a/blocks/build/eo-sticky/view.js +++ b/blocks/build/eo-sticky/view.js @@ -14,7 +14,14 @@ var __webpack_exports__ = {}; * @param object $block The block jQuery element. * @return void */ - var initializeBlock = function ($block) {}; + var initializeBlock = function ($block) { + $($block).find('.eo-sticky__menu').on('click', function () { + $($block).toggleClass('is-active-mobile-menu'); + }); + $($block).find('.eo-sticky__menu-close').on('click', function () { + $($block).removeClass('is-active-mobile-menu'); + }); + }; $(document).ready(function () { $('.wp-block-eo-sticky').each(function () { initializeBlock($(this)); diff --git a/blocks/build/eo-sticky/view.js.map b/blocks/build/eo-sticky/view.js.map index 9349829..a8fb9af 100644 --- a/blocks/build/eo-sticky/view.js.map +++ b/blocks/build/eo-sticky/view.js.map @@ -1 +1 @@ -{"version":3,"file":"eo-sticky/view.js","mappings":";;;;;AAAA,CAAC,UAASA,CAAC,EAAE;EAEZ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,IAAIC,eAAe,GAAG,SAAAA,CAAUC,MAAM,EAAG,CACzC,CAAC;EAEDF,CAAC,CAACG,QAAQ,CAAC,CAACC,KAAK,CAAC,YAAU;IAC3BJ,CAAC,CAAC,qBAAqB,CAAC,CAACK,IAAI,CAAC,YAAU;MACvCJ,eAAe,CAAED,CAAC,CAAC,IAAI,CAAE,CAAC;IAC3B,CAAC,CAAC;EACH,CAAC,CAAC;AAEH,CAAC,EAAEM,MAAM,CAAC,C","sources":["webpack://eo-blocks/./blocks/src/eo-sticky/view.js"],"sourcesContent":["(function($) {\r\n\r\n\t/**\r\n\t * initializeBlock\r\n\t *\r\n\t * Adds custom JavaScript to the block Accordion.\r\n\t *\r\n\t * @since 1.0.0\r\n\t *\r\n\t * @param object $block The block jQuery element.\r\n\t * @return void\r\n\t */\r\n\tvar initializeBlock = function( $block ) {\r\n\t}\r\n\r\n\t$(document).ready(function(){\r\n\t\t$('.wp-block-eo-sticky').each(function(){\r\n\t\t\tinitializeBlock( $(this) );\r\n\t\t});\r\n\t});\r\n\r\n})(jQuery);\r\n"],"names":["$","initializeBlock","$block","document","ready","each","jQuery"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"eo-sticky/view.js","mappings":";;;;;AAAA,CAAC,UAASA,CAAC,EAAE;EAEZ;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,IAAIC,eAAe,GAAG,SAAAA,CAAUC,MAAM,EAAG;IACxCF,CAAC,CAACE,MAAM,CAAC,CAACC,IAAI,CAAC,kBAAkB,CAAC,CAACC,EAAE,CAAE,OAAO,EAAE,YAAW;MAC1DJ,CAAC,CAACE,MAAM,CAAC,CAACG,WAAW,CAAC,uBAAuB,CAAC;IAC/C,CAAC,CAAC;IACFL,CAAC,CAACE,MAAM,CAAC,CAACC,IAAI,CAAC,wBAAwB,CAAC,CAACC,EAAE,CAAC,OAAO,EAAE,YAAW;MAC/DJ,CAAC,CAACE,MAAM,CAAC,CAACI,WAAW,CAAC,uBAAuB,CAAC;IAC/C,CAAC,CAAC;EACH,CAAC;EAEDN,CAAC,CAACO,QAAQ,CAAC,CAACC,KAAK,CAAC,YAAU;IAC3BR,CAAC,CAAC,qBAAqB,CAAC,CAACS,IAAI,CAAC,YAAU;MACvCR,eAAe,CAAED,CAAC,CAAC,IAAI,CAAE,CAAC;IAC3B,CAAC,CAAC;EACH,CAAC,CAAC;AAEH,CAAC,EAAEU,MAAM,CAAC,C","sources":["webpack://eo-blocks/./blocks/src/eo-sticky/view.js"],"sourcesContent":["(function($) {\r\n\r\n\t/**\r\n\t * initializeBlock\r\n\t *\r\n\t * Adds custom JavaScript to the block Accordion.\r\n\t *\r\n\t * @since 1.0.0\r\n\t *\r\n\t * @param object $block The block jQuery element.\r\n\t * @return void\r\n\t */\r\n\tvar initializeBlock = function( $block ) {\r\n\t\t$($block).find('.eo-sticky__menu').on( 'click', function() {\r\n\t\t\t$($block).toggleClass('is-active-mobile-menu');\r\n\t\t})\r\n\t\t$($block).find('.eo-sticky__menu-close').on('click', function() {\r\n\t\t\t$($block).removeClass('is-active-mobile-menu');\r\n\t\t});\r\n\t}\r\n\r\n\t$(document).ready(function(){\r\n\t\t$('.wp-block-eo-sticky').each(function(){\r\n\t\t\tinitializeBlock( $(this) );\r\n\t\t});\r\n\t});\r\n\r\n})(jQuery);\r\n"],"names":["$","initializeBlock","$block","find","on","toggleClass","removeClass","document","ready","each","jQuery"],"sourceRoot":""} \ No newline at end of file diff --git a/blocks/src/eo-sticky/block.json b/blocks/src/eo-sticky/block.json index 53d4641..c8873c7 100644 --- a/blocks/src/eo-sticky/block.json +++ b/blocks/src/eo-sticky/block.json @@ -20,6 +20,14 @@ "verticalGapPercent": { "type": "number", "default": 0 + }, + "displayMobile": { + "type": "boolean", + "default": true + }, + "styleMobile": { + "type": "string", + "default": "standard" } }, "supports": { diff --git a/blocks/src/eo-sticky/edit.js b/blocks/src/eo-sticky/edit.js index 76cc543..e4d8d4c 100644 --- a/blocks/src/eo-sticky/edit.js +++ b/blocks/src/eo-sticky/edit.js @@ -21,6 +21,10 @@ import { Flex, FlexBlock, FlexItem, RangeControl, DropdownMenu, Toolbar, Toolbar import { __experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl } from '@wordpress/block-editor'; +import { + __experimentalToggleGroupControl as ToggleGroupControl, + __experimentalToggleGroupControlOption as ToggleGroupControlOption, +} from '@wordpress/components' import { sidesHorizontal, @@ -126,7 +130,24 @@ export default function Edit( { attributes, setAttributes } ) { - + setAttributes( { displayMobile: value } ) } + /> + { attributes.displayMobile && + setAttributes( { styleMobile: value } ) } + > + + + + } diff --git a/blocks/src/eo-sticky/render.php b/blocks/src/eo-sticky/render.php index a812a4d..ee6e7dc 100644 --- a/blocks/src/eo-sticky/render.php +++ b/blocks/src/eo-sticky/render.php @@ -18,18 +18,21 @@ $verticalGapPercent = ! empty( $attributes['verticalGapPercent'] ) ? $attributes['verticalGapPercent'] : 0; $verticalGapPercent = 'is-gap-vertical-' . str_replace( ' ', '-', $verticalGapPercent ); -$blockClass = $contentPosition . ' ' . $horizontalGapPercent . ' ' . $verticalGapPercent; +$showInMobile = ! empty( $attributes['displayMobile'] ) ? 'is-display-mobile' : ''; +if ( ! empty( $showInMobile ) ) : + $styleMobile = ! empty( $attributes['styleMobile'] ) ? $attributes['styleMobile'] : 'standard'; + $showInMobile .= ' is-style-mobile-' . $styleMobile; +endif; -//$blockStyle = sprintf( -// 'transform: translateX(%s%%); transform: translateY(%s%%);', -// esc_attr( $horizontalGapPercent ), -// esc_attr( $verticalGapPercent ) -//); +$blockClass = $contentPosition . ' ' . $horizontalGapPercent . ' ' . $verticalGapPercent . ' ' . $showInMobile; ?> -
esc_attr( $blockClass), -// 'style' => $blockStyle -) ) ); ?>> - +
esc_attr( $blockClass) ) ) ); ?>> +
+ +
+
+ + +
diff --git a/blocks/src/eo-sticky/scss/_mobile.scss b/blocks/src/eo-sticky/scss/_mobile.scss new file mode 100644 index 0000000..cbb95c7 --- /dev/null +++ b/blocks/src/eo-sticky/scss/_mobile.scss @@ -0,0 +1,79 @@ +/** + * Sticky version mobile + */ + +.wp-block-eo-sticky { + .eo-sticky__menu { + display: none; + + width: 50px; + height: 50px; + background: #fff; + box-shadow: 0 0 20px 0 rgba(0,0,0,0.15); + border-radius: 8px; + transition: opacity 0.2s ease-out; + + &:hover { + cursor: pointer; + opacity: 0.6; + } + + .eo-sticky__menu-icon { + width: 100%; + max-width: 20px; + margin: auto; + } + } + .eo-sticky__menu-close { + display: none; + + position: absolute; + top: 2em; + right: 2em; + width: 100%; + max-width: 20px; + transition: opacity 0.2s ease-out; + + &:hover { + opacity: 0.5; + cursor: pointer; + } + } + + &:not(.is-display-mobile) { + @media ( max-width: $media__mobile ) { + display: none; + } + } + + &.is-display-mobile.is-style-mobile-menu { + @media ( max-width: $media__mobile ) { + .eo-sticky__menu { + display: flex; + } + .eo-sticky__container { + display: none; + + position: fixed; + z-index: 100001; + justify-content: center; + align-items: center; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: #fff; + padding: 4em; + } + + &.is-active-mobile-menu { + .eo-sticky__container { + display: flex; + } + .eo-sticky__menu-close { + display: block; + } + } + } + } +} diff --git a/blocks/src/eo-sticky/scss/style.scss b/blocks/src/eo-sticky/scss/style.scss index 41e803d..b32951e 100644 --- a/blocks/src/eo-sticky/scss/style.scss +++ b/blocks/src/eo-sticky/scss/style.scss @@ -12,77 +12,79 @@ $media__mobile: 599px; z-index: 100000; margin-top: 0 !important; - &.is-position-top-left { - top: 0; - left: 0; - } - &.is-position-top-center { - top: 0; - left: 50%; - transform: translateX(-50%); - } - &.is-position-top-right { - top: 0; - right: 0; - } - &.is-position-center-left { - top: 50%; - left: 0; - transform: translateY(-50%); - } - &.is-position-center-center, .is-position-center { - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - } - &.is-position-center-right { - top: 50%; - right: 0; - transform: translateY(-50%); - } - &.is-position-bottom-left { - bottom: 0; - left: 0; - } - &.is-position-bottom-center { - bottom: 0; - left: 50%; - transform: translateX(-50%); - } - &.is-position-bottom-right { - bottom: 0; - right: 0; - } -} + &:not(.is-active-mobile-menu) { + &.is-position-top-left { + top: 0; + left: 0; + } + &.is-position-top-center { + top: 0; + left: 50%; + transform: translateX(-50%); + } + &.is-position-top-right { + top: 0; + right: 0; + } + &.is-position-center-left { + top: 50%; + left: 0; + transform: translateY(-50%); + } + &.is-position-center-center, .is-position-center { + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + &.is-position-center-right { + top: 50%; + right: 0; + transform: translateY(-50%); + } + &.is-position-bottom-left { + bottom: 0; + left: 0; + } + &.is-position-bottom-center { + bottom: 0; + left: 50%; + transform: translateX(-50%); + } + &.is-position-bottom-right { + bottom: 0; + right: 0; + } -/** Vertical & Horizontal Gap */ -[class^="is-position-top"].wp-block-eo-sticky { - @for $i from 1 through 6 { - &.is-gap-vertical-#{$i} { - top: #{$i + 'em'}; + /** Vertical & Horizontal Gap */ + &[class^="is-position-top"] { + @for $i from 1 through 6 { + &.is-gap-vertical-#{$i} { + top: #{$i + 'em'}; + } + } } - } -} -[class^="is-position-bottom"].wp-block-eo-sticky { - @for $i from 1 through 6 { - &.is-gap-vertical-#{$i} { - bottom: #{$i + 'em'}; + &[class^="is-position-bottom"] { + @for $i from 1 through 6 { + &.is-gap-vertical-#{$i} { + bottom: #{$i + 'em'}; + } + } } - } -} -.wp-block-eo-sticky { - &.is-position-top-left, &.is-position-center-left, &.is-position-bottom-left { - @for $i from 1 through 6 { - &.is-gap-horizontal-#{$i} { - left: #{$i + 'em'}; + &.is-position-top-left, &.is-position-center-left, &.is-position-bottom-left { + @for $i from 1 through 6 { + &.is-gap-horizontal-#{$i} { + left: #{$i + 'em'}; + } } } - } - &.is-position-top-right, &.is-position-center-right, &.is-position-bottom-right { - @for $i from 1 through 6 { - &.is-gap-horizontal-#{$i} { - right: #{$i + 'em'}; + &.is-position-top-right, &.is-position-center-right, &.is-position-bottom-right { + @for $i from 1 through 6 { + &.is-gap-horizontal-#{$i} { + right: #{$i + 'em'}; + } } } } } + +@import "mobile"; diff --git a/blocks/src/eo-sticky/view.js b/blocks/src/eo-sticky/view.js index 29224d4..e348f1b 100644 --- a/blocks/src/eo-sticky/view.js +++ b/blocks/src/eo-sticky/view.js @@ -11,6 +11,12 @@ * @return void */ var initializeBlock = function( $block ) { + $($block).find('.eo-sticky__menu').on( 'click', function() { + $($block).toggleClass('is-active-mobile-menu'); + }) + $($block).find('.eo-sticky__menu-close').on('click', function() { + $($block).removeClass('is-active-mobile-menu'); + }); } $(document).ready(function(){