\n\t\t\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport {};","import { registerBlockType } from \"@wordpress/blocks\";\nimport \"./style.scss\";\n\nimport Edit from \"./edit\";\nimport save from \"./save\";\nimport metadata from \"./block.json\";\n\nregisterBlockType(metadata.name, {\n\ticon: {\n\t\tforeground: \"#136f63\",\n\t\tsrc: (\n\t\t\t\n\t\t),\n\t},\n\tedit: Edit,\n\tsave,\n});\n","import { useBlockProps, InnerBlocks } from \"@wordpress/block-editor\";\n\nexport default function save() {\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport {};","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"i18n\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// 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\"front-header/index\": 0,\n\t\"front-header/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[\"webpackChunkcarhop_blocks\"] = globalThis[\"webpackChunkcarhop_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, [\"front-header/style-index\"], () => (__webpack_require__(\"./src/front-header/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["__","useBlockProps","InnerBlocks","jsx","_jsx","Edit","className","children","template","placeholder","allowedBlocks","registerBlockType","save","metadata","jsxs","_jsxs","name","icon","foreground","src","width","height","viewBox","stroke","id","d","y","x","edit","Content"],"ignoreList":[],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"front-header/index.js","mappings":"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","sources":["webpack://carhop-blocks/./src/front-header/edit.js","webpack://carhop-blocks/./src/front-header/editor.scss?2ff7","webpack://carhop-blocks/./src/front-header/index.js","webpack://carhop-blocks/./src/front-header/save.js","webpack://carhop-blocks/./src/front-header/style.scss","webpack://carhop-blocks/external window [\"wp\",\"blockEditor\"]","webpack://carhop-blocks/external window [\"wp\",\"blocks\"]","webpack://carhop-blocks/external window [\"wp\",\"i18n\"]","webpack://carhop-blocks/external window \"ReactJSXRuntime\"","webpack://carhop-blocks/webpack/bootstrap","webpack://carhop-blocks/webpack/runtime/chunk loaded","webpack://carhop-blocks/webpack/runtime/compat get default export","webpack://carhop-blocks/webpack/runtime/define property getters","webpack://carhop-blocks/webpack/runtime/hasOwnProperty shorthand","webpack://carhop-blocks/webpack/runtime/make namespace object","webpack://carhop-blocks/webpack/runtime/jsonp chunk loading","webpack://carhop-blocks/webpack/before-startup","webpack://carhop-blocks/webpack/startup","webpack://carhop-blocks/webpack/after-startup"],"sourcesContent":["import { __ } from \"@wordpress/i18n\";\nimport { useBlockProps, InnerBlocks } from \"@wordpress/block-editor\";\nimport \"./editor.scss\";\n\nexport default function Edit() {\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport {};","import { registerBlockType } from \"@wordpress/blocks\";\nimport \"./style.scss\";\n\nimport Edit from \"./edit\";\nimport save from \"./save\";\nimport metadata from \"./block.json\";\n\nregisterBlockType(metadata.name, {\n\ticon: {\n\t\tforeground: \"#136f63\",\n\t\tsrc: (\n\t\t\t\n\t\t),\n\t},\n\tedit: Edit,\n\tsave,\n});\n\nwp.blocks.registerBlockStyle(\"front-header/front-header\", {\n\tname: \"has-overlap\",\n\tlabel: \"Superposition du bloc suivant”\",\n});\n","import { useBlockProps, InnerBlocks } from \"@wordpress/block-editor\";\n\nexport default function save() {\n\treturn (\n\t\t\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport {};","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"i18n\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// 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\"front-header/index\": 0,\n\t\"front-header/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[\"webpackChunkcarhop_blocks\"] = globalThis[\"webpackChunkcarhop_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, [\"front-header/style-index\"], () => (__webpack_require__(\"./src/front-header/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["__","useBlockProps","InnerBlocks","jsx","_jsx","Edit","className","children","template","placeholder","allowedBlocks","registerBlockType","save","metadata","jsxs","_jsxs","name","icon","foreground","src","width","height","viewBox","stroke","id","d","y","x","edit","wp","blocks","registerBlockStyle","label","Content"],"ignoreList":[],"sourceRoot":""}
\ No newline at end of file
diff --git a/plugins/carhop-blocks/build/press-ressources/render.php b/plugins/carhop-blocks/build/press-ressources/render.php
index 1f7eed2..6a73c9d 100644
--- a/plugins/carhop-blocks/build/press-ressources/render.php
+++ b/plugins/carhop-blocks/build/press-ressources/render.php
@@ -12,7 +12,7 @@
diff --git a/plugins/carhop-blocks/build/variations.asset.php b/plugins/carhop-blocks/build/variations.asset.php
index cd9e261..0f4aa68 100644
--- a/plugins/carhop-blocks/build/variations.asset.php
+++ b/plugins/carhop-blocks/build/variations.asset.php
@@ -1 +1 @@
- array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-element', 'wp-hooks', 'wp-i18n'), 'version' => '025809f38879d8aa4d9f');
+ array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-compose', 'wp-element', 'wp-hooks', 'wp-i18n'), 'version' => '3f6b05b882c661442b82');
diff --git a/plugins/carhop-blocks/build/variations.js b/plugins/carhop-blocks/build/variations.js
index 3545f67..2f01ca4 100644
--- a/plugins/carhop-blocks/build/variations.js
+++ b/plugins/carhop-blocks/build/variations.js
@@ -155,6 +155,11 @@ wp.blocks.registerBlockStyle("core/heading", {
wp.blocks.registerBlockStyle("core/image", {
name: "framed",
label: "Encadré",
+ isDefault: false
+});
+wp.blocks.registerBlockStyle("core/image", {
+ name: "framed-rotated",
+ label: "Encadré pivoté",
isDefault: true
});
wp.blocks.registerBlockStyle("core/image", {
diff --git a/plugins/carhop-blocks/build/variations.js.map b/plugins/carhop-blocks/build/variations.js.map
index c2cd2db..7b475c7 100644
--- a/plugins/carhop-blocks/build/variations.js.map
+++ b/plugins/carhop-blocks/build/variations.js.map
@@ -1 +1 @@
-{"version":3,"file":"variations.js","mappings":"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","sources":["webpack://carhop-blocks/./src/core-variants/core-buttons/editor.js","webpack://carhop-blocks/./src/core-variants/core-columns/editor.js","webpack://carhop-blocks/./src/core-variants/core-embed-variant/editor.js","webpack://carhop-blocks/./src/core-variants/core-heading-variant/editor.js","webpack://carhop-blocks/./src/core-variants/core-image-variant/editor.js","webpack://carhop-blocks/./src/core-variants/core-list-variant/editor.js","webpack://carhop-blocks/./src/core-variants/variants.scss?f090","webpack://carhop-blocks/external window [\"wp\",\"blockEditor\"]","webpack://carhop-blocks/external window [\"wp\",\"blocks\"]","webpack://carhop-blocks/external window [\"wp\",\"components\"]","webpack://carhop-blocks/external window [\"wp\",\"compose\"]","webpack://carhop-blocks/external window [\"wp\",\"element\"]","webpack://carhop-blocks/external window [\"wp\",\"hooks\"]","webpack://carhop-blocks/external window [\"wp\",\"i18n\"]","webpack://carhop-blocks/external window \"ReactJSXRuntime\"","webpack://carhop-blocks/webpack/bootstrap","webpack://carhop-blocks/webpack/runtime/compat get default export","webpack://carhop-blocks/webpack/runtime/define property getters","webpack://carhop-blocks/webpack/runtime/hasOwnProperty shorthand","webpack://carhop-blocks/webpack/runtime/make namespace object","webpack://carhop-blocks/./src/core-variants/variants.js"],"sourcesContent":["wp.blocks.registerBlockStyle(\"core/buttons\", {\r\n\tname: \"big-buttons\",\r\n\tlabel: \"Grands boutons \",\r\n});\r\n","import { registerBlockStyle } from \"@wordpress/blocks\";\nimport { addFilter } from \"@wordpress/hooks\";\nimport { createElement, cloneElement, Children } from \"@wordpress/element\";\nimport { createHigherOrderComponent } from \"@wordpress/compose\";\n\n// Enregistrement du style de bloc\nregisterBlockStyle(\"core/columns\", {\n\tname: \"sticky-columns\",\n\tlabel: \"Colonnes sticky\",\n});\n\n// Fonction pour vérifier si le style sticky-columns est appliqué\nconst hasStickyColumnsStyle = (attributes) => {\n\tconst className = attributes?.className || \"\";\n\treturn className.includes(\"is-style-sticky-columns\");\n};\n\n// -----------------------------\n// 1. Modifier le HTML sauvegardé pour envelopper les colonnes dans une div avec la classe \"test\"\n// -----------------------------\naddFilter(\n\t\"blocks.getSaveElement\",\n\t\"carhop/sticky-columns-wrapper\",\n\t(element, blockType, attributes) => {\n\t\t// Vérifier si c'est le bloc core/columns et si le style sticky-columns est appliqué\n\t\tif (\n\t\t\tblockType.name !== \"core/columns\" ||\n\t\t\t!hasStickyColumnsStyle(attributes)\n\t\t) {\n\t\t\treturn element;\n\t\t}\n\n\t\t// Si l'élément est null ou n'a pas d'enfants, retourner tel quel\n\t\tif (!element || !element.props || !element.props.children) {\n\t\t\treturn element;\n\t\t}\n\n\t\t// Envelopper chaque colonne individuellement dans une div avec la classe \"test\"\n\t\tconst children = Children.toArray(element.props.children);\n\t\tconst wrappedChildren = children.map((child, index) => {\n\t\t\t// Si c'est un élément React (une colonne), l'envelopper dans une div\n\t\t\tif (child && typeof child === \"object\" && child.type) {\n\t\t\t\treturn createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\t{ key: `sticky-column-wrapper-${index}`, className: \"test\" },\n\t\t\t\t\tchild,\n\t\t\t\t);\n\t\t\t}\n\t\t\t// Sinon, retourner tel quel\n\t\t\treturn child;\n\t\t});\n\n\t\t// Retourner l'élément avec les enfants enveloppés\n\t\treturn cloneElement(element, {\n\t\t\t...element.props,\n\t\t\tchildren: wrappedChildren,\n\t\t});\n\t},\n);\n\n// -----------------------------\n// 2. Modifier l'affichage dans l'éditeur pour envelopper les colonnes dans une div avec la classe \"test\"\n// Note: Le rendu côté serveur est géré par render.php\n// Pour l'éditeur, on utilise un filtre sur BlockEdit pour modifier le rendu\n// -----------------------------\naddFilter(\n\t\"editor.BlockEdit\",\n\t\"carhop/sticky-columns-editor-wrapper\",\n\tcreateHigherOrderComponent((BlockEdit) => {\n\t\treturn (props) => {\n\t\t\t// Vérifier si c'est le bloc core/columns et si le style sticky-columns est appliqué\n\t\t\tif (\n\t\t\t\tprops.name !== \"core/columns\" ||\n\t\t\t\t!hasStickyColumnsStyle(props.attributes)\n\t\t\t) {\n\t\t\t\treturn ;\n\t\t\t}\n\n\t\t\t// Récupérer le rendu du bloc\n\t\t\tconst blockEditElement = ;\n\n\t\t\t// Si l'élément a des enfants (les inner blocks), on les enveloppe dans une div avec la classe \"test\"\n\t\t\tif (\n\t\t\t\tblockEditElement &&\n\t\t\t\tblockEditElement.props &&\n\t\t\t\tblockEditElement.props.children\n\t\t\t) {\n\t\t\t\t// Cloner l'élément et envelopper les enfants dans une div avec la classe \"test\"\n\t\t\t\treturn cloneElement(blockEditElement, {\n\t\t\t\t\t...blockEditElement.props,\n\t\t\t\t\tchildren: createElement(\n\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t{ className: \"test\" },\n\t\t\t\t\t\tblockEditElement.props.children,\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn blockEditElement;\n\t\t};\n\t}, \"withStickyColumnsWrapper\"),\n);\n","wp.blocks.registerBlockStyle(\"core/embed\", {\r\n\tname: \"stacked-background\",\r\n\tlabel: \"Fond empilé\",\r\n});\r\n","wp.blocks.registerBlockStyle(\"core/heading\", {\r\n\tname: \"stroked-after\",\r\n\tlabel: \"Titre + trait \",\r\n});\r\n","wp.blocks.registerBlockStyle(\"core/image\", {\r\n\tname: \"framed\",\r\n\tlabel: \"Encadré\",\r\n\tisDefault: true,\r\n});\r\nwp.blocks.registerBlockStyle(\"core/image\", {\r\n\tname: \"stacked\",\r\n\tlabel: \"Empilé\",\r\n\tisDefault: false,\r\n});\r\n","import { registerBlockVariation } from \"@wordpress/blocks\";\r\nimport { __ } from \"@wordpress/i18n\";\r\nimport {\r\n\tInspectorControls,\r\n\tBlockControls,\r\n\tAlignmentToolbar,\r\n} from \"@wordpress/block-editor\";\r\nimport { ToolbarGroup, ToolbarDropdownMenu } from \"@wordpress/components\";\r\nimport { Fragment } from \"@wordpress/element\";\r\nimport { addFilter } from \"@wordpress/hooks\";\r\nimport { createHigherOrderComponent } from \"@wordpress/compose\";\r\n\r\nimport { check, arrowRight, starFilled } from \"@wordpress/icons\";\r\n\r\n// Variation du bloc \"Liste\" pour ajouter une classe spéciale\r\nregisterBlockVariation(\"core/list\", {\r\n\tname: \"iconed-list\",\r\n\ttitle: \"Liste avec icônes\",\r\n\tdescription: \"Liste dont chaque élément peut avoir une icône personnalisée.\",\r\n\tattributes: {\r\n\t\tclassName: \"is-iconed-list\",\r\n\t},\r\n\tscope: [\"inserter\", \"transform\"],\r\n\tisActive: (blockAttributes) => {\r\n\t\tconst cls = (blockAttributes && blockAttributes.className) || \"\";\r\n\t\treturn cls.split(\" \").includes(\"is-iconed-list\");\r\n\t},\r\n});\r\n\r\n// -----------------------------\r\n// 1. On étend les attributs de core/list-item\r\n// -----------------------------\r\n\r\naddFilter(\r\n\t\"blocks.registerBlockType\",\r\n\t\"am/iconed-list-item-attributes\",\r\n\t(settings, name) => {\r\n\t\tif (name !== \"core/list-item\") {\r\n\t\t\treturn settings;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\t...settings,\r\n\t\t\tattributes: {\r\n\t\t\t\t...settings.attributes,\r\n\t\t\t\ticon: {\r\n\t\t\t\t\ttype: \"string\",\r\n\t\t\t\t\tdefault: \"\",\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t};\r\n\t}\r\n);\r\n\r\n// -----------------------------\r\n// 2. On ajoute un panneau de réglages pour choisir l'icône\r\n// -----------------------------\r\n\r\naddFilter(\r\n\t\"editor.BlockEdit\",\r\n\t\"am/iconed-list-item-controls\",\r\n\t(BlockEdit) => (props) => {\r\n\t\tif (props.name !== \"core/list-item\") {\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\tconst { attributes, setAttributes } = props;\r\n\t\tconst { icon } = attributes;\r\n\r\n\t\tconst ICONS = [\r\n\t\t\t{\r\n\t\t\t\ttitle: __(\"Loupe\"),\r\n\t\t\t\tvalue: \"loupe\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: __(\"Sablier\"),\r\n\t\t\t\tvalue: \"sablier\",\r\n\t\t\t},\r\n\t\t\t{ title: __(\"Cadenas\"), value: \"cadenas\" },\r\n\t\t\t{ title: __(\"Check\"), value: \"check\" },\r\n\t\t\t{ title: __(\"Loupe Alt\"), value: \"loupe-alt\" },\r\n\t\t\t{ title: __(\"Pendule\"), value: \"pendule\" },\r\n\t\t];\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\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\tcontrols={ICONS.map(({ title, value }) => ({\r\n\t\t\t\t\t\t\t\ttitle,\r\n\t\t\t\t\t\t\t\ticon: (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t),\r\n\r\n\t\t\t\t\t\t\t\tisActive: icon === value,\r\n\t\t\t\t\t\t\t\tonClick: () => setAttributes({ icon: value }),\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\t setAttributes({ align: value })}\r\n\t\t\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// -----------------------------\r\n// 3. On ajoute des props au HTML sauvegardé pour chaque
\r\n// -----------------------------\r\naddFilter(\r\n\t\"blocks.getSaveContent.extraProps\",\r\n\t\"carhop/iconed-list-item-save-props\",\r\n\t(extraProps, blockType, attributes) => {\r\n\t\tif (blockType.name !== \"core/list-item\" || !attributes.icon) {\r\n\t\t\treturn extraProps;\r\n\t\t}\r\n\r\n\t\tif (attributes.icon) {\r\n\t\t\textraProps = {\r\n\t\t\t\t...extraProps,\r\n\t\t\t\tclassName:\r\n\t\t\t\t\t(extraProps.className || \"\") +\r\n\t\t\t\t\t\" has-custom-icon has-custom-icon--\" +\r\n\t\t\t\t\tattributes.icon,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn extraProps;\r\n\t}\r\n);\r\n\r\n// -----------------------------\r\n// 4. Applique les mêmes classes en mode éditeur (BlockListBlock)\r\n// -----------------------------\r\naddFilter(\r\n\t\"editor.BlockListBlock\",\r\n\t\"carhop/iconed-list-item-editor-classes\",\r\n\tcreateHigherOrderComponent((BlockListBlock) => {\r\n\t\treturn (props) => {\r\n\t\t\tif (props.name !== \"core/list-item\") {\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t\tconst slug = props.attributes?.icon || \"\";\r\n\t\t\tconst className = [\r\n\t\t\t\tprops.className || \"\",\r\n\t\t\t\tslug ? \"has-custom-icon\" : \"\",\r\n\t\t\t\tslug ? `has-custom-icon--${slug}` : \"\",\r\n\t\t\t]\r\n\t\t\t\t.filter(Boolean)\r\n\t\t\t\t.join(\" \");\r\n\r\n\t\t\treturn ;\r\n\t\t};\r\n\t}, \"withIconedListItemEditorClasses\")\r\n);\r\n","// extracted by mini-css-extract-plugin\nexport {};","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"compose\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"hooks\"];","module.exports = window[\"wp\"][\"i18n\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import \"./core-heading-variant/editor.js\";\r\nimport \"./core-image-variant/editor.js\";\r\nimport \"./core-embed-variant/editor.js\";\r\nimport \"./core-list-variant/editor.js\";\r\nimport \"./core-buttons/editor.js\";\r\nimport \"./core-columns/editor.js\";\r\n\r\nimport \"./variants.scss\";\r\n"],"names":["wp","blocks","registerBlockStyle","name","label","addFilter","createElement","cloneElement","Children","createHigherOrderComponent","jsx","_jsx","hasStickyColumnsStyle","attributes","className","includes","element","blockType","props","children","toArray","wrappedChildren","map","child","index","type","key","BlockEdit","blockEditElement","isDefault","registerBlockVariation","__","InspectorControls","BlockControls","AlignmentToolbar","ToolbarGroup","ToolbarDropdownMenu","Fragment","check","arrowRight","starFilled","jsxs","_jsxs","title","description","scope","isActive","blockAttributes","cls","split","settings","icon","default","setAttributes","ICONS","value","controls","onClick","align","onChange","extraProps","BlockListBlock","slug","filter","Boolean","join"],"ignoreList":[],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"file":"variations.js","mappings":"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","sources":["webpack://carhop-blocks/./src/core-variants/core-buttons/editor.js","webpack://carhop-blocks/./src/core-variants/core-columns/editor.js","webpack://carhop-blocks/./src/core-variants/core-embed-variant/editor.js","webpack://carhop-blocks/./src/core-variants/core-heading-variant/editor.js","webpack://carhop-blocks/./src/core-variants/core-image-variant/editor.js","webpack://carhop-blocks/./src/core-variants/core-list-variant/editor.js","webpack://carhop-blocks/./src/core-variants/variants.scss?f090","webpack://carhop-blocks/external window [\"wp\",\"blockEditor\"]","webpack://carhop-blocks/external window [\"wp\",\"blocks\"]","webpack://carhop-blocks/external window [\"wp\",\"components\"]","webpack://carhop-blocks/external window [\"wp\",\"compose\"]","webpack://carhop-blocks/external window [\"wp\",\"element\"]","webpack://carhop-blocks/external window [\"wp\",\"hooks\"]","webpack://carhop-blocks/external window [\"wp\",\"i18n\"]","webpack://carhop-blocks/external window \"ReactJSXRuntime\"","webpack://carhop-blocks/webpack/bootstrap","webpack://carhop-blocks/webpack/runtime/compat get default export","webpack://carhop-blocks/webpack/runtime/define property getters","webpack://carhop-blocks/webpack/runtime/hasOwnProperty shorthand","webpack://carhop-blocks/webpack/runtime/make namespace object","webpack://carhop-blocks/./src/core-variants/variants.js"],"sourcesContent":["wp.blocks.registerBlockStyle(\"core/buttons\", {\r\n\tname: \"big-buttons\",\r\n\tlabel: \"Grands boutons \",\r\n});\r\n","import { registerBlockStyle } from \"@wordpress/blocks\";\nimport { addFilter } from \"@wordpress/hooks\";\nimport { createElement, cloneElement, Children } from \"@wordpress/element\";\nimport { createHigherOrderComponent } from \"@wordpress/compose\";\n\n// Enregistrement du style de bloc\nregisterBlockStyle(\"core/columns\", {\n\tname: \"sticky-columns\",\n\tlabel: \"Colonnes sticky\",\n});\n\n// Fonction pour vérifier si le style sticky-columns est appliqué\nconst hasStickyColumnsStyle = (attributes) => {\n\tconst className = attributes?.className || \"\";\n\treturn className.includes(\"is-style-sticky-columns\");\n};\n\n// -----------------------------\n// 1. Modifier le HTML sauvegardé pour envelopper les colonnes dans une div avec la classe \"test\"\n// -----------------------------\naddFilter(\n\t\"blocks.getSaveElement\",\n\t\"carhop/sticky-columns-wrapper\",\n\t(element, blockType, attributes) => {\n\t\t// Vérifier si c'est le bloc core/columns et si le style sticky-columns est appliqué\n\t\tif (\n\t\t\tblockType.name !== \"core/columns\" ||\n\t\t\t!hasStickyColumnsStyle(attributes)\n\t\t) {\n\t\t\treturn element;\n\t\t}\n\n\t\t// Si l'élément est null ou n'a pas d'enfants, retourner tel quel\n\t\tif (!element || !element.props || !element.props.children) {\n\t\t\treturn element;\n\t\t}\n\n\t\t// Envelopper chaque colonne individuellement dans une div avec la classe \"test\"\n\t\tconst children = Children.toArray(element.props.children);\n\t\tconst wrappedChildren = children.map((child, index) => {\n\t\t\t// Si c'est un élément React (une colonne), l'envelopper dans une div\n\t\t\tif (child && typeof child === \"object\" && child.type) {\n\t\t\t\treturn createElement(\n\t\t\t\t\t\"div\",\n\t\t\t\t\t{ key: `sticky-column-wrapper-${index}`, className: \"test\" },\n\t\t\t\t\tchild,\n\t\t\t\t);\n\t\t\t}\n\t\t\t// Sinon, retourner tel quel\n\t\t\treturn child;\n\t\t});\n\n\t\t// Retourner l'élément avec les enfants enveloppés\n\t\treturn cloneElement(element, {\n\t\t\t...element.props,\n\t\t\tchildren: wrappedChildren,\n\t\t});\n\t},\n);\n\n// -----------------------------\n// 2. Modifier l'affichage dans l'éditeur pour envelopper les colonnes dans une div avec la classe \"test\"\n// Note: Le rendu côté serveur est géré par render.php\n// Pour l'éditeur, on utilise un filtre sur BlockEdit pour modifier le rendu\n// -----------------------------\naddFilter(\n\t\"editor.BlockEdit\",\n\t\"carhop/sticky-columns-editor-wrapper\",\n\tcreateHigherOrderComponent((BlockEdit) => {\n\t\treturn (props) => {\n\t\t\t// Vérifier si c'est le bloc core/columns et si le style sticky-columns est appliqué\n\t\t\tif (\n\t\t\t\tprops.name !== \"core/columns\" ||\n\t\t\t\t!hasStickyColumnsStyle(props.attributes)\n\t\t\t) {\n\t\t\t\treturn ;\n\t\t\t}\n\n\t\t\t// Récupérer le rendu du bloc\n\t\t\tconst blockEditElement = ;\n\n\t\t\t// Si l'élément a des enfants (les inner blocks), on les enveloppe dans une div avec la classe \"test\"\n\t\t\tif (\n\t\t\t\tblockEditElement &&\n\t\t\t\tblockEditElement.props &&\n\t\t\t\tblockEditElement.props.children\n\t\t\t) {\n\t\t\t\t// Cloner l'élément et envelopper les enfants dans une div avec la classe \"test\"\n\t\t\t\treturn cloneElement(blockEditElement, {\n\t\t\t\t\t...blockEditElement.props,\n\t\t\t\t\tchildren: createElement(\n\t\t\t\t\t\t\"div\",\n\t\t\t\t\t\t{ className: \"test\" },\n\t\t\t\t\t\tblockEditElement.props.children,\n\t\t\t\t\t),\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn blockEditElement;\n\t\t};\n\t}, \"withStickyColumnsWrapper\"),\n);\n","wp.blocks.registerBlockStyle(\"core/embed\", {\r\n\tname: \"stacked-background\",\r\n\tlabel: \"Fond empilé\",\r\n});\r\n","wp.blocks.registerBlockStyle(\"core/heading\", {\r\n\tname: \"stroked-after\",\r\n\tlabel: \"Titre + trait \",\r\n});\r\n","wp.blocks.registerBlockStyle(\"core/image\", {\r\n\tname: \"framed\",\r\n\tlabel: \"Encadré\",\r\n\tisDefault: false,\r\n});\r\nwp.blocks.registerBlockStyle(\"core/image\", {\r\n\tname: \"framed-rotated\",\r\n\tlabel: \"Encadré pivoté\",\r\n\tisDefault: true,\r\n});\r\nwp.blocks.registerBlockStyle(\"core/image\", {\r\n\tname: \"stacked\",\r\n\tlabel: \"Empilé\",\r\n\tisDefault: false,\r\n});\r\n","import { registerBlockVariation } from \"@wordpress/blocks\";\r\nimport { __ } from \"@wordpress/i18n\";\r\nimport {\r\n\tInspectorControls,\r\n\tBlockControls,\r\n\tAlignmentToolbar,\r\n} from \"@wordpress/block-editor\";\r\nimport { ToolbarGroup, ToolbarDropdownMenu } from \"@wordpress/components\";\r\nimport { Fragment } from \"@wordpress/element\";\r\nimport { addFilter } from \"@wordpress/hooks\";\r\nimport { createHigherOrderComponent } from \"@wordpress/compose\";\r\n\r\nimport { check, arrowRight, starFilled } from \"@wordpress/icons\";\r\n\r\n// Variation du bloc \"Liste\" pour ajouter une classe spéciale\r\nregisterBlockVariation(\"core/list\", {\r\n\tname: \"iconed-list\",\r\n\ttitle: \"Liste avec icônes\",\r\n\tdescription: \"Liste dont chaque élément peut avoir une icône personnalisée.\",\r\n\tattributes: {\r\n\t\tclassName: \"is-iconed-list\",\r\n\t},\r\n\tscope: [\"inserter\", \"transform\"],\r\n\tisActive: (blockAttributes) => {\r\n\t\tconst cls = (blockAttributes && blockAttributes.className) || \"\";\r\n\t\treturn cls.split(\" \").includes(\"is-iconed-list\");\r\n\t},\r\n});\r\n\r\n// -----------------------------\r\n// 1. On étend les attributs de core/list-item\r\n// -----------------------------\r\n\r\naddFilter(\r\n\t\"blocks.registerBlockType\",\r\n\t\"am/iconed-list-item-attributes\",\r\n\t(settings, name) => {\r\n\t\tif (name !== \"core/list-item\") {\r\n\t\t\treturn settings;\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\t...settings,\r\n\t\t\tattributes: {\r\n\t\t\t\t...settings.attributes,\r\n\t\t\t\ticon: {\r\n\t\t\t\t\ttype: \"string\",\r\n\t\t\t\t\tdefault: \"\",\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t};\r\n\t}\r\n);\r\n\r\n// -----------------------------\r\n// 2. On ajoute un panneau de réglages pour choisir l'icône\r\n// -----------------------------\r\n\r\naddFilter(\r\n\t\"editor.BlockEdit\",\r\n\t\"am/iconed-list-item-controls\",\r\n\t(BlockEdit) => (props) => {\r\n\t\tif (props.name !== \"core/list-item\") {\r\n\t\t\treturn ;\r\n\t\t}\r\n\t\tconst { attributes, setAttributes } = props;\r\n\t\tconst { icon } = attributes;\r\n\r\n\t\tconst ICONS = [\r\n\t\t\t{\r\n\t\t\t\ttitle: __(\"Loupe\"),\r\n\t\t\t\tvalue: \"loupe\",\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\ttitle: __(\"Sablier\"),\r\n\t\t\t\tvalue: \"sablier\",\r\n\t\t\t},\r\n\t\t\t{ title: __(\"Cadenas\"), value: \"cadenas\" },\r\n\t\t\t{ title: __(\"Check\"), value: \"check\" },\r\n\t\t\t{ title: __(\"Loupe Alt\"), value: \"loupe-alt\" },\r\n\t\t\t{ title: __(\"Pendule\"), value: \"pendule\" },\r\n\t\t];\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\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\tcontrols={ICONS.map(({ title, value }) => ({\r\n\t\t\t\t\t\t\t\ttitle,\r\n\t\t\t\t\t\t\t\ticon: (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t),\r\n\r\n\t\t\t\t\t\t\t\tisActive: icon === value,\r\n\t\t\t\t\t\t\t\tonClick: () => setAttributes({ icon: value }),\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\t setAttributes({ align: value })}\r\n\t\t\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// -----------------------------\r\n// 3. On ajoute des props au HTML sauvegardé pour chaque
\r\n// -----------------------------\r\naddFilter(\r\n\t\"blocks.getSaveContent.extraProps\",\r\n\t\"carhop/iconed-list-item-save-props\",\r\n\t(extraProps, blockType, attributes) => {\r\n\t\tif (blockType.name !== \"core/list-item\" || !attributes.icon) {\r\n\t\t\treturn extraProps;\r\n\t\t}\r\n\r\n\t\tif (attributes.icon) {\r\n\t\t\textraProps = {\r\n\t\t\t\t...extraProps,\r\n\t\t\t\tclassName:\r\n\t\t\t\t\t(extraProps.className || \"\") +\r\n\t\t\t\t\t\" has-custom-icon has-custom-icon--\" +\r\n\t\t\t\t\tattributes.icon,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn extraProps;\r\n\t}\r\n);\r\n\r\n// -----------------------------\r\n// 4. Applique les mêmes classes en mode éditeur (BlockListBlock)\r\n// -----------------------------\r\naddFilter(\r\n\t\"editor.BlockListBlock\",\r\n\t\"carhop/iconed-list-item-editor-classes\",\r\n\tcreateHigherOrderComponent((BlockListBlock) => {\r\n\t\treturn (props) => {\r\n\t\t\tif (props.name !== \"core/list-item\") {\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t\tconst slug = props.attributes?.icon || \"\";\r\n\t\t\tconst className = [\r\n\t\t\t\tprops.className || \"\",\r\n\t\t\t\tslug ? \"has-custom-icon\" : \"\",\r\n\t\t\t\tslug ? `has-custom-icon--${slug}` : \"\",\r\n\t\t\t]\r\n\t\t\t\t.filter(Boolean)\r\n\t\t\t\t.join(\" \");\r\n\r\n\t\t\treturn ;\r\n\t\t};\r\n\t}, \"withIconedListItemEditorClasses\")\r\n);\r\n","// extracted by mini-css-extract-plugin\nexport {};","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"compose\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"hooks\"];","module.exports = window[\"wp\"][\"i18n\"];","module.exports = window[\"ReactJSXRuntime\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import \"./core-heading-variant/editor.js\";\r\nimport \"./core-image-variant/editor.js\";\r\nimport \"./core-embed-variant/editor.js\";\r\nimport \"./core-list-variant/editor.js\";\r\nimport \"./core-buttons/editor.js\";\r\nimport \"./core-columns/editor.js\";\r\n\r\nimport \"./variants.scss\";\r\n"],"names":["wp","blocks","registerBlockStyle","name","label","addFilter","createElement","cloneElement","Children","createHigherOrderComponent","jsx","_jsx","hasStickyColumnsStyle","attributes","className","includes","element","blockType","props","children","toArray","wrappedChildren","map","child","index","type","key","BlockEdit","blockEditElement","isDefault","registerBlockVariation","__","InspectorControls","BlockControls","AlignmentToolbar","ToolbarGroup","ToolbarDropdownMenu","Fragment","check","arrowRight","starFilled","jsxs","_jsxs","title","description","scope","isActive","blockAttributes","cls","split","settings","icon","default","setAttributes","ICONS","value","controls","onClick","align","onChange","extraProps","BlockListBlock","slug","filter","Boolean","join"],"ignoreList":[],"sourceRoot":""}
\ No newline at end of file