@wordpress/block-library 8.10.0 → 8.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/block/edit.native.js +17 -10
- package/build/block/edit.native.js.map +1 -1
- package/build/code/index.js +1 -0
- package/build/code/index.js.map +1 -1
- package/build/column/index.js +1 -1
- package/build/columns/transforms.js +1 -5
- package/build/columns/transforms.js.map +1 -1
- package/build/cover/edit/resizable-cover-popover.js +3 -3
- package/build/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build/file/interactivity.js +19 -0
- package/build/file/interactivity.js.map +1 -0
- package/build/file/{utils.js → utils/index.js} +1 -1
- package/build/file/utils/index.js.map +1 -0
- package/build/freeform/modal.js +20 -17
- package/build/freeform/modal.js.map +1 -1
- package/build/gallery/v1/edit.js +1 -7
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery-image.native.js +1 -3
- package/build/gallery/v1/gallery-image.native.js.map +1 -1
- package/build/group/transforms.js +0 -5
- package/build/group/transforms.js.map +1 -1
- package/build/image/deprecated.js +2 -4
- package/build/image/deprecated.js.map +1 -1
- package/build/image/edit.js +13 -11
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +7 -12
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +3 -0
- package/build/image/index.js.map +1 -1
- package/build/image/interactivity.js +102 -0
- package/build/image/interactivity.js.map +1 -0
- package/build/image/save.js +2 -4
- package/build/image/save.js.map +1 -1
- package/build/image/utils.js +10 -18
- package/build/image/utils.js.map +1 -1
- package/build/latest-posts/edit.native.js +1 -3
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/list/edit.js +1 -1
- package/build/list/edit.js.map +1 -1
- package/build/list-item/edit.native.js +1 -1
- package/build/list-item/edit.native.js.map +1 -1
- package/build/list-item/transforms.js +4 -1
- package/build/list-item/transforms.js.map +1 -1
- package/build/media-text/deprecated.js +4 -6
- package/build/media-text/deprecated.js.map +1 -1
- package/build/media-text/edit.js +13 -11
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/media-container.js +3 -3
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/save.js +1 -3
- package/build/media-text/save.js.map +1 -1
- package/build/navigation/constants.js +3 -1
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +1 -0
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/leaf-more-menu.js +148 -0
- package/build/navigation/edit/leaf-more-menu.js.map +1 -0
- package/build/navigation/edit/menu-inspector-controls.js +53 -8
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +6 -6
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +8 -19
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/interactivity.js +24 -6
- package/build/navigation/interactivity.js.map +1 -1
- package/build/navigation-link/edit.js +6 -4
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/update-attributes.js +5 -5
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/edit.js +6 -4
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/pattern/edit.js +42 -8
- package/build/pattern/edit.js.map +1 -1
- package/build/pattern/index.js +12 -5
- package/build/pattern/index.js.map +1 -1
- package/build/pattern/v1/edit.js +57 -0
- package/build/pattern/v1/edit.js.map +1 -0
- package/build/post-title/edit.js +10 -3
- package/build/post-title/edit.js.map +1 -1
- package/build/quote/transforms.js +9 -12
- package/build/quote/transforms.js.map +1 -1
- package/build/social-link/edit.js +21 -4
- package/build/social-link/edit.js.map +1 -1
- package/build/template-part/edit/index.js +1 -7
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +2 -2
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/utils/interactivity/directives.js +50 -22
- package/build/utils/interactivity/directives.js.map +1 -1
- package/build/utils/interactivity/hooks.js +76 -12
- package/build/utils/interactivity/hooks.js.map +1 -1
- package/build/utils/interactivity/portals.js +108 -0
- package/build/utils/interactivity/portals.js.map +1 -0
- package/build-module/block/edit.native.js +7 -1
- package/build-module/block/edit.native.js.map +1 -1
- package/build-module/code/index.js +1 -0
- package/build-module/code/index.js.map +1 -1
- package/build-module/column/index.js +1 -1
- package/build-module/columns/transforms.js +1 -5
- package/build-module/columns/transforms.js.map +1 -1
- package/build-module/cover/edit/resizable-cover-popover.js +3 -3
- package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build-module/file/interactivity.js +15 -0
- package/build-module/file/interactivity.js.map +1 -0
- package/build-module/file/{utils.js → utils/index.js} +1 -1
- package/build-module/file/utils/index.js.map +1 -0
- package/build-module/freeform/modal.js +19 -18
- package/build-module/freeform/modal.js.map +1 -1
- package/build-module/gallery/v1/edit.js +1 -6
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery-image.native.js +1 -2
- package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
- package/build-module/group/transforms.js +0 -5
- package/build-module/group/transforms.js.map +1 -1
- package/build-module/image/deprecated.js +2 -3
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/edit.js +12 -11
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +7 -11
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +3 -0
- package/build-module/image/index.js.map +1 -1
- package/build-module/image/interactivity.js +99 -0
- package/build-module/image/interactivity.js.map +1 -0
- package/build-module/image/save.js +2 -3
- package/build-module/image/save.js.map +1 -1
- package/build-module/image/utils.js +10 -17
- package/build-module/image/utils.js.map +1 -1
- package/build-module/latest-posts/edit.native.js +1 -2
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/list/edit.js +1 -1
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list-item/edit.native.js +1 -1
- package/build-module/list-item/edit.native.js.map +1 -1
- package/build-module/list-item/transforms.js +5 -2
- package/build-module/list-item/transforms.js.map +1 -1
- package/build-module/media-text/deprecated.js +4 -5
- package/build-module/media-text/deprecated.js.map +1 -1
- package/build-module/media-text/edit.js +13 -12
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/media-container.js +3 -3
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/save.js +1 -2
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/navigation/constants.js +1 -0
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +2 -1
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/leaf-more-menu.js +132 -0
- package/build-module/navigation/edit/leaf-more-menu.js.map +1 -0
- package/build-module/navigation/edit/menu-inspector-controls.js +52 -9
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +7 -7
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +8 -16
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/interactivity.js +24 -6
- package/build-module/navigation/interactivity.js.map +1 -1
- package/build-module/navigation-link/edit.js +6 -4
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +4 -4
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +6 -4
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/pattern/edit.js +42 -9
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/pattern/index.js +12 -3
- package/build-module/pattern/index.js.map +1 -1
- package/build-module/pattern/v1/edit.js +48 -0
- package/build-module/pattern/v1/edit.js.map +1 -0
- package/build-module/post-title/edit.js +10 -3
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/quote/transforms.js +9 -12
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/social-link/edit.js +20 -5
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/template-part/edit/index.js +1 -6
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +1 -1
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/utils/interactivity/directives.js +49 -22
- package/build-module/utils/interactivity/directives.js.map +1 -1
- package/build-module/utils/interactivity/hooks.js +77 -13
- package/build-module/utils/interactivity/hooks.js.map +1 -1
- package/build-module/utils/interactivity/portals.js +100 -0
- package/build-module/utils/interactivity/portals.js.map +1 -0
- package/build-style/common-rtl.css +1 -1
- package/build-style/common.css +1 -1
- package/build-style/cover/style-rtl.css +1 -2
- package/build-style/cover/style.css +1 -2
- package/build-style/editor-rtl.css +68 -0
- package/build-style/editor.css +68 -0
- package/build-style/file/editor-rtl.css +3 -0
- package/build-style/file/editor.css +3 -0
- package/build-style/freeform/editor-rtl.css +29 -0
- package/build-style/freeform/editor.css +29 -0
- package/build-style/gallery/style-rtl.css +2 -4
- package/build-style/gallery/style.css +2 -4
- package/build-style/image/style-rtl.css +98 -0
- package/build-style/image/style.css +98 -0
- package/build-style/navigation/editor-rtl.css +36 -0
- package/build-style/navigation/editor.css +36 -0
- package/build-style/post-comments-form/style-rtl.css +1 -1
- package/build-style/post-comments-form/style.css +1 -1
- package/build-style/style-rtl.css +103 -9
- package/build-style/style.css +103 -9
- package/build-style/video/style-rtl.css +1 -2
- package/build-style/video/style.css +1 -2
- package/package.json +32 -32
- package/src/block/edit.native.js +18 -4
- package/src/buttons/test/edit.native.js +0 -9
- package/src/code/block.json +1 -0
- package/src/column/block.json +1 -1
- package/src/columns/test/__snapshots__/transforms.native.js.snap +1 -1
- package/src/columns/test/transforms.native.js +3 -5
- package/src/columns/transforms.js +2 -8
- package/src/comments/index.php +1 -6
- package/src/cover/edit/resizable-cover-popover.js +2 -1
- package/src/file/editor.scss +4 -0
- package/src/file/interactivity.js +15 -0
- package/src/freeform/editor.scss +45 -0
- package/src/freeform/modal.js +22 -19
- package/src/gallery/v1/edit.js +1 -6
- package/src/gallery/v1/gallery-image.native.js +1 -2
- package/src/group/test/__snapshots__/transforms.native.js.snap +1 -1
- package/src/group/test/transforms.native.js +3 -5
- package/src/group/transforms.js +0 -7
- package/src/image/block.json +3 -0
- package/src/image/deprecated.js +2 -3
- package/src/image/edit.js +18 -18
- package/src/image/image.js +8 -11
- package/src/image/index.php +75 -2
- package/src/image/interactivity.js +113 -0
- package/src/image/save.js +4 -3
- package/src/image/style.scss +113 -0
- package/src/image/utils.js +11 -18
- package/src/latest-posts/edit.native.js +1 -4
- package/src/list/edit.js +1 -1
- package/src/list/test/edit.native.js +80 -1
- package/src/list-item/edit.native.js +1 -1
- package/src/list-item/transforms.js +4 -2
- package/src/media-text/deprecated.js +4 -5
- package/src/media-text/edit.js +12 -10
- package/src/media-text/media-container.js +3 -3
- package/src/media-text/save.js +1 -2
- package/src/navigation/constants.js +5 -0
- package/src/navigation/edit/inner-blocks.js +6 -1
- package/src/navigation/edit/leaf-more-menu.js +170 -0
- package/src/navigation/edit/menu-inspector-controls.js +78 -10
- package/src/navigation/edit/navigation-menu-delete-control.js +29 -29
- package/src/navigation/edit/unsaved-inner-blocks.js +11 -24
- package/src/navigation/editor.scss +10 -0
- package/src/navigation/index.php +4 -1
- package/src/navigation/interactivity.js +9 -2
- package/src/navigation-link/edit.js +8 -2
- package/src/navigation-link/update-attributes.js +2 -2
- package/src/navigation-submenu/edit.js +8 -2
- package/src/pattern/block.json +4 -0
- package/src/pattern/edit.js +53 -16
- package/src/pattern/index.js +5 -4
- package/src/pattern/index.php +14 -1
- package/src/pattern/v1/edit.js +57 -0
- package/src/post-comments-form/style.scss +3 -1
- package/src/post-title/edit.js +50 -44
- package/src/quote/test/__snapshots__/transforms.native.js.snap +1 -1
- package/src/quote/test/transforms.native.js +3 -5
- package/src/quote/transforms.js +9 -13
- package/src/social-link/edit.js +51 -26
- package/src/template-part/edit/index.js +4 -6
- package/src/template-part/edit/utils/hooks.js +1 -1
- package/src/template-part/index.php +2 -2
- package/src/utils/interactivity/directives.js +27 -6
- package/src/utils/interactivity/hooks.js +83 -14
- package/src/utils/interactivity/portals.js +98 -0
- package/build/file/utils.js.map +0 -1
- package/build-module/file/utils.js.map +0 -1
- /package/src/file/{utils.js → utils/index.js} +0 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createPortal = createPortal;
|
|
7
|
+
|
|
8
|
+
var _preact = require("preact");
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* External dependencies
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* @param {import('../../src/index').RenderableProps<{ context: any }>} props
|
|
16
|
+
*/
|
|
17
|
+
function ContextProvider(props) {
|
|
18
|
+
this.getChildContext = () => props.context;
|
|
19
|
+
|
|
20
|
+
return props.children;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Portal component
|
|
24
|
+
*
|
|
25
|
+
* @this {import('./internal').Component}
|
|
26
|
+
* @param {object | null | undefined} props
|
|
27
|
+
*
|
|
28
|
+
* TODO: use createRoot() instead of fake root
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
function Portal(props) {
|
|
33
|
+
const _this = this;
|
|
34
|
+
|
|
35
|
+
const container = props._container;
|
|
36
|
+
|
|
37
|
+
_this.componentWillUnmount = function () {
|
|
38
|
+
(0, _preact.render)(null, _this._temp);
|
|
39
|
+
_this._temp = null;
|
|
40
|
+
_this._container = null;
|
|
41
|
+
}; // When we change container we should clear our old container and
|
|
42
|
+
// indicate a new mount.
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
if (_this._container && _this._container !== container) {
|
|
46
|
+
_this.componentWillUnmount();
|
|
47
|
+
} // When props.vnode is undefined/false/null we are dealing with some kind of
|
|
48
|
+
// conditional vnode. This should not trigger a render.
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
if (props._vnode) {
|
|
52
|
+
if (!_this._temp) {
|
|
53
|
+
_this._container = container; // Create a fake DOM parent node that manages a subset of `container`'s children:
|
|
54
|
+
|
|
55
|
+
_this._temp = {
|
|
56
|
+
nodeType: 1,
|
|
57
|
+
parentNode: container,
|
|
58
|
+
childNodes: [],
|
|
59
|
+
|
|
60
|
+
appendChild(child) {
|
|
61
|
+
this.childNodes.push(child);
|
|
62
|
+
|
|
63
|
+
_this._container.appendChild(child);
|
|
64
|
+
},
|
|
65
|
+
|
|
66
|
+
insertBefore(child) {
|
|
67
|
+
this.childNodes.push(child);
|
|
68
|
+
|
|
69
|
+
_this._container.appendChild(child);
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
removeChild(child) {
|
|
73
|
+
this.childNodes.splice( // eslint-disable-next-line no-bitwise
|
|
74
|
+
this.childNodes.indexOf(child) >>> 1, 1);
|
|
75
|
+
|
|
76
|
+
_this._container.removeChild(child);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
};
|
|
80
|
+
} // Render our wrapping element into temp.
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
(0, _preact.render)((0, _preact.createElement)(ContextProvider, {
|
|
84
|
+
context: _this.context
|
|
85
|
+
}, props._vnode), _this._temp);
|
|
86
|
+
} // When we come from a conditional render, on a mounted
|
|
87
|
+
// portal we should clear the DOM.
|
|
88
|
+
else if (_this._temp) {
|
|
89
|
+
_this.componentWillUnmount();
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Create a `Portal` to continue rendering the vnode tree at a different DOM node
|
|
94
|
+
*
|
|
95
|
+
* @param {import('./internal').VNode} vnode The vnode to render
|
|
96
|
+
* @param {import('./internal').PreactElement} container The DOM node to continue rendering in to.
|
|
97
|
+
*/
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
function createPortal(vnode, container) {
|
|
101
|
+
const el = (0, _preact.createElement)(Portal, {
|
|
102
|
+
_vnode: vnode,
|
|
103
|
+
_container: container
|
|
104
|
+
});
|
|
105
|
+
el.containerInfo = container;
|
|
106
|
+
return el;
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=portals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/utils/interactivity/portals.js"],"names":["ContextProvider","props","getChildContext","context","children","Portal","_this","container","_container","componentWillUnmount","_temp","_vnode","nodeType","parentNode","childNodes","appendChild","child","push","insertBefore","removeChild","splice","indexOf","createPortal","vnode","el","containerInfo"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA,SAASA,eAAT,CAA0BC,KAA1B,EAAkC;AACjC,OAAKC,eAAL,GAAuB,MAAMD,KAAK,CAACE,OAAnC;;AACA,SAAOF,KAAK,CAACG,QAAb;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASC,MAAT,CAAiBJ,KAAjB,EAAyB;AACxB,QAAMK,KAAK,GAAG,IAAd;;AACA,QAAMC,SAAS,GAAGN,KAAK,CAACO,UAAxB;;AAEAF,EAAAA,KAAK,CAACG,oBAAN,GAA6B,YAAY;AACxC,wBAAQ,IAAR,EAAcH,KAAK,CAACI,KAApB;AACAJ,IAAAA,KAAK,CAACI,KAAN,GAAc,IAAd;AACAJ,IAAAA,KAAK,CAACE,UAAN,GAAmB,IAAnB;AACA,GAJD,CAJwB,CAUxB;AACA;;;AACA,MAAKF,KAAK,CAACE,UAAN,IAAoBF,KAAK,CAACE,UAAN,KAAqBD,SAA9C,EAA0D;AACzDD,IAAAA,KAAK,CAACG,oBAAN;AACA,GAduB,CAgBxB;AACA;;;AACA,MAAKR,KAAK,CAACU,MAAX,EAAoB;AACnB,QAAK,CAAEL,KAAK,CAACI,KAAb,EAAqB;AACpBJ,MAAAA,KAAK,CAACE,UAAN,GAAmBD,SAAnB,CADoB,CAGpB;;AACAD,MAAAA,KAAK,CAACI,KAAN,GAAc;AACbE,QAAAA,QAAQ,EAAE,CADG;AAEbC,QAAAA,UAAU,EAAEN,SAFC;AAGbO,QAAAA,UAAU,EAAE,EAHC;;AAIbC,QAAAA,WAAW,CAAEC,KAAF,EAAU;AACpB,eAAKF,UAAL,CAAgBG,IAAhB,CAAsBD,KAAtB;;AACAV,UAAAA,KAAK,CAACE,UAAN,CAAiBO,WAAjB,CAA8BC,KAA9B;AACA,SAPY;;AAQbE,QAAAA,YAAY,CAAEF,KAAF,EAAU;AACrB,eAAKF,UAAL,CAAgBG,IAAhB,CAAsBD,KAAtB;;AACAV,UAAAA,KAAK,CAACE,UAAN,CAAiBO,WAAjB,CAA8BC,KAA9B;AACA,SAXY;;AAYbG,QAAAA,WAAW,CAAEH,KAAF,EAAU;AACpB,eAAKF,UAAL,CAAgBM,MAAhB,EACC;AACA,eAAKN,UAAL,CAAgBO,OAAhB,CAAyBL,KAAzB,MAAqC,CAFtC,EAGC,CAHD;;AAKAV,UAAAA,KAAK,CAACE,UAAN,CAAiBW,WAAjB,CAA8BH,KAA9B;AACA;;AAnBY,OAAd;AAqBA,KA1BkB,CA4BnB;;;AACA,wBACC,2BACChB,eADD,EAEC;AAAEG,MAAAA,OAAO,EAAEG,KAAK,CAACH;AAAjB,KAFD,EAGCF,KAAK,CAACU,MAHP,CADD,EAMCL,KAAK,CAACI,KANP;AAQA,GArCD,CAsCA;AACA;AAvCA,OAwCK,IAAKJ,KAAK,CAACI,KAAX,EAAmB;AACvBJ,IAAAA,KAAK,CAACG,oBAAN;AACA;AACD;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASa,YAAT,CAAuBC,KAAvB,EAA8BhB,SAA9B,EAA0C;AAChD,QAAMiB,EAAE,GAAG,2BAAenB,MAAf,EAAuB;AACjCM,IAAAA,MAAM,EAAEY,KADyB;AAEjCf,IAAAA,UAAU,EAAED;AAFqB,GAAvB,CAAX;AAIAiB,EAAAA,EAAE,CAACC,aAAH,GAAmBlB,SAAnB;AACA,SAAOiB,EAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { createElement, render } from 'preact';\n\n/**\n * @param {import('../../src/index').RenderableProps<{ context: any }>} props\n */\nfunction ContextProvider( props ) {\n\tthis.getChildContext = () => props.context;\n\treturn props.children;\n}\n\n/**\n * Portal component\n *\n * @this {import('./internal').Component}\n * @param {object | null | undefined} props\n *\n * TODO: use createRoot() instead of fake root\n */\nfunction Portal( props ) {\n\tconst _this = this;\n\tconst container = props._container;\n\n\t_this.componentWillUnmount = function () {\n\t\trender( null, _this._temp );\n\t\t_this._temp = null;\n\t\t_this._container = null;\n\t};\n\n\t// When we change container we should clear our old container and\n\t// indicate a new mount.\n\tif ( _this._container && _this._container !== container ) {\n\t\t_this.componentWillUnmount();\n\t}\n\n\t// When props.vnode is undefined/false/null we are dealing with some kind of\n\t// conditional vnode. This should not trigger a render.\n\tif ( props._vnode ) {\n\t\tif ( ! _this._temp ) {\n\t\t\t_this._container = container;\n\n\t\t\t// Create a fake DOM parent node that manages a subset of `container`'s children:\n\t\t\t_this._temp = {\n\t\t\t\tnodeType: 1,\n\t\t\t\tparentNode: container,\n\t\t\t\tchildNodes: [],\n\t\t\t\tappendChild( child ) {\n\t\t\t\t\tthis.childNodes.push( child );\n\t\t\t\t\t_this._container.appendChild( child );\n\t\t\t\t},\n\t\t\t\tinsertBefore( child ) {\n\t\t\t\t\tthis.childNodes.push( child );\n\t\t\t\t\t_this._container.appendChild( child );\n\t\t\t\t},\n\t\t\t\tremoveChild( child ) {\n\t\t\t\t\tthis.childNodes.splice(\n\t\t\t\t\t\t// eslint-disable-next-line no-bitwise\n\t\t\t\t\t\tthis.childNodes.indexOf( child ) >>> 1,\n\t\t\t\t\t\t1\n\t\t\t\t\t);\n\t\t\t\t\t_this._container.removeChild( child );\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\t// Render our wrapping element into temp.\n\t\trender(\n\t\t\tcreateElement(\n\t\t\t\tContextProvider,\n\t\t\t\t{ context: _this.context },\n\t\t\t\tprops._vnode\n\t\t\t),\n\t\t\t_this._temp\n\t\t);\n\t}\n\t// When we come from a conditional render, on a mounted\n\t// portal we should clear the DOM.\n\telse if ( _this._temp ) {\n\t\t_this.componentWillUnmount();\n\t}\n}\n\n/**\n * Create a `Portal` to continue rendering the vnode tree at a different DOM node\n *\n * @param {import('./internal').VNode} vnode The vnode to render\n * @param {import('./internal').PreactElement} container The DOM node to continue rendering in to.\n */\nexport function createPortal( vnode, container ) {\n\tconst el = createElement( Portal, {\n\t\t_vnode: vnode,\n\t\t_container: container,\n\t} );\n\tel.containerInfo = container;\n\treturn el;\n}\n"]}
|
|
@@ -17,6 +17,7 @@ import { __experimentalRecursionProvider as RecursionProvider, __experimentalUse
|
|
|
17
17
|
import { usePreferredColorSchemeStyle } from '@wordpress/compose';
|
|
18
18
|
import { help } from '@wordpress/icons';
|
|
19
19
|
import { store as reusableBlocksStore } from '@wordpress/reusable-blocks';
|
|
20
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
20
21
|
import { store as noticesStore } from '@wordpress/notices';
|
|
21
22
|
/**
|
|
22
23
|
* Internal dependencies
|
|
@@ -58,6 +59,7 @@ export default function ReusableBlockEdit(_ref) {
|
|
|
58
59
|
innerBlockCount: getBlockCount(clientId)
|
|
59
60
|
};
|
|
60
61
|
}, [ref, clientId]);
|
|
62
|
+
const hostAppNamespace = useSelect(select => select(editorStore).getEditorSettings().hostAppNamespace, []);
|
|
61
63
|
const {
|
|
62
64
|
createSuccessNotice
|
|
63
65
|
} = useDispatch(noticesStore);
|
|
@@ -94,7 +96,11 @@ export default function ReusableBlockEdit(_ref) {
|
|
|
94
96
|
}, [title, clientId]);
|
|
95
97
|
|
|
96
98
|
function renderSheet() {
|
|
97
|
-
const infoTitle = Platform.OS === 'android' ?
|
|
99
|
+
const infoTitle = Platform.OS === 'android' ? sprintf(
|
|
100
|
+
/* translators: %s: name of the host app (e.g. WordPress) */
|
|
101
|
+
__('Editing reusable blocks is not yet supported on %s for Android'), hostAppNamespace) : sprintf(
|
|
102
|
+
/* translators: %s: name of the host app (e.g. WordPress) */
|
|
103
|
+
__('Editing reusable blocks is not yet supported on %s for iOS'), hostAppNamespace);
|
|
98
104
|
return createElement(BottomSheet, {
|
|
99
105
|
isVisible: showHelp,
|
|
100
106
|
hideHeader: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/block/edit.native.js"],"names":["ActivityIndicator","Platform","Text","TouchableWithoutFeedback","View","useState","useCallback","useEntityBlockEditor","useEntityProp","store","coreStore","BottomSheet","Icon","Disabled","TextControl","useSelect","useDispatch","__","sprintf","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","InnerBlocks","Warning","blockEditorStore","usePreferredColorSchemeStyle","help","reusableBlocksStore","noticesStore","styles","EditTitle","ReusableBlockEdit","attributes","ref","clientId","isSelected","hasAlreadyRendered","showHelp","setShowHelp","infoTextStyle","infoText","infoTextDark","infoTitleStyle","infoTitle","infoTitleDark","infoSheetIconStyle","infoSheetIcon","infoSheetIconDark","infoDescriptionStyle","infoDescription","infoDescriptionDark","actionButtonStyle","actionButton","actionButtonDark","spinnerStyle","spinner","spinnerDark","hasResolved","isEditing","isMissing","innerBlockCount","select","persistedBlock","getEntityRecord","hasResolvedBlock","hasFinishedResolution","getBlockCount","__experimentalIsEditingReusableBlock","createSuccessNotice","__experimentalConvertBlockToStatic","convertBlockToStatic","clearSelectedBlock","blocks","onInput","onChange","id","title","openSheet","closeSheet","onConvertToRegularBlocks","successNotice","setImmediate","renderSheet","OS","infoContainer","color","size","element"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,iBADD,EAECC,QAFD,EAGCC,IAHD,EAICC,wBAJD,EAKCC,IALD,QAMO,cANP;AAQA;AACA;AACA;;AACA,SAASC,QAAT,EAAmBC,WAAnB,QAAsC,oBAAtC;AACA,SACCC,oBADD,EAECC,aAFD,EAGCC,KAAK,IAAIC,SAHV,QAIO,sBAJP;AAKA,SACCC,WADD,EAECC,IAFD,EAGCC,QAHD,EAICC,WAJD,QAKO,uBALP;AAMA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SACCC,+BAA+B,IAAIC,iBADpC,EAECC,6BAA6B,IAAIC,eAFlC,EAGCC,WAHD,EAICC,OAJD,EAKCf,KAAK,IAAIgB,gBALV,QAMO,yBANP;AAOA,SAASC,4BAAT,QAA6C,oBAA7C;AACA,SAASC,IAAT,QAAqB,kBAArB;AACA,SAASlB,KAAK,IAAImB,mBAAlB,QAA6C,4BAA7C;AACA,SAASnB,KAAK,IAAIoB,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,OAAOC,MAAP,MAAmB,eAAnB;AACA,OAAOC,SAAP,MAAsB,cAAtB;AAEA,eAAe,SAASC,iBAAT,OAIX;AAAA,MAJuC;AAC1CC,IAAAA,UAAU,EAAE;AAAEC,MAAAA;AAAF,KAD8B;AAE1CC,IAAAA,QAF0C;AAG1CC,IAAAA;AAH0C,GAIvC;AACH,QAAMC,kBAAkB,GAAGf,eAAe,CAAEY,GAAF,CAA1C;AAEA,QAAM,CAAEI,QAAF,EAAYC,WAAZ,IAA4BlC,QAAQ,CAAE,KAAF,CAA1C;AACA,QAAMmC,aAAa,GAAGd,4BAA4B,CACjDI,MAAM,CAACW,QAD0C,EAEjDX,MAAM,CAACY,YAF0C,CAAlD;AAIA,QAAMC,cAAc,GAAGjB,4BAA4B,CAClDI,MAAM,CAACc,SAD2C,EAElDd,MAAM,CAACe,aAF2C,CAAnD;AAIA,QAAMC,kBAAkB,GAAGpB,4BAA4B,CACtDI,MAAM,CAACiB,aAD+C,EAEtDjB,MAAM,CAACkB,iBAF+C,CAAvD;AAIA,QAAMC,oBAAoB,GAAGvB,4BAA4B,CACxDI,MAAM,CAACoB,eADiD,EAExDpB,MAAM,CAACqB,mBAFiD,CAAzD;AAIA,QAAMC,iBAAiB,GAAG1B,4BAA4B,CACrDI,MAAM,CAACuB,YAD8C,EAErDvB,MAAM,CAACwB,gBAF8C,CAAtD;AAIA,QAAMC,YAAY,GAAG7B,4BAA4B,CAChDI,MAAM,CAAC0B,OADyC,EAEhD1B,MAAM,CAAC2B,WAFyC,CAAjD;AAKA,QAAM;AAAEC,IAAAA,WAAF;AAAeC,IAAAA,SAAf;AAA0BC,IAAAA,SAA1B;AAAqCC,IAAAA;AAArC,MAAyD9C,SAAS,CACrE+C,MAAF,IAAc;AACb,UAAMC,cAAc,GAAGD,MAAM,CAAEpD,SAAF,CAAN,CAAoBsD,eAApB,CACtB,UADsB,EAEtB,UAFsB,EAGtB9B,GAHsB,CAAvB;AAKA,UAAM+B,gBAAgB,GAAGH,MAAM,CAAEpD,SAAF,CAAN,CAAoBwD,qBAApB,CACxB,iBADwB,EAExB,CAAE,UAAF,EAAc,UAAd,EAA0BhC,GAA1B,CAFwB,CAAzB;AAKA,UAAM;AAAEiC,MAAAA;AAAF,QAAoBL,MAAM,CAAErC,gBAAF,CAAhC;AAEA,WAAO;AACNiC,MAAAA,WAAW,EAAEO,gBADP;AAENN,MAAAA,SAAS,EACRG,MAAM,CACLlC,mBADK,CAAN,CAEEwC,oCAFF,CAEwCjC,QAFxC,CAHK;AAMNyB,MAAAA,SAAS,EAAEK,gBAAgB,IAAI,CAAEF,cAN3B;AAONF,MAAAA,eAAe,EAAEM,aAAa,CAAEhC,QAAF;AAPxB,KAAP;AASA,GAvBsE,EAwBvE,CAAED,GAAF,EAAOC,QAAP,CAxBuE,CAAxE;AA2BA,QAAM;AAAEkC,IAAAA;AAAF,MAA0BrD,WAAW,CAAEa,YAAF,CAA3C;AACA,QAAM;AAAEyC,IAAAA,kCAAkC,EAAEC;AAAtC,MACLvD,WAAW,CAAEY,mBAAF,CADZ;AAEA,QAAM;AAAE4C,IAAAA;AAAF,MAAyBxD,WAAW,CAAES,gBAAF,CAA1C;AAEA,QAAM,CAAEgD,MAAF,EAAUC,OAAV,EAAmBC,QAAnB,IAAgCpE,oBAAoB,CACzD,UADyD,EAEzD,UAFyD,EAGzD;AAAEqE,IAAAA,EAAE,EAAE1C;AAAN,GAHyD,CAA1D;AAMA,QAAM,CAAE2C,KAAF,IAAYrE,aAAa,CAAE,UAAF,EAAc,UAAd,EAA0B,OAA1B,EAAmC0B,GAAnC,CAA/B;;AAEA,WAAS4C,SAAT,GAAqB;AACpBvC,IAAAA,WAAW,CAAE,IAAF,CAAX;AACA;;AAED,WAASwC,UAAT,GAAsB;AACrBxC,IAAAA,WAAW,CAAE,KAAF,CAAX;AACA;;AAED,QAAMyC,wBAAwB,GAAG1E,WAAW,CAAE,MAAM;AACnD,UAAM2E,aAAa,GAClBpB,eAAe,GAAG,CAAlB;AACG;AACA5C,IAAAA,EAAE,CAAE,gCAAF,CAFL;AAGG;AACAA,IAAAA,EAAE,CAAE,+BAAF,CALN;AAMAoD,IAAAA,mBAAmB,CAAEnD,OAAO,CAAE+D,aAAF,EAAiBJ,KAAjB,CAAT,CAAnB;AAEAL,IAAAA,kBAAkB,GATiC,CAUnD;AACA;;AACAU,IAAAA,YAAY,CAAE,MAAMX,oBAAoB,CAAEpC,QAAF,CAA5B,CAAZ;AACA,GAb2C,EAazC,CAAE0C,KAAF,EAAS1C,QAAT,CAbyC,CAA5C;;AAeA,WAASgD,WAAT,GAAuB;AACtB,UAAMvC,SAAS,GACd3C,QAAQ,CAACmF,EAAT,KAAgB,SAAhB,GACGnE,EAAE,CACF,uEADE,CADL,GAIGA,EAAE,CACF,mEADE,CALN;AASA,WACC,cAAC,WAAD;AACC,MAAA,SAAS,EAAGqB,QADb;AAEC,MAAA,UAAU,MAFX;AAGC,MAAA,OAAO,EAAGyC;AAHX,OAKC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGjD,MAAM,CAACuD;AAArB,OACC,cAAC,IAAD;AACC,MAAA,IAAI,EAAG1D,IADR;AAEC,MAAA,KAAK,EAAGmB,kBAAkB,CAACwC,KAF5B;AAGC,MAAA,IAAI,EAAGxD,MAAM,CAACiB,aAAP,CAAqBwC;AAH7B,MADD,EAMC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAG,CAAE/C,aAAF,EAAiBG,cAAjB;AAAd,OACGC,SADH,CAND,EASC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAG,CAAEJ,aAAF,EAAiBS,oBAAjB;AAAd,OACGY,eAAe,GAAG,CAAlB,GACC5C,EAAE,CACF,wGADE,CADH,GAICA,EAAE,CACF,qGADE,CALN,CATD,EAkBC,cAAC,WAAD;AACC,MAAA,KAAK,EACJ4C,eAAe,GAAG,CAAlB,GACG5C,EAAE,CAAE,2BAAF,CADL,GAEGA,EAAE,CAAE,0BAAF,CAJP;AAMC,MAAA,aAAa,EAAC,cANf;AAOC,MAAA,OAAO,EAAG+D,wBAPX;AAQC,MAAA,UAAU,EAAG5B;AARd,MAlBD,CALD,CADD;AAqCA;;AAED,MAAKf,kBAAL,EAA0B;AACzB,WACC,cAAC,OAAD;AACC,MAAA,OAAO,EAAGpB,EAAE,CAAE,yCAAF;AADb,MADD;AAKA;;AAED,MAAK2C,SAAL,EAAiB;AAChB,WACC,cAAC,OAAD;AACC,MAAA,OAAO,EAAG3C,EAAE,CAAE,2CAAF;AADb,MADD;AAKA;;AAED,MAAK,CAAEyC,WAAP,EAAqB;AACpB,WACC,cAAC,IAAD;AAAM,MAAA,KAAK,EAAGH;AAAd,OACC,cAAC,iBAAD;AAAmB,MAAA,SAAS;AAA5B,MADD,CADD;AAKA;;AAED,MAAIiC,OAAO,GACV,cAAC,WAAD;AACC,IAAA,KAAK,EAAGf,MADT;AAEC,IAAA,QAAQ,EAAGE,QAFZ;AAGC,IAAA,OAAO,EAAGD;AAHX,IADD;;AAQA,MAAK,CAAEf,SAAP,EAAmB;AAClB6B,IAAAA,OAAO,GAAG,cAAC,QAAD,QAAYA,OAAZ,CAAV;AACA;;AAED,SACC,cAAC,iBAAD;AAAmB,IAAA,QAAQ,EAAGtD;AAA9B,KACC,cAAC,wBAAD;AACC,IAAA,QAAQ,EAAG,CAAEE,UADd;AAEC,IAAA,kBAAkB,EAAGnB,EAAE,CAAE,aAAF,CAFxB;AAGC,IAAA,iBAAiB,EAAG,QAHrB;AAIC,IAAA,iBAAiB,EAAGA,EAAE,CAAE,uBAAF,CAJvB;AAKC,IAAA,OAAO,EAAG6D;AALX,KAOC,cAAC,IAAD,QACG1C,UAAU,IAAI,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGyC;AAAnB,IADjB,EAEGW,OAFH,EAGGL,WAAW,EAHd,CAPD,CADD,CADD;AAiBA","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tActivityIndicator,\n\tPlatform,\n\tText,\n\tTouchableWithoutFeedback,\n\tView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useCallback } from '@wordpress/element';\nimport {\n\tuseEntityBlockEditor,\n\tuseEntityProp,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport {\n\tBottomSheet,\n\tIcon,\n\tDisabled,\n\tTextControl,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tInnerBlocks,\n\tWarning,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { help } from '@wordpress/icons';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport EditTitle from './edit-title';\n\nexport default function ReusableBlockEdit( {\n\tattributes: { ref },\n\tclientId,\n\tisSelected,\n} ) {\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\n\tconst [ showHelp, setShowHelp ] = useState( false );\n\tconst infoTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoText,\n\t\tstyles.infoTextDark\n\t);\n\tconst infoTitleStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoTitle,\n\t\tstyles.infoTitleDark\n\t);\n\tconst infoSheetIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoSheetIcon,\n\t\tstyles.infoSheetIconDark\n\t);\n\tconst infoDescriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoDescription,\n\t\tstyles.infoDescriptionDark\n\t);\n\tconst actionButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.actionButton,\n\t\tstyles.actionButtonDark\n\t);\n\tconst spinnerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.spinner,\n\t\tstyles.spinnerDark\n\t);\n\n\tconst { hasResolved, isEditing, isMissing, innerBlockCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst persistedBlock = select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\tref\n\t\t\t);\n\t\t\tconst hasResolvedBlock = select( coreStore ).hasFinishedResolution(\n\t\t\t\t'getEntityRecord',\n\t\t\t\t[ 'postType', 'wp_block', ref ]\n\t\t\t);\n\n\t\t\tconst { getBlockCount } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\thasResolved: hasResolvedBlock,\n\t\t\t\tisEditing:\n\t\t\t\t\tselect(\n\t\t\t\t\t\treusableBlocksStore\n\t\t\t\t\t).__experimentalIsEditingReusableBlock( clientId ),\n\t\t\t\tisMissing: hasResolvedBlock && ! persistedBlock,\n\t\t\t\tinnerBlockCount: getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ ref, clientId ]\n\t);\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_block',\n\t\t{ id: ref }\n\t);\n\n\tconst [ title ] = useEntityProp( 'postType', 'wp_block', 'title', ref );\n\n\tfunction openSheet() {\n\t\tsetShowHelp( true );\n\t}\n\n\tfunction closeSheet() {\n\t\tsetShowHelp( false );\n\t}\n\n\tconst onConvertToRegularBlocks = useCallback( () => {\n\t\tconst successNotice =\n\t\t\tinnerBlockCount > 1\n\t\t\t\t? /* translators: %s: name of the reusable block */\n\t\t\t\t __( '%s converted to regular blocks' )\n\t\t\t\t: /* translators: %s: name of the reusable block */\n\t\t\t\t __( '%s converted to regular block' );\n\t\tcreateSuccessNotice( sprintf( successNotice, title ) );\n\n\t\tclearSelectedBlock();\n\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t// to prevent issues related to undo/redo actions.\n\t\tsetImmediate( () => convertBlockToStatic( clientId ) );\n\t}, [ title, clientId ] );\n\n\tfunction renderSheet() {\n\t\tconst infoTitle =\n\t\t\tPlatform.OS === 'android'\n\t\t\t\t? __(\n\t\t\t\t\t\t'Editing reusable blocks is not yet supported on WordPress for Android'\n\t\t\t\t )\n\t\t\t\t: __(\n\t\t\t\t\t\t'Editing reusable blocks is not yet supported on WordPress for iOS'\n\t\t\t\t );\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ showHelp }\n\t\t\t\thideHeader\n\t\t\t\tonClose={ closeSheet }\n\t\t\t>\n\t\t\t\t<View style={ styles.infoContainer }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\tcolor={ infoSheetIconStyle.color }\n\t\t\t\t\t\tsize={ styles.infoSheetIcon.size }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoTitleStyle ] }>\n\t\t\t\t\t\t{ infoTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoDescriptionStyle ] }>\n\t\t\t\t\t\t{ innerBlockCount > 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'Alternatively, you can detach and edit these blocks separately by tapping “Convert to regular blocks”.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'Alternatively, you can detach and edit this block separately by tapping “Convert to regular block”.'\n\t\t\t\t\t\t\t ) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tinnerBlockCount > 1\n\t\t\t\t\t\t\t\t? __( 'Convert to regular blocks' )\n\t\t\t\t\t\t\t\t: __( 'Convert to regular block' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\tonPress={ onConvertToRegularBlocks }\n\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</BottomSheet>\n\t\t);\n\t}\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tmessage={ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tmessage={ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\treturn (\n\t\t\t<View style={ spinnerStyle }>\n\t\t\t\t<ActivityIndicator animating />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tlet element = (\n\t\t<InnerBlocks\n\t\t\tvalue={ blocks }\n\t\t\tonChange={ onChange }\n\t\t\tonInput={ onInput }\n\t\t/>\n\t);\n\n\tif ( ! isEditing ) {\n\t\telement = <Disabled>{ element }</Disabled>;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ openSheet }\n\t\t\t>\n\t\t\t\t<View>\n\t\t\t\t\t{ isSelected && <EditTitle title={ title } /> }\n\t\t\t\t\t{ element }\n\t\t\t\t\t{ renderSheet() }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</RecursionProvider>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/block/edit.native.js"],"names":["ActivityIndicator","Platform","Text","TouchableWithoutFeedback","View","useState","useCallback","useEntityBlockEditor","useEntityProp","store","coreStore","BottomSheet","Icon","Disabled","TextControl","useSelect","useDispatch","__","sprintf","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","InnerBlocks","Warning","blockEditorStore","usePreferredColorSchemeStyle","help","reusableBlocksStore","editorStore","noticesStore","styles","EditTitle","ReusableBlockEdit","attributes","ref","clientId","isSelected","hasAlreadyRendered","showHelp","setShowHelp","infoTextStyle","infoText","infoTextDark","infoTitleStyle","infoTitle","infoTitleDark","infoSheetIconStyle","infoSheetIcon","infoSheetIconDark","infoDescriptionStyle","infoDescription","infoDescriptionDark","actionButtonStyle","actionButton","actionButtonDark","spinnerStyle","spinner","spinnerDark","hasResolved","isEditing","isMissing","innerBlockCount","select","persistedBlock","getEntityRecord","hasResolvedBlock","hasFinishedResolution","getBlockCount","__experimentalIsEditingReusableBlock","hostAppNamespace","getEditorSettings","createSuccessNotice","__experimentalConvertBlockToStatic","convertBlockToStatic","clearSelectedBlock","blocks","onInput","onChange","id","title","openSheet","closeSheet","onConvertToRegularBlocks","successNotice","setImmediate","renderSheet","OS","infoContainer","color","size","element"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tActivityIndicator,\n\tPlatform,\n\tText,\n\tTouchableWithoutFeedback,\n\tView,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useCallback } from '@wordpress/element';\nimport {\n\tuseEntityBlockEditor,\n\tuseEntityProp,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport {\n\tBottomSheet,\n\tIcon,\n\tDisabled,\n\tTextControl,\n} from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tInnerBlocks,\n\tWarning,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { help } from '@wordpress/icons';\nimport { store as reusableBlocksStore } from '@wordpress/reusable-blocks';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport EditTitle from './edit-title';\n\nexport default function ReusableBlockEdit( {\n\tattributes: { ref },\n\tclientId,\n\tisSelected,\n} ) {\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\n\tconst [ showHelp, setShowHelp ] = useState( false );\n\tconst infoTextStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoText,\n\t\tstyles.infoTextDark\n\t);\n\tconst infoTitleStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoTitle,\n\t\tstyles.infoTitleDark\n\t);\n\tconst infoSheetIconStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoSheetIcon,\n\t\tstyles.infoSheetIconDark\n\t);\n\tconst infoDescriptionStyle = usePreferredColorSchemeStyle(\n\t\tstyles.infoDescription,\n\t\tstyles.infoDescriptionDark\n\t);\n\tconst actionButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.actionButton,\n\t\tstyles.actionButtonDark\n\t);\n\tconst spinnerStyle = usePreferredColorSchemeStyle(\n\t\tstyles.spinner,\n\t\tstyles.spinnerDark\n\t);\n\n\tconst { hasResolved, isEditing, isMissing, innerBlockCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst persistedBlock = select( coreStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\tref\n\t\t\t);\n\t\t\tconst hasResolvedBlock = select( coreStore ).hasFinishedResolution(\n\t\t\t\t'getEntityRecord',\n\t\t\t\t[ 'postType', 'wp_block', ref ]\n\t\t\t);\n\n\t\t\tconst { getBlockCount } = select( blockEditorStore );\n\n\t\t\treturn {\n\t\t\t\thasResolved: hasResolvedBlock,\n\t\t\t\tisEditing:\n\t\t\t\t\tselect(\n\t\t\t\t\t\treusableBlocksStore\n\t\t\t\t\t).__experimentalIsEditingReusableBlock( clientId ),\n\t\t\t\tisMissing: hasResolvedBlock && ! persistedBlock,\n\t\t\t\tinnerBlockCount: getBlockCount( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ ref, clientId ]\n\t);\n\tconst hostAppNamespace = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getEditorSettings().hostAppNamespace,\n\t\t[]\n\t);\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\tconst { __experimentalConvertBlockToStatic: convertBlockToStatic } =\n\t\tuseDispatch( reusableBlocksStore );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_block',\n\t\t{ id: ref }\n\t);\n\n\tconst [ title ] = useEntityProp( 'postType', 'wp_block', 'title', ref );\n\n\tfunction openSheet() {\n\t\tsetShowHelp( true );\n\t}\n\n\tfunction closeSheet() {\n\t\tsetShowHelp( false );\n\t}\n\n\tconst onConvertToRegularBlocks = useCallback( () => {\n\t\tconst successNotice =\n\t\t\tinnerBlockCount > 1\n\t\t\t\t? /* translators: %s: name of the reusable block */\n\t\t\t\t __( '%s converted to regular blocks' )\n\t\t\t\t: /* translators: %s: name of the reusable block */\n\t\t\t\t __( '%s converted to regular block' );\n\t\tcreateSuccessNotice( sprintf( successNotice, title ) );\n\n\t\tclearSelectedBlock();\n\t\t// Convert action is executed at the end of the current JavaScript execution block\n\t\t// to prevent issues related to undo/redo actions.\n\t\tsetImmediate( () => convertBlockToStatic( clientId ) );\n\t}, [ title, clientId ] );\n\n\tfunction renderSheet() {\n\t\tconst infoTitle =\n\t\t\tPlatform.OS === 'android'\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %s: name of the host app (e.g. WordPress) */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Editing reusable blocks is not yet supported on %s for Android'\n\t\t\t\t\t\t),\n\t\t\t\t\t\thostAppNamespace\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: %s: name of the host app (e.g. WordPress) */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Editing reusable blocks is not yet supported on %s for iOS'\n\t\t\t\t\t\t),\n\t\t\t\t\t\thostAppNamespace\n\t\t\t\t );\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ showHelp }\n\t\t\t\thideHeader\n\t\t\t\tonClose={ closeSheet }\n\t\t\t>\n\t\t\t\t<View style={ styles.infoContainer }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\tcolor={ infoSheetIconStyle.color }\n\t\t\t\t\t\tsize={ styles.infoSheetIcon.size }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoTitleStyle ] }>\n\t\t\t\t\t\t{ infoTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoDescriptionStyle ] }>\n\t\t\t\t\t\t{ innerBlockCount > 1\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'Alternatively, you can detach and edit these blocks separately by tapping “Convert to regular blocks”.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'Alternatively, you can detach and edit this block separately by tapping “Convert to regular block”.'\n\t\t\t\t\t\t\t ) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tinnerBlockCount > 1\n\t\t\t\t\t\t\t\t? __( 'Convert to regular blocks' )\n\t\t\t\t\t\t\t\t: __( 'Convert to regular block' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\tonPress={ onConvertToRegularBlocks }\n\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</BottomSheet>\n\t\t);\n\t}\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tmessage={ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isMissing ) {\n\t\treturn (\n\t\t\t<Warning\n\t\t\t\tmessage={ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\treturn (\n\t\t\t<View style={ spinnerStyle }>\n\t\t\t\t<ActivityIndicator animating />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tlet element = (\n\t\t<InnerBlocks\n\t\t\tvalue={ blocks }\n\t\t\tonChange={ onChange }\n\t\t\tonInput={ onInput }\n\t\t/>\n\t);\n\n\tif ( ! isEditing ) {\n\t\telement = <Disabled>{ element }</Disabled>;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ openSheet }\n\t\t\t>\n\t\t\t\t<View>\n\t\t\t\t\t{ isSelected && <EditTitle title={ title } /> }\n\t\t\t\t\t{ element }\n\t\t\t\t\t{ renderSheet() }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</RecursionProvider>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/code/index.js"],"names":["__","code","icon","initBlock","edit","save","transforms","name","metadata","settings","example","attributes","content","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAI,IAAIC,IAAjB,QAA6B,kBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,IAAP,MAAiB,QAAjB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/code/index.js"],"names":["__","code","icon","initBlock","edit","save","transforms","name","metadata","settings","example","attributes","content","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,IAAI,IAAIC,IAAjB,QAA6B,kBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACX;AACA;AACAC,MAAAA,OAAO,EAAEZ,EAAE,CACV,yLADU;AAGX;;AANW;AADJ,GAFc;AAYvBM,EAAAA,UAZuB;AAavBF,EAAAA,IAbuB;AAcvBC,EAAAA;AAduB,CAAjB;AAiBP,OAAO,MAAMQ,IAAI,GAAG,MAAMV,SAAS,CAAE;AAAEI,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { code as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\t/* eslint-disable @wordpress/i18n-no-collapsible-whitespace */\n\t\t\t// translators: Preserve \\n markers for line breaks\n\t\t\tcontent: __(\n\t\t\t\t'// A “block” is the abstract term used\\n// to describe units of markup that\\n// when composed together, form the\\n// content or layout of a page.\\nregisterBlockType( name, settings );'\n\t\t\t),\n\t\t\t/* eslint-enable @wordpress/i18n-no-collapsible-whitespace */\n\t\t},\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
|
|
@@ -102,11 +102,7 @@ const transforms = {
|
|
|
102
102
|
}, createBlocksFromInnerBlocksTemplate(innerBlocksTemplate));
|
|
103
103
|
}
|
|
104
104
|
}],
|
|
105
|
-
|
|
106
|
-
type: 'block',
|
|
107
|
-
blocks: ['*'],
|
|
108
|
-
transform: (attributes, innerBlocks) => innerBlocks.flatMap(innerBlock => innerBlock.innerBlocks)
|
|
109
|
-
}]
|
|
105
|
+
ungroup: (attributes, innerBlocks) => innerBlocks.flatMap(innerBlock => innerBlock.innerBlocks)
|
|
110
106
|
};
|
|
111
107
|
export default transforms;
|
|
112
108
|
//# sourceMappingURL=transforms.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/columns/transforms.js"],"names":["createBlock","createBlocksFromInnerBlocksTemplate","MAXIMUM_SELECTED_BLOCKS","transforms","from","type","isMultiBlock","blocks","__experimentalConvert","columnWidth","length","toFixed","innerBlocksTemplate","map","name","attributes","innerBlocks","width","isMatch","selectedBlocksLength","priority","transform","align","backgroundColor","textColor","style","mediaAlt","alt","mediaId","id","mediaPosition","mediaSizeSlug","sizeSlug","mediaType","mediaUrl","url","mediaWidth","verticalAlignment","media","imageAttrs","linkAttrs","href","linkClass","linkDestination","linkTarget","rel","src","reverse","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/columns/transforms.js"],"names":["createBlock","createBlocksFromInnerBlocksTemplate","MAXIMUM_SELECTED_BLOCKS","transforms","from","type","isMultiBlock","blocks","__experimentalConvert","columnWidth","length","toFixed","innerBlocksTemplate","map","name","attributes","innerBlocks","width","isMatch","selectedBlocksLength","priority","transform","align","backgroundColor","textColor","style","mediaAlt","alt","mediaId","id","mediaPosition","mediaSizeSlug","sizeSlug","mediaType","mediaUrl","url","mediaWidth","verticalAlignment","media","imageAttrs","linkAttrs","href","linkClass","linkDestination","linkTarget","rel","src","reverse","ungroup","flatMap","innerBlock"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,WADD,EAECC,mCAFD,QAGO,mBAHP;AAKA,MAAMC,uBAAuB,GAAG,CAAhC;AAEA,MAAMC,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,YAAY,EAAE,IAFf;AAGCC,IAAAA,MAAM,EAAE,CAAE,GAAF,CAHT;AAICC,IAAAA,qBAAqB,EAAID,MAAF,IAAc;AACpC,YAAME,WAAW,GAAG,CAAC,CAAE,MAAMF,MAAM,CAACG,MAAf,EAAwBC,OAAxB,CAAiC,CAAjC,CAArB;AACA,YAAMC,mBAAmB,GAAGL,MAAM,CAACM,GAAP,CAC3B;AAAA,YAAE;AAAEC,UAAAA,IAAF;AAAQC,UAAAA,UAAR;AAAoBC,UAAAA;AAApB,SAAF;AAAA,eAAyC,CACxC,aADwC,EAExC;AAAEC,UAAAA,KAAK,EAAG,GAAGR,WAAa;AAA1B,SAFwC,EAGxC,CAAE,CAAEK,IAAF,EAAQ,EAAE,GAAGC;AAAL,SAAR,EAA2BC,WAA3B,CAAF,CAHwC,CAAzC;AAAA,OAD2B,CAA5B;AAOA,aAAOhB,WAAW,CACjB,cADiB,EAEjB,EAFiB,EAGjBC,mCAAmC,CAAEW,mBAAF,CAHlB,CAAlB;AAKA,KAlBF;AAmBCM,IAAAA,OAAO,EAAE,QAAoCX,MAApC,KAAgD;AAAA,UAA9C;AAAEG,QAAAA,MAAM,EAAES;AAAV,OAA8C;;AACxD;AACA;AACA;AACA;AACA,UACCZ,MAAM,CAACG,MAAP,KAAkB,CAAlB,IACAH,MAAM,CAAE,CAAF,CAAN,CAAYO,IAAZ,KAAqB,cAFtB,EAGE;AACD,eAAO,KAAP;AACA;;AAED,aACCK,oBAAoB,IACpBA,oBAAoB,IAAIjB,uBAFzB;AAIA;AAnCF,GADK,EAsCL;AACCG,IAAAA,IAAI,EAAE,OADP;AAECE,IAAAA,MAAM,EAAE,CAAE,iBAAF,CAFT;AAGCa,IAAAA,QAAQ,EAAE,CAHX;AAICC,IAAAA,SAAS,EAAE,CAAEN,UAAF,EAAcC,WAAd,KAA+B;AACzC,YAAM;AACLM,QAAAA,KADK;AAELC,QAAAA,eAFK;AAGLC,QAAAA,SAHK;AAILC,QAAAA,KAJK;AAKLC,QAAAA,QAAQ,EAAEC,GALL;AAMLC,QAAAA,OAAO,EAAEC,EANJ;AAOLC,QAAAA,aAPK;AAQLC,QAAAA,aAAa,EAAEC,QARV;AASLC,QAAAA,SATK;AAULC,QAAAA,QAAQ,EAAEC,GAVL;AAWLC,QAAAA,UAXK;AAYLC,QAAAA;AAZK,UAaFtB,UAbJ;AAcA,UAAIuB,KAAJ;;AACA,UAAKL,SAAS,KAAK,OAAd,IAAyB,CAAEA,SAAhC,EAA4C;AAC3C,cAAMM,UAAU,GAAG;AAAEV,UAAAA,EAAF;AAAMF,UAAAA,GAAN;AAAWQ,UAAAA,GAAX;AAAgBH,UAAAA;AAAhB,SAAnB;AACA,cAAMQ,SAAS,GAAG;AACjBC,UAAAA,IAAI,EAAE1B,UAAU,CAAC0B,IADA;AAEjBC,UAAAA,SAAS,EAAE3B,UAAU,CAAC2B,SAFL;AAGjBC,UAAAA,eAAe,EAAE5B,UAAU,CAAC4B,eAHX;AAIjBC,UAAAA,UAAU,EAAE7B,UAAU,CAAC6B,UAJN;AAKjBC,UAAAA,GAAG,EAAE9B,UAAU,CAAC8B;AALC,SAAlB;AAOAP,QAAAA,KAAK,GAAG,CAAE,YAAF,EAAgB,EAAE,GAAGC,UAAL;AAAiB,aAAGC;AAApB,SAAhB,CAAR;AACA,OAVD,MAUO;AACNF,QAAAA,KAAK,GAAG,CAAE,YAAF,EAAgB;AAAET,UAAAA,EAAF;AAAMiB,UAAAA,GAAG,EAAEX;AAAX,SAAhB,CAAR;AACA;;AACD,YAAMvB,mBAAmB,GAAG,CAC3B,CAAE,aAAF,EAAiB;AAAEK,QAAAA,KAAK,EAAG,GAAGmB,UAAY;AAAzB,OAAjB,EAAgD,CAAEE,KAAF,CAAhD,CAD2B,EAE3B,CACC,aADD,EAEC;AAAErB,QAAAA,KAAK,EAAG,GAAG,MAAMmB,UAAY;AAA/B,OAFD,EAGCpB,WAHD,CAF2B,CAA5B;;AAQA,UAAKc,aAAa,KAAK,OAAvB,EAAiC;AAChClB,QAAAA,mBAAmB,CAACmC,OAApB;AACA;;AACD,aAAO/C,WAAW,CACjB,cADiB,EAEjB;AACCsB,QAAAA,KADD;AAECC,QAAAA,eAFD;AAGCC,QAAAA,SAHD;AAICC,QAAAA,KAJD;AAKCY,QAAAA;AALD,OAFiB,EASjBpC,mCAAmC,CAAEW,mBAAF,CATlB,CAAlB;AAWA;AAvDF,GAtCK,CADY;AAiGlBoC,EAAAA,OAAO,EAAE,CAAEjC,UAAF,EAAcC,WAAd,KACRA,WAAW,CAACiC,OAAZ,CAAuBC,UAAF,IAAkBA,UAAU,CAAClC,WAAlD;AAlGiB,CAAnB;AAqGA,eAAeb,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n} from '@wordpress/blocks';\n\nconst MAXIMUM_SELECTED_BLOCKS = 6;\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\t__experimentalConvert: ( blocks ) => {\n\t\t\t\tconst columnWidth = +( 100 / blocks.length ).toFixed( 2 );\n\t\t\t\tconst innerBlocksTemplate = blocks.map(\n\t\t\t\t\t( { name, attributes, innerBlocks } ) => [\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ columnWidth }%` },\n\t\t\t\t\t\t[ [ name, { ...attributes }, innerBlocks ] ],\n\t\t\t\t\t]\n\t\t\t\t);\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t\tisMatch: ( { length: selectedBlocksLength }, blocks ) => {\n\t\t\t\t// If a user is trying to transform a single Columns block, skip\n\t\t\t\t// the transformation. Enabling this functiontionality creates\n\t\t\t\t// nested Columns blocks resulting in an unintuitive user experience.\n\t\t\t\t// Multiple Columns blocks can still be transformed.\n\t\t\t\tif (\n\t\t\t\t\tblocks.length === 1 &&\n\t\t\t\t\tblocks[ 0 ].name === 'core/columns'\n\t\t\t\t) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\tselectedBlocksLength &&\n\t\t\t\t\tselectedBlocksLength <= MAXIMUM_SELECTED_BLOCKS\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/media-text' ],\n\t\t\tpriority: 1,\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\tconst {\n\t\t\t\t\talign,\n\t\t\t\t\tbackgroundColor,\n\t\t\t\t\ttextColor,\n\t\t\t\t\tstyle,\n\t\t\t\t\tmediaAlt: alt,\n\t\t\t\t\tmediaId: id,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\tmediaSizeSlug: sizeSlug,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl: url,\n\t\t\t\t\tmediaWidth,\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t} = attributes;\n\t\t\t\tlet media;\n\t\t\t\tif ( mediaType === 'image' || ! mediaType ) {\n\t\t\t\t\tconst imageAttrs = { id, alt, url, sizeSlug };\n\t\t\t\t\tconst linkAttrs = {\n\t\t\t\t\t\thref: attributes.href,\n\t\t\t\t\t\tlinkClass: attributes.linkClass,\n\t\t\t\t\t\tlinkDestination: attributes.linkDestination,\n\t\t\t\t\t\tlinkTarget: attributes.linkTarget,\n\t\t\t\t\t\trel: attributes.rel,\n\t\t\t\t\t};\n\t\t\t\t\tmedia = [ 'core/image', { ...imageAttrs, ...linkAttrs } ];\n\t\t\t\t} else {\n\t\t\t\t\tmedia = [ 'core/video', { id, src: url } ];\n\t\t\t\t}\n\t\t\t\tconst innerBlocksTemplate = [\n\t\t\t\t\t[ 'core/column', { width: `${ mediaWidth }%` }, [ media ] ],\n\t\t\t\t\t[\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: `${ 100 - mediaWidth }%` },\n\t\t\t\t\t\tinnerBlocks,\n\t\t\t\t\t],\n\t\t\t\t];\n\t\t\t\tif ( mediaPosition === 'right' ) {\n\t\t\t\t\tinnerBlocksTemplate.reverse();\n\t\t\t\t}\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/columns',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tbackgroundColor,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t\tverticalAlignment,\n\t\t\t\t\t},\n\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate( innerBlocksTemplate )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tungroup: ( attributes, innerBlocks ) =>\n\t\tinnerBlocks.flatMap( ( innerBlock ) => innerBlock.innerBlocks ),\n};\n\nexport default transforms;\n"]}
|
|
@@ -26,6 +26,9 @@ const RESIZABLE_BOX_ENABLE_OPTION = {
|
|
|
26
26
|
bottomLeft: false,
|
|
27
27
|
topLeft: false
|
|
28
28
|
};
|
|
29
|
+
const {
|
|
30
|
+
ResizableBoxPopover
|
|
31
|
+
} = unlock(blockEditorPrivateApis);
|
|
29
32
|
export default function ResizableCoverPopover(_ref) {
|
|
30
33
|
let {
|
|
31
34
|
className,
|
|
@@ -39,9 +42,6 @@ export default function ResizableCoverPopover(_ref) {
|
|
|
39
42
|
width,
|
|
40
43
|
...props
|
|
41
44
|
} = _ref;
|
|
42
|
-
const {
|
|
43
|
-
ResizableBoxPopover
|
|
44
|
-
} = unlock(blockEditorPrivateApis);
|
|
45
45
|
const [isResizing, setIsResizing] = useState(false);
|
|
46
46
|
const dimensions = useMemo(() => ({
|
|
47
47
|
height,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/edit/resizable-cover-popover.js"],"names":["classnames","useMemo","useState","privateApis","blockEditorPrivateApis","unlock","RESIZABLE_BOX_ENABLE_OPTION","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","ResizableCoverPopover","className","height","minHeight","onResize","onResizeStart","onResizeStop","showHandle","size","width","props","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/edit/resizable-cover-popover.js"],"names":["classnames","useMemo","useState","privateApis","blockEditorPrivateApis","unlock","RESIZABLE_BOX_ENABLE_OPTION","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","ResizableBoxPopover","ResizableCoverPopover","className","height","minHeight","onResize","onResizeStart","onResizeStop","showHandle","size","width","props","isResizing","setIsResizing","dimensions","resizableBoxProps","enable","_event","_direction","elt","clientHeight","__experimentalShowTooltip","__experimentalTooltipProps","axis","position","isVisible"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,OAAT,EAAkBC,QAAlB,QAAkC,oBAAlC;AACA,SAASC,WAAW,IAAIC,sBAAxB,QAAsD,yBAAtD;AAEA;AACA;AACA;;AACA,SAASC,MAAT,QAAuB,oBAAvB;AAEA,MAAMC,2BAA2B,GAAG;AACnCC,EAAAA,GAAG,EAAE,KAD8B;AAEnCC,EAAAA,KAAK,EAAE,KAF4B;AAGnCC,EAAAA,MAAM,EAAE,IAH2B;AAInCC,EAAAA,IAAI,EAAE,KAJ6B;AAKnCC,EAAAA,QAAQ,EAAE,KALyB;AAMnCC,EAAAA,WAAW,EAAE,KANsB;AAOnCC,EAAAA,UAAU,EAAE,KAPuB;AAQnCC,EAAAA,OAAO,EAAE;AAR0B,CAApC;AAWA,MAAM;AAAEC,EAAAA;AAAF,IAA0BV,MAAM,CAAED,sBAAF,CAAtC;AAEA,eAAe,SAASY,qBAAT,OAWX;AAAA,MAX2C;AAC9CC,IAAAA,SAD8C;AAE9CC,IAAAA,MAF8C;AAG9CC,IAAAA,SAH8C;AAI9CC,IAAAA,QAJ8C;AAK9CC,IAAAA,aAL8C;AAM9CC,IAAAA,YAN8C;AAO9CC,IAAAA,UAP8C;AAQ9CC,IAAAA,IAR8C;AAS9CC,IAAAA,KAT8C;AAU9C,OAAGC;AAV2C,GAW3C;AACH,QAAM,CAAEC,UAAF,EAAcC,aAAd,IAAgC1B,QAAQ,CAAE,KAAF,CAA9C;AACA,QAAM2B,UAAU,GAAG5B,OAAO,CACzB,OAAQ;AAAEiB,IAAAA,MAAF;AAAUC,IAAAA,SAAV;AAAqBM,IAAAA;AAArB,GAAR,CADyB,EAEzB,CAAEN,SAAF,EAAaD,MAAb,EAAqBO,KAArB,CAFyB,CAA1B;AAKA,QAAMK,iBAAiB,GAAG;AACzBb,IAAAA,SAAS,EAAEjB,UAAU,CAAEiB,SAAF,EAAa;AAAE,qBAAeU;AAAjB,KAAb,CADI;AAEzBI,IAAAA,MAAM,EAAEzB,2BAFiB;AAGzBe,IAAAA,aAAa,EAAE,CAAEW,MAAF,EAAUC,UAAV,EAAsBC,GAAtB,KAA+B;AAC7Cb,MAAAA,aAAa,CAAEa,GAAG,CAACC,YAAN,CAAb;AACAf,MAAAA,QAAQ,CAAEc,GAAG,CAACC,YAAN,CAAR;AACA,KANwB;AAOzBf,IAAAA,QAAQ,EAAE,CAAEY,MAAF,EAAUC,UAAV,EAAsBC,GAAtB,KAA+B;AACxCd,MAAAA,QAAQ,CAAEc,GAAG,CAACC,YAAN,CAAR;;AACA,UAAK,CAAER,UAAP,EAAoB;AACnBC,QAAAA,aAAa,CAAE,IAAF,CAAb;AACA;AACD,KAZwB;AAazBN,IAAAA,YAAY,EAAE,CAAEU,MAAF,EAAUC,UAAV,EAAsBC,GAAtB,KAA+B;AAC5CZ,MAAAA,YAAY,CAAEY,GAAG,CAACC,YAAN,CAAZ;AACAP,MAAAA,aAAa,CAAE,KAAF,CAAb;AACA,KAhBwB;AAiBzBL,IAAAA,UAjByB;AAkBzBC,IAAAA,IAlByB;AAmBzBY,IAAAA,yBAAyB,EAAE,IAnBF;AAoBzBC,IAAAA,0BAA0B,EAAE;AAC3BC,MAAAA,IAAI,EAAE,GADqB;AAE3BC,MAAAA,QAAQ,EAAE,QAFiB;AAG3BC,MAAAA,SAAS,EAAEb;AAHgB;AApBH,GAA1B;AA2BA,SACC,cAAC,mBAAD;AACC,IAAA,SAAS,EAAC,4CADX;AAEC,IAAA,qBAAqB,EAAGE,UAFzB;AAGC,IAAA,iBAAiB,EAAGC;AAHrB,KAIMJ,KAJN,EADD;AAQA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\n\nconst RESIZABLE_BOX_ENABLE_OPTION = {\n\ttop: false,\n\tright: false,\n\tbottom: true,\n\tleft: false,\n\ttopRight: false,\n\tbottomRight: false,\n\tbottomLeft: false,\n\ttopLeft: false,\n};\n\nconst { ResizableBoxPopover } = unlock( blockEditorPrivateApis );\n\nexport default function ResizableCoverPopover( {\n\tclassName,\n\theight,\n\tminHeight,\n\tonResize,\n\tonResizeStart,\n\tonResizeStop,\n\tshowHandle,\n\tsize,\n\twidth,\n\t...props\n} ) {\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst dimensions = useMemo(\n\t\t() => ( { height, minHeight, width } ),\n\t\t[ minHeight, height, width ]\n\t);\n\n\tconst resizableBoxProps = {\n\t\tclassName: classnames( className, { 'is-resizing': isResizing } ),\n\t\tenable: RESIZABLE_BOX_ENABLE_OPTION,\n\t\tonResizeStart: ( _event, _direction, elt ) => {\n\t\t\tonResizeStart( elt.clientHeight );\n\t\t\tonResize( elt.clientHeight );\n\t\t},\n\t\tonResize: ( _event, _direction, elt ) => {\n\t\t\tonResize( elt.clientHeight );\n\t\t\tif ( ! isResizing ) {\n\t\t\t\tsetIsResizing( true );\n\t\t\t}\n\t\t},\n\t\tonResizeStop: ( _event, _direction, elt ) => {\n\t\t\tonResizeStop( elt.clientHeight );\n\t\t\tsetIsResizing( false );\n\t\t},\n\t\tshowHandle,\n\t\tsize,\n\t\t__experimentalShowTooltip: true,\n\t\t__experimentalTooltipProps: {\n\t\t\taxis: 'y',\n\t\t\tposition: 'bottom',\n\t\t\tisVisible: isResizing,\n\t\t},\n\t};\n\n\treturn (\n\t\t<ResizableBoxPopover\n\t\t\tclassName=\"block-library-cover__resizable-box-popover\"\n\t\t\t__unstableRefreshSize={ dimensions }\n\t\t\tresizableBoxProps={ resizableBoxProps }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { store } from '../utils/interactivity';
|
|
5
|
+
import { browserSupportsPdfs as hasPdfPreview } from './utils';
|
|
6
|
+
store({
|
|
7
|
+
selectors: {
|
|
8
|
+
core: {
|
|
9
|
+
file: {
|
|
10
|
+
hasPdfPreview
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=interactivity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/file/interactivity.js"],"names":["store","browserSupportsPdfs","hasPdfPreview","selectors","core","file"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAT,QAAsB,wBAAtB;AACA,SAASC,mBAAmB,IAAIC,aAAhC,QAAqD,SAArD;AAEAF,KAAK,CAAE;AACNG,EAAAA,SAAS,EAAE;AACVC,IAAAA,IAAI,EAAE;AACLC,MAAAA,IAAI,EAAE;AACLH,QAAAA;AADK;AADD;AADI;AADL,CAAF,CAAL","sourcesContent":["/**\n * Internal dependencies\n */\nimport { store } from '../utils/interactivity';\nimport { browserSupportsPdfs as hasPdfPreview } from './utils';\n\nstore( {\n\tselectors: {\n\t\tcore: {\n\t\t\tfile: {\n\t\t\t\thasPdfPreview,\n\t\t\t},\n\t\t},\n\t},\n} );\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/file/utils/index.js"],"names":["browserSupportsPdfs","window","navigator","userAgent","indexOf","maxTouchPoints","ActiveXObject","createActiveXObject","type","ax","e","undefined","hidePdfEmbedsOnUnsupportedBrowsers","embeds","document","getElementsByClassName","Array","from","forEach","embed","style","display"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,mBAAmB,GAAG,MAAM;AACxC;AACA,MAAKC,MAAM,CAACC,SAAP,CAAiBC,SAAjB,CAA2BC,OAA3B,CAAoC,MAApC,IAA+C,CAAC,CAArD,EAAyD;AACxD,WAAO,KAAP;AACA,GAJuC,CAMxC;;;AACA,MAAKH,MAAM,CAACC,SAAP,CAAiBC,SAAjB,CAA2BC,OAA3B,CAAoC,SAApC,IAAkD,CAAC,CAAxD,EAA4D;AAC3D,WAAO,KAAP;AACA,GATuC,CAWxC;;;AACA,MACCH,MAAM,CAACC,SAAP,CAAiBC,SAAjB,CAA2BC,OAA3B,CAAoC,WAApC,IAAoD,CAAC,CAArD,IACAH,MAAM,CAACC,SAAP,CAAiBG,cADjB,IAEAJ,MAAM,CAACC,SAAP,CAAiBG,cAAjB,GAAkC,CAHnC,EAIE;AACD,WAAO,KAAP;AACA,GAlBuC,CAoBxC;;;AACA,MACC,CAAC,EAAIJ,MAAM,CAACK,aAAP,IAAwB,mBAAmBL,MAA/C,CAAD,IACA,EACCM,mBAAmB,CAAE,aAAF,CAAnB,IACAA,mBAAmB,CAAE,aAAF,CAFpB,CAFD,EAME;AACD,WAAO,KAAP;AACA;;AAED,SAAO,IAAP;AACA,CAhCM;AAkCP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMA,mBAAmB,GAAKC,IAAF,IAAY;AACvC,MAAIC,EAAJ;;AACA,MAAI;AACHA,IAAAA,EAAE,GAAG,IAAIR,MAAM,CAACK,aAAX,CAA0BE,IAA1B,CAAL;AACA,GAFD,CAEE,OAAQE,CAAR,EAAY;AACbD,IAAAA,EAAE,GAAGE,SAAL;AACA;;AACD,SAAOF,EAAP;AACA,CARD;AAUA;AACA;AACA;AACA;;;AACA,OAAO,MAAMG,kCAAkC,GAAG,MAAM;AACvD,MAAK,CAAEZ,mBAAmB,EAA1B,EAA+B;AAC9B,UAAMa,MAAM,GAAGC,QAAQ,CAACC,sBAAT,CACd,sBADc,CAAf;AAGAC,IAAAA,KAAK,CAACC,IAAN,CAAYJ,MAAZ,EAAqBK,OAArB,CAAgCC,KAAF,IAAa;AAC1CA,MAAAA,KAAK,CAACC,KAAN,CAAYC,OAAZ,GAAsB,MAAtB;AACA,KAFD;AAGA;AACD,CATM","sourcesContent":["/**\n * Uses a combination of user agent matching and feature detection to determine whether\n * the current browser supports rendering PDFs inline.\n *\n * @return {boolean} Whether or not the browser supports inline PDFs.\n */\nexport const browserSupportsPdfs = () => {\n\t// Most mobile devices include \"Mobi\" in their UA.\n\tif ( window.navigator.userAgent.indexOf( 'Mobi' ) > -1 ) {\n\t\treturn false;\n\t}\n\n\t// Android tablets are the noteable exception.\n\tif ( window.navigator.userAgent.indexOf( 'Android' ) > -1 ) {\n\t\treturn false;\n\t}\n\n\t// iPad pretends to be a Mac.\n\tif (\n\t\twindow.navigator.userAgent.indexOf( 'Macintosh' ) > -1 &&\n\t\twindow.navigator.maxTouchPoints &&\n\t\twindow.navigator.maxTouchPoints > 2\n\t) {\n\t\treturn false;\n\t}\n\n\t// IE only supports PDFs when there's an ActiveX object available for it.\n\tif (\n\t\t!! ( window.ActiveXObject || 'ActiveXObject' in window ) &&\n\t\t! (\n\t\t\tcreateActiveXObject( 'AcroPDF.PDF' ) ||\n\t\t\tcreateActiveXObject( 'PDF.PdfCtrl' )\n\t\t)\n\t) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\n/**\n * Helper function for creating ActiveX objects, catching any errors that are thrown\n * when it's generated.\n *\n * @param {string} type The name of the ActiveX object to create.\n * @return {window.ActiveXObject|undefined} The generated ActiveXObject, or null if it failed.\n */\nconst createActiveXObject = ( type ) => {\n\tlet ax;\n\ttry {\n\t\tax = new window.ActiveXObject( type );\n\t} catch ( e ) {\n\t\tax = undefined;\n\t}\n\treturn ax;\n};\n\n/**\n * Hides all .wp-block-file__embed elements on the document. This function is only intended\n * to be run on the front-end, it may have weird side effects running in the block editor.\n */\nexport const hidePdfEmbedsOnUnsupportedBrowsers = () => {\n\tif ( ! browserSupportsPdfs() ) {\n\t\tconst embeds = document.getElementsByClassName(\n\t\t\t'wp-block-file__embed'\n\t\t);\n\t\tArray.from( embeds ).forEach( ( embed ) => {\n\t\t\tembed.style.display = 'none';\n\t\t} );\n\t}\n};\n"]}
|
|
@@ -4,7 +4,7 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
6
|
import { BlockControls, store } from '@wordpress/block-editor';
|
|
7
|
-
import { ToolbarGroup, ToolbarButton, Modal, Button } from '@wordpress/components';
|
|
7
|
+
import { ToolbarGroup, ToolbarButton, Modal, Button, Flex, FlexItem } from '@wordpress/components';
|
|
8
8
|
import { useEffect, useState, RawHTML } from '@wordpress/element';
|
|
9
9
|
import { __ } from '@wordpress/i18n';
|
|
10
10
|
import { useSelect } from '@wordpress/data';
|
|
@@ -23,7 +23,6 @@ function ClassicEdit(props) {
|
|
|
23
23
|
});
|
|
24
24
|
window.wp.oldEditor.initialize(props.id, {
|
|
25
25
|
tinymce: { ...settings,
|
|
26
|
-
height: 500,
|
|
27
26
|
|
|
28
27
|
setup(editor) {
|
|
29
28
|
editor.on('init', () => {
|
|
@@ -60,21 +59,26 @@ export default function ModalEdit(props) {
|
|
|
60
59
|
const [isOpen, setOpen] = useState(false);
|
|
61
60
|
const id = `editor-${clientId}`;
|
|
62
61
|
|
|
63
|
-
const
|
|
62
|
+
const onClose = () => content ? setOpen(false) : onReplace([]);
|
|
64
63
|
|
|
65
64
|
return createElement(Fragment, null, createElement(BlockControls, null, createElement(ToolbarGroup, null, createElement(ToolbarButton, {
|
|
66
65
|
onClick: () => setOpen(true)
|
|
67
|
-
},
|
|
68
|
-
title:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
|
|
66
|
+
}, __('Edit')))), content && createElement(RawHTML, null, content), (isOpen || !content) && createElement(Modal, {
|
|
67
|
+
title: __('Classic Editor'),
|
|
68
|
+
onRequestClose: onClose,
|
|
69
|
+
shouldCloseOnClickOutside: false,
|
|
70
|
+
overlayClassName: "block-editor-freeform-modal"
|
|
71
|
+
}, createElement(ClassicEdit, {
|
|
72
|
+
id: id,
|
|
73
|
+
defaultValue: content
|
|
74
|
+
}), createElement(Flex, {
|
|
75
|
+
className: "block-editor-freeform-modal__actions",
|
|
76
|
+
justify: "flex-end",
|
|
77
|
+
expanded: false
|
|
78
|
+
}, createElement(FlexItem, null, createElement(Button, {
|
|
79
|
+
variant: "tertiary",
|
|
80
|
+
onClick: onClose
|
|
81
|
+
}, __('Cancel'))), createElement(FlexItem, null, createElement(Button, {
|
|
78
82
|
variant: "primary",
|
|
79
83
|
onClick: () => {
|
|
80
84
|
setAttributes({
|
|
@@ -82,9 +86,6 @@ export default function ModalEdit(props) {
|
|
|
82
86
|
});
|
|
83
87
|
setOpen(false);
|
|
84
88
|
}
|
|
85
|
-
}, __('Save'))))
|
|
86
|
-
id: id,
|
|
87
|
-
defaultValue: content
|
|
88
|
-
})));
|
|
89
|
+
}, __('Save'))))));
|
|
89
90
|
}
|
|
90
91
|
//# sourceMappingURL=modal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/freeform/modal.js"],"names":["BlockControls","store","ToolbarGroup","ToolbarButton","Modal","Button","useEffect","useState","RawHTML","__","useSelect","ClassicEdit","props","styles","select","getSettings","baseURL","suffix","settings","window","wpEditorL10n","tinymce","EditorManager","overrideDefaults","base_url","wp","oldEditor","initialize","id","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/freeform/modal.js"],"names":["BlockControls","store","ToolbarGroup","ToolbarButton","Modal","Button","Flex","FlexItem","useEffect","useState","RawHTML","__","useSelect","ClassicEdit","props","styles","select","getSettings","baseURL","suffix","settings","window","wpEditorL10n","tinymce","EditorManager","overrideDefaults","base_url","wp","oldEditor","initialize","id","setup","editor","on","doc","getDoc","forEach","css","styleEl","createElement","innerHTML","head","appendChild","remove","ModalEdit","clientId","attributes","content","setAttributes","onReplace","isOpen","setOpen","onClose","getContent"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockControls, store } from '@wordpress/block-editor';\nimport {\n\tToolbarGroup,\n\tToolbarButton,\n\tModal,\n\tButton,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { useEffect, useState, RawHTML } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\nfunction ClassicEdit( props ) {\n\tconst styles = useSelect(\n\t\t( select ) => select( store ).getSettings().styles\n\t);\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix, settings } = window.wpEditorL10n.tinymce;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\twindow.wp.oldEditor.initialize( props.id, {\n\t\t\ttinymce: {\n\t\t\t\t...settings,\n\t\t\t\tsetup( editor ) {\n\t\t\t\t\teditor.on( 'init', () => {\n\t\t\t\t\t\tconst doc = editor.getDoc();\n\t\t\t\t\t\tstyles.forEach( ( { css } ) => {\n\t\t\t\t\t\t\tconst styleEl = doc.createElement( 'style' );\n\t\t\t\t\t\t\tstyleEl.innerHTML = css;\n\t\t\t\t\t\t\tdoc.head.appendChild( styleEl );\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} );\n\n\t\treturn () => {\n\t\t\twindow.wp.oldEditor.remove( props.id );\n\t\t};\n\t}, [] );\n\n\treturn <textarea { ...props } />;\n}\n\nexport default function ModalEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes: { content },\n\t\tsetAttributes,\n\t\tonReplace,\n\t} = props;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst id = `editor-${ clientId }`;\n\n\tconst onClose = () => ( content ? setOpen( false ) : onReplace( [] ) );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton onClick={ () => setOpen( true ) }>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ content && <RawHTML>{ content }</RawHTML> }\n\t\t\t{ ( isOpen || ! content ) && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Classic Editor' ) }\n\t\t\t\t\tonRequestClose={ onClose }\n\t\t\t\t\tshouldCloseOnClickOutside={ false }\n\t\t\t\t\toverlayClassName=\"block-editor-freeform-modal\"\n\t\t\t\t>\n\t\t\t\t\t<ClassicEdit id={ id } defaultValue={ content } />\n\t\t\t\t\t<Flex\n\t\t\t\t\t\tclassName=\"block-editor-freeform-modal__actions\"\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t>\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tcontent:\n\t\t\t\t\t\t\t\t\t\t\twindow.wp.oldEditor.getContent(\n\t\t\t\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\tsetOpen( false );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t</Flex>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import { createElement, Fragment } from "@wordpress/element";
|
|
3
3
|
|
|
4
|
-
/**
|
|
5
|
-
* External dependencies
|
|
6
|
-
*/
|
|
7
|
-
import { isEmpty } from 'lodash';
|
|
8
4
|
/**
|
|
9
5
|
* WordPress dependencies
|
|
10
6
|
*/
|
|
11
|
-
|
|
12
7
|
import { compose } from '@wordpress/compose';
|
|
13
8
|
import { PanelBody, SelectControl, ToggleControl, withNotices, RangeControl } from '@wordpress/components';
|
|
14
9
|
import { MediaPlaceholder, InspectorControls, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
|
|
@@ -394,7 +389,7 @@ function GalleryEdit(props) {
|
|
|
394
389
|
}
|
|
395
390
|
|
|
396
391
|
const imageSizeOptions = getImagesSizeOptions();
|
|
397
|
-
const shouldShowSizeOptions = hasImages &&
|
|
392
|
+
const shouldShowSizeOptions = hasImages && imageSizeOptions.length > 0;
|
|
398
393
|
return createElement(Fragment, null, createElement(InspectorControls, null, createElement(PanelBody, {
|
|
399
394
|
title: __('Settings')
|
|
400
395
|
}, images.length > 1 && createElement(RangeControl, _extends({
|