@wordpress/block-library 6.0.7 → 6.0.8

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 (70) hide show
  1. package/build/cover/transforms.js +2 -0
  2. package/build/cover/transforms.js.map +1 -1
  3. package/build/navigation/edit/index.js +14 -2
  4. package/build/navigation/edit/index.js.map +1 -1
  5. package/build/navigation/edit/inner-blocks.js +1 -1
  6. package/build/navigation/edit/inner-blocks.js.map +1 -1
  7. package/build/navigation/edit/responsive-wrapper.js +5 -2
  8. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  9. package/build/page-list/edit.js +40 -42
  10. package/build/page-list/edit.js.map +1 -1
  11. package/build/post-featured-image/edit.js +54 -23
  12. package/build/post-featured-image/edit.js.map +1 -1
  13. package/build-module/cover/transforms.js +2 -0
  14. package/build-module/cover/transforms.js.map +1 -1
  15. package/build-module/navigation/edit/index.js +14 -2
  16. package/build-module/navigation/edit/index.js.map +1 -1
  17. package/build-module/navigation/edit/inner-blocks.js +1 -1
  18. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  19. package/build-module/navigation/edit/responsive-wrapper.js +5 -2
  20. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  21. package/build-module/page-list/edit.js +41 -43
  22. package/build-module/page-list/edit.js.map +1 -1
  23. package/build-module/post-featured-image/edit.js +56 -26
  24. package/build-module/post-featured-image/edit.js.map +1 -1
  25. package/build-style/code/theme-rtl.css +1 -1
  26. package/build-style/code/theme.css +1 -1
  27. package/build-style/cover/style-rtl.css +8 -2
  28. package/build-style/cover/style.css +8 -2
  29. package/build-style/editor-rtl.css +101 -51
  30. package/build-style/editor.css +101 -51
  31. package/build-style/navigation/style-rtl.css +33 -1
  32. package/build-style/navigation/style.css +33 -1
  33. package/build-style/post-comments-form/style-rtl.css +18 -0
  34. package/build-style/post-comments-form/style.css +18 -0
  35. package/build-style/post-featured-image/editor-rtl.css +100 -16
  36. package/build-style/post-featured-image/editor.css +100 -16
  37. package/build-style/social-links/editor-rtl.css +1 -35
  38. package/build-style/social-links/editor.css +1 -35
  39. package/build-style/style-rtl.css +59 -25
  40. package/build-style/style.css +59 -25
  41. package/build-style/theme-rtl.css +1 -1
  42. package/build-style/theme.css +1 -1
  43. package/package.json +7 -7
  44. package/src/calendar/index.php +1 -1
  45. package/src/code/theme.scss +1 -1
  46. package/src/cover/style.scss +9 -2
  47. package/src/cover/transforms.js +2 -0
  48. package/src/gallery/index.php +1 -1
  49. package/src/home-link/index.php +1 -1
  50. package/src/image/index.php +1 -1
  51. package/src/navigation/edit/index.js +25 -0
  52. package/src/navigation/edit/inner-blocks.js +2 -1
  53. package/src/navigation/edit/responsive-wrapper.js +8 -1
  54. package/src/navigation/index.php +45 -5
  55. package/src/navigation/style.scss +46 -2
  56. package/src/navigation-area/index.php +1 -1
  57. package/src/navigation-link/index.php +1 -1
  58. package/src/navigation-submenu/index.php +2 -8
  59. package/src/page-list/edit.js +35 -44
  60. package/src/page-list/index.php +1 -1
  61. package/src/post-comments-form/style.scss +20 -1
  62. package/src/post-featured-image/edit.js +61 -26
  63. package/src/post-featured-image/editor.scss +124 -20
  64. package/src/site-logo/editor.scss +1 -0
  65. package/src/social-links/editor.scss +1 -47
  66. package/src/style.scss +0 -1
  67. package/src/table-of-contents/index.php +1 -1
  68. package/build-style/navigation-submenu/style-rtl.css +0 -97
  69. package/build-style/navigation-submenu/style.css +0 -97
  70. package/src/navigation-submenu/style.scss +0 -25
@@ -33,6 +33,7 @@ const transforms = {
33
33
  style
34
34
  } = _ref;
35
35
  return (0, _blocks.createBlock)('core/cover', {
36
+ dimRatio: 50,
36
37
  url,
37
38
  alt,
38
39
  align,
@@ -60,6 +61,7 @@ const transforms = {
60
61
  anchor
61
62
  } = _ref2;
62
63
  return (0, _blocks.createBlock)('core/cover', {
64
+ dimRatio: 50,
63
65
  url: src,
64
66
  align,
65
67
  id,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/cover/transforms.js"],"names":["transforms","from","type","blocks","transform","caption","url","alt","align","id","anchor","style","color","duotone","content","fontSize","src","backgroundType","VIDEO_BACKGROUND_TYPE","isMatch","backgroundColor","gradient","background","innerBlocks","overlayColor","customOverlayColor","customGradient","to","IMAGE_BACKGROUND_TYPE","title"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { IMAGE_BACKGROUND_TYPE, VIDEO_BACKGROUND_TYPE } from './shared';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { caption, url, alt, align, id, anchor, style } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\turl,\n\t\t\t\t\t\talt,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\tduotone: style?.color?.duotone,\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\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\ttransform: ( { caption, src, align, id, anchor } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\turl: src,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tbackgroundType: VIDEO_BACKGROUND_TYPE,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tisMatch: ( { backgroundColor, gradient, style } ) => {\n\t\t\t\t/*\n\t\t\t\t * Make this transformation available only if the Group has background\n\t\t\t\t * or gradient set, because otherwise `Cover` block displays a Placeholder.\n\t\t\t\t *\n\t\t\t\t * This helps avoid arbitrary decisions about the Cover block's background\n\t\t\t\t * and user confusion about the existence of previous content.\n\t\t\t\t */\n\t\t\t\treturn (\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tstyle?.color?.background ||\n\t\t\t\t\tstyle?.color?.gradient ||\n\t\t\t\t\tgradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: (\n\t\t\t\t{ align, anchor, backgroundColor, gradient, style },\n\t\t\t\tinnerBlocks\n\t\t\t) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\toverlayColor: backgroundColor,\n\t\t\t\t\t\tcustomOverlayColor: style?.color?.background,\n\t\t\t\t\t\tgradient,\n\t\t\t\t\t\tcustomGradient: style?.color?.gradient,\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\tisMatch: ( {\n\t\t\t\tbackgroundType,\n\t\t\t\turl,\n\t\t\t\toverlayColor,\n\t\t\t\tcustomOverlayColor,\n\t\t\t\tgradient,\n\t\t\t\tcustomGradient,\n\t\t\t} ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\t// If a url exists the transform could happen if that URL represents an image background.\n\t\t\t\t\treturn backgroundType === IMAGE_BACKGROUND_TYPE;\n\t\t\t\t}\n\t\t\t\t// If a url is not set the transform could happen if the cover has no background color or gradient;\n\t\t\t\treturn (\n\t\t\t\t\t! overlayColor &&\n\t\t\t\t\t! customOverlayColor &&\n\t\t\t\t\t! gradient &&\n\t\t\t\t\t! customGradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: ( { title, url, alt, align, id, anchor, style } ) =>\n\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\tcaption: title,\n\t\t\t\t\turl,\n\t\t\t\t\talt,\n\t\t\t\t\talign,\n\t\t\t\t\tid,\n\t\t\t\t\tanchor,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\tduotone: style?.color?.duotone,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\tisMatch: ( {\n\t\t\t\tbackgroundType,\n\t\t\t\turl,\n\t\t\t\toverlayColor,\n\t\t\t\tcustomOverlayColor,\n\t\t\t\tgradient,\n\t\t\t\tcustomGradient,\n\t\t\t} ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\t// If a url exists the transform could happen if that URL represents a video background.\n\t\t\t\t\treturn backgroundType === VIDEO_BACKGROUND_TYPE;\n\t\t\t\t}\n\t\t\t\t// If a url is not set the transform could happen if the cover has no background color or gradient;\n\t\t\t\treturn (\n\t\t\t\t\t! overlayColor &&\n\t\t\t\t\t! customOverlayColor &&\n\t\t\t\t\t! gradient &&\n\t\t\t\t\t! customGradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: ( { title, url, align, id, anchor } ) =>\n\t\t\t\tcreateBlock( 'core/video', {\n\t\t\t\t\tcaption: title,\n\t\t\t\t\tsrc: url,\n\t\t\t\t\tid,\n\t\t\t\t\talign,\n\t\t\t\t\tanchor,\n\t\t\t\t} ),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/cover/transforms.js"],"names":["transforms","from","type","blocks","transform","caption","url","alt","align","id","anchor","style","dimRatio","color","duotone","content","fontSize","src","backgroundType","VIDEO_BACKGROUND_TYPE","isMatch","backgroundColor","gradient","background","innerBlocks","overlayColor","customOverlayColor","customGradient","to","IMAGE_BACKGROUND_TYPE","title"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { IMAGE_BACKGROUND_TYPE, VIDEO_BACKGROUND_TYPE } from './shared';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { caption, url, alt, align, id, anchor, style } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\tdimRatio: 50,\n\t\t\t\t\t\turl,\n\t\t\t\t\t\talt,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\tduotone: style?.color?.duotone,\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\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\ttransform: ( { caption, src, align, id, anchor } ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\tdimRatio: 50,\n\t\t\t\t\t\turl: src,\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tbackgroundType: VIDEO_BACKGROUND_TYPE,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t},\n\t\t\t\t\t[\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\tcontent: caption,\n\t\t\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\t\t} ),\n\t\t\t\t\t]\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\tisMatch: ( { backgroundColor, gradient, style } ) => {\n\t\t\t\t/*\n\t\t\t\t * Make this transformation available only if the Group has background\n\t\t\t\t * or gradient set, because otherwise `Cover` block displays a Placeholder.\n\t\t\t\t *\n\t\t\t\t * This helps avoid arbitrary decisions about the Cover block's background\n\t\t\t\t * and user confusion about the existence of previous content.\n\t\t\t\t */\n\t\t\t\treturn (\n\t\t\t\t\tbackgroundColor ||\n\t\t\t\t\tstyle?.color?.background ||\n\t\t\t\t\tstyle?.color?.gradient ||\n\t\t\t\t\tgradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: (\n\t\t\t\t{ align, anchor, backgroundColor, gradient, style },\n\t\t\t\tinnerBlocks\n\t\t\t) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\toverlayColor: backgroundColor,\n\t\t\t\t\t\tcustomOverlayColor: style?.color?.background,\n\t\t\t\t\t\tgradient,\n\t\t\t\t\t\tcustomGradient: style?.color?.gradient,\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\tisMatch: ( {\n\t\t\t\tbackgroundType,\n\t\t\t\turl,\n\t\t\t\toverlayColor,\n\t\t\t\tcustomOverlayColor,\n\t\t\t\tgradient,\n\t\t\t\tcustomGradient,\n\t\t\t} ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\t// If a url exists the transform could happen if that URL represents an image background.\n\t\t\t\t\treturn backgroundType === IMAGE_BACKGROUND_TYPE;\n\t\t\t\t}\n\t\t\t\t// If a url is not set the transform could happen if the cover has no background color or gradient;\n\t\t\t\treturn (\n\t\t\t\t\t! overlayColor &&\n\t\t\t\t\t! customOverlayColor &&\n\t\t\t\t\t! gradient &&\n\t\t\t\t\t! customGradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: ( { title, url, alt, align, id, anchor, style } ) =>\n\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\tcaption: title,\n\t\t\t\t\turl,\n\t\t\t\t\talt,\n\t\t\t\t\talign,\n\t\t\t\t\tid,\n\t\t\t\t\tanchor,\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\tduotone: style?.color?.duotone,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\tisMatch: ( {\n\t\t\t\tbackgroundType,\n\t\t\t\turl,\n\t\t\t\toverlayColor,\n\t\t\t\tcustomOverlayColor,\n\t\t\t\tgradient,\n\t\t\t\tcustomGradient,\n\t\t\t} ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\t// If a url exists the transform could happen if that URL represents a video background.\n\t\t\t\t\treturn backgroundType === VIDEO_BACKGROUND_TYPE;\n\t\t\t\t}\n\t\t\t\t// If a url is not set the transform could happen if the cover has no background color or gradient;\n\t\t\t\treturn (\n\t\t\t\t\t! overlayColor &&\n\t\t\t\t\t! customOverlayColor &&\n\t\t\t\t\t! gradient &&\n\t\t\t\t\t! customGradient\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: ( { title, url, align, id, anchor } ) =>\n\t\t\t\tcreateBlock( 'core/video', {\n\t\t\t\t\tcaption: title,\n\t\t\t\t\tsrc: url,\n\t\t\t\t\tid,\n\t\t\t\t\talign,\n\t\t\t\t\tanchor,\n\t\t\t\t} ),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
@@ -175,7 +175,17 @@ function Navigation(_ref) {
175
175
  color: !(textColor !== null && textColor !== void 0 && textColor.slug) && (textColor === null || textColor === void 0 ? void 0 : textColor.color),
176
176
  backgroundColor: !(backgroundColor !== null && backgroundColor !== void 0 && backgroundColor.slug) && (backgroundColor === null || backgroundColor === void 0 ? void 0 : backgroundColor.color)
177
177
  }
178
- }); // Turn on contrast checker for web only since it's not supported on mobile yet.
178
+ });
179
+ const overlayClassnames = (0, _classnames.default)({
180
+ 'has-text-color': !!overlayTextColor.color || !!(overlayTextColor !== null && overlayTextColor !== void 0 && overlayTextColor.class),
181
+ [(0, _blockEditor.getColorClassName)('color', overlayTextColor === null || overlayTextColor === void 0 ? void 0 : overlayTextColor.slug)]: !!(overlayTextColor !== null && overlayTextColor !== void 0 && overlayTextColor.slug),
182
+ 'has-background': !!overlayBackgroundColor.color || (overlayBackgroundColor === null || overlayBackgroundColor === void 0 ? void 0 : overlayBackgroundColor.class),
183
+ [(0, _blockEditor.getColorClassName)('background-color', overlayBackgroundColor === null || overlayBackgroundColor === void 0 ? void 0 : overlayBackgroundColor.slug)]: !!(overlayBackgroundColor !== null && overlayBackgroundColor !== void 0 && overlayBackgroundColor.slug)
184
+ });
185
+ const overlayStyles = {
186
+ color: !(overlayTextColor !== null && overlayTextColor !== void 0 && overlayTextColor.slug) && (overlayTextColor === null || overlayTextColor === void 0 ? void 0 : overlayTextColor.color),
187
+ backgroundColor: !(overlayBackgroundColor !== null && overlayBackgroundColor !== void 0 && overlayBackgroundColor.slug) && (overlayBackgroundColor === null || overlayBackgroundColor === void 0 ? void 0 : overlayBackgroundColor.color) && overlayBackgroundColor.color
188
+ }; // Turn on contrast checker for web only since it's not supported on mobile yet.
179
189
 
180
190
  const enableContrastChecking = _element.Platform.OS === 'web';
181
191
  const [detectedBackgroundColor, setDetectedBackgroundColor] = (0, _element.useState)();
@@ -367,7 +377,9 @@ function Navigation(_ref) {
367
377
  onToggle: setResponsiveMenuVisibility,
368
378
  isOpen: isResponsiveMenuOpen,
369
379
  isResponsive: 'never' !== overlayMenu,
370
- isHiddenByDefault: 'always' === overlayMenu
380
+ isHiddenByDefault: 'always' === overlayMenu,
381
+ classNames: overlayClassnames,
382
+ styles: overlayStyles
371
383
  }, isEntityAvailable && (0, _element.createElement)(_innerBlocks.default, {
372
384
  isVisible: !isPlaceholderShown,
373
385
  clientId: 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","navigationMenuId","setNavigationMenuId","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","ref","class","slug","style","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","current","subMenuElement","querySelector","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} 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 NavigationMenuPublishButton from './navigation-menu-publish-button';\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 navigationMenuId = navigationArea\n\t\t? navigationAreaMenu\n\t\t: attributes.navigationMenuId;\n\n\tconst setNavigationMenuId = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { navigationMenuId: 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/${ navigationMenuId }`\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 && ! navigationMenuId;\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( navigationMenuId );\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\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 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\tsetNavigationMenuId( 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 ( navigationMenuId && 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</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\n\t\t\tkind=\"postType\"\n\t\t\ttype=\"wp_navigation\"\n\t\t\tid={ navigationMenuId }\n\t\t>\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\tsetNavigationMenuId( 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={ () => {\n\t\t\t\t\t\t\t\t\t\t\tif ( navigationArea ) {\n\t\t\t\t\t\t\t\t\t\t\t\tsetAreaMenu( 0 );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tnavigationMenuId: undefined,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\tsetIsPlaceholderShown( true );\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) }\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\t{ isDraftNavigationMenu && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<NavigationMenuPublishButton />\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\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\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\treplaceInnerBlocks( clientId, [] );\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\tnavigationMenuId: 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{ ! isEntityAvailable && 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\tsetNavigationMenuId( post.id );\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/>\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>\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":["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","navigationMenuId","setNavigationMenuId","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","ref","class","slug","style","overlayClassnames","overlayStyles","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","current","subMenuElement","querySelector","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} 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 NavigationMenuPublishButton from './navigation-menu-publish-button';\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 navigationMenuId = navigationArea\n\t\t? navigationAreaMenu\n\t\t: attributes.navigationMenuId;\n\n\tconst setNavigationMenuId = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { navigationMenuId: 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/${ navigationMenuId }`\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 && ! navigationMenuId;\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( navigationMenuId );\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 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\tsetNavigationMenuId( 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 ( navigationMenuId && 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</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\n\t\t\tkind=\"postType\"\n\t\t\ttype=\"wp_navigation\"\n\t\t\tid={ navigationMenuId }\n\t\t>\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\tsetNavigationMenuId( 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={ () => {\n\t\t\t\t\t\t\t\t\t\t\tif ( navigationArea ) {\n\t\t\t\t\t\t\t\t\t\t\t\tsetAreaMenu( 0 );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tnavigationMenuId: undefined,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t\tsetIsPlaceholderShown( true );\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) }\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\t{ isDraftNavigationMenu && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<NavigationMenuPublishButton />\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\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\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\treplaceInnerBlocks( clientId, [] );\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\tnavigationMenuId: 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{ ! isEntityAvailable && 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\tsetNavigationMenuId( post.id );\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/>\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"]}
@@ -65,7 +65,7 @@ function NavigationInnerBlocks(_ref) {
65
65
  let {
66
66
  name
67
67
  } = _ref2;
68
- return name === 'core/navigation-link' || name === 'core/navigation-submenu';
68
+ return name === 'core/navigation-link' || name === 'core/navigation-submenu' || name === 'core/page-list';
69
69
  }), [blocks]); // When the block is selected itself or has a top level item selected that
70
70
  // doesn't itself have children, show the standard appender. Else show no
71
71
  // appender.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/inner-blocks.js"],"names":["ALLOWED_BLOCKS","DEFAULT_BLOCK","LAYOUT","type","alignments","NavigationInnerBlocks","isVisible","clientId","appender","CustomAppender","hasCustomPlaceholder","orientation","isImmediateParentOfSelectedBlock","selectedBlockHasDescendants","isSelected","select","getClientIdsOfDescendants","hasSelectedInnerBlock","getSelectedBlockClientId","blockEditorStore","selectedBlockId","length","blocks","onInput","onChange","shouldDirectInsert","every","name","parentOrChildHasSelection","undefined","placeholder","innerBlocksProps","className","value","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","renderAppender","__experimentalCaptureToolbars","templateLock","__experimentalLayout"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tuseInnerBlocksProps,\n\t__experimentalBlockContentOverlay as BlockContentOverlay,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport PlaceholderPreview from './placeholder/placeholder-preview';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n];\n\nconst DEFAULT_BLOCK = [ 'core/navigation-link' ];\n\nconst LAYOUT = {\n\ttype: 'default',\n\talignments: [],\n};\n\nexport default function NavigationInnerBlocks( {\n\tisVisible,\n\tclientId,\n\tappender: CustomAppender,\n\thasCustomPlaceholder,\n\torientation,\n} ) {\n\tconst {\n\t\tisImmediateParentOfSelectedBlock,\n\t\tselectedBlockHasDescendants,\n\t\tisSelected,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\tselectedBlockHasDescendants: !! getClientIdsOfDescendants( [\n\t\t\t\t\tselectedBlockId,\n\t\t\t\t] )?.length,\n\n\t\t\t\t// This prop is already available but computing it here ensures it's\n\t\t\t\t// fresh compared to isImmediateParentOfSelectedBlock\n\t\t\t\tisSelected: selectedBlockId === clientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_navigation'\n\t);\n\n\tconst shouldDirectInsert = useMemo(\n\t\t() =>\n\t\t\tblocks.every(\n\t\t\t\t( { name } ) =>\n\t\t\t\t\tname === 'core/navigation-link' ||\n\t\t\t\t\tname === 'core/navigation-submenu'\n\t\t\t),\n\t\t[ blocks ]\n\t);\n\n\t// When the block is selected itself or has a top level item selected that\n\t// doesn't itself have children, show the standard appender. Else show no\n\t// appender.\n\tconst parentOrChildHasSelection =\n\t\tisSelected ||\n\t\t( isImmediateParentOfSelectedBlock && ! selectedBlockHasDescendants );\n\tconst appender = isVisible && parentOrChildHasSelection ? undefined : false;\n\n\tconst placeholder = useMemo( () => <PlaceholderPreview />, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-navigation__container',\n\t\t},\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t\t__experimentalDirectInsert: shouldDirectInsert,\n\t\t\torientation,\n\t\t\trenderAppender: CustomAppender || appender,\n\n\t\t\t// Ensure block toolbar is not too far removed from item\n\t\t\t// being edited when in vertical mode.\n\t\t\t// see: https://github.com/WordPress/gutenberg/pull/34615.\n\t\t\t__experimentalCaptureToolbars: orientation !== 'vertical',\n\t\t\t// Template lock set to false here so that the Nav\n\t\t\t// Block on the experimental menus screen does not\n\t\t\t// inherit templateLock={ 'all' }.\n\t\t\ttemplateLock: false,\n\t\t\t__experimentalLayout: LAYOUT,\n\t\t\tplaceholder:\n\t\t\t\t! isVisible || hasCustomPlaceholder ? undefined : placeholder,\n\t\t}\n\t);\n\n\treturn (\n\t\t<BlockContentOverlay\n\t\t\tclientId={ clientId }\n\t\t\ttagName={ 'div' }\n\t\t\twrapperProps={ innerBlocksProps }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/inner-blocks.js"],"names":["ALLOWED_BLOCKS","DEFAULT_BLOCK","LAYOUT","type","alignments","NavigationInnerBlocks","isVisible","clientId","appender","CustomAppender","hasCustomPlaceholder","orientation","isImmediateParentOfSelectedBlock","selectedBlockHasDescendants","isSelected","select","getClientIdsOfDescendants","hasSelectedInnerBlock","getSelectedBlockClientId","blockEditorStore","selectedBlockId","length","blocks","onInput","onChange","shouldDirectInsert","every","name","parentOrChildHasSelection","undefined","placeholder","innerBlocksProps","className","value","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","renderAppender","__experimentalCaptureToolbars","templateLock","__experimentalLayout"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tuseInnerBlocksProps,\n\t__experimentalBlockContentOverlay as BlockContentOverlay,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport PlaceholderPreview from './placeholder/placeholder-preview';\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n];\n\nconst DEFAULT_BLOCK = [ 'core/navigation-link' ];\n\nconst LAYOUT = {\n\ttype: 'default',\n\talignments: [],\n};\n\nexport default function NavigationInnerBlocks( {\n\tisVisible,\n\tclientId,\n\tappender: CustomAppender,\n\thasCustomPlaceholder,\n\torientation,\n} ) {\n\tconst {\n\t\tisImmediateParentOfSelectedBlock,\n\t\tselectedBlockHasDescendants,\n\t\tisSelected,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetClientIdsOfDescendants,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst selectedBlockId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\tisImmediateParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\tfalse\n\t\t\t\t),\n\t\t\t\tselectedBlockHasDescendants: !! getClientIdsOfDescendants( [\n\t\t\t\t\tselectedBlockId,\n\t\t\t\t] )?.length,\n\n\t\t\t\t// This prop is already available but computing it here ensures it's\n\t\t\t\t// fresh compared to isImmediateParentOfSelectedBlock\n\t\t\t\tisSelected: selectedBlockId === clientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_navigation'\n\t);\n\n\tconst shouldDirectInsert = useMemo(\n\t\t() =>\n\t\t\tblocks.every(\n\t\t\t\t( { name } ) =>\n\t\t\t\t\tname === 'core/navigation-link' ||\n\t\t\t\t\tname === 'core/navigation-submenu' ||\n\t\t\t\t\tname === 'core/page-list'\n\t\t\t),\n\t\t[ blocks ]\n\t);\n\n\t// When the block is selected itself or has a top level item selected that\n\t// doesn't itself have children, show the standard appender. Else show no\n\t// appender.\n\tconst parentOrChildHasSelection =\n\t\tisSelected ||\n\t\t( isImmediateParentOfSelectedBlock && ! selectedBlockHasDescendants );\n\tconst appender = isVisible && parentOrChildHasSelection ? undefined : false;\n\n\tconst placeholder = useMemo( () => <PlaceholderPreview />, [] );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-navigation__container',\n\t\t},\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t\t__experimentalDirectInsert: shouldDirectInsert,\n\t\t\torientation,\n\t\t\trenderAppender: CustomAppender || appender,\n\n\t\t\t// Ensure block toolbar is not too far removed from item\n\t\t\t// being edited when in vertical mode.\n\t\t\t// see: https://github.com/WordPress/gutenberg/pull/34615.\n\t\t\t__experimentalCaptureToolbars: orientation !== 'vertical',\n\t\t\t// Template lock set to false here so that the Nav\n\t\t\t// Block on the experimental menus screen does not\n\t\t\t// inherit templateLock={ 'all' }.\n\t\t\ttemplateLock: false,\n\t\t\t__experimentalLayout: LAYOUT,\n\t\t\tplaceholder:\n\t\t\t\t! isVisible || hasCustomPlaceholder ? undefined : placeholder,\n\t\t}\n\t);\n\n\treturn (\n\t\t<BlockContentOverlay\n\t\t\tclientId={ clientId }\n\t\t\ttagName={ 'div' }\n\t\t\twrapperProps={ innerBlocksProps }\n\t\t/>\n\t);\n}\n"]}
@@ -33,14 +33,16 @@ function ResponsiveWrapper(_ref) {
33
33
  isOpen,
34
34
  isResponsive,
35
35
  onToggle,
36
- isHiddenByDefault
36
+ isHiddenByDefault,
37
+ classNames,
38
+ styles
37
39
  } = _ref;
38
40
 
39
41
  if (!isResponsive) {
40
42
  return children;
41
43
  }
42
44
 
43
- const responsiveContainerClasses = (0, _classnames.default)('wp-block-navigation__responsive-container', {
45
+ const responsiveContainerClasses = (0, _classnames.default)('wp-block-navigation__responsive-container', classNames, {
44
46
  'is-menu-open': isOpen,
45
47
  'hidden-by-default': isHiddenByDefault
46
48
  });
@@ -74,6 +76,7 @@ function ResponsiveWrapper(_ref) {
74
76
  height: "1.5"
75
77
  }))), (0, _element.createElement)("div", {
76
78
  className: responsiveContainerClasses,
79
+ style: styles,
77
80
  id: modalId
78
81
  }, (0, _element.createElement)("div", {
79
82
  className: "wp-block-navigation__responsive-close",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/responsive-wrapper.js"],"names":["ResponsiveWrapper","children","id","isOpen","isResponsive","onToggle","isHiddenByDefault","responsiveContainerClasses","openButtonClasses","modalId","close"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;AAMe,SAASA,iBAAT,OAOX;AAAA,MAPuC;AAC1CC,IAAAA,QAD0C;AAE1CC,IAAAA,EAF0C;AAG1CC,IAAAA,MAH0C;AAI1CC,IAAAA,YAJ0C;AAK1CC,IAAAA,QAL0C;AAM1CC,IAAAA;AAN0C,GAOvC;;AACH,MAAK,CAAEF,YAAP,EAAsB;AACrB,WAAOH,QAAP;AACA;;AACD,QAAMM,0BAA0B,GAAG,yBAClC,2CADkC,EAElC;AACC,oBAAgBJ,MADjB;AAEC,yBAAqBG;AAFtB,GAFkC,CAAnC;AAOA,QAAME,iBAAiB,GAAG,yBACzB,gDADyB,EAEzB;AAAE,oBAAgBF;AAAlB,GAFyB,CAA1B;AAKA,QAAMG,OAAO,GAAI,GAAGP,EAAI,QAAxB;AAEA,SACC,qDACG,CAAEC,MAAF,IACD,4BAAC,kBAAD;AACC,qBAAc,MADf;AAEC,qBAAgBA,MAFjB;AAGC,kBAAa,cAAI,WAAJ,CAHd;AAIC,IAAA,SAAS,EAAGK,iBAJb;AAKC,IAAA,OAAO,EAAG,MAAMH,QAAQ,CAAE,IAAF;AALzB,KAOC,4BAAC,eAAD;AACC,IAAA,KAAK,EAAC,4BADP;AAEC,IAAA,OAAO,EAAC,WAFT;AAGC,IAAA,KAAK,EAAC,IAHP;AAIC,IAAA,MAAM,EAAC,IAJR;AAKC,IAAA,IAAI,EAAC,KALN;AAMC,mBAAY,MANb;AAOC,IAAA,SAAS,EAAC;AAPX,KASC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,KAAd;AAAoB,IAAA,KAAK,EAAC,IAA1B;AAA+B,IAAA,MAAM,EAAC;AAAtC,IATD,EAUC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,IAAd;AAAmB,IAAA,KAAK,EAAC,IAAzB;AAA8B,IAAA,MAAM,EAAC;AAArC,IAVD,CAPD,CAFF,EAwBC;AAAK,IAAA,SAAS,EAAGE,0BAAjB;AAA8C,IAAA,EAAE,EAAGE;AAAnD,KACC;AACC,IAAA,SAAS,EAAC,uCADX;AAEC,IAAA,QAAQ,EAAC;AAFV,KAIC;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,kBAAW,MAHZ;AAIC,uBAAmB,GAAGA,OAAS;AAJhC,KAMC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,iDADX;AAEC,kBAAa,cAAI,YAAJ,CAFd;AAGC,IAAA,OAAO,EAAG,MAAMJ,QAAQ,CAAE,KAAF;AAHzB,KAKC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGK;AAAb,IALD,CAND,EAaC;AACC,IAAA,SAAS,EAAC,mDADX;AAEC,IAAA,EAAE,EAAI,GAAGD,OAAS;AAFnB,KAIGR,QAJH,CAbD,CAJD,CADD,CAxBD,CADD;AAsDA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { close, Icon } from '@wordpress/icons';\nimport { Button } from '@wordpress/components';\nimport { SVG, Rect } from '@wordpress/primitives';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ResponsiveWrapper( {\n\tchildren,\n\tid,\n\tisOpen,\n\tisResponsive,\n\tonToggle,\n\tisHiddenByDefault,\n} ) {\n\tif ( ! isResponsive ) {\n\t\treturn children;\n\t}\n\tconst responsiveContainerClasses = classnames(\n\t\t'wp-block-navigation__responsive-container',\n\t\t{\n\t\t\t'is-menu-open': isOpen,\n\t\t\t'hidden-by-default': isHiddenByDefault,\n\t\t}\n\t);\n\tconst openButtonClasses = classnames(\n\t\t'wp-block-navigation__responsive-container-open',\n\t\t{ 'always-shown': isHiddenByDefault }\n\t);\n\n\tconst modalId = `${ id }-modal`;\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isOpen && (\n\t\t\t\t<Button\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-label={ __( 'Open menu' ) }\n\t\t\t\t\tclassName={ openButtonClasses }\n\t\t\t\t\tonClick={ () => onToggle( true ) }\n\t\t\t\t>\n\t\t\t\t\t<SVG\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\twidth=\"24\"\n\t\t\t\t\t\theight=\"24\"\n\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Rect x=\"4\" y=\"7.5\" width=\"16\" height=\"1.5\" />\n\t\t\t\t\t\t<Rect x=\"4\" y=\"15\" width=\"16\" height=\"1.5\" />\n\t\t\t\t\t</SVG>\n\t\t\t\t</Button>\n\t\t\t) }\n\n\t\t\t<div className={ responsiveContainerClasses } id={ modalId }>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"wp-block-navigation__responsive-close\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-dialog\"\n\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\taria-labelledby={ `${ modalId }-title` }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-close\"\n\t\t\t\t\t\t\taria-label={ __( 'Close menu' ) }\n\t\t\t\t\t\t\tonClick={ () => onToggle( false ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-content\"\n\t\t\t\t\t\t\tid={ `${ modalId }-content` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/responsive-wrapper.js"],"names":["ResponsiveWrapper","children","id","isOpen","isResponsive","onToggle","isHiddenByDefault","classNames","styles","responsiveContainerClasses","openButtonClasses","modalId","close"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;AAMe,SAASA,iBAAT,OASX;AAAA,MATuC;AAC1CC,IAAAA,QAD0C;AAE1CC,IAAAA,EAF0C;AAG1CC,IAAAA,MAH0C;AAI1CC,IAAAA,YAJ0C;AAK1CC,IAAAA,QAL0C;AAM1CC,IAAAA,iBAN0C;AAO1CC,IAAAA,UAP0C;AAQ1CC,IAAAA;AAR0C,GASvC;;AACH,MAAK,CAAEJ,YAAP,EAAsB;AACrB,WAAOH,QAAP;AACA;;AACD,QAAMQ,0BAA0B,GAAG,yBAClC,2CADkC,EAElCF,UAFkC,EAGlC;AACC,oBAAgBJ,MADjB;AAEC,yBAAqBG;AAFtB,GAHkC,CAAnC;AAQA,QAAMI,iBAAiB,GAAG,yBACzB,gDADyB,EAEzB;AAAE,oBAAgBJ;AAAlB,GAFyB,CAA1B;AAKA,QAAMK,OAAO,GAAI,GAAGT,EAAI,QAAxB;AAEA,SACC,qDACG,CAAEC,MAAF,IACD,4BAAC,kBAAD;AACC,qBAAc,MADf;AAEC,qBAAgBA,MAFjB;AAGC,kBAAa,cAAI,WAAJ,CAHd;AAIC,IAAA,SAAS,EAAGO,iBAJb;AAKC,IAAA,OAAO,EAAG,MAAML,QAAQ,CAAE,IAAF;AALzB,KAOC,4BAAC,eAAD;AACC,IAAA,KAAK,EAAC,4BADP;AAEC,IAAA,OAAO,EAAC,WAFT;AAGC,IAAA,KAAK,EAAC,IAHP;AAIC,IAAA,MAAM,EAAC,IAJR;AAKC,IAAA,IAAI,EAAC,KALN;AAMC,mBAAY,MANb;AAOC,IAAA,SAAS,EAAC;AAPX,KASC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,KAAd;AAAoB,IAAA,KAAK,EAAC,IAA1B;AAA+B,IAAA,MAAM,EAAC;AAAtC,IATD,EAUC,4BAAC,gBAAD;AAAM,IAAA,CAAC,EAAC,GAAR;AAAY,IAAA,CAAC,EAAC,IAAd;AAAmB,IAAA,KAAK,EAAC,IAAzB;AAA8B,IAAA,MAAM,EAAC;AAArC,IAVD,CAPD,CAFF,EAwBC;AACC,IAAA,SAAS,EAAGI,0BADb;AAEC,IAAA,KAAK,EAAGD,MAFT;AAGC,IAAA,EAAE,EAAGG;AAHN,KAKC;AACC,IAAA,SAAS,EAAC,uCADX;AAEC,IAAA,QAAQ,EAAC;AAFV,KAIC;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,IAAI,EAAC,QAFN;AAGC,kBAAW,MAHZ;AAIC,uBAAmB,GAAGA,OAAS;AAJhC,KAMC,4BAAC,kBAAD;AACC,IAAA,SAAS,EAAC,iDADX;AAEC,kBAAa,cAAI,YAAJ,CAFd;AAGC,IAAA,OAAO,EAAG,MAAMN,QAAQ,CAAE,KAAF;AAHzB,KAKC,4BAAC,WAAD;AAAM,IAAA,IAAI,EAAGO;AAAb,IALD,CAND,EAaC;AACC,IAAA,SAAS,EAAC,mDADX;AAEC,IAAA,EAAE,EAAI,GAAGD,OAAS;AAFnB,KAIGV,QAJH,CAbD,CAJD,CALD,CAxBD,CADD;AA0DA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { close, Icon } from '@wordpress/icons';\nimport { Button } from '@wordpress/components';\nimport { SVG, Rect } from '@wordpress/primitives';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ResponsiveWrapper( {\n\tchildren,\n\tid,\n\tisOpen,\n\tisResponsive,\n\tonToggle,\n\tisHiddenByDefault,\n\tclassNames,\n\tstyles,\n} ) {\n\tif ( ! isResponsive ) {\n\t\treturn children;\n\t}\n\tconst responsiveContainerClasses = classnames(\n\t\t'wp-block-navigation__responsive-container',\n\t\tclassNames,\n\t\t{\n\t\t\t'is-menu-open': isOpen,\n\t\t\t'hidden-by-default': isHiddenByDefault,\n\t\t}\n\t);\n\tconst openButtonClasses = classnames(\n\t\t'wp-block-navigation__responsive-container-open',\n\t\t{ 'always-shown': isHiddenByDefault }\n\t);\n\n\tconst modalId = `${ id }-modal`;\n\n\treturn (\n\t\t<>\n\t\t\t{ ! isOpen && (\n\t\t\t\t<Button\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-label={ __( 'Open menu' ) }\n\t\t\t\t\tclassName={ openButtonClasses }\n\t\t\t\t\tonClick={ () => onToggle( true ) }\n\t\t\t\t>\n\t\t\t\t\t<SVG\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\twidth=\"24\"\n\t\t\t\t\t\theight=\"24\"\n\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tfocusable=\"false\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Rect x=\"4\" y=\"7.5\" width=\"16\" height=\"1.5\" />\n\t\t\t\t\t\t<Rect x=\"4\" y=\"15\" width=\"16\" height=\"1.5\" />\n\t\t\t\t\t</SVG>\n\t\t\t\t</Button>\n\t\t\t) }\n\n\t\t\t<div\n\t\t\t\tclassName={ responsiveContainerClasses }\n\t\t\t\tstyle={ styles }\n\t\t\t\tid={ modalId }\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"wp-block-navigation__responsive-close\"\n\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-dialog\"\n\t\t\t\t\t\trole=\"dialog\"\n\t\t\t\t\t\taria-modal=\"true\"\n\t\t\t\t\t\taria-labelledby={ `${ modalId }-title` }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-close\"\n\t\t\t\t\t\t\taria-label={ __( 'Close menu' ) }\n\t\t\t\t\t\t\tonClick={ () => onToggle( false ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation__responsive-container-content\"\n\t\t\t\t\t\t\tid={ `${ modalId }-content` }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -19,9 +19,9 @@ var _components = require("@wordpress/components");
19
19
 
20
20
  var _i18n = require("@wordpress/i18n");
21
21
 
22
- var _apiFetch = _interopRequireDefault(require("@wordpress/api-fetch"));
22
+ var _data = require("@wordpress/data");
23
23
 
24
- var _url = require("@wordpress/url");
24
+ var _coreData = require("@wordpress/core-data");
25
25
 
26
26
  var _convertToLinksModal = _interopRequireDefault(require("./convert-to-links-modal"));
27
27
 
@@ -79,53 +79,51 @@ function PageListEdit(_ref) {
79
79
  }, (0, _i18n.__)('Edit'))), allowConvertToLinks && isOpen && (0, _element.createElement)(_convertToLinksModal.default, {
80
80
  onClose: closeModal,
81
81
  clientId: clientId
82
- }), totalPages === null && (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_components.Placeholder, null, (0, _element.createElement)(_components.Spinner, null))), totalPages === 0 && (0, _element.createElement)("div", blockProps, (0, _element.createElement)("span", null, (0, _i18n.__)('Page List: No pages to show.'))), totalPages > 0 && (0, _element.createElement)("ul", blockProps, (0, _element.createElement)(PageItems, {
82
+ }), totalPages === undefined && (0, _element.createElement)("div", blockProps, (0, _element.createElement)(_components.Placeholder, null, (0, _element.createElement)(_components.Spinner, null))), totalPages === 0 && (0, _element.createElement)("div", blockProps, (0, _element.createElement)("span", null, (0, _i18n.__)('Page List: No pages to show.'))), totalPages > 0 && (0, _element.createElement)("ul", blockProps, (0, _element.createElement)(PageItems, {
83
83
  context: context,
84
84
  pagesByParentId: pagesByParentId
85
85
  })));
86
86
  }
87
87
 
88
88
  function usePagesByParentId() {
89
- const [pagesByParentId, setPagesByParentId] = (0, _element.useState)(null);
90
- const [totalPages, setTotalPages] = (0, _element.useState)(null);
91
- (0, _element.useEffect)(() => {
92
- async function performFetch() {
93
- setPagesByParentId(null);
94
- setTotalPages(null);
95
- let pages = await (0, _apiFetch.default)({
96
- path: (0, _url.addQueryArgs)('/wp/v2/pages', {
97
- orderby: 'menu_order',
98
- order: 'asc',
99
- _fields: ['id', 'link', 'parent', 'title', 'menu_order'],
100
- per_page: -1
101
- })
102
- }); // TODO: Once the REST API supports passing multiple values to
103
- // 'orderby', this can be removed.
104
- // https://core.trac.wordpress.org/ticket/39037
105
-
106
- pages = (0, _lodash.sortBy)(pages, ['menu_order', 'title.rendered']);
107
- setPagesByParentId(pages.reduce((accumulator, page) => {
108
- const {
109
- parent
110
- } = page;
111
-
112
- if (accumulator.has(parent)) {
113
- accumulator.get(parent).push(page);
114
- } else {
115
- accumulator.set(parent, [page]);
116
- }
117
-
118
- return accumulator;
119
- }, new Map()));
120
- setTotalPages(pages.length);
121
- }
122
-
123
- performFetch();
89
+ const {
90
+ pages
91
+ } = (0, _data.useSelect)(select => {
92
+ const {
93
+ getEntityRecords
94
+ } = select(_coreData.store);
95
+ return {
96
+ pages: getEntityRecords('postType', 'page', {
97
+ orderby: 'menu_order',
98
+ order: 'asc',
99
+ _fields: ['id', 'link', 'parent', 'title', 'menu_order'],
100
+ per_page: -1
101
+ })
102
+ };
124
103
  }, []);
125
- return {
126
- pagesByParentId,
127
- totalPages
128
- };
104
+ return (0, _element.useMemo)(() => {
105
+ // TODO: Once the REST API supports passing multiple values to
106
+ // 'orderby', this can be removed.
107
+ // https://core.trac.wordpress.org/ticket/39037
108
+ const sortedPages = (0, _lodash.sortBy)(pages, ['menu_order', 'title.rendered']);
109
+ const pagesByParentId = sortedPages.reduce((accumulator, page) => {
110
+ const {
111
+ parent
112
+ } = page;
113
+
114
+ if (accumulator.has(parent)) {
115
+ accumulator.get(parent).push(page);
116
+ } else {
117
+ accumulator.set(parent, [page]);
118
+ }
119
+
120
+ return accumulator;
121
+ }, new Map());
122
+ return {
123
+ pagesByParentId,
124
+ totalPages: pages === null || pages === void 0 ? void 0 : pages.length
125
+ };
126
+ }, [pages]);
129
127
  }
130
128
 
131
129
  const PageItems = (0, _element.memo)(function PageItems(_ref2) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/page-list/edit.js"],"names":["MAX_PAGE_COUNT","PageListEdit","context","clientId","pagesByParentId","totalPages","usePagesByParentId","isNavigationChild","allowConvertToLinks","isOpen","setOpen","openModal","closeModal","blockProps","className","textColor","backgroundColor","style","color","setPagesByParentId","setTotalPages","performFetch","pages","path","orderby","order","_fields","per_page","reduce","accumulator","page","parent","has","get","push","set","Map","length","PageItems","parentId","depth","map","hasChildren","id","openSubmenusOnClick","showSubmenuIcon","title","rendered","link","ItemSubmenuToggle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { sortBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { ToolbarButton, Placeholder, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, memo } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport ConvertToLinksModal from './convert-to-links-modal';\nimport { ItemSubmenuIcon } from '../navigation-link/icons';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\n\nexport default function PageListEdit( { context, clientId } ) {\n\tconst { pagesByParentId, totalPages } = usePagesByParentId();\n\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst allowConvertToLinks =\n\t\tisNavigationChild && totalPages <= MAX_PAGE_COUNT;\n\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = () => setOpen( true );\n\tconst closeModal = () => setOpen( false );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\tcontext.textColor\n\t\t\t) ]: !! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ allowConvertToLinks && isOpen && (\n\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ totalPages === null && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</Placeholder>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ totalPages === 0 && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<span>{ __( 'Page List: No pages to show.' ) }</span>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ totalPages > 0 && (\n\t\t\t\t<ul { ...blockProps }>\n\t\t\t\t\t<PageItems\n\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\tpagesByParentId={ pagesByParentId }\n\t\t\t\t\t/>\n\t\t\t\t</ul>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction usePagesByParentId() {\n\tconst [ pagesByParentId, setPagesByParentId ] = useState( null );\n\tconst [ totalPages, setTotalPages ] = useState( null );\n\n\tuseEffect( () => {\n\t\tasync function performFetch() {\n\t\t\tsetPagesByParentId( null );\n\t\t\tsetTotalPages( null );\n\n\t\t\tlet pages = await apiFetch( {\n\t\t\t\tpath: addQueryArgs( '/wp/v2/pages', {\n\t\t\t\t\torderby: 'menu_order',\n\t\t\t\t\torder: 'asc',\n\t\t\t\t\t_fields: [ 'id', 'link', 'parent', 'title', 'menu_order' ],\n\t\t\t\t\tper_page: -1,\n\t\t\t\t} ),\n\t\t\t} );\n\n\t\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t\t// 'orderby', this can be removed.\n\t\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\t\tpages = sortBy( pages, [ 'menu_order', 'title.rendered' ] );\n\n\t\t\tsetPagesByParentId(\n\t\t\t\tpages.reduce( ( accumulator, page ) => {\n\t\t\t\t\tconst { parent } = page;\n\t\t\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t\t\t} else {\n\t\t\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t\t\t}\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}, new Map() )\n\t\t\t);\n\t\t\tsetTotalPages( pages.length );\n\t\t}\n\t\tperformFetch();\n\t}, [] );\n\n\treturn {\n\t\tpagesByParentId,\n\t\ttotalPages,\n\t};\n}\n\nconst PageItems = memo( function PageItems( {\n\tcontext,\n\tpagesByParentId,\n\tparentId = 0,\n\tdepth = 0,\n} ) {\n\tconst pages = pagesByParentId.get( parentId );\n\n\tif ( ! pages?.length ) {\n\t\treturn [];\n\t}\n\n\treturn pages.map( ( page ) => {\n\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tkey={ page.id }\n\t\t\t\tclassName={ classnames( 'wp-block-pages-list__item', {\n\t\t\t\t\t'has-child': hasChildren,\n\t\t\t\t\t'wp-block-navigation-item': isNavigationChild,\n\t\t\t\t\t'open-on-click': context.openSubmenusOnClick,\n\t\t\t\t\t'open-on-hover-click':\n\t\t\t\t\t\t! context.openSubmenusOnClick &&\n\t\t\t\t\t\tcontext.showSubmenuIcon,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t\t<ItemSubmenuToggle title={ page.title?.rendered } />\n\t\t\t\t) : (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-pages-list__item__link',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'wp-block-navigation-item__content': isNavigationChild,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\thref={ page.link }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ page.title?.rendered }\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t\t{ hasChildren && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! context.openSubmenusOnClick &&\n\t\t\t\t\t\t\tcontext.showSubmenuIcon && <ItemSubmenuToggle /> }\n\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\tclassName={ classnames( 'submenu-container', {\n\t\t\t\t\t\t\t\t'wp-block-navigation__submenu-container': isNavigationChild,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PageItems\n\t\t\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\t\t\tpagesByParentId={ pagesByParentId }\n\t\t\t\t\t\t\t\tparentId={ page.id }\n\t\t\t\t\t\t\t\tdepth={ depth + 1 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t} );\n} );\n\nfunction ItemSubmenuToggle( { title } ) {\n\treturn (\n\t\t<button\n\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\taria-expanded=\"false\"\n\t\t>\n\t\t\t{ title }\n\t\t\t<span className=\"wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\">\n\t\t\t\t<ItemSubmenuIcon />\n\t\t\t</span>\n\t\t</button>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/page-list/edit.js"],"names":["MAX_PAGE_COUNT","PageListEdit","context","clientId","pagesByParentId","totalPages","usePagesByParentId","isNavigationChild","allowConvertToLinks","isOpen","setOpen","openModal","closeModal","blockProps","className","textColor","backgroundColor","style","color","undefined","pages","select","getEntityRecords","coreStore","orderby","order","_fields","per_page","sortedPages","reduce","accumulator","page","parent","has","get","push","set","Map","length","PageItems","parentId","depth","map","hasChildren","id","openSubmenusOnClick","showSubmenuIcon","title","rendered","link","ItemSubmenuToggle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { sortBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tgetColorClassName,\n} from '@wordpress/block-editor';\nimport { ToolbarButton, Placeholder, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo, useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport ConvertToLinksModal from './convert-to-links-modal';\nimport { ItemSubmenuIcon } from '../navigation-link/icons';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\n\nexport default function PageListEdit( { context, clientId } ) {\n\tconst { pagesByParentId, totalPages } = usePagesByParentId();\n\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst allowConvertToLinks =\n\t\tisNavigationChild && totalPages <= MAX_PAGE_COUNT;\n\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = () => setOpen( true );\n\tconst closeModal = () => setOpen( false );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\tcontext.textColor\n\t\t\t) ]: !! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t{ allowConvertToLinks && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ allowConvertToLinks && isOpen && (\n\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ totalPages === undefined && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Placeholder>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</Placeholder>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ totalPages === 0 && (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<span>{ __( 'Page List: No pages to show.' ) }</span>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ totalPages > 0 && (\n\t\t\t\t<ul { ...blockProps }>\n\t\t\t\t\t<PageItems\n\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\tpagesByParentId={ pagesByParentId }\n\t\t\t\t\t/>\n\t\t\t\t</ul>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction usePagesByParentId() {\n\tconst { pages } = useSelect( ( select ) => {\n\t\tconst { getEntityRecords } = select( coreStore );\n\n\t\treturn {\n\t\t\tpages: getEntityRecords( 'postType', 'page', {\n\t\t\t\torderby: 'menu_order',\n\t\t\t\torder: 'asc',\n\t\t\t\t_fields: [ 'id', 'link', 'parent', 'title', 'menu_order' ],\n\t\t\t\tper_page: -1,\n\t\t\t} ),\n\t\t};\n\t}, [] );\n\n\treturn useMemo( () => {\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\t\tconst sortedPages = sortBy( pages, [ 'menu_order', 'title.rendered' ] );\n\t\tconst pagesByParentId = sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\n\t\treturn {\n\t\t\tpagesByParentId,\n\t\t\ttotalPages: pages?.length,\n\t\t};\n\t}, [ pages ] );\n}\n\nconst PageItems = memo( function PageItems( {\n\tcontext,\n\tpagesByParentId,\n\tparentId = 0,\n\tdepth = 0,\n} ) {\n\tconst pages = pagesByParentId.get( parentId );\n\n\tif ( ! pages?.length ) {\n\t\treturn [];\n\t}\n\n\treturn pages.map( ( page ) => {\n\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\t\treturn (\n\t\t\t<li\n\t\t\t\tkey={ page.id }\n\t\t\t\tclassName={ classnames( 'wp-block-pages-list__item', {\n\t\t\t\t\t'has-child': hasChildren,\n\t\t\t\t\t'wp-block-navigation-item': isNavigationChild,\n\t\t\t\t\t'open-on-click': context.openSubmenusOnClick,\n\t\t\t\t\t'open-on-hover-click':\n\t\t\t\t\t\t! context.openSubmenusOnClick &&\n\t\t\t\t\t\tcontext.showSubmenuIcon,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t\t<ItemSubmenuToggle title={ page.title?.rendered } />\n\t\t\t\t) : (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-pages-list__item__link',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'wp-block-navigation-item__content': isNavigationChild,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\thref={ page.link }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ page.title?.rendered }\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t\t{ hasChildren && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! context.openSubmenusOnClick &&\n\t\t\t\t\t\t\tcontext.showSubmenuIcon && <ItemSubmenuToggle /> }\n\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\tclassName={ classnames( 'submenu-container', {\n\t\t\t\t\t\t\t\t'wp-block-navigation__submenu-container': isNavigationChild,\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<PageItems\n\t\t\t\t\t\t\t\tcontext={ context }\n\t\t\t\t\t\t\t\tpagesByParentId={ pagesByParentId }\n\t\t\t\t\t\t\t\tparentId={ page.id }\n\t\t\t\t\t\t\t\tdepth={ depth + 1 }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t} );\n} );\n\nfunction ItemSubmenuToggle( { title } ) {\n\treturn (\n\t\t<button\n\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\taria-expanded=\"false\"\n\t\t>\n\t\t\t{ title }\n\t\t\t<span className=\"wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\">\n\t\t\t\t<ItemSubmenuIcon />\n\t\t\t</span>\n\t\t</button>\n\t);\n}\n"]}