@wordpress/edit-widgets 5.34.0 → 6.0.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 (123) hide show
  1. package/CHANGELOG.md +15 -2
  2. package/build/blocks/widget-area/edit/index.js +33 -30
  3. package/build/blocks/widget-area/edit/index.js.map +1 -1
  4. package/build/blocks/widget-area/edit/inner-blocks.js +8 -7
  5. package/build/blocks/widget-area/edit/inner-blocks.js.map +1 -1
  6. package/build/components/error-boundary/index.js +14 -12
  7. package/build/components/error-boundary/index.js.map +1 -1
  8. package/build/components/header/document-tools/index.js +40 -60
  9. package/build/components/header/document-tools/index.js.map +1 -1
  10. package/build/components/header/index.js +32 -22
  11. package/build/components/header/index.js.map +1 -1
  12. package/build/components/header/undo-redo/redo.js +2 -2
  13. package/build/components/header/undo-redo/redo.js.map +1 -1
  14. package/build/components/header/undo-redo/undo.js +2 -2
  15. package/build/components/header/undo-redo/undo.js.map +1 -1
  16. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +2 -2
  17. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  18. package/build/components/keyboard-shortcut-help-modal/index.js +54 -49
  19. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  20. package/build/components/keyboard-shortcut-help-modal/shortcut.js +30 -26
  21. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  22. package/build/components/layout/index.js +11 -8
  23. package/build/components/layout/index.js.map +1 -1
  24. package/build/components/layout/interface.js +16 -13
  25. package/build/components/layout/interface.js.map +1 -1
  26. package/build/components/more-menu/index.js +81 -70
  27. package/build/components/more-menu/index.js.map +1 -1
  28. package/build/components/more-menu/tools-more-menu-group.js +5 -4
  29. package/build/components/more-menu/tools-more-menu-group.js.map +1 -1
  30. package/build/components/notices/index.js +15 -13
  31. package/build/components/notices/index.js.map +1 -1
  32. package/build/components/save-button/index.js +5 -4
  33. package/build/components/save-button/index.js.map +1 -1
  34. package/build/components/secondary-sidebar/index.js +3 -3
  35. package/build/components/secondary-sidebar/index.js.map +1 -1
  36. package/build/components/secondary-sidebar/inserter-sidebar.js +21 -18
  37. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  38. package/build/components/secondary-sidebar/list-view-sidebar.js +21 -15
  39. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  40. package/build/components/sidebar/index.js +49 -37
  41. package/build/components/sidebar/index.js.map +1 -1
  42. package/build/components/sidebar/widget-areas.js +29 -22
  43. package/build/components/sidebar/widget-areas.js.map +1 -1
  44. package/build/components/welcome-guide/index.js +80 -53
  45. package/build/components/welcome-guide/index.js.map +1 -1
  46. package/build/components/widget-areas-block-editor-content/index.js +18 -11
  47. package/build/components/widget-areas-block-editor-content/index.js.map +1 -1
  48. package/build/components/widget-areas-block-editor-provider/index.js +14 -11
  49. package/build/components/widget-areas-block-editor-provider/index.js.map +1 -1
  50. package/build/filters/move-to-widget-area.js +14 -10
  51. package/build/filters/move-to-widget-area.js.map +1 -1
  52. package/build/index.js +3 -3
  53. package/build/index.js.map +1 -1
  54. package/build/store/private-selectors.js +4 -0
  55. package/build/store/private-selectors.js.map +1 -1
  56. package/build/store/reducer.js +16 -0
  57. package/build/store/reducer.js.map +1 -1
  58. package/build-module/blocks/widget-area/edit/index.js +32 -28
  59. package/build-module/blocks/widget-area/edit/index.js.map +1 -1
  60. package/build-module/blocks/widget-area/edit/inner-blocks.js +8 -7
  61. package/build-module/blocks/widget-area/edit/inner-blocks.js.map +1 -1
  62. package/build-module/components/error-boundary/index.js +14 -12
  63. package/build-module/components/error-boundary/index.js.map +1 -1
  64. package/build-module/components/header/document-tools/index.js +44 -62
  65. package/build-module/components/header/document-tools/index.js.map +1 -1
  66. package/build-module/components/header/index.js +34 -22
  67. package/build-module/components/header/index.js.map +1 -1
  68. package/build-module/components/header/undo-redo/redo.js +2 -2
  69. package/build-module/components/header/undo-redo/redo.js.map +1 -1
  70. package/build-module/components/header/undo-redo/undo.js +2 -2
  71. package/build-module/components/header/undo-redo/undo.js.map +1 -1
  72. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +2 -2
  73. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  74. package/build-module/components/keyboard-shortcut-help-modal/index.js +55 -49
  75. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  76. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +32 -26
  77. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  78. package/build-module/components/layout/index.js +12 -8
  79. package/build-module/components/layout/index.js.map +1 -1
  80. package/build-module/components/layout/interface.js +17 -13
  81. package/build-module/components/layout/interface.js.map +1 -1
  82. package/build-module/components/more-menu/index.js +83 -70
  83. package/build-module/components/more-menu/index.js.map +1 -1
  84. package/build-module/components/more-menu/tools-more-menu-group.js +5 -4
  85. package/build-module/components/more-menu/tools-more-menu-group.js.map +1 -1
  86. package/build-module/components/notices/index.js +17 -13
  87. package/build-module/components/notices/index.js.map +1 -1
  88. package/build-module/components/save-button/index.js +5 -4
  89. package/build-module/components/save-button/index.js.map +1 -1
  90. package/build-module/components/secondary-sidebar/index.js +3 -3
  91. package/build-module/components/secondary-sidebar/index.js.map +1 -1
  92. package/build-module/components/secondary-sidebar/inserter-sidebar.js +22 -18
  93. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  94. package/build-module/components/secondary-sidebar/list-view-sidebar.js +22 -15
  95. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  96. package/build-module/components/sidebar/index.js +50 -37
  97. package/build-module/components/sidebar/index.js.map +1 -1
  98. package/build-module/components/sidebar/widget-areas.js +30 -22
  99. package/build-module/components/sidebar/widget-areas.js.map +1 -1
  100. package/build-module/components/welcome-guide/index.js +82 -53
  101. package/build-module/components/welcome-guide/index.js.map +1 -1
  102. package/build-module/components/widget-areas-block-editor-content/index.js +19 -11
  103. package/build-module/components/widget-areas-block-editor-content/index.js.map +1 -1
  104. package/build-module/components/widget-areas-block-editor-provider/index.js +15 -11
  105. package/build-module/components/widget-areas-block-editor-provider/index.js.map +1 -1
  106. package/build-module/filters/move-to-widget-area.js +16 -10
  107. package/build-module/filters/move-to-widget-area.js.map +1 -1
  108. package/build-module/index.js +3 -3
  109. package/build-module/index.js.map +1 -1
  110. package/build-module/store/private-selectors.js +3 -0
  111. package/build-module/store/private-selectors.js.map +1 -1
  112. package/build-module/store/reducer.js +15 -0
  113. package/build-module/store/reducer.js.map +1 -1
  114. package/build-style/style-rtl.css +15 -14
  115. package/build-style/style.css +15 -14
  116. package/package.json +31 -30
  117. package/src/blocks/widget-area/edit/inner-blocks.js +2 -2
  118. package/src/components/header/document-tools/index.js +30 -50
  119. package/src/components/keyboard-shortcut-help-modal/index.js +2 -2
  120. package/src/components/layout/style.scss +1 -1
  121. package/src/index.js +1 -1
  122. package/src/store/private-selectors.js +4 -0
  123. package/src/store/reducer.js +13 -0
@@ -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__tablist-and-close {
22
22
  display: none;
23
23
  }
24
24
 
package/src/index.js CHANGED
@@ -73,7 +73,7 @@ export function initializeEditor( id, settings ) {
73
73
  dispatch( blocksStore ).reapplyBlockTypeFilters();
74
74
  registerCoreBlocks( coreBlocks );
75
75
  registerLegacyWidgetBlock();
76
- if ( process.env.IS_GUTENBERG_PLUGIN ) {
76
+ if ( globalThis.IS_GUTENBERG_PLUGIN ) {
77
77
  __experimentalRegisterExperimentalCoreBlocks( {
78
78
  enableFSEBlocks: ENABLE_EXPERIMENTAL_FSE_BLOCKS,
79
79
  } );
@@ -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
  } );