From f175d115eae849b5ec07faf5758029e616a80976 Mon Sep 17 00:00:00 2001 From: Antoine M Date: Wed, 8 Nov 2023 16:17:06 +0100 Subject: [PATCH] adding icon shadow handling --- blocks/icon/build/block.json | 4 ++++ blocks/icon/build/index.asset.php | 2 +- blocks/icon/build/index.css | 10 +++------ blocks/icon/build/index.css.map | 2 +- blocks/icon/build/index.js | 29 ++++++++++++++++++------- blocks/icon/build/index.js.map | 2 +- blocks/icon/build/style-index.css | 12 ----------- blocks/icon/build/style-index.css.map | 1 - blocks/icon/src/block.json | 4 ++++ blocks/icon/src/edit.js | 31 +++++++++++++++++++++------ blocks/icon/src/editor.scss | 13 +++++------ blocks/icon/src/save.js | 8 +++++-- blocks/icon/src/style.scss | 12 ----------- 13 files changed, 71 insertions(+), 59 deletions(-) delete mode 100644 blocks/icon/build/style-index.css.map diff --git a/blocks/icon/build/block.json b/blocks/icon/build/block.json index 15f2abb..f21ec61 100644 --- a/blocks/icon/build/block.json +++ b/blocks/icon/build/block.json @@ -26,6 +26,10 @@ }, "iconId": { "type": "number" + }, + "hasShadow": { + "type": "boolean", + "default": false } } } \ No newline at end of file diff --git a/blocks/icon/build/index.asset.php b/blocks/icon/build/index.asset.php index ea27643..3f26a25 100644 --- a/blocks/icon/build/index.asset.php +++ b/blocks/icon/build/index.asset.php @@ -1 +1 @@ - array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '1a85b2a8e2b15c8458a5'); + array('wp-block-editor', 'wp-blocks', 'wp-components', 'wp-element', 'wp-i18n', 'wp-primitives'), 'version' => '834f4191f3824517e91e'); diff --git a/blocks/icon/build/index.css b/blocks/icon/build/index.css index efb8ea8..89e951b 100644 --- a/blocks/icon/build/index.css +++ b/blocks/icon/build/index.css @@ -1,13 +1,9 @@ /*!****************************************************************************************************************************************************************************************************************************************!*\ !*** 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/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-multiblocks { - border: 1px dotted #f00; +.homegrade-blocks-components-icon__panel-body .icon-preview { + max-width: 80px; + padding: 20px 0; } /*# sourceMappingURL=index.css.map*/ \ No newline at end of file diff --git a/blocks/icon/build/index.css.map b/blocks/icon/build/index.css.map index 8e53675..d44f800 100644 --- a/blocks/icon/build/index.css.map +++ b/blocks/icon/build/index.css.map @@ -1 +1 @@ -{"version":3,"file":"index.css","mappings":";;;AAAA;;;;EAAA;AAMA;EACC;AAAD,C","sources":["webpack://multiblocks/./src/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-multiblocks {\n\tborder: 1px dotted #f00;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"index.css","mappings":";;;AACC;EACC;EACA;AAAF,C","sources":["webpack://multiblocks/./src/editor.scss"],"sourcesContent":[".homegrade-blocks-components-icon__panel-body {\n\t.icon-preview {\n\t\tmax-width: 80px;\n\t\tpadding: 20px 0;\n\t}\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/blocks/icon/build/index.js b/blocks/icon/build/index.js index e0a80d4..a1031ae 100644 --- a/blocks/icon/build/index.js +++ b/blocks/icon/build/index.js @@ -203,6 +203,7 @@ __webpack_require__.r(__webpack_exports__); + function Edit({ attributes, setAttributes @@ -210,7 +211,8 @@ function Edit({ let { iconUrl, iconAlt, - iconId + iconId, + hasShadow } = attributes; function setIconAttributes(icon) { setAttributes({ @@ -226,15 +228,22 @@ function Edit({ iconUrl: null }); } + function onHasShadowChange() { + setAttributes({ + hasShadow: !hasShadow + }); + } return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.InspectorControls, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__.PanelBody, { - className: "homegrade-blocks-components-image__panel-body", - title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Icon", "homegrade-blocks__texte-backoffice") + className: "homegrade-blocks-components-image__panel-body homegrade-blocks-components-icon__panel-body", + title: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Icone", "homegrade-blocks__texte-backoffice") }, iconUrl && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { + className: "icon-preview", src: iconUrl, alt: iconAlt }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { className: "media-replace-container" }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.MediaReplaceFlow, { + label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Source", "homegrade-blocks__texte-backoffice"), mediaId: iconId, mediaUrl: iconUrl, allowedTypes: ["image"], @@ -247,7 +256,11 @@ function Edit({ icon: _wordpress_icons__WEBPACK_IMPORTED_MODULE_8__["default"], label: "Supprimer", onClick: removeIconAttributes - }))))), !iconUrl && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.MediaPlaceholder, { + }))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__.PanelRow, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_components__WEBPACK_IMPORTED_MODULE_7__.ToggleControl, { + label: (0,_wordpress_i18n__WEBPACK_IMPORTED_MODULE_1__.__)("Ombre", "homegrade-blocks__texte-backoffice"), + checked: hasShadow, + onChange: onHasShadowChange + })))), !iconUrl && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.MediaPlaceholder, { accept: "image/*", allowedTypes: ["image"], onSelect: setIconAttributes, @@ -255,7 +268,7 @@ function Edit({ handleUpload: true }), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { ...(0,_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_6__.useBlockProps)({ - className: `homegrade-blocks-icon` + className: `homegrade-blocks-icon ${hasShadow ? "homegrade-blocks-icon--has-shadow" : "homegrade-blocks-icon--no-shadow"} ` }) }, iconUrl && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { src: iconUrl, @@ -325,11 +338,11 @@ function save({ let { iconUrl, iconAlt, - iconId + hasShadow } = attributes; return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("div", { ..._wordpress_block_editor__WEBPACK_IMPORTED_MODULE_1__.useBlockProps.save({ - className: `homegrade-blocks-icon` + className: `homegrade-blocks-icon ${hasShadow ? "homegrade-blocks-icon--has-shadow" : "homegrade-blocks-icon--no-shadow"} ` }) }, iconUrl && (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)("img", { src: iconUrl, @@ -460,7 +473,7 @@ module.exports = window["wp"]["primitives"]; \************************/ /***/ ((module) => { -module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"homegrade-content-blocks/icon","version":"0.1.0","title":"Icone","category":"homegrade-blocks","icon":"smiley","description":"Pour insérer une icone personnalisée dans une zone de contenu","supports":{"html":false},"parent":["homegrade-content-blocks/column-card"],"textdomain":"homegrade-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","attributes":{"iconUrl":{"type":"string"},"iconAlt":{"type":"string"},"iconId":{"type":"number"}}}'); +module.exports = JSON.parse('{"$schema":"https://schemas.wp.org/trunk/block.json","apiVersion":2,"name":"homegrade-content-blocks/icon","version":"0.1.0","title":"Icone","category":"homegrade-blocks","icon":"smiley","description":"Pour insérer une icone personnalisée dans une zone de contenu","supports":{"html":false},"parent":["homegrade-content-blocks/column-card"],"textdomain":"homegrade-blocks","editorScript":"file:./index.js","editorStyle":"file:./index.css","style":"file:./style-index.css","attributes":{"iconUrl":{"type":"string"},"iconAlt":{"type":"string"},"iconId":{"type":"number"},"hasShadow":{"type":"boolean","default":false}}}'); /***/ }) diff --git a/blocks/icon/build/index.js.map b/blocks/icon/build/index.js.map index d5cd4f2..ceb0dd3 100644 --- a/blocks/icon/build/index.js.map +++ b/blocks/icon/build/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","mappings":"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D8C,OAAO,IAAIjD,iEAAA;IAAKC,GAAG,EAAEgD,OAAQ;IAAC/C,GAAG,EAAEgD;EAAQ,CAAE,CAC1C,CAAC;AAER;;;;;;;;;;;ACdA;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;ACAmD;;AAEnD;AACA;AACA;AACkD;AAClD,cAAc,iEAAa,CAAC,sDAAG;AAC/B;AACA;AACA,CAAC,EAAE,iEAAa,CAAC,uDAAI;AACrB;AACA,CAAC;AACD,iEAAe,KAAK,EAAC;AACrB;;;;;;;;;;ACbA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;UAEA;UACA;;;;;WCzBA;WACA;WACA;WACA;WACA,+BAA+B,wCAAwC;WACvE;WACA;WACA;WACA;WACA,iBAAiB,qBAAqB;WACtC;WACA;WACA;WACA;WACA,kBAAkB,qBAAqB;WACvC;WACA;WACA,KAAK;WACL;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;;;;WC7BA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;WCNA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;;WAEA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,MAAM,qBAAqB;WAC3B;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;WAEA;WACA;WACA;;;;;UEnDA;UACA;UACA;UACA;UACA","sources":["webpack://multiblocks/../_components/Image.jsx","webpack://multiblocks/../_components/ImageMediaPlaceholder.jsx","webpack://multiblocks/../_components/ImagePanelBody.jsx","webpack://multiblocks/./src/edit.js","webpack://multiblocks/./src/index.js","webpack://multiblocks/./src/save.js","webpack://multiblocks/./src/editor.scss","webpack://multiblocks/./src/style.scss","webpack://multiblocks/../../node_modules/@wordpress/icons/build-module/library/trash.js","webpack://multiblocks/external window [\"wp\",\"blockEditor\"]","webpack://multiblocks/external window [\"wp\",\"blocks\"]","webpack://multiblocks/external window [\"wp\",\"components\"]","webpack://multiblocks/external window [\"wp\",\"element\"]","webpack://multiblocks/external window [\"wp\",\"i18n\"]","webpack://multiblocks/external window [\"wp\",\"primitives\"]","webpack://multiblocks/webpack/bootstrap","webpack://multiblocks/webpack/runtime/chunk loaded","webpack://multiblocks/webpack/runtime/compat get default export","webpack://multiblocks/webpack/runtime/define property getters","webpack://multiblocks/webpack/runtime/hasOwnProperty shorthand","webpack://multiblocks/webpack/runtime/make namespace object","webpack://multiblocks/webpack/runtime/jsonp chunk loading","webpack://multiblocks/webpack/before-startup","webpack://multiblocks/webpack/startup","webpack://multiblocks/webpack/after-startup"],"sourcesContent":["export default function Image({ imageUrl, imageAlt, imageProportion }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n","import { MediaReplaceFlow, MediaPlaceholder } from \"@wordpress/block-editor\";\r\n\r\nexport default function ImageMediaPlaceholder({ imageId, imageAlt, imageUrl, setAttributes }) {\r\n\tfunction setImageAttributes(image) {\r\n\t\tsetAttributes({\r\n\t\t\timageId: image.id,\r\n\t\t\timageAlt: image.alt,\r\n\t\t\timageUrl: image.url,\r\n\t\t});\r\n\t}\r\n\r\n\tfunction removeImageAttributes() {\r\n\t\tsetAttributes({\r\n\t\t\timageId: null,\r\n\t\t\timageAlt: null,\r\n\t\t\timageUrl: null,\r\n\t\t});\r\n\t}\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!imageUrl && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n","import { __ } from \"@wordpress/i18n\";\r\nimport {\r\n\tPanelBody,\r\n\tButton,\r\n\tTip,\r\n\t__experimentalToggleGroupControl as ToggleGroupControl,\r\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\r\n} from \"@wordpress/components\";\r\nimport { MediaReplaceFlow, MediaPlaceholder } from \"@wordpress/block-editor\";\r\nimport { trash } from \"@wordpress/icons\";\r\n\r\nexport default function ImagePanelBody({ imageUrl, imageAlt, imageId, imageProportion, setAttributes }) {\r\n\tfunction setImageAttributes(image) {\r\n\t\tsetAttributes({\r\n\t\t\timageId: image.id,\r\n\t\t\timageAlt: image.alt,\r\n\t\t\timageUrl: image.url,\r\n\t\t});\r\n\t}\r\n\r\n\tfunction removeImageAttributes() {\r\n\t\tsetAttributes({\r\n\t\t\timageId: null,\r\n\t\t\timageAlt: null,\r\n\t\t\timageUrl: null,\r\n\t\t});\r\n\t}\r\n\tfunction onImageProportionChange(imageProportion) {\r\n\t\tconsole.log(imageProportion);\r\n\t\tsetAttributes({ imageProportion });\r\n\t}\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{imageUrl && {imageAlt}}\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t{imageUrl && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tSi besoin, Utilisez le champ \"Légende\"de la médiathèque pour afficher un\r\n\t\t\t\t\tcopyright\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSi besoin, Utilisez le champ \"Description\" de la médiathèque pour donner\r\n\t\t\t\t\tafficher une description de votre image\r\n\t\t\t\t\r\n\t\t\t\t{imageUrl && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { __ } from \"@wordpress/i18n\";\nimport \"./editor.scss\";\nimport ImageMediaPlaceholder from \"../../_components/ImageMediaPlaceholder\";\nimport Image from \"../../_components/Image\";\nimport ImagePanelBody from \"../../_components/ImagePanelBody\";\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tInnerBlocks,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n} from \"@wordpress/block-editor\";\nimport { PanelBody, Button } from \"@wordpress/components\";\nimport { trash } from \"@wordpress/icons\";\n\nexport default function Edit({ attributes, setAttributes }) {\n\tlet { iconUrl, iconAlt, iconId } = attributes;\n\tfunction setIconAttributes(icon) {\n\t\tsetAttributes({\n\t\t\ticonId: icon.id,\n\t\t\ticonAlt: icon.alt,\n\t\t\ticonUrl: icon.url,\n\t\t});\n\t}\n\n\tfunction removeIconAttributes() {\n\t\tsetAttributes({\n\t\t\ticonId: null,\n\t\t\ticonAlt: null,\n\t\t\ticonUrl: null,\n\t\t});\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{iconUrl && {iconAlt}}\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t{iconUrl && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t{!iconUrl && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t{iconUrl && {iconAlt}}\n\t\t\t\n\t\t\n\t);\n}\n","import { registerBlockType } from \"@wordpress/blocks\";\nimport \"./style.scss\";\n\nimport Edit from \"./edit\";\nimport save from \"./save\";\nimport metadata from \"./block.json\";\n\nregisterBlockType(metadata.name, {\n\ticon: {\n\t\tsrc: (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\tforeground: \"#f03\",\n\t},\n\n\tedit: Edit,\n\tsave,\n});\n","import { useBlockProps } from \"@wordpress/block-editor\";\n\nexport default function save({ attributes }) {\n\tlet { iconUrl, iconAlt, iconId } = attributes;\n\n\treturn (\n\t\t\n\t\t\t{iconUrl && {iconAlt}}\n\t\t\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","import { createElement } from \"@wordpress/element\";\n\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst trash = createElement(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n d: \"M20 5h-5.7c0-1.3-1-2.3-2.3-2.3S9.7 3.7 9.7 5H4v2h1.5v.3l1.7 11.1c.1 1 1 1.7 2 1.7h5.7c1 0 1.8-.7 2-1.7l1.7-11.1V7H20V5zm-3.2 2l-1.7 11.1c0 .1-.1.2-.3.2H9.1c-.1 0-.3-.1-.3-.2L7.2 7h9.6z\"\n}));\nexport default trash;\n//# sourceMappingURL=trash.js.map","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"i18n\"];","module.exports = window[\"wp\"][\"primitives\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"index\": 0,\n\t\"./style-index\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkmultiblocks\"] = self[\"webpackChunkmultiblocks\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"./style-index\"], () => (__webpack_require__(\"./src/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["Image","imageUrl","imageAlt","imageProportion","createElement","src","alt","className","MediaReplaceFlow","MediaPlaceholder","ImageMediaPlaceholder","imageId","setAttributes","setImageAttributes","image","id","url","removeImageAttributes","Fragment","accept","allowedTypes","onSelect","multiple","handleUpload","__","PanelBody","Button","Tip","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","trash","ImagePanelBody","onImageProportionChange","console","log","title","mediaId","mediaUrl","name","variant","icon","label","onClick","isBlock","onChange","value","InspectorControls","useBlockProps","InnerBlocks","Edit","attributes","iconUrl","iconAlt","iconId","setIconAttributes","removeIconAttributes","registerBlockType","save","metadata","xmlns","viewBox","class","d","foreground","edit"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"index.js","mappings":"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","sources":["webpack://multiblocks/../_components/Image.jsx","webpack://multiblocks/../_components/ImageMediaPlaceholder.jsx","webpack://multiblocks/../_components/ImagePanelBody.jsx","webpack://multiblocks/./src/edit.js","webpack://multiblocks/./src/index.js","webpack://multiblocks/./src/save.js","webpack://multiblocks/./src/editor.scss","webpack://multiblocks/./src/style.scss","webpack://multiblocks/../../node_modules/@wordpress/icons/build-module/library/trash.js","webpack://multiblocks/external window [\"wp\",\"blockEditor\"]","webpack://multiblocks/external window [\"wp\",\"blocks\"]","webpack://multiblocks/external window [\"wp\",\"components\"]","webpack://multiblocks/external window [\"wp\",\"element\"]","webpack://multiblocks/external window [\"wp\",\"i18n\"]","webpack://multiblocks/external window [\"wp\",\"primitives\"]","webpack://multiblocks/webpack/bootstrap","webpack://multiblocks/webpack/runtime/chunk loaded","webpack://multiblocks/webpack/runtime/compat get default export","webpack://multiblocks/webpack/runtime/define property getters","webpack://multiblocks/webpack/runtime/hasOwnProperty shorthand","webpack://multiblocks/webpack/runtime/make namespace object","webpack://multiblocks/webpack/runtime/jsonp chunk loading","webpack://multiblocks/webpack/before-startup","webpack://multiblocks/webpack/startup","webpack://multiblocks/webpack/after-startup"],"sourcesContent":["export default function Image({ imageUrl, imageAlt, imageProportion }) {\r\n\treturn (\r\n\t\t\r\n\t);\r\n}\r\n","import { MediaReplaceFlow, MediaPlaceholder } from \"@wordpress/block-editor\";\r\n\r\nexport default function ImageMediaPlaceholder({ imageId, imageAlt, imageUrl, setAttributes }) {\r\n\tfunction setImageAttributes(image) {\r\n\t\tsetAttributes({\r\n\t\t\timageId: image.id,\r\n\t\t\timageAlt: image.alt,\r\n\t\t\timageUrl: image.url,\r\n\t\t});\r\n\t}\r\n\r\n\tfunction removeImageAttributes() {\r\n\t\tsetAttributes({\r\n\t\t\timageId: null,\r\n\t\t\timageAlt: null,\r\n\t\t\timageUrl: null,\r\n\t\t});\r\n\t}\r\n\treturn (\r\n\t\t<>\r\n\t\t\t{!imageUrl && (\r\n\t\t\t\t\r\n\t\t\t)}\r\n\t\t\r\n\t);\r\n}\r\n","import { __ } from \"@wordpress/i18n\";\r\nimport {\r\n\tPanelBody,\r\n\tButton,\r\n\tTip,\r\n\t__experimentalToggleGroupControl as ToggleGroupControl,\r\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\r\n} from \"@wordpress/components\";\r\nimport { MediaReplaceFlow, MediaPlaceholder } from \"@wordpress/block-editor\";\r\nimport { trash } from \"@wordpress/icons\";\r\n\r\nexport default function ImagePanelBody({ imageUrl, imageAlt, imageId, imageProportion, setAttributes }) {\r\n\tfunction setImageAttributes(image) {\r\n\t\tsetAttributes({\r\n\t\t\timageId: image.id,\r\n\t\t\timageAlt: image.alt,\r\n\t\t\timageUrl: image.url,\r\n\t\t});\r\n\t}\r\n\r\n\tfunction removeImageAttributes() {\r\n\t\tsetAttributes({\r\n\t\t\timageId: null,\r\n\t\t\timageAlt: null,\r\n\t\t\timageUrl: null,\r\n\t\t});\r\n\t}\r\n\tfunction onImageProportionChange(imageProportion) {\r\n\t\tconsole.log(imageProportion);\r\n\t\tsetAttributes({ imageProportion });\r\n\t}\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t\t{imageUrl && {imageAlt}}\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t{imageUrl && (\r\n\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tSi besoin, Utilisez le champ \"Légende\"de la médiathèque pour afficher un\r\n\t\t\t\t\tcopyright\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\tSi besoin, Utilisez le champ \"Description\" de la médiathèque pour donner\r\n\t\t\t\t\tafficher une description de votre image\r\n\t\t\t\t\r\n\t\t\t\t{imageUrl && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t\r\n\t);\r\n}\r\n","import { __ } from \"@wordpress/i18n\";\nimport \"./editor.scss\";\nimport ImageMediaPlaceholder from \"../../_components/ImageMediaPlaceholder\";\nimport Image from \"../../_components/Image\";\nimport ImagePanelBody from \"../../_components/ImagePanelBody\";\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tInnerBlocks,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n} from \"@wordpress/block-editor\";\nimport { PanelBody, Button } from \"@wordpress/components\";\nimport { trash } from \"@wordpress/icons\";\nimport { PanelRow, ToggleControl } from \"@wordpress/components\";\nexport default function Edit({ attributes, setAttributes }) {\n\tlet { iconUrl, iconAlt, iconId, hasShadow } = attributes;\n\tfunction setIconAttributes(icon) {\n\t\tsetAttributes({\n\t\t\ticonId: icon.id,\n\t\t\ticonAlt: icon.alt,\n\t\t\ticonUrl: icon.url,\n\t\t});\n\t}\n\n\tfunction removeIconAttributes() {\n\t\tsetAttributes({\n\t\t\ticonId: null,\n\t\t\ticonAlt: null,\n\t\t\ticonUrl: null,\n\t\t});\n\t}\n\n\tfunction onHasShadowChange() {\n\t\tsetAttributes({ hasShadow: !hasShadow });\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t{iconUrl && (\n\t\t\t\t\t\t{iconAlt}\n\t\t\t\t\t)}\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t{iconUrl && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t)}\n\t\t\t\t\t
\n\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t
\n\t\t\t{!iconUrl && (\n\t\t\t\t\n\t\t\t)}\n\t\t\t\n\t\t\t\t{iconUrl && {iconAlt}}\n\t\t\t\n\t\t\n\t);\n}\n","import { registerBlockType } from \"@wordpress/blocks\";\nimport \"./style.scss\";\n\nimport Edit from \"./edit\";\nimport save from \"./save\";\nimport metadata from \"./block.json\";\n\nregisterBlockType(metadata.name, {\n\ticon: {\n\t\tsrc: (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t),\n\t\tforeground: \"#f03\",\n\t},\n\n\tedit: Edit,\n\tsave,\n});\n","import { useBlockProps } from \"@wordpress/block-editor\";\n\nexport default function save({ attributes }) {\n\tlet { iconUrl, iconAlt, hasShadow } = attributes;\n\n\treturn (\n\t\t\n\t\t\t{iconUrl && {iconAlt}}\n\t\t\n\t);\n}\n","// extracted by mini-css-extract-plugin\nexport {};","// extracted by mini-css-extract-plugin\nexport {};","import { createElement } from \"@wordpress/element\";\n\n/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\nconst trash = createElement(SVG, {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\"\n}, createElement(Path, {\n d: \"M20 5h-5.7c0-1.3-1-2.3-2.3-2.3S9.7 3.7 9.7 5H4v2h1.5v.3l1.7 11.1c.1 1 1 1.7 2 1.7h5.7c1 0 1.8-.7 2-1.7l1.7-11.1V7H20V5zm-3.2 2l-1.7 11.1c0 .1-.1.2-.3.2H9.1c-.1 0-.3-.1-.3-.2L7.2 7h9.6z\"\n}));\nexport default trash;\n//# sourceMappingURL=trash.js.map","module.exports = window[\"wp\"][\"blockEditor\"];","module.exports = window[\"wp\"][\"blocks\"];","module.exports = window[\"wp\"][\"components\"];","module.exports = window[\"wp\"][\"element\"];","module.exports = window[\"wp\"][\"i18n\"];","module.exports = window[\"wp\"][\"primitives\"];","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"index\": 0,\n\t\"./style-index\": 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkmultiblocks\"] = self[\"webpackChunkmultiblocks\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"./style-index\"], () => (__webpack_require__(\"./src/index.js\")))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n",""],"names":["Image","imageUrl","imageAlt","imageProportion","createElement","src","alt","className","MediaReplaceFlow","MediaPlaceholder","ImageMediaPlaceholder","imageId","setAttributes","setImageAttributes","image","id","url","removeImageAttributes","Fragment","accept","allowedTypes","onSelect","multiple","handleUpload","__","PanelBody","Button","Tip","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","trash","ImagePanelBody","onImageProportionChange","console","log","title","mediaId","mediaUrl","name","variant","icon","label","onClick","isBlock","onChange","value","InspectorControls","useBlockProps","InnerBlocks","PanelRow","ToggleControl","Edit","attributes","iconUrl","iconAlt","iconId","hasShadow","setIconAttributes","removeIconAttributes","onHasShadowChange","checked","registerBlockType","save","metadata","xmlns","viewBox","class","d","foreground","edit"],"sourceRoot":""} \ No newline at end of file diff --git a/blocks/icon/build/style-index.css b/blocks/icon/build/style-index.css index d3562f8..2488c9e 100644 --- a/blocks/icon/build/style-index.css +++ b/blocks/icon/build/style-index.css @@ -1,16 +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/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-multiblocks { - background-color: #21759b; - color: #fff; - padding: 2px; -} -/*# sourceMappingURL=style-index.css.map*/ \ No newline at end of file diff --git a/blocks/icon/build/style-index.css.map b/blocks/icon/build/style-index.css.map deleted file mode 100644 index 2872df5..0000000 --- a/blocks/icon/build/style-index.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"./style-index.css","mappings":";;;AAAA;;;;;EAAA;AAOA;EACC;EACA;EACA;AAAD,C","sources":["webpack://multiblocks/./src/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-multiblocks {\n\tbackground-color: #21759b;\n\tcolor: #fff;\n\tpadding: 2px;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/blocks/icon/src/block.json b/blocks/icon/src/block.json index 096ca77..4aa2431 100644 --- a/blocks/icon/src/block.json +++ b/blocks/icon/src/block.json @@ -26,6 +26,10 @@ }, "iconId": { "type": "number" + }, + "hasShadow": { + "type": "boolean", + "default": false } } } \ No newline at end of file diff --git a/blocks/icon/src/edit.js b/blocks/icon/src/edit.js index 870321a..6467a85 100644 --- a/blocks/icon/src/edit.js +++ b/blocks/icon/src/edit.js @@ -12,9 +12,9 @@ import { } from "@wordpress/block-editor"; import { PanelBody, Button } from "@wordpress/components"; import { trash } from "@wordpress/icons"; - +import { PanelRow, ToggleControl } from "@wordpress/components"; export default function Edit({ attributes, setAttributes }) { - let { iconUrl, iconAlt, iconId } = attributes; + let { iconUrl, iconAlt, iconId, hasShadow } = attributes; function setIconAttributes(icon) { setAttributes({ iconId: icon.id, @@ -31,16 +31,23 @@ export default function Edit({ attributes, setAttributes }) { }); } + function onHasShadowChange() { + setAttributes({ hasShadow: !hasShadow }); + } + return ( <> - {iconUrl && {iconAlt}} + {iconUrl && ( + {iconAlt} + )}
)}
+ + + +
{!iconUrl && ( @@ -77,7 +92,11 @@ export default function Edit({ attributes, setAttributes }) { )}
{iconUrl && {iconAlt}} diff --git a/blocks/icon/src/editor.scss b/blocks/icon/src/editor.scss index 0ba9f21..c599200 100644 --- a/blocks/icon/src/editor.scss +++ b/blocks/icon/src/editor.scss @@ -1,9 +1,6 @@ -/** - * The following styles get applied inside the editor only. - * - * Replace them with your own styles or remove the file completely. - */ - -.wp-block-create-block-multiblocks { - border: 1px dotted #f00; +.homegrade-blocks-components-icon__panel-body { + .icon-preview { + max-width: 80px; + padding: 20px 0; + } } diff --git a/blocks/icon/src/save.js b/blocks/icon/src/save.js index bd41efa..74dd593 100644 --- a/blocks/icon/src/save.js +++ b/blocks/icon/src/save.js @@ -1,12 +1,16 @@ import { useBlockProps } from "@wordpress/block-editor"; export default function save({ attributes }) { - let { iconUrl, iconAlt, iconId } = attributes; + let { iconUrl, iconAlt, hasShadow } = attributes; return (
{iconUrl && {iconAlt}} diff --git a/blocks/icon/src/style.scss b/blocks/icon/src/style.scss index 7971c73..e69de29 100644 --- a/blocks/icon/src/style.scss +++ b/blocks/icon/src/style.scss @@ -1,12 +0,0 @@ -/** - * 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-multiblocks { - background-color: #21759b; - color: #fff; - padding: 2px; -}