Compare commits

..

15 Commits

Author SHA1 Message Date
Antoine M
70ebc1976e REFACTOR removing unecessary console log
All checks were successful
continuous-integration/drone/push Build is passing
2025-07-16 10:44:14 +02:00
Antoine M
ad0c3174aa FEATURE Enqueue new blocks 2025-07-16 10:43:52 +02:00
Antoine M
d29a68356b FEATURE Handling has light background 2025-07-16 10:43:18 +02:00
Antoine M
845b7b56f6 REFACTOR FIX Handling fallback colors with text ang bg colors 2025-07-16 10:42:18 +02:00
Antoine M
d73c7d259b REFACTOR Removing unecessary console log 2025-07-16 10:41:16 +02:00
Antoine M
889d9f01d2 FEATURE Handling cover type variation 2025-07-16 10:40:50 +02:00
Antoine M
596e210aef FEATURE Introducing component 2025-07-16 10:39:56 +02:00
Antoine M
fda00ffac1 FEATURE Introducing component 2025-07-16 10:39:30 +02:00
Antoine M
59f46f2e96 FEATURE Handling size variation 2025-07-16 10:38:41 +02:00
Antoine M
235510e7ab REBUILDING 2025-07-16 10:37:56 +02:00
Antoine M
5c17362daa Removing unecessary commentaries 2025-07-16 10:37:01 +02:00
Antoine M
84510f123f Rebuilding 2025-07-16 10:35:44 +02:00
Antoine M
80ba790a95 Rebuilding 2025-07-16 10:35:12 +02:00
Antoine M
20951831c9 Rebuilding 2025-07-16 10:33:47 +02:00
Antoine M
a4de815f0d Rebuilding 2025-07-16 10:33:16 +02:00
77 changed files with 28458 additions and 560 deletions

View File

@ -0,0 +1,18 @@
# This file is for unifying the coding style for different editors and IDEs
# editorconfig.org
# WordPress Coding Standards
# https://make.wordpress.org/core/handbook/coding-standards/
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = tab
[*.{yml,yaml}]
indent_style = space
indent_size = 2

View File

@ -0,0 +1,38 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "carhop-blocks/card-grid",
"version": "0.1.0",
"title": "Card Grid",
"category": "carhop-blocks",
"icon": "smiley",
"description": "Boite de contenu pour la mise en forme d'éléments de contenu",
"example": {},
"supports": {
"html": false,
"align": [
"wide",
"full"
],
"alignWide": true
},
"textdomain": "carhop-blocks",
"editorScript": "file:./index.js",
"editorStyle": "file:./index.css",
"style": "file:./style-index.css",
"viewScript": "file:./view.js",
"attributes": {
"align": {
"type": "string",
"default": ""
},
"columns": {
"type": "number",
"default": 3
},
"cardsWithBorder": {
"type": "boolean",
"default": true
}
}
}

View File

@ -0,0 +1,35 @@
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/.pnpm/css-loader@6.11.0_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.3_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@16.0.5_sass@1.85.1_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.card-grid__innerblocks {
display: block;
}
.card-grid .card-grid__innerblocks > .block-editor-inner-blocks > .block-editor-block-list__layout {
display: grid;
gap: 1rem;
}
.card-grid--columns-2 .card-grid__innerblocks > .block-editor-inner-blocks > .block-editor-block-list__layout {
grid-template-columns: repeat(2, 1fr);
}
.card-grid--columns-3 .card-grid__innerblocks > .block-editor-inner-blocks > .block-editor-block-list__layout {
grid-template-columns: repeat(3, 1fr);
}
.card-grid--columns-4 .card-grid__innerblocks > .block-editor-inner-blocks > .block-editor-block-list__layout {
grid-template-columns: repeat(4, 1fr);
}
.card-grid--columns-5 .card-grid__innerblocks > .block-editor-inner-blocks > .block-editor-block-list__layout {
grid-template-columns: repeat(5, 1fr);
}
.card-grid.alignwide {
max-width: var(--wp--style--global--wide-size, 1200px);
margin-right: auto;
margin-left: auto;
}
.card-grid.alignfull {
max-width: none;
margin-right: 0;
margin-left: 0;
width: 100%;
}

View File

@ -0,0 +1 @@
<?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => '8fa7f47191e56bdb1c86');

View File

@ -0,0 +1,37 @@
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/.pnpm/css-loader@6.11.0_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.3_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@16.0.5_sass@1.85.1_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.card-grid__innerblocks {
display: block;
}
.card-grid .card-grid__innerblocks > .block-editor-inner-blocks > .block-editor-block-list__layout {
display: grid;
gap: 1rem;
}
.card-grid--columns-2 .card-grid__innerblocks > .block-editor-inner-blocks > .block-editor-block-list__layout {
grid-template-columns: repeat(2, 1fr);
}
.card-grid--columns-3 .card-grid__innerblocks > .block-editor-inner-blocks > .block-editor-block-list__layout {
grid-template-columns: repeat(3, 1fr);
}
.card-grid--columns-4 .card-grid__innerblocks > .block-editor-inner-blocks > .block-editor-block-list__layout {
grid-template-columns: repeat(4, 1fr);
}
.card-grid--columns-5 .card-grid__innerblocks > .block-editor-inner-blocks > .block-editor-block-list__layout {
grid-template-columns: repeat(5, 1fr);
}
.card-grid.alignwide {
max-width: var(--wp--style--global--wide-size, 1200px);
margin-left: auto;
margin-right: auto;
}
.card-grid.alignfull {
max-width: none;
margin-left: 0;
margin-right: 0;
width: 100%;
}
/*# sourceMappingURL=index.css.map*/

View File

@ -0,0 +1 @@
{"version":3,"file":"index.css","mappings":";;;AACC;EACC;AAAF;AAGC;EAGC;EACA;AAHF;AAKC;EAIC;AANF;AAQC;EAIC;AATF;AAWC;EAIC;AAZF;AAcC;EAIC;AAfF;;AAoBA;EACC;EACA;EACA;AAjBD;;AAoBA;EACC;EACA;EACA;EACA;AAjBD,C","sources":["webpack://front-header/./src/editor.scss"],"sourcesContent":[".card-grid {\n\t&__innerblocks {\n\t\tdisplay: block;\n\t}\n\n\t.card-grid__innerblocks\n\t\t> .block-editor-inner-blocks\n\t\t> .block-editor-block-list__layout {\n\t\tdisplay: grid;\n\t\tgap: 1rem;\n\t}\n\t&--columns-2\n\t\t.card-grid__innerblocks\n\t\t> .block-editor-inner-blocks\n\t\t> .block-editor-block-list__layout {\n\t\tgrid-template-columns: repeat(2, 1fr);\n\t}\n\t&--columns-3\n\t\t.card-grid__innerblocks\n\t\t> .block-editor-inner-blocks\n\t\t> .block-editor-block-list__layout {\n\t\tgrid-template-columns: repeat(3, 1fr);\n\t}\n\t&--columns-4\n\t\t.card-grid__innerblocks\n\t\t> .block-editor-inner-blocks\n\t\t> .block-editor-block-list__layout {\n\t\tgrid-template-columns: repeat(4, 1fr);\n\t}\n\t&--columns-5\n\t\t.card-grid__innerblocks\n\t\t> .block-editor-inner-blocks\n\t\t> .block-editor-block-list__layout {\n\t\tgrid-template-columns: repeat(5, 1fr);\n\t}\n}\n\n// Styles pour les alignements dans l'éditeur\n.card-grid.alignwide {\n\tmax-width: var(--wp--style--global--wide-size, 1200px);\n\tmargin-left: auto;\n\tmargin-right: auto;\n}\n\n.card-grid.alignfull {\n\tmax-width: none;\n\tmargin-left: 0;\n\tmargin-right: 0;\n\twidth: 100%;\n}\n"],"names":[],"sourceRoot":""}

View File

@ -0,0 +1,412 @@
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "./src/block.json":
/*!************************!*\
!*** ./src/block.json ***!
\************************/
/***/ ((module) => {
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"carhop-blocks/card-grid","version":"0.1.0","title":"Card Grid","category":"carhop-blocks","icon":"smiley","description":"Boite de contenu pour la mise en forme d\'éléments de contenu","example":{},"supports":{"html":false,"align":["wide","full"],"alignWide":true},"textdomain":"carhop-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","viewScript":"file:./view.js","attributes":{"align":{"type":"string","default":""},"columns":{"type":"number","default":3},"cardsWithBorder":{"type":"boolean","default":true}}}');
/***/ }),
/***/ "./src/edit.js":
/*!*********************!*\
!*** ./src/edit.js ***!
\*********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Edit)
/* harmony export */ });
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./editor.scss */ "./src/editor.scss");
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__);
function Edit({
attributes,
setAttributes,
...props
}) {
const {
columns,
cardsWithBorder
} = attributes;
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.PanelBody, {
title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)("Nombre de colonnes", "carhop-blocks"),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.RangeControl, {
__next40pxDefaultSize: true,
__nextHasNoMarginBottom: true,
initialPosition: 3,
label: "Nombre de colonnes",
max: 4,
min: 2,
onChange: value => setAttributes({
columns: value
})
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.PanelBody, {
title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)("Bordure des cartes", "carhop-blocks"),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_3__.CheckboxControl, {
label: "Avec bordure",
checked: cardsWithBorder,
onChange: value => setAttributes({
cardsWithBorder: value
})
})
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("section", {
...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)({
className: `card-grid card-grid--columns-${columns} card-grid--cards-${cardsWithBorder ? "with-border" : "without-border"}`
}),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div", {
className: "card-grid__innerblocks",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InnerBlocks, {
template: [["carhop-blocks/content-card", {
placeholder: "Ajouter ici le texte"
}]],
allowedBlocks: ["carhop-blocks/content-card"]
})
})
})]
});
}
/***/ }),
/***/ "./src/editor.scss":
/*!*************************!*\
!*** ./src/editor.scss ***!
\*************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "./src/index.js":
/*!**********************!*\
!*** ./src/index.js ***!
\**********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./style.scss */ "./src/style.scss");
/* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./edit */ "./src/edit.js");
/* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./save */ "./src/save.js");
/* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./block.json */ "./src/block.json");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
(0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)(_block_json__WEBPACK_IMPORTED_MODULE_4__.name, {
icon: {
foreground: "#136f63",
src: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("svg", {
width: "40",
height: "40",
viewBox: "0 0 100 100",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("g", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("path", {
d: "m50,99.84988l-43.14852,-24.92494l0,-49.84988l43.14852,-24.92494l43.14852,24.92494l0,49.84988l-43.14852,24.92494zm-40.75518,-26.32675l40.75518,23.52312l40.75518,-23.52312l0,-47.04625l-40.75518,-23.55731l-40.75518,23.55731l0,47.04625z"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("path", {
d: "m50,86.13945l-31.28439,-18.05263l0,-36.13945l31.28439,-18.05263l31.28439,18.05263l0,36.13945l-31.28439,18.05263zm-13.50528,-28.344l13.50528,7.79545l13.50528,-7.79545l0,-15.59091l-13.50528,-7.79545l-13.50528,7.79545l0,15.59091z"
})]
})
})
},
edit: _edit__WEBPACK_IMPORTED_MODULE_2__["default"],
save: _save__WEBPACK_IMPORTED_MODULE_3__["default"]
});
/***/ }),
/***/ "./src/save.js":
/*!*********************!*\
!*** ./src/save.js ***!
\*********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ save)
/* harmony export */ });
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__);
function save({
attributes
}) {
const {
columns,
cardsWithBorder,
align
} = attributes;
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("section", {
..._wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.useBlockProps.save({
className: `card-grid card-grid--columns-${columns} card-grid--cards-${cardsWithBorder ? "with-border" : "without-border"}${align ? ` align${align}` : ""}`
}),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("div", {
className: "card-grid__innerblocks",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.InnerBlocks.Content, {})
})
});
}
/***/ }),
/***/ "./src/style.scss":
/*!************************!*\
!*** ./src/style.scss ***!
\************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "@wordpress/block-editor":
/*!*************************************!*\
!*** external ["wp","blockEditor"] ***!
\*************************************/
/***/ ((module) => {
module.exports = window["wp"]["blockEditor"];
/***/ }),
/***/ "@wordpress/blocks":
/*!********************************!*\
!*** external ["wp","blocks"] ***!
\********************************/
/***/ ((module) => {
module.exports = window["wp"]["blocks"];
/***/ }),
/***/ "@wordpress/components":
/*!************************************!*\
!*** external ["wp","components"] ***!
\************************************/
/***/ ((module) => {
module.exports = window["wp"]["components"];
/***/ }),
/***/ "@wordpress/i18n":
/*!******************************!*\
!*** external ["wp","i18n"] ***!
\******************************/
/***/ ((module) => {
module.exports = window["wp"]["i18n"];
/***/ }),
/***/ "react/jsx-runtime":
/*!**********************************!*\
!*** external "ReactJSXRuntime" ***!
\**********************************/
/***/ ((module) => {
module.exports = window["ReactJSXRuntime"];
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = __webpack_modules__;
/******/
/************************************************************************/
/******/ /* webpack/runtime/chunk loaded */
/******/ (() => {
/******/ var deferred = [];
/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
/******/ if(chunkIds) {
/******/ priority = priority || 0;
/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
/******/ deferred[i] = [chunkIds, fn, priority];
/******/ return;
/******/ }
/******/ var notFulfilled = Infinity;
/******/ for (var i = 0; i < deferred.length; i++) {
/******/ var [chunkIds, fn, priority] = deferred[i];
/******/ var fulfilled = true;
/******/ for (var j = 0; j < chunkIds.length; j++) {
/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
/******/ chunkIds.splice(j--, 1);
/******/ } else {
/******/ fulfilled = false;
/******/ if(priority < notFulfilled) notFulfilled = priority;
/******/ }
/******/ }
/******/ if(fulfilled) {
/******/ deferred.splice(i--, 1)
/******/ var r = fn();
/******/ if (r !== undefined) result = r;
/******/ }
/******/ }
/******/ return result;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/jsonp chunk loading */
/******/ (() => {
/******/ // no baseURI
/******/
/******/ // object to store loaded and loading chunks
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
/******/ var installedChunks = {
/******/ "index": 0,
/******/ "./style-index": 0
/******/ };
/******/
/******/ // no chunk on demand loading
/******/
/******/ // no prefetching
/******/
/******/ // no preloaded
/******/
/******/ // no HMR
/******/
/******/ // no HMR manifest
/******/
/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
/******/
/******/ // install a JSONP callback for chunk loading
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
/******/ var [chunkIds, moreModules, runtime] = data;
/******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0;
/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
/******/ for(moduleId in moreModules) {
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/ if(runtime) var result = runtime(__webpack_require__);
/******/ }
/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
/******/ for(;i < chunkIds.length; i++) {
/******/ chunkId = chunkIds[i];
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ installedChunks[chunkId][0]();
/******/ }
/******/ installedChunks[chunkId] = 0;
/******/ }
/******/ return __webpack_require__.O(result);
/******/ }
/******/
/******/ var chunkLoadingGlobal = globalThis["webpackChunkfront_header"] = globalThis["webpackChunkfront_header"] || [];
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
/******/ })();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module depends on other loaded chunks and execution need to be delayed
/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["./style-index"], () => (__webpack_require__("./src/index.js")))
/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
/******/
/******/ })()
;
//# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,27 @@
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/.pnpm/css-loader@6.11.0_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.3_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@16.0.5_sass@1.85.1_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.card-grid__innerblocks {
display: grid;
gap: 1rem;
}
.card-grid--cards-with-border .content-card {
border: 1px solid var(--wp--preset--color--primary);
padding: 2rem;
}
.card-grid--cards-without-border .content-card {
border: none;
}
.card-grid.alignwide {
max-width: var(--wp--style--global--wide-size, 1200px);
margin-right: auto;
margin-left: auto;
}
.card-grid.alignfull {
max-width: none;
margin-right: 0;
margin-left: 0;
width: 100%;
}

View File

@ -0,0 +1,29 @@
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/.pnpm/css-loader@6.11.0_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.3_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@16.0.5_sass@1.85.1_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.card-grid__innerblocks {
display: grid;
gap: 1rem;
}
.card-grid--cards-with-border .content-card {
border: 1px solid var(--wp--preset--color--primary);
padding: 2rem;
}
.card-grid--cards-without-border .content-card {
border: none;
}
.card-grid.alignwide {
max-width: var(--wp--style--global--wide-size, 1200px);
margin-left: auto;
margin-right: auto;
}
.card-grid.alignfull {
max-width: none;
margin-left: 0;
margin-right: 0;
width: 100%;
}
/*# sourceMappingURL=style-index.css.map*/

View File

@ -0,0 +1 @@
{"version":3,"file":"./style-index.css","mappings":";;;AACC;EACC;EACA;AAAF;AAIE;EACC;EACA;AAFH;AAME;EACC;AAJH;;AAUA;EACC;EACA;EACA;AAPD;;AAUA;EACC;EACA;EACA;EACA;AAPD,C","sources":["webpack://front-header/./src/style.scss"],"sourcesContent":[".card-grid {\r\n\t&__innerblocks {\r\n\t\tdisplay: grid;\r\n\t\tgap: 1rem;\r\n\t}\r\n\r\n\t&--cards-with-border {\r\n\t\t.content-card {\r\n\t\t\tborder: 1px solid var(--wp--preset--color--primary);\r\n\t\t\tpadding: 2rem;\r\n\t\t}\r\n\t}\r\n\t&--cards-without-border {\r\n\t\t.content-card {\r\n\t\t\tborder: none;\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// Styles pour les alignements\r\n.card-grid.alignwide {\r\n\tmax-width: var(--wp--style--global--wide-size, 1200px);\r\n\tmargin-left: auto;\r\n\tmargin-right: auto;\r\n}\r\n\r\n.card-grid.alignfull {\r\n\tmax-width: none;\r\n\tmargin-left: 0;\r\n\tmargin-right: 0;\r\n\twidth: 100%;\r\n}\r\n"],"names":[],"sourceRoot":""}

View File

@ -0,0 +1 @@
<?php return array('dependencies' => array(), 'version' => '9618df91ea3d5989c295');

View File

@ -0,0 +1,7 @@
/******/ (() => { // webpackBootstrap
/*!*********************!*\
!*** ./src/view.js ***!
\*********************/
/******/ })()
;

View File

@ -0,0 +1,21 @@
{
"name": "front-header",
"version": "0.1.0",
"description": "Example block scaffolded with Create Block tool.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
"main": "build/index.js",
"scripts": {
"build": "wp-scripts build",
"format": "wp-scripts format",
"lint:css": "wp-scripts lint-style",
"lint:js": "wp-scripts lint-js",
"packages-update": "wp-scripts packages-update",
"plugin-zip": "wp-scripts plugin-zip",
"start": "wp-scripts start"
},
"devDependencies": {
"@wordpress/scripts": "^30.12.0"
},
"packageManager": "pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b"
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,38 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "carhop-blocks/card-grid",
"version": "0.1.0",
"title": "Card Grid",
"category": "carhop-blocks",
"icon": "smiley",
"description": "Boite de contenu pour la mise en forme d'éléments de contenu",
"example": {},
"supports": {
"html": false,
"align": [
"wide",
"full"
],
"alignWide": true
},
"textdomain": "carhop-blocks",
"editorScript": "file:./index.js",
"editorStyle": "file:./index.css",
"style": "file:./style-index.css",
"viewScript": "file:./view.js",
"attributes": {
"align": {
"type": "string",
"default": ""
},
"columns": {
"type": "number",
"default": 3
},
"cardsWithBorder": {
"type": "boolean",
"default": true
}
}
}

View File

@ -0,0 +1,63 @@
import { __ } from "@wordpress/i18n";
import {
useBlockProps,
InnerBlocks,
InspectorControls,
} from "@wordpress/block-editor";
import "./editor.scss";
import {
PanelBody,
__experimentalToggleGroupControl as ToggleGroupControl,
__experimentalToggleGroupControlOption as ToggleGroupControlOption,
RangeControl,
CheckboxControl,
} from "@wordpress/components";
export default function Edit({ attributes, setAttributes, ...props }) {
const { columns, cardsWithBorder } = attributes;
return (
<>
<InspectorControls>
<PanelBody title={__("Nombre de colonnes", "carhop-blocks")}>
<RangeControl
__next40pxDefaultSize
__nextHasNoMarginBottom
initialPosition={3}
label="Nombre de colonnes"
max={4}
min={2}
onChange={(value) => setAttributes({ columns: value })}
/>
</PanelBody>
<PanelBody title={__("Bordure des cartes", "carhop-blocks")}>
<CheckboxControl
label="Avec bordure"
checked={cardsWithBorder}
onChange={(value) => setAttributes({ cardsWithBorder: value })}
/>
</PanelBody>
</InspectorControls>
<section
{...useBlockProps({
className: `card-grid card-grid--columns-${columns} card-grid--cards-${
cardsWithBorder ? "with-border" : "without-border"
}`,
})}
>
<div className="card-grid__innerblocks">
<InnerBlocks
template={[
[
"carhop-blocks/content-card",
{ placeholder: "Ajouter ici le texte" },
],
]}
allowedBlocks={["carhop-blocks/content-card"]}
/>
</div>
</section>
</>
);
}

View File

@ -0,0 +1,50 @@
.card-grid {
&__innerblocks {
display: block;
}
.card-grid__innerblocks
> .block-editor-inner-blocks
> .block-editor-block-list__layout {
display: grid;
gap: 1rem;
}
&--columns-2
.card-grid__innerblocks
> .block-editor-inner-blocks
> .block-editor-block-list__layout {
grid-template-columns: repeat(2, 1fr);
}
&--columns-3
.card-grid__innerblocks
> .block-editor-inner-blocks
> .block-editor-block-list__layout {
grid-template-columns: repeat(3, 1fr);
}
&--columns-4
.card-grid__innerblocks
> .block-editor-inner-blocks
> .block-editor-block-list__layout {
grid-template-columns: repeat(4, 1fr);
}
&--columns-5
.card-grid__innerblocks
> .block-editor-inner-blocks
> .block-editor-block-list__layout {
grid-template-columns: repeat(5, 1fr);
}
}
// Styles pour les alignements dans l'éditeur
.card-grid.alignwide {
max-width: var(--wp--style--global--wide-size, 1200px);
margin-left: auto;
margin-right: auto;
}
.card-grid.alignfull {
max-width: none;
margin-left: 0;
margin-right: 0;
width: 100%;
}

View File

@ -0,0 +1,22 @@
import { registerBlockType } from "@wordpress/blocks";
import "./style.scss";
import Edit from "./edit";
import save from "./save";
import metadata from "./block.json";
registerBlockType(metadata.name, {
icon: {
foreground: "#136f63",
src: (
<svg width="40" height="40" viewBox="0 0 100 100">
<g>
<path d="m50,99.84988l-43.14852,-24.92494l0,-49.84988l43.14852,-24.92494l43.14852,24.92494l0,49.84988l-43.14852,24.92494zm-40.75518,-26.32675l40.75518,23.52312l40.75518,-23.52312l0,-47.04625l-40.75518,-23.55731l-40.75518,23.55731l0,47.04625z" />
<path d="m50,86.13945l-31.28439,-18.05263l0,-36.13945l31.28439,-18.05263l31.28439,18.05263l0,36.13945l-31.28439,18.05263zm-13.50528,-28.344l13.50528,7.79545l13.50528,-7.79545l0,-15.59091l-13.50528,-7.79545l-13.50528,7.79545l0,15.59091z" />
</g>
</svg>
),
},
edit: Edit,
save,
});

View File

@ -0,0 +1,18 @@
import { useBlockProps, InnerBlocks } from "@wordpress/block-editor";
export default function save({ attributes }) {
const { columns, cardsWithBorder, align } = attributes;
return (
<section
{...useBlockProps.save({
className: `card-grid card-grid--columns-${columns} card-grid--cards-${
cardsWithBorder ? "with-border" : "without-border"
}${align ? ` align${align}` : ""}`,
})}
>
<div className="card-grid__innerblocks">
<InnerBlocks.Content />
</div>
</section>
);
}

View File

@ -0,0 +1,32 @@
.card-grid {
&__innerblocks {
display: grid;
gap: 1rem;
}
&--cards-with-border {
.content-card {
border: 1px solid var(--wp--preset--color--primary);
padding: 2rem;
}
}
&--cards-without-border {
.content-card {
border: none;
}
}
}
// Styles pour les alignements
.card-grid.alignwide {
max-width: var(--wp--style--global--wide-size, 1200px);
margin-left: auto;
margin-right: auto;
}
.card-grid.alignfull {
max-width: none;
margin-left: 0;
margin-right: 0;
width: 100%;
}

View File

@ -30,6 +30,14 @@
"contained"
]
},
"coverType": {
"type": "string",
"default": "image",
"enum": [
"classic",
"photoframe"
]
},
"coverUrl": {
"type": "string"
},

View File

@ -1 +1 @@
<?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n', 'wp-primitives'), 'version' => 'd0e3316a30114b6e5e46');
<?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n', 'wp-primitives'), 'version' => '1c6fc2bb0489b28aa083');

View File

@ -41,7 +41,7 @@ const trash = /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx
\************************/
/***/ ((module) => {
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"carhop-blocks/chapter-section","version":"0.1.0","title":" Section Chapitre","category":"carhop-blocks","icon":"smiley","description":"Example block scaffolded with Create Block tool.","example":{},"supports":{"html":false},"textdomain":"carhop-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","viewScript":"file:./view.js","render":"file:./render.php","attributes":{"align":{"type":"string","default":"full"},"blockWidth":{"type":"string","default":"full","enum":["full","contained"]},"coverUrl":{"type":"string"},"coverAlt":{"type":"string"},"coverId":{"type":"number"},"coverSize":{"type":"string","default":"large","enum":["small","medium","grande","large"]},"disposition":{"type":"string","default":"left","enum":["left","right"]},"hasBackgroundColor":{"type":"boolean","default":false},"backgroundColor":{"type":"string","default":"#ffffff"},"textColor":{"type":"string","default":"#136f63"},"backgroundOrientation":{"type":"string","default":"left","enum":["left","right"]}},"usesContext":["postType","postId"]}');
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"carhop-blocks/chapter-section","version":"0.1.0","title":" Section Chapitre","category":"carhop-blocks","icon":"smiley","description":"Example block scaffolded with Create Block tool.","example":{},"supports":{"html":false},"textdomain":"carhop-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","viewScript":"file:./view.js","render":"file:./render.php","attributes":{"align":{"type":"string","default":"full"},"blockWidth":{"type":"string","default":"full","enum":["full","contained"]},"coverType":{"type":"string","default":"image","enum":["classic","photoframe"]},"coverUrl":{"type":"string"},"coverAlt":{"type":"string"},"coverId":{"type":"number"},"coverSize":{"type":"string","default":"large","enum":["small","medium","grande","large"]},"disposition":{"type":"string","default":"left","enum":["left","right"]},"hasBackgroundColor":{"type":"boolean","default":false},"backgroundColor":{"type":"string","default":"#ffffff"},"textColor":{"type":"string","default":"#136f63"},"backgroundOrientation":{"type":"string","default":"left","enum":["left","right"]}},"usesContext":["postType","postId"]}');
/***/ }),
@ -80,6 +80,7 @@ function Edit({
const colors = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useSetting)("color.palette.theme");
const {
disposition,
coverType,
coverUrl,
coverAlt,
coverId,
@ -124,6 +125,11 @@ function Edit({
});
}
}
function onCoverTypeChange(value) {
setAttributes({
coverType: value
});
}
function onBackgroundOrientationChange(value) {
setAttributes({
backgroundOrientation: value
@ -174,6 +180,19 @@ function Edit({
onClick: removeCoverAttributes
})
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControl, {
className: "deligraph-blocks__variant",
isBlock: true,
label: "Type d'image",
onChange: onCoverTypeChange,
value: coverType,
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControlOption, {
label: "Classique",
value: "classic"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControlOption, {
label: "Encadr\xE9e",
value: "photoframe"
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.__experimentalToggleGroupControl, {
className: "deligraph-blocks__variant",
isBlock: true,
@ -271,7 +290,7 @@ function Edit({
})
})
}), coverUrl && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("img", {
className: `chapter-section__cover chapter-section__cover--${coverSize}`,
className: `chapter-section__cover chapter-section__cover--${coverSize} chapter-section__cover--${coverType}`,
src: coverUrl,
alt: coverAlt
}), !coverUrl && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.MediaPlaceholder, {
@ -361,6 +380,7 @@ function save({
coverUrl,
coverAlt,
coverSize,
coverType,
backgroundColor,
hasBackgroundColor,
backgroundOrientation,
@ -391,7 +411,7 @@ function save({
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.InnerBlocks.Content, {})
})
}), coverUrl && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("img", {
className: `chapter-section__cover chapter-section__cover--${coverSize}`,
className: `chapter-section__cover chapter-section__cover--${coverSize} chapter-section__cover--${coverType}`,
src: coverUrl,
alt: coverAlt
})]

File diff suppressed because one or more lines are too long

View File

@ -30,6 +30,14 @@
"contained"
]
},
"coverType": {
"type": "string",
"default": "image",
"enum": [
"classic",
"photoframe"
]
},
"coverUrl": {
"type": "string"
},

View File

@ -22,6 +22,7 @@ export default function Edit({ attributes, setAttributes, ...props }) {
const colors = useSetting("color.palette.theme");
const {
disposition,
coverType,
coverUrl,
coverAlt,
coverId,
@ -60,6 +61,9 @@ export default function Edit({ attributes, setAttributes, ...props }) {
setAttributes({ backgroundColor: null });
}
}
function onCoverTypeChange(value) {
setAttributes({ coverType: value });
}
function onBackgroundOrientationChange(value) {
setAttributes({ backgroundOrientation: value });
@ -113,6 +117,16 @@ export default function Edit({ attributes, setAttributes, ...props }) {
)}
</div>
<ToggleGroupControl
className="deligraph-blocks__variant"
isBlock
label="Type d'image"
onChange={onCoverTypeChange}
value={coverType}
>
<ToggleGroupControlOption label="Classique" value="classic" />
<ToggleGroupControlOption label="Encadrée" value="photoframe" />
</ToggleGroupControl>
<ToggleGroupControl
className="deligraph-blocks__variant"
isBlock
@ -241,7 +255,7 @@ export default function Edit({ attributes, setAttributes, ...props }) {
</div>
{coverUrl && (
<img
className={`chapter-section__cover chapter-section__cover--${coverSize}`}
className={`chapter-section__cover chapter-section__cover--${coverSize} chapter-section__cover--${coverType}`}
src={coverUrl}
alt={coverAlt}
/>

View File

@ -5,6 +5,7 @@ export default function save({ attributes }) {
coverUrl,
coverAlt,
coverSize,
coverType,
backgroundColor,
hasBackgroundColor,
backgroundOrientation,
@ -47,7 +48,7 @@ export default function save({ attributes }) {
</div>
{coverUrl && (
<img
className={`chapter-section__cover chapter-section__cover--${coverSize}`}
className={`chapter-section__cover chapter-section__cover--${coverSize} chapter-section__cover--${coverType}`}
src={coverUrl}
alt={coverAlt}
/>

View File

@ -25,6 +25,10 @@
"type": "string",
"default": "#136f63"
},
"hasLightBackground": {
"type": "boolean",
"default": true
},
"textColor": {
"type": "string",
"default": "#ffffff"

View File

@ -1 +1 @@
<?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => 'a78cf784effd61db8731');
<?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => '1e925ab101f7d6d0270a');

View File

@ -41,7 +41,7 @@ function isColorLight(color) {
\************************/
/***/ ((module) => {
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"carhop-blocks/content-box","version":"0.1.0","title":"Content Box","category":"carhop-blocks","icon":"smiley","description":"Boite de contenu pour la mise en forme d\'éléments de contenu","example":{},"supports":{"html":false},"textdomain":"carhop-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","viewScript":"file:./view.js","attributes":{"hasBackgroundColor":{"type":"boolean","default":false},"backgroundColor":{"type":"string","default":"#136f63"},"textColor":{"type":"string","default":"#ffffff"}}}');
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"carhop-blocks/content-box","version":"0.1.0","title":"Content Box","category":"carhop-blocks","icon":"smiley","description":"Boite de contenu pour la mise en forme d\'éléments de contenu","example":{},"supports":{"html":false},"textdomain":"carhop-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","viewScript":"file:./view.js","attributes":{"hasBackgroundColor":{"type":"boolean","default":false},"backgroundColor":{"type":"string","default":"#136f63"},"hasLightBackground":{"type":"boolean","default":true},"textColor":{"type":"string","default":"#ffffff"}}}');
/***/ }),
@ -80,11 +80,22 @@ function Edit({
const {
hasBackgroundColor,
backgroundColor,
textColor
textColor,
hasLightBackground
} = attributes;
const isLightBackgroundColor = (0,_utilities_utilities__WEBPACK_IMPORTED_MODULE_3__.isColorLight)(backgroundColor);
console.log(isLightBackgroundColor);
function onBackgroundColorChange(value) {
if (value === undefined) {
setAttributes({
hasBackgroundColor: false
});
setAttributes({
backgroundColor: "transparent"
});
}
const isLightBackgroundColor = (0,_utilities_utilities__WEBPACK_IMPORTED_MODULE_3__.isColorLight)(backgroundColor);
setAttributes({
hasLightBackground: isLightBackgroundColor
});
setAttributes({
backgroundColor: value
});
@ -133,10 +144,10 @@ function Edit({
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("section", {
...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)({
className: `content-box ${isLightBackgroundColor ? "content-box--bg-light" : "content-box--bg-dark"}`,
className: `content-box ${hasLightBackground ? "content-box--bg-light" : "content-box--bg-dark"}`,
style: {
"--content-box-background-color": backgroundColor,
"--content-box-text-color": textColor
"--content-box-text-color": textColor !== null && textColor !== void 0 ? textColor : "inherit",
"--content-box-background-color": hasBackgroundColor ? backgroundColor : "transparent"
}
}),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
@ -145,7 +156,7 @@ function Edit({
template: [["core/paragraph", {
placeholder: "Ajouter ici le texte"
}]],
allowedBlocks: ["core/heading", "core/paragraph", "core/list", "core/button", "core/buttons", "carhop-blocks/heading", "carhop-blocks/decorative-shapes", "acf/statistics-datas", "carhop-blocks/scroll-story-block", "carhop-blocks/cta-group", "ninja-forms/form"]
allowedBlocks: ["core/heading", "core/paragraph", "core/group", "core/list", "core/button", "core/buttons", "carhop-blocks/heading", "carhop-blocks/decorative-shapes", "acf/statistics-datas", "carhop-blocks/scroll-story-block", "carhop-blocks/cta-group", "ninja-forms/form"]
})
})
})]
@ -231,17 +242,17 @@ function save({
attributes
}) {
const {
hasBackgroundColor,
backgroundColor,
textColor
textColor,
hasLightBackground,
hasBackgroundColor
} = attributes;
const isLightBackgroundColor = (0,_utilities_utilities__WEBPACK_IMPORTED_MODULE_1__.isColorLight)(backgroundColor);
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("section", {
..._wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.useBlockProps.save({
className: `content-box ${isLightBackgroundColor ? "content-box--bg-light" : "content-box--bg-dark"}`,
className: `content-box ${hasLightBackground ? "content-box--bg-light" : "content-box--bg-dark"}`,
style: {
"--content-box-background-color": backgroundColor,
"--content-box-text-color": textColor
"--content-box-text-color": textColor !== null && textColor !== void 0 ? textColor : "inherit",
"--content-box-background-color": hasBackgroundColor ? backgroundColor : "transparent"
}
}),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {

File diff suppressed because one or more lines are too long

View File

@ -25,6 +25,10 @@
"type": "string",
"default": "#136f63"
},
"hasLightBackground": {
"type": "boolean",
"default": true
},
"textColor": {
"type": "string",
"default": "#ffffff"

View File

@ -21,12 +21,17 @@ import {
export default function Edit({ attributes, setAttributes, ...props }) {
const colors = useSetting("color.palette.theme");
const { hasBackgroundColor, backgroundColor, textColor } = attributes;
const isLightBackgroundColor = isColorLight(backgroundColor);
console.log(isLightBackgroundColor);
const { hasBackgroundColor, backgroundColor, textColor, hasLightBackground } =
attributes;
function onBackgroundColorChange(value) {
if (value === undefined) {
setAttributes({ hasBackgroundColor: false });
setAttributes({ backgroundColor: "transparent" });
}
const isLightBackgroundColor = isColorLight(backgroundColor);
setAttributes({ hasLightBackground: isLightBackgroundColor });
setAttributes({ backgroundColor: value });
}
function onHasBackgroundColorChange(value) {
@ -78,13 +83,15 @@ export default function Edit({ attributes, setAttributes, ...props }) {
<section
{...useBlockProps({
className: `content-box ${
isLightBackgroundColor
hasLightBackground
? "content-box--bg-light"
: "content-box--bg-dark"
}`,
style: {
"--content-box-background-color": backgroundColor,
"--content-box-text-color": textColor,
"--content-box-text-color": textColor ?? "inherit",
"--content-box-background-color": hasBackgroundColor
? backgroundColor
: "transparent",
},
})}
>
@ -96,6 +103,7 @@ export default function Edit({ attributes, setAttributes, ...props }) {
allowedBlocks={[
"core/heading",
"core/paragraph",
"core/group",
"core/list",
"core/button",
"core/buttons",

View File

@ -2,19 +2,19 @@ import { useBlockProps, InnerBlocks } from "@wordpress/block-editor";
import { isColorLight } from "../../_utilities/utilities";
export default function save({ attributes }) {
const { hasBackgroundColor, backgroundColor, textColor } = attributes;
const isLightBackgroundColor = isColorLight(backgroundColor);
const { backgroundColor, textColor, hasLightBackground, hasBackgroundColor } =
attributes;
return (
<section
{...useBlockProps.save({
className: `content-box ${
isLightBackgroundColor
? "content-box--bg-light"
: "content-box--bg-dark"
hasLightBackground ? "content-box--bg-light" : "content-box--bg-dark"
}`,
style: {
"--content-box-background-color": backgroundColor,
"--content-box-text-color": textColor,
"--content-box-text-color": textColor ?? "inherit",
"--content-box-background-color": hasBackgroundColor
? backgroundColor
: "transparent",
},
})}
>

View File

@ -0,0 +1,18 @@
# This file is for unifying the coding style for different editors and IDEs
# editorconfig.org
# WordPress Coding Standards
# https://make.wordpress.org/core/handbook/coding-standards/
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
indent_style = tab
[*.{yml,yaml}]
indent_style = space
indent_size = 2

View File

@ -0,0 +1,37 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "carhop-blocks/content-card",
"version": "0.1.0",
"title": "Content Card",
"category": "carhop-blocks",
"icon": "smiley",
"description": "Carte de contenu pour la mise en forme d'éléments de contenu",
"example": {},
"supports": {
"html": false
},
"textdomain": "carhop-blocks",
"editorScript": "file:./index.js",
"editorStyle": "file:./index.css",
"style": "file:./style-index.css",
"viewScript": "file:./view.js",
"attributes": {
"hasBackgroundColor": {
"type": "boolean",
"default": false
},
"backgroundColor": {
"type": "string",
"default": "#136f63"
},
"hasLightBackground": {
"type": "boolean",
"default": true
},
"textColor": {
"type": "string",
"default": "#136f63"
}
}
}

View File

@ -0,0 +1,4 @@
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/.pnpm/css-loader@6.11.0_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.3_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@16.0.5_sass@1.85.1_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

View File

@ -0,0 +1 @@
<?php return array('dependencies' => array('react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => 'ed13236e340dd1b6f174');

View File

@ -0,0 +1,4 @@
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/.pnpm/css-loader@6.11.0_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.3_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@16.0.5_sass@1.85.1_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/editor.scss ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/

View File

@ -0,0 +1,493 @@
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "../_utilities/utilities.js":
/*!**********************************!*\
!*** ../_utilities/utilities.js ***!
\**********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ isColorLight: () => (/* binding */ isColorLight)
/* harmony export */ });
// Fonction pour déterminer si une couleur est claire ou sombre
function isColorLight(color) {
// Si pas de couleur, considérer comme claire
if (!color) return true;
// Convertir hex en RGB
let hex = color.replace("#", "");
if (hex.length === 3) {
hex = hex.split("").map(char => char + char).join("");
}
const r = parseInt(hex.substr(0, 2), 16);
const g = parseInt(hex.substr(2, 2), 16);
const b = parseInt(hex.substr(4, 2), 16);
// Calculer la luminance relative (formule standard)
const luminance = (0.299 * r + 0.587 * g + 0.114 * b) / 255;
// Si luminance > 0.5, la couleur est claire
return luminance > 0.5;
}
/***/ }),
/***/ "./src/block.json":
/*!************************!*\
!*** ./src/block.json ***!
\************************/
/***/ ((module) => {
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"carhop-blocks/content-card","version":"0.1.0","title":"Content Card","category":"carhop-blocks","icon":"smiley","description":"Carte de contenu pour la mise en forme d\'éléments de contenu","example":{},"supports":{"html":false},"textdomain":"carhop-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","viewScript":"file:./view.js","attributes":{"hasBackgroundColor":{"type":"boolean","default":false},"backgroundColor":{"type":"string","default":"#136f63"},"hasLightBackground":{"type":"boolean","default":true},"textColor":{"type":"string","default":"#136f63"}}}');
/***/ }),
/***/ "./src/edit.js":
/*!*********************!*\
!*** ./src/edit.js ***!
\*********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Edit)
/* harmony export */ });
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./editor.scss */ "./src/editor.scss");
/* harmony import */ var _utilities_utilities__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../_utilities/utilities */ "../_utilities/utilities.js");
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
function Edit({
attributes,
setAttributes,
...props
}) {
const colors = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useSetting)("color.palette.theme");
const {
hasBackgroundColor,
backgroundColor,
textColor,
hasLightBackground
} = attributes;
function onBackgroundColorChange(value) {
if (value === undefined) {
setAttributes({
hasBackgroundColor: false
});
setAttributes({
backgroundColor: "transparent"
});
}
const isLightBackgroundColor = (0,_utilities_utilities__WEBPACK_IMPORTED_MODULE_3__.isColorLight)(backgroundColor);
setAttributes({
hasLightBackground: isLightBackgroundColor
});
setAttributes({
backgroundColor: value
});
}
function onHasBackgroundColorChange(value) {
setAttributes({
hasBackgroundColor: value
});
if (!value) {
setAttributes({
backgroundColor: null
});
}
}
function onTextColorChange(value) {
setAttributes({
textColor: value
});
}
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.PanelBody, {
className: "deligraph-blocks-components-image__panel-body",
title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)("Arrière plan", "deligraph-blocks"),
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.CheckboxControl, {
label: "Arri\xE8re plan color\xE9",
checked: hasBackgroundColor,
onChange: onHasBackgroundColorChange
}), hasBackgroundColor && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.ColorPalette, {
colors: colors,
value: backgroundColor,
onChange: onBackgroundColorChange
})
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.PanelBody, {
className: "deligraph-blocks-components-image__panel-body",
title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)("Couleur du texte", "deligraph-blocks"),
children: hasBackgroundColor && /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.ColorPalette, {
colors: colors,
value: textColor,
onChange: onTextColorChange
})
})
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)({
className: `content-card ${hasLightBackground ? "content-card--bg-light" : "content-card--bg-dark"}`,
style: {
"--content-card-text-color": textColor !== null && textColor !== void 0 ? textColor : "inherit",
"--content-card-background-color": hasBackgroundColor ? backgroundColor : "transparent"
}
}),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
className: "content-card__innerblocks",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InnerBlocks, {
template: [["core/paragraph", {
placeholder: "Ajouter ici le texte"
}]],
allowedBlocks: ["core/heading", "core/paragraph", "core/group", "core/list", "core/button", "core/buttons", "carhop-blocks/heading", "carhop-blocks/cta-group"]
})
})
})]
});
}
/***/ }),
/***/ "./src/editor.scss":
/*!*************************!*\
!*** ./src/editor.scss ***!
\*************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "./src/index.js":
/*!**********************!*\
!*** ./src/index.js ***!
\**********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./style.scss */ "./src/style.scss");
/* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./edit */ "./src/edit.js");
/* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./save */ "./src/save.js");
/* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./block.json */ "./src/block.json");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
(0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)(_block_json__WEBPACK_IMPORTED_MODULE_4__.name, {
icon: {
foreground: "#136f63",
src: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("svg", {
width: "18",
height: "18",
viewBox: "0 0 18 18",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("g", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("path", {
d: "M1,5c-.6,0-1,.4-1,1v2c0,.6.4,1,1,1s1-.4,1-1v-2c0-.6-.4-1-1-1ZM3,0H1C.4,0,0,.4,0,1v2c0,.6.4,1,1,1s1-.4,1-1v-1h1c.6,0,1-.4,1-1s-.4-1-1-1ZM6,2h2c.6,0,1-.4,1-1s-.4-1-1-1h-2c-.6,0-1,.4-1,1s.4,1,1,1ZM1,10c-.6,0-1,.4-1,1v2c0,.6.4,1,1,1s1-.4,1-1v-2c0-.6-.4-1-1-1ZM6,7v4c0,.6.4,1,1,1h4c.6,0,1-.4,1-1v-4c0-.6-.4-1-1-1h-4c-.6,0-1,.4-1,1ZM12,16h-2c-.6,0-1,.4-1,1s.4,1,1,1h2c.6,0,1-.4,1-1s-.4-1-1-1ZM17,9c-.6,0-1,.4-1,1v2c0,.6.4,1,1,1s1-.4,1-1v-2c0-.6-.4-1-1-1ZM17,4c-.6,0-1,.4-1,1v2c0,.6.4,1,1,1s1-.4,1-1v-2c0-.6-.4-1-1-1ZM17,14c-.6,0-1,.4-1,1v1h-1c-.6,0-1,.4-1,1s.4,1,1,1h2c.6,0,1-.4,1-1v-2c0-.6-.4-1-1-1ZM7,16h-2c-.6,0-1,.4-1,1s.4,1,1,1h2c.6,0,1-.4,1-1s-.4-1-1-1ZM13,0h-2c-.6,0-1,.4-1,1s.4,1,1,1h2c.6,0,1-.4,1-1s-.4-1-1-1Z"
})
})
})
},
edit: _edit__WEBPACK_IMPORTED_MODULE_2__["default"],
save: _save__WEBPACK_IMPORTED_MODULE_3__["default"]
});
/***/ }),
/***/ "./src/save.js":
/*!*********************!*\
!*** ./src/save.js ***!
\*********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ save)
/* harmony export */ });
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _utilities_utilities__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../_utilities/utilities */ "../_utilities/utilities.js");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
function save({
attributes
}) {
const {
backgroundColor,
textColor,
hasLightBackground,
hasBackgroundColor
} = attributes;
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
..._wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.useBlockProps.save({
className: `content-card ${hasLightBackground ? "content-card--bg-light" : "content-card--bg-dark"}`,
style: {
"--content-card-text-color": textColor !== null && textColor !== void 0 ? textColor : "inherit",
"--content-card-background-color": hasBackgroundColor ? backgroundColor : "transparent"
}
}),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
className: "content-card__innerblocks",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.InnerBlocks.Content, {})
})
});
}
/***/ }),
/***/ "./src/style.scss":
/*!************************!*\
!*** ./src/style.scss ***!
\************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "@wordpress/block-editor":
/*!*************************************!*\
!*** external ["wp","blockEditor"] ***!
\*************************************/
/***/ ((module) => {
module.exports = window["wp"]["blockEditor"];
/***/ }),
/***/ "@wordpress/blocks":
/*!********************************!*\
!*** external ["wp","blocks"] ***!
\********************************/
/***/ ((module) => {
module.exports = window["wp"]["blocks"];
/***/ }),
/***/ "@wordpress/components":
/*!************************************!*\
!*** external ["wp","components"] ***!
\************************************/
/***/ ((module) => {
module.exports = window["wp"]["components"];
/***/ }),
/***/ "@wordpress/i18n":
/*!******************************!*\
!*** external ["wp","i18n"] ***!
\******************************/
/***/ ((module) => {
module.exports = window["wp"]["i18n"];
/***/ }),
/***/ "react/jsx-runtime":
/*!**********************************!*\
!*** external "ReactJSXRuntime" ***!
\**********************************/
/***/ ((module) => {
module.exports = window["ReactJSXRuntime"];
/***/ })
/******/ });
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = __webpack_modules__;
/******/
/************************************************************************/
/******/ /* webpack/runtime/chunk loaded */
/******/ (() => {
/******/ var deferred = [];
/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
/******/ if(chunkIds) {
/******/ priority = priority || 0;
/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
/******/ deferred[i] = [chunkIds, fn, priority];
/******/ return;
/******/ }
/******/ var notFulfilled = Infinity;
/******/ for (var i = 0; i < deferred.length; i++) {
/******/ var [chunkIds, fn, priority] = deferred[i];
/******/ var fulfilled = true;
/******/ for (var j = 0; j < chunkIds.length; j++) {
/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
/******/ chunkIds.splice(j--, 1);
/******/ } else {
/******/ fulfilled = false;
/******/ if(priority < notFulfilled) notFulfilled = priority;
/******/ }
/******/ }
/******/ if(fulfilled) {
/******/ deferred.splice(i--, 1)
/******/ var r = fn();
/******/ if (r !== undefined) result = r;
/******/ }
/******/ }
/******/ return result;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for(var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/
/******/ /* webpack/runtime/jsonp chunk loading */
/******/ (() => {
/******/ // no baseURI
/******/
/******/ // object to store loaded and loading chunks
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
/******/ var installedChunks = {
/******/ "index": 0,
/******/ "./style-index": 0
/******/ };
/******/
/******/ // no chunk on demand loading
/******/
/******/ // no prefetching
/******/
/******/ // no preloaded
/******/
/******/ // no HMR
/******/
/******/ // no HMR manifest
/******/
/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
/******/
/******/ // install a JSONP callback for chunk loading
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
/******/ var [chunkIds, moreModules, runtime] = data;
/******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0;
/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
/******/ for(moduleId in moreModules) {
/******/ if(__webpack_require__.o(moreModules, moduleId)) {
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/ if(runtime) var result = runtime(__webpack_require__);
/******/ }
/******/ if(parentChunkLoadingFunction) parentChunkLoadingFunction(data);
/******/ for(;i < chunkIds.length; i++) {
/******/ chunkId = chunkIds[i];
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ installedChunks[chunkId][0]();
/******/ }
/******/ installedChunks[chunkId] = 0;
/******/ }
/******/ return __webpack_require__.O(result);
/******/ }
/******/
/******/ var chunkLoadingGlobal = globalThis["webpackChunkfront_header"] = globalThis["webpackChunkfront_header"] || [];
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
/******/ })();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module depends on other loaded chunks and execution need to be delayed
/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["./style-index"], () => (__webpack_require__("./src/index.js")))
/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
/******/
/******/ })()
;
//# sourceMappingURL=index.js.map

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,29 @@
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/.pnpm/css-loader@6.11.0_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.3_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@16.0.5_sass@1.85.1_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.content-card {
word-break: break-word;
}
.content-card h1.wp-block-heading,
.content-card h2.wp-block-heading,
.content-card h3.wp-block-heading,
.content-card h4.wp-block-heading,
.content-card h5.wp-block-heading,
.content-card h6.wp-block-heading {
margin-top: 0;
margin-bottom: 0;
font-size: 1.25rem;
text-transform: uppercase;
font-weight: 700;
color: var(--content-card-text-color);
}
.content-card *,
.content-card p {
color: var(--content-card-text-color);
}
.content-card li {
list-style: disc;
margin-right: 1rem;
margin-bottom: 0.5rem;
font-weight: 300;
}

View File

@ -0,0 +1,31 @@
/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/.pnpm/css-loader@6.11.0_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/.pnpm/postcss-loader@6.2.1_postcss@8.5.3_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/.pnpm/sass-loader@16.0.5_sass@1.85.1_webpack@5.98.0_webpack-cli@5.1.4_/node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/style.scss ***!
\******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
.content-card {
word-break: break-word;
}
.content-card h1.wp-block-heading,
.content-card h2.wp-block-heading,
.content-card h3.wp-block-heading,
.content-card h4.wp-block-heading,
.content-card h5.wp-block-heading,
.content-card h6.wp-block-heading {
margin-top: 0;
margin-bottom: 0;
font-size: 1.25rem;
text-transform: uppercase;
font-weight: 700;
color: var(--content-card-text-color);
}
.content-card *,
.content-card p {
color: var(--content-card-text-color);
}
.content-card li {
list-style: disc;
margin-left: 1rem;
margin-bottom: 0.5rem;
font-weight: 300;
}
/*# sourceMappingURL=style-index.css.map*/

View File

@ -0,0 +1 @@
{"version":3,"file":"./style-index.css","mappings":";;;AAAA;EACC;AACD;AACC;;;;;;EAMC;EACA;EACA;EACA;EACA;EACA;AACF;AACC;;EAEC;AACF;AAEC;EACC;EACA;EACA;EACA;AAAF,C","sources":["webpack://front-header/./src/style.scss"],"sourcesContent":[".content-card {\r\n\tword-break: break-word;\r\n\r\n\th1.wp-block-heading,\r\n\th2.wp-block-heading,\r\n\th3.wp-block-heading,\r\n\th4.wp-block-heading,\r\n\th5.wp-block-heading,\r\n\th6.wp-block-heading {\r\n\t\tmargin-top: 0;\r\n\t\tmargin-bottom: 0;\r\n\t\tfont-size: 1.25rem;\r\n\t\ttext-transform: uppercase;\r\n\t\tfont-weight: 700;\r\n\t\tcolor: var(--content-card-text-color);\r\n\t}\r\n\t*,\r\n\tp {\r\n\t\tcolor: var(--content-card-text-color);\r\n\t}\r\n\r\n\tli {\r\n\t\tlist-style: disc;\r\n\t\tmargin-left: 1rem;\r\n\t\tmargin-bottom: 0.5rem;\r\n\t\tfont-weight: 300;\r\n\t}\r\n}\r\n"],"names":[],"sourceRoot":""}

View File

@ -0,0 +1 @@
<?php return array('dependencies' => array(), 'version' => '9618df91ea3d5989c295');

View File

@ -0,0 +1,7 @@
/******/ (() => { // webpackBootstrap
/*!*********************!*\
!*** ./src/view.js ***!
\*********************/
/******/ })()
;

View File

@ -0,0 +1,21 @@
{
"name": "front-header",
"version": "0.1.0",
"description": "Example block scaffolded with Create Block tool.",
"author": "The WordPress Contributors",
"license": "GPL-2.0-or-later",
"main": "build/index.js",
"scripts": {
"build": "wp-scripts build",
"format": "wp-scripts format",
"lint:css": "wp-scripts lint-style",
"lint:js": "wp-scripts lint-js",
"packages-update": "wp-scripts packages-update",
"plugin-zip": "wp-scripts plugin-zip",
"start": "wp-scripts start"
},
"devDependencies": {
"@wordpress/scripts": "^30.12.0"
},
"packageManager": "pnpm@9.11.0+sha512.0a203ffaed5a3f63242cd064c8fb5892366c103e328079318f78062f24ea8c9d50bc6a47aa3567cabefd824d170e78fa2745ed1f16b132e16436146b7688f19b"
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -0,0 +1,37 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "carhop-blocks/content-card",
"version": "0.1.0",
"title": "Content Card",
"category": "carhop-blocks",
"icon": "smiley",
"description": "Carte de contenu pour la mise en forme d'éléments de contenu",
"example": {},
"supports": {
"html": false
},
"textdomain": "carhop-blocks",
"editorScript": "file:./index.js",
"editorStyle": "file:./index.css",
"style": "file:./style-index.css",
"viewScript": "file:./view.js",
"attributes": {
"hasBackgroundColor": {
"type": "boolean",
"default": false
},
"backgroundColor": {
"type": "string",
"default": "#136f63"
},
"hasLightBackground": {
"type": "boolean",
"default": true
},
"textColor": {
"type": "string",
"default": "#136f63"
}
}
}

View File

@ -0,0 +1,118 @@
import { __ } from "@wordpress/i18n";
import {
useBlockProps,
InnerBlocks,
useSetting,
InspectorControls,
MediaReplaceFlow,
MediaPlaceholder,
} from "@wordpress/block-editor";
import "./editor.scss";
import { isColorLight } from "../../_utilities/utilities";
import {
PanelBody,
__experimentalToggleGroupControl as ToggleGroupControl,
__experimentalToggleGroupControlOption as ToggleGroupControlOption,
Button,
CheckboxControl,
ColorPalette,
} from "@wordpress/components";
export default function Edit({ attributes, setAttributes, ...props }) {
const colors = useSetting("color.palette.theme");
const { hasBackgroundColor, backgroundColor, textColor, hasLightBackground } =
attributes;
function onBackgroundColorChange(value) {
if (value === undefined) {
setAttributes({ hasBackgroundColor: false });
setAttributes({ backgroundColor: "transparent" });
}
const isLightBackgroundColor = isColorLight(backgroundColor);
setAttributes({ hasLightBackground: isLightBackgroundColor });
setAttributes({ backgroundColor: value });
}
function onHasBackgroundColorChange(value) {
setAttributes({ hasBackgroundColor: value });
if (!value) {
setAttributes({ backgroundColor: null });
}
}
function onTextColorChange(value) {
setAttributes({ textColor: value });
}
return (
<>
<InspectorControls>
<PanelBody
className="deligraph-blocks-components-image__panel-body"
title={__("Arrière plan", "deligraph-blocks")}
>
<CheckboxControl
label="Arrière plan coloré"
checked={hasBackgroundColor}
onChange={onHasBackgroundColorChange}
/>
{hasBackgroundColor && (
<>
<ColorPalette
colors={colors}
value={backgroundColor}
onChange={onBackgroundColorChange}
/>
</>
)}
</PanelBody>
<PanelBody
className="deligraph-blocks-components-image__panel-body"
title={__("Couleur du texte", "deligraph-blocks")}
>
{hasBackgroundColor && (
<>
<ColorPalette
colors={colors}
value={textColor}
onChange={onTextColorChange}
/>
</>
)}
</PanelBody>
</InspectorControls>
<div
{...useBlockProps({
className: `content-card ${
hasLightBackground
? "content-card--bg-light"
: "content-card--bg-dark"
}`,
style: {
"--content-card-text-color": textColor ?? "inherit",
"--content-card-background-color": hasBackgroundColor
? backgroundColor
: "transparent",
},
})}
>
<div className="content-card__innerblocks">
<InnerBlocks
template={[
["core/paragraph", { placeholder: "Ajouter ici le texte" }],
]}
allowedBlocks={[
"core/heading",
"core/paragraph",
"core/group",
"core/list",
"core/button",
"core/buttons",
"carhop-blocks/heading",
"carhop-blocks/cta-group",
]}
/>
</div>
</div>
</>
);
}

View File

@ -0,0 +1 @@

View File

@ -0,0 +1,21 @@
import { registerBlockType } from "@wordpress/blocks";
import "./style.scss";
import Edit from "./edit";
import save from "./save";
import metadata from "./block.json";
registerBlockType(metadata.name, {
icon: {
foreground: "#136f63",
src: (
<svg width="18" height="18" viewBox="0 0 18 18">
<g>
<path d="M1,5c-.6,0-1,.4-1,1v2c0,.6.4,1,1,1s1-.4,1-1v-2c0-.6-.4-1-1-1ZM3,0H1C.4,0,0,.4,0,1v2c0,.6.4,1,1,1s1-.4,1-1v-1h1c.6,0,1-.4,1-1s-.4-1-1-1ZM6,2h2c.6,0,1-.4,1-1s-.4-1-1-1h-2c-.6,0-1,.4-1,1s.4,1,1,1ZM1,10c-.6,0-1,.4-1,1v2c0,.6.4,1,1,1s1-.4,1-1v-2c0-.6-.4-1-1-1ZM6,7v4c0,.6.4,1,1,1h4c.6,0,1-.4,1-1v-4c0-.6-.4-1-1-1h-4c-.6,0-1,.4-1,1ZM12,16h-2c-.6,0-1,.4-1,1s.4,1,1,1h2c.6,0,1-.4,1-1s-.4-1-1-1ZM17,9c-.6,0-1,.4-1,1v2c0,.6.4,1,1,1s1-.4,1-1v-2c0-.6-.4-1-1-1ZM17,4c-.6,0-1,.4-1,1v2c0,.6.4,1,1,1s1-.4,1-1v-2c0-.6-.4-1-1-1ZM17,14c-.6,0-1,.4-1,1v1h-1c-.6,0-1,.4-1,1s.4,1,1,1h2c.6,0,1-.4,1-1v-2c0-.6-.4-1-1-1ZM7,16h-2c-.6,0-1,.4-1,1s.4,1,1,1h2c.6,0,1-.4,1-1s-.4-1-1-1ZM13,0h-2c-.6,0-1,.4-1,1s.4,1,1,1h2c.6,0,1-.4,1-1s-.4-1-1-1Z" />
</g>
</svg>
),
},
edit: Edit,
save,
});

View File

@ -0,0 +1,28 @@
import { useBlockProps, InnerBlocks } from "@wordpress/block-editor";
import { isColorLight } from "../../_utilities/utilities";
export default function save({ attributes }) {
const { backgroundColor, textColor, hasLightBackground, hasBackgroundColor } =
attributes;
return (
<div
{...useBlockProps.save({
className: `content-card ${
hasLightBackground
? "content-card--bg-light"
: "content-card--bg-dark"
}`,
style: {
"--content-card-text-color": textColor ?? "inherit",
"--content-card-background-color": hasBackgroundColor
? backgroundColor
: "transparent",
},
})}
>
<div className="content-card__innerblocks">
<InnerBlocks.Content />
</div>
</div>
);
}

View File

@ -0,0 +1,28 @@
.content-card {
word-break: break-word;
h1.wp-block-heading,
h2.wp-block-heading,
h3.wp-block-heading,
h4.wp-block-heading,
h5.wp-block-heading,
h6.wp-block-heading {
margin-top: 0;
margin-bottom: 0;
font-size: 1.25rem;
text-transform: uppercase;
font-weight: 700;
color: var(--content-card-text-color);
}
*,
p {
color: var(--content-card-text-color);
}
li {
list-style: disc;
margin-left: 1rem;
margin-bottom: 0.5rem;
font-weight: 300;
}
}

View File

@ -1,220 +1,354 @@
/******/ (() => { // webpackBootstrap
/******/ (() => {
// webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/******/ var __webpack_modules__ = {
/***/ "./src/cta/block.json":
/*!****************************!*\
!*** ./src/cta/block.json ***!
\****************************/
/***/ ((module) => {
/***/ (module) => {
module.exports = /*#__PURE__*/ JSON.parse(
'{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"carhop-blocks/cta","version":"0.1.0","title":"Cta","category":"carhop-blocks","icon":"smiley","description":"Un bouton de lien","example":{},"supports":{"html":false},"textdomain":"carhop-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","viewScript":"file:./view.js","render":"file:./render.php","attributes":{"text":{"type":"string","default":"Call to action"},"link":{"type":"object"},"align":{"type":"string","default":"left"},"color":{"type":"string","default":"#136F63"}}}',
);
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"carhop-blocks/cta","version":"0.1.0","title":"Cta","category":"carhop-blocks","icon":"smiley","description":"Un bouton de lien","example":{},"supports":{"html":false},"textdomain":"carhop-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","viewScript":"file:./view.js","render":"file:./render.php","attributes":{"text":{"type":"string","default":"Call to action"},"link":{"type":"object"},"align":{"type":"string","default":"left"},"color":{"type":"string","default":"#136F63"}}}');
/***/ }),
/***/
},
/***/ "./src/cta/edit.js":
/*!*************************!*\
!*** ./src/cta/edit.js ***!
\*************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__,
) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ Edit)
/* harmony export */ });
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./editor.scss */ "./src/cta/editor.scss");
/* harmony import */ var _img_carhop_fleche_lien_externe_full_svg__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../img/carhop-fleche-lien-externe-full.svg */ "./src/img/carhop-fleche-lien-externe-full.svg");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
/* harmony export */ default: () => /* binding */ Edit,
/* harmony export */
});
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default =
/*#__PURE__*/ __webpack_require__.n(
_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__,
);
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__ =
__webpack_require__(
/*! @wordpress/block-editor */ "@wordpress/block-editor",
);
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default =
/*#__PURE__*/ __webpack_require__.n(
_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__,
);
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2__ =
__webpack_require__(
/*! @wordpress/components */ "@wordpress/components",
);
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_2___default =
/*#__PURE__*/ __webpack_require__.n(
_wordpress_components__WEBPACK_IMPORTED_MODULE_2__,
);
/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_3__ =
__webpack_require__(/*! ./editor.scss */ "./src/cta/editor.scss");
/* harmony import */ var _img_carhop_fleche_lien_externe_full_svg__WEBPACK_IMPORTED_MODULE_4__ =
__webpack_require__(
/*! ../img/carhop-fleche-lien-externe-full.svg */ "./src/img/carhop-fleche-lien-externe-full.svg",
);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ =
__webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default =
/*#__PURE__*/ __webpack_require__.n(
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__,
);
function Edit({
attributes,
setAttributes
}) {
const {
color
} = attributes;
const colors = (0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useSetting)("color.palette.theme");
function Edit({ attributes, setAttributes }) {
const { color } = attributes;
const colors = (0,
_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useSetting)(
"color.palette.theme",
);
function handleColorChange(value) {
setAttributes({
color: value
color: value,
});
}
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.BlockControls, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.AlignmentToolbar, {
return /*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment,
{
children: [
/*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(
_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.BlockControls,
{
children: /*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(
_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.AlignmentToolbar,
{
value: attributes.align,
onChange: value => setAttributes({
align: value
})
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelBody, {
onChange: (value) =>
setAttributes({
align: value,
}),
},
),
},
),
/*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(
_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls,
{
children: /*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(
_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelBody,
{
title: "Lien",
initialOpen: true,
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.__experimentalLinkControl, {
children: [
/*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(
"div",
{
children: /*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(
_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.__experimentalLinkControl,
{
value: attributes.link,
onChange: value => {
onChange: (value) => {
setAttributes({
link: value
link: value,
});
}
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelBody, {
},
},
),
},
),
/*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(
_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelBody,
{
title: "Couleur",
initialOpen: true,
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelRow, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ColorPalette, {
children: /*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(
_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelRow,
{
children: /*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(
_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.ColorPalette,
{
value: color,
onChange: value => {
console.log(value);
onChange: (value) => {
handleColorChange(value);
},
colors: colors,
disableCustomColors: true
})
})
})]
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div", {
...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)({
disableCustomColors: true,
},
),
},
),
},
),
],
},
),
},
),
/*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("div", {
...(0,
_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)(
{
className: `cta align--${attributes.align}`,
style: {
"--cta-current-color": color
}
}),
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.RichText, {
"--cta-current-color": color,
},
},
),
children: [
/*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(
_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.RichText,
{
tagName: "a",
placeholder: "Ajouter un lien",
value: attributes.text,
onChange: text => setAttributes({
text
onChange: (text) =>
setAttributes({
text,
}),
allowedFormats: []
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
allowedFormats: [],
},
),
/*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
className: "icon",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_img_carhop_fleche_lien_externe_full_svg__WEBPACK_IMPORTED_MODULE_4__.ReactComponent, {
children: /*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(
_img_carhop_fleche_lien_externe_full_svg__WEBPACK_IMPORTED_MODULE_4__.ReactComponent,
{
style: {
"--cta-current-color": color
}
})
})]
})]
});
"--cta-current-color": color,
},
},
),
}),
],
}),
],
},
);
}
/***/ }),
/***/
},
/***/ "./src/cta/editor.scss":
/*!*****************************!*\
!*** ./src/cta/editor.scss ***!
\*****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__,
) => {
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin
/***/ }),
/***/
},
/***/ "./src/cta/index.js":
/*!**************************!*\
!*** ./src/cta/index.js ***!
\**************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__,
) => {
__webpack_require__.r(__webpack_exports__);
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./style.scss */ "./src/cta/style.scss");
/* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./edit */ "./src/cta/edit.js");
/* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./save */ "./src/cta/save.js");
/* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./block.json */ "./src/cta/block.json");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(/*! @wordpress/blocks */ "@wordpress/blocks");
/* harmony import */ var _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0___default =
/*#__PURE__*/ __webpack_require__.n(
_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__,
);
/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_1__ =
__webpack_require__(/*! ./style.scss */ "./src/cta/style.scss");
/* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_2__ =
__webpack_require__(/*! ./edit */ "./src/cta/edit.js");
/* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_3__ =
__webpack_require__(/*! ./save */ "./src/cta/save.js");
/* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_4__ =
__webpack_require__(/*! ./block.json */ "./src/cta/block.json");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ =
__webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default =
/*#__PURE__*/ __webpack_require__.n(
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__,
);
(0,_wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)(_block_json__WEBPACK_IMPORTED_MODULE_4__.name, {
(0, _wordpress_blocks__WEBPACK_IMPORTED_MODULE_0__.registerBlockType)(
_block_json__WEBPACK_IMPORTED_MODULE_4__.name,
{
icon: {
src: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("svg", {
src: /*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("svg", {
width: "32",
height: "32",
viewBox: "0 0 32 32",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("g", {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("path", {
children: [
/*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("g", {
children: [
/*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(
"path",
{
d: "M21.15,10.59l-9.38,10.02",
stroke: "#136f63",
fill: "none",
strokeWidth: "3"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("path", {
strokeWidth: "3",
},
),
/*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(
"path",
{
d: "M21.15,21.4v-10.81h-10.32",
stroke: "#136f63",
fill: "none",
strokeWidth: "3"
})]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("circle", {
strokeWidth: "3",
},
),
],
}),
/*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(
"circle",
{
cx: "16",
cy: "16",
r: "15",
stroke: "#136f63",
fill: "none",
strokeWidth: "3"
})]
})
strokeWidth: "3",
},
),
],
}),
},
edit: _edit__WEBPACK_IMPORTED_MODULE_2__["default"],
save: _save__WEBPACK_IMPORTED_MODULE_3__["default"]
});
save: _save__WEBPACK_IMPORTED_MODULE_3__["default"],
},
);
/***/ }),
/***/
},
/***/ "./src/cta/save.js":
/*!*************************!*\
!*** ./src/cta/save.js ***!
\*************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__,
) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ "default": () => (/* binding */ save)
/* harmony export */ });
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var _img_carhop_fleche_lien_externe_full_svg__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../img/carhop-fleche-lien-externe-full.svg */ "./src/img/carhop-fleche-lien-externe-full.svg");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__);
/* harmony export */ default: () => /* binding */ save,
/* harmony export */
});
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(
/*! @wordpress/block-editor */ "@wordpress/block-editor",
);
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0___default =
/*#__PURE__*/ __webpack_require__.n(
_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__,
);
/* harmony import */ var _img_carhop_fleche_lien_externe_full_svg__WEBPACK_IMPORTED_MODULE_1__ =
__webpack_require__(
/*! ../img/carhop-fleche-lien-externe-full.svg */ "./src/img/carhop-fleche-lien-externe-full.svg",
);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ =
__webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2___default =
/*#__PURE__*/ __webpack_require__.n(
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__,
);
function save({
attributes
}) {
const {
align,
link,
text,
color
} = attributes;
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment, {})
function save({ attributes }) {
const { align, link, text, color } = attributes;
return /*#__PURE__*/ (0,
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(
react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.Fragment,
{},
);
// <a
// href={link?.url}
// {...useBlockProps.save({
@ -230,120 +364,179 @@ function save({
// <ArrowIcon style={{ "--cta-current-color": color }} />
// </div>
// </a>
;
}
/***/ }),
/***/
},
/***/ "./src/cta/style.scss":
/*!****************************!*\
!*** ./src/cta/style.scss ***!
\****************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__,
) => {
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin
/***/ }),
/***/
},
/***/ "./src/img/carhop-fleche-lien-externe-full.svg":
/*!*****************************************************!*\
!*** ./src/img/carhop-fleche-lien-externe-full.svg ***!
\*****************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
/***/ (
__unused_webpack_module,
__webpack_exports__,
__webpack_require__,
) => {
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */ ReactComponent: () => (/* binding */ SvgCarhopFlecheLienExterneFull),
/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony export */ ReactComponent: () =>
/* binding */ SvgCarhopFlecheLienExterneFull,
/* harmony export */ default: () => __WEBPACK_DEFAULT_EXPORT__,
/* harmony export */
});
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ =
__webpack_require__(/*! react */ "react");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default =
/*#__PURE__*/ __webpack_require__.n(
react__WEBPACK_IMPORTED_MODULE_0__,
);
var _defs, _path, _circle;
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
function _extends() {
return (
(_extends = Object.assign
? Object.assign.bind()
: function (n) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e];
for (var r in t)
({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);
}
return n;
}),
_extends.apply(null, arguments)
);
}
var SvgCarhopFlecheLienExterneFull = function SvgCarhopFlecheLienExterneFull(props) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("svg", _extends({
var SvgCarhopFlecheLienExterneFull =
function SvgCarhopFlecheLienExterneFull(props) {
return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(
"svg",
_extends(
{
xmlns: "http://www.w3.org/2000/svg",
id: "carhop-fleche-lien-externe-full_svg__fleche-lien-externe-full",
viewBox: "0 0 32 32"
}, props), _defs || (_defs = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("defs", null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("style", null, ".carhop-fleche-lien-externe-full_svg__cls-1{fill:none;stroke:#000;stroke-width:2px}"))), _path || (_path = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("path", {
viewBox: "0 0 32 32",
},
props,
),
_defs ||
(_defs =
/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(
"defs",
null,
/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(
"style",
null,
".carhop-fleche-lien-externe-full_svg__cls-1{fill:none;stroke:#000;stroke-width:2px}",
),
)),
_path ||
(_path =
/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(
"path",
{
d: "m21.15 10.59-9.38 10.02M21.15 21.4V10.59H10.83",
className: "carhop-fleche-lien-externe-full_svg__cls-1"
})), _circle || (_circle = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0__.createElement("circle", {
className: "carhop-fleche-lien-externe-full_svg__cls-1",
},
)),
_circle ||
(_circle =
/*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(
"circle",
{
cx: 16,
cy: 16,
r: 15,
className: "carhop-fleche-lien-externe-full_svg__cls-1"
})));
className: "carhop-fleche-lien-externe-full_svg__cls-1",
},
)),
);
};
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iZmxlY2hlLWxpZW4tZXh0ZXJuZS1mdWxsIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICMwMDA7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxnPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjEuMTUsMTAuNTlsLTkuMzgsMTAuMDIiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTIxLjE1LDIxLjR2LTEwLjgxaC0xMC4zMiIvPgogIDwvZz4KICA8Y2lyY2xlIGNsYXNzPSJjbHMtMSIgY3g9IjE2IiBjeT0iMTYiIHI9IjE1Ii8+Cjwvc3ZnPg==");
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ =
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBpZD0iZmxlY2hlLWxpZW4tZXh0ZXJuZS1mdWxsIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICMwMDA7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxnPgogICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjEuMTUsMTAuNTlsLTkuMzgsMTAuMDIiLz4KICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTIxLjE1LDIxLjR2LTEwLjgxaC0xMC4zMiIvPgogIDwvZz4KICA8Y2lyY2xlIGNsYXNzPSJjbHMtMSIgY3g9IjE2IiBjeT0iMTYiIHI9IjE1Ii8+Cjwvc3ZnPg==";
/***/ }),
/***/
},
/***/ "@wordpress/block-editor":
/*!*************************************!*\
!*** external ["wp","blockEditor"] ***!
\*************************************/
/***/ ((module) => {
/***/ (module) => {
module.exports = window["wp"]["blockEditor"];
/***/ }),
/***/
},
/***/ "@wordpress/blocks":
/*!********************************!*\
!*** external ["wp","blocks"] ***!
\********************************/
/***/ ((module) => {
/***/ (module) => {
module.exports = window["wp"]["blocks"];
/***/ }),
/***/
},
/***/ "@wordpress/components":
/*!************************************!*\
!*** external ["wp","components"] ***!
\************************************/
/***/ ((module) => {
/***/ (module) => {
module.exports = window["wp"]["components"];
/***/ }),
/***/
},
/***/ "@wordpress/i18n":
/*!******************************!*\
!*** external ["wp","i18n"] ***!
\******************************/
/***/ ((module) => {
/***/ (module) => {
module.exports = window["wp"]["i18n"];
/***/ }),
/***/
},
/***/ "react":
/***/ react:
/*!************************!*\
!*** external "React" ***!
\************************/
/***/ ((module) => {
/***/ (module) => {
module.exports = window["React"];
/***/ }),
/***/
},
/***/ "react/jsx-runtime":
/*!**********************************!*\
!*** external "ReactJSXRuntime" ***!
\**********************************/
/***/ ((module) => {
/***/ (module) => {
module.exports = window["ReactJSXRuntime"];
/***/ })
/***/
},
/******/ });
/******/
};
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
@ -354,20 +547,27 @@ module.exports = window["ReactJSXRuntime"];
/******/ var cachedModule = __webpack_module_cache__[moduleId];
/******/ if (cachedModule !== undefined) {
/******/ return cachedModule.exports;
/******/ }
/******/
}
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ var module = (__webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ exports: {}
/******/ };
/******/ exports: {},
/******/
});
/******/
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
/******/ __webpack_modules__[moduleId](
module,
module.exports,
__webpack_require__,
);
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
}
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = __webpack_modules__;
@ -379,71 +579,109 @@ module.exports = window["ReactJSXRuntime"];
/******/ __webpack_require__.O = (result, chunkIds, fn, priority) => {
/******/ if (chunkIds) {
/******/ priority = priority || 0;
/******/ for(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];
/******/ for (
var i = deferred.length;
i > 0 && deferred[i - 1][2] > priority;
i--
)
deferred[i] = deferred[i - 1];
/******/ deferred[i] = [chunkIds, fn, priority];
/******/ return;
/******/ }
/******/
}
/******/ var notFulfilled = Infinity;
/******/ for (var i = 0; i < deferred.length; i++) {
/******/ var [chunkIds, fn, priority] = deferred[i];
/******/ var fulfilled = true;
/******/ for (var j = 0; j < chunkIds.length; j++) {
/******/ if ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {
/******/ if (
(priority & (1 === 0) || notFulfilled >= priority) &&
Object.keys(__webpack_require__.O).every((key) =>
__webpack_require__.O[key](chunkIds[j]),
)
) {
/******/ chunkIds.splice(j--, 1);
/******/ } else {
/******/
} else {
/******/ fulfilled = false;
/******/ if (priority < notFulfilled) notFulfilled = priority;
/******/ }
/******/ }
/******/
}
/******/
}
/******/ if (fulfilled) {
/******/ deferred.splice(i--, 1)
/******/ deferred.splice(i--, 1);
/******/ var r = fn();
/******/ if (r !== undefined) result = r;
/******/ }
/******/ }
/******/
}
/******/
}
/******/ return result;
/******/ };
/******/ })();
/******/
};
/******/
})();
/******/
/******/ /* webpack/runtime/compat get default export */
/******/ (() => {
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = (module) => {
/******/ var getter = module && module.__esModule ?
/******/ () => (module['default']) :
/******/ () => (module);
/******/ var getter =
module && module.__esModule
? /******/ () => module["default"]
: /******/ () => module;
/******/ __webpack_require__.d(getter, { a: getter });
/******/ return getter;
/******/ };
/******/ })();
/******/
};
/******/
})();
/******/
/******/ /* webpack/runtime/define property getters */
/******/ (() => {
/******/ // define getter functions for harmony exports
/******/ __webpack_require__.d = (exports, definition) => {
/******/ for (var key in definition) {
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ }
/******/ }
/******/ };
/******/ })();
/******/ if (
__webpack_require__.o(definition, key) &&
!__webpack_require__.o(exports, key)
) {
/******/ Object.defineProperty(exports, key, {
enumerable: true,
get: definition[key],
});
/******/
}
/******/
}
/******/
};
/******/
})();
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ (() => {
/******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
/******/ })();
/******/ __webpack_require__.o = (obj, prop) =>
Object.prototype.hasOwnProperty.call(obj, prop);
/******/
})();
/******/
/******/ /* webpack/runtime/make namespace object */
/******/ (() => {
/******/ // define __esModule on exports
/******/ __webpack_require__.r = (exports) => {
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ }
/******/ Object.defineProperty(exports, '__esModule', { value: true });
/******/ };
/******/ })();
/******/ if (typeof Symbol !== "undefined" && Symbol.toStringTag) {
/******/ Object.defineProperty(exports, Symbol.toStringTag, {
value: "Module",
});
/******/
}
/******/ Object.defineProperty(exports, "__esModule", { value: true });
/******/
};
/******/
})();
/******/
/******/ /* webpack/runtime/jsonp chunk loading */
/******/ (() => {
@ -454,8 +692,9 @@ module.exports = window["ReactJSXRuntime"];
/******/ // [resolve, reject, Promise] = chunk loading, 0 = chunk loaded
/******/ var installedChunks = {
/******/ "cta/index": 0,
/******/ "cta/style-index": 0
/******/ };
/******/ "cta/style-index": 0,
/******/
};
/******/
/******/ // no chunk on demand loading
/******/
@ -467,46 +706,67 @@ module.exports = window["ReactJSXRuntime"];
/******/
/******/ // no HMR manifest
/******/
/******/ __webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);
/******/ __webpack_require__.O.j = (chunkId) =>
installedChunks[chunkId] === 0;
/******/
/******/ // install a JSONP callback for chunk loading
/******/ var webpackJsonpCallback = (parentChunkLoadingFunction, data) => {
/******/ var [chunkIds, moreModules, runtime] = data;
/******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0;
/******/ if(chunkIds.some((id) => (installedChunks[id] !== 0))) {
/******/ var moduleId,
chunkId,
i = 0;
/******/ if (chunkIds.some((id) => installedChunks[id] !== 0)) {
/******/ for (moduleId in moreModules) {
/******/ if (__webpack_require__.o(moreModules, moduleId)) {
/******/ __webpack_require__.m[moduleId] = moreModules[moduleId];
/******/ }
/******/ }
/******/
}
/******/
}
/******/ if (runtime) var result = runtime(__webpack_require__);
/******/ }
/******/
}
/******/ if (parentChunkLoadingFunction) parentChunkLoadingFunction(data);
/******/ for (; i < chunkIds.length; i++) {
/******/ chunkId = chunkIds[i];
/******/ if(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ if (
__webpack_require__.o(installedChunks, chunkId) &&
installedChunks[chunkId]
) {
/******/ installedChunks[chunkId][0]();
/******/ }
/******/ installedChunks[chunkId] = 0;
/******/ }
/******/ return __webpack_require__.O(result);
/******/ }
/******/
/******/ var chunkLoadingGlobal = globalThis["webpackChunkcta"] = globalThis["webpackChunkcta"] || [];
}
/******/ installedChunks[chunkId] = 0;
/******/
}
/******/ return __webpack_require__.O(result);
/******/
};
/******/
/******/ var chunkLoadingGlobal = (globalThis["webpackChunkcta"] =
globalThis["webpackChunkcta"] || []);
/******/ chunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));
/******/ })();
/******/ chunkLoadingGlobal.push = webpackJsonpCallback.bind(
null,
chunkLoadingGlobal.push.bind(chunkLoadingGlobal),
);
/******/
})();
/******/
/************************************************************************/
/******/
/******/ // startup
/******/ // Load entry module and return exports
/******/ // This entry module depends on other loaded chunks and execution need to be delayed
/******/ var __webpack_exports__ = __webpack_require__.O(undefined, ["cta/style-index"], () => (__webpack_require__("./src/cta/index.js")))
/******/ var __webpack_exports__ = __webpack_require__.O(
undefined,
["cta/style-index"],
() => __webpack_require__("./src/cta/index.js"),
);
/******/ __webpack_exports__ = __webpack_require__.O(__webpack_exports__);
/******/
/******/ })()
;
/******/
})();
//# sourceMappingURL=index.js.map

View File

@ -44,7 +44,6 @@ export default function Edit({ attributes, setAttributes }) {
<ColorPalette
value={color}
onChange={(value) => {
console.log(value);
handleColorChange(value);
}}
colors={colors}

View File

@ -15,5 +15,11 @@
"editorScript": "file:./index.js",
"editorStyle": "file:./index.css",
"style": "file:./style-index.css",
"viewScript": "file:./view.js"
"viewScript": "file:./view.js",
"attributes": {
"variant": {
"type": "string",
"default": "medium"
}
}
}

View File

@ -1 +1 @@
<?php return array('dependencies' => array('react', 'react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-i18n'), 'version' => 'cb6831f9b1591c2d4990');
<?php return array('dependencies' => array('react', 'react-jsx-runtime', 'wp-block-editor', 'wp-blocks', 'wp-components', 'wp-i18n'), 'version' => 'b28d29be3660a6135aa3');

View File

@ -125,7 +125,7 @@ function Shapes() {
\************************/
/***/ ((module) => {
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"carhop-blocks/decorative-shapes","version":"0.1.0","title":"Formes décoratives ","category":"carhop-blocks","icon":"smiley","description":"Formes décoratives du carhop","example":{},"supports":{"html":false},"textdomain":"carhop-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","viewScript":"file:./view.js"}');
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"carhop-blocks/decorative-shapes","version":"0.1.0","title":"Formes décoratives ","category":"carhop-blocks","icon":"smiley","description":"Formes décoratives du carhop","example":{},"supports":{"html":false},"textdomain":"carhop-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","viewScript":"file:./view.js","attributes":{"variant":{"type":"string","default":"medium"}}}');
/***/ }),
@ -145,21 +145,50 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var _editor_scss__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./editor.scss */ "./src/editor.scss");
/* harmony import */ var _Shapes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Shapes */ "./src/Shapes.jsx");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__);
function Edit() {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.Fragment, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("div", {
...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)({
className: "carhop-decorative-shapes decorative-shapes"
function Edit({
attributes,
setAttributes
}) {
const {
variant
} = attributes;
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.Fragment, {
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.PanelBody, {
title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)("Shapes", "carhop-blocks"),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControl, {
className: "deligraph-blocks__variant",
isBlock: true,
label: "Variante",
onChange: value => setAttributes({
variant: value
}),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_Shapes__WEBPACK_IMPORTED_MODULE_3__["default"], {})
value: variant,
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
label: "Medium",
value: "medium"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_4__.__experimentalToggleGroupControlOption, {
label: "Big",
value: "big"
})]
})
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("div", {
...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)({
className: `carhop-decorative-shapes decorative-shapes decorative-shapes--${variant}`
}),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)(_Shapes__WEBPACK_IMPORTED_MODULE_3__["default"], {})
})]
});
}
@ -240,10 +269,15 @@ __webpack_require__.r(__webpack_exports__);
function save() {
function save({
attributes
}) {
const {
variant
} = attributes;
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)("div", {
..._wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.useBlockProps.save({
className: "carhop-decorative-shapes decorative-shapes"
className: `carhop-decorative-shapes decorative-shapes decorative-shapes--${variant} ${variant === "big" ? "alignfull" : ""}`
}),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(_Shapes__WEBPACK_IMPORTED_MODULE_1__["default"], {})
});
@ -283,6 +317,16 @@ module.exports = window["wp"]["blocks"];
/***/ }),
/***/ "@wordpress/components":
/*!************************************!*\
!*** external ["wp","components"] ***!
\************************************/
/***/ ((module) => {
module.exports = window["wp"]["components"];
/***/ }),
/***/ "@wordpress/i18n":
/*!******************************!*\
!*** external ["wp","i18n"] ***!

File diff suppressed because one or more lines are too long

View File

@ -7,11 +7,6 @@
justify-content: center;
gap: 10rem;
}
.decorative-shapes__shape {
display: flex;
align-items: center;
justify-content: center;
}
.decorative-shapes__shape svg {
width: 100%;
max-width: 300px;
@ -20,3 +15,19 @@
-o-object-fit: contain;
object-fit: contain;
}
.decorative-shapes--big {
padding: 0rem 2rem;
display: flex !important;
align-items: center;
justify-content: center;
gap: 6rem;
}
.decorative-shapes--big .decorative-shapes__shape {
display: block;
width: 100vw;
max-width: 400px;
}
.decorative-shapes--big .decorative-shapes__shape svg {
max-width: 800px;
max-height: 800px;
}

View File

@ -7,11 +7,6 @@
justify-content: center;
gap: 10rem;
}
.decorative-shapes__shape {
display: flex;
align-items: center;
justify-content: center;
}
.decorative-shapes__shape svg {
width: 100%;
max-width: 300px;
@ -20,5 +15,21 @@
-o-object-fit: contain;
object-fit: contain;
}
.decorative-shapes--big {
padding: 0rem 2rem;
display: flex !important;
align-items: center;
justify-content: center;
gap: 6rem;
}
.decorative-shapes--big .decorative-shapes__shape {
display: block;
width: 100vw;
max-width: 400px;
}
.decorative-shapes--big .decorative-shapes__shape svg {
max-width: 800px;
max-height: 800px;
}
/*# sourceMappingURL=style-index.css.map*/

View File

@ -1 +1 @@
{"version":3,"file":"./style-index.css","mappings":";;;AAAA;EACC;EACA;EACA;EACA;AACD;AACC;EAEC;EACA;EACA;AAAF;AACE;EAEC;EACA;EACA;EACA;EACA;KAAA;AAAH,C","sources":["webpack://front-header/./src/style.scss"],"sourcesContent":[".decorative-shapes {\r\n\tdisplay: grid;\r\n\tgrid-template-columns: repeat(4, 1fr);\r\n\tjustify-content: center;\r\n\tgap: 10rem;\r\n\r\n\t&__shape {\r\n\t\t// background-color: red;\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t\tsvg {\r\n\t\t\t// background-color: blue;\r\n\t\t\twidth: 100%;\r\n\t\t\tmax-width: 300px;\r\n\t\t\theight: auto;\r\n\t\t\taspect-ratio: 1/1;\r\n\t\t\tobject-fit: contain;\r\n\t\t}\r\n\t}\r\n}\r\n"],"names":[],"sourceRoot":""}
{"version":3,"file":"./style-index.css","mappings":";;;AAAA;EACC;EACA;EACA;EACA;AACD;AAME;EAEC;EACA;EACA;EACA;EACA;KAAA;AALH;AASC;EACC;EACA;EACA;EACA;EACA;AAPF;AASE;EACC;EACA;EACA;AAPH;AAQG;EACC;EACA;AANJ,C","sources":["webpack://front-header/./src/style.scss"],"sourcesContent":[".decorative-shapes {\r\n\tdisplay: grid;\r\n\tgrid-template-columns: repeat(4, 1fr);\r\n\tjustify-content: center;\r\n\tgap: 10rem;\r\n\r\n\t&__shape {\r\n\t\t// background-color: red;\r\n\t\t// display: flex;\r\n\t\t// align-items: center;\r\n\t\t// justify-content: center;\r\n\t\tsvg {\r\n\t\t\t// background-color: blue;\r\n\t\t\twidth: 100%;\r\n\t\t\tmax-width: 300px;\r\n\t\t\theight: auto;\r\n\t\t\taspect-ratio: 1/1;\r\n\t\t\tobject-fit: contain;\r\n\t\t}\r\n\t}\r\n\r\n\t&--big {\r\n\t\tpadding: 0rem 2rem;\r\n\t\tdisplay: flex !important;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t\tgap: 6rem;\r\n\r\n\t\t.decorative-shapes__shape {\r\n\t\t\tdisplay: block;\r\n\t\t\twidth: 100vw;\r\n\t\t\tmax-width: 400px;\r\n\t\t\tsvg {\r\n\t\t\t\tmax-width: 800px;\r\n\t\t\t\tmax-height: 800px;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n"],"names":[],"sourceRoot":""}

View File

@ -15,5 +15,11 @@
"editorScript": "file:./index.js",
"editorStyle": "file:./index.css",
"style": "file:./style-index.css",
"viewScript": "file:./view.js"
"viewScript": "file:./view.js",
"attributes": {
"variant": {
"type": "string",
"default": "medium"
}
}
}

View File

@ -1,13 +1,37 @@
import { __ } from "@wordpress/i18n";
import { useBlockProps, InnerBlocks } from "@wordpress/block-editor";
import {
useBlockProps,
InnerBlocks,
InspectorControls,
} from "@wordpress/block-editor";
import "./editor.scss";
import Shapes from "./Shapes";
export default function Edit() {
import {
__experimentalToggleGroupControl as ToggleGroupControl,
__experimentalToggleGroupControlOption as ToggleGroupControlOption,
PanelBody,
} from "@wordpress/components";
export default function Edit({ attributes, setAttributes }) {
const { variant } = attributes;
return (
<>
<InspectorControls>
<PanelBody title={__("Shapes", "carhop-blocks")}>
<ToggleGroupControl
className="deligraph-blocks__variant"
isBlock
label="Variante"
onChange={(value) => setAttributes({ variant: value })}
value={variant}
>
<ToggleGroupControlOption label="Medium" value="medium" />
<ToggleGroupControlOption label="Big" value="big" />
</ToggleGroupControl>
</PanelBody>
</InspectorControls>
<div
{...useBlockProps({
className: "carhop-decorative-shapes decorative-shapes",
className: `carhop-decorative-shapes decorative-shapes decorative-shapes--${variant}`,
})}
>
<Shapes />

View File

@ -1,11 +1,14 @@
import { useBlockProps, InnerBlocks } from "@wordpress/block-editor";
import Shapes from "./Shapes";
export default function save() {
export default function save({ attributes }) {
const { variant } = attributes;
return (
<div
{...useBlockProps.save({
className: "carhop-decorative-shapes decorative-shapes",
className: `carhop-decorative-shapes decorative-shapes decorative-shapes--${variant} ${
variant === "big" ? "alignfull" : ""
}`,
})}
>
<Shapes />

View File

@ -6,9 +6,9 @@
&__shape {
// background-color: red;
display: flex;
align-items: center;
justify-content: center;
// display: flex;
// align-items: center;
// justify-content: center;
svg {
// background-color: blue;
width: 100%;
@ -18,4 +18,22 @@
object-fit: contain;
}
}
&--big {
padding: 0rem 2rem;
display: flex !important;
align-items: center;
justify-content: center;
gap: 6rem;
.decorative-shapes__shape {
display: block;
width: 100vw;
max-width: 400px;
svg {
max-width: 800px;
max-height: 800px;
}
}
}
}

View File

@ -1,8 +1,8 @@
/******/ (() => { // webpackBootstrap
/******/ (() => {
// webpackBootstrap
/*!*********************!*\
!*** ./src/view.js ***!
\*********************/
console.log("Hello World! (from front-header-front-header block)");
/******/ })()
;
/******/
})();
//# sourceMappingURL=view.js.map

View File

@ -1 +0,0 @@
console.log("Hello World! (from front-header-front-header block)");

View File

@ -1 +0,0 @@
console.log("Hello World! (from create-block-picture-of-the-day block)");

View File

@ -1,25 +0,0 @@
/**
* Use this file for JavaScript code that you want to run in the front-end
* on posts/pages that contain this block.
*
* When this file is defined as the value of the `viewScript` property
* in `block.json` it will be enqueued on the front end of the site.
*
* Example:
*
* ```js
* {
* "viewScript": "file:./view.js"
* }
* ```
*
* If you're not making any changes to this file because your project doesn't need any
* JavaScript running in the front-end, then you should delete this file and remove
* the `viewScript` property from `block.json`.
*
* @see https://developer.wordpress.org/block-editor/reference-guides/block-api/block-metadata/#view-script
*/
/* eslint-disable no-console */
console.log( 'Hello World! (from create-block-picture-of-the-day block)' );
/* eslint-enable no-console */

View File

@ -49,6 +49,8 @@ function carhop_register_blocks()
register_block_type(__DIR__ . '/blocks/narrative-card/build');
register_block_type(__DIR__ . '/blocks/scroll-story-block/build');
register_block_type(__DIR__ . '/blocks/cta-group/build');
register_block_type(__DIR__ . '/blocks/content-card/build');
register_block_type(__DIR__ . '/blocks/card-grid/build');
register_block_type(__DIR__ . '/acf-blocks/gallery');