@wordpress/block-editor 12.3.4 → 12.3.6
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 +4 -0
- package/build/components/block-edit/edit.js +25 -13
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-parent-selector/index.js +8 -5
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +4 -1
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +7 -11
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/iframe/index.js +21 -46
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/index.js +10 -1
- package/build/components/index.js.map +1 -1
- package/build/components/inserter/reusable-block-rename-hint.js +62 -0
- package/build/components/inserter/reusable-block-rename-hint.js.map +1 -0
- package/build/components/inserter/reusable-blocks-tab.js +5 -1
- package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build/components/list-view/use-list-view-client-ids.js +2 -2
- package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build/components/rich-text/content.js +0 -36
- package/build/components/rich-text/content.js.map +1 -1
- package/build/components/rich-text/get-rich-text-values.js +112 -0
- package/build/components/rich-text/get-rich-text-values.js.map +1 -0
- package/build/private-apis.js +2 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/private-selectors.js +5 -6
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/selectors.js +6 -4
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-edit/edit.js +27 -10
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js +7 -5
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +4 -1
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +8 -11
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/iframe/index.js +22 -47
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/index.js +5 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inserter/reusable-block-rename-hint.js +48 -0
- package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -0
- package/build-module/components/inserter/reusable-blocks-tab.js +4 -1
- package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build-module/components/list-view/use-list-view-client-ids.js +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build-module/components/rich-text/content.js +1 -36
- package/build-module/components/rich-text/content.js.map +1 -1
- package/build-module/components/rich-text/get-rich-text-values.js +99 -0
- package/build-module/components/rich-text/get-rich-text-values.js.map +1 -0
- package/build-module/private-apis.js +1 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/private-selectors.js +3 -3
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/selectors.js +6 -4
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +71 -20
- package/build-style/style.css +71 -20
- package/package.json +9 -9
- package/src/components/block-edit/edit.js +26 -9
- package/src/components/block-edit/test/edit.js +1 -1
- package/src/components/block-parent-selector/index.js +13 -8
- package/src/components/block-removal-warning-modal/index.js +3 -0
- package/src/components/block-tools/block-contextual-toolbar.js +5 -11
- package/src/components/block-tools/style.scss +69 -26
- package/src/components/iframe/index.js +16 -47
- package/src/components/index.js +5 -0
- package/src/components/inserter/reusable-block-rename-hint.js +52 -0
- package/src/components/inserter/reusable-blocks-tab.js +4 -0
- package/src/components/inserter/style.scss +28 -0
- package/src/components/list-view/use-list-view-client-ids.js +2 -2
- package/src/components/rich-text/content.js +1 -46
- package/src/components/rich-text/get-rich-text-values.js +95 -0
- package/src/private-apis.js +1 -1
- package/src/store/private-selectors.js +3 -6
- package/src/store/selectors.js +9 -6
- package/src/store/test/private-selectors.js +5 -5
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.default =
|
|
8
|
+
exports.default = void 0;
|
|
9
9
|
|
|
10
10
|
var _element = require("@wordpress/element");
|
|
11
11
|
|
|
@@ -41,15 +41,9 @@ const DEFAULT_BLOCK_CONTEXT = {};
|
|
|
41
41
|
|
|
42
42
|
const Edit = props => {
|
|
43
43
|
const {
|
|
44
|
-
attributes = {},
|
|
45
44
|
name
|
|
46
45
|
} = props;
|
|
47
46
|
const blockType = (0, _blocks.getBlockType)(name);
|
|
48
|
-
const blockContext = (0, _element.useContext)(_blockContext.default); // Assign context values using the block type's declared context needs.
|
|
49
|
-
|
|
50
|
-
const context = (0, _element.useMemo)(() => {
|
|
51
|
-
return blockType && blockType.usesContext ? Object.fromEntries(Object.entries(blockContext).filter(([key]) => blockType.usesContext.includes(key))) : DEFAULT_BLOCK_CONTEXT;
|
|
52
|
-
}, [blockType, blockContext]);
|
|
53
47
|
|
|
54
48
|
if (!blockType) {
|
|
55
49
|
return null;
|
|
@@ -59,9 +53,30 @@ const Edit = props => {
|
|
|
59
53
|
|
|
60
54
|
|
|
61
55
|
const Component = blockType.edit || blockType.save;
|
|
56
|
+
return (0, _element.createElement)(Component, { ...props
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
const EditWithFilters = (0, _components.withFilters)('editor.BlockEdit')(Edit);
|
|
61
|
+
|
|
62
|
+
const EditWithGeneratedProps = props => {
|
|
63
|
+
const {
|
|
64
|
+
attributes = {},
|
|
65
|
+
name
|
|
66
|
+
} = props;
|
|
67
|
+
const blockType = (0, _blocks.getBlockType)(name);
|
|
68
|
+
const blockContext = (0, _element.useContext)(_blockContext.default); // Assign context values using the block type's declared context needs.
|
|
69
|
+
|
|
70
|
+
const context = (0, _element.useMemo)(() => {
|
|
71
|
+
return blockType && blockType.usesContext ? Object.fromEntries(Object.entries(blockContext).filter(([key]) => blockType.usesContext.includes(key))) : DEFAULT_BLOCK_CONTEXT;
|
|
72
|
+
}, [blockType, blockContext]);
|
|
73
|
+
|
|
74
|
+
if (!blockType) {
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
62
77
|
|
|
63
78
|
if (blockType.apiVersion > 1) {
|
|
64
|
-
return (0, _element.createElement)(
|
|
79
|
+
return (0, _element.createElement)(EditWithFilters, { ...props,
|
|
65
80
|
context: context
|
|
66
81
|
});
|
|
67
82
|
} // Generate a class name for the block's editable form.
|
|
@@ -69,15 +84,12 @@ const Edit = props => {
|
|
|
69
84
|
|
|
70
85
|
const generatedClassName = (0, _blocks.hasBlockSupport)(blockType, 'className', true) ? (0, _blocks.getBlockDefaultClassName)(name) : null;
|
|
71
86
|
const className = (0, _classnames.default)(generatedClassName, attributes.className, props.className);
|
|
72
|
-
return (0, _element.createElement)(
|
|
87
|
+
return (0, _element.createElement)(EditWithFilters, { ...props,
|
|
73
88
|
context: context,
|
|
74
89
|
className: className
|
|
75
90
|
});
|
|
76
91
|
};
|
|
77
92
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
var _default = (0, _components.withFilters)('editor.BlockEdit')(Edit);
|
|
81
|
-
|
|
93
|
+
var _default = EditWithGeneratedProps;
|
|
82
94
|
exports.default = _default;
|
|
83
95
|
//# sourceMappingURL=edit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-edit/edit.js"],"names":["DEFAULT_BLOCK_CONTEXT","Edit","props","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-edit/edit.js"],"names":["DEFAULT_BLOCK_CONTEXT","Edit","props","name","blockType","Component","edit","save","EditWithFilters","EditWithGeneratedProps","attributes","blockContext","BlockContext","context","usesContext","Object","fromEntries","entries","filter","key","includes","apiVersion","generatedClassName","className"],"mappings":";;;;;;;;;AAcA;;AAXA;;AAKA;;AACA;;AAUA;;AAnBA;AACA;AACA;;AAGA;AACA;AACA;;AASA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,qBAAqB,GAAG,EAA9B;;AAEA,MAAMC,IAAI,GAAKC,KAAF,IAAa;AACzB,QAAM;AAAEC,IAAAA;AAAF,MAAWD,KAAjB;AACA,QAAME,SAAS,GAAG,0BAAcD,IAAd,CAAlB;;AAEA,MAAK,CAAEC,SAAP,EAAmB;AAClB,WAAO,IAAP;AACA,GANwB,CAQzB;AACA;AACA;;;AACA,QAAMC,SAAS,GAAGD,SAAS,CAACE,IAAV,IAAkBF,SAAS,CAACG,IAA9C;AAEA,SAAO,4BAAC,SAAD,OAAgBL;AAAhB,IAAP;AACA,CAdD;;AAgBA,MAAMM,eAAe,GAAG,6BAAa,kBAAb,EAAmCP,IAAnC,CAAxB;;AAEA,MAAMQ,sBAAsB,GAAKP,KAAF,IAAa;AAC3C,QAAM;AAAEQ,IAAAA,UAAU,GAAG,EAAf;AAAmBP,IAAAA;AAAnB,MAA4BD,KAAlC;AACA,QAAME,SAAS,GAAG,0BAAcD,IAAd,CAAlB;AACA,QAAMQ,YAAY,GAAG,yBAAYC,qBAAZ,CAArB,CAH2C,CAK3C;;AACA,QAAMC,OAAO,GAAG,sBAAS,MAAM;AAC9B,WAAOT,SAAS,IAAIA,SAAS,CAACU,WAAvB,GACJC,MAAM,CAACC,WAAP,CACAD,MAAM,CAACE,OAAP,CAAgBN,YAAhB,EAA+BO,MAA/B,CAAuC,CAAE,CAAEC,GAAF,CAAF,KACtCf,SAAS,CAACU,WAAV,CAAsBM,QAAtB,CAAgCD,GAAhC,CADD,CADA,CADI,GAMJnB,qBANH;AAOA,GARe,EAQb,CAAEI,SAAF,EAAaO,YAAb,CARa,CAAhB;;AAUA,MAAK,CAAEP,SAAP,EAAmB;AAClB,WAAO,IAAP;AACA;;AAED,MAAKA,SAAS,CAACiB,UAAV,GAAuB,CAA5B,EAAgC;AAC/B,WAAO,4BAAC,eAAD,OAAsBnB,KAAtB;AAA8B,MAAA,OAAO,EAAGW;AAAxC,MAAP;AACA,GAtB0C,CAwB3C;;;AACA,QAAMS,kBAAkB,GAAG,6BAAiBlB,SAAjB,EAA4B,WAA5B,EAAyC,IAAzC,IACxB,sCAA0BD,IAA1B,CADwB,GAExB,IAFH;AAGA,QAAMoB,SAAS,GAAG,yBACjBD,kBADiB,EAEjBZ,UAAU,CAACa,SAFM,EAGjBrB,KAAK,CAACqB,SAHW,CAAlB;AAMA,SACC,4BAAC,eAAD,OACMrB,KADN;AAEC,IAAA,OAAO,EAAGW,OAFX;AAGC,IAAA,SAAS,EAAGU;AAHb,IADD;AAOA,CAzCD;;eA2Ced,sB","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { withFilters } from '@wordpress/components';\nimport {\n\tgetBlockDefaultClassName,\n\thasBlockSupport,\n\tgetBlockType,\n} from '@wordpress/blocks';\nimport { useContext, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockContext from '../block-context';\n\n/**\n * Default value used for blocks which do not define their own context needs,\n * used to guarantee that a block's `context` prop will always be an object. It\n * is assigned as a constant since it is always expected to be an empty object,\n * and in order to avoid unnecessary React reconciliations of a changing object.\n *\n * @type {{}}\n */\nconst DEFAULT_BLOCK_CONTEXT = {};\n\nconst Edit = ( props ) => {\n\tconst { name } = props;\n\tconst blockType = getBlockType( name );\n\n\tif ( ! blockType ) {\n\t\treturn null;\n\t}\n\n\t// `edit` and `save` are functions or components describing the markup\n\t// with which a block is displayed. If `blockType` is valid, assign\n\t// them preferentially as the render value for the block.\n\tconst Component = blockType.edit || blockType.save;\n\n\treturn <Component { ...props } />;\n};\n\nconst EditWithFilters = withFilters( 'editor.BlockEdit' )( Edit );\n\nconst EditWithGeneratedProps = ( props ) => {\n\tconst { attributes = {}, name } = props;\n\tconst blockType = getBlockType( name );\n\tconst blockContext = useContext( BlockContext );\n\n\t// Assign context values using the block type's declared context needs.\n\tconst context = useMemo( () => {\n\t\treturn blockType && blockType.usesContext\n\t\t\t? Object.fromEntries(\n\t\t\t\t\tObject.entries( blockContext ).filter( ( [ key ] ) =>\n\t\t\t\t\t\tblockType.usesContext.includes( key )\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: DEFAULT_BLOCK_CONTEXT;\n\t}, [ blockType, blockContext ] );\n\n\tif ( ! blockType ) {\n\t\treturn null;\n\t}\n\n\tif ( blockType.apiVersion > 1 ) {\n\t\treturn <EditWithFilters { ...props } context={ context } />;\n\t}\n\n\t// Generate a class name for the block's editable form.\n\tconst generatedClassName = hasBlockSupport( blockType, 'className', true )\n\t\t? getBlockDefaultClassName( name )\n\t\t: null;\n\tconst className = classnames(\n\t\tgeneratedClassName,\n\t\tattributes.className,\n\t\tprops.className\n\t);\n\n\treturn (\n\t\t<EditWithFilters\n\t\t\t{ ...props }\n\t\t\tcontext={ context }\n\t\t\tclassName={ className }\n\t\t/>\n\t);\n};\n\nexport default EditWithGeneratedProps;\n"]}
|
|
@@ -25,6 +25,8 @@ var _utils = require("../block-toolbar/utils");
|
|
|
25
25
|
|
|
26
26
|
var _store = require("../../store");
|
|
27
27
|
|
|
28
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
29
|
+
|
|
28
30
|
/**
|
|
29
31
|
* WordPress dependencies
|
|
30
32
|
*/
|
|
@@ -46,15 +48,16 @@ function BlockParentSelector() {
|
|
|
46
48
|
} = (0, _data.useDispatch)(_store.store);
|
|
47
49
|
const {
|
|
48
50
|
firstParentClientId,
|
|
49
|
-
|
|
51
|
+
isVisible,
|
|
50
52
|
isDistractionFree
|
|
51
53
|
} = (0, _data.useSelect)(select => {
|
|
52
54
|
const {
|
|
53
55
|
getBlockName,
|
|
54
56
|
getBlockParents,
|
|
55
57
|
getSelectedBlockClientId,
|
|
56
|
-
getSettings
|
|
57
|
-
|
|
58
|
+
getSettings,
|
|
59
|
+
getBlockEditingMode
|
|
60
|
+
} = (0, _lockUnlock.unlock)(select(_store.store));
|
|
58
61
|
const {
|
|
59
62
|
hasBlockSupport
|
|
60
63
|
} = select(_blocks.store);
|
|
@@ -68,7 +71,7 @@ function BlockParentSelector() {
|
|
|
68
71
|
const settings = getSettings();
|
|
69
72
|
return {
|
|
70
73
|
firstParentClientId: _firstParentClientId,
|
|
71
|
-
|
|
74
|
+
isVisible: _firstParentClientId && getBlockEditingMode(_firstParentClientId) === 'default' && hasBlockSupport(_parentBlockType, '__experimentalParentSelector', true),
|
|
72
75
|
isDistractionFree: settings.isDistractionFree
|
|
73
76
|
};
|
|
74
77
|
}, []);
|
|
@@ -91,7 +94,7 @@ function BlockParentSelector() {
|
|
|
91
94
|
|
|
92
95
|
});
|
|
93
96
|
|
|
94
|
-
if (
|
|
97
|
+
if (!isVisible) {
|
|
95
98
|
return null;
|
|
96
99
|
}
|
|
97
100
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-parent-selector/index.js"],"names":["BlockParentSelector","selectBlock","toggleBlockHighlight","blockEditorStore","firstParentClientId","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-parent-selector/index.js"],"names":["BlockParentSelector","selectBlock","toggleBlockHighlight","blockEditorStore","firstParentClientId","isVisible","isDistractionFree","select","getBlockName","getBlockParents","getSelectedBlockClientId","getSettings","getBlockEditingMode","hasBlockSupport","blocksStore","selectedBlockClientId","parents","_firstParentClientId","length","parentBlockName","_parentBlockType","settings","blockInformation","nodeRef","gestures","showMoversGestures","ref","onChange","isFocused","title","icon"],"mappings":";;;;;;;;;AAOA;;AAJA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AAhBA;AACA;AACA;;AAOA;AACA;AACA;;AAOA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,mBAAT,GAA+B;AAC7C,QAAM;AAAEC,IAAAA,WAAF;AAAeC,IAAAA;AAAf,MACL,uBAAaC,YAAb,CADD;AAEA,QAAM;AAAEC,IAAAA,mBAAF;AAAuBC,IAAAA,SAAvB;AAAkCC,IAAAA;AAAlC,MAAwD,qBAC3DC,MAAF,IAAc;AACb,UAAM;AACLC,MAAAA,YADK;AAELC,MAAAA,eAFK;AAGLC,MAAAA,wBAHK;AAILC,MAAAA,WAJK;AAKLC,MAAAA;AALK,QAMF,wBAAQL,MAAM,CAAEJ,YAAF,CAAd,CANJ;AAOA,UAAM;AAAEU,MAAAA;AAAF,QAAsBN,MAAM,CAAEO,aAAF,CAAlC;AACA,UAAMC,qBAAqB,GAAGL,wBAAwB,EAAtD;AACA,UAAMM,OAAO,GAAGP,eAAe,CAAEM,qBAAF,CAA/B;AACA,UAAME,oBAAoB,GAAGD,OAAO,CAAEA,OAAO,CAACE,MAAR,GAAiB,CAAnB,CAApC;AACA,UAAMC,eAAe,GAAGX,YAAY,CAAES,oBAAF,CAApC;;AACA,UAAMG,gBAAgB,GAAG,0BAAcD,eAAd,CAAzB;;AACA,UAAME,QAAQ,GAAGV,WAAW,EAA5B;AACA,WAAO;AACNP,MAAAA,mBAAmB,EAAEa,oBADf;AAENZ,MAAAA,SAAS,EACRY,oBAAoB,IACpBL,mBAAmB,CAAEK,oBAAF,CAAnB,KAAgD,SADhD,IAEAJ,eAAe,CACdO,gBADc,EAEd,8BAFc,EAGd,IAHc,CALV;AAUNd,MAAAA,iBAAiB,EAAEe,QAAQ,CAACf;AAVtB,KAAP;AAYA,GA5B4D,EA6B7D,EA7B6D,CAA9D;AA+BA,QAAMgB,gBAAgB,GAAG,yCAA4BlB,mBAA5B,CAAzB,CAlC6C,CAoC7C;AACA;;AACA,QAAMmB,OAAO,GAAG,sBAAhB;AACA,QAAM;AAAEC,IAAAA,QAAQ,EAAEC;AAAZ,MAAmC,kCAAuB;AAC/DC,IAAAA,GAAG,EAAEH,OAD0D;;AAE/DI,IAAAA,QAAQ,CAAEC,SAAF,EAAc;AACrB,UAAKA,SAAS,IAAItB,iBAAlB,EAAsC;AACrC;AACA;;AACDJ,MAAAA,oBAAoB,CAAEE,mBAAF,EAAuBwB,SAAvB,CAApB;AACA;;AAP8D,GAAvB,CAAzC;;AAUA,MAAK,CAAEvB,SAAP,EAAmB;AAClB,WAAO,IAAP;AACA;;AAED,SACC;AACC,IAAA,SAAS,EAAC,oCADX;AAEC,IAAA,GAAG,EAAGD,mBAFP;AAGC,IAAA,GAAG,EAAGmB,OAHP;AAAA,OAIME;AAJN,KAMC,4BAAC,yBAAD;AACC,IAAA,SAAS,EAAC,4CADX;AAEC,IAAA,OAAO,EAAG,MAAMxB,WAAW,CAAEG,mBAAF,CAF5B;AAGC,IAAA,KAAK,EAAG;AACP;AACA,kBAAI,WAAJ,CAFO,EAGPkB,gBAAgB,EAAEO,KAHX,CAHT;AAQC,IAAA,WAAW,MARZ;AASC,IAAA,IAAI,EAAG,4BAAC,kBAAD;AAAW,MAAA,IAAI,EAAGP,gBAAgB,EAAEQ;AAApC;AATR,IAND,CADD;AAoBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType, store as blocksStore } from '@wordpress/blocks';\nimport { ToolbarButton } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport BlockIcon from '../block-icon';\nimport { useShowMoversGestures } from '../block-toolbar/utils';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Block parent selector component, displaying the hierarchy of the\n * current block selection as a single icon to \"go up\" a level.\n *\n * @return {WPComponent} Parent block selector.\n */\nexport default function BlockParentSelector() {\n\tconst { selectBlock, toggleBlockHighlight } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { firstParentClientId, isVisible, isDistractionFree } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetSettings,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst { hasBlockSupport } = select( blocksStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst parents = getBlockParents( selectedBlockClientId );\n\t\t\tconst _firstParentClientId = parents[ parents.length - 1 ];\n\t\t\tconst parentBlockName = getBlockName( _firstParentClientId );\n\t\t\tconst _parentBlockType = getBlockType( parentBlockName );\n\t\t\tconst settings = getSettings();\n\t\t\treturn {\n\t\t\t\tfirstParentClientId: _firstParentClientId,\n\t\t\t\tisVisible:\n\t\t\t\t\t_firstParentClientId &&\n\t\t\t\t\tgetBlockEditingMode( _firstParentClientId ) === 'default' &&\n\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\t_parentBlockType,\n\t\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t),\n\t\t\t\tisDistractionFree: settings.isDistractionFree,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( firstParentClientId );\n\n\t// Allows highlighting the parent block outline when focusing or hovering\n\t// the parent block selector within the child.\n\tconst nodeRef = useRef();\n\tconst { gestures: showMoversGestures } = useShowMoversGestures( {\n\t\tref: nodeRef,\n\t\tonChange( isFocused ) {\n\t\t\tif ( isFocused && isDistractionFree ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\ttoggleBlockHighlight( firstParentClientId, isFocused );\n\t\t},\n\t} );\n\n\tif ( ! isVisible ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-block-parent-selector\"\n\t\t\tkey={ firstParentClientId }\n\t\t\tref={ nodeRef }\n\t\t\t{ ...showMoversGestures }\n\t\t>\n\t\t\t<ToolbarButton\n\t\t\t\tclassName=\"block-editor-block-parent-selector__button\"\n\t\t\t\tonClick={ () => selectBlock( firstParentClientId ) }\n\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t/* translators: %s: Name of the block's parent. */\n\t\t\t\t\t__( 'Select %s' ),\n\t\t\t\t\tblockInformation?.title\n\t\t\t\t) }\n\t\t\t\tshowTooltip\n\t\t\t\ticon={ <BlockIcon icon={ blockInformation?.icon } /> }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -69,7 +69,10 @@ function BlockRemovalWarningModal() {
|
|
|
69
69
|
|
|
70
70
|
return (0, _element.createElement)(_components.Modal, {
|
|
71
71
|
title: (0, _i18n.__)('Are you sure?'),
|
|
72
|
-
onRequestClose: clearRemovalPrompt
|
|
72
|
+
onRequestClose: clearRemovalPrompt,
|
|
73
|
+
style: {
|
|
74
|
+
maxWidth: '40rem'
|
|
75
|
+
}
|
|
73
76
|
}, blockNamesForPrompt.length === 1 ? (0, _element.createElement)("p", null, blockTypePromptMessages[blockNamesForPrompt[0]]) : (0, _element.createElement)("ul", {
|
|
74
77
|
style: {
|
|
75
78
|
listStyleType: 'disc',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-removal-warning-modal/index.js"],"names":["blockTypePromptMessages","BlockRemovalWarningModal","clientIds","selectPrevious","blockNamesForPrompt","select","blockEditorStore","getRemovalPromptData","clearRemovalPrompt","toggleRemovalPromptSupport","privateRemoveBlocks","onConfirmRemoval","length","listStyleType","paddingLeft","map","name"],"mappings":";;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAKA;;AACA;;AAhBA;AACA;AACA;;AAUA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,uBAAuB,GAAG;AACtC,gBAAc,cAAI,+CAAJ,CADwB;AAEtC,uBAAqB,cACpB,sDADoB;AAFiB,CAAhC;;;AAOA,SAASC,wBAAT,GAAoC;AAC1C,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,cAAb;AAA6BC,IAAAA;AAA7B,MAAqD,qBACxDC,MAAF,IACC,wBAAQA,MAAM,CAAEC,YAAF,CAAd,EAAqCC,oBAArC,EAFyD,CAA3D;AAKA,QAAM;AACLC,IAAAA,kBADK;AAELC,IAAAA,0BAFK;AAGLC,IAAAA;AAHK,MAIF,wBAAQ,uBAAaJ,YAAb,CAAR,CAJJ,CAN0C,CAY1C;;AACA,0BAAW,MAAM;AAChBG,IAAAA,0BAA0B,CAAE,IAAF,CAA1B;AACA,WAAO,MAAM;AACZA,MAAAA,0BAA0B,CAAE,KAAF,CAA1B;AACA,KAFD;AAGA,GALD,EAKG,CAAEA,0BAAF,CALH;;AAOA,MAAK,CAAEL,mBAAP,EAA6B;AAC5B;AACA;;AAED,QAAMO,gBAAgB,GAAG,MAAM;AAC9BD,IAAAA,mBAAmB,CAAER,SAAF,EAAaC,cAAb;AAA6B;AAAY,QAAzC,CAAnB;AACAK,IAAAA,kBAAkB;AAClB,GAHD;;AAKA,SACC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG,cAAI,eAAJ,CADT;AAEC,IAAA,cAAc,EAAGA;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-removal-warning-modal/index.js"],"names":["blockTypePromptMessages","BlockRemovalWarningModal","clientIds","selectPrevious","blockNamesForPrompt","select","blockEditorStore","getRemovalPromptData","clearRemovalPrompt","toggleRemovalPromptSupport","privateRemoveBlocks","onConfirmRemoval","maxWidth","length","listStyleType","paddingLeft","map","name"],"mappings":";;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAKA;;AACA;;AAhBA;AACA;AACA;;AAUA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,uBAAuB,GAAG;AACtC,gBAAc,cAAI,+CAAJ,CADwB;AAEtC,uBAAqB,cACpB,sDADoB;AAFiB,CAAhC;;;AAOA,SAASC,wBAAT,GAAoC;AAC1C,QAAM;AAAEC,IAAAA,SAAF;AAAaC,IAAAA,cAAb;AAA6BC,IAAAA;AAA7B,MAAqD,qBACxDC,MAAF,IACC,wBAAQA,MAAM,CAAEC,YAAF,CAAd,EAAqCC,oBAArC,EAFyD,CAA3D;AAKA,QAAM;AACLC,IAAAA,kBADK;AAELC,IAAAA,0BAFK;AAGLC,IAAAA;AAHK,MAIF,wBAAQ,uBAAaJ,YAAb,CAAR,CAJJ,CAN0C,CAY1C;;AACA,0BAAW,MAAM;AAChBG,IAAAA,0BAA0B,CAAE,IAAF,CAA1B;AACA,WAAO,MAAM;AACZA,MAAAA,0BAA0B,CAAE,KAAF,CAA1B;AACA,KAFD;AAGA,GALD,EAKG,CAAEA,0BAAF,CALH;;AAOA,MAAK,CAAEL,mBAAP,EAA6B;AAC5B;AACA;;AAED,QAAMO,gBAAgB,GAAG,MAAM;AAC9BD,IAAAA,mBAAmB,CAAER,SAAF,EAAaC,cAAb;AAA6B;AAAY,QAAzC,CAAnB;AACAK,IAAAA,kBAAkB;AAClB,GAHD;;AAKA,SACC,4BAAC,iBAAD;AACC,IAAA,KAAK,EAAG,cAAI,eAAJ,CADT;AAEC,IAAA,cAAc,EAAGA,kBAFlB;AAGC,IAAA,KAAK,EAAG;AACPI,MAAAA,QAAQ,EAAE;AADH;AAHT,KAOGR,mBAAmB,CAACS,MAApB,KAA+B,CAA/B,GACD,uCAAKb,uBAAuB,CAAEI,mBAAmB,CAAE,CAAF,CAArB,CAA5B,CADC,GAGD;AAAI,IAAA,KAAK,EAAG;AAAEU,MAAAA,aAAa,EAAE,MAAjB;AAAyBC,MAAAA,WAAW,EAAE;AAAtC;AAAZ,KACGX,mBAAmB,CAACY,GAApB,CAA2BC,IAAF,IAC1B;AAAI,IAAA,GAAG,EAAGA;AAAV,KACGjB,uBAAuB,CAAEiB,IAAF,CAD1B,CADC,CADH,CAVF,EAkBC,uCACGb,mBAAmB,CAACS,MAApB,GAA6B,CAA7B,GACC,cAAI,uCAAJ,CADD,GAEC,cAAI,qCAAJ,CAHJ,CAlBD,EAuBC,4BAAC,gCAAD;AAAQ,IAAA,OAAO,EAAC;AAAhB,KACC,4BAAC,kBAAD;AAAQ,IAAA,OAAO,EAAC,UAAhB;AAA2B,IAAA,OAAO,EAAGL;AAArC,KACG,cAAI,QAAJ,CADH,CADD,EAIC,4BAAC,kBAAD;AAAQ,IAAA,OAAO,EAAC,SAAhB;AAA0B,IAAA,OAAO,EAAGG;AAApC,KACG,cAAI,QAAJ,CADH,CAJD,CAvBD,CADD;AAkCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tModal,\n\tButton,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\n// In certain editing contexts, we'd like to prevent accidental removal of\n// important blocks. For example, in the site editor, the Query Loop block is\n// deemed important. In such cases, we'll ask the user for confirmation that\n// they intended to remove such block(s).\n//\n// @see https://github.com/WordPress/gutenberg/pull/51145\nexport const blockTypePromptMessages = {\n\t'core/query': __( 'Query Loop displays a list of posts or pages.' ),\n\t'core/post-content': __(\n\t\t'Post Content displays the content of a post or page.'\n\t),\n};\n\nexport function BlockRemovalWarningModal() {\n\tconst { clientIds, selectPrevious, blockNamesForPrompt } = useSelect(\n\t\t( select ) =>\n\t\t\tunlock( select( blockEditorStore ) ).getRemovalPromptData()\n\t);\n\n\tconst {\n\t\tclearRemovalPrompt,\n\t\ttoggleRemovalPromptSupport,\n\t\tprivateRemoveBlocks,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\n\t// Signalling the removal prompt is in place.\n\tuseEffect( () => {\n\t\ttoggleRemovalPromptSupport( true );\n\t\treturn () => {\n\t\t\ttoggleRemovalPromptSupport( false );\n\t\t};\n\t}, [ toggleRemovalPromptSupport ] );\n\n\tif ( ! blockNamesForPrompt ) {\n\t\treturn;\n\t}\n\n\tconst onConfirmRemoval = () => {\n\t\tprivateRemoveBlocks( clientIds, selectPrevious, /* force */ true );\n\t\tclearRemovalPrompt();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Are you sure?' ) }\n\t\t\tonRequestClose={ clearRemovalPrompt }\n\t\t\tstyle={ {\n\t\t\t\tmaxWidth: '40rem',\n\t\t\t} }\n\t\t>\n\t\t\t{ blockNamesForPrompt.length === 1 ? (\n\t\t\t\t<p>{ blockTypePromptMessages[ blockNamesForPrompt[ 0 ] ] }</p>\n\t\t\t) : (\n\t\t\t\t<ul style={ { listStyleType: 'disc', paddingLeft: '1rem' } }>\n\t\t\t\t\t{ blockNamesForPrompt.map( ( name ) => (\n\t\t\t\t\t\t<li key={ name }>\n\t\t\t\t\t\t\t{ blockTypePromptMessages[ name ] }\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) ) }\n\t\t\t\t</ul>\n\t\t\t) }\n\t\t\t<p>\n\t\t\t\t{ blockNamesForPrompt.length > 1\n\t\t\t\t\t? __( 'Removing these blocks is not advised.' )\n\t\t\t\t\t: __( 'Removing this block is not advised.' ) }\n\t\t\t</p>\n\t\t\t<HStack justify=\"right\">\n\t\t\t\t<Button variant=\"tertiary\" onClick={ clearRemovalPrompt }>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t\t<Button variant=\"primary\" onClick={ onConfirmRemoval }>\n\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t</Modal>\n\t);\n}\n"]}
|
|
@@ -29,8 +29,6 @@ var _blockToolbar = _interopRequireDefault(require("../block-toolbar"));
|
|
|
29
29
|
|
|
30
30
|
var _store = require("../../store");
|
|
31
31
|
|
|
32
|
-
var _blockIcon = _interopRequireDefault(require("../block-icon"));
|
|
33
|
-
|
|
34
32
|
var _lockUnlock = require("../../lock-unlock");
|
|
35
33
|
|
|
36
34
|
/**
|
|
@@ -78,7 +76,7 @@ function BlockContextualToolbar({
|
|
|
78
76
|
selectedBlockClientId: _selectedBlockClientId,
|
|
79
77
|
blockType: _selectedBlockClientId && getBlockType(getBlockName(_selectedBlockClientId)),
|
|
80
78
|
hasParents: parents.length,
|
|
81
|
-
showParentSelector: parentBlockType && (0, _blocks.hasBlockSupport)(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length <= 1 && getBlockEditingMode(_selectedBlockClientId) === 'default'
|
|
79
|
+
showParentSelector: parentBlockType && getBlockEditingMode(firstParentClientId) === 'default' && (0, _blocks.hasBlockSupport)(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length <= 1 && getBlockEditingMode(_selectedBlockClientId) === 'default'
|
|
82
80
|
};
|
|
83
81
|
}, []);
|
|
84
82
|
(0, _element.useEffect)(() => {
|
|
@@ -102,22 +100,20 @@ function BlockContextualToolbar({
|
|
|
102
100
|
,
|
|
103
101
|
"aria-label": (0, _i18n.__)('Block tools'),
|
|
104
102
|
...props
|
|
105
|
-
},
|
|
103
|
+
}, !isCollapsed && (0, _element.createElement)(_blockToolbar.default, {
|
|
104
|
+
hideDragHandle: isFixed
|
|
105
|
+
}), isFixed && isLargeViewport && blockType && (0, _element.createElement)(_components.ToolbarGroup, {
|
|
106
106
|
className: isCollapsed ? 'block-editor-block-toolbar__group-expand-fixed-toolbar' : 'block-editor-block-toolbar__group-collapse-fixed-toolbar'
|
|
107
107
|
}, (0, _element.createElement)(_components.ToolbarItem, {
|
|
108
108
|
as: _components.ToolbarButton,
|
|
109
109
|
ref: toolbarButtonRef,
|
|
110
|
-
icon: isCollapsed ?
|
|
111
|
-
icon: blockType.icon
|
|
112
|
-
}) : _icons.levelUp,
|
|
110
|
+
icon: isCollapsed ? _icons.next : _icons.previous,
|
|
113
111
|
onClick: () => {
|
|
114
112
|
setIsCollapsed(collapsed => !collapsed);
|
|
115
113
|
toolbarButtonRef.current.focus();
|
|
116
114
|
},
|
|
117
|
-
label: isCollapsed ? (0, _i18n.__)('Show block tools') : (0, _i18n.__)('
|
|
118
|
-
}))
|
|
119
|
-
hideDragHandle: isFixed
|
|
120
|
-
}));
|
|
115
|
+
label: isCollapsed ? (0, _i18n.__)('Show block tools') : (0, _i18n.__)('Hide block tools')
|
|
116
|
+
})));
|
|
121
117
|
}
|
|
122
118
|
|
|
123
119
|
var _default = BlockContextualToolbar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/block-contextual-toolbar.js"],"names":["BlockContextualToolbar","focusOnMount","isFixed","props","isCollapsed","setIsCollapsed","toolbarButtonRef","isLargeViewport","blockType","hasParents","showParentSelector","selectedBlockClientId","select","getBlockName","getBlockParents","getSelectedBlockClientIds","getBlockEditingMode","blockEditorStore","getBlockType","blocksStore","selectedBlockClientIds","_selectedBlockClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","classes","ToolbarButton","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/block-contextual-toolbar.js"],"names":["BlockContextualToolbar","focusOnMount","isFixed","props","isCollapsed","setIsCollapsed","toolbarButtonRef","isLargeViewport","blockType","hasParents","showParentSelector","selectedBlockClientId","select","getBlockName","getBlockParents","getSelectedBlockClientIds","getBlockEditingMode","blockEditorStore","getBlockType","blocksStore","selectedBlockClientIds","_selectedBlockClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","classes","ToolbarButton","next","previous","collapsed","current","focus"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { hasBlockSupport, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tToolbarItem,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { next, previous } from '@wordpress/icons';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport NavigableToolbar from '../navigable-toolbar';\nimport BlockToolbar from '../block-toolbar';\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nfunction BlockContextualToolbar( { focusOnMount, isFixed, ...props } ) {\n\t// When the toolbar is fixed it can be collapsed\n\tconst [ isCollapsed, setIsCollapsed ] = useState( false );\n\tconst toolbarButtonRef = useRef();\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { blockType, hasParents, showParentSelector, selectedBlockClientId } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst { getBlockType } = select( blocksStore );\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\t\tconst _selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\t\tconst parents = getBlockParents( _selectedBlockClientId );\n\t\t\tconst firstParentClientId = parents[ parents.length - 1 ];\n\t\t\tconst parentBlockName = getBlockName( firstParentClientId );\n\t\t\tconst parentBlockType = getBlockType( parentBlockName );\n\n\t\t\treturn {\n\t\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\t\tblockType:\n\t\t\t\t\t_selectedBlockClientId &&\n\t\t\t\t\tgetBlockType( getBlockName( _selectedBlockClientId ) ),\n\t\t\t\thasParents: parents.length,\n\t\t\t\tshowParentSelector:\n\t\t\t\t\tparentBlockType &&\n\t\t\t\t\tgetBlockEditingMode( firstParentClientId ) === 'default' &&\n\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\tparentBlockType,\n\t\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) &&\n\t\t\t\t\tselectedBlockClientIds.length <= 1 &&\n\t\t\t\t\tgetBlockEditingMode( _selectedBlockClientId ) === 'default',\n\t\t\t};\n\t\t}, [] );\n\n\tuseEffect( () => {\n\t\tsetIsCollapsed( false );\n\t}, [ selectedBlockClientId ] );\n\n\tif (\n\t\tblockType &&\n\t\t! hasBlockSupport( blockType, '__experimentalToolbar', true )\n\t) {\n\t\treturn null;\n\t}\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = classnames( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': hasParents && showParentSelector,\n\t\t'is-fixed': isFixed,\n\t\t'is-collapsed': isCollapsed,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ ! isCollapsed && <BlockToolbar hideDragHandle={ isFixed } /> }\n\t\t\t{ isFixed && isLargeViewport && blockType && (\n\t\t\t\t<ToolbarGroup\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tisCollapsed\n\t\t\t\t\t\t\t? 'block-editor-block-toolbar__group-expand-fixed-toolbar'\n\t\t\t\t\t\t\t: 'block-editor-block-toolbar__group-collapse-fixed-toolbar'\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tas={ ToolbarButton }\n\t\t\t\t\t\tref={ toolbarButtonRef }\n\t\t\t\t\t\ticon={ isCollapsed ? next : previous }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsCollapsed( ( collapsed ) => ! collapsed );\n\t\t\t\t\t\t\ttoolbarButtonRef.current.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tisCollapsed\n\t\t\t\t\t\t\t\t? __( 'Show block tools' )\n\t\t\t\t\t\t\t\t: __( 'Hide block tools' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default BlockContextualToolbar;\n"]}
|
|
@@ -88,36 +88,6 @@ function bubbleEvents(doc) {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
function useParsedAssets(html) {
|
|
92
|
-
return (0, _element.useMemo)(() => {
|
|
93
|
-
const doc = document.implementation.createHTMLDocument('');
|
|
94
|
-
doc.body.innerHTML = html;
|
|
95
|
-
return Array.from(doc.body.children);
|
|
96
|
-
}, [html]);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
async function loadScript(head, {
|
|
100
|
-
id,
|
|
101
|
-
src
|
|
102
|
-
}) {
|
|
103
|
-
return new Promise((resolve, reject) => {
|
|
104
|
-
const script = head.ownerDocument.createElement('script');
|
|
105
|
-
script.id = id;
|
|
106
|
-
|
|
107
|
-
if (src) {
|
|
108
|
-
script.src = src;
|
|
109
|
-
|
|
110
|
-
script.onload = () => resolve();
|
|
111
|
-
|
|
112
|
-
script.onerror = () => reject();
|
|
113
|
-
} else {
|
|
114
|
-
resolve();
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
head.appendChild(script);
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
|
|
121
91
|
function Iframe({
|
|
122
92
|
contentRef,
|
|
123
93
|
children,
|
|
@@ -129,20 +99,23 @@ function Iframe({
|
|
|
129
99
|
forwardedRef: ref,
|
|
130
100
|
...props
|
|
131
101
|
}) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
102
|
+
const {
|
|
103
|
+
styles = '',
|
|
104
|
+
scripts = ''
|
|
105
|
+
} = (0, _data.useSelect)(select => select(_store.store).getSettings().__unstableResolvedAssets, []);
|
|
136
106
|
const [iframeDocument, setIframeDocument] = (0, _element.useState)();
|
|
137
107
|
const [bodyClasses, setBodyClasses] = (0, _element.useState)([]);
|
|
138
108
|
const compatStyles = (0, _useCompatibilityStyles.useCompatibilityStyles)();
|
|
139
|
-
const scripts = useParsedAssets(assets?.scripts);
|
|
140
109
|
const clearerRef = (0, _blockSelectionClearer.useBlockSelectionClearer)();
|
|
141
110
|
const [before, writingFlowRef, after] = (0, _writingFlow.useWritingFlow)();
|
|
142
111
|
const [contentResizeListener, {
|
|
143
112
|
height: contentHeight
|
|
144
113
|
}] = (0, _compose.useResizeObserver)();
|
|
145
114
|
const setRef = (0, _compose.useRefEffect)(node => {
|
|
115
|
+
node._load = () => {
|
|
116
|
+
setIframeDocument(node.contentDocument);
|
|
117
|
+
};
|
|
118
|
+
|
|
146
119
|
let iFrameDocument; // Prevent the default browser action for files dropped outside of dropzones.
|
|
147
120
|
|
|
148
121
|
function preventFileDropDefault(event) {
|
|
@@ -159,14 +132,12 @@ function Iframe({
|
|
|
159
132
|
} = contentDocument;
|
|
160
133
|
iFrameDocument = contentDocument;
|
|
161
134
|
bubbleEvents(contentDocument);
|
|
162
|
-
setIframeDocument(contentDocument);
|
|
163
135
|
clearerRef(documentElement); // Ideally ALL classes that are added through get_body_class should
|
|
164
136
|
// be added in the editor too, which we'll somehow have to get from
|
|
165
137
|
// the server in the future (which will run the PHP filters).
|
|
166
138
|
|
|
167
139
|
setBodyClasses(Array.from(ownerDocument.body.classList).filter(name => name.startsWith('admin-color-') || name.startsWith('post-type-') || name === 'wp-embed-responsive'));
|
|
168
140
|
contentDocument.dir = ownerDocument.dir;
|
|
169
|
-
documentElement.removeChild(contentDocument.body);
|
|
170
141
|
|
|
171
142
|
for (const compatStyle of compatStyles) {
|
|
172
143
|
if (contentDocument.getElementById(compatStyle.id)) {
|
|
@@ -189,21 +160,25 @@ function Iframe({
|
|
|
189
160
|
iFrameDocument?.removeEventListener('drop', preventFileDropDefault);
|
|
190
161
|
};
|
|
191
162
|
}, []);
|
|
192
|
-
const headRef = (0, _compose.useRefEffect)(element => {
|
|
193
|
-
scripts.reduce((promise, script) => promise.then(() => loadScript(element, script)), Promise.resolve()).finally(() => {
|
|
194
|
-
// When script are loaded, re-render blocks to allow them
|
|
195
|
-
// to initialise.
|
|
196
|
-
forceRender();
|
|
197
|
-
});
|
|
198
|
-
}, []);
|
|
199
163
|
const disabledRef = (0, _compose.useDisabled)({
|
|
200
164
|
isDisabled: !readonly
|
|
201
165
|
});
|
|
202
|
-
const bodyRef = (0, _compose.useMergeRefs)([contentRef, clearerRef, writingFlowRef, disabledRef
|
|
166
|
+
const bodyRef = (0, _compose.useMergeRefs)([contentRef, clearerRef, writingFlowRef, disabledRef]); // Correct doctype is required to enable rendering in standards
|
|
203
167
|
// mode. Also preload the styles to avoid a flash of unstyled
|
|
204
168
|
// content.
|
|
205
169
|
|
|
206
|
-
const html =
|
|
170
|
+
const html = `<!doctype html>
|
|
171
|
+
<html>
|
|
172
|
+
<head>
|
|
173
|
+
<script>window.frameElement._load()</script>
|
|
174
|
+
<style>html{height:auto!important;min-height:100%;}body{margin:0}</style>
|
|
175
|
+
${styles}
|
|
176
|
+
${scripts}
|
|
177
|
+
</head>
|
|
178
|
+
<body>
|
|
179
|
+
<script>document.currentScript.parentElement.remove()</script>
|
|
180
|
+
</body>
|
|
181
|
+
</html>`;
|
|
207
182
|
const [src, cleanup] = (0, _element.useMemo)(() => {
|
|
208
183
|
const _src = URL.createObjectURL(new window.Blob([html], {
|
|
209
184
|
type: 'text/html'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"names":["bubbleEvents","doc","defaultView","frameElement","bubbleEvent","event","prototype","Object","getPrototypeOf","constructorName","constructor","name","Constructor","window","init","key","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","cancelled","dispatchEvent","preventDefault","eventTypes","addEventListener","useParsedAssets","html","document","implementation","createHTMLDocument","body","innerHTML","Array","from","children","loadScript","head","id","src","Promise","resolve","reject","script","ownerDocument","createElement","onload","onerror","appendChild","Iframe","contentRef","tabIndex","scale","frameSize","expand","readonly","forwardedRef","ref","props","assets","select","blockEditorStore","getSettings","__unstableResolvedAssets","forceRender","iframeDocument","setIframeDocument","bodyClasses","setBodyClasses","compatStyles","scripts","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","setRef","node","iFrameDocument","preventFileDropDefault","onLoad","contentDocument","documentElement","classList","filter","startsWith","dir","removeChild","compatStyle","getElementById","cloneNode","console","warn","removeEventListener","headRef","element","reduce","promise","then","finally","disabledRef","isDisabled","bodyRef","styles","cleanup","_src","URL","createObjectURL","Blob","revokeObjectURL","marginFromScaling","style","marginTop","marginBottom","transform","transition","IframeIfReady","isInitialised","__internalIsInitialized"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseReducer,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseDisabled,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\nimport { useCompatibilityStyles } from './use-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} doc Document to attach listeners to.\n */\nfunction bubbleEvents( doc ) {\n\tconst { defaultView } = doc;\n\tconst { frameElement } = defaultView;\n\n\tfunction bubbleEvent( event ) {\n\t\tconst prototype = Object.getPrototypeOf( event );\n\t\tconst constructorName = prototype.constructor.name;\n\t\tconst Constructor = window[ constructorName ];\n\n\t\tconst init = {};\n\n\t\tfor ( const key in event ) {\n\t\t\tinit[ key ] = event[ key ];\n\t\t}\n\n\t\tif ( event instanceof defaultView.MouseEvent ) {\n\t\t\tconst rect = frameElement.getBoundingClientRect();\n\t\t\tinit.clientX += rect.left;\n\t\t\tinit.clientY += rect.top;\n\t\t}\n\n\t\tconst newEvent = new Constructor( event.type, init );\n\t\tconst cancelled = ! frameElement.dispatchEvent( newEvent );\n\n\t\tif ( cancelled ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\n\tfor ( const name of eventTypes ) {\n\t\tdoc.addEventListener( name, bubbleEvent );\n\t}\n}\n\nfunction useParsedAssets( html ) {\n\treturn useMemo( () => {\n\t\tconst doc = document.implementation.createHTMLDocument( '' );\n\t\tdoc.body.innerHTML = html;\n\t\treturn Array.from( doc.body.children );\n\t}, [ html ] );\n}\n\nasync function loadScript( head, { id, src } ) {\n\treturn new Promise( ( resolve, reject ) => {\n\t\tconst script = head.ownerDocument.createElement( 'script' );\n\t\tscript.id = id;\n\t\tif ( src ) {\n\t\t\tscript.src = src;\n\t\t\tscript.onload = () => resolve();\n\t\t\tscript.onerror = () => reject();\n\t\t} else {\n\t\t\tresolve();\n\t\t}\n\t\thead.appendChild( script );\n\t} );\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\ttabIndex = 0,\n\tscale = 1,\n\tframeSize = 0,\n\texpand = false,\n\treadonly,\n\tforwardedRef: ref,\n\t...props\n} ) {\n\tconst assets = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__unstableResolvedAssets,\n\t\t[]\n\t);\n\tconst [ , forceRender ] = useReducer( () => ( {} ) );\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst compatStyles = useCompatibilityStyles();\n\tconst scripts = useParsedAssets( assets?.scripts );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction onLoad() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tbubbleEvents( contentDocument );\n\t\t\tsetIframeDocument( contentDocument );\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\t\t\tdocumentElement.removeChild( contentDocument.body );\n\n\t\t\tfor ( const compatStyle of compatStyles ) {\n\t\t\t\tif ( contentDocument.getElementById( compatStyle.id ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentDocument.head.appendChild(\n\t\t\t\t\tcompatStyle.cloneNode( true )\n\t\t\t\t);\n\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`${ compatStyle.id } was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,\n\t\t\t\t\tcompatStyle\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'load', onLoad );\n\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'load', onLoad );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst headRef = useRefEffect( ( element ) => {\n\t\tscripts\n\t\t\t.reduce(\n\t\t\t\t( promise, script ) =>\n\t\t\t\t\tpromise.then( () => loadScript( element, script ) ),\n\t\t\t\tPromise.resolve()\n\t\t\t)\n\t\t\t.finally( () => {\n\t\t\t\t// When script are loaded, re-render blocks to allow them\n\t\t\t\t// to initialise.\n\t\t\t\tforceRender();\n\t\t\t} );\n\t}, [] );\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t\theadRef,\n\t] );\n\n\t// Correct doctype is required to enable rendering in standards\n\t// mode. Also preload the styles to avoid a flash of unstyled\n\t// content.\n\tconst html =\n\t\t'<!doctype html>' +\n\t\t'<style>html{height:auto!important;min-height:100%;}body{margin:0}</style>' +\n\t\t( assets?.styles ?? '' );\n\n\tconst [ src, cleanup ] = useMemo( () => {\n\t\tconst _src = URL.createObjectURL(\n\t\t\tnew window.Blob( [ html ], { type: 'text/html' } )\n\t\t);\n\t\treturn [ _src, () => URL.revokeObjectURL( _src ) ];\n\t}, [ html ] );\n\n\tuseEffect( () => cleanup, [ cleanup ] );\n\n\t// We need to counter the margin created by scaling the iframe. If the scale\n\t// is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the\n\t// top or bottom margin is 0.55 / 2 ((1 - scale) / 2).\n\tconst marginFromScaling = ( contentHeight * ( 1 - scale ) ) / 2;\n\n\treturn (\n\t\t<>\n\t\t\t{ tabIndex >= 0 && before }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: expand ? contentHeight : props.style?.height,\n\t\t\t\t\tmarginTop:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginTop,\n\t\t\t\t\tmarginBottom:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginBottom,\n\t\t\t\t\ttransform:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? `scale( ${ scale } )`\n\t\t\t\t\t\t\t: props.style?.transform,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ __( 'Editor canvas' ) }\n\t\t\t>\n\t\t\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t'editor-styles-wrapper',\n\t\t\t\t\t\t\t\t...bodyClasses\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t</body>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ tabIndex >= 0 && after }\n\t\t</>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"names":["bubbleEvents","doc","defaultView","frameElement","bubbleEvent","event","prototype","Object","getPrototypeOf","constructorName","constructor","name","Constructor","window","init","key","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","cancelled","dispatchEvent","preventDefault","eventTypes","addEventListener","Iframe","contentRef","children","tabIndex","scale","frameSize","expand","readonly","forwardedRef","ref","props","styles","scripts","select","blockEditorStore","getSettings","__unstableResolvedAssets","iframeDocument","setIframeDocument","bodyClasses","setBodyClasses","compatStyles","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","setRef","node","_load","contentDocument","iFrameDocument","preventFileDropDefault","onLoad","ownerDocument","documentElement","Array","from","body","classList","filter","startsWith","dir","compatStyle","getElementById","id","head","appendChild","cloneNode","console","warn","removeEventListener","disabledRef","isDisabled","bodyRef","html","src","cleanup","_src","URL","createObjectURL","Blob","revokeObjectURL","marginFromScaling","style","marginTop","marginBottom","transform","transition","IframeIfReady","isInitialised","__internalIsInitialized"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseDisabled,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\nimport { useCompatibilityStyles } from './use-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} doc Document to attach listeners to.\n */\nfunction bubbleEvents( doc ) {\n\tconst { defaultView } = doc;\n\tconst { frameElement } = defaultView;\n\n\tfunction bubbleEvent( event ) {\n\t\tconst prototype = Object.getPrototypeOf( event );\n\t\tconst constructorName = prototype.constructor.name;\n\t\tconst Constructor = window[ constructorName ];\n\n\t\tconst init = {};\n\n\t\tfor ( const key in event ) {\n\t\t\tinit[ key ] = event[ key ];\n\t\t}\n\n\t\tif ( event instanceof defaultView.MouseEvent ) {\n\t\t\tconst rect = frameElement.getBoundingClientRect();\n\t\t\tinit.clientX += rect.left;\n\t\t\tinit.clientY += rect.top;\n\t\t}\n\n\t\tconst newEvent = new Constructor( event.type, init );\n\t\tconst cancelled = ! frameElement.dispatchEvent( newEvent );\n\n\t\tif ( cancelled ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t}\n\n\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\n\tfor ( const name of eventTypes ) {\n\t\tdoc.addEventListener( name, bubbleEvent );\n\t}\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\ttabIndex = 0,\n\tscale = 1,\n\tframeSize = 0,\n\texpand = false,\n\treadonly,\n\tforwardedRef: ref,\n\t...props\n} ) {\n\tconst { styles = '', scripts = '' } = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__unstableResolvedAssets,\n\t\t[]\n\t);\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst compatStyles = useCompatibilityStyles();\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tnode._load = () => {\n\t\t\tsetIframeDocument( node.contentDocument );\n\t\t};\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction onLoad() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tbubbleEvents( contentDocument );\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\n\t\t\tfor ( const compatStyle of compatStyles ) {\n\t\t\t\tif ( contentDocument.getElementById( compatStyle.id ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentDocument.head.appendChild(\n\t\t\t\t\tcompatStyle.cloneNode( true )\n\t\t\t\t);\n\n\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`${ compatStyle.id } was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,\n\t\t\t\t\tcompatStyle\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'load', onLoad );\n\n\t\treturn () => {\n\t\t\tnode.removeEventListener( 'load', onLoad );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t] );\n\n\t// Correct doctype is required to enable rendering in standards\n\t// mode. Also preload the styles to avoid a flash of unstyled\n\t// content.\n\tconst html = `<!doctype html>\n<html>\n\t<head>\n\t\t<script>window.frameElement._load()</script>\n\t\t<style>html{height:auto!important;min-height:100%;}body{margin:0}</style>\n\t\t${ styles }\n\t\t${ scripts }\n\t</head>\n\t<body>\n\t\t<script>document.currentScript.parentElement.remove()</script>\n\t</body>\n</html>`;\n\n\tconst [ src, cleanup ] = useMemo( () => {\n\t\tconst _src = URL.createObjectURL(\n\t\t\tnew window.Blob( [ html ], { type: 'text/html' } )\n\t\t);\n\t\treturn [ _src, () => URL.revokeObjectURL( _src ) ];\n\t}, [ html ] );\n\n\tuseEffect( () => cleanup, [ cleanup ] );\n\n\t// We need to counter the margin created by scaling the iframe. If the scale\n\t// is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the\n\t// top or bottom margin is 0.55 / 2 ((1 - scale) / 2).\n\tconst marginFromScaling = ( contentHeight * ( 1 - scale ) ) / 2;\n\n\treturn (\n\t\t<>\n\t\t\t{ tabIndex >= 0 && before }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: expand ? contentHeight : props.style?.height,\n\t\t\t\t\tmarginTop:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginTop,\n\t\t\t\t\tmarginBottom:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginBottom,\n\t\t\t\t\ttransform:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? `scale( ${ scale } )`\n\t\t\t\t\t\t\t: props.style?.transform,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ __( 'Editor canvas' ) }\n\t\t\t>\n\t\t\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t'editor-styles-wrapper',\n\t\t\t\t\t\t\t\t...bodyClasses\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t</body>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ tabIndex >= 0 && after }\n\t\t</>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"]}
|
|
@@ -128,7 +128,8 @@ var _exportNames = {
|
|
|
128
128
|
__experimentalPublishDateTimePicker: true,
|
|
129
129
|
__experimentalInspectorPopoverHeader: true,
|
|
130
130
|
BlockEditorProvider: true,
|
|
131
|
-
useSetting: true
|
|
131
|
+
useSetting: true,
|
|
132
|
+
ReusableBlocksRenameHint: true
|
|
132
133
|
};
|
|
133
134
|
Object.defineProperty(exports, "AlignmentControl", {
|
|
134
135
|
enumerable: true,
|
|
@@ -448,6 +449,12 @@ Object.defineProperty(exports, "PlainText", {
|
|
|
448
449
|
return _plainText.default;
|
|
449
450
|
}
|
|
450
451
|
});
|
|
452
|
+
Object.defineProperty(exports, "ReusableBlocksRenameHint", {
|
|
453
|
+
enumerable: true,
|
|
454
|
+
get: function () {
|
|
455
|
+
return _reusableBlockRenameHint.default;
|
|
456
|
+
}
|
|
457
|
+
});
|
|
451
458
|
Object.defineProperty(exports, "RichText", {
|
|
452
459
|
enumerable: true,
|
|
453
460
|
get: function () {
|
|
@@ -1129,6 +1136,8 @@ var _provider = _interopRequireDefault(require("./provider"));
|
|
|
1129
1136
|
|
|
1130
1137
|
var _useSetting = _interopRequireDefault(require("./use-setting"));
|
|
1131
1138
|
|
|
1139
|
+
var _reusableBlockRenameHint = _interopRequireDefault(require("./inserter/reusable-block-rename-hint"));
|
|
1140
|
+
|
|
1132
1141
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
1133
1142
|
|
|
1134
1143
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AASA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AAMA;;AACA","sourcesContent":["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport * from './duotone';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as Autocomplete } from './autocomplete';\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { default as __experimentalBlockFullHeightAligmentControl } from './block-full-height-alignment-control';\nexport { default as __experimentalBlockAlignmentMatrixControl } from './block-alignment-matrix-control';\nexport { default as BlockBreadcrumb } from './block-breadcrumb';\nexport { default as __experimentalUseBlockOverlayActive } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockColorsStyleSelector } from './color-style-selector';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as BlockStyles } from './block-styles';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as __experimentalBlockVariationPicker } from './block-variation-picker';\nexport { default as __experimentalBlockPatternSetup } from './block-pattern-setup';\nexport { default as __experimentalBlockVariationTransforms } from './block-variation-transforms';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport { default as __experimentalBorderRadiusControl } from './border-radius-control';\nexport {\n\t// This is a typo, but kept here for back-compat.\n\tButtonBlockerAppender,\n\tdefault as ButtonBlockAppender,\n} from './button-block-appender';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPaletteControl } from './color-palette/control';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as __experimentalDateFormatPicker } from './date-format-picker';\nexport { default as __experimentalDuotoneControl } from './duotone-control';\nexport { default as __experimentalFontAppearanceControl } from './font-appearance-control';\nexport { default as __experimentalFontFamilyControl } from './font-family';\nexport { default as __experimentalLetterSpacingControl } from './letter-spacing-control';\nexport { default as __experimentalTextDecorationControl } from './text-decoration-control';\nexport { default as __experimentalTextTransformControl } from './text-transform-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as __experimentalUseMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as HeightControl } from './height-control';\nexport { default as __experimentalImageEditor } from './image-editor';\nexport { default as __experimentalImageSizeControl } from './image-size-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as __experimentalLinkControl } from './link-control';\nexport { default as __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { default as __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { default as __experimentalLinkControlSearchItem } from './link-control/search-item';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as __experimentalListView } from './list-view';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as MediaUploadCheck } from './media-upload/check';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as __experimentalResponsiveBlockControl } from './responsive-block-control';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as ToolSelector } from './tool-selector';\nexport { default as __experimentalUnitControl } from './unit-control';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\nexport { __experimentalImageURLInputUI } from './url-popover/image-url-input-ui';\nexport { default as withColorContext } from './color-palette/with-color-context';\nexport { default as __experimentalSpacingSizesControl } from './spacing-sizes-control';\nexport {\n\tgetSpacingPresetCssVar,\n\tisValueSpacingPreset,\n\tgetCustomValueFromPreset,\n} from './spacing-sizes-control/utils';\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableBlockToolbarLastItem } from './block-toolbar/block-toolbar-last-item';\nexport { default as __unstableBlockNameContext } from './block-toolbar/block-name-context';\nexport { default as __unstableInserterMenuExtension } from './inserter-menu-extension';\nexport { default as __experimentalPreviewOptions } from './preview-options';\nexport { default as __experimentalUseResizeCanvas } from './use-resize-canvas';\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as BlockMover } from './block-mover';\nexport {\n\tdefault as BlockPreview,\n\tuseBlockPreview as __experimentalUseBlockPreview,\n} from './block-preview';\nexport {\n\tdefault as BlockSelectionClearer,\n\tuseBlockSelectionClearer as __unstableUseBlockSelectionClearer,\n} from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as BlockSettingsMenuControls } from './block-settings-menu-controls';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockTools } from './block-tools';\nexport {\n\tdefault as CopyHandler,\n\tuseClipboardHandler as __unstableUseClipboardHandler,\n} from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as __experimentalLibrary } from './inserter/library';\nexport { default as BlockEditorKeyboardShortcuts } from './keyboard-shortcuts';\nexport { MultiSelectScrollIntoView } from './selection-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport {\n\tdefault as ObserveTyping,\n\tuseTypingObserver as __unstableUseTypingObserver,\n\tuseMouseMoveTypingReset as __unstableUseMouseMoveTypingReset,\n} from './observe-typing';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport {\n\tdefault as Typewriter,\n\tuseTypewriter as __unstableUseTypewriter,\n} from './typewriter';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\nexport { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport {\n\tRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as __experimentalBlockPatternsList } from './block-patterns-list';\nexport { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';\nexport { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { default as useSetting } from './use-setting';\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AASA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAIA;;AACA;;AACA;;AACA;;AACA;;AAIA;;AACA;;AACA;;AAMA;;AACA;;AAKA","sourcesContent":["/*\n * Block Creation Components\n */\n\nexport * from './colors';\nexport * from './gradients';\nexport * from './font-sizes';\nexport * from './duotone';\nexport { AlignmentControl, AlignmentToolbar } from './alignment-control';\nexport { default as Autocomplete } from './autocomplete';\nexport {\n\tBlockAlignmentControl,\n\tBlockAlignmentToolbar,\n} from './block-alignment-control';\nexport { default as __experimentalBlockFullHeightAligmentControl } from './block-full-height-alignment-control';\nexport { default as __experimentalBlockAlignmentMatrixControl } from './block-alignment-matrix-control';\nexport { default as BlockBreadcrumb } from './block-breadcrumb';\nexport { default as __experimentalUseBlockOverlayActive } from './block-content-overlay';\nexport { BlockContextProvider } from './block-context';\nexport {\n\tdefault as BlockControls,\n\tBlockFormatControls,\n} from './block-controls';\nexport { default as BlockColorsStyleSelector } from './color-style-selector';\nexport { default as BlockEdit, useBlockEditContext } from './block-edit';\nexport { default as BlockIcon } from './block-icon';\nexport { default as BlockNavigationDropdown } from './block-navigation/dropdown';\nexport { default as BlockStyles } from './block-styles';\nexport { default as HeadingLevelDropdown } from './block-heading-level-dropdown';\nexport { default as __experimentalBlockVariationPicker } from './block-variation-picker';\nexport { default as __experimentalBlockPatternSetup } from './block-pattern-setup';\nexport { default as __experimentalBlockVariationTransforms } from './block-variation-transforms';\nexport {\n\tBlockVerticalAlignmentToolbar,\n\tBlockVerticalAlignmentControl,\n} from './block-vertical-alignment-control';\nexport { default as __experimentalBorderRadiusControl } from './border-radius-control';\nexport {\n\t// This is a typo, but kept here for back-compat.\n\tButtonBlockerAppender,\n\tdefault as ButtonBlockAppender,\n} from './button-block-appender';\nexport { default as ColorPalette } from './color-palette';\nexport { default as ColorPaletteControl } from './color-palette/control';\nexport { default as ContrastChecker } from './contrast-checker';\nexport { default as __experimentalDateFormatPicker } from './date-format-picker';\nexport { default as __experimentalDuotoneControl } from './duotone-control';\nexport { default as __experimentalFontAppearanceControl } from './font-appearance-control';\nexport { default as __experimentalFontFamilyControl } from './font-family';\nexport { default as __experimentalLetterSpacingControl } from './letter-spacing-control';\nexport { default as __experimentalTextDecorationControl } from './text-decoration-control';\nexport { default as __experimentalTextTransformControl } from './text-transform-control';\nexport { default as __experimentalColorGradientControl } from './colors-gradients/control';\nexport { default as __experimentalColorGradientSettingsDropdown } from './colors-gradients/dropdown';\nexport { default as __experimentalPanelColorGradientSettings } from './colors-gradients/panel-color-gradient-settings';\nexport { default as __experimentalUseMultipleOriginColorsAndGradients } from './colors-gradients/use-multiple-origin-colors-and-gradients';\nexport { default as HeightControl } from './height-control';\nexport { default as __experimentalImageEditor } from './image-editor';\nexport { default as __experimentalImageSizeControl } from './image-size-control';\nexport { default as InnerBlocks, useInnerBlocksProps } from './inner-blocks';\nexport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from './inspector-controls';\nexport {\n\tJustifyToolbar,\n\tJustifyContentControl,\n} from './justify-content-control';\nexport { default as __experimentalLinkControl } from './link-control';\nexport { default as __experimentalLinkControlSearchInput } from './link-control/search-input';\nexport { default as __experimentalLinkControlSearchResults } from './link-control/search-results';\nexport { default as __experimentalLinkControlSearchItem } from './link-control/search-item';\nexport { default as LineHeightControl } from './line-height-control';\nexport { default as __experimentalListView } from './list-view';\nexport { default as MediaReplaceFlow } from './media-replace-flow';\nexport { default as MediaPlaceholder } from './media-placeholder';\nexport { default as MediaUpload } from './media-upload';\nexport { default as MediaUploadCheck } from './media-upload/check';\nexport { default as PanelColorSettings } from './panel-color-settings';\nexport { default as PlainText } from './plain-text';\nexport { default as __experimentalResponsiveBlockControl } from './responsive-block-control';\nexport {\n\tdefault as RichText,\n\tRichTextShortcut,\n\tRichTextToolbarButton,\n\t__unstableRichTextInputEvent,\n} from './rich-text';\nexport { default as ToolSelector } from './tool-selector';\nexport { default as __experimentalUnitControl } from './unit-control';\nexport { default as URLInput } from './url-input';\nexport { default as URLInputButton } from './url-input/button';\nexport { default as URLPopover } from './url-popover';\nexport { __experimentalImageURLInputUI } from './url-popover/image-url-input-ui';\nexport { default as withColorContext } from './color-palette/with-color-context';\nexport { default as __experimentalSpacingSizesControl } from './spacing-sizes-control';\nexport {\n\tgetSpacingPresetCssVar,\n\tisValueSpacingPreset,\n\tgetCustomValueFromPreset,\n} from './spacing-sizes-control/utils';\n/*\n * Content Related Components\n */\n\nexport { default as __unstableBlockSettingsMenuFirstItem } from './block-settings-menu/block-settings-menu-first-item';\nexport { default as __unstableBlockToolbarLastItem } from './block-toolbar/block-toolbar-last-item';\nexport { default as __unstableBlockNameContext } from './block-toolbar/block-name-context';\nexport { default as __unstableInserterMenuExtension } from './inserter-menu-extension';\nexport { default as __experimentalPreviewOptions } from './preview-options';\nexport { default as __experimentalUseResizeCanvas } from './use-resize-canvas';\nexport { default as BlockInspector } from './block-inspector';\nexport { default as BlockList } from './block-list';\nexport { useBlockProps } from './block-list/use-block-props';\nexport { default as BlockMover } from './block-mover';\nexport {\n\tdefault as BlockPreview,\n\tuseBlockPreview as __experimentalUseBlockPreview,\n} from './block-preview';\nexport {\n\tdefault as BlockSelectionClearer,\n\tuseBlockSelectionClearer as __unstableUseBlockSelectionClearer,\n} from './block-selection-clearer';\nexport { default as BlockSettingsMenu } from './block-settings-menu';\nexport { default as BlockSettingsMenuControls } from './block-settings-menu-controls';\nexport { default as BlockTitle } from './block-title';\nexport { default as BlockToolbar } from './block-toolbar';\nexport { default as BlockTools } from './block-tools';\nexport {\n\tdefault as CopyHandler,\n\tuseClipboardHandler as __unstableUseClipboardHandler,\n} from './copy-handler';\nexport { default as DefaultBlockAppender } from './default-block-appender';\nexport { default as __unstableEditorStyles } from './editor-styles';\nexport { default as Inserter } from './inserter';\nexport { default as __experimentalLibrary } from './inserter/library';\nexport { default as BlockEditorKeyboardShortcuts } from './keyboard-shortcuts';\nexport { MultiSelectScrollIntoView } from './selection-scroll-into-view';\nexport { default as NavigableToolbar } from './navigable-toolbar';\nexport {\n\tdefault as ObserveTyping,\n\tuseTypingObserver as __unstableUseTypingObserver,\n\tuseMouseMoveTypingReset as __unstableUseMouseMoveTypingReset,\n} from './observe-typing';\nexport { default as SkipToSelectedBlock } from './skip-to-selected-block';\nexport {\n\tdefault as Typewriter,\n\tuseTypewriter as __unstableUseTypewriter,\n} from './typewriter';\nexport { default as Warning } from './warning';\nexport { default as WritingFlow } from './writing-flow';\nexport { default as useBlockDisplayInformation } from './use-block-display-information';\nexport { default as __unstableIframe } from './iframe';\nexport {\n\tRecursionProvider as __experimentalRecursionProvider,\n\tuseHasRecursion as __experimentalUseHasRecursion,\n} from './recursion-provider';\nexport { default as __experimentalBlockPatternsList } from './block-patterns-list';\nexport { default as __experimentalPublishDateTimePicker } from './publish-date-time-picker';\nexport { default as __experimentalInspectorPopoverHeader } from './inspector-popover-header';\n\n/*\n * State Related Components\n */\n\nexport { default as BlockEditorProvider } from './provider';\nexport { default as useSetting } from './use-setting';\n\n/*\n * The following rename hint component can be removed in 6.4.\n */\nexport { default as ReusableBlocksRenameHint } from './inserter/reusable-block-rename-hint';\n"]}
|