@wordpress/block-library 6.0.12 → 6.0.16

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 (139) hide show
  1. package/build/group/edit.native.js +1 -1
  2. package/build/group/edit.native.js.map +1 -1
  3. package/build/group/index.js +3 -1
  4. package/build/group/index.js.map +1 -1
  5. package/build/image/image.js +30 -6
  6. package/build/image/image.js.map +1 -1
  7. package/build/navigation/deprecated.js +1 -3
  8. package/build/navigation/deprecated.js.map +1 -1
  9. package/build/navigation/edit/index.js +109 -43
  10. package/build/navigation/edit/index.js.map +1 -1
  11. package/build/navigation/edit/navigation-menu-selector.js +10 -3
  12. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  13. package/build/navigation/edit/placeholder/index.js +15 -7
  14. package/build/navigation/edit/placeholder/index.js.map +1 -1
  15. package/build/navigation/edit/responsive-wrapper.js +9 -7
  16. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  17. package/build/navigation/edit/unsaved-inner-blocks.js +3 -11
  18. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  19. package/build/navigation/edit/use-navigation-notice.js +54 -0
  20. package/build/navigation/edit/use-navigation-notice.js.map +1 -0
  21. package/build/navigation/index.js +1 -2
  22. package/build/navigation/index.js.map +1 -1
  23. package/build/navigation/menu-items-to-blocks.js +4 -1
  24. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  25. package/build/navigation/use-navigation-menu.js +9 -2
  26. package/build/navigation/use-navigation-menu.js.map +1 -1
  27. package/build/navigation/view.js +14 -9
  28. package/build/navigation/view.js.map +1 -1
  29. package/build/navigation-submenu/edit.js +1 -1
  30. package/build/navigation-submenu/edit.js.map +1 -1
  31. package/build/post-comments/index.js +1 -1
  32. package/build/post-template/edit.js +54 -13
  33. package/build/post-template/edit.js.map +1 -1
  34. package/build/site-logo/edit.js +9 -6
  35. package/build/site-logo/edit.js.map +1 -1
  36. package/build/site-logo/index.js +0 -3
  37. package/build/site-logo/index.js.map +1 -1
  38. package/build/template-part/edit/index.js +7 -1
  39. package/build/template-part/edit/index.js.map +1 -1
  40. package/build-module/group/edit.native.js +1 -1
  41. package/build-module/group/edit.native.js.map +1 -1
  42. package/build-module/group/index.js +3 -1
  43. package/build-module/group/index.js.map +1 -1
  44. package/build-module/image/image.js +31 -7
  45. package/build-module/image/image.js.map +1 -1
  46. package/build-module/navigation/deprecated.js +1 -3
  47. package/build-module/navigation/deprecated.js.map +1 -1
  48. package/build-module/navigation/edit/index.js +107 -44
  49. package/build-module/navigation/edit/index.js.map +1 -1
  50. package/build-module/navigation/edit/navigation-menu-selector.js +9 -3
  51. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  52. package/build-module/navigation/edit/placeholder/index.js +15 -7
  53. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  54. package/build-module/navigation/edit/responsive-wrapper.js +9 -7
  55. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  56. package/build-module/navigation/edit/unsaved-inner-blocks.js +4 -13
  57. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  58. package/build-module/navigation/edit/use-navigation-notice.js +44 -0
  59. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -0
  60. package/build-module/navigation/index.js +1 -2
  61. package/build-module/navigation/index.js.map +1 -1
  62. package/build-module/navigation/menu-items-to-blocks.js +3 -1
  63. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  64. package/build-module/navigation/use-navigation-menu.js +9 -2
  65. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  66. package/build-module/navigation/view.js +14 -9
  67. package/build-module/navigation/view.js.map +1 -1
  68. package/build-module/navigation-submenu/edit.js +1 -1
  69. package/build-module/navigation-submenu/edit.js.map +1 -1
  70. package/build-module/post-comments/index.js +1 -1
  71. package/build-module/post-template/edit.js +54 -15
  72. package/build-module/post-template/edit.js.map +1 -1
  73. package/build-module/site-logo/edit.js +9 -6
  74. package/build-module/site-logo/edit.js.map +1 -1
  75. package/build-module/site-logo/index.js +0 -3
  76. package/build-module/site-logo/index.js.map +1 -1
  77. package/build-module/template-part/edit/index.js +6 -1
  78. package/build-module/template-part/edit/index.js.map +1 -1
  79. package/build-style/common-rtl.css +10 -0
  80. package/build-style/common.css +10 -0
  81. package/build-style/editor-rtl.css +38 -11
  82. package/build-style/editor.css +38 -11
  83. package/build-style/image/editor-rtl.css +16 -0
  84. package/build-style/image/editor.css +16 -0
  85. package/build-style/navigation/editor-rtl.css +11 -0
  86. package/build-style/navigation/editor.css +11 -0
  87. package/build-style/navigation/style-rtl.css +56 -24
  88. package/build-style/navigation/style.css +56 -24
  89. package/build-style/post-comments/style-rtl.css +3 -1
  90. package/build-style/post-comments/style.css +3 -1
  91. package/build-style/post-comments-form/style-rtl.css +2 -2
  92. package/build-style/post-comments-form/style.css +2 -2
  93. package/build-style/site-logo/editor-rtl.css +1 -11
  94. package/build-style/site-logo/editor.css +1 -11
  95. package/build-style/site-logo/style-rtl.css +3 -1
  96. package/build-style/site-logo/style.css +3 -1
  97. package/build-style/style-rtl.css +74 -28
  98. package/build-style/style.css +74 -28
  99. package/package.json +14 -14
  100. package/src/common.scss +12 -0
  101. package/src/editor.scss +12 -0
  102. package/src/gallery/index.php +7 -8
  103. package/src/group/block.json +3 -1
  104. package/src/group/edit.native.js +1 -1
  105. package/src/home-link/index.php +1 -1
  106. package/src/image/editor.scss +18 -0
  107. package/src/image/image.js +32 -8
  108. package/src/image/index.php +1 -1
  109. package/src/navigation/block.json +1 -2
  110. package/src/navigation/deprecated.js +0 -2
  111. package/src/navigation/edit/index.js +166 -60
  112. package/src/navigation/edit/navigation-menu-selector.js +20 -6
  113. package/src/navigation/edit/placeholder/index.js +40 -24
  114. package/src/navigation/edit/responsive-wrapper.js +10 -7
  115. package/src/navigation/edit/unsaved-inner-blocks.js +13 -25
  116. package/src/navigation/edit/use-navigation-notice.js +37 -0
  117. package/src/navigation/editor.scss +14 -0
  118. package/src/navigation/index.php +19 -8
  119. package/src/navigation/menu-items-to-blocks.js +7 -1
  120. package/src/navigation/style.scss +82 -32
  121. package/src/navigation/use-navigation-menu.js +20 -0
  122. package/src/navigation/view.js +15 -9
  123. package/src/navigation-link/index.php +1 -1
  124. package/src/navigation-submenu/edit.js +1 -1
  125. package/src/navigation-submenu/index.php +9 -3
  126. package/src/page-list/index.php +9 -4
  127. package/src/post-comments/block.json +5 -1
  128. package/src/post-comments/index.php +17 -0
  129. package/src/post-comments/style.scss +7 -3
  130. package/src/post-comments-form/index.php +6 -4
  131. package/src/post-comments-form/style.scss +7 -5
  132. package/src/post-template/edit.js +54 -17
  133. package/src/site-logo/block.json +0 -3
  134. package/src/site-logo/edit.js +6 -5
  135. package/src/site-logo/editor.scss +1 -15
  136. package/src/site-logo/index.php +0 -4
  137. package/src/site-logo/style.scss +3 -1
  138. package/src/template-part/edit/index.js +6 -1
  139. package/src/template-part/index.php +5 -2
@@ -11,6 +11,8 @@ var _element = require("@wordpress/element");
11
11
 
12
12
  var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
+ var _lodash = require("lodash");
15
+
14
16
  var _blockEditor = require("@wordpress/block-editor");
15
17
 
16
18
  var _coreData = require("@wordpress/core-data");
@@ -41,6 +43,8 @@ var _unsavedInnerBlocks = _interopRequireDefault(require("./unsaved-inner-blocks
41
43
 
42
44
  var _navigationMenuDeleteControl = _interopRequireDefault(require("./navigation-menu-delete-control"));
43
45
 
46
+ var _useNavigationNotice = _interopRequireDefault(require("./use-navigation-notice"));
47
+
44
48
  /**
45
49
  * External dependencies
46
50
  */
@@ -52,6 +56,8 @@ var _navigationMenuDeleteControl = _interopRequireDefault(require("./navigation-
52
56
  /**
53
57
  * Internal dependencies
54
58
  */
59
+ const EMPTY_ARRAY = [];
60
+
55
61
  function getComputedStyle(node) {
56
62
  return node.ownerDocument.defaultView.getComputedStyle(node);
57
63
  }
@@ -104,12 +110,22 @@ function Navigation(_ref) {
104
110
  showSubmenuIcon,
105
111
  layout: {
106
112
  justifyContent,
107
- orientation = 'horizontal'
113
+ orientation = 'horizontal',
114
+ flexWrap = 'wrap'
108
115
  } = {}
109
116
  } = attributes;
110
- const [areaMenu, setAreaMenu] = (0, _coreData.useEntityProp)('root', 'navigationArea', 'navigation', navigationArea);
117
+ let areaMenu,
118
+ setAreaMenu = _lodash.noop; // Navigation areas are deprecated and on their way out. Let's not perform
119
+ // the request unless we're in an environment where the endpoint exists.
120
+
121
+ if (process.env.GUTENBERG_PHASE === 2) {
122
+ // eslint-disable-next-line react-hooks/rules-of-hooks
123
+ [areaMenu, setAreaMenu] = (0, _coreData.useEntityProp)('root', 'navigationArea', 'navigation', navigationArea);
124
+ }
125
+
111
126
  const navigationAreaMenu = areaMenu === 0 ? undefined : areaMenu;
112
127
  const ref = navigationArea ? navigationAreaMenu : attributes.ref;
128
+ const registry = (0, _data.useRegistry)();
113
129
  const setRef = (0, _element.useCallback)(postId => {
114
130
  setAttributes({
115
131
  ref: postId
@@ -121,27 +137,41 @@ function Navigation(_ref) {
121
137
  }, [navigationArea]);
122
138
  const [hasAlreadyRendered, RecursionProvider] = (0, _blockEditor.__experimentalUseNoRecursiveRenders)(`navigationMenu/${ref}`);
123
139
  const {
124
- innerBlocks,
140
+ hasUncontrolledInnerBlocks,
141
+ uncontrolledInnerBlocks,
125
142
  isInnerBlockSelected
126
143
  } = (0, _data.useSelect)(select => {
127
144
  const {
145
+ getBlock,
128
146
  getBlocks,
129
147
  hasSelectedInnerBlock
130
- } = select(_blockEditor.store);
148
+ } = select(_blockEditor.store); // This relies on the fact that `getBlock` won't return controlled
149
+ // inner blocks, while `getBlocks` does. It might be more stable to
150
+ // introduce a selector like `getUncontrolledInnerBlocks`, just in
151
+ // case `getBlock` is fixed.
152
+
153
+ const _uncontrolledInnerBlocks = getBlock(clientId).innerBlocks;
154
+
155
+ const _hasUncontrolledInnerBlocks = _uncontrolledInnerBlocks === null || _uncontrolledInnerBlocks === void 0 ? void 0 : _uncontrolledInnerBlocks.length;
156
+
157
+ const _controlledInnerBlocks = _hasUncontrolledInnerBlocks ? EMPTY_ARRAY : getBlocks(clientId);
158
+
159
+ const innerBlocks = _hasUncontrolledInnerBlocks ? _uncontrolledInnerBlocks : _controlledInnerBlocks;
131
160
  return {
132
- innerBlocks: getBlocks(clientId),
161
+ hasSubmenus: !!innerBlocks.find(block => block.name === 'core/navigation-submenu'),
162
+ hasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,
163
+ uncontrolledInnerBlocks: _uncontrolledInnerBlocks,
133
164
  isInnerBlockSelected: hasSelectedInnerBlock(clientId, true)
134
165
  };
135
166
  }, [clientId]);
136
- const hasExistingNavItems = !!innerBlocks.length;
137
167
  const {
138
168
  replaceInnerBlocks,
139
169
  selectBlock,
140
170
  __unstableMarkNextChangeAsNotPersistent
141
171
  } = (0, _data.useDispatch)(_blockEditor.store);
142
172
  const [hasSavedUnsavedInnerBlocks, setHasSavedUnsavedInnerBlocks] = (0, _element.useState)(false);
143
- const isWithinUnassignedArea = navigationArea && !ref;
144
- const [isPlaceholderShown, setIsPlaceholderShown] = (0, _element.useState)(!hasExistingNavItems || isWithinUnassignedArea);
173
+ const isWithinUnassignedArea = !!navigationArea && !ref;
174
+ const [isPlaceholderShown, setIsPlaceholderShown] = (0, _element.useState)(!hasUncontrolledInnerBlocks || isWithinUnassignedArea);
145
175
  const [isResponsiveMenuOpen, setResponsiveMenuVisibility] = (0, _element.useState)(false);
146
176
  const {
147
177
  isNavigationMenuResolved,
@@ -149,7 +179,13 @@ function Navigation(_ref) {
149
179
  canSwitchNavigationMenu,
150
180
  hasResolvedNavigationMenus,
151
181
  navigationMenus,
152
- navigationMenu
182
+ navigationMenu,
183
+ canUserUpdateNavigationEntity,
184
+ hasResolvedCanUserUpdateNavigationEntity,
185
+ canUserDeleteNavigationEntity,
186
+ hasResolvedCanUserDeleteNavigationEntity,
187
+ canUserCreateNavigation,
188
+ hasResolvedCanUserCreateNavigation
153
189
  } = (0, _useNavigationMenu.default)(ref);
154
190
  const navRef = (0, _element.useRef)();
155
191
  const isDraftNavigationMenu = (navigationMenu === null || navigationMenu === void 0 ? void 0 : navigationMenu.status) === 'draft';
@@ -163,6 +199,10 @@ function Navigation(_ref) {
163
199
  className: (0, _classnames.default)(className, {
164
200
  'items-justified-right': justifyContent === 'right',
165
201
  'items-justified-space-between': justifyContent === 'space-between',
202
+ 'items-justified-left': justifyContent === 'left',
203
+ 'items-justified-center': justifyContent === 'center',
204
+ 'is-vertical': orientation === 'vertical',
205
+ 'no-wrap': flexWrap === 'nowrap',
166
206
  'is-responsive': 'never' !== overlayMenu,
167
207
  'has-text-color': !!textColor.color || !!(textColor !== null && textColor !== void 0 && textColor.class),
168
208
  [(0, _blockEditor.getColorClassName)('color', textColor === null || textColor === void 0 ? void 0 : textColor.slug)]: !!(textColor !== null && textColor !== void 0 && textColor.slug),
@@ -202,12 +242,14 @@ function Navigation(_ref) {
202
242
  }
203
243
  }, [orientation]);
204
244
  (0, _element.useEffect)(() => {
245
+ var _navRef$current;
246
+
205
247
  if (!enableContrastChecking) {
206
248
  return;
207
249
  }
208
250
 
209
251
  detectColors(navRef.current, setDetectedColor, setDetectedBackgroundColor);
210
- const subMenuElement = navRef.current.querySelector('[data-type="core/navigation-link"] [data-type="core/navigation-link"]');
252
+ const subMenuElement = (_navRef$current = navRef.current) === null || _navRef$current === void 0 ? void 0 : _navRef$current.querySelector('[data-type="core/navigation-link"] [data-type="core/navigation-link"]');
211
253
 
212
254
  if (subMenuElement) {
213
255
  detectColors(subMenuElement, setDetectedOverlayColor, setDetectedOverlayBackgroundColor);
@@ -216,47 +258,78 @@ function Navigation(_ref) {
216
258
 
217
259
  (0, _element.useEffect)(() => {
218
260
  setIsPlaceholderShown(!isEntityAvailable);
219
- }, [isEntityAvailable]); // If the ref no longer exists the reset the inner blocks
220
- // to provide a clean slate.
221
-
261
+ }, [isEntityAvailable]);
262
+ const [showCantEditNotice, hideCantEditNotice] = (0, _useNavigationNotice.default)({
263
+ name: 'block-library/core/navigation/permissions/update',
264
+ message: (0, _i18n.__)('You do not have permission to edit this Menu. Any changes made will not be saved.')
265
+ });
266
+ const [showCantCreateNotice, hideCantCreateNotice] = (0, _useNavigationNotice.default)({
267
+ name: 'block-library/core/navigation/permissions/create',
268
+ message: (0, _i18n.__)('You do not have permission to create Navigation Menus.')
269
+ });
222
270
  (0, _element.useEffect)(() => {
223
- if (ref === undefined && innerBlocks.length > 0) {
224
- replaceInnerBlocks(clientId, []);
225
- } // innerBlocks are intentionally not listed as deps. This function is only concerned
226
- // with the snapshot from the time when ref became undefined.
271
+ if (!isSelected && !isInnerBlockSelected) {
272
+ hideCantEditNotice();
273
+ hideCantCreateNotice();
274
+ }
227
275
 
228
- }, [clientId, ref, innerBlocks]);
229
- const startWithEmptyMenu = (0, _element.useCallback)(() => {
230
- if (navigationArea) {
231
- setAreaMenu(0);
276
+ if (isSelected || isInnerBlockSelected) {
277
+ if (hasResolvedCanUserUpdateNavigationEntity && !canUserUpdateNavigationEntity) {
278
+ showCantEditNotice();
279
+ }
280
+
281
+ if (!ref && hasResolvedCanUserCreateNavigation && !canUserCreateNavigation) {
282
+ showCantCreateNotice();
283
+ }
232
284
  }
285
+ }, [isSelected, isInnerBlockSelected, canUserUpdateNavigationEntity, hasResolvedCanUserUpdateNavigationEntity, canUserCreateNavigation, hasResolvedCanUserCreateNavigation, ref]);
286
+ const startWithEmptyMenu = (0, _element.useCallback)(() => {
287
+ registry.batch(() => {
288
+ if (navigationArea) {
289
+ setAreaMenu(0);
290
+ }
233
291
 
234
- setAttributes({
235
- ref: undefined
292
+ setAttributes({
293
+ ref: undefined
294
+ });
295
+
296
+ if (!ref) {
297
+ replaceInnerBlocks(clientId, []);
298
+ }
299
+
300
+ setIsPlaceholderShown(true);
236
301
  });
237
- setIsPlaceholderShown(true);
238
- }, [clientId]); // If the block has inner blocks, but no menu id, this was an older
302
+ }, [clientId, ref]); // If the block has inner blocks, but no menu id, this was an older
239
303
  // navigation block added before the block used a wp_navigation entity.
240
304
  // Either this block was saved in the content or inserted by a pattern.
241
305
  // Consider this 'unsaved'. Offer an uncontrolled version of inner blocks,
242
306
  // that automatically saves the menu.
243
307
 
244
- const hasUnsavedBlocks = hasExistingNavItems && !isEntityAvailable && !isWithinUnassignedArea;
308
+ const hasUnsavedBlocks = hasUncontrolledInnerBlocks && !isEntityAvailable;
245
309
 
246
310
  if (hasUnsavedBlocks) {
247
- return (0, _element.createElement)(_unsavedInnerBlocks.default, {
311
+ return (0, _element.createElement)("nav", blockProps, (0, _element.createElement)(_responsiveWrapper.default, {
312
+ id: clientId,
313
+ onToggle: setResponsiveMenuVisibility,
314
+ isOpen: isResponsiveMenuOpen,
315
+ isResponsive: 'never' !== overlayMenu,
316
+ isHiddenByDefault: 'always' === overlayMenu,
317
+ classNames: overlayClassnames,
318
+ styles: overlayStyles
319
+ }, (0, _element.createElement)(_unsavedInnerBlocks.default, {
248
320
  blockProps: blockProps,
249
- blocks: innerBlocks,
321
+ blocks: uncontrolledInnerBlocks,
250
322
  clientId: clientId,
251
323
  navigationMenus: navigationMenus,
252
324
  hasSelection: isSelected || isInnerBlockSelected,
253
325
  hasSavedUnsavedInnerBlocks: hasSavedUnsavedInnerBlocks,
254
326
  onSave: post => {
327
+ // Set some state used as a guard to prevent the creation of multiple posts.
255
328
  setHasSavedUnsavedInnerBlocks(true); // Switch to using the wp_navigation entity.
256
329
 
257
330
  setRef(post.id);
258
331
  }
259
- });
332
+ })));
260
333
  } // Show a warning if the selected menu is no longer available.
261
334
  // TODO - the user should be able to select a new one?
262
335
 
@@ -293,7 +366,8 @@ function Navigation(_ref) {
293
366
  setRef(id);
294
367
  onClose();
295
368
  },
296
- onCreateNew: startWithEmptyMenu
369
+ onCreateNew: startWithEmptyMenu,
370
+ showCreate: canUserCreateNavigation
297
371
  });
298
372
  })), (0, _element.createElement)(_components.ToolbarGroup, null, listViewToolbarButton)), listViewModal, (0, _element.createElement)(_blockEditor.InspectorControls, null, hasSubmenuIndicatorSetting && (0, _element.createElement)(_components.PanelBody, {
299
373
  title: (0, _i18n.__)('Display')
@@ -361,17 +435,8 @@ function Navigation(_ref) {
361
435
  textColor: detectedOverlayColor
362
436
  })))), isEntityAvailable && (0, _element.createElement)(_blockEditor.InspectorControls, {
363
437
  __experimentalGroup: "advanced"
364
- }, (0, _element.createElement)(_navigationMenuNameControl.default, null), (0, _element.createElement)(_navigationMenuDeleteControl.default, {
365
- onDelete: () => {
366
- if (navigationArea) {
367
- setAreaMenu(0);
368
- }
369
-
370
- setAttributes({
371
- ref: undefined
372
- });
373
- setIsPlaceholderShown(true);
374
- }
438
+ }, hasResolvedCanUserUpdateNavigationEntity && canUserUpdateNavigationEntity && (0, _element.createElement)(_navigationMenuNameControl.default, null), hasResolvedCanUserDeleteNavigationEntity && canUserDeleteNavigationEntity && (0, _element.createElement)(_navigationMenuDeleteControl.default, {
439
+ onDelete: startWithEmptyMenu
375
440
  })), (0, _element.createElement)("nav", blockProps, isPlaceholderShown && (0, _element.createElement)(PlaceholderComponent, {
376
441
  onFinish: post => {
377
442
  setIsPlaceholderShown(false);
@@ -384,8 +449,9 @@ function Navigation(_ref) {
384
449
  },
385
450
  canSwitchNavigationMenu: canSwitchNavigationMenu,
386
451
  hasResolvedNavigationMenus: hasResolvedNavigationMenus,
387
- clientId: clientId
388
- }), !isEntityAvailable && !isPlaceholderShown && (0, _element.createElement)(_placeholderPreview.default, {
452
+ clientId: clientId,
453
+ canUserCreateNavigation: canUserCreateNavigation
454
+ }), !hasResolvedCanUserCreateNavigation || !isEntityAvailable && !isPlaceholderShown && (0, _element.createElement)(_placeholderPreview.default, {
389
455
  isLoading: true
390
456
  }), !isPlaceholderShown && (0, _element.createElement)(_responsiveWrapper.default, {
391
457
  id: clientId,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","context","navigationArea","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","customAppender","CustomAppender","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","areaMenu","setAreaMenu","navigationAreaMenu","undefined","ref","setRef","postId","hasAlreadyRendered","RecursionProvider","innerBlocks","isInnerBlockSelected","select","getBlocks","hasSelectedInnerBlock","blockEditorStore","hasExistingNavItems","length","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isWithinUnassignedArea","isPlaceholderShown","setIsPlaceholderShown","isResponsiveMenuOpen","setResponsiveMenuVisibility","isNavigationMenuResolved","isNavigationMenuMissing","canSwitchNavigationMenu","hasResolvedNavigationMenus","navigationMenus","navigationMenu","navRef","isDraftNavigationMenu","status","listViewToolbarButton","listViewModal","isEntityAvailable","blockProps","class","slug","style","overlayClassnames","overlayStyles","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","current","subMenuElement","querySelector","startWithEmptyMenu","hasUnsavedBlocks","post","id","PlaceholderComponent","Placeholder","onClose","value","onChange","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { EntityProvider, useEntityProp } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tToolbarDropdownMenu,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useListViewModal from './use-list-view-modal';\nimport useNavigationMenu from '../use-navigation-menu';\nimport Placeholder from './placeholder';\nimport PlaceholderPreview from './placeholder/placeholder-preview';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\tcontext: { navigationArea },\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\tcustomAppender: CustomAppender = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: { justifyContent, orientation = 'horizontal' } = {},\n\t} = attributes;\n\n\tconst [ areaMenu, setAreaMenu ] = useEntityProp(\n\t\t'root',\n\t\t'navigationArea',\n\t\t'navigation',\n\t\tnavigationArea\n\t);\n\n\tconst navigationAreaMenu = areaMenu === 0 ? undefined : areaMenu;\n\n\tconst ref = navigationArea ? navigationAreaMenu : attributes.ref;\n\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( postId );\n\t\t\t}\n\t\t},\n\t\t[ navigationArea ]\n\t);\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\tconst { innerBlocks, isInnerBlockSelected } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst hasExistingNavItems = !! innerBlocks.length;\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst isWithinUnassignedArea = navigationArea && ! ref;\n\n\tconst [ isPlaceholderShown, setIsPlaceholderShown ] = useState(\n\t\t! hasExistingNavItems || isWithinUnassignedArea\n\t);\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst {\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanSwitchNavigationMenu,\n\t\thasResolvedNavigationMenus,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navRef = useRef();\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst { listViewToolbarButton, listViewModal } = useListViewModal(\n\t\tclientId\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\ttextColor?.slug\n\t\t\t) ]: !! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor?.slug\n\t\t\t) ]: !! backgroundColor?.slug,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\n\t};\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\t// Hide the placeholder if an navigation menu entity has loaded.\n\tuseEffect( () => {\n\t\tsetIsPlaceholderShown( ! isEntityAvailable );\n\t}, [ isEntityAvailable ] );\n\n\t// If the ref no longer exists the reset the inner blocks\n\t// to provide a clean slate.\n\tuseEffect( () => {\n\t\tif ( ref === undefined && innerBlocks.length > 0 ) {\n\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t}\n\t\t// innerBlocks are intentionally not listed as deps. This function is only concerned\n\t\t// with the snapshot from the time when ref became undefined.\n\t}, [ clientId, ref, innerBlocks ] );\n\n\tconst startWithEmptyMenu = useCallback( () => {\n\t\tif ( navigationArea ) {\n\t\t\tsetAreaMenu( 0 );\n\t\t}\n\t\tsetAttributes( {\n\t\t\tref: undefined,\n\t\t} );\n\n\t\tsetIsPlaceholderShown( true );\n\t}, [ clientId ] );\n\n\t// If the block has inner blocks, but no menu id, this was an older\n\t// navigation block added before the block used a wp_navigation entity.\n\t// Either this block was saved in the content or inserted by a pattern.\n\t// Consider this 'unsaved'. Offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu.\n\tconst hasUnsavedBlocks =\n\t\thasExistingNavItems && ! isEntityAvailable && ! isWithinUnassignedArea;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<UnsavedInnerBlocks\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tblocks={ innerBlocks }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\thasSavedUnsavedInnerBlocks={ hasSavedUnsavedInnerBlocks }\n\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\tsetRef( post.id );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ startWithEmptyMenu } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\t\tlabel={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ttext={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ticon={ null }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( { id } ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetRef( id );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonCreateNew={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolbarGroup>{ listViewToolbarButton }</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ listViewModal }\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ ! attributes.openSubmenusOnClick && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show icons' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasColorSettings && (\n\t\t\t\t\t\t<PanelColorSettings\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelColorSettings>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\tonDelete={ () => {\n\t\t\t\t\t\t\t\tif ( navigationArea ) {\n\t\t\t\t\t\t\t\t\tsetAreaMenu( 0 );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tref: undefined,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tsetIsPlaceholderShown( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\t\t\t\t<nav { ...blockProps }>\n\t\t\t\t\t{ isPlaceholderShown && (\n\t\t\t\t\t\t<PlaceholderComponent\n\t\t\t\t\t\t\tonFinish={ ( post ) => {\n\t\t\t\t\t\t\t\tsetIsPlaceholderShown( false );\n\t\t\t\t\t\t\t\tif ( post ) {\n\t\t\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcanSwitchNavigationMenu={ canSwitchNavigationMenu }\n\t\t\t\t\t\t\thasResolvedNavigationMenus={\n\t\t\t\t\t\t\t\thasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isEntityAvailable && ! isPlaceholderShown && (\n\t\t\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! isPlaceholderShown && (\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tisVisible={ ! isPlaceholderShown }\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\tappender={ CustomAppender }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t) }\n\t\t\t\t</nav>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["EMPTY_ARRAY","getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","context","navigationArea","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","customAppender","CustomAppender","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","areaMenu","setAreaMenu","noop","process","env","GUTENBERG_PHASE","navigationAreaMenu","undefined","ref","registry","setRef","postId","hasAlreadyRendered","RecursionProvider","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","select","getBlock","getBlocks","hasSelectedInnerBlock","blockEditorStore","_uncontrolledInnerBlocks","innerBlocks","_hasUncontrolledInnerBlocks","length","_controlledInnerBlocks","hasSubmenus","find","block","name","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isWithinUnassignedArea","isPlaceholderShown","setIsPlaceholderShown","isResponsiveMenuOpen","setResponsiveMenuVisibility","isNavigationMenuResolved","isNavigationMenuMissing","canSwitchNavigationMenu","hasResolvedNavigationMenus","navigationMenus","navigationMenu","canUserUpdateNavigationEntity","hasResolvedCanUserUpdateNavigationEntity","canUserDeleteNavigationEntity","hasResolvedCanUserDeleteNavigationEntity","canUserCreateNavigation","hasResolvedCanUserCreateNavigation","navRef","isDraftNavigationMenu","status","listViewToolbarButton","listViewModal","isEntityAvailable","blockProps","class","slug","style","overlayClassnames","overlayStyles","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","current","subMenuElement","querySelector","showCantEditNotice","hideCantEditNotice","message","showCantCreateNotice","hideCantCreateNotice","startWithEmptyMenu","batch","hasUnsavedBlocks","post","id","PlaceholderComponent","Placeholder","onClose","value","onChange","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { EntityProvider, useEntityProp } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tToolbarDropdownMenu,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useListViewModal from './use-list-view-modal';\nimport useNavigationMenu from '../use-navigation-menu';\nimport Placeholder from './placeholder';\nimport PlaceholderPreview from './placeholder/placeholder-preview';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\tcontext: { navigationArea },\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\tcustomAppender: CustomAppender = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t} = attributes;\n\n\tlet areaMenu,\n\t\tsetAreaMenu = noop;\n\t// Navigation areas are deprecated and on their way out. Let's not perform\n\t// the request unless we're in an environment where the endpoint exists.\n\tif ( process.env.GUTENBERG_PHASE === 2 ) {\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\t[ areaMenu, setAreaMenu ] = useEntityProp(\n\t\t\t'root',\n\t\t\t'navigationArea',\n\t\t\t'navigation',\n\t\t\tnavigationArea\n\t\t);\n\t}\n\n\tconst navigationAreaMenu = areaMenu === 0 ? undefined : areaMenu;\n\n\tconst ref = navigationArea ? navigationAreaMenu : attributes.ref;\n\n\tconst registry = useRegistry();\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( postId );\n\t\t\t}\n\t\t},\n\t\t[ navigationArea ]\n\t);\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\t\t\tconst _hasUncontrolledInnerBlocks =\n\t\t\t\t_uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\t\t\tconst innerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t: _controlledInnerBlocks;\n\n\t\t\treturn {\n\t\t\t\thasSubmenus: !! innerBlocks.find(\n\t\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t\t),\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst isWithinUnassignedArea = !! navigationArea && ! ref;\n\n\tconst [ isPlaceholderShown, setIsPlaceholderShown ] = useState(\n\t\t! hasUncontrolledInnerBlocks || isWithinUnassignedArea\n\t);\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst {\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanSwitchNavigationMenu,\n\t\thasResolvedNavigationMenus,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationEntity,\n\t\thasResolvedCanUserUpdateNavigationEntity,\n\t\tcanUserDeleteNavigationEntity,\n\t\thasResolvedCanUserDeleteNavigationEntity,\n\t\tcanUserCreateNavigation,\n\t\thasResolvedCanUserCreateNavigation,\n\t} = useNavigationMenu( ref );\n\n\tconst navRef = useRef();\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst { listViewToolbarButton, listViewModal } = useListViewModal(\n\t\tclientId\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\ttextColor?.slug\n\t\t\t) ]: !! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor?.slug\n\t\t\t) ]: !! backgroundColor?.slug,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\n\t};\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\t// Hide the placeholder if an navigation menu entity has loaded.\n\tuseEffect( () => {\n\t\tsetIsPlaceholderShown( ! isEntityAvailable );\n\t}, [ isEntityAvailable ] );\n\n\tconst [ showCantEditNotice, hideCantEditNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t\tmessage: __(\n\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t),\n\t} );\n\n\tconst [ showCantCreateNotice, hideCantCreateNotice ] = useNavigationNotice(\n\t\t{\n\t\t\tname: 'block-library/core/navigation/permissions/create',\n\t\t\tmessage: __(\n\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t),\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideCantEditNotice();\n\t\t\thideCantCreateNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\thasResolvedCanUserUpdateNavigationEntity &&\n\t\t\t\t! canUserUpdateNavigationEntity\n\t\t\t) {\n\t\t\t\tshowCantEditNotice();\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigation &&\n\t\t\t\t! canUserCreateNavigation\n\t\t\t) {\n\t\t\t\tshowCantCreateNotice();\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationEntity,\n\t\thasResolvedCanUserUpdateNavigationEntity,\n\t\tcanUserCreateNavigation,\n\t\thasResolvedCanUserCreateNavigation,\n\t\tref,\n\t] );\n\n\tconst startWithEmptyMenu = useCallback( () => {\n\t\tregistry.batch( () => {\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( 0 );\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tref: undefined,\n\t\t\t} );\n\t\t\tif ( ! ref ) {\n\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t}\n\t\t\tsetIsPlaceholderShown( true );\n\t\t} );\n\t}, [ clientId, ref ] );\n\n\t// If the block has inner blocks, but no menu id, this was an older\n\t// navigation block added before the block used a wp_navigation entity.\n\t// Either this block was saved in the content or inserted by a pattern.\n\t// Consider this 'unsaved'. Offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</nav>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ startWithEmptyMenu } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\t\tlabel={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ttext={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ticon={ null }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( { id } ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetRef( id );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonCreateNew={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t\t\tshowCreate={ canUserCreateNavigation }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolbarGroup>{ listViewToolbarButton }</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ listViewModal }\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ ! attributes.openSubmenusOnClick && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show icons' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasColorSettings && (\n\t\t\t\t\t\t<PanelColorSettings\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelColorSettings>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationEntity &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationEntity && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationEntity &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationEntity && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\t\t\t\t<nav { ...blockProps }>\n\t\t\t\t\t{ isPlaceholderShown && (\n\t\t\t\t\t\t<PlaceholderComponent\n\t\t\t\t\t\t\tonFinish={ ( post ) => {\n\t\t\t\t\t\t\t\tsetIsPlaceholderShown( false );\n\t\t\t\t\t\t\t\tif ( post ) {\n\t\t\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcanSwitchNavigationMenu={ canSwitchNavigationMenu }\n\t\t\t\t\t\t\thasResolvedNavigationMenus={\n\t\t\t\t\t\t\t\thasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tcanUserCreateNavigation={ canUserCreateNavigation }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! hasResolvedCanUserCreateNavigation ||\n\t\t\t\t\t\t( ! isEntityAvailable && ! isPlaceholderShown && (\n\t\t\t\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ ! isPlaceholderShown && (\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tisVisible={ ! isPlaceholderShown }\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\tappender={ CustomAppender }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t) }\n\t\t\t\t</nav>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
@@ -17,6 +17,8 @@ var _i18n = require("@wordpress/i18n");
17
17
 
18
18
  var _htmlEntities = require("@wordpress/html-entities");
19
19
 
20
+ var _url = require("@wordpress/url");
21
+
20
22
  var _useNavigationMenu = _interopRequireDefault(require("../use-navigation-menu"));
21
23
 
22
24
  /**
@@ -29,7 +31,8 @@ var _useNavigationMenu = _interopRequireDefault(require("../use-navigation-menu"
29
31
  function NavigationMenuSelector(_ref) {
30
32
  let {
31
33
  onSelect,
32
- onCreateNew
34
+ onCreateNew,
35
+ showCreate = false
33
36
  } = _ref;
34
37
  const {
35
38
  navigationMenus
@@ -52,8 +55,12 @@ function NavigationMenuSelector(_ref) {
52
55
  (0, _i18n.__)("Switch to '%s'"), label)
53
56
  };
54
57
  })
55
- })), (0, _element.createElement)(_components.MenuGroup, null, (0, _element.createElement)(_components.MenuItem, {
58
+ })), showCreate && (0, _element.createElement)(_components.MenuGroup, null, (0, _element.createElement)(_components.MenuItem, {
56
59
  onClick: onCreateNew
57
- }, (0, _i18n.__)('Create new menu'))));
60
+ }, (0, _i18n.__)('Create new menu')), (0, _element.createElement)(_components.MenuItem, {
61
+ href: (0, _url.addQueryArgs)('edit.php', {
62
+ post_type: 'wp_navigation'
63
+ })
64
+ }, (0, _i18n.__)('Manage menus'))));
58
65
  }
59
66
  //# sourceMappingURL=navigation-menu-selector.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["NavigationMenuSelector","onSelect","onCreateNew","navigationMenus","ref","selectedId","find","post","id","map","title","label","rendered","value"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AAXA;AACA;AACA;;AAMA;AACA;AACA;AAGe,SAASA,sBAAT,OAA6D;AAAA,MAA5B;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAA4B;AAC3E,QAAM;AAAEC,IAAAA;AAAF,MAAsB,iCAA5B;AACA,QAAMC,GAAG,GAAG,2BAAa,UAAb,EAAyB,eAAzB,CAAZ;AAEA,SACC,qDACC,4BAAC,qBAAD,QACC,4BAAC,2BAAD;AACC,IAAA,KAAK,EAAGA,GADT;AAEC,IAAA,QAAQ,EAAKC,UAAF,IACVJ,QAAQ,CACPE,eAAe,CAACG,IAAhB,CACGC,IAAF,IAAYA,IAAI,CAACC,EAAL,KAAYH,UADzB,CADO,CAHV;AASC,IAAA,OAAO,EAAGF,eAAe,CAACM,GAAhB,CAAqB,SAAqB;AAAA,UAAnB;AAAED,QAAAA,EAAF;AAAME,QAAAA;AAAN,OAAmB;AACnD,YAAMC,KAAK,GAAG,kCAAgBD,KAAK,CAACE,QAAtB,CAAd;AACA,aAAO;AACNC,QAAAA,KAAK,EAAEL,EADD;AAENG,QAAAA,KAFM;AAGN,sBAAc;AACb;AACA,sBAAI,gBAAJ,CAFa,EAGbA,KAHa;AAHR,OAAP;AASA,KAXS;AATX,IADD,CADD,EAyBC,4BAAC,qBAAD,QACC,4BAAC,oBAAD;AAAU,IAAA,OAAO,EAAGT;AAApB,KACG,cAAI,iBAAJ,CADH,CADD,CAzBD,CADD;AAiCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuGroup, MenuItem, MenuItemsChoice } from '@wordpress/components';\nimport { useEntityId } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\n\nexport default function NavigationMenuSelector( { onSelect, onCreateNew } ) {\n\tconst { navigationMenus } = useNavigationMenu();\n\tconst ref = useEntityId( 'postType', 'wp_navigation' );\n\n\treturn (\n\t\t<>\n\t\t\t<MenuGroup>\n\t\t\t\t<MenuItemsChoice\n\t\t\t\t\tvalue={ ref }\n\t\t\t\t\tonSelect={ ( selectedId ) =>\n\t\t\t\t\t\tonSelect(\n\t\t\t\t\t\t\tnavigationMenus.find(\n\t\t\t\t\t\t\t\t( post ) => post.id === selectedId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tchoices={ navigationMenus.map( ( { id, title } ) => {\n\t\t\t\t\t\tconst label = decodeEntities( title.rendered );\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t'aria-label': sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\t__( \"Switch to '%s'\" ),\n\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t};\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</MenuGroup>\n\t\t\t<MenuGroup>\n\t\t\t\t<MenuItem onClick={ onCreateNew }>\n\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t</MenuItem>\n\t\t\t</MenuGroup>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["NavigationMenuSelector","onSelect","onCreateNew","showCreate","navigationMenus","ref","selectedId","find","post","id","map","title","label","rendered","value","post_type"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAZA;AACA;AACA;;AAOA;AACA;AACA;AAGe,SAASA,sBAAT,OAIX;AAAA,MAJ4C;AAC/CC,IAAAA,QAD+C;AAE/CC,IAAAA,WAF+C;AAG/CC,IAAAA,UAAU,GAAG;AAHkC,GAI5C;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAsB,iCAA5B;AACA,QAAMC,GAAG,GAAG,2BAAa,UAAb,EAAyB,eAAzB,CAAZ;AAEA,SACC,qDACC,4BAAC,qBAAD,QACC,4BAAC,2BAAD;AACC,IAAA,KAAK,EAAGA,GADT;AAEC,IAAA,QAAQ,EAAKC,UAAF,IACVL,QAAQ,CACPG,eAAe,CAACG,IAAhB,CACGC,IAAF,IAAYA,IAAI,CAACC,EAAL,KAAYH,UADzB,CADO,CAHV;AASC,IAAA,OAAO,EAAGF,eAAe,CAACM,GAAhB,CAAqB,SAAqB;AAAA,UAAnB;AAAED,QAAAA,EAAF;AAAME,QAAAA;AAAN,OAAmB;AACnD,YAAMC,KAAK,GAAG,kCAAgBD,KAAK,CAACE,QAAtB,CAAd;AACA,aAAO;AACNC,QAAAA,KAAK,EAAEL,EADD;AAENG,QAAAA,KAFM;AAGN,sBAAc;AACb;AACA,sBAAI,gBAAJ,CAFa,EAGbA,KAHa;AAHR,OAAP;AASA,KAXS;AATX,IADD,CADD,EAyBGT,UAAU,IACX,4BAAC,qBAAD,QACC,4BAAC,oBAAD;AAAU,IAAA,OAAO,EAAGD;AAApB,KACG,cAAI,iBAAJ,CADH,CADD,EAIC,4BAAC,oBAAD;AACC,IAAA,IAAI,EAAG,uBAAc,UAAd,EAA0B;AAChCa,MAAAA,SAAS,EAAE;AADqB,KAA1B;AADR,KAKG,cAAI,cAAJ,CALH,CAJD,CA1BF,CADD;AA0CA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuGroup, MenuItem, MenuItemsChoice } from '@wordpress/components';\nimport { useEntityId } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\n\nexport default function NavigationMenuSelector( {\n\tonSelect,\n\tonCreateNew,\n\tshowCreate = false,\n} ) {\n\tconst { navigationMenus } = useNavigationMenu();\n\tconst ref = useEntityId( 'postType', 'wp_navigation' );\n\n\treturn (\n\t\t<>\n\t\t\t<MenuGroup>\n\t\t\t\t<MenuItemsChoice\n\t\t\t\t\tvalue={ ref }\n\t\t\t\t\tonSelect={ ( selectedId ) =>\n\t\t\t\t\t\tonSelect(\n\t\t\t\t\t\t\tnavigationMenus.find(\n\t\t\t\t\t\t\t\t( post ) => post.id === selectedId\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tchoices={ navigationMenus.map( ( { id, title } ) => {\n\t\t\t\t\t\tconst label = decodeEntities( title.rendered );\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t\t'aria-label': sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: The name of a menu. */\n\t\t\t\t\t\t\t\t__( \"Switch to '%s'\" ),\n\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t};\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</MenuGroup>\n\t\t\t{ showCreate && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItem onClick={ onCreateNew }>\n\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\thref={ addQueryArgs( 'edit.php', {\n\t\t\t\t\t\t\tpost_type: 'wp_navigation',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Manage menus' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -43,7 +43,8 @@ const ExistingMenusDropdown = _ref => {
43
43
  setSelectedMenu,
44
44
  onFinish,
45
45
  menus,
46
- onCreateFromMenu
46
+ onCreateFromMenu,
47
+ showClassicMenus = false
47
48
  } = _ref;
48
49
  const toggleProps = {
49
50
  variant: 'tertiary',
@@ -72,7 +73,7 @@ const ExistingMenusDropdown = _ref => {
72
73
  onClose: onClose,
73
74
  key: menu.id
74
75
  }, (0, _htmlEntities.decodeEntities)(menu.title.rendered));
75
- }))), (0, _element.createElement)(_components.MenuGroup, {
76
+ }))), showClassicMenus && (0, _element.createElement)(_components.MenuGroup, {
76
77
  label: (0, _i18n.__)('Classic Menus')
77
78
  }, menus === null || menus === void 0 ? void 0 : menus.map(menu => {
78
79
  return (0, _element.createElement)(_components.MenuItem, {
@@ -92,7 +93,8 @@ function NavigationPlaceholder(_ref3) {
92
93
  clientId,
93
94
  onFinish,
94
95
  canSwitchNavigationMenu,
95
- hasResolvedNavigationMenus
96
+ hasResolvedNavigationMenus,
97
+ canUserCreateNavigation = false
96
98
  } = _ref3;
97
99
  const [selectedMenu, setSelectedMenu] = (0, _element.useState)();
98
100
  const [isCreatingFromMenu, setIsCreatingFromMenu] = (0, _element.useState)(false);
@@ -101,6 +103,11 @@ function NavigationPlaceholder(_ref3) {
101
103
 
102
104
  const onFinishMenuCreation = async function (blocks) {
103
105
  let navigationMenuTitle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
106
+
107
+ if (!canUserCreateNavigation) {
108
+ return;
109
+ }
110
+
104
111
  const navigationMenu = await createNavigationMenu(navigationMenuTitle, blocks);
105
112
  onFinish(navigationMenu, blocks);
106
113
  };
@@ -167,17 +174,18 @@ function NavigationPlaceholder(_ref3) {
167
174
  className: "wp-block-navigation-placeholder__actions__indicator"
168
175
  }, (0, _element.createElement)(_icons.Icon, {
169
176
  icon: _icons.navigation
170
- }), ' ', (0, _i18n.__)('Navigation')), (0, _element.createElement)("hr", null), hasMenus || navigationMenus.length ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(ExistingMenusDropdown, {
177
+ }), ' ', (0, _i18n.__)('Navigation')), (0, _element.createElement)("hr", null), hasMenus || navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(ExistingMenusDropdown, {
171
178
  canSwitchNavigationMenu: canSwitchNavigationMenu,
172
179
  navigationMenus: navigationMenus,
173
180
  setSelectedMenu: setSelectedMenu,
174
181
  onFinish: onFinish,
175
182
  menus: menus,
176
- onCreateFromMenu: onCreateFromMenu
177
- }), (0, _element.createElement)("hr", null)) : undefined, hasPages ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.Button, {
183
+ onCreateFromMenu: onCreateFromMenu,
184
+ showClassicMenus: canUserCreateNavigation
185
+ }), (0, _element.createElement)("hr", null)) : undefined, canUserCreateNavigation && hasPages ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.Button, {
178
186
  variant: "tertiary",
179
187
  onClick: onCreateAllPages
180
- }, (0, _i18n.__)('Add all pages')), (0, _element.createElement)("hr", null)) : undefined, (0, _element.createElement)(_components.Button, {
188
+ }, (0, _i18n.__)('Add all pages')), (0, _element.createElement)("hr", null)) : undefined, canUserCreateNavigation && (0, _element.createElement)(_components.Button, {
181
189
  variant: "tertiary",
182
190
  onClick: onCreateEmptyMenu
183
191
  }, (0, _i18n.__)('Start empty'))))));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["ExistingMenusDropdown","canSwitchNavigationMenu","navigationMenus","setSelectedMenu","onFinish","menus","onCreateFromMenu","toggleProps","variant","iconPosition","className","isAlternate","onClose","map","menu","id","title","rendered","name","NavigationPlaceholder","clientId","hasResolvedNavigationMenus","selectedMenu","isCreatingFromMenu","setIsCreatingFromMenu","menuName","setMenuName","createNavigationMenu","onFinishMenuCreation","blocks","navigationMenuTitle","navigationMenu","isResolvingPages","isResolvingMenus","menuItems","hasResolvedMenuItems","hasPages","hasMenus","isStillLoading","createFromMenu","innerBlocks","menuItemsToBlocks","onCreateEmptyMenu","onCreateAllPages","block","navigation","length","undefined"],"mappings":";;;;;;;;;AAWA;;AARA;;AACA;;AAQA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AAxBA;AACA;AACA;;AAcA;AACA;AACA;AAQA,MAAMA,qBAAqB,GAAG,QAOvB;AAAA,MAPyB;AAC/BC,IAAAA,uBAD+B;AAE/BC,IAAAA,eAF+B;AAG/BC,IAAAA,eAH+B;AAI/BC,IAAAA,QAJ+B;AAK/BC,IAAAA,KAL+B;AAM/BC,IAAAA;AAN+B,GAOzB;AACN,QAAMC,WAAW,GAAG;AACnBC,IAAAA,OAAO,EAAE,UADU;AAEnBC,IAAAA,YAAY,EAAE,OAFK;AAGnBC,IAAAA,SAAS,EAAE;AAHQ,GAApB;AAKA,SACC,4BAAC,wBAAD;AACC,IAAA,IAAI,EAAG,cAAI,aAAJ,CADR;AAEC,IAAA,IAAI,EAAG,IAFR;AAGC,IAAA,WAAW,EAAGH,WAHf;AAIC,IAAA,YAAY,EAAG;AAAEI,MAAAA,WAAW,EAAE;AAAf;AAJhB,KAMG;AAAA,QAAE;AAAEC,MAAAA;AAAF,KAAF;AAAA,WACD,qDACC,4BAAC,qBAAD;AAAW,MAAA,KAAK,EAAG,cAAI,OAAJ;AAAnB,OACGX,uBAAuB,KACxBC,eADwB,aACxBA,eADwB,uBACxBA,eAAe,CAAEW,GAAjB,CAAwBC,IAAF,IAAY;AACjC,aACC,4BAAC,oBAAD;AACC,QAAA,OAAO,EAAG,MAAM;AACfX,UAAAA,eAAe,CAAEW,IAAI,CAACC,EAAP,CAAf;AACAX,UAAAA,QAAQ,CAAEU,IAAF,CAAR;AACA,SAJF;AAKC,QAAA,OAAO,EAAGF,OALX;AAMC,QAAA,GAAG,EAAGE,IAAI,CAACC;AANZ,SAQG,kCACDD,IAAI,CAACE,KAAL,CAAWC,QADV,CARH,CADD;AAcA,KAfD,CADwB,CAD1B,CADD,EAoBC,4BAAC,qBAAD;AAAW,MAAA,KAAK,EAAG,cAAI,eAAJ;AAAnB,OACGZ,KADH,aACGA,KADH,uBACGA,KAAK,CAAEQ,GAAP,CAAcC,IAAF,IAAY;AACzB,aACC,4BAAC,oBAAD;AACC,QAAA,OAAO,EAAG,MAAM;AACfX,UAAAA,eAAe,CAAEW,IAAI,CAACC,EAAP,CAAf;AACAT,UAAAA,gBAAgB,CAAEQ,IAAI,CAACI,IAAP,CAAhB;AACA,SAJF;AAKC,QAAA,OAAO,EAAGN,OALX;AAMC,QAAA,GAAG,EAAGE,IAAI,CAACC;AANZ,SAQG,kCAAgBD,IAAI,CAACI,IAArB,CARH,CADD;AAYA,KAbC,CADH,CApBD,CADC;AAAA,GANH,CADD;AAgDA,CA7DD;;AA+De,SAASC,qBAAT,QAKX;AAAA,MAL2C;AAC9CC,IAAAA,QAD8C;AAE9ChB,IAAAA,QAF8C;AAG9CH,IAAAA,uBAH8C;AAI9CoB,IAAAA;AAJ8C,GAK3C;AACH,QAAM,CAAEC,YAAF,EAAgBnB,eAAhB,IAAoC,wBAA1C;AACA,QAAM,CAAEoB,kBAAF,EAAsBC,qBAAtB,IAAgD,uBAAU,KAAV,CAAtD;AACA,QAAM,CAAEC,QAAF,EAAYC,WAAZ,IAA4B,uBAAU,EAAV,CAAlC;AACA,QAAMC,oBAAoB,GAAG,sCAAyBP,QAAzB,CAA7B;;AAEA,QAAMQ,oBAAoB,GAAG,gBAC5BC,MAD4B,EAGxB;AAAA,QADJC,mBACI,uEADkB,IAClB;AACJ,UAAMC,cAAc,GAAG,MAAMJ,oBAAoB,CAChDG,mBADgD,EAEhDD,MAFgD,CAAjD;AAIAzB,IAAAA,QAAQ,CAAE2B,cAAF,EAAkBF,MAAlB,CAAR;AACA,GATD;;AAWA,QAAM;AACLG,IAAAA,gBADK;AAEL3B,IAAAA,KAFK;AAGL4B,IAAAA,gBAHK;AAILC,IAAAA,SAJK;AAKLC,IAAAA,oBALK;AAMLC,IAAAA,QANK;AAOLC,IAAAA;AAPK,MAQF,oCAAuBf,YAAvB,CARJ;AAUA,QAAMgB,cAAc,GAAGN,gBAAgB,IAAIC,gBAA3C;AAEA,QAAMM,cAAc,GAAG,0BACpBrB,IAAF,IAAY;AACX,UAAM;AAAEsB,MAAAA,WAAW,EAAEX;AAAf,QAA0B,gCAAmBK,SAAnB,CAAhC;AACAN,IAAAA,oBAAoB,CAAEC,MAAF,EAAUX,IAAV,CAApB;AACA,GAJqB,EAKtB,CAAEgB,SAAF,EAAaO,0BAAb,EAAgCrC,QAAhC,CALsB,CAAvB;;AAQA,QAAME,gBAAgB,GAAKY,IAAF,IAAY;AACpC;AACA,QAAKiB,oBAAL,EAA4B;AAC3BI,MAAAA,cAAc,CAAErB,IAAF,CAAd;AACA;AACA,KALmC,CAOpC;;;AACAM,IAAAA,qBAAqB,CAAE,IAAF,CAArB,CARoC,CASpC;;AACAE,IAAAA,WAAW,CAAER,IAAF,CAAX;AACA,GAXD;;AAaA,QAAMwB,iBAAiB,GAAG,MAAM;AAC/Bd,IAAAA,oBAAoB,CAAE,EAAF,CAApB;AACA,GAFD;;AAIA,QAAMe,gBAAgB,GAAG,MAAM;AAC9B,UAAMC,KAAK,GAAG,CAAE,yBAAa,gBAAb,CAAF,CAAd;AACAhB,IAAAA,oBAAoB,CAAEgB,KAAF,CAApB;AACA,GAHD;;AAKA,0BAAW,MAAM;AAChB;AACA;AACA,QAAKrB,kBAAkB,IAAIY,oBAA3B,EAAkD;AACjDI,MAAAA,cAAc,CAAEd,QAAF,CAAd;AACAD,MAAAA,qBAAqB,CAAE,KAAF,CAArB;AACA;AACD,GAPD,EAOG,CAAED,kBAAF,EAAsBY,oBAAtB,EAA4CV,QAA5C,CAPH;AASA,QAAM;AAAEvB,IAAAA;AAAF,MAAsB,iCAA5B;AAEA,SACC,qDACG,CAAE,CAAEmB,0BAAF,IAAgCiB,cAAlC,KACD,4BAAC,2BAAD;AAAoB,IAAA,SAAS;AAA7B,IAFF,EAIGjB,0BAA0B,IAAI,CAAEiB,cAAhC,IACD,4BAAC,uBAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KACC,4BAAC,2BAAD,OADD,EAEC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGO;AAAb,IADD,EAC+B,GAD/B,EAEG,cAAI,YAAJ,CAFH,CADD,EAKC,uCALD,EAMGR,QAAQ,IAAInC,eAAe,CAAC4C,MAA5B,GACD,qDACC,4BAAC,qBAAD;AACC,IAAA,uBAAuB,EACtB7C,uBAFF;AAIC,IAAA,eAAe,EAAGC,eAJnB;AAKC,IAAA,eAAe,EAAGC,eALnB;AAMC,IAAA,QAAQ,EAAGC,QANZ;AAOC,IAAA,KAAK,EAAGC,KAPT;AAQC,IAAA,gBAAgB,EAAGC;AARpB,IADD,EAWC,uCAXD,CADC,GAcEyC,SApBL,EAqBGX,QAAQ,GACT,qDACC,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAGO;AAFX,KAIG,cAAI,eAAJ,CAJH,CADD,EAOC,uCAPD,CADS,GAUNI,SA/BL,EAgCC,4BAAC,kBAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAGL;AAFX,KAIG,cAAI,aAAJ,CAJH,CAhCD,CADD,CAFD,CALF,CADD;AAqDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\n\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport menuItemsToBlocks from '../../menu-items-to-blocks';\nimport useNavigationMenu from '../../use-navigation-menu';\nimport useCreateNavigationMenu from '../use-create-navigation-menu';\n\nconst ExistingMenusDropdown = ( {\n\tcanSwitchNavigationMenu,\n\tnavigationMenus,\n\tsetSelectedMenu,\n\tonFinish,\n\tmenus,\n\tonCreateFromMenu,\n} ) => {\n\tconst toggleProps = {\n\t\tvariant: 'tertiary',\n\t\ticonPosition: 'right',\n\t\tclassName: 'wp-block-navigation-placeholder__actions__dropdown',\n\t};\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttext={ __( 'Select menu' ) }\n\t\t\ticon={ null }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tpopoverProps={ { isAlternate: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t{ canSwitchNavigationMenu &&\n\t\t\t\t\t\t\tnavigationMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\t\tonFinish( menu );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\tmenu.title.rendered\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t<MenuGroup label={ __( 'Classic Menus' ) }>\n\t\t\t\t\t\t{ menus?.map( ( menu ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\tonCreateFromMenu( menu.name );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ decodeEntities( menu.name ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n};\n\nexport default function NavigationPlaceholder( {\n\tclientId,\n\tonFinish,\n\tcanSwitchNavigationMenu,\n\thasResolvedNavigationMenus,\n} ) {\n\tconst [ selectedMenu, setSelectedMenu ] = useState();\n\tconst [ isCreatingFromMenu, setIsCreatingFromMenu ] = useState( false );\n\tconst [ menuName, setMenuName ] = useState( '' );\n\tconst createNavigationMenu = useCreateNavigationMenu( clientId );\n\n\tconst onFinishMenuCreation = async (\n\t\tblocks,\n\t\tnavigationMenuTitle = null\n\t) => {\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonFinish( navigationMenu, blocks );\n\t};\n\n\tconst {\n\t\tisResolvingPages,\n\t\tmenus,\n\t\tisResolvingMenus,\n\t\tmenuItems,\n\t\thasResolvedMenuItems,\n\t\thasPages,\n\t\thasMenus,\n\t} = useNavigationEntities( selectedMenu );\n\n\tconst isStillLoading = isResolvingPages || isResolvingMenus;\n\n\tconst createFromMenu = useCallback(\n\t\t( name ) => {\n\t\t\tconst { innerBlocks: blocks } = menuItemsToBlocks( menuItems );\n\t\t\tonFinishMenuCreation( blocks, name );\n\t\t},\n\t\t[ menuItems, menuItemsToBlocks, onFinish ]\n\t);\n\n\tconst onCreateFromMenu = ( name ) => {\n\t\t// If we have menu items, create the block right away.\n\t\tif ( hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( name );\n\t\t\treturn;\n\t\t}\n\n\t\t// Otherwise, create the block when resolution finishes.\n\t\tsetIsCreatingFromMenu( true );\n\t\t// Store the name to use later.\n\t\tsetMenuName( name );\n\t};\n\n\tconst onCreateEmptyMenu = () => {\n\t\tonFinishMenuCreation( [] );\n\t};\n\n\tconst onCreateAllPages = () => {\n\t\tconst block = [ createBlock( 'core/page-list' ) ];\n\t\tonFinishMenuCreation( block );\n\t};\n\n\tuseEffect( () => {\n\t\t// If the user selected a menu but we had to wait for menu items to\n\t\t// finish resolving, then create the block once resolution finishes.\n\t\tif ( isCreatingFromMenu && hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( menuName );\n\t\t\tsetIsCreatingFromMenu( false );\n\t\t}\n\t}, [ isCreatingFromMenu, hasResolvedMenuItems, menuName ] );\n\n\tconst { navigationMenus } = useNavigationMenu();\n\n\treturn (\n\t\t<>\n\t\t\t{ ( ! hasResolvedNavigationMenus || isStillLoading ) && (\n\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t) }\n\t\t\t{ hasResolvedNavigationMenus && ! isStillLoading && (\n\t\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t\t<PlaceholderPreview />\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__controls\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t\t<Icon icon={ navigation } />{ ' ' }\n\t\t\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t{ hasMenus || navigationMenus.length ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ExistingMenusDropdown\n\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu={\n\t\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\t\t\t\t\tsetSelectedMenu={ setSelectedMenu }\n\t\t\t\t\t\t\t\t\t\tonFinish={ onFinish }\n\t\t\t\t\t\t\t\t\t\tmenus={ menus }\n\t\t\t\t\t\t\t\t\t\tonCreateFromMenu={ onCreateFromMenu }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t{ hasPages ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ onCreateAllPages }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Add all pages' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ onCreateEmptyMenu }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["ExistingMenusDropdown","canSwitchNavigationMenu","navigationMenus","setSelectedMenu","onFinish","menus","onCreateFromMenu","showClassicMenus","toggleProps","variant","iconPosition","className","isAlternate","onClose","map","menu","id","title","rendered","name","NavigationPlaceholder","clientId","hasResolvedNavigationMenus","canUserCreateNavigation","selectedMenu","isCreatingFromMenu","setIsCreatingFromMenu","menuName","setMenuName","createNavigationMenu","onFinishMenuCreation","blocks","navigationMenuTitle","navigationMenu","isResolvingPages","isResolvingMenus","menuItems","hasResolvedMenuItems","hasPages","hasMenus","isStillLoading","createFromMenu","innerBlocks","menuItemsToBlocks","onCreateEmptyMenu","onCreateAllPages","block","navigation","length","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tPlaceholder,\n\tButton,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\n\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport menuItemsToBlocks from '../../menu-items-to-blocks';\nimport useNavigationMenu from '../../use-navigation-menu';\nimport useCreateNavigationMenu from '../use-create-navigation-menu';\n\nconst ExistingMenusDropdown = ( {\n\tcanSwitchNavigationMenu,\n\tnavigationMenus,\n\tsetSelectedMenu,\n\tonFinish,\n\tmenus,\n\tonCreateFromMenu,\n\tshowClassicMenus = false,\n} ) => {\n\tconst toggleProps = {\n\t\tvariant: 'tertiary',\n\t\ticonPosition: 'right',\n\t\tclassName: 'wp-block-navigation-placeholder__actions__dropdown',\n\t};\n\treturn (\n\t\t<DropdownMenu\n\t\t\ttext={ __( 'Select menu' ) }\n\t\t\ticon={ null }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tpopoverProps={ { isAlternate: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t{ canSwitchNavigationMenu &&\n\t\t\t\t\t\t\tnavigationMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\t\tonFinish( menu );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\t\tmenu.title.rendered\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ showClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Classic Menus' ) }>\n\t\t\t\t\t\t\t{ menus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectedMenu( menu.id );\n\t\t\t\t\t\t\t\t\t\t\tonCreateFromMenu( menu.name );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ decodeEntities( menu.name ) }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n};\n\nexport default function NavigationPlaceholder( {\n\tclientId,\n\tonFinish,\n\tcanSwitchNavigationMenu,\n\thasResolvedNavigationMenus,\n\tcanUserCreateNavigation = false,\n} ) {\n\tconst [ selectedMenu, setSelectedMenu ] = useState();\n\tconst [ isCreatingFromMenu, setIsCreatingFromMenu ] = useState( false );\n\tconst [ menuName, setMenuName ] = useState( '' );\n\tconst createNavigationMenu = useCreateNavigationMenu( clientId );\n\n\tconst onFinishMenuCreation = async (\n\t\tblocks,\n\t\tnavigationMenuTitle = null\n\t) => {\n\t\tif ( ! canUserCreateNavigation ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst navigationMenu = await createNavigationMenu(\n\t\t\tnavigationMenuTitle,\n\t\t\tblocks\n\t\t);\n\t\tonFinish( navigationMenu, blocks );\n\t};\n\n\tconst {\n\t\tisResolvingPages,\n\t\tmenus,\n\t\tisResolvingMenus,\n\t\tmenuItems,\n\t\thasResolvedMenuItems,\n\t\thasPages,\n\t\thasMenus,\n\t} = useNavigationEntities( selectedMenu );\n\n\tconst isStillLoading = isResolvingPages || isResolvingMenus;\n\n\tconst createFromMenu = useCallback(\n\t\t( name ) => {\n\t\t\tconst { innerBlocks: blocks } = menuItemsToBlocks( menuItems );\n\t\t\tonFinishMenuCreation( blocks, name );\n\t\t},\n\t\t[ menuItems, menuItemsToBlocks, onFinish ]\n\t);\n\n\tconst onCreateFromMenu = ( name ) => {\n\t\t// If we have menu items, create the block right away.\n\t\tif ( hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( name );\n\t\t\treturn;\n\t\t}\n\n\t\t// Otherwise, create the block when resolution finishes.\n\t\tsetIsCreatingFromMenu( true );\n\t\t// Store the name to use later.\n\t\tsetMenuName( name );\n\t};\n\n\tconst onCreateEmptyMenu = () => {\n\t\tonFinishMenuCreation( [] );\n\t};\n\n\tconst onCreateAllPages = () => {\n\t\tconst block = [ createBlock( 'core/page-list' ) ];\n\t\tonFinishMenuCreation( block );\n\t};\n\n\tuseEffect( () => {\n\t\t// If the user selected a menu but we had to wait for menu items to\n\t\t// finish resolving, then create the block once resolution finishes.\n\t\tif ( isCreatingFromMenu && hasResolvedMenuItems ) {\n\t\t\tcreateFromMenu( menuName );\n\t\t\tsetIsCreatingFromMenu( false );\n\t\t}\n\t}, [ isCreatingFromMenu, hasResolvedMenuItems, menuName ] );\n\n\tconst { navigationMenus } = useNavigationMenu();\n\n\treturn (\n\t\t<>\n\t\t\t{ ( ! hasResolvedNavigationMenus || isStillLoading ) && (\n\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t) }\n\t\t\t{ hasResolvedNavigationMenus && ! isStillLoading && (\n\t\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t\t<PlaceholderPreview />\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__controls\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t\t<Icon icon={ navigation } />{ ' ' }\n\t\t\t\t\t\t\t\t{ __( 'Navigation' ) }\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t\t{ hasMenus || navigationMenus?.length ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ExistingMenusDropdown\n\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu={\n\t\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\t\t\t\t\tsetSelectedMenu={ setSelectedMenu }\n\t\t\t\t\t\t\t\t\t\tonFinish={ onFinish }\n\t\t\t\t\t\t\t\t\t\tmenus={ menus }\n\t\t\t\t\t\t\t\t\t\tonCreateFromMenu={ onCreateFromMenu }\n\t\t\t\t\t\t\t\t\t\tshowClassicMenus={\n\t\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\t\t\t\t\t\t\t{ canUserCreateNavigation && hasPages ? (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ onCreateAllPages }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Add all pages' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t<hr />\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) : undefined }\n\n\t\t\t\t\t\t\t{ canUserCreateNavigation && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ onCreateEmptyMenu }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}