@wordpress/edit-widgets 6.8.5 → 6.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 6.9.0 (2024-10-03)
6
+
5
7
  ## 6.8.0 (2024-09-19)
6
8
 
7
9
  ## 6.7.0 (2024-09-05)
@@ -26,7 +26,7 @@ const SIDEBAR_ACTIVE_BY_DEFAULT = _element.Platform.select({
26
26
  });
27
27
  const BLOCK_INSPECTOR_IDENTIFIER = 'edit-widgets/block-inspector';
28
28
 
29
- // Widget areas were one called block areas, so use 'edit-widgets/block-areas'
29
+ // Widget areas were once called block areas, so use 'edit-widgets/block-areas'
30
30
  // for backwards compatibility.
31
31
  const WIDGET_AREAS_IDENTIFIER = 'edit-widgets/block-areas';
32
32
 
@@ -155,10 +155,10 @@ function Sidebar() {
155
155
  enableComplementaryArea
156
156
  } = (0, _data.useDispatch)(_interface.store);
157
157
 
158
- // `newSelectedTabId` could technically be falsey if no tab is selected (i.e.
158
+ // `newSelectedTabId` could technically be falsy if no tab is selected (i.e.
159
159
  // the initial render) or when we don't want a tab displayed (i.e. the
160
160
  // sidebar is closed). These cases should both be covered by the `!!` check
161
- // below, so we shouldn't need any additional falsey handling.
161
+ // below, so we shouldn't need any additional falsy handling.
162
162
  const onTabSelect = (0, _element.useCallback)(newSelectedTabId => {
163
163
  if (!!newSelectedTabId) {
164
164
  enableComplementaryArea(_store.store.name, newSelectedTabId);
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_i18n","_interface","_blockEditor","_icons","_components","_data","_widgetAreas","_interopRequireDefault","_store","_lockUnlock","_jsxRuntime","SIDEBAR_ACTIVE_BY_DEFAULT","Platform","select","web","native","BLOCK_INSPECTOR_IDENTIFIER","WIDGET_AREAS_IDENTIFIER","Tabs","unlock","componentsPrivateApis","SidebarHeader","selectedWidgetAreaBlock","jsxs","TabList","children","jsx","Tab","tabId","attributes","name","__","SidebarContent","hasSelectedNonAreaBlock","currentArea","isGeneralSidebarOpen","enableComplementaryArea","useDispatch","interfaceStore","useEffect","tabsContextValue","useContext","Context","ComplementaryArea","className","header","Provider","value","headerClassName","title","closeLabel","scope","identifier","icon","isRTL","drawerLeft","drawerRight","isActiveByDefault","TabPanel","focusable","default","selectedWidgetAreaId","id","BlockInspector","Sidebar","useSelect","getSelectedBlock","getBlock","getBlockParentsByBlockName","blockEditorStore","getActiveComplementaryArea","selectedBlock","activeArea","editWidgetsStore","currentSelection","widgetAreaBlock","clientId","onTabSelect","useCallback","newSelectedTabId","selectedTabId","onSelect","selectOnMove"],"sources":["@wordpress/edit-widgets/src/components/sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseEffect,\n\tPlatform,\n\tuseContext,\n\tuseCallback,\n} from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\n\nconst BLOCK_INSPECTOR_IDENTIFIER = 'edit-widgets/block-inspector';\n\n// Widget areas were one called block areas, so use 'edit-widgets/block-areas'\n// for backwards compatibility.\nconst WIDGET_AREAS_IDENTIFIER = 'edit-widgets/block-areas';\n\n/**\n * Internal dependencies\n */\nimport WidgetAreas from './widget-areas';\nimport { store as editWidgetsStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction SidebarHeader( { selectedWidgetAreaBlock } ) {\n\treturn (\n\t\t<Tabs.TabList>\n\t\t\t<Tabs.Tab tabId={ WIDGET_AREAS_IDENTIFIER }>\n\t\t\t\t{ selectedWidgetAreaBlock\n\t\t\t\t\t? selectedWidgetAreaBlock.attributes.name\n\t\t\t\t\t: __( 'Widget Areas' ) }\n\t\t\t</Tabs.Tab>\n\t\t\t<Tabs.Tab tabId={ BLOCK_INSPECTOR_IDENTIFIER }>\n\t\t\t\t{ __( 'Block' ) }\n\t\t\t</Tabs.Tab>\n\t\t</Tabs.TabList>\n\t);\n}\n\nfunction SidebarContent( {\n\thasSelectedNonAreaBlock,\n\tcurrentArea,\n\tisGeneralSidebarOpen,\n\tselectedWidgetAreaBlock,\n} ) {\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\thasSelectedNonAreaBlock &&\n\t\t\tcurrentArea === WIDGET_AREAS_IDENTIFIER &&\n\t\t\tisGeneralSidebarOpen\n\t\t) {\n\t\t\tenableComplementaryArea(\n\t\t\t\t'core/edit-widgets',\n\t\t\t\tBLOCK_INSPECTOR_IDENTIFIER\n\t\t\t);\n\t\t}\n\t\tif (\n\t\t\t! hasSelectedNonAreaBlock &&\n\t\t\tcurrentArea === BLOCK_INSPECTOR_IDENTIFIER &&\n\t\t\tisGeneralSidebarOpen\n\t\t) {\n\t\t\tenableComplementaryArea(\n\t\t\t\t'core/edit-widgets',\n\t\t\t\tWIDGET_AREAS_IDENTIFIER\n\t\t\t);\n\t\t}\n\t\t// We're intentionally leaving `currentArea` and `isGeneralSidebarOpen`\n\t\t// out of the dep array because we want this effect to run based on\n\t\t// block selection changes, not sidebar state changes.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ hasSelectedNonAreaBlock, enableComplementaryArea ] );\n\n\tconst tabsContextValue = useContext( Tabs.Context );\n\n\treturn (\n\t\t<ComplementaryArea\n\t\t\tclassName=\"edit-widgets-sidebar\"\n\t\t\theader={\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<SidebarHeader\n\t\t\t\t\t\tselectedWidgetAreaBlock={ selectedWidgetAreaBlock }\n\t\t\t\t\t/>\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t}\n\t\t\theaderClassName=\"edit-widgets-sidebar__panel-tabs\"\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\ttitle={ __( 'Settings' ) }\n\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\tscope=\"core/edit-widgets\"\n\t\t\tidentifier={ currentArea }\n\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\ttabId={ WIDGET_AREAS_IDENTIFIER }\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t<WidgetAreas\n\t\t\t\t\t\tselectedWidgetAreaId={\n\t\t\t\t\t\t\tselectedWidgetAreaBlock?.attributes.id\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\ttabId={ BLOCK_INSPECTOR_IDENTIFIER }\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t{ hasSelectedNonAreaBlock ? (\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// Pretend that Widget Areas are part of the UI by not\n\t\t\t\t\t\t// showing the Block Inspector when one is selected.\n\t\t\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs.Context.Provider>\n\t\t</ComplementaryArea>\n\t);\n}\n\nexport default function Sidebar() {\n\tconst {\n\t\tcurrentArea,\n\t\thasSelectedNonAreaBlock,\n\t\tisGeneralSidebarOpen,\n\t\tselectedWidgetAreaBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSelectedBlock, getBlock, getBlockParentsByBlockName } =\n\t\t\tselect( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\n\t\tconst selectedBlock = getSelectedBlock();\n\n\t\tconst activeArea = getActiveComplementaryArea( editWidgetsStore.name );\n\n\t\tlet currentSelection = activeArea;\n\t\tif ( ! currentSelection ) {\n\t\t\tif ( selectedBlock ) {\n\t\t\t\tcurrentSelection = BLOCK_INSPECTOR_IDENTIFIER;\n\t\t\t} else {\n\t\t\t\tcurrentSelection = WIDGET_AREAS_IDENTIFIER;\n\t\t\t}\n\t\t}\n\n\t\tlet widgetAreaBlock;\n\t\tif ( selectedBlock ) {\n\t\t\tif ( selectedBlock.name === 'core/widget-area' ) {\n\t\t\t\twidgetAreaBlock = selectedBlock;\n\t\t\t} else {\n\t\t\t\twidgetAreaBlock = getBlock(\n\t\t\t\t\tgetBlockParentsByBlockName(\n\t\t\t\t\t\tselectedBlock.clientId,\n\t\t\t\t\t\t'core/widget-area'\n\t\t\t\t\t)[ 0 ]\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tcurrentArea: currentSelection,\n\t\t\thasSelectedNonAreaBlock: !! (\n\t\t\t\tselectedBlock && selectedBlock.name !== 'core/widget-area'\n\t\t\t),\n\t\t\tisGeneralSidebarOpen: !! activeArea,\n\t\t\tselectedWidgetAreaBlock: widgetAreaBlock,\n\t\t};\n\t}, [] );\n\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\t// `newSelectedTabId` could technically be falsey if no tab is selected (i.e.\n\t// the initial render) or when we don't want a tab displayed (i.e. the\n\t// sidebar is closed). These cases should both be covered by the `!!` check\n\t// below, so we shouldn't need any additional falsey handling.\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\tenableComplementaryArea(\n\t\t\t\t\teditWidgetsStore.name,\n\t\t\t\t\tnewSelectedTabId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\t// Due to how this component is controlled (via a value from the\n\t\t\t// `interfaceStore`), when the sidebar closes the currently selected\n\t\t\t// tab can't be found. This causes the component to continuously reset\n\t\t\t// the selection to `null` in an infinite loop. Proactively setting\n\t\t\t// the selected tab to `null` avoids that.\n\t\t\tselectedTabId={ isGeneralSidebarOpen ? currentArea : null }\n\t\t\tonSelect={ onTabSelect }\n\t\t\tselectOnMove={ false }\n\t\t>\n\t\t\t<SidebarContent\n\t\t\t\thasSelectedNonAreaBlock={ hasSelectedNonAreaBlock }\n\t\t\t\tcurrentArea={ currentArea }\n\t\t\t\tisGeneralSidebarOpen={ isGeneralSidebarOpen }\n\t\t\t\tselectedWidgetAreaBlock={ selectedWidgetAreaBlock }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_element","require","_i18n","_interface","_blockEditor","_icons","_components","_data","_widgetAreas","_interopRequireDefault","_store","_lockUnlock","_jsxRuntime","SIDEBAR_ACTIVE_BY_DEFAULT","Platform","select","web","native","BLOCK_INSPECTOR_IDENTIFIER","WIDGET_AREAS_IDENTIFIER","Tabs","unlock","componentsPrivateApis","SidebarHeader","selectedWidgetAreaBlock","jsxs","TabList","children","jsx","Tab","tabId","attributes","name","__","SidebarContent","hasSelectedNonAreaBlock","currentArea","isGeneralSidebarOpen","enableComplementaryArea","useDispatch","interfaceStore","useEffect","tabsContextValue","useContext","Context","ComplementaryArea","className","header","Provider","value","headerClassName","title","closeLabel","scope","identifier","icon","isRTL","drawerLeft","drawerRight","isActiveByDefault","TabPanel","focusable","default","selectedWidgetAreaId","id","BlockInspector","Sidebar","useSelect","getSelectedBlock","getBlock","getBlockParentsByBlockName","blockEditorStore","getActiveComplementaryArea","selectedBlock","activeArea","editWidgetsStore","currentSelection","widgetAreaBlock","clientId","onTabSelect","useCallback","newSelectedTabId","selectedTabId","onSelect","selectOnMove"],"sources":["@wordpress/edit-widgets/src/components/sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseEffect,\n\tPlatform,\n\tuseContext,\n\tuseCallback,\n} from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\n\nconst BLOCK_INSPECTOR_IDENTIFIER = 'edit-widgets/block-inspector';\n\n// Widget areas were once called block areas, so use 'edit-widgets/block-areas'\n// for backwards compatibility.\nconst WIDGET_AREAS_IDENTIFIER = 'edit-widgets/block-areas';\n\n/**\n * Internal dependencies\n */\nimport WidgetAreas from './widget-areas';\nimport { store as editWidgetsStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction SidebarHeader( { selectedWidgetAreaBlock } ) {\n\treturn (\n\t\t<Tabs.TabList>\n\t\t\t<Tabs.Tab tabId={ WIDGET_AREAS_IDENTIFIER }>\n\t\t\t\t{ selectedWidgetAreaBlock\n\t\t\t\t\t? selectedWidgetAreaBlock.attributes.name\n\t\t\t\t\t: __( 'Widget Areas' ) }\n\t\t\t</Tabs.Tab>\n\t\t\t<Tabs.Tab tabId={ BLOCK_INSPECTOR_IDENTIFIER }>\n\t\t\t\t{ __( 'Block' ) }\n\t\t\t</Tabs.Tab>\n\t\t</Tabs.TabList>\n\t);\n}\n\nfunction SidebarContent( {\n\thasSelectedNonAreaBlock,\n\tcurrentArea,\n\tisGeneralSidebarOpen,\n\tselectedWidgetAreaBlock,\n} ) {\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\thasSelectedNonAreaBlock &&\n\t\t\tcurrentArea === WIDGET_AREAS_IDENTIFIER &&\n\t\t\tisGeneralSidebarOpen\n\t\t) {\n\t\t\tenableComplementaryArea(\n\t\t\t\t'core/edit-widgets',\n\t\t\t\tBLOCK_INSPECTOR_IDENTIFIER\n\t\t\t);\n\t\t}\n\t\tif (\n\t\t\t! hasSelectedNonAreaBlock &&\n\t\t\tcurrentArea === BLOCK_INSPECTOR_IDENTIFIER &&\n\t\t\tisGeneralSidebarOpen\n\t\t) {\n\t\t\tenableComplementaryArea(\n\t\t\t\t'core/edit-widgets',\n\t\t\t\tWIDGET_AREAS_IDENTIFIER\n\t\t\t);\n\t\t}\n\t\t// We're intentionally leaving `currentArea` and `isGeneralSidebarOpen`\n\t\t// out of the dep array because we want this effect to run based on\n\t\t// block selection changes, not sidebar state changes.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ hasSelectedNonAreaBlock, enableComplementaryArea ] );\n\n\tconst tabsContextValue = useContext( Tabs.Context );\n\n\treturn (\n\t\t<ComplementaryArea\n\t\t\tclassName=\"edit-widgets-sidebar\"\n\t\t\theader={\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<SidebarHeader\n\t\t\t\t\t\tselectedWidgetAreaBlock={ selectedWidgetAreaBlock }\n\t\t\t\t\t/>\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t}\n\t\t\theaderClassName=\"edit-widgets-sidebar__panel-tabs\"\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\ttitle={ __( 'Settings' ) }\n\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\tscope=\"core/edit-widgets\"\n\t\t\tidentifier={ currentArea }\n\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\ttabId={ WIDGET_AREAS_IDENTIFIER }\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t<WidgetAreas\n\t\t\t\t\t\tselectedWidgetAreaId={\n\t\t\t\t\t\t\tselectedWidgetAreaBlock?.attributes.id\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\ttabId={ BLOCK_INSPECTOR_IDENTIFIER }\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t{ hasSelectedNonAreaBlock ? (\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// Pretend that Widget Areas are part of the UI by not\n\t\t\t\t\t\t// showing the Block Inspector when one is selected.\n\t\t\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs.Context.Provider>\n\t\t</ComplementaryArea>\n\t);\n}\n\nexport default function Sidebar() {\n\tconst {\n\t\tcurrentArea,\n\t\thasSelectedNonAreaBlock,\n\t\tisGeneralSidebarOpen,\n\t\tselectedWidgetAreaBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSelectedBlock, getBlock, getBlockParentsByBlockName } =\n\t\t\tselect( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\n\t\tconst selectedBlock = getSelectedBlock();\n\n\t\tconst activeArea = getActiveComplementaryArea( editWidgetsStore.name );\n\n\t\tlet currentSelection = activeArea;\n\t\tif ( ! currentSelection ) {\n\t\t\tif ( selectedBlock ) {\n\t\t\t\tcurrentSelection = BLOCK_INSPECTOR_IDENTIFIER;\n\t\t\t} else {\n\t\t\t\tcurrentSelection = WIDGET_AREAS_IDENTIFIER;\n\t\t\t}\n\t\t}\n\n\t\tlet widgetAreaBlock;\n\t\tif ( selectedBlock ) {\n\t\t\tif ( selectedBlock.name === 'core/widget-area' ) {\n\t\t\t\twidgetAreaBlock = selectedBlock;\n\t\t\t} else {\n\t\t\t\twidgetAreaBlock = getBlock(\n\t\t\t\t\tgetBlockParentsByBlockName(\n\t\t\t\t\t\tselectedBlock.clientId,\n\t\t\t\t\t\t'core/widget-area'\n\t\t\t\t\t)[ 0 ]\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tcurrentArea: currentSelection,\n\t\t\thasSelectedNonAreaBlock: !! (\n\t\t\t\tselectedBlock && selectedBlock.name !== 'core/widget-area'\n\t\t\t),\n\t\t\tisGeneralSidebarOpen: !! activeArea,\n\t\t\tselectedWidgetAreaBlock: widgetAreaBlock,\n\t\t};\n\t}, [] );\n\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\t// `newSelectedTabId` could technically be falsy if no tab is selected (i.e.\n\t// the initial render) or when we don't want a tab displayed (i.e. the\n\t// sidebar is closed). These cases should both be covered by the `!!` check\n\t// below, so we shouldn't need any additional falsy handling.\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\tenableComplementaryArea(\n\t\t\t\t\teditWidgetsStore.name,\n\t\t\t\t\tnewSelectedTabId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\t// Due to how this component is controlled (via a value from the\n\t\t\t// `interfaceStore`), when the sidebar closes the currently selected\n\t\t\t// tab can't be found. This causes the component to continuously reset\n\t\t\t// the selection to `null` in an infinite loop. Proactively setting\n\t\t\t// the selected tab to `null` avoids that.\n\t\t\tselectedTabId={ isGeneralSidebarOpen ? currentArea : null }\n\t\t\tonSelect={ onTabSelect }\n\t\t\tselectOnMove={ false }\n\t\t>\n\t\t\t<SidebarContent\n\t\t\t\thasSelectedNonAreaBlock={ hasSelectedNonAreaBlock }\n\t\t\t\tcurrentArea={ currentArea }\n\t\t\t\tisGeneralSidebarOpen={ isGeneralSidebarOpen }\n\t\t\t\tselectedWidgetAreaBlock={ selectedWidgetAreaBlock }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,7 +14,7 @@ const SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select({
14
14
  });
15
15
  const BLOCK_INSPECTOR_IDENTIFIER = 'edit-widgets/block-inspector';
16
16
 
17
- // Widget areas were one called block areas, so use 'edit-widgets/block-areas'
17
+ // Widget areas were once called block areas, so use 'edit-widgets/block-areas'
18
18
  // for backwards compatibility.
19
19
  const WIDGET_AREAS_IDENTIFIER = 'edit-widgets/block-areas';
20
20
 
@@ -147,10 +147,10 @@ export default function Sidebar() {
147
147
  enableComplementaryArea
148
148
  } = useDispatch(interfaceStore);
149
149
 
150
- // `newSelectedTabId` could technically be falsey if no tab is selected (i.e.
150
+ // `newSelectedTabId` could technically be falsy if no tab is selected (i.e.
151
151
  // the initial render) or when we don't want a tab displayed (i.e. the
152
152
  // sidebar is closed). These cases should both be covered by the `!!` check
153
- // below, so we shouldn't need any additional falsey handling.
153
+ // below, so we shouldn't need any additional falsy handling.
154
154
  const onTabSelect = useCallback(newSelectedTabId => {
155
155
  if (!!newSelectedTabId) {
156
156
  enableComplementaryArea(editWidgetsStore.name, newSelectedTabId);
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","Platform","useContext","useCallback","isRTL","__","ComplementaryArea","store","interfaceStore","BlockInspector","blockEditorStore","drawerLeft","drawerRight","privateApis","componentsPrivateApis","useSelect","useDispatch","SIDEBAR_ACTIVE_BY_DEFAULT","select","web","native","BLOCK_INSPECTOR_IDENTIFIER","WIDGET_AREAS_IDENTIFIER","WidgetAreas","editWidgetsStore","unlock","jsx","_jsx","jsxs","_jsxs","Tabs","SidebarHeader","selectedWidgetAreaBlock","TabList","children","Tab","tabId","attributes","name","SidebarContent","hasSelectedNonAreaBlock","currentArea","isGeneralSidebarOpen","enableComplementaryArea","tabsContextValue","Context","className","header","Provider","value","headerClassName","title","closeLabel","scope","identifier","icon","isActiveByDefault","TabPanel","focusable","selectedWidgetAreaId","id","Sidebar","getSelectedBlock","getBlock","getBlockParentsByBlockName","getActiveComplementaryArea","selectedBlock","activeArea","currentSelection","widgetAreaBlock","clientId","onTabSelect","newSelectedTabId","selectedTabId","onSelect","selectOnMove"],"sources":["@wordpress/edit-widgets/src/components/sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseEffect,\n\tPlatform,\n\tuseContext,\n\tuseCallback,\n} from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\n\nconst BLOCK_INSPECTOR_IDENTIFIER = 'edit-widgets/block-inspector';\n\n// Widget areas were one called block areas, so use 'edit-widgets/block-areas'\n// for backwards compatibility.\nconst WIDGET_AREAS_IDENTIFIER = 'edit-widgets/block-areas';\n\n/**\n * Internal dependencies\n */\nimport WidgetAreas from './widget-areas';\nimport { store as editWidgetsStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction SidebarHeader( { selectedWidgetAreaBlock } ) {\n\treturn (\n\t\t<Tabs.TabList>\n\t\t\t<Tabs.Tab tabId={ WIDGET_AREAS_IDENTIFIER }>\n\t\t\t\t{ selectedWidgetAreaBlock\n\t\t\t\t\t? selectedWidgetAreaBlock.attributes.name\n\t\t\t\t\t: __( 'Widget Areas' ) }\n\t\t\t</Tabs.Tab>\n\t\t\t<Tabs.Tab tabId={ BLOCK_INSPECTOR_IDENTIFIER }>\n\t\t\t\t{ __( 'Block' ) }\n\t\t\t</Tabs.Tab>\n\t\t</Tabs.TabList>\n\t);\n}\n\nfunction SidebarContent( {\n\thasSelectedNonAreaBlock,\n\tcurrentArea,\n\tisGeneralSidebarOpen,\n\tselectedWidgetAreaBlock,\n} ) {\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\thasSelectedNonAreaBlock &&\n\t\t\tcurrentArea === WIDGET_AREAS_IDENTIFIER &&\n\t\t\tisGeneralSidebarOpen\n\t\t) {\n\t\t\tenableComplementaryArea(\n\t\t\t\t'core/edit-widgets',\n\t\t\t\tBLOCK_INSPECTOR_IDENTIFIER\n\t\t\t);\n\t\t}\n\t\tif (\n\t\t\t! hasSelectedNonAreaBlock &&\n\t\t\tcurrentArea === BLOCK_INSPECTOR_IDENTIFIER &&\n\t\t\tisGeneralSidebarOpen\n\t\t) {\n\t\t\tenableComplementaryArea(\n\t\t\t\t'core/edit-widgets',\n\t\t\t\tWIDGET_AREAS_IDENTIFIER\n\t\t\t);\n\t\t}\n\t\t// We're intentionally leaving `currentArea` and `isGeneralSidebarOpen`\n\t\t// out of the dep array because we want this effect to run based on\n\t\t// block selection changes, not sidebar state changes.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ hasSelectedNonAreaBlock, enableComplementaryArea ] );\n\n\tconst tabsContextValue = useContext( Tabs.Context );\n\n\treturn (\n\t\t<ComplementaryArea\n\t\t\tclassName=\"edit-widgets-sidebar\"\n\t\t\theader={\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<SidebarHeader\n\t\t\t\t\t\tselectedWidgetAreaBlock={ selectedWidgetAreaBlock }\n\t\t\t\t\t/>\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t}\n\t\t\theaderClassName=\"edit-widgets-sidebar__panel-tabs\"\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\ttitle={ __( 'Settings' ) }\n\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\tscope=\"core/edit-widgets\"\n\t\t\tidentifier={ currentArea }\n\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\ttabId={ WIDGET_AREAS_IDENTIFIER }\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t<WidgetAreas\n\t\t\t\t\t\tselectedWidgetAreaId={\n\t\t\t\t\t\t\tselectedWidgetAreaBlock?.attributes.id\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\ttabId={ BLOCK_INSPECTOR_IDENTIFIER }\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t{ hasSelectedNonAreaBlock ? (\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// Pretend that Widget Areas are part of the UI by not\n\t\t\t\t\t\t// showing the Block Inspector when one is selected.\n\t\t\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs.Context.Provider>\n\t\t</ComplementaryArea>\n\t);\n}\n\nexport default function Sidebar() {\n\tconst {\n\t\tcurrentArea,\n\t\thasSelectedNonAreaBlock,\n\t\tisGeneralSidebarOpen,\n\t\tselectedWidgetAreaBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSelectedBlock, getBlock, getBlockParentsByBlockName } =\n\t\t\tselect( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\n\t\tconst selectedBlock = getSelectedBlock();\n\n\t\tconst activeArea = getActiveComplementaryArea( editWidgetsStore.name );\n\n\t\tlet currentSelection = activeArea;\n\t\tif ( ! currentSelection ) {\n\t\t\tif ( selectedBlock ) {\n\t\t\t\tcurrentSelection = BLOCK_INSPECTOR_IDENTIFIER;\n\t\t\t} else {\n\t\t\t\tcurrentSelection = WIDGET_AREAS_IDENTIFIER;\n\t\t\t}\n\t\t}\n\n\t\tlet widgetAreaBlock;\n\t\tif ( selectedBlock ) {\n\t\t\tif ( selectedBlock.name === 'core/widget-area' ) {\n\t\t\t\twidgetAreaBlock = selectedBlock;\n\t\t\t} else {\n\t\t\t\twidgetAreaBlock = getBlock(\n\t\t\t\t\tgetBlockParentsByBlockName(\n\t\t\t\t\t\tselectedBlock.clientId,\n\t\t\t\t\t\t'core/widget-area'\n\t\t\t\t\t)[ 0 ]\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tcurrentArea: currentSelection,\n\t\t\thasSelectedNonAreaBlock: !! (\n\t\t\t\tselectedBlock && selectedBlock.name !== 'core/widget-area'\n\t\t\t),\n\t\t\tisGeneralSidebarOpen: !! activeArea,\n\t\t\tselectedWidgetAreaBlock: widgetAreaBlock,\n\t\t};\n\t}, [] );\n\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\t// `newSelectedTabId` could technically be falsey if no tab is selected (i.e.\n\t// the initial render) or when we don't want a tab displayed (i.e. the\n\t// sidebar is closed). These cases should both be covered by the `!!` check\n\t// below, so we shouldn't need any additional falsey handling.\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\tenableComplementaryArea(\n\t\t\t\t\teditWidgetsStore.name,\n\t\t\t\t\tnewSelectedTabId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\t// Due to how this component is controlled (via a value from the\n\t\t\t// `interfaceStore`), when the sidebar closes the currently selected\n\t\t\t// tab can't be found. This causes the component to continuously reset\n\t\t\t// the selection to `null` in an infinite loop. Proactively setting\n\t\t\t// the selected tab to `null` avoids that.\n\t\t\tselectedTabId={ isGeneralSidebarOpen ? currentArea : null }\n\t\t\tonSelect={ onTabSelect }\n\t\t\tselectOnMove={ false }\n\t\t>\n\t\t\t<SidebarContent\n\t\t\t\thasSelectedNonAreaBlock={ hasSelectedNonAreaBlock }\n\t\t\t\tcurrentArea={ currentArea }\n\t\t\t\tisGeneralSidebarOpen={ isGeneralSidebarOpen }\n\t\t\t\tselectedWidgetAreaBlock={ selectedWidgetAreaBlock }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","Platform","useContext","useCallback","isRTL","__","ComplementaryArea","store","interfaceStore","BlockInspector","blockEditorStore","drawerLeft","drawerRight","privateApis","componentsPrivateApis","useSelect","useDispatch","SIDEBAR_ACTIVE_BY_DEFAULT","select","web","native","BLOCK_INSPECTOR_IDENTIFIER","WIDGET_AREAS_IDENTIFIER","WidgetAreas","editWidgetsStore","unlock","jsx","_jsx","jsxs","_jsxs","Tabs","SidebarHeader","selectedWidgetAreaBlock","TabList","children","Tab","tabId","attributes","name","SidebarContent","hasSelectedNonAreaBlock","currentArea","isGeneralSidebarOpen","enableComplementaryArea","tabsContextValue","Context","className","header","Provider","value","headerClassName","title","closeLabel","scope","identifier","icon","isActiveByDefault","TabPanel","focusable","selectedWidgetAreaId","id","Sidebar","getSelectedBlock","getBlock","getBlockParentsByBlockName","getActiveComplementaryArea","selectedBlock","activeArea","currentSelection","widgetAreaBlock","clientId","onTabSelect","newSelectedTabId","selectedTabId","onSelect","selectOnMove"],"sources":["@wordpress/edit-widgets/src/components/sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseEffect,\n\tPlatform,\n\tuseContext,\n\tuseCallback,\n} from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tBlockInspector,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {\n\tweb: true,\n\tnative: false,\n} );\n\nconst BLOCK_INSPECTOR_IDENTIFIER = 'edit-widgets/block-inspector';\n\n// Widget areas were once called block areas, so use 'edit-widgets/block-areas'\n// for backwards compatibility.\nconst WIDGET_AREAS_IDENTIFIER = 'edit-widgets/block-areas';\n\n/**\n * Internal dependencies\n */\nimport WidgetAreas from './widget-areas';\nimport { store as editWidgetsStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nfunction SidebarHeader( { selectedWidgetAreaBlock } ) {\n\treturn (\n\t\t<Tabs.TabList>\n\t\t\t<Tabs.Tab tabId={ WIDGET_AREAS_IDENTIFIER }>\n\t\t\t\t{ selectedWidgetAreaBlock\n\t\t\t\t\t? selectedWidgetAreaBlock.attributes.name\n\t\t\t\t\t: __( 'Widget Areas' ) }\n\t\t\t</Tabs.Tab>\n\t\t\t<Tabs.Tab tabId={ BLOCK_INSPECTOR_IDENTIFIER }>\n\t\t\t\t{ __( 'Block' ) }\n\t\t\t</Tabs.Tab>\n\t\t</Tabs.TabList>\n\t);\n}\n\nfunction SidebarContent( {\n\thasSelectedNonAreaBlock,\n\tcurrentArea,\n\tisGeneralSidebarOpen,\n\tselectedWidgetAreaBlock,\n} ) {\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\thasSelectedNonAreaBlock &&\n\t\t\tcurrentArea === WIDGET_AREAS_IDENTIFIER &&\n\t\t\tisGeneralSidebarOpen\n\t\t) {\n\t\t\tenableComplementaryArea(\n\t\t\t\t'core/edit-widgets',\n\t\t\t\tBLOCK_INSPECTOR_IDENTIFIER\n\t\t\t);\n\t\t}\n\t\tif (\n\t\t\t! hasSelectedNonAreaBlock &&\n\t\t\tcurrentArea === BLOCK_INSPECTOR_IDENTIFIER &&\n\t\t\tisGeneralSidebarOpen\n\t\t) {\n\t\t\tenableComplementaryArea(\n\t\t\t\t'core/edit-widgets',\n\t\t\t\tWIDGET_AREAS_IDENTIFIER\n\t\t\t);\n\t\t}\n\t\t// We're intentionally leaving `currentArea` and `isGeneralSidebarOpen`\n\t\t// out of the dep array because we want this effect to run based on\n\t\t// block selection changes, not sidebar state changes.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ hasSelectedNonAreaBlock, enableComplementaryArea ] );\n\n\tconst tabsContextValue = useContext( Tabs.Context );\n\n\treturn (\n\t\t<ComplementaryArea\n\t\t\tclassName=\"edit-widgets-sidebar\"\n\t\t\theader={\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<SidebarHeader\n\t\t\t\t\t\tselectedWidgetAreaBlock={ selectedWidgetAreaBlock }\n\t\t\t\t\t/>\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t}\n\t\t\theaderClassName=\"edit-widgets-sidebar__panel-tabs\"\n\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\ttitle={ __( 'Settings' ) }\n\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\tscope=\"core/edit-widgets\"\n\t\t\tidentifier={ currentArea }\n\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\tisActiveByDefault={ SIDEBAR_ACTIVE_BY_DEFAULT }\n\t\t>\n\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\ttabId={ WIDGET_AREAS_IDENTIFIER }\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t<WidgetAreas\n\t\t\t\t\t\tselectedWidgetAreaId={\n\t\t\t\t\t\t\tselectedWidgetAreaBlock?.attributes.id\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\ttabId={ BLOCK_INSPECTOR_IDENTIFIER }\n\t\t\t\t\tfocusable={ false }\n\t\t\t\t>\n\t\t\t\t\t{ hasSelectedNonAreaBlock ? (\n\t\t\t\t\t\t<BlockInspector />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t// Pretend that Widget Areas are part of the UI by not\n\t\t\t\t\t\t// showing the Block Inspector when one is selected.\n\t\t\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Tabs.TabPanel>\n\t\t\t</Tabs.Context.Provider>\n\t\t</ComplementaryArea>\n\t);\n}\n\nexport default function Sidebar() {\n\tconst {\n\t\tcurrentArea,\n\t\thasSelectedNonAreaBlock,\n\t\tisGeneralSidebarOpen,\n\t\tselectedWidgetAreaBlock,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSelectedBlock, getBlock, getBlockParentsByBlockName } =\n\t\t\tselect( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\n\t\tconst selectedBlock = getSelectedBlock();\n\n\t\tconst activeArea = getActiveComplementaryArea( editWidgetsStore.name );\n\n\t\tlet currentSelection = activeArea;\n\t\tif ( ! currentSelection ) {\n\t\t\tif ( selectedBlock ) {\n\t\t\t\tcurrentSelection = BLOCK_INSPECTOR_IDENTIFIER;\n\t\t\t} else {\n\t\t\t\tcurrentSelection = WIDGET_AREAS_IDENTIFIER;\n\t\t\t}\n\t\t}\n\n\t\tlet widgetAreaBlock;\n\t\tif ( selectedBlock ) {\n\t\t\tif ( selectedBlock.name === 'core/widget-area' ) {\n\t\t\t\twidgetAreaBlock = selectedBlock;\n\t\t\t} else {\n\t\t\t\twidgetAreaBlock = getBlock(\n\t\t\t\t\tgetBlockParentsByBlockName(\n\t\t\t\t\t\tselectedBlock.clientId,\n\t\t\t\t\t\t'core/widget-area'\n\t\t\t\t\t)[ 0 ]\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tcurrentArea: currentSelection,\n\t\t\thasSelectedNonAreaBlock: !! (\n\t\t\t\tselectedBlock && selectedBlock.name !== 'core/widget-area'\n\t\t\t),\n\t\t\tisGeneralSidebarOpen: !! activeArea,\n\t\t\tselectedWidgetAreaBlock: widgetAreaBlock,\n\t\t};\n\t}, [] );\n\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\t// `newSelectedTabId` could technically be falsy if no tab is selected (i.e.\n\t// the initial render) or when we don't want a tab displayed (i.e. the\n\t// sidebar is closed). These cases should both be covered by the `!!` check\n\t// below, so we shouldn't need any additional falsy handling.\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\tenableComplementaryArea(\n\t\t\t\t\teditWidgetsStore.name,\n\t\t\t\t\tnewSelectedTabId\n\t\t\t\t);\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\t// Due to how this component is controlled (via a value from the\n\t\t\t// `interfaceStore`), when the sidebar closes the currently selected\n\t\t\t// tab can't be found. This causes the component to continuously reset\n\t\t\t// the selection to `null` in an infinite loop. Proactively setting\n\t\t\t// the selected tab to `null` avoids that.\n\t\t\tselectedTabId={ isGeneralSidebarOpen ? currentArea : null }\n\t\t\tonSelect={ onTabSelect }\n\t\t\tselectOnMove={ false }\n\t\t>\n\t\t\t<SidebarContent\n\t\t\t\thasSelectedNonAreaBlock={ hasSelectedNonAreaBlock }\n\t\t\t\tcurrentArea={ currentArea }\n\t\t\t\tisGeneralSidebarOpen={ isGeneralSidebarOpen }\n\t\t\t\tselectedWidgetAreaBlock={ selectedWidgetAreaBlock }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -29,6 +29,9 @@
29
29
  /**
30
30
  * Fonts & basic variables.
31
31
  */
32
+ /**
33
+ * Typography
34
+ */
32
35
  /**
33
36
  * Grid System.
34
37
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
@@ -43,7 +46,10 @@
43
46
  * Dimensions.
44
47
  */
45
48
  /**
46
- * Editor widths.
49
+ * Mobile specific styles
50
+ */
51
+ /**
52
+ * Editor styles.
47
53
  */
48
54
  /**
49
55
  * Block & Editor UI.
@@ -67,6 +73,9 @@
67
73
  * Creates a fading overlay to signify that the content is longer
68
74
  * than the space allows.
69
75
  */
76
+ /**
77
+ * Typography
78
+ */
70
79
  /**
71
80
  * Breakpoint mixins
72
81
  */
@@ -590,6 +599,7 @@ body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .c
590
599
  padding-left: 8px;
591
600
  padding-right: 16px;
592
601
  overflow: hidden;
602
+ height: 60px;
593
603
  }
594
604
 
595
605
  .edit-widgets-header__title {
@@ -29,6 +29,9 @@
29
29
  /**
30
30
  * Fonts & basic variables.
31
31
  */
32
+ /**
33
+ * Typography
34
+ */
32
35
  /**
33
36
  * Grid System.
34
37
  * https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
@@ -43,7 +46,10 @@
43
46
  * Dimensions.
44
47
  */
45
48
  /**
46
- * Editor widths.
49
+ * Mobile specific styles
50
+ */
51
+ /**
52
+ * Editor styles.
47
53
  */
48
54
  /**
49
55
  * Block & Editor UI.
@@ -67,6 +73,9 @@
67
73
  * Creates a fading overlay to signify that the content is longer
68
74
  * than the space allows.
69
75
  */
76
+ /**
77
+ * Typography
78
+ */
70
79
  /**
71
80
  * Breakpoint mixins
72
81
  */
@@ -590,6 +599,7 @@ body.is-dragging-components-draggable .wp-block[data-type="core/widget-area"] .c
590
599
  padding-right: 8px;
591
600
  padding-left: 16px;
592
601
  overflow: hidden;
602
+ height: 60px;
593
603
  }
594
604
 
595
605
  .edit-widgets-header__title {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-widgets",
3
- "version": "6.8.5",
3
+ "version": "6.9.0",
4
4
  "description": "Widgets Page module for WordPress..",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -28,32 +28,32 @@
28
28
  "react-native": "src/index",
29
29
  "dependencies": {
30
30
  "@babel/runtime": "^7.16.0",
31
- "@wordpress/api-fetch": "^7.8.2",
32
- "@wordpress/block-editor": "^14.3.4",
33
- "@wordpress/block-library": "^9.8.5",
34
- "@wordpress/blocks": "^13.8.4",
35
- "@wordpress/components": "^28.8.4",
36
- "@wordpress/compose": "^7.8.3",
37
- "@wordpress/core-data": "^7.8.4",
38
- "@wordpress/data": "^10.8.3",
39
- "@wordpress/deprecated": "^4.8.2",
40
- "@wordpress/dom": "^4.8.2",
41
- "@wordpress/element": "^6.8.1",
42
- "@wordpress/hooks": "^4.8.2",
43
- "@wordpress/i18n": "^5.8.2",
44
- "@wordpress/icons": "^10.8.2",
45
- "@wordpress/interface": "^6.8.4",
46
- "@wordpress/keyboard-shortcuts": "^5.8.3",
47
- "@wordpress/keycodes": "^4.8.2",
48
- "@wordpress/media-utils": "^5.8.2",
49
- "@wordpress/notices": "^5.8.3",
50
- "@wordpress/patterns": "^2.8.4",
51
- "@wordpress/plugins": "^7.8.4",
52
- "@wordpress/preferences": "^4.8.4",
53
- "@wordpress/private-apis": "^1.8.1",
54
- "@wordpress/reusable-blocks": "^5.8.4",
55
- "@wordpress/url": "^4.8.1",
56
- "@wordpress/widgets": "^4.8.4",
31
+ "@wordpress/api-fetch": "^7.9.0",
32
+ "@wordpress/block-editor": "^14.4.0",
33
+ "@wordpress/block-library": "^9.9.0",
34
+ "@wordpress/blocks": "^13.9.0",
35
+ "@wordpress/components": "^28.9.0",
36
+ "@wordpress/compose": "^7.9.0",
37
+ "@wordpress/core-data": "^7.9.0",
38
+ "@wordpress/data": "^10.9.0",
39
+ "@wordpress/deprecated": "^4.9.0",
40
+ "@wordpress/dom": "^4.9.0",
41
+ "@wordpress/element": "^6.9.0",
42
+ "@wordpress/hooks": "^4.9.0",
43
+ "@wordpress/i18n": "^5.9.0",
44
+ "@wordpress/icons": "^10.9.0",
45
+ "@wordpress/interface": "^6.9.0",
46
+ "@wordpress/keyboard-shortcuts": "^5.9.0",
47
+ "@wordpress/keycodes": "^4.9.0",
48
+ "@wordpress/media-utils": "^5.9.0",
49
+ "@wordpress/notices": "^5.9.0",
50
+ "@wordpress/patterns": "^2.9.0",
51
+ "@wordpress/plugins": "^7.9.0",
52
+ "@wordpress/preferences": "^4.9.0",
53
+ "@wordpress/private-apis": "^1.9.0",
54
+ "@wordpress/reusable-blocks": "^5.9.0",
55
+ "@wordpress/url": "^4.9.0",
56
+ "@wordpress/widgets": "^4.9.0",
57
57
  "clsx": "^2.1.1"
58
58
  },
59
59
  "peerDependencies": {
@@ -63,5 +63,5 @@
63
63
  "publishConfig": {
64
64
  "access": "public"
65
65
  },
66
- "gitHead": "07c75154341d1e5a1b8aaa1c226029b6666a52a9"
66
+ "gitHead": "2e5495c635910cb34bfaca3c6258d2e989f66214"
67
67
  }
@@ -82,6 +82,7 @@
82
82
  padding-right: $grid-unit-10;
83
83
  padding-left: $grid-unit-20;
84
84
  overflow: hidden;
85
+ height: $header-height;
85
86
  }
86
87
 
87
88
  .edit-widgets-header__title {
@@ -28,7 +28,7 @@ const SIDEBAR_ACTIVE_BY_DEFAULT = Platform.select( {
28
28
 
29
29
  const BLOCK_INSPECTOR_IDENTIFIER = 'edit-widgets/block-inspector';
30
30
 
31
- // Widget areas were one called block areas, so use 'edit-widgets/block-areas'
31
+ // Widget areas were once called block areas, so use 'edit-widgets/block-areas'
32
32
  // for backwards compatibility.
33
33
  const WIDGET_AREAS_IDENTIFIER = 'edit-widgets/block-areas';
34
34
 
@@ -192,10 +192,10 @@ export default function Sidebar() {
192
192
 
193
193
  const { enableComplementaryArea } = useDispatch( interfaceStore );
194
194
 
195
- // `newSelectedTabId` could technically be falsey if no tab is selected (i.e.
195
+ // `newSelectedTabId` could technically be falsy if no tab is selected (i.e.
196
196
  // the initial render) or when we don't want a tab displayed (i.e. the
197
197
  // sidebar is closed). These cases should both be covered by the `!!` check
198
- // below, so we shouldn't need any additional falsey handling.
198
+ // below, so we shouldn't need any additional falsy handling.
199
199
  const onTabSelect = useCallback(
200
200
  ( newSelectedTabId ) => {
201
201
  if ( !! newSelectedTabId ) {