@wordpress/edit-widgets 5.34.0 → 5.35.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 (30) hide show
  1. package/CHANGELOG.md +8 -2
  2. package/build/blocks/widget-area/edit/inner-blocks.js +2 -2
  3. package/build/blocks/widget-area/edit/inner-blocks.js.map +1 -1
  4. package/build/components/header/document-tools/index.js +6 -29
  5. package/build/components/header/document-tools/index.js.map +1 -1
  6. package/build/components/keyboard-shortcut-help-modal/index.js +2 -2
  7. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  8. package/build/store/private-selectors.js +4 -0
  9. package/build/store/private-selectors.js.map +1 -1
  10. package/build/store/reducer.js +16 -0
  11. package/build/store/reducer.js.map +1 -1
  12. package/build-module/blocks/widget-area/edit/inner-blocks.js +2 -2
  13. package/build-module/blocks/widget-area/edit/inner-blocks.js.map +1 -1
  14. package/build-module/components/header/document-tools/index.js +8 -31
  15. package/build-module/components/header/document-tools/index.js.map +1 -1
  16. package/build-module/components/keyboard-shortcut-help-modal/index.js +2 -2
  17. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  18. package/build-module/store/private-selectors.js +3 -0
  19. package/build-module/store/private-selectors.js.map +1 -1
  20. package/build-module/store/reducer.js +15 -0
  21. package/build-module/store/reducer.js.map +1 -1
  22. package/build-style/style-rtl.css +7 -11
  23. package/build-style/style.css +7 -11
  24. package/package.json +29 -29
  25. package/src/blocks/widget-area/edit/inner-blocks.js +2 -2
  26. package/src/components/header/document-tools/index.js +30 -50
  27. package/src/components/keyboard-shortcut-help-modal/index.js +2 -2
  28. package/src/components/layout/style.scss +1 -1
  29. package/src/store/private-selectors.js +4 -0
  30. package/src/store/reducer.js +13 -0
package/CHANGELOG.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 5.35.0 (2024-05-16)
6
+
7
+ ### Internal
8
+
9
+ - Replaced `classnames` package with the faster and smaller `clsx` package ([#61138](https://github.com/WordPress/gutenberg/pull/61138)).
10
+
5
11
  ## 5.34.0 (2024-05-02)
6
12
 
7
13
  ## 5.33.0 (2024-04-19)
@@ -146,8 +152,8 @@
146
152
 
147
153
  ### Breaking Changes
148
154
 
149
- - Drop support for Internet Explorer 11 ([#31110](https://github.com/WordPress/gutenberg/pull/31110)). Learn more at https://make.wordpress.org/core/2021/04/22/ie-11-support-phase-out-plan/.
150
- - Increase the minimum Node.js version to v12 matching Long Term Support releases ([#31270](https://github.com/WordPress/gutenberg/pull/31270)). Learn more at https://nodejs.org/en/about/releases/.
155
+ - Drop support for Internet Explorer 11 ([#31110](https://github.com/WordPress/gutenberg/pull/31110)). Learn more at <https://make.wordpress.org/core/2021/04/22/ie-11-support-phase-out-plan/>.
156
+ - Increase the minimum Node.js version to v12 matching Long Term Support releases ([#31270](https://github.com/WordPress/gutenberg/pull/31270)). Learn more at <https://nodejs.org/en/about/releases/>.
151
157
 
152
158
  ## 1.3.0 (2021-03-17)
153
159
 
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = WidgetAreaInnerBlocks;
8
8
  var _react = require("react");
9
- var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _clsx = _interopRequireDefault(require("clsx"));
10
10
  var _coreData = require("@wordpress/core-data");
11
11
  var _blockEditor = require("@wordpress/block-editor");
12
12
  var _element = require("@wordpress/element");
@@ -42,7 +42,7 @@ function WidgetAreaInnerBlocks({
42
42
  });
43
43
  return (0, _react.createElement)("div", {
44
44
  "data-widget-area-id": id,
45
- className: (0, _classnames.default)('wp-block-widget-area__inner-blocks block-editor-inner-blocks editor-styles-wrapper', {
45
+ className: (0, _clsx.default)('wp-block-widget-area__inner-blocks block-editor-inner-blocks editor-styles-wrapper', {
46
46
  'wp-block-widget-area__highlight-drop-zone': shouldHighlightDropZone
47
47
  })
48
48
  }, (0, _react.createElement)("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_coreData","_blockEditor","_element","_useIsDraggingWithin","WidgetAreaInnerBlocks","id","blocks","onInput","onChange","useEntityBlockEditor","innerBlocksRef","useRef","isDraggingWithinInnerBlocks","useIsDraggingWithin","shouldHighlightDropZone","innerBlocksProps","useInnerBlocksProps","ref","value","templateLock","renderAppender","InnerBlocks","ButtonBlockAppender","_react","createElement","className","classnames"],"sources":["@wordpress/edit-widgets/src/blocks/widget-area/edit/inner-blocks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport { InnerBlocks, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useIsDraggingWithin from './use-is-dragging-within';\n\nexport default function WidgetAreaInnerBlocks( { id } ) {\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'root',\n\t\t'postType'\n\t);\n\tconst innerBlocksRef = useRef();\n\tconst isDraggingWithinInnerBlocks = useIsDraggingWithin( innerBlocksRef );\n\tconst shouldHighlightDropZone = isDraggingWithinInnerBlocks;\n\t// Using the experimental hook so that we can control the className of the element.\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ ref: innerBlocksRef },\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\ttemplateLock: false,\n\t\t\trenderAppender: InnerBlocks.ButtonBlockAppender,\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tdata-widget-area-id={ id }\n\t\t\tclassName={ classnames(\n\t\t\t\t'wp-block-widget-area__inner-blocks block-editor-inner-blocks editor-styles-wrapper',\n\t\t\t\t{\n\t\t\t\t\t'wp-block-widget-area__highlight-drop-zone':\n\t\t\t\t\t\tshouldHighlightDropZone,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,oBAAA,GAAAL,sBAAA,CAAAC,OAAA;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAGe,SAASK,qBAAqBA,CAAE;EAAEC;AAAG,CAAC,EAAG;EACvD,MAAM,CAAEC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,CAAE,GAAG,IAAAC,8BAAoB,EACzD,MAAM,EACN,UACD,CAAC;EACD,MAAMC,cAAc,GAAG,IAAAC,eAAM,EAAC,CAAC;EAC/B,MAAMC,2BAA2B,GAAG,IAAAC,4BAAmB,EAAEH,cAAe,CAAC;EACzE,MAAMI,uBAAuB,GAAGF,2BAA2B;EAC3D;EACA,MAAMG,gBAAgB,GAAG,IAAAC,gCAAmB,EAC3C;IAAEC,GAAG,EAAEP;EAAe,CAAC,EACvB;IACCQ,KAAK,EAAEZ,MAAM;IACbC,OAAO;IACPC,QAAQ;IACRW,YAAY,EAAE,KAAK;IACnBC,cAAc,EAAEC,wBAAW,CAACC;EAC7B,CACD,CAAC;EAED,OACC,IAAAC,MAAA,CAAAC,aAAA;IACC,uBAAsBnB,EAAI;IAC1BoB,SAAS,EAAG,IAAAC,mBAAU,EACrB,oFAAoF,EACpF;MACC,2CAA2C,EAC1CZ;IACF,CACD;EAAG,GAEH,IAAAS,MAAA,CAAAC,aAAA;IAAA,GAAUT;EAAgB,CAAI,CAC1B,CAAC;AAER","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_coreData","_blockEditor","_element","_useIsDraggingWithin","WidgetAreaInnerBlocks","id","blocks","onInput","onChange","useEntityBlockEditor","innerBlocksRef","useRef","isDraggingWithinInnerBlocks","useIsDraggingWithin","shouldHighlightDropZone","innerBlocksProps","useInnerBlocksProps","ref","value","templateLock","renderAppender","InnerBlocks","ButtonBlockAppender","_react","createElement","className","clsx"],"sources":["@wordpress/edit-widgets/src/blocks/widget-area/edit/inner-blocks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport { InnerBlocks, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useIsDraggingWithin from './use-is-dragging-within';\n\nexport default function WidgetAreaInnerBlocks( { id } ) {\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'root',\n\t\t'postType'\n\t);\n\tconst innerBlocksRef = useRef();\n\tconst isDraggingWithinInnerBlocks = useIsDraggingWithin( innerBlocksRef );\n\tconst shouldHighlightDropZone = isDraggingWithinInnerBlocks;\n\t// Using the experimental hook so that we can control the className of the element.\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ ref: innerBlocksRef },\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\ttemplateLock: false,\n\t\t\trenderAppender: InnerBlocks.ButtonBlockAppender,\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tdata-widget-area-id={ id }\n\t\t\tclassName={ clsx(\n\t\t\t\t'wp-block-widget-area__inner-blocks block-editor-inner-blocks editor-styles-wrapper',\n\t\t\t\t{\n\t\t\t\t\t'wp-block-widget-area__highlight-drop-zone':\n\t\t\t\t\t\tshouldHighlightDropZone,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,oBAAA,GAAAL,sBAAA,CAAAC,OAAA;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAGe,SAASK,qBAAqBA,CAAE;EAAEC;AAAG,CAAC,EAAG;EACvD,MAAM,CAAEC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,CAAE,GAAG,IAAAC,8BAAoB,EACzD,MAAM,EACN,UACD,CAAC;EACD,MAAMC,cAAc,GAAG,IAAAC,eAAM,EAAC,CAAC;EAC/B,MAAMC,2BAA2B,GAAG,IAAAC,4BAAmB,EAAEH,cAAe,CAAC;EACzE,MAAMI,uBAAuB,GAAGF,2BAA2B;EAC3D;EACA,MAAMG,gBAAgB,GAAG,IAAAC,gCAAmB,EAC3C;IAAEC,GAAG,EAAEP;EAAe,CAAC,EACvB;IACCQ,KAAK,EAAEZ,MAAM;IACbC,OAAO;IACPC,QAAQ;IACRW,YAAY,EAAE,KAAK;IACnBC,cAAc,EAAEC,wBAAW,CAACC;EAC7B,CACD,CAAC;EAED,OACC,IAAAC,MAAA,CAAAC,aAAA;IACC,uBAAsBnB,EAAI;IAC1BoB,SAAS,EAAG,IAAAC,aAAI,EACf,oFAAoF,EACpF;MACC,2CAA2C,EAC1CZ;IACF,CACD;EAAG,GAEH,IAAAS,MAAA,CAAAC,aAAA;IAAA,GAAUT;EAAgB,CAAI,CAC1B,CAAC;AAER","ignoreList":[]}
@@ -15,7 +15,6 @@ var _element = require("@wordpress/element");
15
15
  var _compose = require("@wordpress/compose");
16
16
  var _undo = _interopRequireDefault(require("../undo-redo/undo"));
17
17
  var _redo = _interopRequireDefault(require("../undo-redo/redo"));
18
- var _useLastSelectedWidgetArea = _interopRequireDefault(require("../../../hooks/use-last-selected-widget-area"));
19
18
  var _store = require("../../../store");
20
19
  var _lockUnlock = require("../../../lock-unlock");
21
20
  /**
@@ -28,59 +27,37 @@ var _lockUnlock = require("../../../lock-unlock");
28
27
 
29
28
  function DocumentTools() {
30
29
  const isMediumViewport = (0, _compose.useViewportMatch)('medium');
31
- const inserterButton = (0, _element.useRef)();
32
- const widgetAreaClientId = (0, _useLastSelectedWidgetArea.default)();
33
- const isLastSelectedWidgetAreaOpen = (0, _data.useSelect)(select => select(_store.store).getIsWidgetAreaOpen(widgetAreaClientId), [widgetAreaClientId]);
34
30
  const {
35
31
  isInserterOpen,
36
32
  isListViewOpen,
33
+ inserterSidebarToggleRef,
37
34
  listViewToggleRef
38
35
  } = (0, _data.useSelect)(select => {
39
36
  const {
40
37
  isInserterOpened,
38
+ getInserterSidebarToggleRef,
41
39
  isListViewOpened,
42
40
  getListViewToggleRef
43
41
  } = (0, _lockUnlock.unlock)(select(_store.store));
44
42
  return {
45
43
  isInserterOpen: isInserterOpened(),
46
44
  isListViewOpen: isListViewOpened(),
45
+ inserterSidebarToggleRef: getInserterSidebarToggleRef(),
47
46
  listViewToggleRef: getListViewToggleRef()
48
47
  };
49
48
  }, []);
50
49
  const {
51
- setIsWidgetAreaOpen,
52
50
  setIsInserterOpened,
53
51
  setIsListViewOpened
54
52
  } = (0, _data.useDispatch)(_store.store);
55
- const {
56
- selectBlock
57
- } = (0, _data.useDispatch)(_blockEditor.store);
58
- const handleClick = () => {
59
- if (isInserterOpen) {
60
- // Focusing the inserter button closes the inserter popover.
61
- setIsInserterOpened(false);
62
- } else {
63
- if (!isLastSelectedWidgetAreaOpen) {
64
- // Select the last selected block if hasn't already.
65
- selectBlock(widgetAreaClientId);
66
- // Open the last selected widget area when opening the inserter.
67
- setIsWidgetAreaOpen(widgetAreaClientId, true);
68
- }
69
- // The DOM updates resulting from selectBlock() and setIsInserterOpened() calls are applied the
70
- // same tick and pretty much in a random order. The inserter is closed if any other part of the
71
- // app receives focus. If selectBlock() happens to take effect after setIsInserterOpened() then
72
- // the inserter is visible for a brief moment and then gets auto-closed due to focus moving to
73
- // the selected block.
74
- window.requestAnimationFrame(() => setIsInserterOpened(true));
75
- }
76
- };
77
53
  const toggleListView = (0, _element.useCallback)(() => setIsListViewOpened(!isListViewOpen), [setIsListViewOpened, isListViewOpen]);
54
+ const toggleInserterSidebar = (0, _element.useCallback)(() => setIsInserterOpened(!isInserterOpen), [setIsInserterOpened, isInserterOpen]);
78
55
  return (0, _react.createElement)(_blockEditor.NavigableToolbar, {
79
56
  className: "edit-widgets-header-toolbar",
80
57
  "aria-label": (0, _i18n.__)('Document tools'),
81
58
  variant: "unstyled"
82
59
  }, (0, _react.createElement)(_components.ToolbarItem, {
83
- ref: inserterButton,
60
+ ref: inserterSidebarToggleRef,
84
61
  as: _components.Button,
85
62
  className: "edit-widgets-header-toolbar__inserter-toggle",
86
63
  variant: "primary",
@@ -88,7 +65,7 @@ function DocumentTools() {
88
65
  onMouseDown: event => {
89
66
  event.preventDefault();
90
67
  },
91
- onClick: handleClick,
68
+ onClick: toggleInserterSidebar,
92
69
  icon: _icons.plus
93
70
  /* translators: button label text should, if possible, be under 16
94
71
  characters. */,
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_i18n","_components","_blockEditor","_icons","_element","_compose","_undo","_interopRequireDefault","_redo","_useLastSelectedWidgetArea","_store","_lockUnlock","DocumentTools","isMediumViewport","useViewportMatch","inserterButton","useRef","widgetAreaClientId","useLastSelectedWidgetArea","isLastSelectedWidgetAreaOpen","useSelect","select","editWidgetsStore","getIsWidgetAreaOpen","isInserterOpen","isListViewOpen","listViewToggleRef","isInserterOpened","isListViewOpened","getListViewToggleRef","unlock","setIsWidgetAreaOpen","setIsInserterOpened","setIsListViewOpened","useDispatch","selectBlock","blockEditorStore","handleClick","window","requestAnimationFrame","toggleListView","useCallback","_react","createElement","NavigableToolbar","className","__","variant","ToolbarItem","ref","as","Button","isPressed","onMouseDown","event","preventDefault","onClick","icon","plus","label","_x","size","Fragment","UndoButton","RedoButton","listView","_default","exports","default"],"sources":["@wordpress/edit-widgets/src/components/header/document-tools/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport {\n\tNavigableToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { listView, plus } from '@wordpress/icons';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport UndoButton from '../undo-redo/undo';\nimport RedoButton from '../undo-redo/redo';\nimport useLastSelectedWidgetArea from '../../../hooks/use-last-selected-widget-area';\nimport { store as editWidgetsStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nfunction DocumentTools() {\n\tconst isMediumViewport = useViewportMatch( 'medium' );\n\tconst inserterButton = useRef();\n\tconst widgetAreaClientId = useLastSelectedWidgetArea();\n\tconst isLastSelectedWidgetAreaOpen = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editWidgetsStore ).getIsWidgetAreaOpen(\n\t\t\t\twidgetAreaClientId\n\t\t\t),\n\t\t[ widgetAreaClientId ]\n\t);\n\tconst { isInserterOpen, isListViewOpen, listViewToggleRef } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isInserterOpened, isListViewOpened, getListViewToggleRef } =\n\t\t\t\tunlock( select( editWidgetsStore ) );\n\t\t\treturn {\n\t\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\t\tlistViewToggleRef: getListViewToggleRef(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { setIsWidgetAreaOpen, setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editWidgetsStore );\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst handleClick = () => {\n\t\tif ( isInserterOpen ) {\n\t\t\t// Focusing the inserter button closes the inserter popover.\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tif ( ! isLastSelectedWidgetAreaOpen ) {\n\t\t\t\t// Select the last selected block if hasn't already.\n\t\t\t\tselectBlock( widgetAreaClientId );\n\t\t\t\t// Open the last selected widget area when opening the inserter.\n\t\t\t\tsetIsWidgetAreaOpen( widgetAreaClientId, true );\n\t\t\t}\n\t\t\t// The DOM updates resulting from selectBlock() and setIsInserterOpened() calls are applied the\n\t\t\t// same tick and pretty much in a random order. The inserter is closed if any other part of the\n\t\t\t// app receives focus. If selectBlock() happens to take effect after setIsInserterOpened() then\n\t\t\t// the inserter is visible for a brief moment and then gets auto-closed due to focus moving to\n\t\t\t// the selected block.\n\t\t\twindow.requestAnimationFrame( () => setIsInserterOpened( true ) );\n\t\t}\n\t};\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tclassName=\"edit-widgets-header-toolbar\"\n\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<ToolbarItem\n\t\t\t\tref={ inserterButton }\n\t\t\t\tas={ Button }\n\t\t\t\tclassName=\"edit-widgets-header-toolbar__inserter-toggle\"\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tisPressed={ isInserterOpen }\n\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} }\n\t\t\t\tonClick={ handleClick }\n\t\t\t\ticon={ plus }\n\t\t\t\t/* translators: button label text should, if possible, be under 16\n\t\t\t\t\tcharacters. */\n\t\t\t\tlabel={ _x(\n\t\t\t\t\t'Toggle block inserter',\n\t\t\t\t\t'Generic label for block inserter button'\n\t\t\t\t) }\n\t\t\t\tsize=\"compact\"\n\t\t\t/>\n\t\t\t{ isMediumViewport && (\n\t\t\t\t<>\n\t\t\t\t\t<ToolbarItem as={ UndoButton } />\n\t\t\t\t\t<ToolbarItem as={ RedoButton } />\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\tclassName=\"edit-widgets-header-toolbar__list-view-toggle\"\n\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'List View' ) }\n\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\tref={ listViewToggleRef }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default DocumentTools;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_i18n","_components","_blockEditor","_icons","_element","_compose","_undo","_interopRequireDefault","_redo","_store","_lockUnlock","DocumentTools","isMediumViewport","useViewportMatch","isInserterOpen","isListViewOpen","inserterSidebarToggleRef","listViewToggleRef","useSelect","select","isInserterOpened","getInserterSidebarToggleRef","isListViewOpened","getListViewToggleRef","unlock","editWidgetsStore","setIsInserterOpened","setIsListViewOpened","useDispatch","toggleListView","useCallback","toggleInserterSidebar","_react","createElement","NavigableToolbar","className","__","variant","ToolbarItem","ref","as","Button","isPressed","onMouseDown","event","preventDefault","onClick","icon","plus","label","_x","size","Fragment","UndoButton","RedoButton","listView","_default","exports","default"],"sources":["@wordpress/edit-widgets/src/components/header/document-tools/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { NavigableToolbar } from '@wordpress/block-editor';\nimport { listView, plus } from '@wordpress/icons';\nimport { useCallback } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport UndoButton from '../undo-redo/undo';\nimport RedoButton from '../undo-redo/redo';\nimport { store as editWidgetsStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nfunction DocumentTools() {\n\tconst isMediumViewport = useViewportMatch( 'medium' );\n\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tinserterSidebarToggleRef,\n\t\tlistViewToggleRef,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tgetInserterSidebarToggleRef,\n\t\t\tisListViewOpened,\n\t\t\tgetListViewToggleRef,\n\t\t} = unlock( select( editWidgetsStore ) );\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tinserterSidebarToggleRef: getInserterSidebarToggleRef(),\n\t\t\tlistViewToggleRef: getListViewToggleRef(),\n\t\t};\n\t}, [] );\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editWidgetsStore );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst toggleInserterSidebar = useCallback(\n\t\t() => setIsInserterOpened( ! isInserterOpen ),\n\t\t[ setIsInserterOpened, isInserterOpen ]\n\t);\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tclassName=\"edit-widgets-header-toolbar\"\n\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<ToolbarItem\n\t\t\t\tref={ inserterSidebarToggleRef }\n\t\t\t\tas={ Button }\n\t\t\t\tclassName=\"edit-widgets-header-toolbar__inserter-toggle\"\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tisPressed={ isInserterOpen }\n\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} }\n\t\t\t\tonClick={ toggleInserterSidebar }\n\t\t\t\ticon={ plus }\n\t\t\t\t/* translators: button label text should, if possible, be under 16\n\t\t\t\t\tcharacters. */\n\t\t\t\tlabel={ _x(\n\t\t\t\t\t'Toggle block inserter',\n\t\t\t\t\t'Generic label for block inserter button'\n\t\t\t\t) }\n\t\t\t\tsize=\"compact\"\n\t\t\t/>\n\t\t\t{ isMediumViewport && (\n\t\t\t\t<>\n\t\t\t\t\t<ToolbarItem as={ UndoButton } />\n\t\t\t\t\t<ToolbarItem as={ RedoButton } />\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\tclassName=\"edit-widgets-header-toolbar__list-view-toggle\"\n\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'List View' ) }\n\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\tref={ listViewToggleRef }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default DocumentTools;\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = KeyboardShortcutHelpModal;
8
8
  var _react = require("react");
9
- var _classnames = _interopRequireDefault(require("classnames"));
9
+ var _clsx = _interopRequireDefault(require("clsx"));
10
10
  var _components = require("@wordpress/components");
11
11
  var _i18n = require("@wordpress/i18n");
12
12
  var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
@@ -51,7 +51,7 @@ const ShortcutSection = ({
51
51
  shortcuts,
52
52
  className
53
53
  }) => (0, _react.createElement)("section", {
54
- className: (0, _classnames.default)('edit-widgets-keyboard-shortcut-help-modal__section', className)
54
+ className: (0, _clsx.default)('edit-widgets-keyboard-shortcut-help-modal__section', className)
55
55
  }, !!title && (0, _react.createElement)("h2", {
56
56
  className: "edit-widgets-keyboard-shortcut-help-modal__section-title"
57
57
  }, title), (0, _react.createElement)(ShortcutList, {
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_keyboardShortcuts","_data","_config","_shortcut","_dynamicShortcut","ShortcutList","shortcuts","_react","createElement","className","role","map","shortcut","index","key","default","name","ShortcutSection","title","classnames","ShortcutCategorySection","categoryName","additionalShortcuts","categoryShortcuts","useSelect","select","keyboardShortcutsStore","getCategoryShortcuts","concat","KeyboardShortcutHelpModal","isModalActive","toggleModal","useShortcut","bindGlobal","Modal","__","onRequestClose","keyCombination","character","description","ariaLabel","textFormattingShortcuts"],"sources":["@wordpress/edit-widgets/src/components/keyboard-shortcut-help-modal/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { textFormattingShortcuts } from './config';\nimport Shortcut from './shortcut';\nimport DynamicShortcut from './dynamic-shortcut';\n\nconst ShortcutList = ( { shortcuts } ) => (\n\t/*\n\t * Disable reason: The `list` ARIA role is redundant but\n\t * Safari+VoiceOver won't announce the list otherwise.\n\t */\n\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t<ul\n\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__shortcut-list\"\n\t\trole=\"list\"\n\t>\n\t\t{ shortcuts.map( ( shortcut, index ) => (\n\t\t\t<li\n\t\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__shortcut\"\n\t\t\t\tkey={ index }\n\t\t\t>\n\t\t\t\t{ typeof shortcut === 'string' ? (\n\t\t\t\t\t<DynamicShortcut name={ shortcut } />\n\t\t\t\t) : (\n\t\t\t\t\t<Shortcut { ...shortcut } />\n\t\t\t\t) }\n\t\t\t</li>\n\t\t) ) }\n\t</ul>\n\t/* eslint-enable jsx-a11y/no-redundant-roles */\n);\n\nconst ShortcutSection = ( { title, shortcuts, className } ) => (\n\t<section\n\t\tclassName={ classnames(\n\t\t\t'edit-widgets-keyboard-shortcut-help-modal__section',\n\t\t\tclassName\n\t\t) }\n\t>\n\t\t{ !! title && (\n\t\t\t<h2 className=\"edit-widgets-keyboard-shortcut-help-modal__section-title\">\n\t\t\t\t{ title }\n\t\t\t</h2>\n\t\t) }\n\t\t<ShortcutList shortcuts={ shortcuts } />\n\t</section>\n);\n\nconst ShortcutCategorySection = ( {\n\ttitle,\n\tcategoryName,\n\tadditionalShortcuts = [],\n} ) => {\n\tconst categoryShortcuts = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( keyboardShortcutsStore ).getCategoryShortcuts(\n\t\t\t\tcategoryName\n\t\t\t);\n\t\t},\n\t\t[ categoryName ]\n\t);\n\n\treturn (\n\t\t<ShortcutSection\n\t\t\ttitle={ title }\n\t\t\tshortcuts={ categoryShortcuts.concat( additionalShortcuts ) }\n\t\t/>\n\t);\n};\n\nexport default function KeyboardShortcutHelpModal( {\n\tisModalActive,\n\ttoggleModal,\n} ) {\n\tuseShortcut( 'core/edit-widgets/keyboard-shortcuts', toggleModal, {\n\t\tbindGlobal: true,\n\t} );\n\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal\"\n\t\t\ttitle={ __( 'Keyboard shortcuts' ) }\n\t\t\tonRequestClose={ toggleModal }\n\t\t>\n\t\t\t<ShortcutSection\n\t\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__main-shortcuts\"\n\t\t\t\tshortcuts={ [ 'core/edit-widgets/keyboard-shortcuts' ] }\n\t\t\t/>\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Global shortcuts' ) }\n\t\t\t\tcategoryName=\"global\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Selection shortcuts' ) }\n\t\t\t\tcategoryName=\"selection\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Block shortcuts' ) }\n\t\t\t\tcategoryName=\"block\"\n\t\t\t\tadditionalShortcuts={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tkeyCombination: { character: '/' },\n\t\t\t\t\t\tdescription: __(\n\t\t\t\t\t\t\t'Change the block type after adding a new paragraph.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t/* translators: The forward-slash character. e.g. '/'. */\n\t\t\t\t\t\tariaLabel: __( 'Forward-slash' ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t\t<ShortcutSection\n\t\t\t\ttitle={ __( 'Text formatting' ) }\n\t\t\t\tshortcuts={ textFormattingShortcuts }\n\t\t\t/>\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'List View shortcuts' ) }\n\t\t\t\tcategoryName=\"list-view\"\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_keyboardShortcuts","_data","_config","_shortcut","_dynamicShortcut","ShortcutList","shortcuts","_react","createElement","className","role","map","shortcut","index","key","default","name","ShortcutSection","title","clsx","ShortcutCategorySection","categoryName","additionalShortcuts","categoryShortcuts","useSelect","select","keyboardShortcutsStore","getCategoryShortcuts","concat","KeyboardShortcutHelpModal","isModalActive","toggleModal","useShortcut","bindGlobal","Modal","__","onRequestClose","keyCombination","character","description","ariaLabel","textFormattingShortcuts"],"sources":["@wordpress/edit-widgets/src/components/keyboard-shortcut-help-modal/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { textFormattingShortcuts } from './config';\nimport Shortcut from './shortcut';\nimport DynamicShortcut from './dynamic-shortcut';\n\nconst ShortcutList = ( { shortcuts } ) => (\n\t/*\n\t * Disable reason: The `list` ARIA role is redundant but\n\t * Safari+VoiceOver won't announce the list otherwise.\n\t */\n\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t<ul\n\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__shortcut-list\"\n\t\trole=\"list\"\n\t>\n\t\t{ shortcuts.map( ( shortcut, index ) => (\n\t\t\t<li\n\t\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__shortcut\"\n\t\t\t\tkey={ index }\n\t\t\t>\n\t\t\t\t{ typeof shortcut === 'string' ? (\n\t\t\t\t\t<DynamicShortcut name={ shortcut } />\n\t\t\t\t) : (\n\t\t\t\t\t<Shortcut { ...shortcut } />\n\t\t\t\t) }\n\t\t\t</li>\n\t\t) ) }\n\t</ul>\n\t/* eslint-enable jsx-a11y/no-redundant-roles */\n);\n\nconst ShortcutSection = ( { title, shortcuts, className } ) => (\n\t<section\n\t\tclassName={ clsx(\n\t\t\t'edit-widgets-keyboard-shortcut-help-modal__section',\n\t\t\tclassName\n\t\t) }\n\t>\n\t\t{ !! title && (\n\t\t\t<h2 className=\"edit-widgets-keyboard-shortcut-help-modal__section-title\">\n\t\t\t\t{ title }\n\t\t\t</h2>\n\t\t) }\n\t\t<ShortcutList shortcuts={ shortcuts } />\n\t</section>\n);\n\nconst ShortcutCategorySection = ( {\n\ttitle,\n\tcategoryName,\n\tadditionalShortcuts = [],\n} ) => {\n\tconst categoryShortcuts = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( keyboardShortcutsStore ).getCategoryShortcuts(\n\t\t\t\tcategoryName\n\t\t\t);\n\t\t},\n\t\t[ categoryName ]\n\t);\n\n\treturn (\n\t\t<ShortcutSection\n\t\t\ttitle={ title }\n\t\t\tshortcuts={ categoryShortcuts.concat( additionalShortcuts ) }\n\t\t/>\n\t);\n};\n\nexport default function KeyboardShortcutHelpModal( {\n\tisModalActive,\n\ttoggleModal,\n} ) {\n\tuseShortcut( 'core/edit-widgets/keyboard-shortcuts', toggleModal, {\n\t\tbindGlobal: true,\n\t} );\n\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal\"\n\t\t\ttitle={ __( 'Keyboard shortcuts' ) }\n\t\t\tonRequestClose={ toggleModal }\n\t\t>\n\t\t\t<ShortcutSection\n\t\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__main-shortcuts\"\n\t\t\t\tshortcuts={ [ 'core/edit-widgets/keyboard-shortcuts' ] }\n\t\t\t/>\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Global shortcuts' ) }\n\t\t\t\tcategoryName=\"global\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Selection shortcuts' ) }\n\t\t\t\tcategoryName=\"selection\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Block shortcuts' ) }\n\t\t\t\tcategoryName=\"block\"\n\t\t\t\tadditionalShortcuts={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tkeyCombination: { character: '/' },\n\t\t\t\t\t\tdescription: __(\n\t\t\t\t\t\t\t'Change the block type after adding a new paragraph.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t/* translators: The forward-slash character. e.g. '/'. */\n\t\t\t\t\t\tariaLabel: __( 'Forward-slash' ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t\t<ShortcutSection\n\t\t\t\ttitle={ __( 'Text formatting' ) }\n\t\t\t\tshortcuts={ textFormattingShortcuts }\n\t\t\t/>\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'List View shortcuts' ) }\n\t\t\t\tcategoryName=\"list-view\"\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,8 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.getInserterSidebarToggleRef = getInserterSidebarToggleRef;
6
7
  exports.getListViewToggleRef = getListViewToggleRef;
7
8
  function getListViewToggleRef(state) {
8
9
  return state.listViewToggleRef;
9
10
  }
11
+ function getInserterSidebarToggleRef(state) {
12
+ return state.inserterSidebarToggleRef;
13
+ }
10
14
  //# sourceMappingURL=private-selectors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getListViewToggleRef","state","listViewToggleRef"],"sources":["@wordpress/edit-widgets/src/store/private-selectors.js"],"sourcesContent":["export function getListViewToggleRef( state ) {\n\treturn state.listViewToggleRef;\n}\n"],"mappings":";;;;;;AAAO,SAASA,oBAAoBA,CAAEC,KAAK,EAAG;EAC7C,OAAOA,KAAK,CAACC,iBAAiB;AAC/B","ignoreList":[]}
1
+ {"version":3,"names":["getListViewToggleRef","state","listViewToggleRef","getInserterSidebarToggleRef","inserterSidebarToggleRef"],"sources":["@wordpress/edit-widgets/src/store/private-selectors.js"],"sourcesContent":["export function getListViewToggleRef( state ) {\n\treturn state.listViewToggleRef;\n}\n\nexport function getInserterSidebarToggleRef( state ) {\n\treturn state.inserterSidebarToggleRef;\n}\n"],"mappings":";;;;;;;AAAO,SAASA,oBAAoBA,CAAEC,KAAK,EAAG;EAC7C,OAAOA,KAAK,CAACC,iBAAiB;AAC/B;AAEO,SAASC,2BAA2BA,CAAEF,KAAK,EAAG;EACpD,OAAOA,KAAK,CAACG,wBAAwB;AACtC","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.blockInserterPanel = blockInserterPanel;
7
7
  exports.default = void 0;
8
+ exports.inserterSidebarToggleRef = inserterSidebarToggleRef;
8
9
  exports.listViewPanel = listViewPanel;
9
10
  exports.listViewToggleRef = listViewToggleRef;
10
11
  exports.widgetAreasOpenState = widgetAreasOpenState;
@@ -98,9 +99,24 @@ function listViewToggleRef(state = {
98
99
  }) {
99
100
  return state;
100
101
  }
102
+
103
+ /**
104
+ * This reducer does nothing aside initializing a ref to the inserter sidebar toggle.
105
+ * We will have a unique ref per "editor" instance.
106
+ *
107
+ * @param {Object} state
108
+ * @return {Object} Reference to the inserter sidebar toggle button.
109
+ */
110
+ function inserterSidebarToggleRef(state = {
111
+ current: null
112
+ }) {
113
+ return state;
114
+ }
101
115
  var _default = exports.default = (0, _data.combineReducers)({
102
116
  blockInserterPanel,
117
+ inserterSidebarToggleRef,
103
118
  listViewPanel,
119
+ listViewToggleRef,
104
120
  widgetAreasOpenState
105
121
  });
106
122
  //# sourceMappingURL=reducer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","widgetAreasOpenState","state","action","type","clientId","isOpen","blockInserterPanel","value","listViewPanel","listViewToggleRef","current","_default","exports","default","combineReducers"],"sources":["@wordpress/edit-widgets/src/store/reducer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Controls the open state of the widget areas.\n *\n * @param {Object} state Redux state.\n * @param {Object} action Redux action.\n *\n * @return {Array} Updated state.\n */\nexport function widgetAreasOpenState( state = {}, action ) {\n\tconst { type } = action;\n\tswitch ( type ) {\n\t\tcase 'SET_WIDGET_AREAS_OPEN_STATE': {\n\t\t\treturn action.widgetAreasOpenState;\n\t\t}\n\t\tcase 'SET_IS_WIDGET_AREA_OPEN': {\n\t\t\tconst { clientId, isOpen } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ clientId ]: isOpen,\n\t\t\t};\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the list view panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the inserter panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\n/**\n * This reducer does nothing aside initializing a ref to the list view toggle.\n * We will have a unique ref per \"editor\" instance.\n *\n * @param {Object} state\n * @return {Object} Reference to the list view toggle button.\n */\nexport function listViewToggleRef( state = { current: null } ) {\n\treturn state;\n}\n\nexport default combineReducers( {\n\tblockInserterPanel,\n\tlistViewPanel,\n\twidgetAreasOpenState,\n} );\n"],"mappings":";;;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAAEC,KAAK,GAAG,CAAC,CAAC,EAAEC,MAAM,EAAG;EAC1D,MAAM;IAAEC;EAAK,CAAC,GAAGD,MAAM;EACvB,QAASC,IAAI;IACZ,KAAK,6BAA6B;MAAE;QACnC,OAAOD,MAAM,CAACF,oBAAoB;MACnC;IACA,KAAK,yBAAyB;MAAE;QAC/B,MAAM;UAAEI,QAAQ;UAAEC;QAAO,CAAC,GAAGH,MAAM;QACnC,OAAO;UACN,GAAGD,KAAK;UACR,CAAEG,QAAQ,GAAIC;QACf,CAAC;MACF;IACA;MAAS;QACR,OAAOJ,KAAK;MACb;EACD;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,kBAAkBA,CAAEL,KAAK,GAAG,KAAK,EAAEC,MAAM,EAAG;EAC3D,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,yBAAyB;MAC7B,OAAOD,MAAM,CAACG,MAAM,GAAG,KAAK,GAAGJ,KAAK;IACrC,KAAK,wBAAwB;MAC5B,OAAOC,MAAM,CAACK,KAAK;EACrB;EACA,OAAON,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,aAAaA,CAAEP,KAAK,GAAG,KAAK,EAAEC,MAAM,EAAG;EACtD,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,wBAAwB;MAC5B,OAAOD,MAAM,CAACK,KAAK,GAAG,KAAK,GAAGN,KAAK;IACpC,KAAK,yBAAyB;MAC7B,OAAOC,MAAM,CAACG,MAAM;EACtB;EACA,OAAOJ,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASQ,iBAAiBA,CAAER,KAAK,GAAG;EAAES,OAAO,EAAE;AAAK,CAAC,EAAG;EAC9D,OAAOT,KAAK;AACb;AAAC,IAAAU,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,qBAAe,EAAE;EAC/BR,kBAAkB;EAClBE,aAAa;EACbR;AACD,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","widgetAreasOpenState","state","action","type","clientId","isOpen","blockInserterPanel","value","listViewPanel","listViewToggleRef","current","inserterSidebarToggleRef","_default","exports","default","combineReducers"],"sources":["@wordpress/edit-widgets/src/store/reducer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Controls the open state of the widget areas.\n *\n * @param {Object} state Redux state.\n * @param {Object} action Redux action.\n *\n * @return {Array} Updated state.\n */\nexport function widgetAreasOpenState( state = {}, action ) {\n\tconst { type } = action;\n\tswitch ( type ) {\n\t\tcase 'SET_WIDGET_AREAS_OPEN_STATE': {\n\t\t\treturn action.widgetAreasOpenState;\n\t\t}\n\t\tcase 'SET_IS_WIDGET_AREA_OPEN': {\n\t\t\tconst { clientId, isOpen } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ clientId ]: isOpen,\n\t\t\t};\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the list view panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the inserter panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\n/**\n * This reducer does nothing aside initializing a ref to the list view toggle.\n * We will have a unique ref per \"editor\" instance.\n *\n * @param {Object} state\n * @return {Object} Reference to the list view toggle button.\n */\nexport function listViewToggleRef( state = { current: null } ) {\n\treturn state;\n}\n\n/**\n * This reducer does nothing aside initializing a ref to the inserter sidebar toggle.\n * We will have a unique ref per \"editor\" instance.\n *\n * @param {Object} state\n * @return {Object} Reference to the inserter sidebar toggle button.\n */\nexport function inserterSidebarToggleRef( state = { current: null } ) {\n\treturn state;\n}\n\nexport default combineReducers( {\n\tblockInserterPanel,\n\tinserterSidebarToggleRef,\n\tlistViewPanel,\n\tlistViewToggleRef,\n\twidgetAreasOpenState,\n} );\n"],"mappings":";;;;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,oBAAoBA,CAAEC,KAAK,GAAG,CAAC,CAAC,EAAEC,MAAM,EAAG;EAC1D,MAAM;IAAEC;EAAK,CAAC,GAAGD,MAAM;EACvB,QAASC,IAAI;IACZ,KAAK,6BAA6B;MAAE;QACnC,OAAOD,MAAM,CAACF,oBAAoB;MACnC;IACA,KAAK,yBAAyB;MAAE;QAC/B,MAAM;UAAEI,QAAQ;UAAEC;QAAO,CAAC,GAAGH,MAAM;QACnC,OAAO;UACN,GAAGD,KAAK;UACR,CAAEG,QAAQ,GAAIC;QACf,CAAC;MACF;IACA;MAAS;QACR,OAAOJ,KAAK;MACb;EACD;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,kBAAkBA,CAAEL,KAAK,GAAG,KAAK,EAAEC,MAAM,EAAG;EAC3D,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,yBAAyB;MAC7B,OAAOD,MAAM,CAACG,MAAM,GAAG,KAAK,GAAGJ,KAAK;IACrC,KAAK,wBAAwB;MAC5B,OAAOC,MAAM,CAACK,KAAK;EACrB;EACA,OAAON,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASO,aAAaA,CAAEP,KAAK,GAAG,KAAK,EAAEC,MAAM,EAAG;EACtD,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,wBAAwB;MAC5B,OAAOD,MAAM,CAACK,KAAK,GAAG,KAAK,GAAGN,KAAK;IACpC,KAAK,yBAAyB;MAC7B,OAAOC,MAAM,CAACG,MAAM;EACtB;EACA,OAAOJ,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASQ,iBAAiBA,CAAER,KAAK,GAAG;EAAES,OAAO,EAAE;AAAK,CAAC,EAAG;EAC9D,OAAOT,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASU,wBAAwBA,CAAEV,KAAK,GAAG;EAAES,OAAO,EAAE;AAAK,CAAC,EAAG;EACrE,OAAOT,KAAK;AACb;AAAC,IAAAW,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,qBAAe,EAAE;EAC/BT,kBAAkB;EAClBK,wBAAwB;EACxBH,aAAa;EACbC,iBAAiB;EACjBT;AACD,CAAE,CAAC","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -34,7 +34,7 @@ export default function WidgetAreaInnerBlocks({
34
34
  });
35
35
  return createElement("div", {
36
36
  "data-widget-area-id": id,
37
- className: classnames('wp-block-widget-area__inner-blocks block-editor-inner-blocks editor-styles-wrapper', {
37
+ className: clsx('wp-block-widget-area__inner-blocks block-editor-inner-blocks editor-styles-wrapper', {
38
38
  'wp-block-widget-area__highlight-drop-zone': shouldHighlightDropZone
39
39
  })
40
40
  }, createElement("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useEntityBlockEditor","InnerBlocks","useInnerBlocksProps","useRef","useIsDraggingWithin","WidgetAreaInnerBlocks","id","blocks","onInput","onChange","innerBlocksRef","isDraggingWithinInnerBlocks","shouldHighlightDropZone","innerBlocksProps","ref","value","templateLock","renderAppender","ButtonBlockAppender","createElement","className"],"sources":["@wordpress/edit-widgets/src/blocks/widget-area/edit/inner-blocks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport { InnerBlocks, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useIsDraggingWithin from './use-is-dragging-within';\n\nexport default function WidgetAreaInnerBlocks( { id } ) {\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'root',\n\t\t'postType'\n\t);\n\tconst innerBlocksRef = useRef();\n\tconst isDraggingWithinInnerBlocks = useIsDraggingWithin( innerBlocksRef );\n\tconst shouldHighlightDropZone = isDraggingWithinInnerBlocks;\n\t// Using the experimental hook so that we can control the className of the element.\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ ref: innerBlocksRef },\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\ttemplateLock: false,\n\t\t\trenderAppender: InnerBlocks.ButtonBlockAppender,\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tdata-widget-area-id={ id }\n\t\t\tclassName={ classnames(\n\t\t\t\t'wp-block-widget-area__inner-blocks block-editor-inner-blocks editor-styles-wrapper',\n\t\t\t\t{\n\t\t\t\t\t'wp-block-widget-area__highlight-drop-zone':\n\t\t\t\t\t\tshouldHighlightDropZone,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,oBAAoB,QAAQ,sBAAsB;AAC3D,SAASC,WAAW,EAAEC,mBAAmB,QAAQ,yBAAyB;AAC1E,SAASC,MAAM,QAAQ,oBAAoB;;AAE3C;AACA;AACA;AACA,OAAOC,mBAAmB,MAAM,0BAA0B;AAE1D,eAAe,SAASC,qBAAqBA,CAAE;EAAEC;AAAG,CAAC,EAAG;EACvD,MAAM,CAAEC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,CAAE,GAAGT,oBAAoB,CACzD,MAAM,EACN,UACD,CAAC;EACD,MAAMU,cAAc,GAAGP,MAAM,CAAC,CAAC;EAC/B,MAAMQ,2BAA2B,GAAGP,mBAAmB,CAAEM,cAAe,CAAC;EACzE,MAAME,uBAAuB,GAAGD,2BAA2B;EAC3D;EACA,MAAME,gBAAgB,GAAGX,mBAAmB,CAC3C;IAAEY,GAAG,EAAEJ;EAAe,CAAC,EACvB;IACCK,KAAK,EAAER,MAAM;IACbC,OAAO;IACPC,QAAQ;IACRO,YAAY,EAAE,KAAK;IACnBC,cAAc,EAAEhB,WAAW,CAACiB;EAC7B,CACD,CAAC;EAED,OACCC,aAAA;IACC,uBAAsBb,EAAI;IAC1Bc,SAAS,EAAGrB,UAAU,CACrB,oFAAoF,EACpF;MACC,2CAA2C,EAC1Ca;IACF,CACD;EAAG,GAEHO,aAAA;IAAA,GAAUN;EAAgB,CAAI,CAC1B,CAAC;AAER","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useEntityBlockEditor","InnerBlocks","useInnerBlocksProps","useRef","useIsDraggingWithin","WidgetAreaInnerBlocks","id","blocks","onInput","onChange","innerBlocksRef","isDraggingWithinInnerBlocks","shouldHighlightDropZone","innerBlocksProps","ref","value","templateLock","renderAppender","ButtonBlockAppender","createElement","className"],"sources":["@wordpress/edit-widgets/src/blocks/widget-area/edit/inner-blocks.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport { InnerBlocks, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useIsDraggingWithin from './use-is-dragging-within';\n\nexport default function WidgetAreaInnerBlocks( { id } ) {\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'root',\n\t\t'postType'\n\t);\n\tconst innerBlocksRef = useRef();\n\tconst isDraggingWithinInnerBlocks = useIsDraggingWithin( innerBlocksRef );\n\tconst shouldHighlightDropZone = isDraggingWithinInnerBlocks;\n\t// Using the experimental hook so that we can control the className of the element.\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ ref: innerBlocksRef },\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\ttemplateLock: false,\n\t\t\trenderAppender: InnerBlocks.ButtonBlockAppender,\n\t\t}\n\t);\n\n\treturn (\n\t\t<div\n\t\t\tdata-widget-area-id={ id }\n\t\t\tclassName={ clsx(\n\t\t\t\t'wp-block-widget-area__inner-blocks block-editor-inner-blocks editor-styles-wrapper',\n\t\t\t\t{\n\t\t\t\t\t'wp-block-widget-area__highlight-drop-zone':\n\t\t\t\t\t\tshouldHighlightDropZone,\n\t\t\t\t}\n\t\t\t) }\n\t\t>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,oBAAoB,QAAQ,sBAAsB;AAC3D,SAASC,WAAW,EAAEC,mBAAmB,QAAQ,yBAAyB;AAC1E,SAASC,MAAM,QAAQ,oBAAoB;;AAE3C;AACA;AACA;AACA,OAAOC,mBAAmB,MAAM,0BAA0B;AAE1D,eAAe,SAASC,qBAAqBA,CAAE;EAAEC;AAAG,CAAC,EAAG;EACvD,MAAM,CAAEC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,CAAE,GAAGT,oBAAoB,CACzD,MAAM,EACN,UACD,CAAC;EACD,MAAMU,cAAc,GAAGP,MAAM,CAAC,CAAC;EAC/B,MAAMQ,2BAA2B,GAAGP,mBAAmB,CAAEM,cAAe,CAAC;EACzE,MAAME,uBAAuB,GAAGD,2BAA2B;EAC3D;EACA,MAAME,gBAAgB,GAAGX,mBAAmB,CAC3C;IAAEY,GAAG,EAAEJ;EAAe,CAAC,EACvB;IACCK,KAAK,EAAER,MAAM;IACbC,OAAO;IACPC,QAAQ;IACRO,YAAY,EAAE,KAAK;IACnBC,cAAc,EAAEhB,WAAW,CAACiB;EAC7B,CACD,CAAC;EAED,OACCC,aAAA;IACC,uBAAsBb,EAAI;IAC1Bc,SAAS,EAAGrB,IAAI,CACf,oFAAoF,EACpF;MACC,2CAA2C,EAC1Ca;IACF,CACD;EAAG,GAEHO,aAAA;IAAA,GAAUN;EAAgB,CAAI,CAC1B,CAAC;AAER","ignoreList":[]}
@@ -5,9 +5,9 @@ import { createElement, Fragment } from "react";
5
5
  import { useSelect, useDispatch } from '@wordpress/data';
6
6
  import { __, _x } from '@wordpress/i18n';
7
7
  import { Button, ToolbarItem } from '@wordpress/components';
8
- import { NavigableToolbar, store as blockEditorStore } from '@wordpress/block-editor';
8
+ import { NavigableToolbar } from '@wordpress/block-editor';
9
9
  import { listView, plus } from '@wordpress/icons';
10
- import { useCallback, useRef } from '@wordpress/element';
10
+ import { useCallback } from '@wordpress/element';
11
11
  import { useViewportMatch } from '@wordpress/compose';
12
12
 
13
13
  /**
@@ -15,64 +15,41 @@ import { useViewportMatch } from '@wordpress/compose';
15
15
  */
16
16
  import UndoButton from '../undo-redo/undo';
17
17
  import RedoButton from '../undo-redo/redo';
18
- import useLastSelectedWidgetArea from '../../../hooks/use-last-selected-widget-area';
19
18
  import { store as editWidgetsStore } from '../../../store';
20
19
  import { unlock } from '../../../lock-unlock';
21
20
  function DocumentTools() {
22
21
  const isMediumViewport = useViewportMatch('medium');
23
- const inserterButton = useRef();
24
- const widgetAreaClientId = useLastSelectedWidgetArea();
25
- const isLastSelectedWidgetAreaOpen = useSelect(select => select(editWidgetsStore).getIsWidgetAreaOpen(widgetAreaClientId), [widgetAreaClientId]);
26
22
  const {
27
23
  isInserterOpen,
28
24
  isListViewOpen,
25
+ inserterSidebarToggleRef,
29
26
  listViewToggleRef
30
27
  } = useSelect(select => {
31
28
  const {
32
29
  isInserterOpened,
30
+ getInserterSidebarToggleRef,
33
31
  isListViewOpened,
34
32
  getListViewToggleRef
35
33
  } = unlock(select(editWidgetsStore));
36
34
  return {
37
35
  isInserterOpen: isInserterOpened(),
38
36
  isListViewOpen: isListViewOpened(),
37
+ inserterSidebarToggleRef: getInserterSidebarToggleRef(),
39
38
  listViewToggleRef: getListViewToggleRef()
40
39
  };
41
40
  }, []);
42
41
  const {
43
- setIsWidgetAreaOpen,
44
42
  setIsInserterOpened,
45
43
  setIsListViewOpened
46
44
  } = useDispatch(editWidgetsStore);
47
- const {
48
- selectBlock
49
- } = useDispatch(blockEditorStore);
50
- const handleClick = () => {
51
- if (isInserterOpen) {
52
- // Focusing the inserter button closes the inserter popover.
53
- setIsInserterOpened(false);
54
- } else {
55
- if (!isLastSelectedWidgetAreaOpen) {
56
- // Select the last selected block if hasn't already.
57
- selectBlock(widgetAreaClientId);
58
- // Open the last selected widget area when opening the inserter.
59
- setIsWidgetAreaOpen(widgetAreaClientId, true);
60
- }
61
- // The DOM updates resulting from selectBlock() and setIsInserterOpened() calls are applied the
62
- // same tick and pretty much in a random order. The inserter is closed if any other part of the
63
- // app receives focus. If selectBlock() happens to take effect after setIsInserterOpened() then
64
- // the inserter is visible for a brief moment and then gets auto-closed due to focus moving to
65
- // the selected block.
66
- window.requestAnimationFrame(() => setIsInserterOpened(true));
67
- }
68
- };
69
45
  const toggleListView = useCallback(() => setIsListViewOpened(!isListViewOpen), [setIsListViewOpened, isListViewOpen]);
46
+ const toggleInserterSidebar = useCallback(() => setIsInserterOpened(!isInserterOpen), [setIsInserterOpened, isInserterOpen]);
70
47
  return createElement(NavigableToolbar, {
71
48
  className: "edit-widgets-header-toolbar",
72
49
  "aria-label": __('Document tools'),
73
50
  variant: "unstyled"
74
51
  }, createElement(ToolbarItem, {
75
- ref: inserterButton,
52
+ ref: inserterSidebarToggleRef,
76
53
  as: Button,
77
54
  className: "edit-widgets-header-toolbar__inserter-toggle",
78
55
  variant: "primary",
@@ -80,7 +57,7 @@ function DocumentTools() {
80
57
  onMouseDown: event => {
81
58
  event.preventDefault();
82
59
  },
83
- onClick: handleClick,
60
+ onClick: toggleInserterSidebar,
84
61
  icon: plus
85
62
  /* translators: button label text should, if possible, be under 16
86
63
  characters. */,
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","__","_x","Button","ToolbarItem","NavigableToolbar","store","blockEditorStore","listView","plus","useCallback","useRef","useViewportMatch","UndoButton","RedoButton","useLastSelectedWidgetArea","editWidgetsStore","unlock","DocumentTools","isMediumViewport","inserterButton","widgetAreaClientId","isLastSelectedWidgetAreaOpen","select","getIsWidgetAreaOpen","isInserterOpen","isListViewOpen","listViewToggleRef","isInserterOpened","isListViewOpened","getListViewToggleRef","setIsWidgetAreaOpen","setIsInserterOpened","setIsListViewOpened","selectBlock","handleClick","window","requestAnimationFrame","toggleListView","createElement","className","variant","ref","as","isPressed","onMouseDown","event","preventDefault","onClick","icon","label","size","Fragment"],"sources":["@wordpress/edit-widgets/src/components/header/document-tools/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport {\n\tNavigableToolbar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { listView, plus } from '@wordpress/icons';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport UndoButton from '../undo-redo/undo';\nimport RedoButton from '../undo-redo/redo';\nimport useLastSelectedWidgetArea from '../../../hooks/use-last-selected-widget-area';\nimport { store as editWidgetsStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nfunction DocumentTools() {\n\tconst isMediumViewport = useViewportMatch( 'medium' );\n\tconst inserterButton = useRef();\n\tconst widgetAreaClientId = useLastSelectedWidgetArea();\n\tconst isLastSelectedWidgetAreaOpen = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editWidgetsStore ).getIsWidgetAreaOpen(\n\t\t\t\twidgetAreaClientId\n\t\t\t),\n\t\t[ widgetAreaClientId ]\n\t);\n\tconst { isInserterOpen, isListViewOpen, listViewToggleRef } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isInserterOpened, isListViewOpened, getListViewToggleRef } =\n\t\t\t\tunlock( select( editWidgetsStore ) );\n\t\t\treturn {\n\t\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\t\tlistViewToggleRef: getListViewToggleRef(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { setIsWidgetAreaOpen, setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editWidgetsStore );\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst handleClick = () => {\n\t\tif ( isInserterOpen ) {\n\t\t\t// Focusing the inserter button closes the inserter popover.\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tif ( ! isLastSelectedWidgetAreaOpen ) {\n\t\t\t\t// Select the last selected block if hasn't already.\n\t\t\t\tselectBlock( widgetAreaClientId );\n\t\t\t\t// Open the last selected widget area when opening the inserter.\n\t\t\t\tsetIsWidgetAreaOpen( widgetAreaClientId, true );\n\t\t\t}\n\t\t\t// The DOM updates resulting from selectBlock() and setIsInserterOpened() calls are applied the\n\t\t\t// same tick and pretty much in a random order. The inserter is closed if any other part of the\n\t\t\t// app receives focus. If selectBlock() happens to take effect after setIsInserterOpened() then\n\t\t\t// the inserter is visible for a brief moment and then gets auto-closed due to focus moving to\n\t\t\t// the selected block.\n\t\t\twindow.requestAnimationFrame( () => setIsInserterOpened( true ) );\n\t\t}\n\t};\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tclassName=\"edit-widgets-header-toolbar\"\n\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<ToolbarItem\n\t\t\t\tref={ inserterButton }\n\t\t\t\tas={ Button }\n\t\t\t\tclassName=\"edit-widgets-header-toolbar__inserter-toggle\"\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tisPressed={ isInserterOpen }\n\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} }\n\t\t\t\tonClick={ handleClick }\n\t\t\t\ticon={ plus }\n\t\t\t\t/* translators: button label text should, if possible, be under 16\n\t\t\t\t\tcharacters. */\n\t\t\t\tlabel={ _x(\n\t\t\t\t\t'Toggle block inserter',\n\t\t\t\t\t'Generic label for block inserter button'\n\t\t\t\t) }\n\t\t\t\tsize=\"compact\"\n\t\t\t/>\n\t\t\t{ isMediumViewport && (\n\t\t\t\t<>\n\t\t\t\t\t<ToolbarItem as={ UndoButton } />\n\t\t\t\t\t<ToolbarItem as={ RedoButton } />\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\tclassName=\"edit-widgets-header-toolbar__list-view-toggle\"\n\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'List View' ) }\n\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\tref={ listViewToggleRef }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default DocumentTools;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","useDispatch","__","_x","Button","ToolbarItem","NavigableToolbar","listView","plus","useCallback","useViewportMatch","UndoButton","RedoButton","store","editWidgetsStore","unlock","DocumentTools","isMediumViewport","isInserterOpen","isListViewOpen","inserterSidebarToggleRef","listViewToggleRef","select","isInserterOpened","getInserterSidebarToggleRef","isListViewOpened","getListViewToggleRef","setIsInserterOpened","setIsListViewOpened","toggleListView","toggleInserterSidebar","createElement","className","variant","ref","as","isPressed","onMouseDown","event","preventDefault","onClick","icon","label","size","Fragment"],"sources":["@wordpress/edit-widgets/src/components/header/document-tools/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { NavigableToolbar } from '@wordpress/block-editor';\nimport { listView, plus } from '@wordpress/icons';\nimport { useCallback } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport UndoButton from '../undo-redo/undo';\nimport RedoButton from '../undo-redo/redo';\nimport { store as editWidgetsStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nfunction DocumentTools() {\n\tconst isMediumViewport = useViewportMatch( 'medium' );\n\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tinserterSidebarToggleRef,\n\t\tlistViewToggleRef,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tgetInserterSidebarToggleRef,\n\t\t\tisListViewOpened,\n\t\t\tgetListViewToggleRef,\n\t\t} = unlock( select( editWidgetsStore ) );\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tinserterSidebarToggleRef: getInserterSidebarToggleRef(),\n\t\t\tlistViewToggleRef: getListViewToggleRef(),\n\t\t};\n\t}, [] );\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editWidgetsStore );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst toggleInserterSidebar = useCallback(\n\t\t() => setIsInserterOpened( ! isInserterOpen ),\n\t\t[ setIsInserterOpened, isInserterOpen ]\n\t);\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tclassName=\"edit-widgets-header-toolbar\"\n\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<ToolbarItem\n\t\t\t\tref={ inserterSidebarToggleRef }\n\t\t\t\tas={ Button }\n\t\t\t\tclassName=\"edit-widgets-header-toolbar__inserter-toggle\"\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tisPressed={ isInserterOpen }\n\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} }\n\t\t\t\tonClick={ toggleInserterSidebar }\n\t\t\t\ticon={ plus }\n\t\t\t\t/* translators: button label text should, if possible, be under 16\n\t\t\t\t\tcharacters. */\n\t\t\t\tlabel={ _x(\n\t\t\t\t\t'Toggle block inserter',\n\t\t\t\t\t'Generic label for block inserter button'\n\t\t\t\t) }\n\t\t\t\tsize=\"compact\"\n\t\t\t/>\n\t\t\t{ isMediumViewport && (\n\t\t\t\t<>\n\t\t\t\t\t<ToolbarItem as={ UndoButton } />\n\t\t\t\t\t<ToolbarItem as={ RedoButton } />\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\tclassName=\"edit-widgets-header-toolbar__list-view-toggle\"\n\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\tlabel={ __( 'List View' ) }\n\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\tref={ listViewToggleRef }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default DocumentTools;\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -43,7 +43,7 @@ const ShortcutSection = ({
43
43
  shortcuts,
44
44
  className
45
45
  }) => createElement("section", {
46
- className: classnames('edit-widgets-keyboard-shortcut-help-modal__section', className)
46
+ className: clsx('edit-widgets-keyboard-shortcut-help-modal__section', className)
47
47
  }, !!title && createElement("h2", {
48
48
  className: "edit-widgets-keyboard-shortcut-help-modal__section-title"
49
49
  }, title), createElement(ShortcutList, {
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","Modal","__","useShortcut","store","keyboardShortcutsStore","useSelect","textFormattingShortcuts","Shortcut","DynamicShortcut","ShortcutList","shortcuts","createElement","className","role","map","shortcut","index","key","name","ShortcutSection","title","ShortcutCategorySection","categoryName","additionalShortcuts","categoryShortcuts","select","getCategoryShortcuts","concat","KeyboardShortcutHelpModal","isModalActive","toggleModal","bindGlobal","onRequestClose","keyCombination","character","description","ariaLabel"],"sources":["@wordpress/edit-widgets/src/components/keyboard-shortcut-help-modal/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { textFormattingShortcuts } from './config';\nimport Shortcut from './shortcut';\nimport DynamicShortcut from './dynamic-shortcut';\n\nconst ShortcutList = ( { shortcuts } ) => (\n\t/*\n\t * Disable reason: The `list` ARIA role is redundant but\n\t * Safari+VoiceOver won't announce the list otherwise.\n\t */\n\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t<ul\n\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__shortcut-list\"\n\t\trole=\"list\"\n\t>\n\t\t{ shortcuts.map( ( shortcut, index ) => (\n\t\t\t<li\n\t\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__shortcut\"\n\t\t\t\tkey={ index }\n\t\t\t>\n\t\t\t\t{ typeof shortcut === 'string' ? (\n\t\t\t\t\t<DynamicShortcut name={ shortcut } />\n\t\t\t\t) : (\n\t\t\t\t\t<Shortcut { ...shortcut } />\n\t\t\t\t) }\n\t\t\t</li>\n\t\t) ) }\n\t</ul>\n\t/* eslint-enable jsx-a11y/no-redundant-roles */\n);\n\nconst ShortcutSection = ( { title, shortcuts, className } ) => (\n\t<section\n\t\tclassName={ classnames(\n\t\t\t'edit-widgets-keyboard-shortcut-help-modal__section',\n\t\t\tclassName\n\t\t) }\n\t>\n\t\t{ !! title && (\n\t\t\t<h2 className=\"edit-widgets-keyboard-shortcut-help-modal__section-title\">\n\t\t\t\t{ title }\n\t\t\t</h2>\n\t\t) }\n\t\t<ShortcutList shortcuts={ shortcuts } />\n\t</section>\n);\n\nconst ShortcutCategorySection = ( {\n\ttitle,\n\tcategoryName,\n\tadditionalShortcuts = [],\n} ) => {\n\tconst categoryShortcuts = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( keyboardShortcutsStore ).getCategoryShortcuts(\n\t\t\t\tcategoryName\n\t\t\t);\n\t\t},\n\t\t[ categoryName ]\n\t);\n\n\treturn (\n\t\t<ShortcutSection\n\t\t\ttitle={ title }\n\t\t\tshortcuts={ categoryShortcuts.concat( additionalShortcuts ) }\n\t\t/>\n\t);\n};\n\nexport default function KeyboardShortcutHelpModal( {\n\tisModalActive,\n\ttoggleModal,\n} ) {\n\tuseShortcut( 'core/edit-widgets/keyboard-shortcuts', toggleModal, {\n\t\tbindGlobal: true,\n\t} );\n\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal\"\n\t\t\ttitle={ __( 'Keyboard shortcuts' ) }\n\t\t\tonRequestClose={ toggleModal }\n\t\t>\n\t\t\t<ShortcutSection\n\t\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__main-shortcuts\"\n\t\t\t\tshortcuts={ [ 'core/edit-widgets/keyboard-shortcuts' ] }\n\t\t\t/>\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Global shortcuts' ) }\n\t\t\t\tcategoryName=\"global\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Selection shortcuts' ) }\n\t\t\t\tcategoryName=\"selection\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Block shortcuts' ) }\n\t\t\t\tcategoryName=\"block\"\n\t\t\t\tadditionalShortcuts={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tkeyCombination: { character: '/' },\n\t\t\t\t\t\tdescription: __(\n\t\t\t\t\t\t\t'Change the block type after adding a new paragraph.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t/* translators: The forward-slash character. e.g. '/'. */\n\t\t\t\t\t\tariaLabel: __( 'Forward-slash' ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t\t<ShortcutSection\n\t\t\t\ttitle={ __( 'Text formatting' ) }\n\t\t\t\tshortcuts={ textFormattingShortcuts }\n\t\t\t/>\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'List View shortcuts' ) }\n\t\t\t\tcategoryName=\"list-view\"\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","Modal","__","useShortcut","store","keyboardShortcutsStore","useSelect","textFormattingShortcuts","Shortcut","DynamicShortcut","ShortcutList","shortcuts","createElement","className","role","map","shortcut","index","key","name","ShortcutSection","title","ShortcutCategorySection","categoryName","additionalShortcuts","categoryShortcuts","select","getCategoryShortcuts","concat","KeyboardShortcutHelpModal","isModalActive","toggleModal","bindGlobal","onRequestClose","keyCombination","character","description","ariaLabel"],"sources":["@wordpress/edit-widgets/src/components/keyboard-shortcut-help-modal/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { textFormattingShortcuts } from './config';\nimport Shortcut from './shortcut';\nimport DynamicShortcut from './dynamic-shortcut';\n\nconst ShortcutList = ( { shortcuts } ) => (\n\t/*\n\t * Disable reason: The `list` ARIA role is redundant but\n\t * Safari+VoiceOver won't announce the list otherwise.\n\t */\n\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t<ul\n\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__shortcut-list\"\n\t\trole=\"list\"\n\t>\n\t\t{ shortcuts.map( ( shortcut, index ) => (\n\t\t\t<li\n\t\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__shortcut\"\n\t\t\t\tkey={ index }\n\t\t\t>\n\t\t\t\t{ typeof shortcut === 'string' ? (\n\t\t\t\t\t<DynamicShortcut name={ shortcut } />\n\t\t\t\t) : (\n\t\t\t\t\t<Shortcut { ...shortcut } />\n\t\t\t\t) }\n\t\t\t</li>\n\t\t) ) }\n\t</ul>\n\t/* eslint-enable jsx-a11y/no-redundant-roles */\n);\n\nconst ShortcutSection = ( { title, shortcuts, className } ) => (\n\t<section\n\t\tclassName={ clsx(\n\t\t\t'edit-widgets-keyboard-shortcut-help-modal__section',\n\t\t\tclassName\n\t\t) }\n\t>\n\t\t{ !! title && (\n\t\t\t<h2 className=\"edit-widgets-keyboard-shortcut-help-modal__section-title\">\n\t\t\t\t{ title }\n\t\t\t</h2>\n\t\t) }\n\t\t<ShortcutList shortcuts={ shortcuts } />\n\t</section>\n);\n\nconst ShortcutCategorySection = ( {\n\ttitle,\n\tcategoryName,\n\tadditionalShortcuts = [],\n} ) => {\n\tconst categoryShortcuts = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( keyboardShortcutsStore ).getCategoryShortcuts(\n\t\t\t\tcategoryName\n\t\t\t);\n\t\t},\n\t\t[ categoryName ]\n\t);\n\n\treturn (\n\t\t<ShortcutSection\n\t\t\ttitle={ title }\n\t\t\tshortcuts={ categoryShortcuts.concat( additionalShortcuts ) }\n\t\t/>\n\t);\n};\n\nexport default function KeyboardShortcutHelpModal( {\n\tisModalActive,\n\ttoggleModal,\n} ) {\n\tuseShortcut( 'core/edit-widgets/keyboard-shortcuts', toggleModal, {\n\t\tbindGlobal: true,\n\t} );\n\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal\"\n\t\t\ttitle={ __( 'Keyboard shortcuts' ) }\n\t\t\tonRequestClose={ toggleModal }\n\t\t>\n\t\t\t<ShortcutSection\n\t\t\t\tclassName=\"edit-widgets-keyboard-shortcut-help-modal__main-shortcuts\"\n\t\t\t\tshortcuts={ [ 'core/edit-widgets/keyboard-shortcuts' ] }\n\t\t\t/>\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Global shortcuts' ) }\n\t\t\t\tcategoryName=\"global\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Selection shortcuts' ) }\n\t\t\t\tcategoryName=\"selection\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Block shortcuts' ) }\n\t\t\t\tcategoryName=\"block\"\n\t\t\t\tadditionalShortcuts={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tkeyCombination: { character: '/' },\n\t\t\t\t\t\tdescription: __(\n\t\t\t\t\t\t\t'Change the block type after adding a new paragraph.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t/* translators: The forward-slash character. e.g. '/'. */\n\t\t\t\t\t\tariaLabel: __( 'Forward-slash' ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t\t<ShortcutSection\n\t\t\t\ttitle={ __( 'Text formatting' ) }\n\t\t\t\tshortcuts={ textFormattingShortcuts }\n\t\t\t/>\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'List View shortcuts' ) }\n\t\t\t\tcategoryName=\"list-view\"\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,WAAW,EACXC,KAAK,IAAIC,sBAAsB,QACzB,+BAA+B;AACtC,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,uBAAuB,QAAQ,UAAU;AAClD,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,eAAe,MAAM,oBAAoB;AAEhD,MAAMC,YAAY,GAAGA,CAAE;EAAEC;AAAU,CAAC;AACnC;AACD;AACA;AACA;AACC;AACAC,aAAA;EACCC,SAAS,EAAC,0DAA0D;EACpEC,IAAI,EAAC;AAAM,GAETH,SAAS,CAACI,GAAG,CAAE,CAAEC,QAAQ,EAAEC,KAAK,KACjCL,aAAA;EACCC,SAAS,EAAC,qDAAqD;EAC/DK,GAAG,EAAGD;AAAO,GAEX,OAAOD,QAAQ,KAAK,QAAQ,GAC7BJ,aAAA,CAACH,eAAe;EAACU,IAAI,EAAGH;AAAU,CAAE,CAAC,GAErCJ,aAAA,CAACJ,QAAQ;EAAA,GAAMQ;AAAQ,CAAI,CAEzB,CACH,CACC;AACJ,+CACA;AAED,MAAMI,eAAe,GAAGA,CAAE;EAAEC,KAAK;EAAEV,SAAS;EAAEE;AAAU,CAAC,KACxDD,aAAA;EACCC,SAAS,EAAGb,IAAI,CACf,oDAAoD,EACpDa,SACD;AAAG,GAED,CAAC,CAAEQ,KAAK,IACTT,aAAA;EAAIC,SAAS,EAAC;AAA0D,GACrEQ,KACC,CACJ,EACDT,aAAA,CAACF,YAAY;EAACC,SAAS,EAAGA;AAAW,CAAE,CAC/B,CACT;AAED,MAAMW,uBAAuB,GAAGA,CAAE;EACjCD,KAAK;EACLE,YAAY;EACZC,mBAAmB,GAAG;AACvB,CAAC,KAAM;EACN,MAAMC,iBAAiB,GAAGnB,SAAS,CAChCoB,MAAM,IAAM;IACb,OAAOA,MAAM,CAAErB,sBAAuB,CAAC,CAACsB,oBAAoB,CAC3DJ,YACD,CAAC;EACF,CAAC,EACD,CAAEA,YAAY,CACf,CAAC;EAED,OACCX,aAAA,CAACQ,eAAe;IACfC,KAAK,EAAGA,KAAO;IACfV,SAAS,EAAGc,iBAAiB,CAACG,MAAM,CAAEJ,mBAAoB;EAAG,CAC7D,CAAC;AAEJ,CAAC;AAED,eAAe,SAASK,yBAAyBA,CAAE;EAClDC,aAAa;EACbC;AACD,CAAC,EAAG;EACH5B,WAAW,CAAE,sCAAsC,EAAE4B,WAAW,EAAE;IACjEC,UAAU,EAAE;EACb,CAAE,CAAC;EAEH,IAAK,CAAEF,aAAa,EAAG;IACtB,OAAO,IAAI;EACZ;EAEA,OACClB,aAAA,CAACX,KAAK;IACLY,SAAS,EAAC,2CAA2C;IACrDQ,KAAK,EAAGnB,EAAE,CAAE,oBAAqB,CAAG;IACpC+B,cAAc,EAAGF;EAAa,GAE9BnB,aAAA,CAACQ,eAAe;IACfP,SAAS,EAAC,2DAA2D;IACrEF,SAAS,EAAG,CAAE,sCAAsC;EAAI,CACxD,CAAC,EACFC,aAAA,CAACU,uBAAuB;IACvBD,KAAK,EAAGnB,EAAE,CAAE,kBAAmB,CAAG;IAClCqB,YAAY,EAAC;EAAQ,CACrB,CAAC,EAEFX,aAAA,CAACU,uBAAuB;IACvBD,KAAK,EAAGnB,EAAE,CAAE,qBAAsB,CAAG;IACrCqB,YAAY,EAAC;EAAW,CACxB,CAAC,EAEFX,aAAA,CAACU,uBAAuB;IACvBD,KAAK,EAAGnB,EAAE,CAAE,iBAAkB,CAAG;IACjCqB,YAAY,EAAC,OAAO;IACpBC,mBAAmB,EAAG,CACrB;MACCU,cAAc,EAAE;QAAEC,SAAS,EAAE;MAAI,CAAC;MAClCC,WAAW,EAAElC,EAAE,CACd,qDACD,CAAC;MACD;MACAmC,SAAS,EAAEnC,EAAE,CAAE,eAAgB;IAChC,CAAC;EACC,CACH,CAAC,EACFU,aAAA,CAACQ,eAAe;IACfC,KAAK,EAAGnB,EAAE,CAAE,iBAAkB,CAAG;IACjCS,SAAS,EAAGJ;EAAyB,CACrC,CAAC,EACFK,aAAA,CAACU,uBAAuB;IACvBD,KAAK,EAAGnB,EAAE,CAAE,qBAAsB,CAAG;IACrCqB,YAAY,EAAC;EAAW,CACxB,CACK,CAAC;AAEV","ignoreList":[]}
@@ -1,4 +1,7 @@
1
1
  export function getListViewToggleRef(state) {
2
2
  return state.listViewToggleRef;
3
3
  }
4
+ export function getInserterSidebarToggleRef(state) {
5
+ return state.inserterSidebarToggleRef;
6
+ }
4
7
  //# sourceMappingURL=private-selectors.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getListViewToggleRef","state","listViewToggleRef"],"sources":["@wordpress/edit-widgets/src/store/private-selectors.js"],"sourcesContent":["export function getListViewToggleRef( state ) {\n\treturn state.listViewToggleRef;\n}\n"],"mappings":"AAAA,OAAO,SAASA,oBAAoBA,CAAEC,KAAK,EAAG;EAC7C,OAAOA,KAAK,CAACC,iBAAiB;AAC/B","ignoreList":[]}
1
+ {"version":3,"names":["getListViewToggleRef","state","listViewToggleRef","getInserterSidebarToggleRef","inserterSidebarToggleRef"],"sources":["@wordpress/edit-widgets/src/store/private-selectors.js"],"sourcesContent":["export function getListViewToggleRef( state ) {\n\treturn state.listViewToggleRef;\n}\n\nexport function getInserterSidebarToggleRef( state ) {\n\treturn state.inserterSidebarToggleRef;\n}\n"],"mappings":"AAAA,OAAO,SAASA,oBAAoBA,CAAEC,KAAK,EAAG;EAC7C,OAAOA,KAAK,CAACC,iBAAiB;AAC/B;AAEA,OAAO,SAASC,2BAA2BA,CAAEF,KAAK,EAAG;EACpD,OAAOA,KAAK,CAACG,wBAAwB;AACtC","ignoreList":[]}
@@ -88,9 +88,24 @@ export function listViewToggleRef(state = {
88
88
  }) {
89
89
  return state;
90
90
  }
91
+
92
+ /**
93
+ * This reducer does nothing aside initializing a ref to the inserter sidebar toggle.
94
+ * We will have a unique ref per "editor" instance.
95
+ *
96
+ * @param {Object} state
97
+ * @return {Object} Reference to the inserter sidebar toggle button.
98
+ */
99
+ export function inserterSidebarToggleRef(state = {
100
+ current: null
101
+ }) {
102
+ return state;
103
+ }
91
104
  export default combineReducers({
92
105
  blockInserterPanel,
106
+ inserterSidebarToggleRef,
93
107
  listViewPanel,
108
+ listViewToggleRef,
94
109
  widgetAreasOpenState
95
110
  });
96
111
  //# sourceMappingURL=reducer.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["combineReducers","widgetAreasOpenState","state","action","type","clientId","isOpen","blockInserterPanel","value","listViewPanel","listViewToggleRef","current"],"sources":["@wordpress/edit-widgets/src/store/reducer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Controls the open state of the widget areas.\n *\n * @param {Object} state Redux state.\n * @param {Object} action Redux action.\n *\n * @return {Array} Updated state.\n */\nexport function widgetAreasOpenState( state = {}, action ) {\n\tconst { type } = action;\n\tswitch ( type ) {\n\t\tcase 'SET_WIDGET_AREAS_OPEN_STATE': {\n\t\t\treturn action.widgetAreasOpenState;\n\t\t}\n\t\tcase 'SET_IS_WIDGET_AREA_OPEN': {\n\t\t\tconst { clientId, isOpen } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ clientId ]: isOpen,\n\t\t\t};\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the list view panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the inserter panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\n/**\n * This reducer does nothing aside initializing a ref to the list view toggle.\n * We will have a unique ref per \"editor\" instance.\n *\n * @param {Object} state\n * @return {Object} Reference to the list view toggle button.\n */\nexport function listViewToggleRef( state = { current: null } ) {\n\treturn state;\n}\n\nexport default combineReducers( {\n\tblockInserterPanel,\n\tlistViewPanel,\n\twidgetAreasOpenState,\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,iBAAiB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAAEC,KAAK,GAAG,CAAC,CAAC,EAAEC,MAAM,EAAG;EAC1D,MAAM;IAAEC;EAAK,CAAC,GAAGD,MAAM;EACvB,QAASC,IAAI;IACZ,KAAK,6BAA6B;MAAE;QACnC,OAAOD,MAAM,CAACF,oBAAoB;MACnC;IACA,KAAK,yBAAyB;MAAE;QAC/B,MAAM;UAAEI,QAAQ;UAAEC;QAAO,CAAC,GAAGH,MAAM;QACnC,OAAO;UACN,GAAGD,KAAK;UACR,CAAEG,QAAQ,GAAIC;QACf,CAAC;MACF;IACA;MAAS;QACR,OAAOJ,KAAK;MACb;EACD;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,kBAAkBA,CAAEL,KAAK,GAAG,KAAK,EAAEC,MAAM,EAAG;EAC3D,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,yBAAyB;MAC7B,OAAOD,MAAM,CAACG,MAAM,GAAG,KAAK,GAAGJ,KAAK;IACrC,KAAK,wBAAwB;MAC5B,OAAOC,MAAM,CAACK,KAAK;EACrB;EACA,OAAON,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASO,aAAaA,CAAEP,KAAK,GAAG,KAAK,EAAEC,MAAM,EAAG;EACtD,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,wBAAwB;MAC5B,OAAOD,MAAM,CAACK,KAAK,GAAG,KAAK,GAAGN,KAAK;IACpC,KAAK,yBAAyB;MAC7B,OAAOC,MAAM,CAACG,MAAM;EACtB;EACA,OAAOJ,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,iBAAiBA,CAAER,KAAK,GAAG;EAAES,OAAO,EAAE;AAAK,CAAC,EAAG;EAC9D,OAAOT,KAAK;AACb;AAEA,eAAeF,eAAe,CAAE;EAC/BO,kBAAkB;EAClBE,aAAa;EACbR;AACD,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["combineReducers","widgetAreasOpenState","state","action","type","clientId","isOpen","blockInserterPanel","value","listViewPanel","listViewToggleRef","current","inserterSidebarToggleRef"],"sources":["@wordpress/edit-widgets/src/store/reducer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { combineReducers } from '@wordpress/data';\n\n/**\n * Controls the open state of the widget areas.\n *\n * @param {Object} state Redux state.\n * @param {Object} action Redux action.\n *\n * @return {Array} Updated state.\n */\nexport function widgetAreasOpenState( state = {}, action ) {\n\tconst { type } = action;\n\tswitch ( type ) {\n\t\tcase 'SET_WIDGET_AREAS_OPEN_STATE': {\n\t\t\treturn action.widgetAreasOpenState;\n\t\t}\n\t\tcase 'SET_IS_WIDGET_AREA_OPEN': {\n\t\t\tconst { clientId, isOpen } = action;\n\t\t\treturn {\n\t\t\t\t...state,\n\t\t\t\t[ clientId ]: isOpen,\n\t\t\t};\n\t\t}\n\t\tdefault: {\n\t\t\treturn state;\n\t\t}\n\t}\n}\n\n/**\n * Reducer to set the block inserter panel open or closed.\n *\n * Note: this reducer interacts with the list view panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function blockInserterPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen ? false : state;\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value;\n\t}\n\treturn state;\n}\n\n/**\n * Reducer to set the list view panel open or closed.\n *\n * Note: this reducer interacts with the inserter panel reducer\n * to make sure that only one of the two panels is open at the same time.\n *\n * @param {Object} state Current state.\n * @param {Object} action Dispatched action.\n */\nexport function listViewPanel( state = false, action ) {\n\tswitch ( action.type ) {\n\t\tcase 'SET_IS_INSERTER_OPENED':\n\t\t\treturn action.value ? false : state;\n\t\tcase 'SET_IS_LIST_VIEW_OPENED':\n\t\t\treturn action.isOpen;\n\t}\n\treturn state;\n}\n\n/**\n * This reducer does nothing aside initializing a ref to the list view toggle.\n * We will have a unique ref per \"editor\" instance.\n *\n * @param {Object} state\n * @return {Object} Reference to the list view toggle button.\n */\nexport function listViewToggleRef( state = { current: null } ) {\n\treturn state;\n}\n\n/**\n * This reducer does nothing aside initializing a ref to the inserter sidebar toggle.\n * We will have a unique ref per \"editor\" instance.\n *\n * @param {Object} state\n * @return {Object} Reference to the inserter sidebar toggle button.\n */\nexport function inserterSidebarToggleRef( state = { current: null } ) {\n\treturn state;\n}\n\nexport default combineReducers( {\n\tblockInserterPanel,\n\tinserterSidebarToggleRef,\n\tlistViewPanel,\n\tlistViewToggleRef,\n\twidgetAreasOpenState,\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,eAAe,QAAQ,iBAAiB;;AAEjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAAEC,KAAK,GAAG,CAAC,CAAC,EAAEC,MAAM,EAAG;EAC1D,MAAM;IAAEC;EAAK,CAAC,GAAGD,MAAM;EACvB,QAASC,IAAI;IACZ,KAAK,6BAA6B;MAAE;QACnC,OAAOD,MAAM,CAACF,oBAAoB;MACnC;IACA,KAAK,yBAAyB;MAAE;QAC/B,MAAM;UAAEI,QAAQ;UAAEC;QAAO,CAAC,GAAGH,MAAM;QACnC,OAAO;UACN,GAAGD,KAAK;UACR,CAAEG,QAAQ,GAAIC;QACf,CAAC;MACF;IACA;MAAS;QACR,OAAOJ,KAAK;MACb;EACD;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASK,kBAAkBA,CAAEL,KAAK,GAAG,KAAK,EAAEC,MAAM,EAAG;EAC3D,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,yBAAyB;MAC7B,OAAOD,MAAM,CAACG,MAAM,GAAG,KAAK,GAAGJ,KAAK;IACrC,KAAK,wBAAwB;MAC5B,OAAOC,MAAM,CAACK,KAAK;EACrB;EACA,OAAON,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASO,aAAaA,CAAEP,KAAK,GAAG,KAAK,EAAEC,MAAM,EAAG;EACtD,QAASA,MAAM,CAACC,IAAI;IACnB,KAAK,wBAAwB;MAC5B,OAAOD,MAAM,CAACK,KAAK,GAAG,KAAK,GAAGN,KAAK;IACpC,KAAK,yBAAyB;MAC7B,OAAOC,MAAM,CAACG,MAAM;EACtB;EACA,OAAOJ,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASQ,iBAAiBA,CAAER,KAAK,GAAG;EAAES,OAAO,EAAE;AAAK,CAAC,EAAG;EAC9D,OAAOT,KAAK;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASU,wBAAwBA,CAAEV,KAAK,GAAG;EAAES,OAAO,EAAE;AAAK,CAAC,EAAG;EACrE,OAAOT,KAAK;AACb;AAEA,eAAeF,eAAe,CAAE;EAC/BO,kBAAkB;EAClBK,wBAAwB;EACxBH,aAAa;EACbC,iBAAiB;EACjBT;AACD,CAAE,CAAC","ignoreList":[]}
@@ -123,7 +123,8 @@
123
123
 
124
124
  .interface-complementary-area-header {
125
125
  background: #fff;
126
- padding-left: 4px;
126
+ padding-left: 12px;
127
+ gap: 8px;
127
128
  }
128
129
  .interface-complementary-area-header .interface-complementary-area-header__title {
129
130
  margin: 0;
@@ -141,12 +142,6 @@
141
142
  }
142
143
  }
143
144
 
144
- @media (min-width: 782px) {
145
- .components-panel__header + .interface-complementary-area-header {
146
- margin-top: 0;
147
- }
148
- }
149
-
150
145
  .interface-complementary-area {
151
146
  background: #fff;
152
147
  color: #1e1e1e;
@@ -173,11 +168,11 @@
173
168
  top: 0;
174
169
  z-index: 1;
175
170
  }
176
- .interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs {
171
+ .interface-complementary-area .components-panel__header.editor-sidebar__panel-tabs {
177
172
  top: 48px;
178
173
  }
179
174
  @media (min-width: 782px) {
180
- .interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs {
175
+ .interface-complementary-area .components-panel__header.editor-sidebar__panel-tabs {
181
176
  top: 0;
182
177
  }
183
178
  }
@@ -186,6 +181,7 @@
186
181
  }
187
182
  .interface-complementary-area h2 {
188
183
  font-size: 13px;
184
+ font-weight: 500;
189
185
  color: #1e1e1e;
190
186
  margin-bottom: 1.5em;
191
187
  }
@@ -241,7 +237,7 @@ html.interface-interface-skeleton__html-container {
241
237
  width: 100%;
242
238
  }
243
239
  @media (min-width: 782px) {
244
- html.interface-interface-skeleton__html-container {
240
+ html.interface-interface-skeleton__html-container:not(:has(.is-zoom-out)) {
245
241
  position: initial;
246
242
  width: initial;
247
243
  }
@@ -797,7 +793,7 @@ body.is-fullscreen-mode .edit-widgets-notices__snackbar {
797
793
  .edit-widgets-layout__inserter-panel-content {
798
794
  height: calc(100% - 36px - 8px);
799
795
  }
800
- .edit-widgets-layout__inserter-panel-content .block-editor-inserter__tab {
796
+ .edit-widgets-layout__inserter-panel-content .block-editor-inserter-sidebar__header {
801
797
  display: none;
802
798
  }
803
799
  @media (min-width: 782px) {
@@ -123,7 +123,8 @@
123
123
 
124
124
  .interface-complementary-area-header {
125
125
  background: #fff;
126
- padding-right: 4px;
126
+ padding-right: 12px;
127
+ gap: 8px;
127
128
  }
128
129
  .interface-complementary-area-header .interface-complementary-area-header__title {
129
130
  margin: 0;
@@ -141,12 +142,6 @@
141
142
  }
142
143
  }
143
144
 
144
- @media (min-width: 782px) {
145
- .components-panel__header + .interface-complementary-area-header {
146
- margin-top: 0;
147
- }
148
- }
149
-
150
145
  .interface-complementary-area {
151
146
  background: #fff;
152
147
  color: #1e1e1e;
@@ -173,11 +168,11 @@
173
168
  top: 0;
174
169
  z-index: 1;
175
170
  }
176
- .interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs {
171
+ .interface-complementary-area .components-panel__header.editor-sidebar__panel-tabs {
177
172
  top: 48px;
178
173
  }
179
174
  @media (min-width: 782px) {
180
- .interface-complementary-area .components-panel__header.edit-post-sidebar__panel-tabs {
175
+ .interface-complementary-area .components-panel__header.editor-sidebar__panel-tabs {
181
176
  top: 0;
182
177
  }
183
178
  }
@@ -186,6 +181,7 @@
186
181
  }
187
182
  .interface-complementary-area h2 {
188
183
  font-size: 13px;
184
+ font-weight: 500;
189
185
  color: #1e1e1e;
190
186
  margin-bottom: 1.5em;
191
187
  }
@@ -241,7 +237,7 @@ html.interface-interface-skeleton__html-container {
241
237
  width: 100%;
242
238
  }
243
239
  @media (min-width: 782px) {
244
- html.interface-interface-skeleton__html-container {
240
+ html.interface-interface-skeleton__html-container:not(:has(.is-zoom-out)) {
245
241
  position: initial;
246
242
  width: initial;
247
243
  }
@@ -797,7 +793,7 @@ body.is-fullscreen-mode .edit-widgets-notices__snackbar {
797
793
  .edit-widgets-layout__inserter-panel-content {
798
794
  height: calc(100% - 36px - 8px);
799
795
  }
800
- .edit-widgets-layout__inserter-panel-content .block-editor-inserter__tab {
796
+ .edit-widgets-layout__inserter-panel-content .block-editor-inserter-sidebar__header {
801
797
  display: none;
802
798
  }
803
799
  @media (min-width: 782px) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-widgets",
3
- "version": "5.34.0",
3
+ "version": "5.35.0",
4
4
  "description": "Widgets Page module for WordPress..",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,33 +27,33 @@
27
27
  "react-native": "src/index",
28
28
  "dependencies": {
29
29
  "@babel/runtime": "^7.16.0",
30
- "@wordpress/api-fetch": "^6.54.0",
31
- "@wordpress/block-editor": "^12.25.0",
32
- "@wordpress/block-library": "^8.34.0",
33
- "@wordpress/blocks": "^12.34.0",
34
- "@wordpress/components": "^27.5.0",
35
- "@wordpress/compose": "^6.34.0",
36
- "@wordpress/core-data": "^6.34.0",
37
- "@wordpress/data": "^9.27.0",
38
- "@wordpress/deprecated": "^3.57.0",
39
- "@wordpress/dom": "^3.57.0",
40
- "@wordpress/element": "^5.34.0",
41
- "@wordpress/hooks": "^3.57.0",
42
- "@wordpress/i18n": "^4.57.0",
43
- "@wordpress/icons": "^9.48.0",
44
- "@wordpress/interface": "^5.34.0",
45
- "@wordpress/keyboard-shortcuts": "^4.34.0",
46
- "@wordpress/keycodes": "^3.57.0",
47
- "@wordpress/media-utils": "^4.48.0",
48
- "@wordpress/notices": "^4.25.0",
49
- "@wordpress/patterns": "^1.18.0",
50
- "@wordpress/plugins": "^6.25.0",
51
- "@wordpress/preferences": "^3.34.0",
52
- "@wordpress/private-apis": "^0.39.0",
53
- "@wordpress/reusable-blocks": "^4.34.0",
54
- "@wordpress/url": "^3.58.0",
55
- "@wordpress/widgets": "^3.34.0",
56
- "classnames": "^2.3.1"
30
+ "@wordpress/api-fetch": "^6.55.0",
31
+ "@wordpress/block-editor": "^12.26.0",
32
+ "@wordpress/block-library": "^8.35.0",
33
+ "@wordpress/blocks": "^12.35.0",
34
+ "@wordpress/components": "^27.6.0",
35
+ "@wordpress/compose": "^6.35.0",
36
+ "@wordpress/core-data": "^6.35.0",
37
+ "@wordpress/data": "^9.28.0",
38
+ "@wordpress/deprecated": "^3.58.0",
39
+ "@wordpress/dom": "^3.58.0",
40
+ "@wordpress/element": "^5.35.0",
41
+ "@wordpress/hooks": "^3.58.0",
42
+ "@wordpress/i18n": "^4.58.0",
43
+ "@wordpress/icons": "^9.49.0",
44
+ "@wordpress/interface": "^5.35.0",
45
+ "@wordpress/keyboard-shortcuts": "^4.35.0",
46
+ "@wordpress/keycodes": "^3.58.0",
47
+ "@wordpress/media-utils": "^4.49.0",
48
+ "@wordpress/notices": "^4.26.0",
49
+ "@wordpress/patterns": "^1.19.0",
50
+ "@wordpress/plugins": "^6.26.0",
51
+ "@wordpress/preferences": "^3.35.0",
52
+ "@wordpress/private-apis": "^0.40.0",
53
+ "@wordpress/reusable-blocks": "^4.35.0",
54
+ "@wordpress/url": "^3.59.0",
55
+ "@wordpress/widgets": "^3.35.0",
56
+ "clsx": "^2.1.1"
57
57
  },
58
58
  "peerDependencies": {
59
59
  "react": "^18.0.0",
@@ -62,5 +62,5 @@
62
62
  "publishConfig": {
63
63
  "access": "public"
64
64
  },
65
- "gitHead": "581d8a5580dba8f600b7268d51eb554771ae482c"
65
+ "gitHead": "42f38f287506a6b3ed8ccba839b18ad066821044"
66
66
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import classnames from 'classnames';
4
+ import clsx from 'clsx';
5
5
 
6
6
  /**
7
7
  * WordPress dependencies
@@ -38,7 +38,7 @@ export default function WidgetAreaInnerBlocks( { id } ) {
38
38
  return (
39
39
  <div
40
40
  data-widget-area-id={ id }
41
- className={ classnames(
41
+ className={ clsx(
42
42
  'wp-block-widget-area__inner-blocks block-editor-inner-blocks editor-styles-wrapper',
43
43
  {
44
44
  'wp-block-widget-area__highlight-drop-zone':
@@ -4,12 +4,9 @@
4
4
  import { useSelect, useDispatch } from '@wordpress/data';
5
5
  import { __, _x } from '@wordpress/i18n';
6
6
  import { Button, ToolbarItem } from '@wordpress/components';
7
- import {
8
- NavigableToolbar,
9
- store as blockEditorStore,
10
- } from '@wordpress/block-editor';
7
+ import { NavigableToolbar } from '@wordpress/block-editor';
11
8
  import { listView, plus } from '@wordpress/icons';
12
- import { useCallback, useRef } from '@wordpress/element';
9
+ import { useCallback } from '@wordpress/element';
13
10
  import { useViewportMatch } from '@wordpress/compose';
14
11
 
15
12
  /**
@@ -17,61 +14,44 @@ import { useViewportMatch } from '@wordpress/compose';
17
14
  */
18
15
  import UndoButton from '../undo-redo/undo';
19
16
  import RedoButton from '../undo-redo/redo';
20
- import useLastSelectedWidgetArea from '../../../hooks/use-last-selected-widget-area';
21
17
  import { store as editWidgetsStore } from '../../../store';
22
18
  import { unlock } from '../../../lock-unlock';
23
19
 
24
20
  function DocumentTools() {
25
21
  const isMediumViewport = useViewportMatch( 'medium' );
26
- const inserterButton = useRef();
27
- const widgetAreaClientId = useLastSelectedWidgetArea();
28
- const isLastSelectedWidgetAreaOpen = useSelect(
29
- ( select ) =>
30
- select( editWidgetsStore ).getIsWidgetAreaOpen(
31
- widgetAreaClientId
32
- ),
33
- [ widgetAreaClientId ]
34
- );
35
- const { isInserterOpen, isListViewOpen, listViewToggleRef } = useSelect(
36
- ( select ) => {
37
- const { isInserterOpened, isListViewOpened, getListViewToggleRef } =
38
- unlock( select( editWidgetsStore ) );
39
- return {
40
- isInserterOpen: isInserterOpened(),
41
- isListViewOpen: isListViewOpened(),
42
- listViewToggleRef: getListViewToggleRef(),
43
- };
44
- },
45
- []
46
- );
47
- const { setIsWidgetAreaOpen, setIsInserterOpened, setIsListViewOpened } =
22
+
23
+ const {
24
+ isInserterOpen,
25
+ isListViewOpen,
26
+ inserterSidebarToggleRef,
27
+ listViewToggleRef,
28
+ } = useSelect( ( select ) => {
29
+ const {
30
+ isInserterOpened,
31
+ getInserterSidebarToggleRef,
32
+ isListViewOpened,
33
+ getListViewToggleRef,
34
+ } = unlock( select( editWidgetsStore ) );
35
+ return {
36
+ isInserterOpen: isInserterOpened(),
37
+ isListViewOpen: isListViewOpened(),
38
+ inserterSidebarToggleRef: getInserterSidebarToggleRef(),
39
+ listViewToggleRef: getListViewToggleRef(),
40
+ };
41
+ }, [] );
42
+ const { setIsInserterOpened, setIsListViewOpened } =
48
43
  useDispatch( editWidgetsStore );
49
- const { selectBlock } = useDispatch( blockEditorStore );
50
- const handleClick = () => {
51
- if ( isInserterOpen ) {
52
- // Focusing the inserter button closes the inserter popover.
53
- setIsInserterOpened( false );
54
- } else {
55
- if ( ! isLastSelectedWidgetAreaOpen ) {
56
- // Select the last selected block if hasn't already.
57
- selectBlock( widgetAreaClientId );
58
- // Open the last selected widget area when opening the inserter.
59
- setIsWidgetAreaOpen( widgetAreaClientId, true );
60
- }
61
- // The DOM updates resulting from selectBlock() and setIsInserterOpened() calls are applied the
62
- // same tick and pretty much in a random order. The inserter is closed if any other part of the
63
- // app receives focus. If selectBlock() happens to take effect after setIsInserterOpened() then
64
- // the inserter is visible for a brief moment and then gets auto-closed due to focus moving to
65
- // the selected block.
66
- window.requestAnimationFrame( () => setIsInserterOpened( true ) );
67
- }
68
- };
69
44
 
70
45
  const toggleListView = useCallback(
71
46
  () => setIsListViewOpened( ! isListViewOpen ),
72
47
  [ setIsListViewOpened, isListViewOpen ]
73
48
  );
74
49
 
50
+ const toggleInserterSidebar = useCallback(
51
+ () => setIsInserterOpened( ! isInserterOpen ),
52
+ [ setIsInserterOpened, isInserterOpen ]
53
+ );
54
+
75
55
  return (
76
56
  <NavigableToolbar
77
57
  className="edit-widgets-header-toolbar"
@@ -79,7 +59,7 @@ function DocumentTools() {
79
59
  variant="unstyled"
80
60
  >
81
61
  <ToolbarItem
82
- ref={ inserterButton }
62
+ ref={ inserterSidebarToggleRef }
83
63
  as={ Button }
84
64
  className="edit-widgets-header-toolbar__inserter-toggle"
85
65
  variant="primary"
@@ -87,7 +67,7 @@ function DocumentTools() {
87
67
  onMouseDown={ ( event ) => {
88
68
  event.preventDefault();
89
69
  } }
90
- onClick={ handleClick }
70
+ onClick={ toggleInserterSidebar }
91
71
  icon={ plus }
92
72
  /* translators: button label text should, if possible, be under 16
93
73
  characters. */
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import classnames from 'classnames';
4
+ import clsx from 'clsx';
5
5
 
6
6
  /**
7
7
  * WordPress dependencies
@@ -49,7 +49,7 @@ const ShortcutList = ( { shortcuts } ) => (
49
49
 
50
50
  const ShortcutSection = ( { title, shortcuts, className } ) => (
51
51
  <section
52
- className={ classnames(
52
+ className={ clsx(
53
53
  'edit-widgets-keyboard-shortcut-help-modal__section',
54
54
  className
55
55
  ) }
@@ -18,7 +18,7 @@
18
18
  // Leave space for the close button
19
19
  height: calc(100% - #{$button-size} - #{$grid-unit-10});
20
20
 
21
- .block-editor-inserter__tab {
21
+ .block-editor-inserter-sidebar__header {
22
22
  display: none;
23
23
  }
24
24
 
@@ -1,3 +1,7 @@
1
1
  export function getListViewToggleRef( state ) {
2
2
  return state.listViewToggleRef;
3
3
  }
4
+
5
+ export function getInserterSidebarToggleRef( state ) {
6
+ return state.inserterSidebarToggleRef;
7
+ }
@@ -79,8 +79,21 @@ export function listViewToggleRef( state = { current: null } ) {
79
79
  return state;
80
80
  }
81
81
 
82
+ /**
83
+ * This reducer does nothing aside initializing a ref to the inserter sidebar toggle.
84
+ * We will have a unique ref per "editor" instance.
85
+ *
86
+ * @param {Object} state
87
+ * @return {Object} Reference to the inserter sidebar toggle button.
88
+ */
89
+ export function inserterSidebarToggleRef( state = { current: null } ) {
90
+ return state;
91
+ }
92
+
82
93
  export default combineReducers( {
83
94
  blockInserterPanel,
95
+ inserterSidebarToggleRef,
84
96
  listViewPanel,
97
+ listViewToggleRef,
85
98
  widgetAreasOpenState,
86
99
  } );