@wordpress/block-editor 15.4.0 → 15.4.1-next.233ccab9b.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/build/components/block-inspector/index.js +110 -95
  2. package/build/components/block-inspector/index.js.map +1 -1
  3. package/build/components/block-switcher/index.js +4 -3
  4. package/build/components/block-switcher/index.js.map +1 -1
  5. package/build/components/inspector-controls-tabs/content-tab.js +34 -0
  6. package/build/components/inspector-controls-tabs/content-tab.js.map +1 -0
  7. package/build/components/inspector-controls-tabs/index.js +12 -2
  8. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  9. package/build/components/inspector-controls-tabs/styles-tab.js +24 -21
  10. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  11. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +9 -5
  12. package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  13. package/build/components/inspector-controls-tabs/utils.js +7 -1
  14. package/build/components/inspector-controls-tabs/utils.js.map +1 -1
  15. package/build/components/rich-text/index.js +4 -1
  16. package/build/components/rich-text/index.js.map +1 -1
  17. package/build/private-apis.js +3 -1
  18. package/build/private-apis.js.map +1 -1
  19. package/build/store/actions.js +3 -2
  20. package/build/store/actions.js.map +1 -1
  21. package/build-module/components/block-inspector/index.js +110 -95
  22. package/build-module/components/block-inspector/index.js.map +1 -1
  23. package/build-module/components/block-switcher/index.js +4 -3
  24. package/build-module/components/block-switcher/index.js.map +1 -1
  25. package/build-module/components/inspector-controls-tabs/content-tab.js +26 -0
  26. package/build-module/components/inspector-controls-tabs/content-tab.js.map +1 -0
  27. package/build-module/components/inspector-controls-tabs/index.js +13 -3
  28. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  29. package/build-module/components/inspector-controls-tabs/styles-tab.js +24 -21
  30. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  31. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +10 -6
  32. package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
  33. package/build-module/components/inspector-controls-tabs/utils.js +7 -1
  34. package/build-module/components/inspector-controls-tabs/utils.js.map +1 -1
  35. package/build-module/components/rich-text/index.js +4 -1
  36. package/build-module/components/rich-text/index.js.map +1 -1
  37. package/build-module/private-apis.js +3 -1
  38. package/build-module/private-apis.js.map +1 -1
  39. package/build-module/store/actions.js +3 -2
  40. package/build-module/store/actions.js.map +1 -1
  41. package/package.json +34 -34
  42. package/src/components/block-inspector/index.js +134 -114
  43. package/src/components/block-switcher/index.js +8 -3
  44. package/src/components/inspector-controls-tabs/content-tab.js +24 -0
  45. package/src/components/inspector-controls-tabs/index.js +8 -1
  46. package/src/components/inspector-controls-tabs/styles-tab.js +33 -21
  47. package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +19 -6
  48. package/src/components/inspector-controls-tabs/utils.js +8 -1
  49. package/src/components/rich-text/index.js +8 -1
  50. package/src/private-apis.js +2 -0
  51. package/src/store/actions.js +3 -2
@@ -23,8 +23,8 @@ var _useInspectorControlsTabs = _interopRequireDefault(require("../inspector-con
23
23
  var _advancedControlsPanel = _interopRequireDefault(require("../inspector-controls-tabs/advanced-controls-panel"));
24
24
  var _positionControlsPanel = _interopRequireDefault(require("../inspector-controls-tabs/position-controls-panel"));
25
25
  var _useBlockInspectorAnimationSettings = _interopRequireDefault(require("./useBlockInspectorAnimationSettings"));
26
- var _blockQuickNavigation = _interopRequireDefault(require("../block-quick-navigation"));
27
26
  var _border = require("../../hooks/border");
27
+ var _contentTab = _interopRequireDefault(require("../inspector-controls-tabs/content-tab"));
28
28
  var _lockUnlock = require("../../lock-unlock");
29
29
  var _jsxRuntime = require("react/jsx-runtime");
30
30
  /**
@@ -45,35 +45,99 @@ function BlockStylesPanel({
45
45
  })
46
46
  });
47
47
  }
48
+ function StyleInspectorSlots({
49
+ blockName,
50
+ showAdvancedControls = true,
51
+ showPositionControls = true,
52
+ showListControls = false,
53
+ showBindingsControls = true
54
+ }) {
55
+ const borderPanelLabel = (0, _border.useBorderPanelLabel)({
56
+ blockName
57
+ });
58
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
59
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {}), showListControls && /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
60
+ group: "list"
61
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
62
+ group: "color",
63
+ label: (0, _i18n.__)('Color'),
64
+ className: "color-block-support-panel__inner-wrapper"
65
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
66
+ group: "background",
67
+ label: (0, _i18n.__)('Background image')
68
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
69
+ group: "typography",
70
+ label: (0, _i18n.__)('Typography')
71
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
72
+ group: "dimensions",
73
+ label: (0, _i18n.__)('Dimensions')
74
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
75
+ group: "border",
76
+ label: borderPanelLabel
77
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
78
+ group: "styles"
79
+ }), showPositionControls && /*#__PURE__*/(0, _jsxRuntime.jsx)(_positionControlsPanel.default, {}), showBindingsControls && /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
80
+ group: "bindings"
81
+ }), showAdvancedControls && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
82
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_advancedControlsPanel.default, {})
83
+ })]
84
+ });
85
+ }
48
86
  function BlockInspector() {
49
87
  const {
50
- count,
88
+ selectedBlockCount,
51
89
  selectedBlockName,
52
90
  selectedBlockClientId,
53
91
  blockType,
54
- isSectionBlock
92
+ isSectionBlock,
93
+ isSectionBlockInSelection,
94
+ hasBlockStyles
55
95
  } = (0, _data.useSelect)(select => {
56
96
  const {
57
97
  getSelectedBlockClientId,
98
+ getSelectedBlockClientIds,
58
99
  getSelectedBlockCount,
59
100
  getBlockName,
60
101
  getParentSectionBlock,
61
102
  isSectionBlock: _isSectionBlock
62
103
  } = (0, _lockUnlock.unlock)(select(_store.store));
104
+ const {
105
+ getBlockStyles
106
+ } = select(_blocks.store);
63
107
  const _selectedBlockClientId = getSelectedBlockClientId();
64
- const renderedBlockClientId = getParentSectionBlock(_selectedBlockClientId) || getSelectedBlockClientId();
108
+ const renderedBlockClientId = getParentSectionBlock(_selectedBlockClientId) || _selectedBlockClientId;
65
109
  const _selectedBlockName = renderedBlockClientId && getBlockName(renderedBlockClientId);
66
110
  const _blockType = _selectedBlockName && (0, _blocks.getBlockType)(_selectedBlockName);
111
+ const selectedBlockClientIds = getSelectedBlockClientIds();
112
+ const _isSectionBlockInSelection = selectedBlockClientIds.some(id => _isSectionBlock(id));
113
+ const blockStyles = _selectedBlockName && getBlockStyles(_selectedBlockName);
114
+ const _hasBlockStyles = blockStyles && blockStyles.length > 0;
67
115
  return {
68
- count: getSelectedBlockCount(),
116
+ selectedBlockCount: getSelectedBlockCount(),
69
117
  selectedBlockClientId: renderedBlockClientId,
70
118
  selectedBlockName: _selectedBlockName,
71
119
  blockType: _blockType,
72
- isSectionBlock: _isSectionBlock(renderedBlockClientId)
120
+ isSectionBlockInSelection: _isSectionBlockInSelection,
121
+ isSectionBlock: _isSectionBlock(renderedBlockClientId),
122
+ hasBlockStyles: _hasBlockStyles
73
123
  };
74
124
  }, []);
75
- const availableTabs = (0, _useInspectorControlsTabs.default)(blockType?.name);
76
- const showTabs = availableTabs?.length > 1;
125
+
126
+ // Separate useSelect for contentClientIds with proper dependencies
127
+ const contentClientIds = (0, _data.useSelect)(select => {
128
+ if (!isSectionBlock || !selectedBlockClientId) {
129
+ return [];
130
+ }
131
+ const {
132
+ getClientIdsOfDescendants,
133
+ getBlockName,
134
+ getBlockEditingMode
135
+ } = (0, _lockUnlock.unlock)(select(_store.store));
136
+ const descendants = getClientIdsOfDescendants(selectedBlockClientId);
137
+ return descendants.filter(current => getBlockName(current) !== 'core/list-item' && getBlockEditingMode(current) === 'contentOnly');
138
+ }, [isSectionBlock, selectedBlockClientId]);
139
+ const availableTabs = (0, _useInspectorControlsTabs.default)(blockType?.name, contentClientIds, isSectionBlock, hasBlockStyles);
140
+ const hasMultipleTabs = availableTabs?.length > 1;
77
141
 
78
142
  // The block inspector animation settings will be completely
79
143
  // removed in the future to create an API which allows the block
@@ -82,44 +146,34 @@ function BlockInspector() {
82
146
  // and its parent, and only enable it if the parent is controlling
83
147
  // its children blocks.
84
148
  const blockInspectorAnimationSettings = (0, _useBlockInspectorAnimationSettings.default)(blockType);
85
- const borderPanelLabel = (0, _border.useBorderPanelLabel)({
86
- blockName: selectedBlockName
87
- });
88
- if (count > 1 && !isSectionBlock) {
149
+ const hasSelectedBlocks = selectedBlockCount > 1;
150
+ if (hasSelectedBlocks && !isSectionBlockInSelection) {
89
151
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
90
152
  className: "block-editor-block-inspector",
91
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_multiSelectionInspector.default, {}), showTabs ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControlsTabs.default, {
153
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_multiSelectionInspector.default, {}), hasMultipleTabs ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControlsTabs.default, {
92
154
  tabs: availableTabs
93
- }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
94
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
95
- group: "color",
96
- label: (0, _i18n.__)('Color'),
97
- className: "color-block-support-panel__inner-wrapper"
98
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
99
- group: "background",
100
- label: (0, _i18n.__)('Background image')
101
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
102
- group: "typography",
103
- label: (0, _i18n.__)('Typography')
104
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
105
- group: "dimensions",
106
- label: (0, _i18n.__)('Dimensions')
107
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
108
- group: "border",
109
- label: borderPanelLabel
110
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
111
- group: "styles"
112
- })]
155
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(StyleInspectorSlots, {
156
+ blockName: selectedBlockName,
157
+ showAdvancedControls: false,
158
+ showPositionControls: false,
159
+ showBindingsControls: false
113
160
  })]
114
161
  });
115
162
  }
163
+ if (hasSelectedBlocks && isSectionBlockInSelection) {
164
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
165
+ className: "block-editor-block-inspector",
166
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_multiSelectionInspector.default, {})
167
+ });
168
+ }
116
169
  const isSelectedBlockUnregistered = selectedBlockName === (0, _blocks.getUnregisteredTypeHandlerName)();
117
170
 
118
171
  /*
119
172
  * If the selected block is of an unregistered type, avoid showing it as an actual selection
120
173
  * because we want the user to focus on the unregistered block warning, not block settings.
121
174
  */
122
- if (!blockType || !selectedBlockClientId || isSelectedBlockUnregistered) {
175
+ const shouldShowWarning = !blockType || !selectedBlockClientId || isSelectedBlockUnregistered;
176
+ if (shouldShowWarning) {
123
177
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
124
178
  className: "block-editor-block-inspector__no-blocks",
125
179
  children: (0, _i18n.__)('No block selected.')
@@ -135,7 +189,10 @@ function BlockInspector() {
135
189
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockInspectorSingleBlock, {
136
190
  clientId: selectedBlockClientId,
137
191
  blockName: blockType.name,
138
- isSectionBlock: isSectionBlock
192
+ isSectionBlock: isSectionBlock,
193
+ availableTabs: availableTabs,
194
+ contentClientIds: contentClientIds,
195
+ hasBlockStyles: hasBlockStyles
139
196
  })
140
197
  });
141
198
  }
@@ -171,82 +228,40 @@ const AnimatedContainer = ({
171
228
  const BlockInspectorSingleBlock = ({
172
229
  clientId,
173
230
  blockName,
174
- isSectionBlock
231
+ isSectionBlock,
232
+ availableTabs,
233
+ contentClientIds,
234
+ hasBlockStyles
175
235
  }) => {
176
- const availableTabs = (0, _useInspectorControlsTabs.default)(blockName);
177
- const showTabs = !isSectionBlock && availableTabs?.length > 1;
178
- const hasBlockStyles = (0, _data.useSelect)(select => {
179
- const {
180
- getBlockStyles
181
- } = select(_blocks.store);
182
- const blockStyles = getBlockStyles(blockName);
183
- return blockStyles && blockStyles.length > 0;
184
- }, [blockName]);
236
+ const hasMultipleTabs = availableTabs?.length > 1;
185
237
  const blockInformation = (0, _useBlockDisplayInformation.default)(clientId);
186
- const borderPanelLabel = (0, _border.useBorderPanelLabel)({
187
- blockName
188
- });
189
- const contentClientIds = (0, _data.useSelect)(select => {
190
- // Avoid unnecessary subscription.
191
- if (!isSectionBlock) {
192
- return;
193
- }
194
- const {
195
- getClientIdsOfDescendants,
196
- getBlockName,
197
- getBlockEditingMode
198
- } = select(_store.store);
199
- return getClientIdsOfDescendants(clientId).filter(current => getBlockName(current) !== 'core/list-item' && getBlockEditingMode(current) === 'contentOnly');
200
- }, [isSectionBlock, clientId]);
238
+ const isBlockSynced = blockInformation.isSynced;
239
+ const shouldShowTabs = !isBlockSynced && hasMultipleTabs;
201
240
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
202
241
  className: "block-editor-block-inspector",
203
242
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockCard.default, {
204
243
  ...blockInformation,
205
- className: blockInformation.isSynced && 'is-synced',
244
+ className: isBlockSynced && 'is-synced',
206
245
  children: window?.__experimentalContentOnlyPatternInsertion && /*#__PURE__*/(0, _jsxRuntime.jsx)(_editContentsButton.default, {
207
246
  clientId: clientId
208
247
  })
209
248
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockVariationTransforms.default, {
210
249
  blockClientId: clientId
211
- }), showTabs && /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControlsTabs.default, {
250
+ }), shouldShowTabs && /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControlsTabs.default, {
212
251
  hasBlockStyles: hasBlockStyles,
213
252
  clientId: clientId,
214
253
  blockName: blockName,
215
- tabs: availableTabs
216
- }), !showTabs && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
254
+ tabs: availableTabs,
255
+ isSectionBlock: isSectionBlock,
256
+ contentClientIds: contentClientIds
257
+ }), !shouldShowTabs && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
217
258
  children: [hasBlockStyles && /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockStylesPanel, {
218
259
  clientId: clientId
219
- }), contentClientIds && contentClientIds?.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PanelBody, {
220
- title: (0, _i18n.__)('Content'),
221
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockQuickNavigation.default, {
222
- clientIds: contentClientIds
223
- })
224
- }), !isSectionBlock && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
225
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
226
- group: "list"
227
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
228
- group: "color",
229
- label: (0, _i18n.__)('Color'),
230
- className: "color-block-support-panel__inner-wrapper"
231
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
232
- group: "background",
233
- label: (0, _i18n.__)('Background image')
234
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
235
- group: "typography",
236
- label: (0, _i18n.__)('Typography')
237
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
238
- group: "dimensions",
239
- label: (0, _i18n.__)('Dimensions')
240
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
241
- group: "border",
242
- label: borderPanelLabel
243
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
244
- group: "styles"
245
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_positionControlsPanel.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default.Slot, {
246
- group: "bindings"
247
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
248
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_advancedControlsPanel.default, {})
249
- })]
260
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_contentTab.default, {
261
+ contentClientIds: contentClientIds
262
+ }), !isSectionBlock && /*#__PURE__*/(0, _jsxRuntime.jsx)(StyleInspectorSlots, {
263
+ blockName: blockName,
264
+ showListControls: true
250
265
  })]
251
266
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_skipToSelectedBlock.default, {}, "back")]
252
267
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_blocks","_components","_data","_editContentsButton","_interopRequireDefault","_skipToSelectedBlock","_blockCard","_multiSelectionInspector","_blockVariationTransforms","_useBlockDisplayInformation","_store","_blockStyles","_inspectorControls","_inspectorControlsTabs","_useInspectorControlsTabs","_advancedControlsPanel","_positionControlsPanel","_useBlockInspectorAnimationSettings","_blockQuickNavigation","_border","_lockUnlock","_jsxRuntime","BlockStylesPanel","clientId","jsx","PanelBody","title","__","children","default","BlockInspector","count","selectedBlockName","selectedBlockClientId","blockType","isSectionBlock","useSelect","select","getSelectedBlockClientId","getSelectedBlockCount","getBlockName","getParentSectionBlock","_isSectionBlock","unlock","blockEditorStore","_selectedBlockClientId","renderedBlockClientId","_selectedBlockName","_blockType","getBlockType","availableTabs","useInspectorControlsTabs","name","showTabs","length","blockInspectorAnimationSettings","useBlockInspectorAnimationSettings","borderPanelLabel","useBorderPanelLabel","blockName","jsxs","className","tabs","Fragment","Slot","group","label","isSelectedBlockUnregistered","getUnregisteredTypeHandlerName","BlockInspectorSingleBlockWrapper","animate","wrapper","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","__unstableMotion","div","x","opacity","transition","ease","duration","initial","hasBlockStyles","getBlockStyles","blocksStore","blockStyles","blockInformation","useBlockDisplayInformation","contentClientIds","getClientIdsOfDescendants","getBlockEditingMode","filter","current","isSynced","window","__experimentalContentOnlyPatternInsertion","blockClientId","clientIds","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { PanelBody, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport EditContentsButton from './edit-contents-button';\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockStyles from '../block-styles';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\nimport BlockQuickNavigation from '../block-quick-navigation';\nimport { useBorderPanelLabel } from '../../hooks/border';\n\nimport { unlock } from '../../lock-unlock';\n\nfunction BlockStylesPanel( { clientId } ) {\n\treturn (\n\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t<BlockStyles clientId={ clientId } />\n\t\t</PanelBody>\n\t);\n}\n\nfunction BlockInspector() {\n\tconst {\n\t\tcount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\tisSectionBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\tgetParentSectionBlock,\n\t\t\tisSectionBlock: _isSectionBlock,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst renderedBlockClientId =\n\t\t\tgetParentSectionBlock( _selectedBlockClientId ) ||\n\t\t\tgetSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\trenderedBlockClientId && getBlockName( renderedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: renderedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\tisSectionBlock: _isSectionBlock( renderedBlockClientId ),\n\t\t};\n\t}, [] );\n\n\tconst availableTabs = useInspectorControlsTabs( blockType?.name );\n\tconst showTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings =\n\t\tuseBlockInspectorAnimationSettings( blockType );\n\n\tconst borderPanelLabel = useBorderPanelLabel( {\n\t\tblockName: selectedBlockName,\n\t} );\n\n\tif ( count > 1 && ! isSectionBlock ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ showTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\treturn (\n\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t\tisSectionBlock={ isSectionBlock }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n}\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( {\n\tclientId,\n\tblockName,\n\tisSectionBlock,\n} ) => {\n\tconst availableTabs = useInspectorControlsTabs( blockName );\n\tconst showTabs = ! isSectionBlock && availableTabs?.length > 1;\n\n\tconst hasBlockStyles = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockStyles } = select( blocksStore );\n\t\t\tconst blockStyles = getBlockStyles( blockName );\n\t\t\treturn blockStyles && blockStyles.length > 0;\n\t\t},\n\t\t[ blockName ]\n\t);\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst borderPanelLabel = useBorderPanelLabel( { blockName } );\n\tconst contentClientIds = useSelect(\n\t\t( select ) => {\n\t\t\t// Avoid unnecessary subscription.\n\t\t\tif ( ! isSectionBlock ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn getClientIdsOfDescendants( clientId ).filter(\n\t\t\t\t( current ) =>\n\t\t\t\t\tgetBlockName( current ) !== 'core/list-item' &&\n\t\t\t\t\tgetBlockEditingMode( current ) === 'contentOnly'\n\t\t\t);\n\t\t},\n\t\t[ isSectionBlock, clientId ]\n\t);\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ blockInformation.isSynced && 'is-synced' }\n\t\t\t>\n\t\t\t\t{ window?.__experimentalContentOnlyPatternInsertion && (\n\t\t\t\t\t<EditContentsButton clientId={ clientId } />\n\t\t\t\t) }\n\t\t\t</BlockCard>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t{ showTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<BlockStylesPanel clientId={ clientId } />\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ contentClientIds && contentClientIds?.length > 0 && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t\t\t\t<BlockQuickNavigation\n\t\t\t\t\t\t\t\tclientIds={ contentClientIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! isSectionBlock && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t\t\t\t<InspectorControls.Slot group=\"list\" />\n\t\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\t\tgroup=\"color\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\t\tgroup=\"background\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\t\tgroup=\"typography\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\t\tgroup=\"dimensions\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t\t\t\tgroup=\"border\"\n\t\t\t\t\t\t\t\tlabel={ borderPanelLabel }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t\t\t\t\t<PositionControls />\n\t\t\t\t\t\t\t<InspectorControls.Slot group=\"bindings\" />\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<AdvancedControls />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_blocks","_components","_data","_editContentsButton","_interopRequireDefault","_skipToSelectedBlock","_blockCard","_multiSelectionInspector","_blockVariationTransforms","_useBlockDisplayInformation","_store","_blockStyles","_inspectorControls","_inspectorControlsTabs","_useInspectorControlsTabs","_advancedControlsPanel","_positionControlsPanel","_useBlockInspectorAnimationSettings","_border","_contentTab","_lockUnlock","_jsxRuntime","BlockStylesPanel","clientId","jsx","PanelBody","title","__","children","default","StyleInspectorSlots","blockName","showAdvancedControls","showPositionControls","showListControls","showBindingsControls","borderPanelLabel","useBorderPanelLabel","jsxs","Fragment","Slot","group","label","className","BlockInspector","selectedBlockCount","selectedBlockName","selectedBlockClientId","blockType","isSectionBlock","isSectionBlockInSelection","hasBlockStyles","useSelect","select","getSelectedBlockClientId","getSelectedBlockClientIds","getSelectedBlockCount","getBlockName","getParentSectionBlock","_isSectionBlock","unlock","blockEditorStore","getBlockStyles","blocksStore","_selectedBlockClientId","renderedBlockClientId","_selectedBlockName","_blockType","getBlockType","selectedBlockClientIds","_isSectionBlockInSelection","some","id","blockStyles","_hasBlockStyles","length","contentClientIds","getClientIdsOfDescendants","getBlockEditingMode","descendants","filter","current","availableTabs","useInspectorControlsTabs","name","hasMultipleTabs","blockInspectorAnimationSettings","useBlockInspectorAnimationSettings","hasSelectedBlocks","tabs","isSelectedBlockUnregistered","getUnregisteredTypeHandlerName","shouldShowWarning","BlockInspectorSingleBlockWrapper","animate","wrapper","AnimatedContainer","BlockInspectorSingleBlock","animationOrigin","enterDirection","__unstableMotion","div","x","opacity","transition","ease","duration","initial","blockInformation","useBlockDisplayInformation","isBlockSynced","isSynced","shouldShowTabs","window","__experimentalContentOnlyPatternInsertion","blockClientId","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { PanelBody, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport EditContentsButton from './edit-contents-button';\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\nimport BlockStyles from '../block-styles';\nimport { default as InspectorControls } from '../inspector-controls';\nimport { default as InspectorControlsTabs } from '../inspector-controls-tabs';\nimport useInspectorControlsTabs from '../inspector-controls-tabs/use-inspector-controls-tabs';\nimport AdvancedControls from '../inspector-controls-tabs/advanced-controls-panel';\nimport PositionControls from '../inspector-controls-tabs/position-controls-panel';\nimport useBlockInspectorAnimationSettings from './useBlockInspectorAnimationSettings';\nimport { useBorderPanelLabel } from '../../hooks/border';\nimport ContentTab from '../inspector-controls-tabs/content-tab';\n\nimport { unlock } from '../../lock-unlock';\n\nfunction BlockStylesPanel( { clientId } ) {\n\treturn (\n\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t<BlockStyles clientId={ clientId } />\n\t\t</PanelBody>\n\t);\n}\n\nfunction StyleInspectorSlots( {\n\tblockName,\n\tshowAdvancedControls = true,\n\tshowPositionControls = true,\n\tshowListControls = false,\n\tshowBindingsControls = true,\n} ) {\n\tconst borderPanelLabel = useBorderPanelLabel( { blockName } );\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls.Slot />\n\t\t\t{ showListControls && <InspectorControls.Slot group=\"list\" /> }\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"color\"\n\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"background\"\n\t\t\t\tlabel={ __( 'Background image' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"typography\"\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"dimensions\"\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot group=\"border\" label={ borderPanelLabel } />\n\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t\t{ showPositionControls && <PositionControls /> }\n\t\t\t{ showBindingsControls && (\n\t\t\t\t<InspectorControls.Slot group=\"bindings\" />\n\t\t\t) }\n\t\t\t{ showAdvancedControls && (\n\t\t\t\t<div>\n\t\t\t\t\t<AdvancedControls />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction BlockInspector() {\n\tconst {\n\t\tselectedBlockCount,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t\tisSectionBlock,\n\t\tisSectionBlockInSelection,\n\t\thasBlockStyles,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t\tgetParentSectionBlock,\n\t\t\tisSectionBlock: _isSectionBlock,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst { getBlockStyles } = select( blocksStore );\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst renderedBlockClientId =\n\t\t\tgetParentSectionBlock( _selectedBlockClientId ) ||\n\t\t\t_selectedBlockClientId;\n\t\tconst _selectedBlockName =\n\t\t\trenderedBlockClientId && getBlockName( renderedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst _isSectionBlockInSelection = selectedBlockClientIds.some(\n\t\t\t( id ) => _isSectionBlock( id )\n\t\t);\n\n\t\tconst blockStyles =\n\t\t\t_selectedBlockName && getBlockStyles( _selectedBlockName );\n\t\tconst _hasBlockStyles = blockStyles && blockStyles.length > 0;\n\n\t\treturn {\n\t\t\tselectedBlockCount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: renderedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\tisSectionBlockInSelection: _isSectionBlockInSelection,\n\t\t\tisSectionBlock: _isSectionBlock( renderedBlockClientId ),\n\t\t\thasBlockStyles: _hasBlockStyles,\n\t\t};\n\t}, [] );\n\n\t// Separate useSelect for contentClientIds with proper dependencies\n\tconst contentClientIds = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSectionBlock || ! selectedBlockClientId ) {\n\t\t\t\treturn [];\n\t\t\t}\n\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\n\t\t\tconst descendants = getClientIdsOfDescendants(\n\t\t\t\tselectedBlockClientId\n\t\t\t);\n\t\t\treturn descendants.filter(\n\t\t\t\t( current ) =>\n\t\t\t\t\tgetBlockName( current ) !== 'core/list-item' &&\n\t\t\t\t\tgetBlockEditingMode( current ) === 'contentOnly'\n\t\t\t);\n\t\t},\n\t\t[ isSectionBlock, selectedBlockClientId ]\n\t);\n\n\tconst availableTabs = useInspectorControlsTabs(\n\t\tblockType?.name,\n\t\tcontentClientIds,\n\t\tisSectionBlock,\n\t\thasBlockStyles\n\t);\n\tconst hasMultipleTabs = availableTabs?.length > 1;\n\n\t// The block inspector animation settings will be completely\n\t// removed in the future to create an API which allows the block\n\t// inspector to transition between what it\n\t// displays based on the relationship between the selected block\n\t// and its parent, and only enable it if the parent is controlling\n\t// its children blocks.\n\tconst blockInspectorAnimationSettings =\n\t\tuseBlockInspectorAnimationSettings( blockType );\n\n\tconst hasSelectedBlocks = selectedBlockCount > 1;\n\n\tif ( hasSelectedBlocks && ! isSectionBlockInSelection ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t{ hasMultipleTabs ? (\n\t\t\t\t\t<InspectorControlsTabs tabs={ availableTabs } />\n\t\t\t\t) : (\n\t\t\t\t\t<StyleInspectorSlots\n\t\t\t\t\t\tblockName={ selectedBlockName }\n\t\t\t\t\t\tshowAdvancedControls={ false }\n\t\t\t\t\t\tshowPositionControls={ false }\n\t\t\t\t\t\tshowBindingsControls={ false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( hasSelectedBlocks && isSectionBlockInSelection ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tconst shouldShowWarning =\n\t\t! blockType || ! selectedBlockClientId || isSelectedBlockUnregistered;\n\n\tif ( shouldShowWarning ) {\n\t\treturn (\n\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t</span>\n\t\t);\n\t}\n\n\treturn (\n\t\t<BlockInspectorSingleBlockWrapper\n\t\t\tanimate={ blockInspectorAnimationSettings }\n\t\t\twrapper={ ( children ) => (\n\t\t\t\t<AnimatedContainer\n\t\t\t\t\tblockInspectorAnimationSettings={\n\t\t\t\t\t\tblockInspectorAnimationSettings\n\t\t\t\t\t}\n\t\t\t\t\tselectedBlockClientId={ selectedBlockClientId }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</AnimatedContainer>\n\t\t\t) }\n\t\t>\n\t\t\t<BlockInspectorSingleBlock\n\t\t\t\tclientId={ selectedBlockClientId }\n\t\t\t\tblockName={ blockType.name }\n\t\t\t\tisSectionBlock={ isSectionBlock }\n\t\t\t\tavailableTabs={ availableTabs }\n\t\t\t\tcontentClientIds={ contentClientIds }\n\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t/>\n\t\t</BlockInspectorSingleBlockWrapper>\n\t);\n}\n\nconst BlockInspectorSingleBlockWrapper = ( { animate, wrapper, children } ) => {\n\treturn animate ? wrapper( children ) : children;\n};\n\nconst AnimatedContainer = ( {\n\tblockInspectorAnimationSettings,\n\tselectedBlockClientId,\n\tchildren,\n} ) => {\n\tconst animationOrigin =\n\t\tblockInspectorAnimationSettings &&\n\t\tblockInspectorAnimationSettings.enterDirection === 'leftToRight'\n\t\t\t? -50\n\t\t\t: 50;\n\n\treturn (\n\t\t<motion.div\n\t\t\tanimate={ {\n\t\t\t\tx: 0,\n\t\t\t\topacity: 1,\n\t\t\t\ttransition: {\n\t\t\t\t\tease: 'easeInOut',\n\t\t\t\t\tduration: 0.14,\n\t\t\t\t},\n\t\t\t} }\n\t\t\tinitial={ {\n\t\t\t\tx: animationOrigin,\n\t\t\t\topacity: 0,\n\t\t\t} }\n\t\t\tkey={ selectedBlockClientId }\n\t\t>\n\t\t\t{ children }\n\t\t</motion.div>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( {\n\tclientId,\n\tblockName,\n\tisSectionBlock,\n\tavailableTabs,\n\tcontentClientIds,\n\thasBlockStyles,\n} ) => {\n\tconst hasMultipleTabs = availableTabs?.length > 1;\n\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst isBlockSynced = blockInformation.isSynced;\n\n\tconst shouldShowTabs = ! isBlockSynced && hasMultipleTabs;\n\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard\n\t\t\t\t{ ...blockInformation }\n\t\t\t\tclassName={ isBlockSynced && 'is-synced' }\n\t\t\t>\n\t\t\t\t{ window?.__experimentalContentOnlyPatternInsertion && (\n\t\t\t\t\t<EditContentsButton clientId={ clientId } />\n\t\t\t\t) }\n\t\t\t</BlockCard>\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t{ shouldShowTabs && (\n\t\t\t\t<InspectorControlsTabs\n\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\ttabs={ availableTabs }\n\t\t\t\t\tisSectionBlock={ isSectionBlock }\n\t\t\t\t\tcontentClientIds={ contentClientIds }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! shouldShowTabs && (\n\t\t\t\t<>\n\t\t\t\t\t{ hasBlockStyles && (\n\t\t\t\t\t\t<BlockStylesPanel clientId={ clientId } />\n\t\t\t\t\t) }\n\t\t\t\t\t<ContentTab contentClientIds={ contentClientIds } />\n\t\t\t\t\t{ ! isSectionBlock && (\n\t\t\t\t\t\t<StyleInspectorSlots\n\t\t\t\t\t\t\tblockName={ blockName }\n\t\t\t\t\t\t\tshowListControls\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-inspector/README.md\n */\nexport default BlockInspector;\n"],"mappings":"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","ignoreList":[]}
@@ -152,7 +152,7 @@ const BlockSwitcher = ({
152
152
  isReusable,
153
153
  isTemplate,
154
154
  isDisabled,
155
- isSection
155
+ isSectionInSelection
156
156
  } = (0, _data.useSelect)(select => {
157
157
  const {
158
158
  getTemplateLock,
@@ -195,6 +195,7 @@ const BlockSwitcher = ({
195
195
  // appropriate icon to communicate the non-uniformity.
196
196
  _icon = isSelectionOfSameType ? blockType.icon : _icons.copy;
197
197
  }
198
+ const _isSectionInSelection = clientIds.some(id => isSectionBlock(id));
198
199
  return {
199
200
  canRemove: canRemoveBlocks(clientIds),
200
201
  hasBlockStyles: _isSingleBlockSelected && !!getBlockStyles(firstBlockName)?.length,
@@ -203,7 +204,7 @@ const BlockSwitcher = ({
203
204
  isTemplate: _isSingleBlockSelected && (0, _blocks2.isTemplatePart)(_blocks[0]),
204
205
  hasContentOnlyLocking: _hasTemplateLock,
205
206
  isDisabled: editingMode !== 'default',
206
- isSection: isSectionBlock(clientIds[0])
207
+ isSectionInSelection: _isSectionInSelection
207
208
  };
208
209
  }, [clientIds]);
209
210
  const blockTitle = (0, _useBlockDisplayTitle.default)({
@@ -217,7 +218,7 @@ const BlockSwitcher = ({
217
218
  const isSingleBlock = clientIds.length === 1;
218
219
  const blockSwitcherLabel = isSingleBlock ? blockTitle : (0, _i18n.__)('Multiple blocks selected');
219
220
  const blockIndicatorText = (isReusable || isTemplate) && !showIconLabels && blockTitle ? blockTitle : undefined;
220
- const hideTransformsForSections = window?.__experimentalContentOnlyPatternInsertion && isSection;
221
+ const hideTransformsForSections = window?.__experimentalContentOnlyPatternInsertion && isSectionInSelection;
221
222
  const hideDropdown = hideTransformsForSections || isDisabled || !hasBlockStyles && !canRemove || hasContentOnlyLocking;
222
223
  if (hideDropdown) {
223
224
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarGroup, {
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_blocks2","_data","_icons","_preferences","_store","_blockIcon","_interopRequireDefault","_blockTransformationsMenu","_blockVariationTransformations","_blockStylesMenu","_patternTransformationsMenu","_useBlockDisplayTitle","_lockUnlock","_jsxRuntime","BlockSwitcherDropdownMenuContents","onClose","clientIds","hasBlockStyles","canRemove","replaceBlocks","multiSelect","updateBlockAttributes","useDispatch","blockEditorStore","possibleBlockTransformations","patterns","blocks","isUsingBindings","useSelect","select","getBlockAttributes","getBlocksByClientId","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","rootClientId","_blocks","every","clientId","metadata","bindings","blockVariationTransformations","useBlockVariationTransforms","selectForMultipleBlocks","insertedBlocks","length","onBlockTransform","name","newBlocks","switchToBlockType","onBlockVariationTransform","find","variationName","attributes","onPatternTransform","transformedBlocks","isSingleBlock","isSynced","isTemplatePart","isReusableBlock","hasPossibleBlockTransformations","hasPossibleBlockVariationTransformations","hasPatternTransformation","hasBlockOrBlockVariationTransforms","hasContents","jsx","className","children","__","connectedBlockDescription","_x","jsxs","default","onSelect","possibleBlockVariationTransformations","onSelectVariation","hoveredBlock","onSwitch","MenuGroup","__experimentalText","BlockSwitcher","hasContentOnlyLocking","icon","invalidBlocks","isReusable","isTemplate","isDisabled","isSection","getTemplateLock","canRemoveBlocks","getBlockEditingMode","isSectionBlock","unlock","getBlockStyles","getBlockType","getActiveBlockVariation","blocksStore","some","block","firstBlockName","_isSingleBlockSelected","blockType","editingMode","_icon","_hasTemplateLock","match","isSelectionOfSameType","Set","map","size","id","copy","blockTitle","useBlockDisplayTitle","maximumLength","showIconLabels","preferencesStore","get","blockSwitcherLabel","blockIndicatorText","undefined","hideTransformsForSections","window","__experimentalContentOnlyPatternInsertion","hideDropdown","ToolbarGroup","ToolbarButton","disabled","title","showColors","text","blockSwitcherDescription","sprintf","_n","ToolbarItem","toggleProps","DropdownMenu","label","popoverProps","placement","description","menuProps","orientation","exports","_default"],"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n\t__experimentalText as Text,\n\tMenuGroup,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport { useBlockVariationTransforms } from './block-variation-transformations';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\nimport { unlock } from '../../lock-unlock';\n\nfunction BlockSwitcherDropdownMenuContents( {\n\tonClose,\n\tclientIds,\n\thasBlockStyles,\n\tcanRemove,\n} ) {\n\tconst { replaceBlocks, multiSelect, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { possibleBlockTransformations, patterns, blocks, isUsingBindings } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockAttributes,\n\t\t\t\t\tgetBlocksByClientId,\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tgetBlockTransformItems,\n\t\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\t\treturn {\n\t\t\t\t\tblocks: _blocks,\n\t\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\t\t_blocks,\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\t\t_blocks,\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\t\tisUsingBindings: clientIds.every(\n\t\t\t\t\t\t( clientId ) =>\n\t\t\t\t\t\t\t!! getBlockAttributes( clientId )?.metadata\n\t\t\t\t\t\t\t\t?.bindings\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientIds ]\n\t\t);\n\tconst blockVariationTransformations = useBlockVariationTransforms( {\n\t\tclientIds,\n\t\tblocks,\n\t} );\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\t// Simple block transformation 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\tfunction onBlockVariationTransform( name ) {\n\t\tupdateBlockAttributes( blocks[ 0 ].clientId, {\n\t\t\t...blockVariationTransformations.find(\n\t\t\t\t( { name: variationName } ) => variationName === name\n\t\t\t).attributes,\n\t\t} );\n\t}\n\t// Pattern transformation through the `Patterns` API.\n\tfunction onPatternTransform( transformedBlocks ) {\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\t\tselectForMultipleBlocks( transformedBlocks );\n\t}\n\t/**\n\t * The `isSynced` 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 isSingleBlock = blocks.length === 1;\n\tconst isSynced =\n\t\tisSingleBlock &&\n\t\t( isTemplatePart( blocks[ 0 ] ) || isReusableBlock( blocks[ 0 ] ) );\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations?.length && canRemove && ! isSynced;\n\tconst hasPossibleBlockVariationTransformations =\n\t\t!! blockVariationTransformations?.length;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tconst hasBlockOrBlockVariationTransforms =\n\t\thasPossibleBlockTransformations ||\n\t\thasPossibleBlockVariationTransformations;\n\tconst hasContents =\n\t\thasBlockStyles ||\n\t\thasBlockOrBlockVariationTransforms ||\n\t\thasPatternTransformation;\n\tif ( ! hasContents ) {\n\t\treturn (\n\t\t\t<p className=\"block-editor-block-switcher__no-transforms\">\n\t\t\t\t{ __( 'No transforms.' ) }\n\t\t\t</p>\n\t\t);\n\t}\n\n\tconst connectedBlockDescription = isSingleBlock\n\t\t? _x(\n\t\t\t\t'This block is connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t )\n\t\t: _x(\n\t\t\t\t'These blocks are connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t{ hasPatternTransformation && (\n\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ ( transformedBlocks ) => {\n\t\t\t\t\t\tonPatternTransform( transformedBlocks );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockOrBlockVariationTransforms && (\n\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t}\n\t\t\t\t\tpossibleBlockVariationTransformations={\n\t\t\t\t\t\tblockVariationTransformations\n\t\t\t\t\t}\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectVariation={ ( name ) => {\n\t\t\t\t\t\tonBlockVariationTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<BlockStylesMenu\n\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\tonSwitch={ onClose }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isUsingBindings && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<Text className=\"block-editor-block-switcher__binding-indicator\">\n\t\t\t\t\t\t{ connectedBlockDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const BlockSwitcher = ( { clientIds } ) => {\n\tconst {\n\t\thasContentOnlyLocking,\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tinvalidBlocks,\n\t\tisReusable,\n\t\tisTemplate,\n\t\tisDisabled,\n\t\tisSection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tisSectionBlock,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst { getBlockStyles, getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\tif ( ! _blocks.length || _blocks.some( ( block ) => ! block ) ) {\n\t\t\t\treturn { invalidBlocks: true };\n\t\t\t}\n\t\t\tconst [ { name: firstBlockName } ] = _blocks;\n\t\t\tconst _isSingleBlockSelected = _blocks.length === 1;\n\t\t\tconst blockType = getBlockType( firstBlockName );\n\t\t\tconst editingMode = getBlockEditingMode( clientIds[ 0 ] );\n\n\t\t\tlet _icon;\n\t\t\tlet _hasTemplateLock;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\tconst match = getActiveBlockVariation(\n\t\t\t\t\tfirstBlockName,\n\t\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t\t);\n\t\t\t\t// Take into account active block variations.\n\t\t\t\t_icon = match?.icon || blockType.icon;\n\t\t\t\t_hasTemplateLock =\n\t\t\t\t\tgetTemplateLock( clientIds[ 0 ] ) === 'contentOnly';\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( _blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t_hasTemplateLock = clientIds.some(\n\t\t\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t\t\t);\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType ? blockType.icon : copy;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\thasBlockStyles:\n\t\t\t\t\t_isSingleBlockSelected &&\n\t\t\t\t\t!! getBlockStyles( firstBlockName )?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tisReusable:\n\t\t\t\t\t_isSingleBlockSelected && isReusableBlock( _blocks[ 0 ] ),\n\t\t\t\tisTemplate:\n\t\t\t\t\t_isSingleBlockSelected && isTemplatePart( _blocks[ 0 ] ),\n\t\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t\t\tisDisabled: editingMode !== 'default',\n\t\t\t\tisSection: isSectionBlock( clientIds[ 0 ] ),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: clientIds?.[ 0 ],\n\t\tmaximumLength: 35,\n\t} );\n\tconst showIconLabels = useSelect(\n\t\t( select ) =>\n\t\t\tselect( preferencesStore ).get( 'core', 'showIconLabels' ),\n\t\t[]\n\t);\n\n\tif ( invalidBlocks ) {\n\t\treturn null;\n\t}\n\n\tconst isSingleBlock = clientIds.length === 1;\n\tconst blockSwitcherLabel = isSingleBlock\n\t\t? blockTitle\n\t\t: __( 'Multiple blocks selected' );\n\n\tconst blockIndicatorText =\n\t\t( isReusable || isTemplate ) && ! showIconLabels && blockTitle\n\t\t\t? blockTitle\n\t\t\t: undefined;\n\n\tconst hideTransformsForSections =\n\t\twindow?.__experimentalContentOnlyPatternInsertion && isSection;\n\tconst hideDropdown =\n\t\thideTransformsForSections ||\n\t\tisDisabled ||\n\t\t( ! hasBlockStyles && ! canRemove ) ||\n\t\thasContentOnlyLocking;\n\n\tif ( hideDropdown ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockSwitcherLabel }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\ttext={ blockIndicatorText }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherDescription = isSingleBlock\n\t\t? __( 'Change block type or style' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\tclientIds.length\n\t\t\t\t),\n\t\t\t\tclientIds.length\n\t\t );\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttext={ blockIndicatorText }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescription: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<BlockSwitcherDropdownMenuContents\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\t\t\t\tcanRemove={ canRemove }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport default BlockSwitcher;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_components","_blocks2","_data","_icons","_preferences","_store","_blockIcon","_interopRequireDefault","_blockTransformationsMenu","_blockVariationTransformations","_blockStylesMenu","_patternTransformationsMenu","_useBlockDisplayTitle","_lockUnlock","_jsxRuntime","BlockSwitcherDropdownMenuContents","onClose","clientIds","hasBlockStyles","canRemove","replaceBlocks","multiSelect","updateBlockAttributes","useDispatch","blockEditorStore","possibleBlockTransformations","patterns","blocks","isUsingBindings","useSelect","select","getBlockAttributes","getBlocksByClientId","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","rootClientId","_blocks","every","clientId","metadata","bindings","blockVariationTransformations","useBlockVariationTransforms","selectForMultipleBlocks","insertedBlocks","length","onBlockTransform","name","newBlocks","switchToBlockType","onBlockVariationTransform","find","variationName","attributes","onPatternTransform","transformedBlocks","isSingleBlock","isSynced","isTemplatePart","isReusableBlock","hasPossibleBlockTransformations","hasPossibleBlockVariationTransformations","hasPatternTransformation","hasBlockOrBlockVariationTransforms","hasContents","jsx","className","children","__","connectedBlockDescription","_x","jsxs","default","onSelect","possibleBlockVariationTransformations","onSelectVariation","hoveredBlock","onSwitch","MenuGroup","__experimentalText","BlockSwitcher","hasContentOnlyLocking","icon","invalidBlocks","isReusable","isTemplate","isDisabled","isSectionInSelection","getTemplateLock","canRemoveBlocks","getBlockEditingMode","isSectionBlock","unlock","getBlockStyles","getBlockType","getActiveBlockVariation","blocksStore","some","block","firstBlockName","_isSingleBlockSelected","blockType","editingMode","_icon","_hasTemplateLock","match","isSelectionOfSameType","Set","map","size","id","copy","_isSectionInSelection","blockTitle","useBlockDisplayTitle","maximumLength","showIconLabels","preferencesStore","get","blockSwitcherLabel","blockIndicatorText","undefined","hideTransformsForSections","window","__experimentalContentOnlyPatternInsertion","hideDropdown","ToolbarGroup","ToolbarButton","disabled","title","showColors","text","blockSwitcherDescription","sprintf","_n","ToolbarItem","toggleProps","DropdownMenu","label","popoverProps","placement","description","menuProps","orientation","exports","_default"],"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n\t__experimentalText as Text,\n\tMenuGroup,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport { useBlockVariationTransforms } from './block-variation-transformations';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\nimport { unlock } from '../../lock-unlock';\n\nfunction BlockSwitcherDropdownMenuContents( {\n\tonClose,\n\tclientIds,\n\thasBlockStyles,\n\tcanRemove,\n} ) {\n\tconst { replaceBlocks, multiSelect, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { possibleBlockTransformations, patterns, blocks, isUsingBindings } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockAttributes,\n\t\t\t\t\tgetBlocksByClientId,\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tgetBlockTransformItems,\n\t\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\t\treturn {\n\t\t\t\t\tblocks: _blocks,\n\t\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\t\t_blocks,\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\t\t_blocks,\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\t\tisUsingBindings: clientIds.every(\n\t\t\t\t\t\t( clientId ) =>\n\t\t\t\t\t\t\t!! getBlockAttributes( clientId )?.metadata\n\t\t\t\t\t\t\t\t?.bindings\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientIds ]\n\t\t);\n\tconst blockVariationTransformations = useBlockVariationTransforms( {\n\t\tclientIds,\n\t\tblocks,\n\t} );\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\t// Simple block transformation 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\tfunction onBlockVariationTransform( name ) {\n\t\tupdateBlockAttributes( blocks[ 0 ].clientId, {\n\t\t\t...blockVariationTransformations.find(\n\t\t\t\t( { name: variationName } ) => variationName === name\n\t\t\t).attributes,\n\t\t} );\n\t}\n\t// Pattern transformation through the `Patterns` API.\n\tfunction onPatternTransform( transformedBlocks ) {\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\t\tselectForMultipleBlocks( transformedBlocks );\n\t}\n\t/**\n\t * The `isSynced` 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 isSingleBlock = blocks.length === 1;\n\tconst isSynced =\n\t\tisSingleBlock &&\n\t\t( isTemplatePart( blocks[ 0 ] ) || isReusableBlock( blocks[ 0 ] ) );\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations?.length && canRemove && ! isSynced;\n\tconst hasPossibleBlockVariationTransformations =\n\t\t!! blockVariationTransformations?.length;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tconst hasBlockOrBlockVariationTransforms =\n\t\thasPossibleBlockTransformations ||\n\t\thasPossibleBlockVariationTransformations;\n\tconst hasContents =\n\t\thasBlockStyles ||\n\t\thasBlockOrBlockVariationTransforms ||\n\t\thasPatternTransformation;\n\tif ( ! hasContents ) {\n\t\treturn (\n\t\t\t<p className=\"block-editor-block-switcher__no-transforms\">\n\t\t\t\t{ __( 'No transforms.' ) }\n\t\t\t</p>\n\t\t);\n\t}\n\n\tconst connectedBlockDescription = isSingleBlock\n\t\t? _x(\n\t\t\t\t'This block is connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t )\n\t\t: _x(\n\t\t\t\t'These blocks are connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t{ hasPatternTransformation && (\n\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ ( transformedBlocks ) => {\n\t\t\t\t\t\tonPatternTransform( transformedBlocks );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockOrBlockVariationTransforms && (\n\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t}\n\t\t\t\t\tpossibleBlockVariationTransformations={\n\t\t\t\t\t\tblockVariationTransformations\n\t\t\t\t\t}\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectVariation={ ( name ) => {\n\t\t\t\t\t\tonBlockVariationTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<BlockStylesMenu\n\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\tonSwitch={ onClose }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isUsingBindings && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<Text className=\"block-editor-block-switcher__binding-indicator\">\n\t\t\t\t\t\t{ connectedBlockDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const BlockSwitcher = ( { clientIds } ) => {\n\tconst {\n\t\thasContentOnlyLocking,\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tinvalidBlocks,\n\t\tisReusable,\n\t\tisTemplate,\n\t\tisDisabled,\n\t\tisSectionInSelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t\tisSectionBlock,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst { getBlockStyles, getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\tif ( ! _blocks.length || _blocks.some( ( block ) => ! block ) ) {\n\t\t\t\treturn { invalidBlocks: true };\n\t\t\t}\n\t\t\tconst [ { name: firstBlockName } ] = _blocks;\n\t\t\tconst _isSingleBlockSelected = _blocks.length === 1;\n\t\t\tconst blockType = getBlockType( firstBlockName );\n\t\t\tconst editingMode = getBlockEditingMode( clientIds[ 0 ] );\n\n\t\t\tlet _icon;\n\t\t\tlet _hasTemplateLock;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\tconst match = getActiveBlockVariation(\n\t\t\t\t\tfirstBlockName,\n\t\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t\t);\n\t\t\t\t// Take into account active block variations.\n\t\t\t\t_icon = match?.icon || blockType.icon;\n\t\t\t\t_hasTemplateLock =\n\t\t\t\t\tgetTemplateLock( clientIds[ 0 ] ) === 'contentOnly';\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( _blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t_hasTemplateLock = clientIds.some(\n\t\t\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t\t\t);\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType ? blockType.icon : copy;\n\t\t\t}\n\n\t\t\tconst _isSectionInSelection = clientIds.some( ( id ) =>\n\t\t\t\tisSectionBlock( id )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\thasBlockStyles:\n\t\t\t\t\t_isSingleBlockSelected &&\n\t\t\t\t\t!! getBlockStyles( firstBlockName )?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tisReusable:\n\t\t\t\t\t_isSingleBlockSelected && isReusableBlock( _blocks[ 0 ] ),\n\t\t\t\tisTemplate:\n\t\t\t\t\t_isSingleBlockSelected && isTemplatePart( _blocks[ 0 ] ),\n\t\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t\t\tisDisabled: editingMode !== 'default',\n\t\t\t\tisSectionInSelection: _isSectionInSelection,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: clientIds?.[ 0 ],\n\t\tmaximumLength: 35,\n\t} );\n\tconst showIconLabels = useSelect(\n\t\t( select ) =>\n\t\t\tselect( preferencesStore ).get( 'core', 'showIconLabels' ),\n\t\t[]\n\t);\n\n\tif ( invalidBlocks ) {\n\t\treturn null;\n\t}\n\n\tconst isSingleBlock = clientIds.length === 1;\n\tconst blockSwitcherLabel = isSingleBlock\n\t\t? blockTitle\n\t\t: __( 'Multiple blocks selected' );\n\n\tconst blockIndicatorText =\n\t\t( isReusable || isTemplate ) && ! showIconLabels && blockTitle\n\t\t\t? blockTitle\n\t\t\t: undefined;\n\n\tconst hideTransformsForSections =\n\t\twindow?.__experimentalContentOnlyPatternInsertion &&\n\t\tisSectionInSelection;\n\tconst hideDropdown =\n\t\thideTransformsForSections ||\n\t\tisDisabled ||\n\t\t( ! hasBlockStyles && ! canRemove ) ||\n\t\thasContentOnlyLocking;\n\n\tif ( hideDropdown ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockSwitcherLabel }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t\ttext={ blockIndicatorText }\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherDescription = isSingleBlock\n\t\t? __( 'Change block type or style' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\tclientIds.length\n\t\t\t\t),\n\t\t\t\tclientIds.length\n\t\t );\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttext={ blockIndicatorText }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescription: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<BlockSwitcherDropdownMenuContents\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\t\t\t\tcanRemove={ canRemove }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport default BlockSwitcher;\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _components = require("@wordpress/components");
9
+ var _i18n = require("@wordpress/i18n");
10
+ var _blockQuickNavigation = _interopRequireDefault(require("../block-quick-navigation"));
11
+ var _jsxRuntime = require("react/jsx-runtime");
12
+ /**
13
+ * WordPress dependencies
14
+ */
15
+
16
+ /**
17
+ * Internal dependencies
18
+ */
19
+
20
+ const ContentTab = ({
21
+ contentClientIds
22
+ }) => {
23
+ if (!contentClientIds || contentClientIds.length === 0) {
24
+ return null;
25
+ }
26
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PanelBody, {
27
+ title: (0, _i18n.__)('Content'),
28
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockQuickNavigation.default, {
29
+ clientIds: contentClientIds
30
+ })
31
+ });
32
+ };
33
+ var _default = exports.default = ContentTab;
34
+ //# sourceMappingURL=content-tab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_components","require","_i18n","_blockQuickNavigation","_interopRequireDefault","_jsxRuntime","ContentTab","contentClientIds","length","jsx","PanelBody","title","__","children","default","clientIds","_default","exports"],"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/content-tab.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockQuickNavigation from '../block-quick-navigation';\n\nconst ContentTab = ( { contentClientIds } ) => {\n\tif ( ! contentClientIds || contentClientIds.length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t<BlockQuickNavigation clientIds={ contentClientIds } />\n\t\t</PanelBody>\n\t);\n};\n\nexport default ContentTab;\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,qBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA6D,IAAAI,WAAA,GAAAJ,OAAA;AAT7D;AACA;AACA;;AAIA;AACA;AACA;;AAGA,MAAMK,UAAU,GAAGA,CAAE;EAAEC;AAAiB,CAAC,KAAM;EAC9C,IAAK,CAAEA,gBAAgB,IAAIA,gBAAgB,CAACC,MAAM,KAAK,CAAC,EAAG;IAC1D,OAAO,IAAI;EACZ;EAEA,oBACC,IAAAH,WAAA,CAAAI,GAAA,EAACT,WAAA,CAAAU,SAAS;IAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,SAAU,CAAG;IAAAC,QAAA,eACnC,IAAAR,WAAA,CAAAI,GAAA,EAACN,qBAAA,CAAAW,OAAoB;MAACC,SAAS,EAAGR;IAAkB,CAAE;EAAC,CAC7C,CAAC;AAEd,CAAC;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAH,OAAA,GAEaR,UAAU","ignoreList":[]}
@@ -11,6 +11,7 @@ var _data = require("@wordpress/data");
11
11
  var _utils = require("./utils");
12
12
  var _settingsTab = _interopRequireDefault(require("./settings-tab"));
13
13
  var _stylesTab = _interopRequireDefault(require("./styles-tab"));
14
+ var _contentTab = _interopRequireDefault(require("./content-tab"));
14
15
  var _inspectorControls = _interopRequireDefault(require("../inspector-controls"));
15
16
  var _useIsListViewTabDisabled = _interopRequireDefault(require("./use-is-list-view-tab-disabled"));
16
17
  var _lockUnlock = require("../../lock-unlock");
@@ -30,7 +31,9 @@ function InspectorControlsTabs({
30
31
  blockName,
31
32
  clientId,
32
33
  hasBlockStyles,
33
- tabs
34
+ tabs,
35
+ isSectionBlock,
36
+ contentClientIds
34
37
  }) {
35
38
  const showIconLabels = (0, _data.useSelect)(select => {
36
39
  return select(_preferences.store).get('core', 'showIconLabels');
@@ -72,7 +75,14 @@ function InspectorControlsTabs({
72
75
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_stylesTab.default, {
73
76
  blockName: blockName,
74
77
  clientId: clientId,
75
- hasBlockStyles: hasBlockStyles
78
+ hasBlockStyles: hasBlockStyles,
79
+ isSectionBlock: isSectionBlock
80
+ })
81
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Tabs.TabPanel, {
82
+ tabId: _utils.TAB_CONTENT.name,
83
+ focusable: false,
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_contentTab.default, {
85
+ contentClientIds: contentClientIds
76
86
  })
77
87
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(Tabs.TabPanel, {
78
88
  tabId: _utils.TAB_LIST_VIEW.name,