@wordpress/block-editor 15.9.0 → 15.9.1-next.6deb34194.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/README.md +12 -0
- package/build/components/block-alignment-matrix-control/index.js +1 -8
- package/build/components/block-alignment-matrix-control/index.js.map +2 -2
- package/build/components/block-bindings/attribute-control.js +172 -0
- package/build/components/block-bindings/attribute-control.js.map +7 -0
- package/build/components/block-bindings/index.js +47 -0
- package/build/components/block-bindings/index.js.map +7 -0
- package/build/components/block-bindings/source-fields-list.js +135 -0
- package/build/components/block-bindings/source-fields-list.js.map +7 -0
- package/build/components/block-bindings/use-block-bindings-utils.js +66 -0
- package/build/components/block-bindings/use-block-bindings-utils.js.map +7 -0
- package/build/components/block-edit/edit.js +1 -3
- package/build/components/block-edit/edit.js.map +2 -2
- package/build/components/block-styles/preview-panel.js +3 -5
- package/build/components/block-styles/preview-panel.js.map +2 -2
- package/build/components/block-styles/use-styles-for-block.js +2 -2
- package/build/components/block-styles/use-styles-for-block.js.map +2 -2
- package/build/components/block-toolbar/index.js +1 -8
- package/build/components/block-toolbar/index.js.map +3 -3
- package/build/components/content-only-controls/index.js +2 -25
- package/build/components/content-only-controls/index.js.map +2 -2
- package/build/components/content-only-controls/link/index.js +3 -3
- package/build/components/content-only-controls/link/index.js.map +2 -2
- package/build/components/content-only-controls/media/index.js +3 -3
- package/build/components/content-only-controls/media/index.js.map +2 -2
- package/build/components/content-only-controls/rich-text/index.js +3 -2
- package/build/components/content-only-controls/rich-text/index.js.map +2 -2
- package/build/components/dimensions-tool/width-height-tool.js +4 -16
- package/build/components/dimensions-tool/width-height-tool.js.map +3 -3
- package/build/components/image-editor/cropper.js +3 -34
- package/build/components/image-editor/cropper.js.map +3 -3
- package/build/components/image-editor/index.js +9 -3
- package/build/components/image-editor/index.js.map +2 -2
- package/build/components/image-editor/use-transform-image.js +62 -32
- package/build/components/image-editor/use-transform-image.js.map +2 -2
- package/build/components/image-editor/zoom-dropdown.js +2 -2
- package/build/components/image-editor/zoom-dropdown.js.map +2 -2
- package/build/components/index.js +10 -3
- package/build/components/index.js.map +2 -2
- package/build/components/inserter-draggable-blocks/index.js +8 -4
- package/build/components/inserter-draggable-blocks/index.js.map +2 -2
- package/build/components/inspector-controls-tabs/content-tab.js +3 -2
- package/build/components/inspector-controls-tabs/content-tab.js.map +2 -2
- package/build/components/tool-selector/index.js +46 -0
- package/build/components/tool-selector/index.js.map +7 -0
- package/build/hooks/block-bindings.js +22 -260
- package/build/hooks/block-bindings.js.map +3 -3
- package/build/layouts/grid.js +23 -28
- package/build/layouts/grid.js.map +2 -2
- package/build/utils/block-bindings.js +2 -44
- package/build/utils/block-bindings.js.map +3 -3
- package/build/utils/index.js +2 -5
- package/build/utils/index.js.map +2 -2
- package/build-module/components/block-alignment-matrix-control/index.js +1 -8
- package/build-module/components/block-alignment-matrix-control/index.js.map +2 -2
- package/build-module/components/block-bindings/attribute-control.js +150 -0
- package/build-module/components/block-bindings/attribute-control.js.map +7 -0
- package/build-module/components/block-bindings/index.js +10 -0
- package/build-module/components/block-bindings/index.js.map +7 -0
- package/build-module/components/block-bindings/source-fields-list.js +104 -0
- package/build-module/components/block-bindings/source-fields-list.js.map +7 -0
- package/build-module/components/block-bindings/use-block-bindings-utils.js +45 -0
- package/build-module/components/block-bindings/use-block-bindings-utils.js.map +7 -0
- package/build-module/components/block-edit/edit.js +1 -3
- package/build-module/components/block-edit/edit.js.map +2 -2
- package/build-module/components/block-styles/preview-panel.js +3 -5
- package/build-module/components/block-styles/preview-panel.js.map +2 -2
- package/build-module/components/block-styles/use-styles-for-block.js +2 -2
- package/build-module/components/block-styles/use-styles-for-block.js.map +2 -2
- package/build-module/components/block-toolbar/index.js +1 -8
- package/build-module/components/block-toolbar/index.js.map +2 -2
- package/build-module/components/content-only-controls/index.js +2 -25
- package/build-module/components/content-only-controls/index.js.map +2 -2
- package/build-module/components/content-only-controls/link/index.js +3 -3
- package/build-module/components/content-only-controls/link/index.js.map +2 -2
- package/build-module/components/content-only-controls/media/index.js +3 -3
- package/build-module/components/content-only-controls/media/index.js.map +2 -2
- package/build-module/components/content-only-controls/rich-text/index.js +3 -2
- package/build-module/components/content-only-controls/rich-text/index.js.map +2 -2
- package/build-module/components/dimensions-tool/width-height-tool.js +4 -6
- package/build-module/components/dimensions-tool/width-height-tool.js.map +2 -2
- package/build-module/components/image-editor/cropper.js +3 -34
- package/build-module/components/image-editor/cropper.js.map +2 -2
- package/build-module/components/image-editor/index.js +9 -3
- package/build-module/components/image-editor/index.js.map +2 -2
- package/build-module/components/image-editor/use-transform-image.js +63 -33
- package/build-module/components/image-editor/use-transform-image.js.map +2 -2
- package/build-module/components/image-editor/zoom-dropdown.js +2 -2
- package/build-module/components/image-editor/zoom-dropdown.js.map +2 -2
- package/build-module/components/index.js +74 -66
- package/build-module/components/index.js.map +2 -2
- package/build-module/components/inserter-draggable-blocks/index.js +8 -4
- package/build-module/components/inserter-draggable-blocks/index.js.map +2 -2
- package/build-module/components/inspector-controls-tabs/content-tab.js +3 -2
- package/build-module/components/inspector-controls-tabs/content-tab.js.map +2 -2
- package/build-module/components/tool-selector/index.js +15 -0
- package/build-module/components/tool-selector/index.js.map +7 -0
- package/build-module/hooks/block-bindings.js +27 -270
- package/build-module/hooks/block-bindings.js.map +2 -2
- package/build-module/layouts/grid.js +23 -28
- package/build-module/layouts/grid.js.map +2 -2
- package/build-module/utils/block-bindings.js +1 -42
- package/build-module/utils/block-bindings.js.map +2 -2
- package/build-module/utils/index.js +1 -3
- package/build-module/utils/index.js.map +2 -2
- package/build-style/style-rtl.css +6 -6
- package/build-style/style.css +6 -6
- package/package.json +39 -40
- package/src/components/block-alignment-matrix-control/index.js +1 -5
- package/src/components/block-bindings/attribute-control.js +174 -0
- package/src/components/block-bindings/index.js +6 -0
- package/src/components/block-bindings/source-fields-list.js +130 -0
- package/src/components/block-bindings/use-block-bindings-utils.js +156 -0
- package/src/components/block-edit/edit.js +1 -3
- package/src/components/block-styles/preview-panel.js +3 -5
- package/src/components/block-styles/use-styles-for-block.js +2 -2
- package/src/components/block-toolbar/index.js +1 -6
- package/src/components/block-toolbar/style.scss +6 -6
- package/src/components/content-only-controls/index.js +2 -27
- package/src/components/content-only-controls/link/index.js +3 -3
- package/src/components/content-only-controls/media/index.js +3 -3
- package/src/components/content-only-controls/rich-text/index.js +3 -2
- package/src/components/dimensions-tool/width-height-tool.js +6 -13
- package/src/components/image-editor/cropper.js +3 -32
- package/src/components/image-editor/index.js +34 -29
- package/src/components/image-editor/use-transform-image.js +80 -34
- package/src/components/image-editor/zoom-dropdown.js +2 -2
- package/src/components/index.js +9 -1
- package/src/components/inserter/style.scss +1 -1
- package/src/components/inserter-draggable-blocks/index.js +19 -8
- package/src/components/inspector-controls-tabs/content-tab.js +6 -2
- package/src/components/tool-selector/index.js +19 -0
- package/src/hooks/block-bindings.js +27 -347
- package/src/layouts/grid.js +40 -72
- package/src/layouts/test/grid.js +14 -0
- package/src/utils/block-bindings.js +0 -157
- package/src/utils/index.js +0 -1
- package/tsconfig.json +1 -0
- package/build/components/block-toolbar/block-name-context.js +0 -30
- package/build/components/block-toolbar/block-name-context.js.map +0 -7
- package/build-module/components/block-toolbar/block-name-context.js +0 -9
- package/build-module/components/block-toolbar/block-name-context.js.map +0 -7
- package/src/components/block-toolbar/block-name-context.js +0 -9
- /package/src/{utils → components/block-bindings}/test/use-block-bindings-utils.js +0 -0
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
// packages/block-editor/src/components/image-editor/cropper.js
|
|
2
|
-
import Cropper from "react-easy-crop";
|
|
3
2
|
import clsx from "clsx";
|
|
4
3
|
import { Spinner } from "@wordpress/components";
|
|
5
4
|
import { useResizeObserver } from "@wordpress/compose";
|
|
6
|
-
import {
|
|
5
|
+
import { ImageCropper as ImageCropperComponent } from "@wordpress/image-cropper";
|
|
7
6
|
import { useImageEditingContext } from "./context";
|
|
8
7
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
8
|
function ImageCropper({
|
|
@@ -14,17 +13,7 @@ function ImageCropper({
|
|
|
14
13
|
naturalWidth,
|
|
15
14
|
borderProps
|
|
16
15
|
}) {
|
|
17
|
-
const {
|
|
18
|
-
isInProgress,
|
|
19
|
-
editedUrl,
|
|
20
|
-
position,
|
|
21
|
-
zoom,
|
|
22
|
-
aspect,
|
|
23
|
-
setPosition,
|
|
24
|
-
setCrop,
|
|
25
|
-
setZoom,
|
|
26
|
-
rotation
|
|
27
|
-
} = useImageEditingContext();
|
|
16
|
+
const { isInProgress, editedUrl, rotation } = useImageEditingContext();
|
|
28
17
|
const [contentResizeListener, { width: clientWidth }] = useResizeObserver();
|
|
29
18
|
let editedHeight = height || clientWidth * naturalHeight / naturalWidth;
|
|
30
19
|
if (rotation % 180 === 90) {
|
|
@@ -46,27 +35,7 @@ function ImageCropper({
|
|
|
46
35
|
height: editedHeight
|
|
47
36
|
},
|
|
48
37
|
children: [
|
|
49
|
-
/* @__PURE__ */ jsx(
|
|
50
|
-
Cropper,
|
|
51
|
-
{
|
|
52
|
-
image: editedUrl || url,
|
|
53
|
-
disabled: isInProgress,
|
|
54
|
-
minZoom: MIN_ZOOM / 100,
|
|
55
|
-
maxZoom: MAX_ZOOM / 100,
|
|
56
|
-
crop: position,
|
|
57
|
-
zoom: zoom / 100,
|
|
58
|
-
aspect,
|
|
59
|
-
onCropChange: (pos) => {
|
|
60
|
-
setPosition(pos);
|
|
61
|
-
},
|
|
62
|
-
onCropComplete: (newCropPercent) => {
|
|
63
|
-
setCrop(newCropPercent);
|
|
64
|
-
},
|
|
65
|
-
onZoomChange: (newZoom) => {
|
|
66
|
-
setZoom(newZoom * 100);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
),
|
|
38
|
+
/* @__PURE__ */ jsx(ImageCropperComponent, { src: editedUrl || url }),
|
|
70
39
|
isInProgress && /* @__PURE__ */ jsx(Spinner, {})
|
|
71
40
|
]
|
|
72
41
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/image-editor/cropper.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * External dependencies\n */\nimport
|
|
5
|
-
"mappings": ";AAGA,OAAO,
|
|
4
|
+
"sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Spinner } from '@wordpress/components';\nimport { useResizeObserver } from '@wordpress/compose';\nimport { ImageCropper as ImageCropperComponent } from '@wordpress/image-cropper';\n\n/**\n * Internal dependencies\n */\nimport { useImageEditingContext } from './context';\n\nexport default function ImageCropper( {\n\turl,\n\twidth,\n\theight,\n\tnaturalHeight,\n\tnaturalWidth,\n\tborderProps,\n} ) {\n\tconst { isInProgress, editedUrl, rotation } = useImageEditingContext();\n\tconst [ contentResizeListener, { width: clientWidth } ] =\n\t\tuseResizeObserver();\n\n\tlet editedHeight = height || ( clientWidth * naturalHeight ) / naturalWidth;\n\n\tif ( rotation % 180 === 90 ) {\n\t\teditedHeight = ( clientWidth * naturalWidth ) / naturalHeight;\n\t}\n\n\tconst area = (\n\t\t<div\n\t\t\tclassName={ clsx(\n\t\t\t\t'wp-block-image__crop-area',\n\t\t\t\tborderProps?.className,\n\t\t\t\t{\n\t\t\t\t\t'is-applying': isInProgress,\n\t\t\t\t}\n\t\t\t) }\n\t\t\tstyle={ {\n\t\t\t\t...borderProps?.style,\n\t\t\t\twidth: width || clientWidth,\n\t\t\t\theight: editedHeight,\n\t\t\t} }\n\t\t>\n\t\t\t<ImageCropperComponent src={ editedUrl || url } />\n\t\t\t{ isInProgress && <Spinner /> }\n\t\t</div>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ contentResizeListener }\n\t\t\t{ area }\n\t\t</>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,OAAO,UAAU;AAKjB,SAAS,eAAe;AACxB,SAAS,yBAAyB;AAClC,SAAS,gBAAgB,6BAA6B;AAKtD,SAAS,8BAA8B;AAqBrC,SAoBA,UANC,KAdD;AAnBa,SAAR,aAA+B;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,EAAE,cAAc,WAAW,SAAS,IAAI,uBAAuB;AACrE,QAAM,CAAE,uBAAuB,EAAE,OAAO,YAAY,CAAE,IACrD,kBAAkB;AAEnB,MAAI,eAAe,UAAY,cAAc,gBAAkB;AAE/D,MAAK,WAAW,QAAQ,IAAK;AAC5B,mBAAiB,cAAc,eAAiB;AAAA,EACjD;AAEA,QAAM,OACL;AAAA,IAAC;AAAA;AAAA,MACA,WAAY;AAAA,QACX;AAAA,QACA,aAAa;AAAA,QACb;AAAA,UACC,eAAe;AAAA,QAChB;AAAA,MACD;AAAA,MACA,OAAQ;AAAA,QACP,GAAG,aAAa;AAAA,QAChB,OAAO,SAAS;AAAA,QAChB,QAAQ;AAAA,MACT;AAAA,MAEA;AAAA,4BAAC,yBAAsB,KAAM,aAAa,KAAM;AAAA,QAC9C,gBAAgB,oBAAC,WAAQ;AAAA;AAAA;AAAA,EAC5B;AAGD,SACC,iCACG;AAAA;AAAA,IACA;AAAA,KACH;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// packages/block-editor/src/components/image-editor/index.js
|
|
2
2
|
import { ToolbarGroup, ToolbarItem } from "@wordpress/components";
|
|
3
|
+
import { ImageCropperProvider } from "@wordpress/image-cropper";
|
|
3
4
|
import AspectRatioDropdown from "./aspect-ratio-dropdown";
|
|
4
5
|
import BlockControls from "../block-controls";
|
|
5
6
|
import ImageEditingProvider from "./context";
|
|
@@ -19,7 +20,7 @@ function ImageEditor({
|
|
|
19
20
|
onFinishEditing,
|
|
20
21
|
borderProps
|
|
21
22
|
}) {
|
|
22
|
-
return /* @__PURE__ */ jsxs(
|
|
23
|
+
return /* @__PURE__ */ jsx(ImageCropperProvider, { children: /* @__PURE__ */ jsxs(
|
|
23
24
|
ImageEditingProvider,
|
|
24
25
|
{
|
|
25
26
|
id,
|
|
@@ -43,14 +44,19 @@ function ImageEditor({
|
|
|
43
44
|
/* @__PURE__ */ jsxs(BlockControls, { children: [
|
|
44
45
|
/* @__PURE__ */ jsxs(ToolbarGroup, { children: [
|
|
45
46
|
/* @__PURE__ */ jsx(ZoomDropdown, {}),
|
|
46
|
-
/* @__PURE__ */ jsx(ToolbarItem, { children: (toggleProps) => /* @__PURE__ */ jsx(
|
|
47
|
+
/* @__PURE__ */ jsx(ToolbarItem, { children: (toggleProps) => /* @__PURE__ */ jsx(
|
|
48
|
+
AspectRatioDropdown,
|
|
49
|
+
{
|
|
50
|
+
toggleProps
|
|
51
|
+
}
|
|
52
|
+
) }),
|
|
47
53
|
/* @__PURE__ */ jsx(RotationButton, {})
|
|
48
54
|
] }),
|
|
49
55
|
/* @__PURE__ */ jsx(ToolbarGroup, { children: /* @__PURE__ */ jsx(FormControls, {}) })
|
|
50
56
|
] })
|
|
51
57
|
]
|
|
52
58
|
}
|
|
53
|
-
);
|
|
59
|
+
) });
|
|
54
60
|
}
|
|
55
61
|
export {
|
|
56
62
|
ImageEditor as default
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/image-editor/index.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { ToolbarGroup, ToolbarItem } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport AspectRatioDropdown from './aspect-ratio-dropdown';\nimport BlockControls from '../block-controls';\nimport ImageEditingProvider from './context';\nimport Cropper from './cropper';\nimport ZoomDropdown from './zoom-dropdown';\nimport RotationButton from './rotation-button';\nimport FormControls from './form-controls';\n\nexport default function ImageEditor( {\n\tid,\n\turl,\n\twidth,\n\theight,\n\tnaturalHeight,\n\tnaturalWidth,\n\tonSaveImage,\n\tonFinishEditing,\n\tborderProps,\n} ) {\n\treturn (\n\t\t<ImageEditingProvider\n\t\t\tid={ id }\n\t\t\turl={ url }\n\t\t\tnaturalWidth={ naturalWidth }\n\t\t\tnaturalHeight={ naturalHeight }\n\t\t\tonSaveImage={ onSaveImage }\n\t\t\tonFinishEditing={ onFinishEditing }\n\t\t>\n\t\t\t<Cropper\n\t\t\t\tborderProps={ borderProps }\n\t\t\t\turl={ url }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t/>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ZoomDropdown />\n\t\t\t\t\t<ToolbarItem>\n\t\t\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t\t\t<AspectRatioDropdown
|
|
5
|
-
"mappings": ";AAGA,SAAS,cAAc,mBAAmB;
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { ToolbarGroup, ToolbarItem } from '@wordpress/components';\nimport { ImageCropperProvider } from '@wordpress/image-cropper';\n\n/**\n * Internal dependencies\n */\nimport AspectRatioDropdown from './aspect-ratio-dropdown';\nimport BlockControls from '../block-controls';\nimport ImageEditingProvider from './context';\nimport Cropper from './cropper';\nimport ZoomDropdown from './zoom-dropdown';\nimport RotationButton from './rotation-button';\nimport FormControls from './form-controls';\n\nexport default function ImageEditor( {\n\tid,\n\turl,\n\twidth,\n\theight,\n\tnaturalHeight,\n\tnaturalWidth,\n\tonSaveImage,\n\tonFinishEditing,\n\tborderProps,\n} ) {\n\treturn (\n\t\t<ImageCropperProvider>\n\t\t\t<ImageEditingProvider\n\t\t\t\tid={ id }\n\t\t\t\turl={ url }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tonSaveImage={ onSaveImage }\n\t\t\t\tonFinishEditing={ onFinishEditing }\n\t\t\t>\n\t\t\t\t<Cropper\n\t\t\t\t\tborderProps={ borderProps }\n\t\t\t\t\turl={ url }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\t/>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ZoomDropdown />\n\t\t\t\t\t\t<ToolbarItem>\n\t\t\t\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t\t\t\t<AspectRatioDropdown\n\t\t\t\t\t\t\t\t\ttoggleProps={ toggleProps }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToolbarItem>\n\t\t\t\t\t\t<RotationButton />\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<FormControls />\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t</ImageEditingProvider>\n\t\t</ImageCropperProvider>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA,SAAS,cAAc,mBAAmB;AAC1C,SAAS,4BAA4B;AAKrC,OAAO,yBAAyB;AAChC,OAAO,mBAAmB;AAC1B,OAAO,0BAA0B;AACjC,OAAO,aAAa;AACpB,OAAO,kBAAkB;AACzB,OAAO,oBAAoB;AAC3B,OAAO,kBAAkB;AAuBrB,cASC,YATD;AArBW,SAAR,YAA8B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,SACC,oBAAC,wBACA;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA;AAAA,UAAC;AAAA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACD;AAAA,QACA,qBAAC,iBACA;AAAA,+BAAC,gBACA;AAAA,gCAAC,gBAAa;AAAA,YACd,oBAAC,eACE,WAAE,gBACH;AAAA,cAAC;AAAA;AAAA,gBACA;AAAA;AAAA,YACD,GAEF;AAAA,YACA,oBAAC,kBAAe;AAAA,aACjB;AAAA,UACA,oBAAC,gBACA,8BAAC,gBAAa,GACf;AAAA,WACD;AAAA;AAAA;AAAA,EACD,GACD;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,32 +1,52 @@
|
|
|
1
1
|
// packages/block-editor/src/components/image-editor/use-transform-image.js
|
|
2
|
-
import { useCallback, useMemo, useState } from "@wordpress/element";
|
|
2
|
+
import { useCallback, useEffect, useMemo, useState } from "@wordpress/element";
|
|
3
3
|
import { applyFilters } from "@wordpress/hooks";
|
|
4
|
+
import { useImageCropper } from "@wordpress/image-cropper";
|
|
4
5
|
function useTransformImage({
|
|
5
6
|
url,
|
|
6
7
|
naturalWidth,
|
|
7
8
|
naturalHeight
|
|
8
9
|
}) {
|
|
9
10
|
const [editedUrl, setEditedUrl] = useState();
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
11
|
+
const { cropperState, setCropperState } = useImageCropper();
|
|
12
|
+
const { zoom, aspectRatio, crop, croppedArea } = cropperState;
|
|
13
|
+
const setZoom = useCallback(
|
|
14
|
+
(newZoom) => {
|
|
15
|
+
setCropperState({ zoom: newZoom });
|
|
16
|
+
},
|
|
17
|
+
[setCropperState]
|
|
18
|
+
);
|
|
19
|
+
const setAspectRatio = useCallback(
|
|
20
|
+
(newAspect) => {
|
|
21
|
+
setCropperState({ aspectRatio: newAspect });
|
|
22
|
+
},
|
|
23
|
+
[setCropperState]
|
|
24
|
+
);
|
|
14
25
|
const defaultAspect = naturalWidth / naturalHeight;
|
|
15
|
-
const
|
|
26
|
+
const rotatedAspect = naturalHeight / naturalWidth;
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
setAspectRatio(defaultAspect);
|
|
29
|
+
}, []);
|
|
30
|
+
const [internalRotation, setInternalRotation] = useState(0);
|
|
16
31
|
const rotateClockwise = useCallback(() => {
|
|
17
|
-
const angle = (
|
|
32
|
+
const angle = (internalRotation + 90) % 360;
|
|
18
33
|
let naturalAspectRatio = defaultAspect;
|
|
19
|
-
|
|
34
|
+
const isDefaultAspect = defaultAspect === aspectRatio || rotatedAspect === aspectRatio;
|
|
35
|
+
const shouldResetAspect = zoom !== 1 || !isDefaultAspect;
|
|
36
|
+
if (internalRotation % 180 === 90) {
|
|
20
37
|
naturalAspectRatio = 1 / defaultAspect;
|
|
21
38
|
}
|
|
22
39
|
if (angle === 0) {
|
|
23
40
|
setEditedUrl();
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
41
|
+
setInternalRotation(angle);
|
|
42
|
+
const newAspectRatio = shouldResetAspect ? aspectRatio : defaultAspect;
|
|
43
|
+
setCropperState({
|
|
44
|
+
aspectRatio: newAspectRatio,
|
|
45
|
+
crop: {
|
|
46
|
+
x: -(crop.y * naturalAspectRatio),
|
|
47
|
+
y: crop.x * naturalAspectRatio
|
|
48
|
+
}
|
|
49
|
+
});
|
|
30
50
|
return;
|
|
31
51
|
}
|
|
32
52
|
function editImage(event) {
|
|
@@ -52,12 +72,15 @@ function useTransformImage({
|
|
|
52
72
|
context.drawImage(event.target, 0, 0);
|
|
53
73
|
canvas.toBlob((blob) => {
|
|
54
74
|
setEditedUrl(URL.createObjectURL(blob));
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
75
|
+
setInternalRotation(angle);
|
|
76
|
+
const newAspectRatio = shouldResetAspect ? aspectRatio : canvas.width / canvas.height;
|
|
77
|
+
setCropperState({
|
|
78
|
+
aspectRatio: newAspectRatio,
|
|
79
|
+
crop: {
|
|
80
|
+
x: -(crop.y * naturalAspectRatio),
|
|
81
|
+
y: crop.x * naturalAspectRatio
|
|
82
|
+
}
|
|
83
|
+
});
|
|
61
84
|
});
|
|
62
85
|
}
|
|
63
86
|
const el = new window.Image();
|
|
@@ -71,32 +94,39 @@ function useTransformImage({
|
|
|
71
94
|
if (typeof imgCrossOrigin === "string") {
|
|
72
95
|
el.crossOrigin = imgCrossOrigin;
|
|
73
96
|
}
|
|
74
|
-
}, [
|
|
97
|
+
}, [
|
|
98
|
+
internalRotation,
|
|
99
|
+
defaultAspect,
|
|
100
|
+
url,
|
|
101
|
+
setCropperState,
|
|
102
|
+
crop,
|
|
103
|
+
zoom,
|
|
104
|
+
aspectRatio,
|
|
105
|
+
rotatedAspect,
|
|
106
|
+
setInternalRotation
|
|
107
|
+
]);
|
|
75
108
|
return useMemo(
|
|
76
109
|
() => ({
|
|
77
110
|
editedUrl,
|
|
78
111
|
setEditedUrl,
|
|
79
|
-
crop,
|
|
80
|
-
setCrop,
|
|
81
|
-
position,
|
|
82
|
-
setPosition,
|
|
112
|
+
crop: croppedArea,
|
|
83
113
|
zoom,
|
|
84
114
|
setZoom,
|
|
85
|
-
rotation,
|
|
86
|
-
setRotation,
|
|
115
|
+
rotation: internalRotation,
|
|
87
116
|
rotateClockwise,
|
|
88
|
-
aspect,
|
|
89
|
-
setAspect,
|
|
117
|
+
aspect: aspectRatio,
|
|
118
|
+
setAspect: setAspectRatio,
|
|
90
119
|
defaultAspect
|
|
91
120
|
}),
|
|
92
121
|
[
|
|
93
122
|
editedUrl,
|
|
94
|
-
|
|
95
|
-
position,
|
|
123
|
+
croppedArea,
|
|
96
124
|
zoom,
|
|
97
|
-
|
|
125
|
+
setZoom,
|
|
126
|
+
internalRotation,
|
|
98
127
|
rotateClockwise,
|
|
99
|
-
|
|
128
|
+
aspectRatio,
|
|
129
|
+
setAspectRatio,
|
|
100
130
|
defaultAspect
|
|
101
131
|
]
|
|
102
132
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/image-editor/use-transform-image.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo, useState } from '@wordpress/element';\nimport { applyFilters } from '@wordpress/hooks';\n\nexport default function useTransformImage( {\n\turl,\n\tnaturalWidth,\n\tnaturalHeight,\n} ) {\n\tconst [ editedUrl, setEditedUrl ] = useState();\n\tconst
|
|
5
|
-
"mappings": ";AAGA,SAAS,aAAa,SAAS,gBAAgB;
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useMemo, useState } from '@wordpress/element';\nimport { applyFilters } from '@wordpress/hooks';\nimport { useImageCropper } from '@wordpress/image-cropper';\n\nexport default function useTransformImage( {\n\turl,\n\tnaturalWidth,\n\tnaturalHeight,\n} ) {\n\tconst [ editedUrl, setEditedUrl ] = useState();\n\tconst { cropperState, setCropperState } = useImageCropper();\n\tconst { zoom, aspectRatio, crop, croppedArea } = cropperState;\n\n\tconst setZoom = useCallback(\n\t\t( newZoom ) => {\n\t\t\tsetCropperState( { zoom: newZoom } );\n\t\t},\n\t\t[ setCropperState ]\n\t);\n\n\tconst setAspectRatio = useCallback(\n\t\t( newAspect ) => {\n\t\t\tsetCropperState( { aspectRatio: newAspect } );\n\t\t},\n\t\t[ setCropperState ]\n\t);\n\n\tconst defaultAspect = naturalWidth / naturalHeight;\n\tconst rotatedAspect = naturalHeight / naturalWidth;\n\n\t// Initialize aspect ratio on mount or when defaultAspect changes\n\tuseEffect( () => {\n\t\tsetAspectRatio( defaultAspect );\n\t}, [] ); // eslint-disable-line react-hooks/exhaustive-deps\n\n\t/**\n\t * rotateClockwise rotates the image by 90\u00B0 clockwise by drawing the original image onto a canvas with rotation applied,\n\t * then saves it as a new blob URL (editedUrl).\n\t * This creates a new rotated image file, bypassing the image-cropper\u2019s CSS transform rotation.\n\t * It's a bespoke solution to ensure that the rotated image fills the content width.\n\t */\n\tconst [ internalRotation, setInternalRotation ] = useState( 0 );\n\tconst rotateClockwise = useCallback( () => {\n\t\tconst angle = ( internalRotation + 90 ) % 360;\n\n\t\tlet naturalAspectRatio = defaultAspect;\n\t\tconst isDefaultAspect =\n\t\t\tdefaultAspect === aspectRatio || rotatedAspect === aspectRatio;\n\t\tconst shouldResetAspect = zoom !== 1 || ! isDefaultAspect;\n\n\t\tif ( internalRotation % 180 === 90 ) {\n\t\t\tnaturalAspectRatio = 1 / defaultAspect;\n\t\t}\n\n\t\tif ( angle === 0 ) {\n\t\t\tsetEditedUrl();\n\t\t\tsetInternalRotation( angle );\n\t\t\tconst newAspectRatio = shouldResetAspect\n\t\t\t\t? aspectRatio\n\t\t\t\t: defaultAspect;\n\t\t\tsetCropperState( {\n\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\tcrop: {\n\t\t\t\t\tx: -( crop.y * naturalAspectRatio ),\n\t\t\t\t\ty: crop.x * naturalAspectRatio,\n\t\t\t\t},\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tfunction editImage( event ) {\n\t\t\tconst canvas = document.createElement( 'canvas' );\n\n\t\t\tlet translateX = 0;\n\t\t\tlet translateY = 0;\n\n\t\t\tif ( angle % 180 ) {\n\t\t\t\tcanvas.width = event.target.height;\n\t\t\t\tcanvas.height = event.target.width;\n\t\t\t} else {\n\t\t\t\tcanvas.width = event.target.width;\n\t\t\t\tcanvas.height = event.target.height;\n\t\t\t}\n\n\t\t\tif ( angle === 90 || angle === 180 ) {\n\t\t\t\ttranslateX = canvas.width;\n\t\t\t}\n\n\t\t\tif ( angle === 270 || angle === 180 ) {\n\t\t\t\ttranslateY = canvas.height;\n\t\t\t}\n\n\t\t\tconst context = canvas.getContext( '2d' );\n\n\t\t\tcontext.translate( translateX, translateY );\n\t\t\tcontext.rotate( ( angle * Math.PI ) / 180 );\n\t\t\tcontext.drawImage( event.target, 0, 0 );\n\n\t\t\tcanvas.toBlob( ( blob ) => {\n\t\t\t\tsetEditedUrl( URL.createObjectURL( blob ) );\n\t\t\t\tsetInternalRotation( angle );\n\t\t\t\tconst newAspectRatio = shouldResetAspect\n\t\t\t\t\t? aspectRatio\n\t\t\t\t\t: canvas.width / canvas.height;\n\t\t\t\tsetCropperState( {\n\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t\tcrop: {\n\t\t\t\t\t\tx: -( crop.y * naturalAspectRatio ),\n\t\t\t\t\t\ty: crop.x * naturalAspectRatio,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} );\n\t\t}\n\n\t\tconst el = new window.Image();\n\t\tel.src = url;\n\t\tel.onload = editImage;\n\n\t\tconst imgCrossOrigin = applyFilters(\n\t\t\t'media.crossOrigin',\n\t\t\tundefined,\n\t\t\turl\n\t\t);\n\t\tif ( typeof imgCrossOrigin === 'string' ) {\n\t\t\tel.crossOrigin = imgCrossOrigin;\n\t\t}\n\t}, [\n\t\tinternalRotation,\n\t\tdefaultAspect,\n\t\turl,\n\t\tsetCropperState,\n\t\tcrop,\n\t\tzoom,\n\t\taspectRatio,\n\t\trotatedAspect,\n\t\tsetInternalRotation,\n\t] );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\teditedUrl,\n\t\t\tsetEditedUrl,\n\t\t\tcrop: croppedArea,\n\t\t\tzoom,\n\t\t\tsetZoom,\n\t\t\trotation: internalRotation,\n\t\t\trotateClockwise,\n\t\t\taspect: aspectRatio,\n\t\t\tsetAspect: setAspectRatio,\n\t\t\tdefaultAspect,\n\t\t} ),\n\t\t[\n\t\t\teditedUrl,\n\t\t\tcroppedArea,\n\t\t\tzoom,\n\t\t\tsetZoom,\n\t\t\tinternalRotation,\n\t\t\trotateClockwise,\n\t\t\taspectRatio,\n\t\t\tsetAspectRatio,\n\t\t\tdefaultAspect,\n\t\t]\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/components/image-editor/zoom-dropdown.js"],
|
|
4
|
-
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tToolbarButton,\n\tRangeControl,\n\tDropdown,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { search } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { MIN_ZOOM, MAX_ZOOM, POPOVER_PROPS } from './constants';\nimport { useImageEditingContext } from './context';\n\nexport default function ZoomDropdown() {\n\tconst { isInProgress, zoom, setZoom } = useImageEditingContext();\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"wp-block-image__zoom\"\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ search }\n\t\t\t\t\tlabel={ __( 'Zoom' ) }\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\tdisabled={ isInProgress }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Zoom' ) }\n\t\t\t\t\t\tmin={ MIN_ZOOM }\n\t\t\t\t\t\tmax={ MAX_ZOOM }\n\t\t\t\t\t\tvalue={ Math.round( zoom ) }\n\t\t\t\t\t\tonChange={ setZoom }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n"],
|
|
5
|
-
"mappings": ";AAGA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA,wCAAwC;AAAA,OAClC;AACP,SAAS,UAAU;AACnB,SAAS,cAAc;AAKvB,SAAS,UAAU,UAAU,qBAAqB;AAClD,SAAS,8BAA8B;AASnC;AAPW,SAAR,eAAgC;AACtC,QAAM,EAAE,cAAc,MAAM,QAAQ,IAAI,uBAAuB;AAC/D,SACC;AAAA,IAAC;AAAA;AAAA,MACA,kBAAiB;AAAA,MACjB,cAAe;AAAA,MACf,cAAe,CAAE,EAAE,QAAQ,SAAS,MACnC;AAAA,QAAC;AAAA;AAAA,UACA,MAAO;AAAA,UACP,OAAQ,GAAI,MAAO;AAAA,UACnB,SAAU;AAAA,UACV,iBAAgB;AAAA,UAChB,UAAW;AAAA;AAAA,MACZ;AAAA,MAED,eAAgB,MACf,oBAAC,0BAAuB,aAAY,UACnC;AAAA,QAAC;AAAA;AAAA,UACA,uBAAqB;AAAA,UACrB,yBAAuB;AAAA,UACvB,OAAQ,GAAI,MAAO;AAAA,UACnB,KAAM;AAAA,UACN,KAAM;AAAA,UACN,OAAQ,KAAK,MAAO,
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tToolbarButton,\n\tRangeControl,\n\tDropdown,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { search } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { MIN_ZOOM, MAX_ZOOM, POPOVER_PROPS } from './constants';\nimport { useImageEditingContext } from './context';\n\nexport default function ZoomDropdown() {\n\tconst { isInProgress, zoom, setZoom } = useImageEditingContext();\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"wp-block-image__zoom\"\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ search }\n\t\t\t\t\tlabel={ __( 'Zoom' ) }\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\tdisabled={ isInProgress }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Zoom' ) }\n\t\t\t\t\t\tmin={ MIN_ZOOM }\n\t\t\t\t\t\tmax={ MAX_ZOOM }\n\t\t\t\t\t\tvalue={ Math.round( zoom * 100 ) }\n\t\t\t\t\t\tonChange={ ( newZoom ) => setZoom( newZoom / 100 ) }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n"],
|
|
5
|
+
"mappings": ";AAGA;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA,wCAAwC;AAAA,OAClC;AACP,SAAS,UAAU;AACnB,SAAS,cAAc;AAKvB,SAAS,UAAU,UAAU,qBAAqB;AAClD,SAAS,8BAA8B;AASnC;AAPW,SAAR,eAAgC;AACtC,QAAM,EAAE,cAAc,MAAM,QAAQ,IAAI,uBAAuB;AAC/D,SACC;AAAA,IAAC;AAAA;AAAA,MACA,kBAAiB;AAAA,MACjB,cAAe;AAAA,MACf,cAAe,CAAE,EAAE,QAAQ,SAAS,MACnC;AAAA,QAAC;AAAA;AAAA,UACA,MAAO;AAAA,UACP,OAAQ,GAAI,MAAO;AAAA,UACnB,SAAU;AAAA,UACV,iBAAgB;AAAA,UAChB,UAAW;AAAA;AAAA,MACZ;AAAA,MAED,eAAgB,MACf,oBAAC,0BAAuB,aAAY,UACnC;AAAA,QAAC;AAAA;AAAA,UACA,uBAAqB;AAAA,UACrB,yBAAuB;AAAA,UACvB,OAAQ,GAAI,MAAO;AAAA,UACnB,KAAM;AAAA,UACN,KAAM;AAAA,UACN,OAAQ,KAAK,MAAO,OAAO,GAAI;AAAA,UAC/B,UAAW,CAAE,YAAa,QAAS,UAAU,GAAI;AAAA;AAAA,MAClD,GACD;AAAA;AAAA,EAEF;AAEF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -8,6 +8,11 @@ import {
|
|
|
8
8
|
BlockAlignmentControl,
|
|
9
9
|
BlockAlignmentToolbar
|
|
10
10
|
} from "./block-alignment-control";
|
|
11
|
+
import {
|
|
12
|
+
BlockBindingsAttributeControl,
|
|
13
|
+
BlockBindingsSourceFieldsList,
|
|
14
|
+
useBlockBindingsUtils
|
|
15
|
+
} from "./block-bindings";
|
|
11
16
|
import { default as default3 } from "./block-full-height-alignment-control";
|
|
12
17
|
import { default as default4 } from "./block-alignment-matrix-control";
|
|
13
18
|
import { default as default5 } from "./block-breadcrumb";
|
|
@@ -99,95 +104,97 @@ import {
|
|
|
99
104
|
} from "./spacing-sizes-control/utils";
|
|
100
105
|
import { default as default57 } from "./block-settings-menu/block-settings-menu-first-item";
|
|
101
106
|
import { default as default58 } from "./block-toolbar/block-toolbar-last-item";
|
|
102
|
-
import { default as default59 } from "./
|
|
103
|
-
import { default as default60 } from "./
|
|
104
|
-
import { default as default61 } from "./
|
|
105
|
-
import { default as default62 } from "./
|
|
106
|
-
import { default as default63 } from "./block-
|
|
107
|
-
import { default as default64 } from "./block-list";
|
|
107
|
+
import { default as default59 } from "./inserter-menu-extension";
|
|
108
|
+
import { default as default60 } from "./preview-options";
|
|
109
|
+
import { default as default61 } from "./use-resize-canvas";
|
|
110
|
+
import { default as default62 } from "./block-inspector";
|
|
111
|
+
import { default as default63 } from "./block-list";
|
|
108
112
|
import { useBlockProps } from "./block-list/use-block-props";
|
|
109
|
-
import { default as
|
|
113
|
+
import { default as default64 } from "./block-mover";
|
|
110
114
|
import {
|
|
111
|
-
default as
|
|
115
|
+
default as default65,
|
|
112
116
|
useBlockPreview
|
|
113
117
|
} from "./block-preview";
|
|
114
118
|
import {
|
|
115
|
-
default as
|
|
119
|
+
default as default66,
|
|
116
120
|
useBlockSelectionClearer
|
|
117
121
|
} from "./block-selection-clearer";
|
|
118
|
-
import { default as
|
|
119
|
-
import { default as
|
|
120
|
-
import { default as
|
|
121
|
-
import { default as
|
|
122
|
-
import { default as
|
|
122
|
+
import { default as default67 } from "./block-settings-menu";
|
|
123
|
+
import { default as default68 } from "./block-settings-menu-controls";
|
|
124
|
+
import { default as default69 } from "./block-title";
|
|
125
|
+
import { default as default70 } from "./block-toolbar";
|
|
126
|
+
import { default as default71 } from "./block-tools";
|
|
123
127
|
import {
|
|
124
|
-
default as
|
|
128
|
+
default as default72,
|
|
125
129
|
__unstableUseClipboardHandler
|
|
126
130
|
} from "./copy-handler";
|
|
127
|
-
import { default as
|
|
128
|
-
import { default as
|
|
129
|
-
import { default as
|
|
130
|
-
import { default as
|
|
131
|
-
import { default as
|
|
131
|
+
import { default as default73 } from "./default-block-appender";
|
|
132
|
+
import { default as default74 } from "./editor-styles";
|
|
133
|
+
import { default as default75 } from "./inserter";
|
|
134
|
+
import { default as default76 } from "./inserter/library";
|
|
135
|
+
import { default as default77 } from "./keyboard-shortcuts";
|
|
132
136
|
import { MultiSelectScrollIntoView } from "./selection-scroll-into-view";
|
|
133
|
-
import { default as
|
|
137
|
+
import { default as default78 } from "./navigable-toolbar";
|
|
134
138
|
import {
|
|
135
|
-
default as
|
|
139
|
+
default as default79,
|
|
136
140
|
useTypingObserver,
|
|
137
141
|
useMouseMoveTypingReset
|
|
138
142
|
} from "./observe-typing";
|
|
139
|
-
import { default as
|
|
143
|
+
import { default as default80 } from "./skip-to-selected-block";
|
|
140
144
|
import {
|
|
141
|
-
default as
|
|
145
|
+
default as default81,
|
|
142
146
|
useTypewriter
|
|
143
147
|
} from "./typewriter";
|
|
144
|
-
import { default as
|
|
145
|
-
import { default as
|
|
146
|
-
import { default as
|
|
147
|
-
import { default as
|
|
148
|
+
import { default as default82 } from "./warning";
|
|
149
|
+
import { default as default83 } from "./writing-flow";
|
|
150
|
+
import { default as default84 } from "./use-block-display-information";
|
|
151
|
+
import { default as default85 } from "./iframe";
|
|
148
152
|
import {
|
|
149
153
|
RecursionProvider,
|
|
150
154
|
DeprecatedExperimentalRecursionProvider,
|
|
151
155
|
useHasRecursion,
|
|
152
156
|
DeprecatedExperimentalUseHasRecursion
|
|
153
157
|
} from "./recursion-provider";
|
|
154
|
-
import { default as
|
|
155
|
-
import { default as
|
|
156
|
-
import { default as
|
|
157
|
-
import { default as
|
|
158
|
+
import { default as default86 } from "./block-patterns-list";
|
|
159
|
+
import { default as default87 } from "./publish-date-time-picker";
|
|
160
|
+
import { default as default88 } from "./inspector-popover-header";
|
|
161
|
+
import { default as default89 } from "./block-popover";
|
|
158
162
|
import { useBlockEditingMode } from "./block-editing-mode";
|
|
159
|
-
import { default as
|
|
163
|
+
import { default as default90 } from "./provider";
|
|
160
164
|
import { useSettings, useSetting } from "./use-settings";
|
|
161
165
|
import { useBlockCommands } from "./use-block-commands";
|
|
166
|
+
import { default as default91 } from "./tool-selector";
|
|
162
167
|
export {
|
|
163
168
|
AlignmentControl,
|
|
164
169
|
AlignmentToolbar,
|
|
165
170
|
default2 as Autocomplete,
|
|
166
171
|
BlockAlignmentControl,
|
|
167
172
|
BlockAlignmentToolbar,
|
|
173
|
+
BlockBindingsAttributeControl,
|
|
174
|
+
BlockBindingsSourceFieldsList,
|
|
168
175
|
default5 as BlockBreadcrumb,
|
|
169
176
|
default7 as BlockCanvas,
|
|
170
177
|
default9 as BlockColorsStyleSelector,
|
|
171
178
|
BlockContextProvider,
|
|
172
179
|
default8 as BlockControls,
|
|
173
180
|
default10 as BlockEdit,
|
|
174
|
-
|
|
175
|
-
|
|
181
|
+
default77 as BlockEditorKeyboardShortcuts,
|
|
182
|
+
default90 as BlockEditorProvider,
|
|
176
183
|
BlockFormatControls,
|
|
177
184
|
default11 as BlockIcon,
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
185
|
+
default62 as BlockInspector,
|
|
186
|
+
default63 as BlockList,
|
|
187
|
+
default64 as BlockMover,
|
|
181
188
|
default12 as BlockNavigationDropdown,
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
189
|
+
default89 as BlockPopover,
|
|
190
|
+
default65 as BlockPreview,
|
|
191
|
+
default66 as BlockSelectionClearer,
|
|
192
|
+
default67 as BlockSettingsMenu,
|
|
193
|
+
default68 as BlockSettingsMenuControls,
|
|
187
194
|
default13 as BlockStyles,
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
195
|
+
default69 as BlockTitle,
|
|
196
|
+
default70 as BlockToolbar,
|
|
197
|
+
default71 as BlockTools,
|
|
191
198
|
BlockVerticalAlignmentControl,
|
|
192
199
|
BlockVerticalAlignmentToolbar,
|
|
193
200
|
default19 as ButtonBlockAppender,
|
|
@@ -195,12 +202,12 @@ export {
|
|
|
195
202
|
default20 as ColorPalette,
|
|
196
203
|
default21 as ColorPaletteControl,
|
|
197
204
|
default22 as ContrastChecker,
|
|
198
|
-
|
|
199
|
-
|
|
205
|
+
default72 as CopyHandler,
|
|
206
|
+
default73 as DefaultBlockAppender,
|
|
200
207
|
default14 as HeadingLevelDropdown,
|
|
201
208
|
default35 as HeightControl,
|
|
202
209
|
default38 as InnerBlocks,
|
|
203
|
-
|
|
210
|
+
default75 as Inserter,
|
|
204
211
|
InspectorAdvancedControls,
|
|
205
212
|
default39 as InspectorControls,
|
|
206
213
|
JustifyContentControl,
|
|
@@ -212,25 +219,26 @@ export {
|
|
|
212
219
|
default45 as MediaUpload,
|
|
213
220
|
default46 as MediaUploadCheck,
|
|
214
221
|
MultiSelectScrollIntoView,
|
|
215
|
-
|
|
216
|
-
|
|
222
|
+
default78 as NavigableToolbar,
|
|
223
|
+
default79 as ObserveTyping,
|
|
217
224
|
default47 as PanelColorSettings,
|
|
218
225
|
default48 as PlainText,
|
|
219
226
|
RecursionProvider,
|
|
220
227
|
default50 as RichText,
|
|
221
228
|
RichTextShortcut,
|
|
222
229
|
RichTextToolbarButton,
|
|
223
|
-
|
|
224
|
-
|
|
230
|
+
default80 as SkipToSelectedBlock,
|
|
231
|
+
default91 as ToolSelector,
|
|
232
|
+
default81 as Typewriter,
|
|
225
233
|
default52 as URLInput,
|
|
226
234
|
default53 as URLInputButton,
|
|
227
235
|
default54 as URLPopover,
|
|
228
|
-
|
|
229
|
-
|
|
236
|
+
default82 as Warning,
|
|
237
|
+
default83 as WritingFlow,
|
|
230
238
|
default4 as __experimentalBlockAlignmentMatrixControl,
|
|
231
239
|
default3 as __experimentalBlockFullHeightAligmentControl,
|
|
232
240
|
default16 as __experimentalBlockPatternSetup,
|
|
233
|
-
|
|
241
|
+
default86 as __experimentalBlockPatternsList,
|
|
234
242
|
default15 as __experimentalBlockVariationPicker,
|
|
235
243
|
default17 as __experimentalBlockVariationTransforms,
|
|
236
244
|
default18 as __experimentalBorderRadiusControl,
|
|
@@ -243,17 +251,17 @@ export {
|
|
|
243
251
|
default36 as __experimentalImageEditor,
|
|
244
252
|
default37 as __experimentalImageSizeControl,
|
|
245
253
|
__experimentalImageURLInputUI,
|
|
246
|
-
|
|
254
|
+
default88 as __experimentalInspectorPopoverHeader,
|
|
247
255
|
default27 as __experimentalLetterSpacingControl,
|
|
248
|
-
|
|
256
|
+
default76 as __experimentalLibrary,
|
|
249
257
|
DeprecatedExperimentalLinkControl as __experimentalLinkControl,
|
|
250
258
|
__experimentalLinkControlSearchInput,
|
|
251
259
|
__experimentalLinkControlSearchItem,
|
|
252
260
|
__experimentalLinkControlSearchResults,
|
|
253
261
|
default42 as __experimentalListView,
|
|
254
262
|
default33 as __experimentalPanelColorGradientSettings,
|
|
255
|
-
|
|
256
|
-
|
|
263
|
+
default60 as __experimentalPreviewOptions,
|
|
264
|
+
default87 as __experimentalPublishDateTimePicker,
|
|
257
265
|
DeprecatedExperimentalRecursionProvider as __experimentalRecursionProvider,
|
|
258
266
|
default49 as __experimentalResponsiveBlockControl,
|
|
259
267
|
default56 as __experimentalSpacingSizesControl,
|
|
@@ -264,14 +272,13 @@ export {
|
|
|
264
272
|
useBlockPreview as __experimentalUseBlockPreview,
|
|
265
273
|
DeprecatedExperimentalUseHasRecursion as __experimentalUseHasRecursion,
|
|
266
274
|
default34 as __experimentalUseMultipleOriginColorsAndGradients,
|
|
267
|
-
|
|
275
|
+
default61 as __experimentalUseResizeCanvas,
|
|
268
276
|
default30 as __experimentalWritingModeControl,
|
|
269
|
-
default59 as __unstableBlockNameContext,
|
|
270
277
|
default57 as __unstableBlockSettingsMenuFirstItem,
|
|
271
278
|
default58 as __unstableBlockToolbarLastItem,
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
279
|
+
default74 as __unstableEditorStyles,
|
|
280
|
+
default85 as __unstableIframe,
|
|
281
|
+
default59 as __unstableInserterMenuExtension,
|
|
275
282
|
__unstableRichTextInputEvent,
|
|
276
283
|
useBlockSelectionClearer as __unstableUseBlockSelectionClearer,
|
|
277
284
|
__unstableUseClipboardHandler,
|
|
@@ -281,8 +288,9 @@ export {
|
|
|
281
288
|
getCustomValueFromPreset,
|
|
282
289
|
getSpacingPresetCssVar,
|
|
283
290
|
isValueSpacingPreset,
|
|
291
|
+
useBlockBindingsUtils,
|
|
284
292
|
useBlockCommands,
|
|
285
|
-
|
|
293
|
+
default84 as useBlockDisplayInformation,
|
|
286
294
|
useBlockEditContext,
|
|
287
295
|
useBlockEditingMode,
|
|
288
296
|
useBlockProps,
|