FEATURE Developing the interview block
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
Antoine M 2025-10-28 16:13:50 +01:00
parent c33dfc4e37
commit 137b2981b3
65 changed files with 23028 additions and 0 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,30 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Coverage directory used by tools like istanbul
coverage
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Output of `npm pack`
*.tgz
# Output of `wp-scripts plugin-zip`
*.zip
# dotenv environment variables file
.env

View File

@ -0,0 +1,100 @@
<?php
// This file is generated. Do not modify it manually.
return array(
'interview' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'dynamiques-blocks/interview',
'version' => '0.1.0',
'title' => 'Interview',
'category' => 'dynamiques-blocks',
'icon' => 'smiley',
'description' => 'Bloc de mise en forme d\'interview',
'example' => array(
),
'supports' => array(
'html' => false
),
'textdomain' => 'dynamiques-blocks',
'editorScript' => 'file:./index.js',
'editorStyle' => 'file:./index.css',
'style' => 'file:./style-index.css',
'viewScript' => 'file:./view.js',
'attributes' => array(
'interviewedPersonName' => array(
'type' => 'string',
'default' => 'Jean Dupont'
),
'interviewName' => array(
'type' => 'string',
'default' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit.'
)
),
'providesContext' => array(
'dynamiques-blocks/interviewedPersonName' => 'interviewedPersonName'
)
),
'interview-answer' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'dynamiques-blocks/interview-answer',
'version' => '0.1.0',
'title' => 'Interview Answer',
'category' => 'widgets',
'icon' => 'smiley',
'description' => 'Bloc de réponse d\'interview',
'example' => array(
),
'parent' => array(
'dynamiques-blocks/interview'
),
'supports' => array(
'html' => false
),
'textdomain' => 'interview-answer',
'editorScript' => 'file:./index.js',
'editorStyle' => 'file:./index.css',
'style' => 'file:./style-index.css',
'render' => 'file:./render.php',
'attributes' => array(
'content' => array(
'type' => 'string',
'default' => ''
)
),
'usesContext' => array(
'dynamiques-blocks/interviewedPersonName'
)
),
'interview-question' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'dynamiques-blocks/interview-question',
'version' => '0.1.0',
'title' => 'Interview Question',
'category' => 'widgets',
'icon' => 'smiley',
'description' => 'Bloc de question d\'interview',
'example' => array(
),
'parent' => array(
'dynamiques-blocks/interview'
),
'supports' => array(
'html' => false
),
'textdomain' => 'interview-question',
'editorScript' => 'file:./index.js',
'editorStyle' => 'file:./index.css',
'style' => 'file:./style-index.css',
'attributes' => array(
'content' => array(
'type' => 'string',
'default' => ''
)
)
)
);

View File

@ -0,0 +1,31 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "dynamiques-blocks/interview-answer",
"version": "0.1.0",
"title": "Interview Answer",
"category": "widgets",
"icon": "smiley",
"description": "Bloc de réponse d'interview",
"example": {},
"parent": [
"dynamiques-blocks/interview"
],
"supports": {
"html": false
},
"textdomain": "interview-answer",
"editorScript": "file:./index.js",
"editorStyle": "file:./index.css",
"style": "file:./style-index.css",
"render": "file:./render.php",
"attributes": {
"content": {
"type": "string",
"default": ""
}
},
"usesContext": [
"dynamiques-blocks/interviewedPersonName"
]
}

View File

@ -0,0 +1,6 @@
/*!*********************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/interview-answer/editor.scss ***!
\*********************************************************************************************************************************************************************************************************************************************************/
.interviewed-person-name {
line-height: 0.1 !important;
}

View File

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

View File

@ -0,0 +1,8 @@
/*!*********************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/interview-answer/editor.scss ***!
\*********************************************************************************************************************************************************************************************************************************************************/
.interviewed-person-name {
line-height: 0.1 !important;
}
/*# sourceMappingURL=index.css.map*/

View File

@ -0,0 +1 @@
{"version":3,"file":"interview-answer/index.css","mappings":";;;AAAA;EACC;AACD,C","sources":["webpack://interview/./src/interview-answer/editor.scss"],"sourcesContent":[".interviewed-person-name {\r\n\tline-height: 0.1 !important;\r\n}\r\n"],"names":[],"sourceRoot":""}

View File

@ -0,0 +1,366 @@
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "./src/interview-answer/block.json":
/*!*****************************************!*\
!*** ./src/interview-answer/block.json ***!
\*****************************************/
/***/ ((module) => {
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"dynamiques-blocks/interview-answer","version":"0.1.0","title":"Interview Answer","category":"widgets","icon":"smiley","description":"Bloc de réponse d\'interview","example":{},"parent":["dynamiques-blocks/interview"],"supports":{"html":false},"textdomain":"interview-answer","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","render":"file:./render.php","attributes":{"content":{"type":"string","default":""}},"usesContext":["dynamiques-blocks/interviewedPersonName"]}');
/***/ }),
/***/ "./src/interview-answer/edit.js":
/*!**************************************!*\
!*** ./src/interview-answer/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/interview-answer/editor.scss");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__);
function Edit({
attributes,
setAttributes,
context
}) {
const {
content
} = attributes;
const interviewedPersonName = context["dynamiques-blocks/interviewedPersonName"];
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("div", {
...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)(),
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsxs)("span", {
className: "interviewed-person-name",
children: [interviewedPersonName, " "]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.RichText, {
placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)("Réponse", "interview"),
value: content,
onChange: value => setAttributes({
content: value
})
})]
});
}
/***/ }),
/***/ "./src/interview-answer/editor.scss":
/*!******************************************!*\
!*** ./src/interview-answer/editor.scss ***!
\******************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "./src/interview-answer/index.js":
/*!***************************************!*\
!*** ./src/interview-answer/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/interview-answer/style.scss");
/* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./edit */ "./src/interview-answer/edit.js");
/* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./save */ "./src/interview-answer/save.js");
/* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./block.json */ "./src/interview-answer/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: {
src: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("svg", {
width: "97",
height: "97",
viewBox: "0 0 97 97",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("path", {
d: "M93.8104 23.7C93.8104 23.7 90.7104 8.9 77.3104 3.7C71.0104 1.2 59.5104 0.1 48.2104 0C36.9104 0.1 25.4104 1.2 19.1104 3.6C5.71044 8.8 2.61044 23.6 2.61044 23.6C0.610439 32 -0.0895607 40.5 0.0104393 48C-0.0895607 55.5 0.510439 64.1 2.61044 72.4C2.61044 72.4 5.71044 87.2 19.1104 92.4C25.4104 94.8 36.9104 96 48.2104 96.1C59.5104 96 71.0104 94.9 77.3104 92.4C90.7104 87.2 93.8104 72.4 93.8104 72.4C95.8104 64 96.5104 55.5 96.4104 48C96.5104 40.6 95.9104 32 93.8104 23.7ZM52.6104 70.6H43.4104V62.4H52.6104V70.6ZM52.6104 55.7H43.4104V25.6H52.6104V55.7Z",
fill: "#136F63"
})
}),
foreground: "#136f63"
},
edit: _edit__WEBPACK_IMPORTED_MODULE_2__["default"],
save: _save__WEBPACK_IMPORTED_MODULE_3__["default"]
});
/***/ }),
/***/ "./src/interview-answer/save.js":
/*!**************************************!*\
!*** ./src/interview-answer/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
}) {
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("div", {
..._wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.useBlockProps.save(),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("p", {
className: "interviewed-person-name",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("strong", {
children: [attributes.interviewedPersonName, " :"]
})
})
});
}
/***/ }),
/***/ "./src/interview-answer/style.scss":
/*!*****************************************!*\
!*** ./src/interview-answer/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/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 = {
/******/ "interview-answer/index": 0,
/******/ "interview-answer/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["webpackChunkinterview"] = globalThis["webpackChunkinterview"] || [];
/******/ 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, ["interview-answer/style-index"], () => (__webpack_require__("./src/interview-answer/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,10 @@
<?php
global $post;
$interviewedPersonName = $block->context["dynamiques-blocks/interviewedPersonName"];
$content = $block->attributes["content"];
?>
<div <?php echo get_block_wrapper_attributes(); ?>>
<p class="interview-answer-content"> <span class="interviewed-person-name"><?php echo $interviewedPersonName; ?></span><?php echo $content; ?></p>
</div>

View File

@ -0,0 +1,8 @@
/*!********************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/interview-answer/style.scss ***!
\********************************************************************************************************************************************************************************************************************************************************/
.interviewed-person-name {
display: inline;
color: var(--wp--preset--color--primary);
text-transform: uppercase;
}

View File

@ -0,0 +1,10 @@
/*!********************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/interview-answer/style.scss ***!
\********************************************************************************************************************************************************************************************************************************************************/
.interviewed-person-name {
display: inline;
color: var(--wp--preset--color--primary);
text-transform: uppercase;
}
/*# sourceMappingURL=style-index.css.map*/

View File

@ -0,0 +1 @@
{"version":3,"file":"interview-answer/style-index.css","mappings":";;;AAAA;EACC;EACA;EAEA;AAAD,C","sources":["webpack://interview/./src/interview-answer/style.scss"],"sourcesContent":[".interviewed-person-name {\n\tdisplay: inline;\n\tcolor: var(--wp--preset--color--primary);\n\n\ttext-transform: uppercase;\n}\n"],"names":[],"sourceRoot":""}

View File

@ -0,0 +1,27 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "dynamiques-blocks/interview-question",
"version": "0.1.0",
"title": "Interview Question",
"category": "widgets",
"icon": "smiley",
"description": "Bloc de question d'interview",
"example": {},
"parent": [
"dynamiques-blocks/interview"
],
"supports": {
"html": false
},
"textdomain": "interview-question",
"editorScript": "file:./index.js",
"editorStyle": "file:./index.css",
"style": "file:./style-index.css",
"attributes": {
"content": {
"type": "string",
"default": ""
}
}
}

View File

@ -0,0 +1,4 @@
/*!***********************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/interview-question/editor.scss ***!
\***********************************************************************************************************************************************************************************************************************************************************/

View File

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

View File

@ -0,0 +1,4 @@
/*!***********************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/interview-question/editor.scss ***!
\***********************************************************************************************************************************************************************************************************************************************************/

View File

@ -0,0 +1,361 @@
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "./src/interview-question/block.json":
/*!*******************************************!*\
!*** ./src/interview-question/block.json ***!
\*******************************************/
/***/ ((module) => {
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"dynamiques-blocks/interview-question","version":"0.1.0","title":"Interview Question","category":"widgets","icon":"smiley","description":"Bloc de question d\'interview","example":{},"parent":["dynamiques-blocks/interview"],"supports":{"html":false},"textdomain":"interview-question","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","attributes":{"content":{"type":"string","default":""}}}');
/***/ }),
/***/ "./src/interview-question/edit.js":
/*!****************************************!*\
!*** ./src/interview-question/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/interview-question/editor.scss");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react/jsx-runtime */ "react/jsx-runtime");
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__);
function Edit({
attributes,
setAttributes
}) {
const {
content
} = attributes;
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)("p", {
...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)(),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_3__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.RichText, {
placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)("Entrez votre question", "interview-question"),
value: content,
onChange: value => setAttributes({
content: value
})
})
});
}
/***/ }),
/***/ "./src/interview-question/editor.scss":
/*!********************************************!*\
!*** ./src/interview-question/editor.scss ***!
\********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "./src/interview-question/index.js":
/*!*****************************************!*\
!*** ./src/interview-question/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/interview-question/style.scss");
/* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./edit */ "./src/interview-question/edit.js");
/* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./save */ "./src/interview-question/save.js");
/* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./block.json */ "./src/interview-question/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: {
src: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("svg", {
width: "97",
height: "97",
viewBox: "0 0 97 97",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("path", {
d: "M93.9 23.7C93.9 23.7 90.8 8.9 77.4 3.7C71.1 1.3 59.5 0.1 48.2 0C37 0.1 25.4 1.3 19.1 3.7C5.7 8.9 2.6 23.7 2.6 23.7C0.6 32.1 0 40.6 0 48.2C0 55.7 0.6 64.2 2.6 72.6C2.6 72.6 5.7 87.4 19.1 92.6C25.4 95 36.9 96.2 48.2 96.3C59.5 96.2 71 95.1 77.3 92.6C90.7 87.4 93.8 72.6 93.8 72.6C95.8 64.2 96.5 55.7 96.4 48.2C96.5 40.6 95.9 32.1 93.9 23.7ZM52.3 71H44.7V64.5H52.3V71ZM52.4 54.7V58.5H44.7V47.6H48.5C51.7 47.6 54.3 45 54.3 41.8C54.3 38.6 51.7 36 48.5 36C45.3 36 42.7 38.6 42.7 41.8H35C35 34.4 41 28.3 48.5 28.3C55.9 28.3 62 34.3 62 41.8C62 47.9 58 53.1 52.4 54.7Z",
fill: "#136F63"
})
}),
foreground: "#136f63"
},
edit: _edit__WEBPACK_IMPORTED_MODULE_2__["default"],
save: _save__WEBPACK_IMPORTED_MODULE_3__["default"]
});
/***/ }),
/***/ "./src/interview-question/save.js":
/*!****************************************!*\
!*** ./src/interview-question/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 {
content
} = attributes;
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("p", {
..._wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.useBlockProps.save(),
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.RichText.Content, {
value: content
})
});
}
/***/ }),
/***/ "./src/interview-question/style.scss":
/*!*******************************************!*\
!*** ./src/interview-question/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/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 = {
/******/ "interview-question/index": 0,
/******/ "interview-question/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["webpackChunkinterview"] = globalThis["webpackChunkinterview"] || [];
/******/ 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, ["interview-question/style-index"], () => (__webpack_require__("./src/interview-question/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,6 @@
/*!**********************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/interview-question/style.scss ***!
\**********************************************************************************************************************************************************************************************************************************************************/
.wp-block-dynamiques-blocks-interview-question {
font-weight: 600;
}

View File

@ -0,0 +1,8 @@
/*!**********************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/interview-question/style.scss ***!
\**********************************************************************************************************************************************************************************************************************************************************/
.wp-block-dynamiques-blocks-interview-question {
font-weight: 600;
}
/*# sourceMappingURL=style-index.css.map*/

View File

@ -0,0 +1 @@
{"version":3,"file":"interview-question/style-index.css","mappings":";;;AAAA;EACC;AACD,C","sources":["webpack://interview/./src/interview-question/style.scss"],"sourcesContent":[".wp-block-dynamiques-blocks-interview-question {\n\tfont-weight: 600;\n}\n"],"names":[],"sourceRoot":""}

View File

@ -0,0 +1,32 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "dynamiques-blocks/interview",
"version": "0.1.0",
"title": "Interview",
"category": "dynamiques-blocks",
"icon": "smiley",
"description": "Bloc de mise en forme d'interview",
"example": {},
"supports": {
"html": false
},
"textdomain": "dynamiques-blocks",
"editorScript": "file:./index.js",
"editorStyle": "file:./index.css",
"style": "file:./style-index.css",
"viewScript": "file:./view.js",
"attributes": {
"interviewedPersonName": {
"type": "string",
"default": "Jean Dupont"
},
"interviewName": {
"type": "string",
"default": "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
}
},
"providesContext": {
"dynamiques-blocks/interviewedPersonName": "interviewedPersonName"
}
}

View File

@ -0,0 +1,11 @@
/*!**************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/interview/editor.scss ***!
\**************************************************************************************************************************************************************************************************************************************************/
/**
* The following styles get applied inside the editor only.
*
* Replace them with your own styles or remove the file completely.
*/
.wp-block-create-block-interview {
border: 1px dotted #f00;
}

View File

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

View File

@ -0,0 +1,13 @@
/*!**************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/interview/editor.scss ***!
\**************************************************************************************************************************************************************************************************************************************************/
/**
* The following styles get applied inside the editor only.
*
* Replace them with your own styles or remove the file completely.
*/
.wp-block-create-block-interview {
border: 1px dotted #f00;
}
/*# sourceMappingURL=index.css.map*/

View File

@ -0,0 +1 @@
{"version":3,"file":"interview/index.css","mappings":";;;AAAA;;;;EAAA;AAMA;EACC;AAAD,C","sources":["webpack://interview/./src/interview/editor.scss"],"sourcesContent":["/**\n * The following styles get applied inside the editor only.\n *\n * Replace them with your own styles or remove the file completely.\n */\n\n.wp-block-create-block-interview {\n\tborder: 1px dotted #f00;\n}\n"],"names":[],"sourceRoot":""}

View File

@ -0,0 +1,415 @@
/******/ (() => { // webpackBootstrap
/******/ "use strict";
/******/ var __webpack_modules__ = ({
/***/ "./src/interview/block.json":
/*!**********************************!*\
!*** ./src/interview/block.json ***!
\**********************************/
/***/ ((module) => {
module.exports = /*#__PURE__*/JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":3,"name":"dynamiques-blocks/interview","version":"0.1.0","title":"Interview","category":"dynamiques-blocks","icon":"smiley","description":"Bloc de mise en forme d\'interview","example":{},"supports":{"html":false},"textdomain":"dynamiques-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","viewScript":"file:./view.js","attributes":{"interviewedPersonName":{"type":"string","default":"Jean Dupont"},"interviewName":{"type":"string","default":"Lorem ipsum dolor sit amet, consectetur adipiscing elit."}},"providesContext":{"dynamiques-blocks/interviewedPersonName":"interviewedPersonName"}}');
/***/ }),
/***/ "./src/interview/edit.js":
/*!*******************************!*\
!*** ./src/interview/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 _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/interview/editor.scss");
/* 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
}) {
const {
interviewedPersonName,
interviewName
} = 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__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InspectorControls, {
children: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.PanelBody, {
title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)("Informations de l'interview", "interview"),
initialOpen: true,
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.TextControl, {
label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)("Nom de la personne interviewée", "interview"),
placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)("Nom de la personne interviewée", "interview"),
value: interviewedPersonName,
onChange: value => setAttributes({
interviewedPersonName: value
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_wordpress_components__WEBPACK_IMPORTED_MODULE_2__.TextareaControl, {
label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)("Nom de l'interview", "interview"),
placeholder: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__.__)("Nom de l'interview", "interview"),
value: interviewName,
onChange: value => setAttributes({
interviewName: value
})
})]
})
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("section", {
...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps)(),
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.InnerBlocks, {
allowedBlocks: ["dynamiques-blocks/interview-question", "dynamiques-blocks/interview-answer"],
template: [["dynamiques-blocks/interview-question", {
placeholder: "Question",
content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas dictum lacus nisl, non varius enim mattis tincidunt. Morbi malesuada sodales sapien, at varius est pharetra at. Nullam eu interdum quam. Lorem ipsum dolor sit amet, consectetur adipiscing elit."
}], ["dynamiques-blocks/interview-answer", {
placeholder: "Réponse",
content: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas dictum lacus nisl, non varius enim mattis tincidunt. Morbi malesuada sodales sapien, at varius est pharetra at. Nullam eu interdum quam. Lorem ipsum dolor sit amet, consectetur adipiscing elit."
}]]
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsxs)("p", {
className: "infos-interview",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_4__.jsx)("span", {
className: "infos-interview__label",
children: "interview"
}), interviewName]
})]
})]
});
}
/***/ }),
/***/ "./src/interview/editor.scss":
/*!***********************************!*\
!*** ./src/interview/editor.scss ***!
\***********************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
__webpack_require__.r(__webpack_exports__);
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "./src/interview/index.js":
/*!********************************!*\
!*** ./src/interview/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/interview/style.scss");
/* harmony import */ var _edit__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./edit */ "./src/interview/edit.js");
/* harmony import */ var _save__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./save */ "./src/interview/save.js");
/* harmony import */ var _block_json__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./block.json */ "./src/interview/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: {
src: /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsxs)("svg", {
width: "97",
height: "97",
viewBox: "0 0 97 97",
fill: "none",
xmlns: "http://www.w3.org/2000/svg",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("path", {
d: "M63.6105 62.6C67.6105 58.3 69.8105 52.7 69.7105 46.8C69.7105 34 59.2105 23.5 46.4105 23.5C46.4105 23.5 46.4105 23.5 46.3105 23.5C40.1105 23.5 34.2105 26 29.8105 30.4C25.4105 34.8 23.0105 40.7 23.0105 46.9C23.0105 53.1 25.5105 59 29.9105 63.4C34.3105 67.8 40.1105 70.2 46.3105 70.2C46.3105 70.2 46.3105 70.2 46.4105 70.2L69.6105 70.1L62.5105 63.7L63.6105 62.6ZM59.9105 55.6H46.1105V52.6H59.9105V55.6ZM59.9105 48.1H34.2105V45.1H59.9105V48.1ZM59.9105 41.1H34.2105V38.1H59.9105V41.1Z",
fill: "#136F63"
}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_5__.jsx)("path", {
d: "M93.8104 23.7C93.8104 23.7 90.7104 8.9 77.3104 3.7C71.0104 1.2 59.5104 0 48.2104 0C36.9104 0 25.4104 1.2 19.1104 3.6C5.71044 8.8 2.61044 23.6 2.61044 23.6C0.610439 32 -0.0895607 40.5 0.0104393 48C-0.0895607 55.5 0.510439 64.1 2.61044 72.4C2.61044 72.4 5.71044 87.2 19.1104 92.4C25.4104 94.8 36.9104 96 48.2104 96.1C59.5104 96 71.0104 94.9 77.3104 92.4C90.7104 87.2 93.8104 72.4 93.8104 72.4C95.8104 64 96.5104 55.5 96.4104 48C96.5104 40.5 95.9104 32 93.8104 23.7ZM46.5104 73.2C39.4104 73.2 32.8104 70.5 27.9104 65.5C22.9104 60.5 20.2104 53.9 20.1104 46.9C20.1104 39.9 22.8104 33.3 27.8104 28.3C32.8104 23.3 39.4104 20.6 46.4104 20.5C46.4104 20.5 46.4104 20.5 46.5104 20.5C61.0104 20.5 72.8104 32.3 72.8104 46.8C72.8104 52.9 70.7104 58.8 66.9104 63.5L77.6104 73.1L46.5104 73.2Z",
fill: "#136F63"
})]
}),
foreground: "#136f63"
},
edit: _edit__WEBPACK_IMPORTED_MODULE_2__["default"],
save: _save__WEBPACK_IMPORTED_MODULE_3__["default"]
});
/***/ }),
/***/ "./src/interview/save.js":
/*!*******************************!*\
!*** ./src/interview/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 {
interviewedPersonName,
interviewName
} = attributes;
return /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("section", {
..._wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.useBlockProps.save(),
"data-interviewed-person-name": interviewedPersonName,
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_0__.InnerBlocks.Content, {}), /*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsxs)("p", {
className: "infos-interview",
children: [/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_1__.jsx)("span", {
className: "infos-interview__label",
children: "interview"
}), interviewName]
})]
});
}
/***/ }),
/***/ "./src/interview/style.scss":
/*!**********************************!*\
!*** ./src/interview/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 = {
/******/ "interview/index": 0,
/******/ "interview/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["webpackChunkinterview"] = globalThis["webpackChunkinterview"] || [];
/******/ 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, ["interview/style-index"], () => (__webpack_require__("./src/interview/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,14 @@
/*!*************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/interview/style.scss ***!
\*************************************************************************************************************************************************************************************************************************************************/
/**
* The following styles get applied both on the front of your site
* and in the editor.
*
* Replace them with your own styles or remove the file completely.
*/
.wp-block-create-block-interview {
background-color: #21759b;
color: #fff;
padding: 2px;
}

View File

@ -0,0 +1,16 @@
/*!*************************************************************************************************************************************************************************************************************************************************!*\
!*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./src/interview/style.scss ***!
\*************************************************************************************************************************************************************************************************************************************************/
/**
* The following styles get applied both on the front of your site
* and in the editor.
*
* Replace them with your own styles or remove the file completely.
*/
.wp-block-create-block-interview {
background-color: #21759b;
color: #fff;
padding: 2px;
}
/*# sourceMappingURL=style-index.css.map*/

View File

@ -0,0 +1 @@
{"version":3,"file":"interview/style-index.css","mappings":";;;AAAA;;;;;EAAA;AAOA;EACC;EACA;EACA;AAAD,C","sources":["webpack://interview/./src/interview/style.scss"],"sourcesContent":["/**\n * The following styles get applied both on the front of your site\n * and in the editor.\n *\n * Replace them with your own styles or remove the file completely.\n */\n\n.wp-block-create-block-interview {\n\tbackground-color: #21759b;\n\tcolor: #fff;\n\tpadding: 2px;\n}\n"],"names":[],"sourceRoot":""}

View File

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

View File

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

View File

@ -0,0 +1,59 @@
<?php
/**
* Plugin Name: Interview
* Description: Example block scaffolded with Create Block tool.
* Version: 0.1.0
* Requires at least: 6.7
* Requires PHP: 7.4
* Author: The WordPress Contributors
* License: GPL-2.0-or-later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
* Text Domain: interview
*
* @package CreateBlock
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
/**
* Registers the block using a `blocks-manifest.php` file, which improves the performance of block type registration.
* Behind the scenes, it also registers all assets so they can be enqueued
* through the block editor in the corresponding context.
*
* @see https://make.wordpress.org/core/2025/03/13/more-efficient-block-type-registration-in-6-8/
* @see https://make.wordpress.org/core/2024/10/17/new-block-type-registration-apis-to-improve-performance-in-wordpress-6-7/
*/
function create_block_interview_block_init() {
/**
* Registers the block(s) metadata from the `blocks-manifest.php` and registers the block type(s)
* based on the registered block metadata.
* Added in WordPress 6.8 to simplify the block metadata registration process added in WordPress 6.7.
*
* @see https://make.wordpress.org/core/2025/03/13/more-efficient-block-type-registration-in-6-8/
*/
if ( function_exists( 'wp_register_block_types_from_metadata_collection' ) ) {
wp_register_block_types_from_metadata_collection( __DIR__ . '/build', __DIR__ . '/build/blocks-manifest.php' );
return;
}
/**
* Registers the block(s) metadata from the `blocks-manifest.php` file.
* Added to WordPress 6.7 to improve the performance of block type registration.
*
* @see https://make.wordpress.org/core/2024/10/17/new-block-type-registration-apis-to-improve-performance-in-wordpress-6-7/
*/
if ( function_exists( 'wp_register_block_metadata_collection' ) ) {
wp_register_block_metadata_collection( __DIR__ . '/build', __DIR__ . '/build/blocks-manifest.php' );
}
/**
* Registers the block type(s) in the `blocks-manifest.php` file.
*
* @see https://developer.wordpress.org/reference/functions/register_block_type/
*/
$manifest_data = require __DIR__ . '/build/blocks-manifest.php';
foreach ( array_keys( $manifest_data ) as $block_type ) {
register_block_type( __DIR__ . "/build/{$block_type}" );
}
}
add_action( 'init', 'create_block_interview_block_init' );

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,20 @@
{
"name": "interview",
"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 --blocks-manifest",
"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 --blocks-manifest"
},
"devDependencies": {
"@wordpress/scripts": "^30.26.0"
}
}

View File

@ -0,0 +1,55 @@
=== Interview ===
Contributors: The WordPress Contributors
Tags: block
Tested up to: 6.7
Stable tag: 0.1.0
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Example block scaffolded with Create Block tool.
== Description ==
This is the long description. No limit, and you can use Markdown (as well as in the following sections).
For backwards compatibility, if this section is missing, the full length of the short description will be used, and
Markdown parsed.
== Installation ==
This section describes how to install the plugin and get it working.
e.g.
1. Upload the plugin files to the `/wp-content/plugins/interview` directory, or install the plugin through the WordPress plugins screen directly.
1. Activate the plugin through the 'Plugins' screen in WordPress
== Frequently Asked Questions ==
= A question that someone might have =
An answer to that question.
= What about foo bar? =
Answer to foo bar dilemma.
== Screenshots ==
1. This screen shot description corresponds to screenshot-1.(png|jpg|jpeg|gif). Note that the screenshot is taken from
the /assets directory or the directory that contains the stable readme.txt (tags or trunk). Screenshots in the /assets
directory take precedence. For example, `/assets/screenshot-1.png` would win over `/tags/4.3/screenshot-1.png`
(or jpg, jpeg, gif).
2. This is the second screen shot
== Changelog ==
= 0.1.0 =
* Release
== Arbitrary section ==
You may provide arbitrary sections, in the same format as the ones above. This may be of use for extremely complicated
plugins where more information needs to be conveyed that doesn't fit into the categories of "description" or
"installation." Arbitrary sections will be shown below the built-in sections outlined above.

Binary file not shown.

View File

@ -0,0 +1,31 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "dynamiques-blocks/interview-answer",
"version": "0.1.0",
"title": "Interview Answer",
"category": "widgets",
"icon": "smiley",
"description": "Bloc de réponse d'interview",
"example": {},
"parent": [
"dynamiques-blocks/interview"
],
"supports": {
"html": false
},
"textdomain": "interview-answer",
"editorScript": "file:./index.js",
"editorStyle": "file:./index.css",
"style": "file:./style-index.css",
"render": "file:./render.php",
"attributes": {
"content": {
"type": "string",
"default": ""
}
},
"usesContext": [
"dynamiques-blocks/interviewedPersonName"
]
}

View File

@ -0,0 +1,20 @@
import { __ } from "@wordpress/i18n";
import { useBlockProps, RichText } from "@wordpress/block-editor";
import "./editor.scss";
export default function Edit({ attributes, setAttributes, context }) {
const { content } = attributes;
const interviewedPersonName =
context["dynamiques-blocks/interviewedPersonName"];
return (
<div {...useBlockProps()}>
<span className="interviewed-person-name">{interviewedPersonName} </span>
<RichText
placeholder={__("Réponse", "interview")}
value={content}
onChange={(value) => setAttributes({ content: value })}
/>
</div>
);
}

View File

@ -0,0 +1,3 @@
.interviewed-person-name {
line-height: 0.1 !important;
}

View File

@ -0,0 +1,28 @@
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: {
src: (
<svg
width="97"
height="97"
viewBox="0 0 97 97"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M93.8104 23.7C93.8104 23.7 90.7104 8.9 77.3104 3.7C71.0104 1.2 59.5104 0.1 48.2104 0C36.9104 0.1 25.4104 1.2 19.1104 3.6C5.71044 8.8 2.61044 23.6 2.61044 23.6C0.610439 32 -0.0895607 40.5 0.0104393 48C-0.0895607 55.5 0.510439 64.1 2.61044 72.4C2.61044 72.4 5.71044 87.2 19.1104 92.4C25.4104 94.8 36.9104 96 48.2104 96.1C59.5104 96 71.0104 94.9 77.3104 92.4C90.7104 87.2 93.8104 72.4 93.8104 72.4C95.8104 64 96.5104 55.5 96.4104 48C96.5104 40.6 95.9104 32 93.8104 23.7ZM52.6104 70.6H43.4104V62.4H52.6104V70.6ZM52.6104 55.7H43.4104V25.6H52.6104V55.7Z"
fill="#136F63"
/>
</svg>
),
foreground: "#136f63",
},
edit: Edit,
save,
});

View File

@ -0,0 +1,10 @@
<?php
global $post;
$interviewedPersonName = $block->context["dynamiques-blocks/interviewedPersonName"];
$content = $block->attributes["content"];
?>
<div <?php echo get_block_wrapper_attributes(); ?>>
<p class="interview-answer-content"> <span class="interviewed-person-name"><?php echo $interviewedPersonName; ?></span><?php echo $content; ?></p>
</div>

View File

@ -0,0 +1,11 @@
import { useBlockProps, RichText } from "@wordpress/block-editor";
export default function save({ attributes }) {
return (
<div {...useBlockProps.save()}>
<p className="interviewed-person-name">
<strong>{attributes.interviewedPersonName} :</strong>
</p>
</div>
);
}

View File

@ -0,0 +1,6 @@
.interviewed-person-name {
display: inline;
color: var(--wp--preset--color--primary);
text-transform: uppercase;
}

View File

@ -0,0 +1,32 @@
/**
* View script pour afficher dynamiquement le nom de la personne interviewée
*/
document.addEventListener("DOMContentLoaded", function () {
// Trouver tous les blocs interview-answer
const answerBlocks = document.querySelectorAll(
".wp-block-dynamiques-blocks-interview-answer",
);
answerBlocks.forEach((answerBlock) => {
// Trouver le bloc parent interview
const parentBlock = answerBlock.closest(
".wp-block-dynamiques-blocks-interview",
);
if (parentBlock) {
// Récupérer le nom depuis l'attribut data du parent
const interviewedPersonName =
parentBlock.dataset.interviewedPersonName || "Invité";
// Trouver ou créer l'élément pour afficher le nom
let nameElement = answerBlock.querySelector(".interviewed-person-name");
if (!nameElement) {
nameElement = document.createElement("p");
nameElement.className = "interviewed-person-name";
answerBlock.insertBefore(nameElement, answerBlock.firstChild);
}
nameElement.innerHTML = `<strong>${interviewedPersonName} :</strong>`;
}
});
});

View File

@ -0,0 +1,27 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "dynamiques-blocks/interview-question",
"version": "0.1.0",
"title": "Interview Question",
"category": "widgets",
"icon": "smiley",
"description": "Bloc de question d'interview",
"example": {},
"parent": [
"dynamiques-blocks/interview"
],
"supports": {
"html": false
},
"textdomain": "interview-question",
"editorScript": "file:./index.js",
"editorStyle": "file:./index.css",
"style": "file:./style-index.css",
"attributes": {
"content": {
"type": "string",
"default": ""
}
}
}

View File

@ -0,0 +1,17 @@
import { __ } from "@wordpress/i18n";
import { useBlockProps, RichText } from "@wordpress/block-editor";
import "./editor.scss";
export default function Edit({ attributes, setAttributes }) {
const { content } = attributes;
return (
<p {...useBlockProps()}>
<RichText
placeholder={__("Entrez votre question", "interview-question")}
value={content}
onChange={(value) => setAttributes({ content: value })}
/>
</p>
);
}

View File

@ -0,0 +1,28 @@
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: {
src: (
<svg
width="97"
height="97"
viewBox="0 0 97 97"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M93.9 23.7C93.9 23.7 90.8 8.9 77.4 3.7C71.1 1.3 59.5 0.1 48.2 0C37 0.1 25.4 1.3 19.1 3.7C5.7 8.9 2.6 23.7 2.6 23.7C0.6 32.1 0 40.6 0 48.2C0 55.7 0.6 64.2 2.6 72.6C2.6 72.6 5.7 87.4 19.1 92.6C25.4 95 36.9 96.2 48.2 96.3C59.5 96.2 71 95.1 77.3 92.6C90.7 87.4 93.8 72.6 93.8 72.6C95.8 64.2 96.5 55.7 96.4 48.2C96.5 40.6 95.9 32.1 93.9 23.7ZM52.3 71H44.7V64.5H52.3V71ZM52.4 54.7V58.5H44.7V47.6H48.5C51.7 47.6 54.3 45 54.3 41.8C54.3 38.6 51.7 36 48.5 36C45.3 36 42.7 38.6 42.7 41.8H35C35 34.4 41 28.3 48.5 28.3C55.9 28.3 62 34.3 62 41.8C62 47.9 58 53.1 52.4 54.7Z"
fill="#136F63"
/>
</svg>
),
foreground: "#136f63",
},
edit: Edit,
save,
});

View File

@ -0,0 +1,3 @@
<svg width="97" height="97" viewBox="0 0 97 97" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M93.9 23.7C93.9 23.7 90.8 8.9 77.4 3.7C71.1 1.3 59.5 0.1 48.2 0C37 0.1 25.4 1.3 19.1 3.7C5.7 8.9 2.6 23.7 2.6 23.7C0.6 32.1 0 40.6 0 48.2C0 55.7 0.6 64.2 2.6 72.6C2.6 72.6 5.7 87.4 19.1 92.6C25.4 95 36.9 96.2 48.2 96.3C59.5 96.2 71 95.1 77.3 92.6C90.7 87.4 93.8 72.6 93.8 72.6C95.8 64.2 96.5 55.7 96.4 48.2C96.5 40.6 95.9 32.1 93.9 23.7ZM52.3 71H44.7V64.5H52.3V71ZM52.4 54.7V58.5H44.7V47.6H48.5C51.7 47.6 54.3 45 54.3 41.8C54.3 38.6 51.7 36 48.5 36C45.3 36 42.7 38.6 42.7 41.8H35C35 34.4 41 28.3 48.5 28.3C55.9 28.3 62 34.3 62 41.8C62 47.9 58 53.1 52.4 54.7Z" fill="#136F63"/>
</svg>

After

Width:  |  Height:  |  Size: 689 B

View File

@ -0,0 +1,10 @@
import { useBlockProps, RichText } from "@wordpress/block-editor";
export default function save({ attributes }) {
const { content } = attributes;
return (
<p {...useBlockProps.save()}>
<RichText.Content value={content} />
</p>
);
}

View File

@ -0,0 +1,3 @@
.wp-block-dynamiques-blocks-interview-question {
font-weight: 600;
}

View File

@ -0,0 +1,3 @@
<svg width="97" height="97" viewBox="0 0 97 97" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M93.8104 23.7C93.8104 23.7 90.7104 8.9 77.3104 3.7C71.0104 1.2 59.5104 0.1 48.2104 0C36.9104 0.1 25.4104 1.2 19.1104 3.6C5.71044 8.8 2.61044 23.6 2.61044 23.6C0.610439 32 -0.0895607 40.5 0.0104393 48C-0.0895607 55.5 0.510439 64.1 2.61044 72.4C2.61044 72.4 5.71044 87.2 19.1104 92.4C25.4104 94.8 36.9104 96 48.2104 96.1C59.5104 96 71.0104 94.9 77.3104 92.4C90.7104 87.2 93.8104 72.4 93.8104 72.4C95.8104 64 96.5104 55.5 96.4104 48C96.5104 40.6 95.9104 32 93.8104 23.7ZM52.6104 70.6H43.4104V62.4H52.6104V70.6ZM52.6104 55.7H43.4104V25.6H52.6104V55.7Z" fill="#136F63"/>
</svg>

After

Width:  |  Height:  |  Size: 678 B

View File

@ -0,0 +1,32 @@
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "dynamiques-blocks/interview",
"version": "0.1.0",
"title": "Interview",
"category": "dynamiques-blocks",
"icon": "smiley",
"description": "Bloc de mise en forme d'interview",
"example": {},
"supports": {
"html": false
},
"textdomain": "dynamiques-blocks",
"editorScript": "file:./index.js",
"editorStyle": "file:./index.css",
"style": "file:./style-index.css",
"viewScript": "file:./view.js",
"attributes": {
"interviewedPersonName": {
"type": "string",
"default": "Jean Dupont"
},
"interviewName": {
"type": "string",
"default": "Lorem ipsum dolor sit amet, consectetur adipiscing elit."
}
},
"providesContext": {
"dynamiques-blocks/interviewedPersonName": "interviewedPersonName"
}
}

View File

@ -0,0 +1,68 @@
import { __ } from "@wordpress/i18n";
import {
useBlockProps,
InnerBlocks,
InspectorControls,
} from "@wordpress/block-editor";
import { PanelBody, TextControl, TextareaControl } from "@wordpress/components";
import "./editor.scss";
export default function Edit({ attributes, setAttributes }) {
const { interviewedPersonName, interviewName } = attributes;
return (
<>
<InspectorControls>
<PanelBody
title={__("Informations de l'interview", "interview")}
initialOpen={true}
>
<TextControl
label={__("Nom de la personne interviewée", "interview")}
placeholder={__("Nom de la personne interviewée", "interview")}
value={interviewedPersonName}
onChange={(value) =>
setAttributes({ interviewedPersonName: value })
}
/>
<TextareaControl
label={__("Nom de l'interview", "interview")}
placeholder={__("Nom de l'interview", "interview")}
value={interviewName}
onChange={(value) => setAttributes({ interviewName: value })}
/>
</PanelBody>
</InspectorControls>
<section {...useBlockProps()}>
<InnerBlocks
allowedBlocks={[
"dynamiques-blocks/interview-question",
"dynamiques-blocks/interview-answer",
]}
template={[
[
"dynamiques-blocks/interview-question",
{
placeholder: "Question",
content:
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas dictum lacus nisl, non varius enim mattis tincidunt. Morbi malesuada sodales sapien, at varius est pharetra at. Nullam eu interdum quam. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
},
],
[
"dynamiques-blocks/interview-answer",
{
placeholder: "Réponse",
content:
"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas dictum lacus nisl, non varius enim mattis tincidunt. Morbi malesuada sodales sapien, at varius est pharetra at. Nullam eu interdum quam. Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
},
],
]}
/>
<p className="infos-interview">
<span className="infos-interview__label">interview</span>
{interviewName}
</p>
</section>
</>
);
}

View File

@ -0,0 +1,9 @@
/**
* The following styles get applied inside the editor only.
*
* Replace them with your own styles or remove the file completely.
*/
.wp-block-create-block-interview {
border: 1px dotted #f00;
}

View File

@ -0,0 +1,32 @@
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: {
src: (
<svg
width="97"
height="97"
viewBox="0 0 97 97"
fill="none"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M63.6105 62.6C67.6105 58.3 69.8105 52.7 69.7105 46.8C69.7105 34 59.2105 23.5 46.4105 23.5C46.4105 23.5 46.4105 23.5 46.3105 23.5C40.1105 23.5 34.2105 26 29.8105 30.4C25.4105 34.8 23.0105 40.7 23.0105 46.9C23.0105 53.1 25.5105 59 29.9105 63.4C34.3105 67.8 40.1105 70.2 46.3105 70.2C46.3105 70.2 46.3105 70.2 46.4105 70.2L69.6105 70.1L62.5105 63.7L63.6105 62.6ZM59.9105 55.6H46.1105V52.6H59.9105V55.6ZM59.9105 48.1H34.2105V45.1H59.9105V48.1ZM59.9105 41.1H34.2105V38.1H59.9105V41.1Z"
fill="#136F63"
/>
<path
d="M93.8104 23.7C93.8104 23.7 90.7104 8.9 77.3104 3.7C71.0104 1.2 59.5104 0 48.2104 0C36.9104 0 25.4104 1.2 19.1104 3.6C5.71044 8.8 2.61044 23.6 2.61044 23.6C0.610439 32 -0.0895607 40.5 0.0104393 48C-0.0895607 55.5 0.510439 64.1 2.61044 72.4C2.61044 72.4 5.71044 87.2 19.1104 92.4C25.4104 94.8 36.9104 96 48.2104 96.1C59.5104 96 71.0104 94.9 77.3104 92.4C90.7104 87.2 93.8104 72.4 93.8104 72.4C95.8104 64 96.5104 55.5 96.4104 48C96.5104 40.5 95.9104 32 93.8104 23.7ZM46.5104 73.2C39.4104 73.2 32.8104 70.5 27.9104 65.5C22.9104 60.5 20.2104 53.9 20.1104 46.9C20.1104 39.9 22.8104 33.3 27.8104 28.3C32.8104 23.3 39.4104 20.6 46.4104 20.5C46.4104 20.5 46.4104 20.5 46.5104 20.5C61.0104 20.5 72.8104 32.3 72.8104 46.8C72.8104 52.9 70.7104 58.8 66.9104 63.5L77.6104 73.1L46.5104 73.2Z"
fill="#136F63"
/>
</svg>
),
foreground: "#136f63",
},
edit: Edit,
save,
});

View File

@ -0,0 +1,4 @@
<svg width="97" height="97" viewBox="0 0 97 97" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M63.6105 62.6C67.6105 58.3 69.8105 52.7 69.7105 46.8C69.7105 34 59.2105 23.5 46.4105 23.5C46.4105 23.5 46.4105 23.5 46.3105 23.5C40.1105 23.5 34.2105 26 29.8105 30.4C25.4105 34.8 23.0105 40.7 23.0105 46.9C23.0105 53.1 25.5105 59 29.9105 63.4C34.3105 67.8 40.1105 70.2 46.3105 70.2C46.3105 70.2 46.3105 70.2 46.4105 70.2L69.6105 70.1L62.5105 63.7L63.6105 62.6ZM59.9105 55.6H46.1105V52.6H59.9105V55.6ZM59.9105 48.1H34.2105V45.1H59.9105V48.1ZM59.9105 41.1H34.2105V38.1H59.9105V41.1Z" fill="#136F63"/>
<path d="M93.8104 23.7C93.8104 23.7 90.7104 8.9 77.3104 3.7C71.0104 1.2 59.5104 0 48.2104 0C36.9104 0 25.4104 1.2 19.1104 3.6C5.71044 8.8 2.61044 23.6 2.61044 23.6C0.610439 32 -0.0895607 40.5 0.0104393 48C-0.0895607 55.5 0.510439 64.1 2.61044 72.4C2.61044 72.4 5.71044 87.2 19.1104 92.4C25.4104 94.8 36.9104 96 48.2104 96.1C59.5104 96 71.0104 94.9 77.3104 92.4C90.7104 87.2 93.8104 72.4 93.8104 72.4C95.8104 64 96.5104 55.5 96.4104 48C96.5104 40.5 95.9104 32 93.8104 23.7ZM46.5104 73.2C39.4104 73.2 32.8104 70.5 27.9104 65.5C22.9104 60.5 20.2104 53.9 20.1104 46.9C20.1104 39.9 22.8104 33.3 27.8104 28.3C32.8104 23.3 39.4104 20.6 46.4104 20.5C46.4104 20.5 46.4104 20.5 46.5104 20.5C61.0104 20.5 72.8104 32.3 72.8104 46.8C72.8104 52.9 70.7104 58.8 66.9104 63.5L77.6104 73.1L46.5104 73.2Z" fill="#136F63"/>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -0,0 +1,18 @@
import { useBlockProps, InnerBlocks } from "@wordpress/block-editor";
export default function save({ attributes }) {
const { interviewedPersonName, interviewName } = attributes;
return (
<section
{...useBlockProps.save()}
data-interviewed-person-name={interviewedPersonName}
>
<InnerBlocks.Content />
<p className="infos-interview">
<span className="infos-interview__label">interview</span>
{interviewName}
</p>
</section>
);
}

View File

@ -0,0 +1,12 @@
/**
* The following styles get applied both on the front of your site
* and in the editor.
*
* Replace them with your own styles or remove the file completely.
*/
.wp-block-create-block-interview {
background-color: #21759b;
color: #fff;
padding: 2px;
}

View File

@ -37,6 +37,7 @@ require_once __DIR__ . '/blocks/explore-tags/explore-tags.php';
require_once __DIR__ . '/blocks/revues-precedentes/revues-precedentes.php';
require_once __DIR__ . '/blocks/nos-recommandations/nos-recommandations.php';
require_once __DIR__ . '/blocks/sitemap/sitemap.php';
require_once __DIR__ . '/blocks/interview/interview.php';