@wordpress/block-editor 12.10.9 → 12.10.10

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.
Files changed (55) hide show
  1. package/build/components/block-rename/index.js +28 -0
  2. package/build/components/block-rename/index.js.map +1 -0
  3. package/build/components/block-rename/is-empty-string.js +10 -0
  4. package/build/components/block-rename/is-empty-string.js.map +1 -0
  5. package/build/components/block-rename/modal.js +86 -0
  6. package/build/components/block-rename/modal.js.map +1 -0
  7. package/build/components/block-rename/rename-control.js +73 -0
  8. package/build/components/block-rename/rename-control.js.map +1 -0
  9. package/build/components/block-rename/use-block-rename.js +19 -0
  10. package/build/components/block-rename/use-block-rename.js.map +1 -0
  11. package/build/components/block-settings-menu-controls/index.js +7 -0
  12. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  13. package/build/components/use-block-commands/index.js +6 -1
  14. package/build/components/use-block-commands/index.js.map +1 -1
  15. package/build/hooks/block-rename.js +51 -0
  16. package/build/hooks/block-rename.js.map +1 -0
  17. package/build/hooks/index.js +1 -1
  18. package/build/hooks/index.js.map +1 -1
  19. package/build-module/components/block-rename/index.js +4 -0
  20. package/build-module/components/block-rename/index.js.map +1 -0
  21. package/build-module/components/block-rename/is-empty-string.js +4 -0
  22. package/build-module/components/block-rename/is-empty-string.js.map +1 -0
  23. package/build-module/components/block-rename/modal.js +79 -0
  24. package/build-module/components/block-rename/modal.js.map +1 -0
  25. package/build-module/components/block-rename/rename-control.js +66 -0
  26. package/build-module/components/block-rename/rename-control.js.map +1 -0
  27. package/build-module/components/block-rename/use-block-rename.js +12 -0
  28. package/build-module/components/block-rename/use-block-rename.js.map +1 -0
  29. package/build-module/components/block-settings-menu-controls/index.js +7 -0
  30. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  31. package/build-module/components/use-block-commands/index.js +5 -1
  32. package/build-module/components/use-block-commands/index.js.map +1 -1
  33. package/build-module/hooks/block-rename.js +43 -0
  34. package/build-module/hooks/block-rename.js.map +1 -0
  35. package/build-module/hooks/index.js +1 -1
  36. package/build-module/hooks/index.js.map +1 -1
  37. package/build-style/style-rtl.css +4 -4
  38. package/build-style/style.css +4 -4
  39. package/package.json +32 -32
  40. package/src/components/block-rename/index.js +3 -0
  41. package/src/components/block-rename/is-empty-string.js +3 -0
  42. package/src/components/block-rename/modal.js +115 -0
  43. package/src/components/block-rename/rename-control.js +80 -0
  44. package/src/components/block-rename/use-block-rename.js +20 -0
  45. package/src/components/block-settings-menu-controls/index.js +9 -0
  46. package/src/components/use-block-commands/index.js +2 -1
  47. package/src/hooks/block-rename.js +52 -0
  48. package/src/hooks/index.js +1 -1
  49. package/src/style.scss +1 -1
  50. package/build/hooks/block-rename-ui.js +0 -164
  51. package/build/hooks/block-rename-ui.js.map +0 -1
  52. package/build-module/hooks/block-rename-ui.js +0 -157
  53. package/build-module/hooks/block-rename-ui.js.map +0 -1
  54. package/src/hooks/block-rename-ui.js +0 -235
  55. /package/src/{hooks/block-rename-ui.scss → components/block-rename/style.scss} +0 -0
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "BlockRenameControl", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _renameControl.default;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "BlockRenameModal", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _modal.default;
17
+ }
18
+ });
19
+ Object.defineProperty(exports, "useBlockRename", {
20
+ enumerable: true,
21
+ get: function () {
22
+ return _useBlockRename.default;
23
+ }
24
+ });
25
+ var _renameControl = _interopRequireDefault(require("./rename-control"));
26
+ var _modal = _interopRequireDefault(require("./modal"));
27
+ var _useBlockRename = _interopRequireDefault(require("./use-block-rename"));
28
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_renameControl","_interopRequireDefault","require","_modal","_useBlockRename"],"sources":["@wordpress/block-editor/src/components/block-rename/index.js"],"sourcesContent":["export { default as BlockRenameControl } from './rename-control';\nexport { default as BlockRenameModal } from './modal';\nexport { default as useBlockRename } from './use-block-rename';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,eAAA,GAAAH,sBAAA,CAAAC,OAAA"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = isEmptyString;
7
+ function isEmptyString(testString) {
8
+ return testString?.trim()?.length === 0;
9
+ }
10
+ //# sourceMappingURL=is-empty-string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isEmptyString","testString","trim","length"],"sources":["@wordpress/block-editor/src/components/block-rename/is-empty-string.js"],"sourcesContent":["export default function isEmptyString( testString ) {\n\treturn testString?.trim()?.length === 0;\n}\n"],"mappings":";;;;;;AAAe,SAASA,aAAaA,CAAEC,UAAU,EAAG;EACnD,OAAOA,UAAU,EAAEC,IAAI,CAAC,CAAC,EAAEC,MAAM,KAAK,CAAC;AACxC"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = BlockRenameModal;
8
+ var _element = require("@wordpress/element");
9
+ var _components = require("@wordpress/components");
10
+ var _compose = require("@wordpress/compose");
11
+ var _i18n = require("@wordpress/i18n");
12
+ var _a11y = require("@wordpress/a11y");
13
+ var _isEmptyString = _interopRequireDefault(require("./is-empty-string"));
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
22
+ function BlockRenameModal({
23
+ blockName,
24
+ originalBlockName,
25
+ onClose,
26
+ onSave
27
+ }) {
28
+ const [editedBlockName, setEditedBlockName] = (0, _element.useState)(blockName);
29
+ const nameHasChanged = editedBlockName !== blockName;
30
+ const nameIsOriginal = editedBlockName === originalBlockName;
31
+ const nameIsEmpty = (0, _isEmptyString.default)(editedBlockName);
32
+ const isNameValid = nameHasChanged || nameIsOriginal;
33
+ const autoSelectInputText = event => event.target.select();
34
+ const dialogDescription = (0, _compose.useInstanceId)(BlockRenameModal, `block-editor-rename-modal__description`);
35
+ const handleSubmit = () => {
36
+ const message = nameIsOriginal || nameIsEmpty ? (0, _i18n.sprintf)( /* translators: %s: new name/label for the block */
37
+ (0, _i18n.__)('Block name reset to: "%s".'), editedBlockName) : (0, _i18n.sprintf)( /* translators: %s: new name/label for the block */
38
+ (0, _i18n.__)('Block name changed to: "%s".'), editedBlockName);
39
+
40
+ // Must be assertive to immediately announce change.
41
+ (0, _a11y.speak)(message, 'assertive');
42
+ onSave(editedBlockName);
43
+
44
+ // Immediate close avoids ability to hit save multiple times.
45
+ onClose();
46
+ };
47
+ return (0, _element.createElement)(_components.Modal, {
48
+ title: (0, _i18n.__)('Rename'),
49
+ onRequestClose: onClose,
50
+ overlayClassName: "block-editor-block-rename-modal",
51
+ aria: {
52
+ describedby: dialogDescription
53
+ },
54
+ focusOnMount: "firstContentElement"
55
+ }, (0, _element.createElement)("p", {
56
+ id: dialogDescription
57
+ }, (0, _i18n.__)('Enter a custom name for this block.')), (0, _element.createElement)("form", {
58
+ onSubmit: e => {
59
+ e.preventDefault();
60
+ if (!isNameValid) {
61
+ return;
62
+ }
63
+ handleSubmit();
64
+ }
65
+ }, (0, _element.createElement)(_components.__experimentalVStack, {
66
+ spacing: "3"
67
+ }, (0, _element.createElement)(_components.TextControl, {
68
+ __nextHasNoMarginBottom: true,
69
+ value: editedBlockName,
70
+ label: (0, _i18n.__)('Block name'),
71
+ hideLabelFromVision: true,
72
+ placeholder: originalBlockName,
73
+ onChange: setEditedBlockName,
74
+ onFocus: autoSelectInputText
75
+ }), (0, _element.createElement)(_components.__experimentalHStack, {
76
+ justify: "right"
77
+ }, (0, _element.createElement)(_components.Button, {
78
+ variant: "tertiary",
79
+ onClick: onClose
80
+ }, (0, _i18n.__)('Cancel')), (0, _element.createElement)(_components.Button, {
81
+ "aria-disabled": !isNameValid,
82
+ variant: "primary",
83
+ type: "submit"
84
+ }, (0, _i18n.__)('Save'))))));
85
+ }
86
+ //# sourceMappingURL=modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","_components","_compose","_i18n","_a11y","_isEmptyString","_interopRequireDefault","BlockRenameModal","blockName","originalBlockName","onClose","onSave","editedBlockName","setEditedBlockName","useState","nameHasChanged","nameIsOriginal","nameIsEmpty","isEmptyString","isNameValid","autoSelectInputText","event","target","select","dialogDescription","useInstanceId","handleSubmit","message","sprintf","__","speak","createElement","Modal","title","onRequestClose","overlayClassName","aria","describedby","focusOnMount","id","onSubmit","e","preventDefault","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","value","label","hideLabelFromVision","placeholder","onChange","onFocus","__experimentalHStack","justify","Button","variant","onClick","type"],"sources":["@wordpress/block-editor/src/components/block-rename/modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tTextControl,\n\tModal,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport isEmptyString from './is-empty-string';\n\nexport default function BlockRenameModal( {\n\tblockName,\n\toriginalBlockName,\n\tonClose,\n\tonSave,\n} ) {\n\tconst [ editedBlockName, setEditedBlockName ] = useState( blockName );\n\n\tconst nameHasChanged = editedBlockName !== blockName;\n\tconst nameIsOriginal = editedBlockName === originalBlockName;\n\tconst nameIsEmpty = isEmptyString( editedBlockName );\n\n\tconst isNameValid = nameHasChanged || nameIsOriginal;\n\n\tconst autoSelectInputText = ( event ) => event.target.select();\n\n\tconst dialogDescription = useInstanceId(\n\t\tBlockRenameModal,\n\t\t`block-editor-rename-modal__description`\n\t);\n\n\tconst handleSubmit = () => {\n\t\tconst message =\n\t\t\tnameIsOriginal || nameIsEmpty\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: %s: new name/label for the block */\n\t\t\t\t\t\t__( 'Block name reset to: \"%s\".' ),\n\t\t\t\t\t\teditedBlockName\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: %s: new name/label for the block */\n\t\t\t\t\t\t__( 'Block name changed to: \"%s\".' ),\n\t\t\t\t\t\teditedBlockName\n\t\t\t\t );\n\n\t\t// Must be assertive to immediately announce change.\n\t\tspeak( message, 'assertive' );\n\t\tonSave( editedBlockName );\n\n\t\t// Immediate close avoids ability to hit save multiple times.\n\t\tonClose();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Rename' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\toverlayClassName=\"block-editor-block-rename-modal\"\n\t\t\taria={ {\n\t\t\t\tdescribedby: dialogDescription,\n\t\t\t} }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t>\n\t\t\t<p id={ dialogDescription }>\n\t\t\t\t{ __( 'Enter a custom name for this block.' ) }\n\t\t\t</p>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( e ) => {\n\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\tif ( ! isNameValid ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\thandleSubmit();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"3\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ editedBlockName }\n\t\t\t\t\t\tlabel={ __( 'Block name' ) }\n\t\t\t\t\t\thideLabelFromVision={ true }\n\t\t\t\t\t\tplaceholder={ originalBlockName }\n\t\t\t\t\t\tonChange={ setEditedBlockName }\n\t\t\t\t\t\tonFocus={ autoSelectInputText }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\taria-disabled={ ! isNameValid }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = BlockRenameControl;
8
+ var _element = require("@wordpress/element");
9
+ var _components = require("@wordpress/components");
10
+ var _data = require("@wordpress/data");
11
+ var _i18n = require("@wordpress/i18n");
12
+ var _store = require("../../store");
13
+ var _ = require("..");
14
+ var _isEmptyString = _interopRequireDefault(require("./is-empty-string"));
15
+ var _modal = _interopRequireDefault(require("./modal"));
16
+ /**
17
+ * WordPress dependencies
18
+ */
19
+
20
+ /**
21
+ * Internal dependencies
22
+ */
23
+
24
+ function BlockRenameControl({
25
+ clientId
26
+ }) {
27
+ const [renamingBlock, setRenamingBlock] = (0, _element.useState)(false);
28
+ const {
29
+ metadata
30
+ } = (0, _data.useSelect)(select => {
31
+ const {
32
+ getBlockAttributes
33
+ } = select(_store.store);
34
+ const _metadata = getBlockAttributes(clientId)?.metadata;
35
+ return {
36
+ metadata: _metadata
37
+ };
38
+ }, [clientId]);
39
+ const {
40
+ updateBlockAttributes
41
+ } = (0, _data.useDispatch)(_store.store);
42
+ const customName = metadata?.name;
43
+ function onChange(newName) {
44
+ updateBlockAttributes([clientId], {
45
+ metadata: {
46
+ ...(metadata && metadata),
47
+ name: newName
48
+ }
49
+ });
50
+ }
51
+ const blockInformation = (0, _.useBlockDisplayInformation)(clientId);
52
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.MenuItem, {
53
+ onClick: () => {
54
+ setRenamingBlock(true);
55
+ },
56
+ "aria-expanded": renamingBlock,
57
+ "aria-haspopup": "dialog"
58
+ }, (0, _i18n.__)('Rename')), renamingBlock && (0, _element.createElement)(_modal.default, {
59
+ blockName: customName || '',
60
+ originalBlockName: blockInformation?.title,
61
+ onClose: () => setRenamingBlock(false),
62
+ onSave: newName => {
63
+ // If the new value is the block's original name (e.g. `Group`)
64
+ // or it is an empty string then assume the intent is to reset
65
+ // the value. Therefore reset the metadata.
66
+ if (newName === blockInformation?.title || (0, _isEmptyString.default)(newName)) {
67
+ newName = undefined;
68
+ }
69
+ onChange(newName);
70
+ }
71
+ }));
72
+ }
73
+ //# sourceMappingURL=rename-control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","_components","_data","_i18n","_store","_","_isEmptyString","_interopRequireDefault","_modal","BlockRenameControl","clientId","renamingBlock","setRenamingBlock","useState","metadata","useSelect","select","getBlockAttributes","blockEditorStore","_metadata","updateBlockAttributes","useDispatch","customName","name","onChange","newName","blockInformation","useBlockDisplayInformation","createElement","Fragment","MenuItem","onClick","__","default","blockName","originalBlockName","title","onClose","onSave","isEmptyString","undefined"],"sources":["@wordpress/block-editor/src/components/block-rename/rename-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuItem } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { useBlockDisplayInformation } from '..';\nimport isEmptyString from './is-empty-string';\nimport BlockRenameModal from './modal';\n\nexport default function BlockRenameControl( { clientId } ) {\n\tconst [ renamingBlock, setRenamingBlock ] = useState( false );\n\n\tconst { metadata } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockAttributes } = select( blockEditorStore );\n\n\t\t\tconst _metadata = getBlockAttributes( clientId )?.metadata;\n\t\t\treturn {\n\t\t\t\tmetadata: _metadata,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst customName = metadata?.name;\n\n\tfunction onChange( newName ) {\n\t\tupdateBlockAttributes( [ clientId ], {\n\t\t\tmetadata: {\n\t\t\t\t...( metadata && metadata ),\n\t\t\t\tname: newName,\n\t\t\t},\n\t\t} );\n\t}\n\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetRenamingBlock( true );\n\t\t\t\t} }\n\t\t\t\taria-expanded={ renamingBlock }\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t>\n\t\t\t\t{ __( 'Rename' ) }\n\t\t\t</MenuItem>\n\t\t\t{ renamingBlock && (\n\t\t\t\t<BlockRenameModal\n\t\t\t\t\tblockName={ customName || '' }\n\t\t\t\t\toriginalBlockName={ blockInformation?.title }\n\t\t\t\t\tonClose={ () => setRenamingBlock( false ) }\n\t\t\t\t\tonSave={ ( newName ) => {\n\t\t\t\t\t\t// If the new value is the block's original name (e.g. `Group`)\n\t\t\t\t\t\t// or it is an empty string then assume the intent is to reset\n\t\t\t\t\t\t// the value. Therefore reset the metadata.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tnewName === blockInformation?.title ||\n\t\t\t\t\t\t\tisEmptyString( newName )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tnewName = undefined;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonChange( newName );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAMA,IAAAA,QAAA,GAAAC,OAAA;AAHA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAMA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,CAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAC,sBAAA,CAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAD,sBAAA,CAAAP,OAAA;AAdA;AACA;AACA;;AAMA;AACA;AACA;;AAMe,SAASS,kBAAkBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC1D,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAE7D,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAC3BC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAmB,CAAC,GAAGD,MAAM,CAAEE,YAAiB,CAAC;IAEzD,MAAMC,SAAS,GAAGF,kBAAkB,CAAEP,QAAS,CAAC,EAAEI,QAAQ;IAC1D,OAAO;MACNA,QAAQ,EAAEK;IACX,CAAC;EACF,CAAC,EACD,CAAET,QAAQ,CACX,CAAC;EAED,MAAM;IAAEU;EAAsB,CAAC,GAAG,IAAAC,iBAAW,EAAEH,YAAiB,CAAC;EAEjE,MAAMI,UAAU,GAAGR,QAAQ,EAAES,IAAI;EAEjC,SAASC,QAAQA,CAAEC,OAAO,EAAG;IAC5BL,qBAAqB,CAAE,CAAEV,QAAQ,CAAE,EAAE;MACpCI,QAAQ,EAAE;QACT,IAAKA,QAAQ,IAAIA,QAAQ,CAAE;QAC3BS,IAAI,EAAEE;MACP;IACD,CAAE,CAAC;EACJ;EAEA,MAAMC,gBAAgB,GAAG,IAAAC,4BAA0B,EAAEjB,QAAS,CAAC;EAE/D,OACC,IAAAX,QAAA,CAAA6B,aAAA,EAAA7B,QAAA,CAAA8B,QAAA,QACC,IAAA9B,QAAA,CAAA6B,aAAA,EAAC3B,WAAA,CAAA6B,QAAQ;IACRC,OAAO,EAAGA,CAAA,KAAM;MACfnB,gBAAgB,CAAE,IAAK,CAAC;IACzB,CAAG;IACH,iBAAgBD,aAAe;IAC/B,iBAAc;EAAQ,GAEpB,IAAAqB,QAAE,EAAE,QAAS,CACN,CAAC,EACTrB,aAAa,IACd,IAAAZ,QAAA,CAAA6B,aAAA,EAACpB,MAAA,CAAAyB,OAAgB;IAChBC,SAAS,EAAGZ,UAAU,IAAI,EAAI;IAC9Ba,iBAAiB,EAAGT,gBAAgB,EAAEU,KAAO;IAC7CC,OAAO,EAAGA,CAAA,KAAMzB,gBAAgB,CAAE,KAAM,CAAG;IAC3C0B,MAAM,EAAKb,OAAO,IAAM;MACvB;MACA;MACA;MACA,IACCA,OAAO,KAAKC,gBAAgB,EAAEU,KAAK,IACnC,IAAAG,sBAAa,EAAEd,OAAQ,CAAC,EACvB;QACDA,OAAO,GAAGe,SAAS;MACpB;MAEAhB,QAAQ,CAAEC,OAAQ,CAAC;IACpB;EAAG,CACH,CAED,CAAC;AAEL"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useBlockRename;
7
+ var _blocks = require("@wordpress/blocks");
8
+ /**
9
+ * WordPress dependencies
10
+ */
11
+
12
+ function useBlockRename(name) {
13
+ const metaDataSupport = (0, _blocks.getBlockSupport)(name, '__experimentalMetadata', false);
14
+ const supportsBlockNaming = !!(true === metaDataSupport || metaDataSupport?.name);
15
+ return {
16
+ canRename: supportsBlockNaming
17
+ };
18
+ }
19
+ //# sourceMappingURL=use-block-rename.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_blocks","require","useBlockRename","name","metaDataSupport","getBlockSupport","supportsBlockNaming","canRename"],"sources":["@wordpress/block-editor/src/components/block-rename/use-block-rename.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\n\nexport default function useBlockRename( name ) {\n\tconst metaDataSupport = getBlockSupport(\n\t\tname,\n\t\t'__experimentalMetadata',\n\t\tfalse\n\t);\n\n\tconst supportsBlockNaming = !! (\n\t\ttrue === metaDataSupport || metaDataSupport?.name\n\t);\n\n\treturn {\n\t\tcanRename: supportsBlockNaming,\n\t};\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGe,SAASC,cAAcA,CAAEC,IAAI,EAAG;EAC9C,MAAMC,eAAe,GAAG,IAAAC,uBAAe,EACtCF,IAAI,EACJ,wBAAwB,EACxB,KACD,CAAC;EAED,MAAMG,mBAAmB,GAAG,CAAC,EAC5B,IAAI,KAAKF,eAAe,IAAIA,eAAe,EAAED,IAAI,CACjD;EAED,OAAO;IACNI,SAAS,EAAED;EACZ,CAAC;AACF"}
@@ -14,6 +14,7 @@ var _convertToGroupButtons = require("../convert-to-group-buttons");
14
14
  var _blockLock = require("../block-lock");
15
15
  var _store = require("../../store");
16
16
  var _blockModeToggle = _interopRequireDefault(require("../block-settings-menu/block-mode-toggle"));
17
+ var _blockRename = require("../block-rename");
17
18
  /**
18
19
  * WordPress dependencies
19
20
  */
@@ -48,7 +49,11 @@ const BlockSettingsMenuControlsSlot = ({
48
49
  const {
49
50
  canLock
50
51
  } = (0, _blockLock.useBlockLock)(selectedClientIds[0]);
52
+ const {
53
+ canRename
54
+ } = (0, _blockRename.useBlockRename)(selectedBlocks[0]);
51
55
  const showLockButton = selectedClientIds.length === 1 && canLock;
56
+ const showRenameButton = selectedClientIds.length === 1 && canRename;
52
57
 
53
58
  // Check if current selection of blocks is Groupable or Ungroupable
54
59
  // and pass this props down to ConvertToGroupButton.
@@ -74,6 +79,8 @@ const BlockSettingsMenuControlsSlot = ({
74
79
  onClose: fillProps?.onClose
75
80
  }), showLockButton && (0, _element.createElement)(_blockLock.BlockLockMenuItem, {
76
81
  clientId: selectedClientIds[0]
82
+ }), showRenameButton && (0, _element.createElement)(_blockRename.BlockRenameControl, {
83
+ clientId: selectedClientIds[0]
77
84
  }), fills, fillProps?.canMove && !fillProps?.onlyBlock && (0, _element.createElement)(_components.MenuItem, {
78
85
  onClick: (0, _compose.pipe)(fillProps?.onClose, fillProps?.onMoveTo)
79
86
  }, (0, _i18n.__)('Move to')), fillProps?.count === 1 && (0, _element.createElement)(_blockModeToggle.default, {
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_data","_compose","_i18n","_convertToGroupButtons","_blockLock","_store","_blockModeToggle","_interopRequireDefault","Fill","Slot","createSlotFill","BlockSettingsMenuControlsSlot","fillProps","clientIds","__unstableDisplayLocation","selectedBlocks","selectedClientIds","useSelect","select","getBlockNamesByClientId","getSelectedBlockClientIds","blockEditorStore","ids","canLock","useBlockLock","showLockButton","length","convertToGroupButtonProps","useConvertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","_element","createElement","fills","MenuGroup","ConvertToGroupButton","onClose","BlockLockMenuItem","clientId","canMove","onlyBlock","MenuItem","onClick","pipe","onMoveTo","__","count","default","firstBlockClientId","onToggle","BlockSettingsMenuControls","props","__experimentalStyleProvider","document","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-settings-menu-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalStyleProvider as StyleProvider,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { pipe } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseConvertToGroupButtonProps,\n\tConvertToGroupButton,\n} from '../convert-to-group-buttons';\nimport { BlockLockMenuItem, useBlockLock } from '../block-lock';\nimport { store as blockEditorStore } from '../../store';\nimport BlockModeToggle from '../block-settings-menu/block-mode-toggle';\n\nconst { Fill, Slot } = createSlotFill( 'BlockSettingsMenuControls' );\n\nconst BlockSettingsMenuControlsSlot = ( {\n\tfillProps,\n\tclientIds = null,\n\t__unstableDisplayLocation,\n} ) => {\n\tconst { selectedBlocks, selectedClientIds } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockNamesByClientId, getSelectedBlockClientIds } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst ids =\n\t\t\t\tclientIds !== null ? clientIds : getSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\tselectedBlocks: getBlockNamesByClientId( ids ),\n\t\t\t\tselectedClientIds: ids,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tconst { canLock } = useBlockLock( selectedClientIds[ 0 ] );\n\tconst showLockButton = selectedClientIds.length === 1 && canLock;\n\n\t// Check if current selection of blocks is Groupable or Ungroupable\n\t// and pass this props down to ConvertToGroupButton.\n\tconst convertToGroupButtonProps =\n\t\tuseConvertToGroupButtonProps( selectedClientIds );\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton = isGroupable || isUngroupable;\n\n\treturn (\n\t\t<Slot\n\t\t\tfillProps={ {\n\t\t\t\t...fillProps,\n\t\t\t\t__unstableDisplayLocation,\n\t\t\t\tselectedBlocks,\n\t\t\t\tselectedClientIds,\n\t\t\t} }\n\t\t>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif (\n\t\t\t\t\t! fills?.length > 0 &&\n\t\t\t\t\t! showConvertToGroupButton &&\n\t\t\t\t\t! showLockButton\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ showConvertToGroupButton && (\n\t\t\t\t\t\t\t<ConvertToGroupButton\n\t\t\t\t\t\t\t\t{ ...convertToGroupButtonProps }\n\t\t\t\t\t\t\t\tonClose={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showLockButton && (\n\t\t\t\t\t\t\t<BlockLockMenuItem\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t{ fillProps?.canMove && ! fillProps?.onlyBlock && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\tfillProps?.onClose,\n\t\t\t\t\t\t\t\t\tfillProps?.onMoveTo\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Move to' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fillProps?.count === 1 && (\n\t\t\t\t\t\t\t<BlockModeToggle\n\t\t\t\t\t\t\t\tclientId={ fillProps?.firstBlockClientId }\n\t\t\t\t\t\t\t\tonToggle={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t</Slot>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-settings-menu-controls/README.md\n *\n * @param {Object} props Fill props.\n * @return {WPElement} Element.\n */\nfunction BlockSettingsMenuControls( { ...props } ) {\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill { ...props } />\n\t\t</StyleProvider>\n\t);\n}\n\nBlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot;\n\nexport default BlockSettingsMenuControls;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_data","_compose","_i18n","_convertToGroupButtons","_blockLock","_store","_blockModeToggle","_interopRequireDefault","_blockRename","Fill","Slot","createSlotFill","BlockSettingsMenuControlsSlot","fillProps","clientIds","__unstableDisplayLocation","selectedBlocks","selectedClientIds","useSelect","select","getBlockNamesByClientId","getSelectedBlockClientIds","blockEditorStore","ids","canLock","useBlockLock","canRename","useBlockRename","showLockButton","length","showRenameButton","convertToGroupButtonProps","useConvertToGroupButtonProps","isGroupable","isUngroupable","showConvertToGroupButton","_element","createElement","fills","MenuGroup","ConvertToGroupButton","onClose","BlockLockMenuItem","clientId","BlockRenameControl","canMove","onlyBlock","MenuItem","onClick","pipe","onMoveTo","__","count","default","firstBlockClientId","onToggle","BlockSettingsMenuControls","props","__experimentalStyleProvider","document","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-settings-menu-controls/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalStyleProvider as StyleProvider,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { pipe } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseConvertToGroupButtonProps,\n\tConvertToGroupButton,\n} from '../convert-to-group-buttons';\nimport { BlockLockMenuItem, useBlockLock } from '../block-lock';\nimport { store as blockEditorStore } from '../../store';\nimport BlockModeToggle from '../block-settings-menu/block-mode-toggle';\n\nimport { BlockRenameControl, useBlockRename } from '../block-rename';\n\nconst { Fill, Slot } = createSlotFill( 'BlockSettingsMenuControls' );\n\nconst BlockSettingsMenuControlsSlot = ( {\n\tfillProps,\n\tclientIds = null,\n\t__unstableDisplayLocation,\n} ) => {\n\tconst { selectedBlocks, selectedClientIds } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockNamesByClientId, getSelectedBlockClientIds } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst ids =\n\t\t\t\tclientIds !== null ? clientIds : getSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\tselectedBlocks: getBlockNamesByClientId( ids ),\n\t\t\t\tselectedClientIds: ids,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\n\tconst { canLock } = useBlockLock( selectedClientIds[ 0 ] );\n\tconst { canRename } = useBlockRename( selectedBlocks[ 0 ] );\n\tconst showLockButton = selectedClientIds.length === 1 && canLock;\n\tconst showRenameButton = selectedClientIds.length === 1 && canRename;\n\n\t// Check if current selection of blocks is Groupable or Ungroupable\n\t// and pass this props down to ConvertToGroupButton.\n\tconst convertToGroupButtonProps =\n\t\tuseConvertToGroupButtonProps( selectedClientIds );\n\tconst { isGroupable, isUngroupable } = convertToGroupButtonProps;\n\tconst showConvertToGroupButton = isGroupable || isUngroupable;\n\n\treturn (\n\t\t<Slot\n\t\t\tfillProps={ {\n\t\t\t\t...fillProps,\n\t\t\t\t__unstableDisplayLocation,\n\t\t\t\tselectedBlocks,\n\t\t\t\tselectedClientIds,\n\t\t\t} }\n\t\t>\n\t\t\t{ ( fills ) => {\n\t\t\t\tif (\n\t\t\t\t\t! fills?.length > 0 &&\n\t\t\t\t\t! showConvertToGroupButton &&\n\t\t\t\t\t! showLockButton\n\t\t\t\t) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn (\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t{ showConvertToGroupButton && (\n\t\t\t\t\t\t\t<ConvertToGroupButton\n\t\t\t\t\t\t\t\t{ ...convertToGroupButtonProps }\n\t\t\t\t\t\t\t\tonClose={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showLockButton && (\n\t\t\t\t\t\t\t<BlockLockMenuItem\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showRenameButton && (\n\t\t\t\t\t\t\t<BlockRenameControl\n\t\t\t\t\t\t\t\tclientId={ selectedClientIds[ 0 ] }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fills }\n\t\t\t\t\t\t{ fillProps?.canMove && ! fillProps?.onlyBlock && (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ pipe(\n\t\t\t\t\t\t\t\t\tfillProps?.onClose,\n\t\t\t\t\t\t\t\t\tfillProps?.onMoveTo\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Move to' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ fillProps?.count === 1 && (\n\t\t\t\t\t\t\t<BlockModeToggle\n\t\t\t\t\t\t\t\tclientId={ fillProps?.firstBlockClientId }\n\t\t\t\t\t\t\t\tonToggle={ fillProps?.onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t);\n\t\t\t} }\n\t\t</Slot>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-settings-menu-controls/README.md\n *\n * @param {Object} props Fill props.\n * @return {WPElement} Element.\n */\nfunction BlockSettingsMenuControls( { ...props } ) {\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill { ...props } />\n\t\t</StyleProvider>\n\t);\n}\n\nBlockSettingsMenuControls.Slot = BlockSettingsMenuControlsSlot;\n\nexport default BlockSettingsMenuControls;\n"],"mappings":"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"}
@@ -1,14 +1,17 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.useTransformCommands = exports.useBlockCommands = void 0;
8
+ var _element = require("@wordpress/element");
7
9
  var _i18n = require("@wordpress/i18n");
8
10
  var _blocks = require("@wordpress/blocks");
9
11
  var _data = require("@wordpress/data");
10
12
  var _commands = require("@wordpress/commands");
11
13
  var _icons = require("@wordpress/icons");
14
+ var _blockIcon = _interopRequireDefault(require("../block-icon"));
12
15
  var _store = require("../../store");
13
16
  /**
14
17
  * WordPress dependencies
@@ -86,7 +89,9 @@ const useTransformCommands = () => {
86
89
  name: 'core/block-editor/transform-to-' + name.replace('/', '-'),
87
90
  // translators: %s: block title/name.
88
91
  label: (0, _i18n.sprintf)((0, _i18n.__)('Transform to %s'), title),
89
- icon: icon.src,
92
+ icon: (0, _element.createElement)(_blockIcon.default, {
93
+ icon: icon
94
+ }),
90
95
  callback: ({
91
96
  close
92
97
  }) => {
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_blocks","_data","_commands","_icons","_store","useTransformCommands","clientIds","useSelect","select","getSelectedBlockClientIds","blockEditorStore","selectedBlockClientIds","blocks","getBlocksByClientId","replaceBlocks","multiSelect","useDispatch","possibleBlockTransformations","canRemove","getBlockRootClientId","getBlockTransformItems","canRemoveBlocks","rootClientId","Array","isArray","isTemplate","length","isTemplatePart","selectForMultipleBlocks","insertedBlocks","clientId","onBlockTransform","name","newBlocks","switchToBlockType","hasPossibleBlockTransformations","isLoading","commands","map","transformation","title","icon","replace","label","sprintf","__","src","callback","close","exports","useActionsCommands","isUngroupable","isGroupable","_isUngroupable","_isGroupable","canInsertBlockType","canMoveBlocks","getBlockCount","getDefaultBlockName","getGroupingBlockName","blocksStore","removeBlocks","duplicateBlocks","insertAfterBlock","insertBeforeBlock","setBlockMovingClientId","setNavigationMode","selectBlock","onGroup","groupingBlockName","onUngroup","innerBlocks","canInsertDefaultBlock","canDuplicate","every","block","hasBlockSupport","canMove","push","add","remove","copy","move","ungroup","group","command","useBlockCommands","useCommandLoader","hook"],"sources":["@wordpress/block-editor/src/components/use-block-commands/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\thasBlockSupport,\n\tstore as blocksStore,\n\tswitchToBlockType,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCommandLoader } from '@wordpress/commands';\nimport {\n\tcopy,\n\ttrash as remove,\n\tplus as add,\n\tgroup,\n\tungroup,\n\tmoveTo as move,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nexport const useTransformCommands = () => {\n\tconst { clientIds } = useSelect( ( select ) => {\n\t\tconst { getSelectedBlockClientIds } = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\n\t\treturn {\n\t\t\tclientIds: selectedBlockClientIds,\n\t\t};\n\t}, [] );\n\tconst blocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocksByClientId( clientIds ),\n\t\t[ clientIds ]\n\t);\n\tconst { replaceBlocks, multiSelect } = useDispatch( blockEditorStore );\n\tconst { possibleBlockTransformations, canRemove } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId(\n\t\t\t\tArray.isArray( clientIds ) ? clientIds[ 0 ] : clientIds\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\tblocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds, rootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, blocks ]\n\t);\n\n\tconst isTemplate = blocks.length === 1 && isTemplatePart( blocks[ 0 ] );\n\n\tfunction selectForMultipleBlocks( insertedBlocks ) {\n\t\tif ( insertedBlocks.length > 1 ) {\n\t\t\tmultiSelect(\n\t\t\t\tinsertedBlocks[ 0 ].clientId,\n\t\t\t\tinsertedBlocks[ insertedBlocks.length - 1 ].clientId\n\t\t\t);\n\t\t}\n\t}\n\n\t// Simple block tranformation based on the `Block Transforms` API.\n\tfunction onBlockTransform( name ) {\n\t\tconst newBlocks = switchToBlockType( blocks, name );\n\t\treplaceBlocks( clientIds, newBlocks );\n\t\tselectForMultipleBlocks( newBlocks );\n\t}\n\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\n\tif (\n\t\t! clientIds ||\n\t\tclientIds.length < 1 ||\n\t\t! hasPossibleBlockTransformations\n\t) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst commands = possibleBlockTransformations.map( ( transformation ) => {\n\t\tconst { name, title, icon } = transformation;\n\t\treturn {\n\t\t\tname: 'core/block-editor/transform-to-' + name.replace( '/', '-' ),\n\t\t\t// translators: %s: block title/name.\n\t\t\tlabel: sprintf( __( 'Transform to %s' ), title ),\n\t\t\ticon: icon.src,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tonBlockTransform( name );\n\t\t\t\tclose();\n\t\t\t},\n\t\t};\n\t} );\n\n\treturn { isLoading: false, commands };\n};\n\nconst useActionsCommands = () => {\n\tconst { clientIds, isUngroupable, isGroupable } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisUngroupable: _isUngroupable,\n\t\t\tisGroupable: _isGroupable,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\n\t\treturn {\n\t\t\tclientIds: selectedBlockClientIds,\n\t\t\tisUngroupable: _isUngroupable(),\n\t\t\tisGroupable: _isGroupable(),\n\t\t};\n\t}, [] );\n\tconst {\n\t\tcanInsertBlockType,\n\t\tgetBlockRootClientId,\n\t\tgetBlocksByClientId,\n\t\tcanMoveBlocks,\n\t\tcanRemoveBlocks,\n\t\tgetBlockCount,\n\t} = useSelect( blockEditorStore );\n\tconst { getDefaultBlockName, getGroupingBlockName } =\n\t\tuseSelect( blocksStore );\n\n\tconst blocks = getBlocksByClientId( clientIds );\n\n\tconst {\n\t\tremoveBlocks,\n\t\treplaceBlocks,\n\t\tduplicateBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tsetBlockMovingClientId,\n\t\tsetNavigationMode,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\n\tconst onGroup = () => {\n\t\tif ( ! blocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst groupingBlockName = getGroupingBlockName();\n\n\t\t// Activate the `transform` on `core/group` which does the conversion.\n\t\tconst newBlocks = switchToBlockType( blocks, groupingBlockName );\n\n\t\tif ( ! newBlocks ) {\n\t\t\treturn;\n\t\t}\n\t\treplaceBlocks( clientIds, newBlocks );\n\t};\n\tconst onUngroup = () => {\n\t\tif ( ! blocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst innerBlocks = blocks[ 0 ].innerBlocks;\n\n\t\tif ( ! innerBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\treplaceBlocks( clientIds, innerBlocks );\n\t};\n\n\tif ( ! clientIds || clientIds.length < 1 ) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\tconst canInsertDefaultBlock = canInsertBlockType(\n\t\tgetDefaultBlockName(),\n\t\trootClientId\n\t);\n\tconst canDuplicate = blocks.every( ( block ) => {\n\t\treturn (\n\t\t\t!! block &&\n\t\t\thasBlockSupport( block.name, 'multiple', true ) &&\n\t\t\tcanInsertBlockType( block.name, rootClientId )\n\t\t);\n\t} );\n\tconst canRemove = canRemoveBlocks( clientIds, rootClientId );\n\tconst canMove =\n\t\tcanMoveBlocks( clientIds, rootClientId ) &&\n\t\tgetBlockCount( rootClientId ) !== 1;\n\n\tconst commands = [];\n\tif ( canInsertDefaultBlock ) {\n\t\tcommands.push(\n\t\t\t{\n\t\t\t\tname: 'add-after',\n\t\t\t\tlabel: __( 'Add after' ),\n\t\t\t\tcallback: () => {\n\t\t\t\t\tconst clientId = Array.isArray( clientIds )\n\t\t\t\t\t\t? clientIds[ clientIds.length - 1 ]\n\t\t\t\t\t\t: clientId;\n\t\t\t\t\tinsertAfterBlock( clientId );\n\t\t\t\t},\n\t\t\t\ticon: add,\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'add-before',\n\t\t\t\tlabel: __( 'Add before' ),\n\t\t\t\tcallback: () => {\n\t\t\t\t\tconst clientId = Array.isArray( clientIds )\n\t\t\t\t\t\t? clientIds[ 0 ]\n\t\t\t\t\t\t: clientId;\n\t\t\t\t\tinsertBeforeBlock( clientId );\n\t\t\t\t},\n\t\t\t\ticon: add,\n\t\t\t}\n\t\t);\n\t}\n\tif ( canRemove ) {\n\t\tcommands.push( {\n\t\t\tname: 'remove',\n\t\t\tlabel: __( 'Delete' ),\n\t\t\tcallback: () => removeBlocks( clientIds, true ),\n\t\t\ticon: remove,\n\t\t} );\n\t}\n\tif ( canDuplicate ) {\n\t\tcommands.push( {\n\t\t\tname: 'duplicate',\n\t\t\tlabel: __( 'Duplicate' ),\n\t\t\tcallback: () => duplicateBlocks( clientIds, true ),\n\t\t\ticon: copy,\n\t\t} );\n\t}\n\tif ( canMove ) {\n\t\tcommands.push( {\n\t\t\tname: 'move-to',\n\t\t\tlabel: __( 'Move to' ),\n\t\t\tcallback: () => {\n\t\t\t\tsetNavigationMode( true );\n\t\t\t\tselectBlock( clientIds[ 0 ] );\n\t\t\t\tsetBlockMovingClientId( clientIds[ 0 ] );\n\t\t\t},\n\t\t\ticon: move,\n\t\t} );\n\t}\n\tif ( isUngroupable ) {\n\t\tcommands.push( {\n\t\t\tname: 'ungroup',\n\t\t\tlabel: __( 'Ungroup' ),\n\t\t\tcallback: onUngroup,\n\t\t\ticon: ungroup,\n\t\t} );\n\t}\n\tif ( isGroupable ) {\n\t\tcommands.push( {\n\t\t\tname: 'Group',\n\t\t\tlabel: __( 'Group' ),\n\t\t\tcallback: onGroup,\n\t\t\ticon: group,\n\t\t} );\n\t}\n\treturn {\n\t\tisLoading: false,\n\t\tcommands: commands.map( ( command ) => ( {\n\t\t\t...command,\n\t\t\tname: 'core/block-editor/action-' + command.name,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tcommand.callback();\n\t\t\t\tclose();\n\t\t\t},\n\t\t} ) ),\n\t};\n};\n\nexport const useBlockCommands = () => {\n\tuseCommandLoader( {\n\t\tname: 'core/block-editor/blockTransforms',\n\t\thook: useTransformCommands,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/block-editor/blockActions',\n\t\thook: useActionsCommands,\n\t} );\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["_i18n","require","_blocks","_data","_commands","_icons","_blockIcon","_interopRequireDefault","_store","useTransformCommands","clientIds","useSelect","select","getSelectedBlockClientIds","blockEditorStore","selectedBlockClientIds","blocks","getBlocksByClientId","replaceBlocks","multiSelect","useDispatch","possibleBlockTransformations","canRemove","getBlockRootClientId","getBlockTransformItems","canRemoveBlocks","rootClientId","Array","isArray","isTemplate","length","isTemplatePart","selectForMultipleBlocks","insertedBlocks","clientId","onBlockTransform","name","newBlocks","switchToBlockType","hasPossibleBlockTransformations","isLoading","commands","map","transformation","title","icon","replace","label","sprintf","__","_element","createElement","default","callback","close","exports","useActionsCommands","isUngroupable","isGroupable","_isUngroupable","_isGroupable","canInsertBlockType","canMoveBlocks","getBlockCount","getDefaultBlockName","getGroupingBlockName","blocksStore","removeBlocks","duplicateBlocks","insertAfterBlock","insertBeforeBlock","setBlockMovingClientId","setNavigationMode","selectBlock","onGroup","groupingBlockName","onUngroup","innerBlocks","canInsertDefaultBlock","canDuplicate","every","block","hasBlockSupport","canMove","push","add","remove","copy","move","ungroup","group","command","useBlockCommands","useCommandLoader","hook"],"sources":["@wordpress/block-editor/src/components/use-block-commands/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\thasBlockSupport,\n\tstore as blocksStore,\n\tswitchToBlockType,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useCommandLoader } from '@wordpress/commands';\nimport {\n\tcopy,\n\ttrash as remove,\n\tplus as add,\n\tgroup,\n\tungroup,\n\tmoveTo as move,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nexport const useTransformCommands = () => {\n\tconst { clientIds } = useSelect( ( select ) => {\n\t\tconst { getSelectedBlockClientIds } = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\n\t\treturn {\n\t\t\tclientIds: selectedBlockClientIds,\n\t\t};\n\t}, [] );\n\tconst blocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocksByClientId( clientIds ),\n\t\t[ clientIds ]\n\t);\n\tconst { replaceBlocks, multiSelect } = useDispatch( blockEditorStore );\n\tconst { possibleBlockTransformations, canRemove } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId(\n\t\t\t\tArray.isArray( clientIds ) ? clientIds[ 0 ] : clientIds\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\tblocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds, rootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientIds, blocks ]\n\t);\n\n\tconst isTemplate = blocks.length === 1 && isTemplatePart( blocks[ 0 ] );\n\n\tfunction selectForMultipleBlocks( insertedBlocks ) {\n\t\tif ( insertedBlocks.length > 1 ) {\n\t\t\tmultiSelect(\n\t\t\t\tinsertedBlocks[ 0 ].clientId,\n\t\t\t\tinsertedBlocks[ insertedBlocks.length - 1 ].clientId\n\t\t\t);\n\t\t}\n\t}\n\n\t// Simple block tranformation based on the `Block Transforms` API.\n\tfunction onBlockTransform( name ) {\n\t\tconst newBlocks = switchToBlockType( blocks, name );\n\t\treplaceBlocks( clientIds, newBlocks );\n\t\tselectForMultipleBlocks( newBlocks );\n\t}\n\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\n\tif (\n\t\t! clientIds ||\n\t\tclientIds.length < 1 ||\n\t\t! hasPossibleBlockTransformations\n\t) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst commands = possibleBlockTransformations.map( ( transformation ) => {\n\t\tconst { name, title, icon } = transformation;\n\t\treturn {\n\t\t\tname: 'core/block-editor/transform-to-' + name.replace( '/', '-' ),\n\t\t\t// translators: %s: block title/name.\n\t\t\tlabel: sprintf( __( 'Transform to %s' ), title ),\n\t\t\ticon: <BlockIcon icon={ icon } />,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tonBlockTransform( name );\n\t\t\t\tclose();\n\t\t\t},\n\t\t};\n\t} );\n\n\treturn { isLoading: false, commands };\n};\n\nconst useActionsCommands = () => {\n\tconst { clientIds, isUngroupable, isGroupable } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisUngroupable: _isUngroupable,\n\t\t\tisGroupable: _isGroupable,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\n\t\treturn {\n\t\t\tclientIds: selectedBlockClientIds,\n\t\t\tisUngroupable: _isUngroupable(),\n\t\t\tisGroupable: _isGroupable(),\n\t\t};\n\t}, [] );\n\tconst {\n\t\tcanInsertBlockType,\n\t\tgetBlockRootClientId,\n\t\tgetBlocksByClientId,\n\t\tcanMoveBlocks,\n\t\tcanRemoveBlocks,\n\t\tgetBlockCount,\n\t} = useSelect( blockEditorStore );\n\tconst { getDefaultBlockName, getGroupingBlockName } =\n\t\tuseSelect( blocksStore );\n\n\tconst blocks = getBlocksByClientId( clientIds );\n\n\tconst {\n\t\tremoveBlocks,\n\t\treplaceBlocks,\n\t\tduplicateBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tsetBlockMovingClientId,\n\t\tsetNavigationMode,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\n\tconst onGroup = () => {\n\t\tif ( ! blocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst groupingBlockName = getGroupingBlockName();\n\n\t\t// Activate the `transform` on `core/group` which does the conversion.\n\t\tconst newBlocks = switchToBlockType( blocks, groupingBlockName );\n\n\t\tif ( ! newBlocks ) {\n\t\t\treturn;\n\t\t}\n\t\treplaceBlocks( clientIds, newBlocks );\n\t};\n\tconst onUngroup = () => {\n\t\tif ( ! blocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst innerBlocks = blocks[ 0 ].innerBlocks;\n\n\t\tif ( ! innerBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\treplaceBlocks( clientIds, innerBlocks );\n\t};\n\n\tif ( ! clientIds || clientIds.length < 1 ) {\n\t\treturn { isLoading: false, commands: [] };\n\t}\n\n\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\tconst canInsertDefaultBlock = canInsertBlockType(\n\t\tgetDefaultBlockName(),\n\t\trootClientId\n\t);\n\tconst canDuplicate = blocks.every( ( block ) => {\n\t\treturn (\n\t\t\t!! block &&\n\t\t\thasBlockSupport( block.name, 'multiple', true ) &&\n\t\t\tcanInsertBlockType( block.name, rootClientId )\n\t\t);\n\t} );\n\tconst canRemove = canRemoveBlocks( clientIds, rootClientId );\n\tconst canMove =\n\t\tcanMoveBlocks( clientIds, rootClientId ) &&\n\t\tgetBlockCount( rootClientId ) !== 1;\n\n\tconst commands = [];\n\tif ( canInsertDefaultBlock ) {\n\t\tcommands.push(\n\t\t\t{\n\t\t\t\tname: 'add-after',\n\t\t\t\tlabel: __( 'Add after' ),\n\t\t\t\tcallback: () => {\n\t\t\t\t\tconst clientId = Array.isArray( clientIds )\n\t\t\t\t\t\t? clientIds[ clientIds.length - 1 ]\n\t\t\t\t\t\t: clientId;\n\t\t\t\t\tinsertAfterBlock( clientId );\n\t\t\t\t},\n\t\t\t\ticon: add,\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'add-before',\n\t\t\t\tlabel: __( 'Add before' ),\n\t\t\t\tcallback: () => {\n\t\t\t\t\tconst clientId = Array.isArray( clientIds )\n\t\t\t\t\t\t? clientIds[ 0 ]\n\t\t\t\t\t\t: clientId;\n\t\t\t\t\tinsertBeforeBlock( clientId );\n\t\t\t\t},\n\t\t\t\ticon: add,\n\t\t\t}\n\t\t);\n\t}\n\tif ( canRemove ) {\n\t\tcommands.push( {\n\t\t\tname: 'remove',\n\t\t\tlabel: __( 'Delete' ),\n\t\t\tcallback: () => removeBlocks( clientIds, true ),\n\t\t\ticon: remove,\n\t\t} );\n\t}\n\tif ( canDuplicate ) {\n\t\tcommands.push( {\n\t\t\tname: 'duplicate',\n\t\t\tlabel: __( 'Duplicate' ),\n\t\t\tcallback: () => duplicateBlocks( clientIds, true ),\n\t\t\ticon: copy,\n\t\t} );\n\t}\n\tif ( canMove ) {\n\t\tcommands.push( {\n\t\t\tname: 'move-to',\n\t\t\tlabel: __( 'Move to' ),\n\t\t\tcallback: () => {\n\t\t\t\tsetNavigationMode( true );\n\t\t\t\tselectBlock( clientIds[ 0 ] );\n\t\t\t\tsetBlockMovingClientId( clientIds[ 0 ] );\n\t\t\t},\n\t\t\ticon: move,\n\t\t} );\n\t}\n\tif ( isUngroupable ) {\n\t\tcommands.push( {\n\t\t\tname: 'ungroup',\n\t\t\tlabel: __( 'Ungroup' ),\n\t\t\tcallback: onUngroup,\n\t\t\ticon: ungroup,\n\t\t} );\n\t}\n\tif ( isGroupable ) {\n\t\tcommands.push( {\n\t\t\tname: 'Group',\n\t\t\tlabel: __( 'Group' ),\n\t\t\tcallback: onGroup,\n\t\t\ticon: group,\n\t\t} );\n\t}\n\treturn {\n\t\tisLoading: false,\n\t\tcommands: commands.map( ( command ) => ( {\n\t\t\t...command,\n\t\t\tname: 'core/block-editor/action-' + command.name,\n\t\t\tcallback: ( { close } ) => {\n\t\t\t\tcommand.callback();\n\t\t\t\tclose();\n\t\t\t},\n\t\t} ) ),\n\t};\n};\n\nexport const useBlockCommands = () => {\n\tuseCommandLoader( {\n\t\tname: 'core/block-editor/blockTransforms',\n\t\thook: useTransformCommands,\n\t} );\n\tuseCommandLoader( {\n\t\tname: 'core/block-editor/blockActions',\n\t\thook: useActionsCommands,\n\t} );\n};\n"],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.withBlockRenameControl = void 0;
7
+ var _element = require("@wordpress/element");
8
+ var _compose = require("@wordpress/compose");
9
+ var _hooks = require("@wordpress/hooks");
10
+ var _i18n = require("@wordpress/i18n");
11
+ var _blocks = require("@wordpress/blocks");
12
+ var _components = require("@wordpress/components");
13
+ var _components2 = require("../components");
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
22
+ const withBlockRenameControl = (0, _compose.createHigherOrderComponent)(BlockEdit => props => {
23
+ const {
24
+ name,
25
+ attributes,
26
+ setAttributes,
27
+ isSelected
28
+ } = props;
29
+ const supportsBlockNaming = (0, _blocks.hasBlockSupport)(name, 'renaming', true);
30
+ return (0, _element.createElement)(_element.Fragment, null, isSelected && supportsBlockNaming && (0, _element.createElement)(_components2.InspectorControls, {
31
+ group: "advanced"
32
+ }, (0, _element.createElement)(_components.TextControl, {
33
+ __nextHasNoMarginBottom: true,
34
+ label: (0, _i18n.__)('Block name'),
35
+ value: attributes?.metadata?.name || '',
36
+ onChange: newName => {
37
+ setAttributes({
38
+ metadata: {
39
+ ...attributes?.metadata,
40
+ name: newName
41
+ }
42
+ });
43
+ }
44
+ })), (0, _element.createElement)(BlockEdit, {
45
+ key: "edit",
46
+ ...props
47
+ }));
48
+ }, 'withToolbarControls');
49
+ exports.withBlockRenameControl = withBlockRenameControl;
50
+ (0, _hooks.addFilter)('editor.BlockEdit', 'core/block-rename-ui/with-block-rename-control', withBlockRenameControl);
51
+ //# sourceMappingURL=block-rename.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_compose","require","_hooks","_i18n","_blocks","_components","_components2","withBlockRenameControl","createHigherOrderComponent","BlockEdit","props","name","attributes","setAttributes","isSelected","supportsBlockNaming","hasBlockSupport","_element","createElement","Fragment","InspectorControls","group","TextControl","__nextHasNoMarginBottom","label","__","value","metadata","onChange","newName","key","exports","addFilter"],"sources":["@wordpress/block-editor/src/hooks/block-rename.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { TextControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { InspectorControls } from '../components';\n\nexport const withBlockRenameControl = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst { name, attributes, setAttributes, isSelected } = props;\n\n\t\tconst supportsBlockNaming = hasBlockSupport( name, 'renaming', true );\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ isSelected && supportsBlockNaming && (\n\t\t\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Block name' ) }\n\t\t\t\t\t\t\tvalue={ attributes?.metadata?.name || '' }\n\t\t\t\t\t\t\tonChange={ ( newName ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t\t\t\t\t...attributes?.metadata,\n\t\t\t\t\t\t\t\t\t\tname: newName,\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t<BlockEdit key=\"edit\" { ...props } />\n\t\t\t</>\n\t\t);\n\t},\n\t'withToolbarControls'\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/block-rename-ui/with-block-rename-control',\n\twithBlockRenameControl\n);\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAKA,IAAAK,YAAA,GAAAL,OAAA;AAZA;AACA;AACA;;AAOA;AACA;AACA;;AAGO,MAAMM,sBAAsB,GAAG,IAAAC,mCAA0B,EAC7DC,SAAS,IAAQC,KAAK,IAAM;EAC7B,MAAM;IAAEC,IAAI;IAAEC,UAAU;IAAEC,aAAa;IAAEC;EAAW,CAAC,GAAGJ,KAAK;EAE7D,MAAMK,mBAAmB,GAAG,IAAAC,uBAAe,EAAEL,IAAI,EAAE,UAAU,EAAE,IAAK,CAAC;EAErE,OACC,IAAAM,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAE,QAAA,QACGL,UAAU,IAAIC,mBAAmB,IAClC,IAAAE,QAAA,CAAAC,aAAA,EAACZ,YAAA,CAAAc,iBAAiB;IAACC,KAAK,EAAC;EAAU,GAClC,IAAAJ,QAAA,CAAAC,aAAA,EAACb,WAAA,CAAAiB,WAAW;IACXC,uBAAuB;IACvBC,KAAK,EAAG,IAAAC,QAAE,EAAE,YAAa,CAAG;IAC5BC,KAAK,EAAGd,UAAU,EAAEe,QAAQ,EAAEhB,IAAI,IAAI,EAAI;IAC1CiB,QAAQ,EAAKC,OAAO,IAAM;MACzBhB,aAAa,CAAE;QACdc,QAAQ,EAAE;UACT,GAAGf,UAAU,EAAEe,QAAQ;UACvBhB,IAAI,EAAEkB;QACP;MACD,CAAE,CAAC;IACJ;EAAG,CACH,CACiB,CACnB,EAED,IAAAZ,QAAA,CAAAC,aAAA,EAACT,SAAS;IAACqB,GAAG,EAAC,MAAM;IAAA,GAAMpB;EAAK,CAAI,CACnC,CAAC;AAEL,CAAC,EACD,qBACD,CAAC;AAACqB,OAAA,CAAAxB,sBAAA,GAAAA,sBAAA;AAEF,IAAAyB,gBAAS,EACR,kBAAkB,EAClB,gDAAgD,EAChDzB,sBACD,CAAC"}
@@ -90,7 +90,7 @@ require("./metadata");
90
90
  require("./metadata-name");
91
91
  require("./custom-fields");
92
92
  require("./block-hooks");
93
- require("./block-rename-ui");
93
+ require("./block-rename");
94
94
  var _dimensions = require("./dimensions");
95
95
  var _useBorderProps = require("./use-border-props");
96
96
  var _useColorProps = require("./use-color-props");
@@ -1 +1 @@
1
- {"version":3,"names":["require","_layout","_dimensions","_useBorderProps","_useColorProps","_useSpacingProps","_useTypographyProps","_gap","_useCachedTruthy"],"sources":["@wordpress/block-editor/src/hooks/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport './compat';\nimport './align';\nimport './lock';\nimport './anchor';\nimport './aria-label';\nimport './custom-class-name';\nimport './generated-class-name';\nimport './style';\nimport './settings';\nimport './color';\nimport './duotone';\nimport './font-family';\nimport './font-size';\nimport './border';\nimport './position';\nimport './layout';\nimport './content-lock-ui';\nimport './metadata';\nimport './metadata-name';\nimport './custom-fields';\nimport './block-hooks';\nimport './block-rename-ui';\n\nexport { useCustomSides } from './dimensions';\nexport { useLayoutClasses, useLayoutStyles } from './layout';\nexport { getBorderClassesAndStyles, useBorderProps } from './use-border-props';\nexport { getColorClassesAndStyles, useColorProps } from './use-color-props';\nexport { getSpacingClassesAndStyles } from './use-spacing-props';\nexport { getTypographyClassesAndStyles } from './use-typography-props';\nexport { getGapCSSValue } from './gap';\nexport { useCachedTruthy } from './use-cached-truthy';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,IAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA"}
1
+ {"version":3,"names":["require","_layout","_dimensions","_useBorderProps","_useColorProps","_useSpacingProps","_useTypographyProps","_gap","_useCachedTruthy"],"sources":["@wordpress/block-editor/src/hooks/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport './compat';\nimport './align';\nimport './lock';\nimport './anchor';\nimport './aria-label';\nimport './custom-class-name';\nimport './generated-class-name';\nimport './style';\nimport './settings';\nimport './color';\nimport './duotone';\nimport './font-family';\nimport './font-size';\nimport './border';\nimport './position';\nimport './layout';\nimport './content-lock-ui';\nimport './metadata';\nimport './metadata-name';\nimport './custom-fields';\nimport './block-hooks';\nimport './block-rename';\n\nexport { useCustomSides } from './dimensions';\nexport { useLayoutClasses, useLayoutStyles } from './layout';\nexport { getBorderClassesAndStyles, useBorderProps } from './use-border-props';\nexport { getColorClassesAndStyles, useColorProps } from './use-color-props';\nexport { getSpacingClassesAndStyles } from './use-spacing-props';\nexport { getTypographyClassesAndStyles } from './use-typography-props';\nexport { getGapCSSValue } from './gap';\nexport { useCachedTruthy } from './use-cached-truthy';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AACAA,OAAA;AAEA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,eAAA,GAAAH,OAAA;AACA,IAAAI,cAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AACA,IAAAO,IAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA"}
@@ -0,0 +1,4 @@
1
+ export { default as BlockRenameControl } from './rename-control';
2
+ export { default as BlockRenameModal } from './modal';
3
+ export { default as useBlockRename } from './use-block-rename';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["default","BlockRenameControl","BlockRenameModal","useBlockRename"],"sources":["@wordpress/block-editor/src/components/block-rename/index.js"],"sourcesContent":["export { default as BlockRenameControl } from './rename-control';\nexport { default as BlockRenameModal } from './modal';\nexport { default as useBlockRename } from './use-block-rename';\n"],"mappings":"AAAA,SAASA,OAAO,IAAIC,kBAAkB,QAAQ,kBAAkB;AAChE,SAASD,OAAO,IAAIE,gBAAgB,QAAQ,SAAS;AACrD,SAASF,OAAO,IAAIG,cAAc,QAAQ,oBAAoB"}
@@ -0,0 +1,4 @@
1
+ export default function isEmptyString(testString) {
2
+ return testString?.trim()?.length === 0;
3
+ }
4
+ //# sourceMappingURL=is-empty-string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isEmptyString","testString","trim","length"],"sources":["@wordpress/block-editor/src/components/block-rename/is-empty-string.js"],"sourcesContent":["export default function isEmptyString( testString ) {\n\treturn testString?.trim()?.length === 0;\n}\n"],"mappings":"AAAA,eAAe,SAASA,aAAaA,CAAEC,UAAU,EAAG;EACnD,OAAOA,UAAU,EAAEC,IAAI,CAAC,CAAC,EAAEC,MAAM,KAAK,CAAC;AACxC"}