@wordpress/edit-site 5.19.2 → 5.19.4

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 (162) hide show
  1. package/build/components/add-new-pattern/index.js +6 -10
  2. package/build/components/add-new-pattern/index.js.map +1 -1
  3. package/build/components/global-styles/font-library-modal/collection-font-details.js +3 -1
  4. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  5. package/build/components/global-styles/font-library-modal/context.js +26 -30
  6. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  7. package/build/components/global-styles/font-library-modal/font-collection.js +31 -11
  8. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  9. package/build/components/global-styles/font-library-modal/index.js +10 -3
  10. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  11. package/build/components/global-styles/font-library-modal/installed-fonts.js +27 -7
  12. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  13. package/build/components/global-styles/font-library-modal/local-fonts.js +35 -8
  14. package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  15. package/build/components/global-styles/font-library-modal/resolvers.js +1 -1
  16. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  17. package/build/components/global-styles/font-library-modal/upload-fonts.js +26 -0
  18. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -0
  19. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +4 -1
  20. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
  21. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js +71 -0
  22. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +1 -0
  23. package/build/components/global-styles/font-library-modal/utils/index.js +4 -1
  24. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  25. package/build/components/page-patterns/grid.js +0 -1
  26. package/build/components/page-patterns/grid.js.map +1 -1
  27. package/build/components/page-patterns/patterns-list.js +1 -1
  28. package/build/components/page-patterns/patterns-list.js.map +1 -1
  29. package/build/components/page-patterns/use-patterns.js +5 -1
  30. package/build/components/page-patterns/use-patterns.js.map +1 -1
  31. package/build/components/page-template-parts/index.js +12 -1
  32. package/build/components/page-template-parts/index.js.map +1 -1
  33. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +1 -1
  34. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  35. package/build/components/sidebar-edit-mode/template-panel/hooks.js +71 -0
  36. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -0
  37. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +2 -2
  38. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
  39. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js +82 -0
  40. package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +1 -0
  41. package/build/components/sidebar-edit-mode/template-panel/template-actions.js +10 -3
  42. package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  43. package/build/components/sidebar-edit-mode/template-panel/template-areas.js +1 -1
  44. package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -1
  45. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +5 -3
  46. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  47. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +5 -4
  48. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  49. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +8 -1
  50. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  51. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +29 -0
  52. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
  53. package/build/components/sidebar-navigation-screen-patterns/index.js +14 -2
  54. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  55. package/build/components/sidebar-navigation-screen-template/home-template-details.js +13 -18
  56. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  57. package/build/components/sidebar-navigation-screen-templates-browse/index.js +16 -4
  58. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  59. package/build/store/selectors.js +4 -5
  60. package/build/store/selectors.js.map +1 -1
  61. package/build/utils/constants.js +1 -1
  62. package/build/utils/constants.js.map +1 -1
  63. package/build-module/components/add-new-pattern/index.js +7 -11
  64. package/build-module/components/add-new-pattern/index.js.map +1 -1
  65. package/build-module/components/global-styles/font-library-modal/collection-font-details.js +3 -1
  66. package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  67. package/build-module/components/global-styles/font-library-modal/context.js +26 -30
  68. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  69. package/build-module/components/global-styles/font-library-modal/font-collection.js +32 -12
  70. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  71. package/build-module/components/global-styles/font-library-modal/index.js +10 -3
  72. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  73. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +28 -8
  74. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  75. package/build-module/components/global-styles/font-library-modal/local-fonts.js +38 -11
  76. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  77. package/build-module/components/global-styles/font-library-modal/resolvers.js +1 -1
  78. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  79. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +17 -0
  80. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -0
  81. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +4 -1
  82. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
  83. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js +63 -0
  84. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +1 -0
  85. package/build-module/components/global-styles/font-library-modal/utils/index.js +4 -1
  86. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  87. package/build-module/components/page-patterns/grid.js +0 -1
  88. package/build-module/components/page-patterns/grid.js.map +1 -1
  89. package/build-module/components/page-patterns/patterns-list.js +1 -1
  90. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  91. package/build-module/components/page-patterns/use-patterns.js +5 -1
  92. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  93. package/build-module/components/page-template-parts/index.js +12 -1
  94. package/build-module/components/page-template-parts/index.js.map +1 -1
  95. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +1 -1
  96. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  97. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +64 -0
  98. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -0
  99. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +3 -3
  100. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
  101. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js +76 -0
  102. package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +1 -0
  103. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +10 -3
  104. package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
  105. package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js +1 -1
  106. package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -1
  107. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +5 -3
  108. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  109. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +5 -4
  110. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  111. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +7 -1
  112. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  113. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +22 -0
  114. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
  115. package/build-module/components/sidebar-navigation-screen-patterns/index.js +14 -2
  116. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  117. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +14 -19
  118. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  119. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +16 -4
  120. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  121. package/build-module/store/selectors.js +4 -5
  122. package/build-module/store/selectors.js.map +1 -1
  123. package/build-module/utils/constants.js +1 -1
  124. package/build-module/utils/constants.js.map +1 -1
  125. package/build-style/style-rtl.css +35 -2
  126. package/build-style/style.css +35 -2
  127. package/package.json +40 -40
  128. package/src/components/add-new-pattern/index.js +7 -10
  129. package/src/components/global-styles/font-library-modal/collection-font-details.js +1 -1
  130. package/src/components/global-styles/font-library-modal/context.js +36 -38
  131. package/src/components/global-styles/font-library-modal/font-collection.js +41 -12
  132. package/src/components/global-styles/font-library-modal/index.js +16 -6
  133. package/src/components/global-styles/font-library-modal/installed-fonts.js +36 -6
  134. package/src/components/global-styles/font-library-modal/local-fonts.js +65 -23
  135. package/src/components/global-styles/font-library-modal/resolvers.js +1 -1
  136. package/src/components/global-styles/font-library-modal/style.scss +18 -1
  137. package/src/components/global-styles/font-library-modal/upload-fonts.js +20 -0
  138. package/src/components/global-styles/font-library-modal/utils/fonts-outline.js +4 -3
  139. package/src/components/global-styles/font-library-modal/utils/get-notice-from-response.js +62 -0
  140. package/src/components/global-styles/font-library-modal/utils/index.js +5 -1
  141. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +1 -1
  142. package/src/components/page-patterns/grid.js +1 -1
  143. package/src/components/page-patterns/patterns-list.js +1 -1
  144. package/src/components/page-patterns/use-patterns.js +7 -3
  145. package/src/components/page-template-parts/index.js +14 -1
  146. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +1 -1
  147. package/src/components/sidebar-edit-mode/template-panel/hooks.js +97 -0
  148. package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +18 -16
  149. package/src/components/sidebar-edit-mode/template-panel/replace-template-button.js +89 -0
  150. package/src/components/sidebar-edit-mode/template-panel/style.scss +18 -0
  151. package/src/components/sidebar-edit-mode/template-panel/template-actions.js +27 -12
  152. package/src/components/sidebar-edit-mode/template-panel/template-areas.js +1 -1
  153. package/src/components/sidebar-navigation-screen/style.scss +0 -1
  154. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +5 -8
  155. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +5 -9
  156. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +11 -5
  157. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +32 -0
  158. package/src/components/sidebar-navigation-screen-patterns/index.js +25 -4
  159. package/src/components/sidebar-navigation-screen-template/home-template-details.js +27 -35
  160. package/src/components/sidebar-navigation-screen-templates-browse/index.js +12 -4
  161. package/src/store/selectors.js +9 -10
  162. package/src/utils/constants.js +1 -1
@@ -12,6 +12,8 @@ var _components = require("@wordpress/components");
12
12
  var _icons = require("@wordpress/icons");
13
13
  var _store = require("../../../store");
14
14
  var _isTemplateRevertable = _interopRequireDefault(require("../../../utils/is-template-revertable"));
15
+ var _replaceTemplateButton = _interopRequireDefault(require("./replace-template-button"));
16
+ var _hooks = require("./hooks");
15
17
  /**
16
18
  * WordPress dependencies
17
19
  */
@@ -23,11 +25,12 @@ var _isTemplateRevertable = _interopRequireDefault(require("../../../utils/is-te
23
25
  function Actions({
24
26
  template
25
27
  }) {
28
+ const availablePatterns = (0, _hooks.useAvailablePatterns)(template);
26
29
  const {
27
30
  revertTemplate
28
31
  } = (0, _data.useDispatch)(_store.store);
29
32
  const isRevertable = (0, _isTemplateRevertable.default)(template);
30
- if (!isRevertable) {
33
+ if (!isRevertable && (!availablePatterns.length || availablePatterns.length < 1)) {
31
34
  return null;
32
35
  }
33
36
  return (0, _element.createElement)(_components.DropdownMenu, {
@@ -39,12 +42,16 @@ function Actions({
39
42
  }
40
43
  }, ({
41
44
  onClose
42
- }) => (0, _element.createElement)(_components.MenuGroup, null, (0, _element.createElement)(_components.MenuItem, {
45
+ }) => (0, _element.createElement)(_components.MenuGroup, null, isRevertable && (0, _element.createElement)(_components.MenuItem, {
43
46
  info: (0, _i18n.__)('Use the template as supplied by the theme.'),
44
47
  onClick: () => {
45
48
  revertTemplate(template);
46
49
  onClose();
47
50
  }
48
- }, (0, _i18n.__)('Clear customizations'))));
51
+ }, (0, _i18n.__)('Clear customizations')), (0, _element.createElement)(_replaceTemplateButton.default, {
52
+ availableTemplates: availablePatterns,
53
+ template: template,
54
+ onClick: onClose
55
+ })));
49
56
  }
50
57
  //# sourceMappingURL=template-actions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_i18n","_components","_icons","_store","_isTemplateRevertable","_interopRequireDefault","Actions","template","revertTemplate","useDispatch","editSiteStore","isRevertable","isTemplateRevertable","_element","createElement","DropdownMenu","icon","moreVertical","label","__","className","toggleProps","isSmall","onClose","MenuGroup","MenuItem","info","onClick"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/template-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport isTemplateRevertable from '../../../utils/is-template-revertable';\n\nexport default function Actions( { template } ) {\n\tconst { revertTemplate } = useDispatch( editSiteStore );\n\tconst isRevertable = isTemplateRevertable( template );\n\tif ( ! isRevertable ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ moreVertical }\n\t\t\tlabel={ __( 'Actions' ) }\n\t\t\tclassName=\"edit-site-template-card__actions\"\n\t\t\ttoggleProps={ { isSmall: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tinfo={ __(\n\t\t\t\t\t\t\t'Use the template as supplied by the theme.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\trevertTemplate( template );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear customizations' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAC,sBAAA,CAAAN,OAAA;AAZA;AACA;AACA;;AAMA;AACA;AACA;;AAIe,SAASO,OAAOA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC/C,MAAM;IAAEC;EAAe,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAc,CAAC;EACvD,MAAMC,YAAY,GAAG,IAAAC,6BAAoB,EAAEL,QAAS,CAAC;EACrD,IAAK,CAAEI,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;EACA,OACC,IAAAE,QAAA,CAAAC,aAAA,EAACb,WAAA,CAAAc,YAAY;IACZC,IAAI,EAAGC,mBAAc;IACrBC,KAAK,EAAG,IAAAC,QAAE,EAAE,SAAU,CAAG;IACzBC,SAAS,EAAC,kCAAkC;IAC5CC,WAAW,EAAG;MAAEC,OAAO,EAAE;IAAK;EAAG,GAE/B,CAAE;IAAEC;EAAQ,CAAC,KACd,IAAAV,QAAA,CAAAC,aAAA,EAACb,WAAA,CAAAuB,SAAS,QACT,IAAAX,QAAA,CAAAC,aAAA,EAACb,WAAA,CAAAwB,QAAQ;IACRC,IAAI,EAAG,IAAAP,QAAE,EACR,4CACD,CAAG;IACHQ,OAAO,EAAGA,CAAA,KAAM;MACfnB,cAAc,CAAED,QAAS,CAAC;MAC1BgB,OAAO,CAAC,CAAC;IACV;EAAG,GAED,IAAAJ,QAAE,EAAE,sBAAuB,CACpB,CACA,CAEC,CAAC;AAEjB"}
1
+ {"version":3,"names":["_data","require","_i18n","_components","_icons","_store","_isTemplateRevertable","_interopRequireDefault","_replaceTemplateButton","_hooks","Actions","template","availablePatterns","useAvailablePatterns","revertTemplate","useDispatch","editSiteStore","isRevertable","isTemplateRevertable","length","_element","createElement","DropdownMenu","icon","moreVertical","label","__","className","toggleProps","isSmall","onClose","MenuGroup","MenuItem","info","onClick","default","availableTemplates"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/template-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport isTemplateRevertable from '../../../utils/is-template-revertable';\nimport ReplaceTemplateButton from './replace-template-button';\nimport { useAvailablePatterns } from './hooks';\n\nexport default function Actions( { template } ) {\n\tconst availablePatterns = useAvailablePatterns( template );\n\tconst { revertTemplate } = useDispatch( editSiteStore );\n\tconst isRevertable = isTemplateRevertable( template );\n\n\tif (\n\t\t! isRevertable &&\n\t\t( ! availablePatterns.length || availablePatterns.length < 1 )\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ moreVertical }\n\t\t\tlabel={ __( 'Actions' ) }\n\t\t\tclassName=\"edit-site-template-card__actions\"\n\t\t\ttoggleProps={ { isSmall: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t{ isRevertable && (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tinfo={ __(\n\t\t\t\t\t\t\t\t'Use the template as supplied by the theme.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\trevertTemplate( template );\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Clear customizations' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ReplaceTemplateButton\n\t\t\t\t\t\tavailableTemplates={ availablePatterns }\n\t\t\t\t\t\ttemplate={ template }\n\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t/>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,qBAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,sBAAA,GAAAD,sBAAA,CAAAN,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAdA;AACA;AACA;;AAMA;AACA;AACA;;AAMe,SAASS,OAAOA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC/C,MAAMC,iBAAiB,GAAG,IAAAC,2BAAoB,EAAEF,QAAS,CAAC;EAC1D,MAAM;IAAEG;EAAe,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAc,CAAC;EACvD,MAAMC,YAAY,GAAG,IAAAC,6BAAoB,EAAEP,QAAS,CAAC;EAErD,IACC,CAAEM,YAAY,KACZ,CAAEL,iBAAiB,CAACO,MAAM,IAAIP,iBAAiB,CAACO,MAAM,GAAG,CAAC,CAAE,EAC7D;IACD,OAAO,IAAI;EACZ;EAEA,OACC,IAAAC,QAAA,CAAAC,aAAA,EAAClB,WAAA,CAAAmB,YAAY;IACZC,IAAI,EAAGC,mBAAc;IACrBC,KAAK,EAAG,IAAAC,QAAE,EAAE,SAAU,CAAG;IACzBC,SAAS,EAAC,kCAAkC;IAC5CC,WAAW,EAAG;MAAEC,OAAO,EAAE;IAAK;EAAG,GAE/B,CAAE;IAAEC;EAAQ,CAAC,KACd,IAAAV,QAAA,CAAAC,aAAA,EAAClB,WAAA,CAAA4B,SAAS,QACPd,YAAY,IACb,IAAAG,QAAA,CAAAC,aAAA,EAAClB,WAAA,CAAA6B,QAAQ;IACRC,IAAI,EAAG,IAAAP,QAAE,EACR,4CACD,CAAG;IACHQ,OAAO,EAAGA,CAAA,KAAM;MACfpB,cAAc,CAAEH,QAAS,CAAC;MAC1BmB,OAAO,CAAC,CAAC;IACV;EAAG,GAED,IAAAJ,QAAE,EAAE,sBAAuB,CACpB,CACV,EACD,IAAAN,QAAA,CAAAC,aAAA,EAACb,sBAAA,CAAA2B,OAAqB;IACrBC,kBAAkB,EAAGxB,iBAAmB;IACxCD,QAAQ,EAAGA,QAAU;IACrBuB,OAAO,EAAGJ;EAAS,CACnB,CACS,CAEC,CAAC;AAEjB"}
@@ -61,7 +61,7 @@ function TemplateAreas() {
61
61
  templatePart,
62
62
  block
63
63
  }) => (0, _element.createElement)("li", {
64
- key: templatePart.slug
64
+ key: block.clientId
65
65
  }, (0, _element.createElement)(TemplateAreaItem, {
66
66
  area: templatePart.area,
67
67
  clientId: block.clientId
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_components","_editor","_blockEditor","_i18n","_store","TemplateAreaItem","area","clientId","selectBlock","toggleBlockHighlight","useDispatch","blockEditorStore","templatePartArea","useSelect","select","defaultAreas","editorStore","__experimentalGetDefaultTemplatePartAreas","find","defaultArea","highlightBlock","cancelHighlightBlock","_element","createElement","Button","className","icon","onMouseOver","onMouseLeave","onFocus","onBlur","onClick","label","TemplateAreas","templateParts","editSiteStore","getCurrentTemplateTemplateParts","length","__experimentalHeading","level","__","map","templatePart","block","key","slug"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/template-areas.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nfunction TemplateAreaItem( { area, clientId } ) {\n\tconst { selectBlock, toggleBlockHighlight } =\n\t\tuseDispatch( blockEditorStore );\n\tconst templatePartArea = useSelect(\n\t\t( select ) => {\n\t\t\tconst defaultAreas =\n\t\t\t\tselect(\n\t\t\t\t\teditorStore\n\t\t\t\t).__experimentalGetDefaultTemplatePartAreas();\n\n\t\t\treturn defaultAreas.find(\n\t\t\t\t( defaultArea ) => defaultArea.area === area\n\t\t\t);\n\t\t},\n\t\t[ area ]\n\t);\n\n\tconst highlightBlock = () => toggleBlockHighlight( clientId, true );\n\tconst cancelHighlightBlock = () => toggleBlockHighlight( clientId, false );\n\n\treturn (\n\t\t<Button\n\t\t\tclassName=\"edit-site-template-card__template-areas-item\"\n\t\t\ticon={ templatePartArea?.icon }\n\t\t\tonMouseOver={ highlightBlock }\n\t\t\tonMouseLeave={ cancelHighlightBlock }\n\t\t\tonFocus={ highlightBlock }\n\t\t\tonBlur={ cancelHighlightBlock }\n\t\t\tonClick={ () => {\n\t\t\t\tselectBlock( clientId );\n\t\t\t} }\n\t\t>\n\t\t\t{ templatePartArea?.label }\n\t\t</Button>\n\t);\n}\n\nexport default function TemplateAreas() {\n\tconst templateParts = useSelect(\n\t\t( select ) => select( editSiteStore ).getCurrentTemplateTemplateParts(),\n\t\t[]\n\t);\n\n\tif ( ! templateParts.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<section className=\"edit-site-template-card__template-areas\">\n\t\t\t<Heading\n\t\t\t\tlevel={ 3 }\n\t\t\t\tclassName=\"edit-site-template-card__template-areas-title\"\n\t\t\t>\n\t\t\t\t{ __( 'Areas' ) }\n\t\t\t</Heading>\n\n\t\t\t<ul className=\"edit-site-template-card__template-areas-list\">\n\t\t\t\t{ templateParts.map( ( { templatePart, block } ) => (\n\t\t\t\t\t<li key={ templatePart.slug }>\n\t\t\t\t\t\t<TemplateAreaItem\n\t\t\t\t\t\t\tarea={ templatePart.area }\n\t\t\t\t\t\t\tclientId={ block.clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</li>\n\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</section>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAIA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AAfA;AACA;AACA;;AAUA;AACA;AACA;;AAGA,SAASM,gBAAgBA,CAAE;EAAEC,IAAI;EAAEC;AAAS,CAAC,EAAG;EAC/C,MAAM;IAAEC,WAAW;IAAEC;EAAqB,CAAC,GAC1C,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAChC,MAAMC,gBAAgB,GAAG,IAAAC,eAAS,EAC/BC,MAAM,IAAM;IACb,MAAMC,YAAY,GACjBD,MAAM,CACLE,aACD,CAAC,CAACC,yCAAyC,CAAC,CAAC;IAE9C,OAAOF,YAAY,CAACG,IAAI,CACrBC,WAAW,IAAMA,WAAW,CAACb,IAAI,KAAKA,IACzC,CAAC;EACF,CAAC,EACD,CAAEA,IAAI,CACP,CAAC;EAED,MAAMc,cAAc,GAAGA,CAAA,KAAMX,oBAAoB,CAAEF,QAAQ,EAAE,IAAK,CAAC;EACnE,MAAMc,oBAAoB,GAAGA,CAAA,KAAMZ,oBAAoB,CAAEF,QAAQ,EAAE,KAAM,CAAC;EAE1E,OACC,IAAAe,QAAA,CAAAC,aAAA,EAACvB,WAAA,CAAAwB,MAAM;IACNC,SAAS,EAAC,8CAA8C;IACxDC,IAAI,EAAGd,gBAAgB,EAAEc,IAAM;IAC/BC,WAAW,EAAGP,cAAgB;IAC9BQ,YAAY,EAAGP,oBAAsB;IACrCQ,OAAO,EAAGT,cAAgB;IAC1BU,MAAM,EAAGT,oBAAsB;IAC/BU,OAAO,EAAGA,CAAA,KAAM;MACfvB,WAAW,CAAED,QAAS,CAAC;IACxB;EAAG,GAEDK,gBAAgB,EAAEoB,KACb,CAAC;AAEX;AAEe,SAASC,aAAaA,CAAA,EAAG;EACvC,MAAMC,aAAa,GAAG,IAAArB,eAAS,EAC5BC,MAAM,IAAMA,MAAM,CAAEqB,YAAc,CAAC,CAACC,+BAA+B,CAAC,CAAC,EACvE,EACD,CAAC;EAED,IAAK,CAAEF,aAAa,CAACG,MAAM,EAAG;IAC7B,OAAO,IAAI;EACZ;EAEA,OACC,IAAAf,QAAA,CAAAC,aAAA;IAASE,SAAS,EAAC;EAAyC,GAC3D,IAAAH,QAAA,CAAAC,aAAA,EAACvB,WAAA,CAAAsC,qBAAO;IACPC,KAAK,EAAG,CAAG;IACXd,SAAS,EAAC;EAA+C,GAEvD,IAAAe,QAAE,EAAE,OAAQ,CACN,CAAC,EAEV,IAAAlB,QAAA,CAAAC,aAAA;IAAIE,SAAS,EAAC;EAA8C,GACzDS,aAAa,CAACO,GAAG,CAAE,CAAE;IAAEC,YAAY;IAAEC;EAAM,CAAC,KAC7C,IAAArB,QAAA,CAAAC,aAAA;IAAIqB,GAAG,EAAGF,YAAY,CAACG;EAAM,GAC5B,IAAAvB,QAAA,CAAAC,aAAA,EAAClB,gBAAgB;IAChBC,IAAI,EAAGoC,YAAY,CAACpC,IAAM;IAC1BC,QAAQ,EAAGoC,KAAK,CAACpC;EAAU,CAC3B,CACE,CACH,CACC,CACI,CAAC;AAEZ"}
1
+ {"version":3,"names":["_data","require","_components","_editor","_blockEditor","_i18n","_store","TemplateAreaItem","area","clientId","selectBlock","toggleBlockHighlight","useDispatch","blockEditorStore","templatePartArea","useSelect","select","defaultAreas","editorStore","__experimentalGetDefaultTemplatePartAreas","find","defaultArea","highlightBlock","cancelHighlightBlock","_element","createElement","Button","className","icon","onMouseOver","onMouseLeave","onFocus","onBlur","onClick","label","TemplateAreas","templateParts","editSiteStore","getCurrentTemplateTemplateParts","length","__experimentalHeading","level","__","map","templatePart","block","key"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/template-areas.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nfunction TemplateAreaItem( { area, clientId } ) {\n\tconst { selectBlock, toggleBlockHighlight } =\n\t\tuseDispatch( blockEditorStore );\n\tconst templatePartArea = useSelect(\n\t\t( select ) => {\n\t\t\tconst defaultAreas =\n\t\t\t\tselect(\n\t\t\t\t\teditorStore\n\t\t\t\t).__experimentalGetDefaultTemplatePartAreas();\n\n\t\t\treturn defaultAreas.find(\n\t\t\t\t( defaultArea ) => defaultArea.area === area\n\t\t\t);\n\t\t},\n\t\t[ area ]\n\t);\n\n\tconst highlightBlock = () => toggleBlockHighlight( clientId, true );\n\tconst cancelHighlightBlock = () => toggleBlockHighlight( clientId, false );\n\n\treturn (\n\t\t<Button\n\t\t\tclassName=\"edit-site-template-card__template-areas-item\"\n\t\t\ticon={ templatePartArea?.icon }\n\t\t\tonMouseOver={ highlightBlock }\n\t\t\tonMouseLeave={ cancelHighlightBlock }\n\t\t\tonFocus={ highlightBlock }\n\t\t\tonBlur={ cancelHighlightBlock }\n\t\t\tonClick={ () => {\n\t\t\t\tselectBlock( clientId );\n\t\t\t} }\n\t\t>\n\t\t\t{ templatePartArea?.label }\n\t\t</Button>\n\t);\n}\n\nexport default function TemplateAreas() {\n\tconst templateParts = useSelect(\n\t\t( select ) => select( editSiteStore ).getCurrentTemplateTemplateParts(),\n\t\t[]\n\t);\n\n\tif ( ! templateParts.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<section className=\"edit-site-template-card__template-areas\">\n\t\t\t<Heading\n\t\t\t\tlevel={ 3 }\n\t\t\t\tclassName=\"edit-site-template-card__template-areas-title\"\n\t\t\t>\n\t\t\t\t{ __( 'Areas' ) }\n\t\t\t</Heading>\n\n\t\t\t<ul className=\"edit-site-template-card__template-areas-list\">\n\t\t\t\t{ templateParts.map( ( { templatePart, block } ) => (\n\t\t\t\t\t<li key={ block.clientId }>\n\t\t\t\t\t\t<TemplateAreaItem\n\t\t\t\t\t\t\tarea={ templatePart.area }\n\t\t\t\t\t\t\tclientId={ block.clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</li>\n\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</section>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAIA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AAfA;AACA;AACA;;AAUA;AACA;AACA;;AAGA,SAASM,gBAAgBA,CAAE;EAAEC,IAAI;EAAEC;AAAS,CAAC,EAAG;EAC/C,MAAM;IAAEC,WAAW;IAAEC;EAAqB,CAAC,GAC1C,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAChC,MAAMC,gBAAgB,GAAG,IAAAC,eAAS,EAC/BC,MAAM,IAAM;IACb,MAAMC,YAAY,GACjBD,MAAM,CACLE,aACD,CAAC,CAACC,yCAAyC,CAAC,CAAC;IAE9C,OAAOF,YAAY,CAACG,IAAI,CACrBC,WAAW,IAAMA,WAAW,CAACb,IAAI,KAAKA,IACzC,CAAC;EACF,CAAC,EACD,CAAEA,IAAI,CACP,CAAC;EAED,MAAMc,cAAc,GAAGA,CAAA,KAAMX,oBAAoB,CAAEF,QAAQ,EAAE,IAAK,CAAC;EACnE,MAAMc,oBAAoB,GAAGA,CAAA,KAAMZ,oBAAoB,CAAEF,QAAQ,EAAE,KAAM,CAAC;EAE1E,OACC,IAAAe,QAAA,CAAAC,aAAA,EAACvB,WAAA,CAAAwB,MAAM;IACNC,SAAS,EAAC,8CAA8C;IACxDC,IAAI,EAAGd,gBAAgB,EAAEc,IAAM;IAC/BC,WAAW,EAAGP,cAAgB;IAC9BQ,YAAY,EAAGP,oBAAsB;IACrCQ,OAAO,EAAGT,cAAgB;IAC1BU,MAAM,EAAGT,oBAAsB;IAC/BU,OAAO,EAAGA,CAAA,KAAM;MACfvB,WAAW,CAAED,QAAS,CAAC;IACxB;EAAG,GAEDK,gBAAgB,EAAEoB,KACb,CAAC;AAEX;AAEe,SAASC,aAAaA,CAAA,EAAG;EACvC,MAAMC,aAAa,GAAG,IAAArB,eAAS,EAC5BC,MAAM,IAAMA,MAAM,CAAEqB,YAAc,CAAC,CAACC,+BAA+B,CAAC,CAAC,EACvE,EACD,CAAC;EAED,IAAK,CAAEF,aAAa,CAACG,MAAM,EAAG;IAC7B,OAAO,IAAI;EACZ;EAEA,OACC,IAAAf,QAAA,CAAAC,aAAA;IAASE,SAAS,EAAC;EAAyC,GAC3D,IAAAH,QAAA,CAAAC,aAAA,EAACvB,WAAA,CAAAsC,qBAAO;IACPC,KAAK,EAAG,CAAG;IACXd,SAAS,EAAC;EAA+C,GAEvD,IAAAe,QAAE,EAAE,OAAQ,CACN,CAAC,EAEV,IAAAlB,QAAA,CAAAC,aAAA;IAAIE,SAAS,EAAC;EAA8C,GACzDS,aAAa,CAACO,GAAG,CAAE,CAAE;IAAEC,YAAY;IAAEC;EAAM,CAAC,KAC7C,IAAArB,QAAA,CAAAC,aAAA;IAAIqB,GAAG,EAAGD,KAAK,CAACpC;EAAU,GACzB,IAAAe,QAAA,CAAAC,aAAA,EAAClB,gBAAgB;IAChBC,IAAI,EAAGoC,YAAY,CAACpC,IAAM;IAC1BC,QAAQ,EAAGoC,KAAK,CAACpC;EAAU,CAC3B,CACE,CACH,CACC,CACI,CAAC;AAEZ"}
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = TemplatePartNavigationMenuListItem;
8
8
  var _element = require("@wordpress/element");
9
- var _coreData = require("@wordpress/core-data");
10
9
  var _i18n = require("@wordpress/i18n");
11
10
  var _sidebarNavigationItem = _interopRequireDefault(require("../sidebar-navigation-item"));
11
+ var _useNavigationMenuTitle = _interopRequireDefault(require("./use-navigation-menu-title"));
12
12
  var _link = require("../routes/link");
13
13
  var _constants = require("../../utils/constants");
14
14
  /**
@@ -22,12 +22,14 @@ var _constants = require("../../utils/constants");
22
22
  function TemplatePartNavigationMenuListItem({
23
23
  id
24
24
  }) {
25
- const [title] = (0, _coreData.useEntityProp)('postType', _constants.NAVIGATION_POST_TYPE, 'title', id);
25
+ const title = (0, _useNavigationMenuTitle.default)(id);
26
26
  const linkInfo = (0, _link.useLink)({
27
27
  postId: id,
28
28
  postType: _constants.NAVIGATION_POST_TYPE
29
29
  });
30
- if (!id) return null;
30
+ if (!id || title === undefined) {
31
+ return null;
32
+ }
31
33
  return (0, _element.createElement)(_sidebarNavigationItem.default, {
32
34
  withChevron: true,
33
35
  ...linkInfo
@@ -1 +1 @@
1
- {"version":3,"names":["_coreData","require","_i18n","_sidebarNavigationItem","_interopRequireDefault","_link","_constants","TemplatePartNavigationMenuListItem","id","title","useEntityProp","NAVIGATION_POST_TYPE","linkInfo","useLink","postId","postType","_element","createElement","default","withChevron","__"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport { useLink } from '../routes/link';\nimport { NAVIGATION_POST_TYPE } from '../../utils/constants';\n\nexport default function TemplatePartNavigationMenuListItem( { id } ) {\n\tconst [ title ] = useEntityProp(\n\t\t'postType',\n\t\tNAVIGATION_POST_TYPE,\n\t\t'title',\n\t\tid\n\t);\n\n\tconst linkInfo = useLink( {\n\t\tpostId: id,\n\t\tpostType: NAVIGATION_POST_TYPE,\n\t} );\n\n\tif ( ! id ) return null;\n\n\treturn (\n\t\t<SidebarNavigationItem withChevron { ...linkInfo }>\n\t\t\t{ title || __( '(no title)' ) }\n\t\t</SidebarNavigationItem>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,sBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAXA;AACA;AACA;;AAIA;AACA;AACA;;AAKe,SAASM,kCAAkCA,CAAE;EAAEC;AAAG,CAAC,EAAG;EACpE,MAAM,CAAEC,KAAK,CAAE,GAAG,IAAAC,uBAAa,EAC9B,UAAU,EACVC,+BAAoB,EACpB,OAAO,EACPH,EACD,CAAC;EAED,MAAMI,QAAQ,GAAG,IAAAC,aAAO,EAAE;IACzBC,MAAM,EAAEN,EAAE;IACVO,QAAQ,EAAEJ;EACX,CAAE,CAAC;EAEH,IAAK,CAAEH,EAAE,EAAG,OAAO,IAAI;EAEvB,OACC,IAAAQ,QAAA,CAAAC,aAAA,EAACd,sBAAA,CAAAe,OAAqB;IAACC,WAAW;IAAA,GAAMP;EAAQ,GAC7CH,KAAK,IAAI,IAAAW,QAAE,EAAE,YAAa,CACN,CAAC;AAE1B"}
1
+ {"version":3,"names":["_i18n","require","_sidebarNavigationItem","_interopRequireDefault","_useNavigationMenuTitle","_link","_constants","TemplatePartNavigationMenuListItem","id","title","useNavigationMenuTitle","linkInfo","useLink","postId","postType","NAVIGATION_POST_TYPE","undefined","_element","createElement","default","withChevron","__"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport useNavigationMenuTitle from './use-navigation-menu-title';\nimport { useLink } from '../routes/link';\nimport { NAVIGATION_POST_TYPE } from '../../utils/constants';\n\nexport default function TemplatePartNavigationMenuListItem( { id } ) {\n\tconst title = useNavigationMenuTitle( id );\n\n\tconst linkInfo = useLink( {\n\t\tpostId: id,\n\t\tpostType: NAVIGATION_POST_TYPE,\n\t} );\n\n\tif ( ! id || title === undefined ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<SidebarNavigationItem withChevron { ...linkInfo }>\n\t\t\t{ title || __( '(no title)' ) }\n\t\t</SidebarNavigationItem>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AAKA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,uBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAXA;AACA;AACA;;AAGA;AACA;AACA;;AAMe,SAASM,kCAAkCA,CAAE;EAAEC;AAAG,CAAC,EAAG;EACpE,MAAMC,KAAK,GAAG,IAAAC,+BAAsB,EAAEF,EAAG,CAAC;EAE1C,MAAMG,QAAQ,GAAG,IAAAC,aAAO,EAAE;IACzBC,MAAM,EAAEL,EAAE;IACVM,QAAQ,EAAEC;EACX,CAAE,CAAC;EAEH,IAAK,CAAEP,EAAE,IAAIC,KAAK,KAAKO,SAAS,EAAG;IAClC,OAAO,IAAI;EACZ;EAEA,OACC,IAAAC,QAAA,CAAAC,aAAA,EAAChB,sBAAA,CAAAiB,OAAqB;IAACC,WAAW;IAAA,GAAMT;EAAQ,GAC7CF,KAAK,IAAI,IAAAY,QAAE,EAAE,YAAa,CACN,CAAC;AAE1B"}
@@ -8,9 +8,8 @@ exports.default = TemplatePartNavigationMenu;
8
8
  var _element = require("@wordpress/element");
9
9
  var _i18n = require("@wordpress/i18n");
10
10
  var _components = require("@wordpress/components");
11
- var _coreData = require("@wordpress/core-data");
12
11
  var _navigationMenuEditor = _interopRequireDefault(require("../sidebar-navigation-screen-navigation-menu/navigation-menu-editor"));
13
- var _constants = require("../../utils/constants");
12
+ var _useNavigationMenuTitle = _interopRequireDefault(require("./use-navigation-menu-title"));
14
13
  /**
15
14
  * WordPress dependencies
16
15
  */
@@ -22,8 +21,10 @@ var _constants = require("../../utils/constants");
22
21
  function TemplatePartNavigationMenu({
23
22
  id
24
23
  }) {
25
- const [title] = (0, _coreData.useEntityProp)('postType', _constants.NAVIGATION_POST_TYPE, 'title', id);
26
- if (!id) return null;
24
+ const title = (0, _useNavigationMenuTitle.default)(id);
25
+ if (!id || title === undefined) {
26
+ return null;
27
+ }
27
28
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.__experimentalHeading, {
28
29
  className: "edit-site-sidebar-navigation-screen-template-part-navigation-menu__title",
29
30
  size: "11",
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_coreData","_navigationMenuEditor","_interopRequireDefault","_constants","TemplatePartNavigationMenu","id","title","useEntityProp","NAVIGATION_POST_TYPE","_element","createElement","Fragment","__experimentalHeading","className","size","upperCase","weight","__","default","navigationMenuId"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalHeading as Heading } from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport NavigationMenuEditor from '../sidebar-navigation-screen-navigation-menu/navigation-menu-editor';\nimport { NAVIGATION_POST_TYPE } from '../../utils/constants';\n\nexport default function TemplatePartNavigationMenu( { id } ) {\n\tconst [ title ] = useEntityProp(\n\t\t'postType',\n\t\tNAVIGATION_POST_TYPE,\n\t\t'title',\n\t\tid\n\t);\n\n\tif ( ! id ) return null;\n\n\treturn (\n\t\t<>\n\t\t\t<Heading\n\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template-part-navigation-menu__title\"\n\t\t\t\tsize=\"11\"\n\t\t\t\tupperCase={ true }\n\t\t\t\tweight={ 500 }\n\t\t\t>\n\t\t\t\t{ title || __( 'Navigation' ) }\n\t\t\t</Heading>\n\t\t\t<NavigationMenuEditor navigationMenuId={ id } />\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAKA,IAAAG,qBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAXA;AACA;AACA;;AAKA;AACA;AACA;;AAIe,SAASM,0BAA0BA,CAAE;EAAEC;AAAG,CAAC,EAAG;EAC5D,MAAM,CAAEC,KAAK,CAAE,GAAG,IAAAC,uBAAa,EAC9B,UAAU,EACVC,+BAAoB,EACpB,OAAO,EACPH,EACD,CAAC;EAED,IAAK,CAAEA,EAAE,EAAG,OAAO,IAAI;EAEvB,OACC,IAAAI,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAE,QAAA,QACC,IAAAF,QAAA,CAAAC,aAAA,EAACX,WAAA,CAAAa,qBAAO;IACPC,SAAS,EAAC,0EAA0E;IACpFC,IAAI,EAAC,IAAI;IACTC,SAAS,EAAG,IAAM;IAClBC,MAAM,EAAG;EAAK,GAEZV,KAAK,IAAI,IAAAW,QAAE,EAAE,YAAa,CACpB,CAAC,EACV,IAAAR,QAAA,CAAAC,aAAA,EAACT,qBAAA,CAAAiB,OAAoB;IAACC,gBAAgB,EAAGd;EAAI,CAAE,CAC9C,CAAC;AAEL"}
1
+ {"version":3,"names":["_i18n","require","_components","_navigationMenuEditor","_interopRequireDefault","_useNavigationMenuTitle","TemplatePartNavigationMenu","id","title","useNavigationMenuTitle","undefined","_element","createElement","Fragment","__experimentalHeading","className","size","upperCase","weight","__","default","navigationMenuId"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalHeading as Heading } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport NavigationMenuEditor from '../sidebar-navigation-screen-navigation-menu/navigation-menu-editor';\nimport useNavigationMenuTitle from './use-navigation-menu-title';\n\nexport default function TemplatePartNavigationMenu( { id } ) {\n\tconst title = useNavigationMenuTitle( id );\n\n\tif ( ! id || title === undefined ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Heading\n\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template-part-navigation-menu__title\"\n\t\t\t\tsize=\"11\"\n\t\t\t\tupperCase={ true }\n\t\t\t\tweight={ 500 }\n\t\t\t>\n\t\t\t\t{ title || __( 'Navigation' ) }\n\t\t\t</Heading>\n\t\t\t<NavigationMenuEditor navigationMenuId={ id } />\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,qBAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,uBAAA,GAAAD,sBAAA,CAAAH,OAAA;AAVA;AACA;AACA;;AAIA;AACA;AACA;;AAIe,SAASK,0BAA0BA,CAAE;EAAEC;AAAG,CAAC,EAAG;EAC5D,MAAMC,KAAK,GAAG,IAAAC,+BAAsB,EAAEF,EAAG,CAAC;EAE1C,IAAK,CAAEA,EAAE,IAAIC,KAAK,KAAKE,SAAS,EAAG;IAClC,OAAO,IAAI;EACZ;EAEA,OACC,IAAAC,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAE,QAAA,QACC,IAAAF,QAAA,CAAAC,aAAA,EAACV,WAAA,CAAAY,qBAAO;IACPC,SAAS,EAAC,0EAA0E;IACpFC,IAAI,EAAC,IAAI;IACTC,SAAS,EAAG,IAAM;IAClBC,MAAM,EAAG;EAAK,GAEZV,KAAK,IAAI,IAAAW,QAAE,EAAE,YAAa,CACpB,CAAC,EACV,IAAAR,QAAA,CAAAC,aAAA,EAACT,qBAAA,CAAAiB,OAAoB;IAACC,gBAAgB,EAAGd;EAAI,CAAE,CAC9C,CAAC;AAEL"}
@@ -18,6 +18,13 @@ var _constants = require("../../utils/constants");
18
18
  * Internal dependencies
19
19
  */
20
20
 
21
+ function getBlocksFromRecord(record) {
22
+ if (record?.blocks) {
23
+ return record?.blocks;
24
+ }
25
+ return record?.content && typeof record.content !== 'function' ? (0, _blocks2.parse)(record.content) : [];
26
+ }
27
+
21
28
  /**
22
29
  * Retrieves a list of specific blocks from a given tree of blocks.
23
30
  *
@@ -61,7 +68,7 @@ function useNavigationMenuContent(postType, postId) {
61
68
  if (postType !== _constants.TEMPLATE_PART_POST_TYPE) {
62
69
  return;
63
70
  }
64
- const blocks = record?.content && typeof record.content !== 'function' ? (0, _blocks2.parse)(record.content) : [];
71
+ const blocks = getBlocksFromRecord(record);
65
72
  const navigationBlocks = getBlocksOfTypeFromBlocks('core/navigation', blocks);
66
73
  if (!navigationBlocks.length) {
67
74
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks2","require","_templatePartNavigationMenus","_interopRequireDefault","_useEditedEntityRecord","_constants","getBlocksOfTypeFromBlocks","targetBlockType","blocks","length","findInBlocks","_blocks","navigationBlocks","block","name","push","innerBlocks","innerNavigationBlocks","useNavigationMenuContent","postType","postId","record","useEditedEntityRecord","TEMPLATE_PART_POST_TYPE","content","parse","navigationMenuIds","map","attributes","ref","uniqueNavigationMenuIds","Set","filter","menuId","_element","createElement","default","menus"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartNavigationMenus from './template-part-navigation-menus';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';\n\n/**\n * Retrieves a list of specific blocks from a given tree of blocks.\n *\n * @param {string} targetBlockType The name of the block type to find.\n * @param {Array} blocks A list of blocks from a template part entity.\n *\n * @return {Array} A list of any navigation blocks found in the blocks.\n */\nfunction getBlocksOfTypeFromBlocks( targetBlockType, blocks ) {\n\tif ( ! targetBlockType || ! blocks?.length ) {\n\t\treturn [];\n\t}\n\n\tconst findInBlocks = ( _blocks ) => {\n\t\tif ( ! _blocks ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst navigationBlocks = [];\n\n\t\tfor ( const block of _blocks ) {\n\t\t\tif ( block.name === targetBlockType ) {\n\t\t\t\tnavigationBlocks.push( block );\n\t\t\t}\n\n\t\t\tif ( block?.innerBlocks ) {\n\t\t\t\tconst innerNavigationBlocks = findInBlocks( block.innerBlocks );\n\n\t\t\t\tif ( innerNavigationBlocks.length ) {\n\t\t\t\t\tnavigationBlocks.push( ...innerNavigationBlocks );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn navigationBlocks;\n\t};\n\n\treturn findInBlocks( blocks );\n}\n\nexport default function useNavigationMenuContent( postType, postId ) {\n\tconst { record } = useEditedEntityRecord( postType, postId );\n\n\t// Only managing navigation menus in template parts is supported\n\t// to match previous behaviour. This could potentially be expanded\n\t// to patterns as well.\n\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\treturn;\n\t}\n\n\tconst blocks =\n\t\trecord?.content && typeof record.content !== 'function'\n\t\t\t? parse( record.content )\n\t\t\t: [];\n\n\tconst navigationBlocks = getBlocksOfTypeFromBlocks(\n\t\t'core/navigation',\n\t\tblocks\n\t);\n\n\tif ( ! navigationBlocks.length ) {\n\t\treturn;\n\t}\n\n\tconst navigationMenuIds = navigationBlocks?.map(\n\t\t( block ) => block.attributes.ref\n\t);\n\n\t// Dedupe the Navigation blocks, as you can have multiple navigation blocks in the template.\n\t// Also, filter out undefined values, as blocks don't have an id when initially added.\n\tconst uniqueNavigationMenuIds = [ ...new Set( navigationMenuIds ) ].filter(\n\t\t( menuId ) => menuId\n\t);\n\n\tif ( ! uniqueNavigationMenuIds?.length ) {\n\t\treturn;\n\t}\n\n\treturn <TemplatePartNavigationMenus menus={ uniqueNavigationMenuIds } />;\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,4BAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASK,yBAAyBA,CAAEC,eAAe,EAAEC,MAAM,EAAG;EAC7D,IAAK,CAAED,eAAe,IAAI,CAAEC,MAAM,EAAEC,MAAM,EAAG;IAC5C,OAAO,EAAE;EACV;EAEA,MAAMC,YAAY,GAAKC,OAAO,IAAM;IACnC,IAAK,CAAEA,OAAO,EAAG;MAChB,OAAO,EAAE;IACV;IAEA,MAAMC,gBAAgB,GAAG,EAAE;IAE3B,KAAM,MAAMC,KAAK,IAAIF,OAAO,EAAG;MAC9B,IAAKE,KAAK,CAACC,IAAI,KAAKP,eAAe,EAAG;QACrCK,gBAAgB,CAACG,IAAI,CAAEF,KAAM,CAAC;MAC/B;MAEA,IAAKA,KAAK,EAAEG,WAAW,EAAG;QACzB,MAAMC,qBAAqB,GAAGP,YAAY,CAAEG,KAAK,CAACG,WAAY,CAAC;QAE/D,IAAKC,qBAAqB,CAACR,MAAM,EAAG;UACnCG,gBAAgB,CAACG,IAAI,CAAE,GAAGE,qBAAsB,CAAC;QAClD;MACD;IACD;IAEA,OAAOL,gBAAgB;EACxB,CAAC;EAED,OAAOF,YAAY,CAAEF,MAAO,CAAC;AAC9B;AAEe,SAASU,wBAAwBA,CAAEC,QAAQ,EAAEC,MAAM,EAAG;EACpE,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,8BAAqB,EAAEH,QAAQ,EAAEC,MAAO,CAAC;;EAE5D;EACA;EACA;EACA,IAAKD,QAAQ,KAAKI,kCAAuB,EAAG;IAC3C;EACD;EAEA,MAAMf,MAAM,GACXa,MAAM,EAAEG,OAAO,IAAI,OAAOH,MAAM,CAACG,OAAO,KAAK,UAAU,GACpD,IAAAC,cAAK,EAAEJ,MAAM,CAACG,OAAQ,CAAC,GACvB,EAAE;EAEN,MAAMZ,gBAAgB,GAAGN,yBAAyB,CACjD,iBAAiB,EACjBE,MACD,CAAC;EAED,IAAK,CAAEI,gBAAgB,CAACH,MAAM,EAAG;IAChC;EACD;EAEA,MAAMiB,iBAAiB,GAAGd,gBAAgB,EAAEe,GAAG,CAC5Cd,KAAK,IAAMA,KAAK,CAACe,UAAU,CAACC,GAC/B,CAAC;;EAED;EACA;EACA,MAAMC,uBAAuB,GAAG,CAAE,GAAG,IAAIC,GAAG,CAAEL,iBAAkB,CAAC,CAAE,CAACM,MAAM,CACvEC,MAAM,IAAMA,MACf,CAAC;EAED,IAAK,CAAEH,uBAAuB,EAAErB,MAAM,EAAG;IACxC;EACD;EAEA,OAAO,IAAAyB,QAAA,CAAAC,aAAA,EAACjC,4BAAA,CAAAkC,OAA2B;IAACC,KAAK,EAAGP;EAAyB,CAAE,CAAC;AACzE"}
1
+ {"version":3,"names":["_blocks2","require","_templatePartNavigationMenus","_interopRequireDefault","_useEditedEntityRecord","_constants","getBlocksFromRecord","record","blocks","content","parse","getBlocksOfTypeFromBlocks","targetBlockType","length","findInBlocks","_blocks","navigationBlocks","block","name","push","innerBlocks","innerNavigationBlocks","useNavigationMenuContent","postType","postId","useEditedEntityRecord","TEMPLATE_PART_POST_TYPE","navigationMenuIds","map","attributes","ref","uniqueNavigationMenuIds","Set","filter","menuId","_element","createElement","default","menus"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartNavigationMenus from './template-part-navigation-menus';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';\n\nfunction getBlocksFromRecord( record ) {\n\tif ( record?.blocks ) {\n\t\treturn record?.blocks;\n\t}\n\n\treturn record?.content && typeof record.content !== 'function'\n\t\t? parse( record.content )\n\t\t: [];\n}\n\n/**\n * Retrieves a list of specific blocks from a given tree of blocks.\n *\n * @param {string} targetBlockType The name of the block type to find.\n * @param {Array} blocks A list of blocks from a template part entity.\n *\n * @return {Array} A list of any navigation blocks found in the blocks.\n */\nfunction getBlocksOfTypeFromBlocks( targetBlockType, blocks ) {\n\tif ( ! targetBlockType || ! blocks?.length ) {\n\t\treturn [];\n\t}\n\n\tconst findInBlocks = ( _blocks ) => {\n\t\tif ( ! _blocks ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst navigationBlocks = [];\n\n\t\tfor ( const block of _blocks ) {\n\t\t\tif ( block.name === targetBlockType ) {\n\t\t\t\tnavigationBlocks.push( block );\n\t\t\t}\n\n\t\t\tif ( block?.innerBlocks ) {\n\t\t\t\tconst innerNavigationBlocks = findInBlocks( block.innerBlocks );\n\n\t\t\t\tif ( innerNavigationBlocks.length ) {\n\t\t\t\t\tnavigationBlocks.push( ...innerNavigationBlocks );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn navigationBlocks;\n\t};\n\n\treturn findInBlocks( blocks );\n}\n\nexport default function useNavigationMenuContent( postType, postId ) {\n\tconst { record } = useEditedEntityRecord( postType, postId );\n\n\t// Only managing navigation menus in template parts is supported\n\t// to match previous behaviour. This could potentially be expanded\n\t// to patterns as well.\n\tif ( postType !== TEMPLATE_PART_POST_TYPE ) {\n\t\treturn;\n\t}\n\n\tconst blocks = getBlocksFromRecord( record );\n\tconst navigationBlocks = getBlocksOfTypeFromBlocks(\n\t\t'core/navigation',\n\t\tblocks\n\t);\n\n\tif ( ! navigationBlocks.length ) {\n\t\treturn;\n\t}\n\n\tconst navigationMenuIds = navigationBlocks?.map(\n\t\t( block ) => block.attributes.ref\n\t);\n\n\t// Dedupe the Navigation blocks, as you can have multiple navigation blocks in the template.\n\t// Also, filter out undefined values, as blocks don't have an id when initially added.\n\tconst uniqueNavigationMenuIds = [ ...new Set( navigationMenuIds ) ].filter(\n\t\t( menuId ) => menuId\n\t);\n\n\tif ( ! uniqueNavigationMenuIds?.length ) {\n\t\treturn;\n\t}\n\n\treturn <TemplatePartNavigationMenus menus={ uniqueNavigationMenuIds } />;\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,4BAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,sBAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAGA;AACA;AACA;;AAKA,SAASK,mBAAmBA,CAAEC,MAAM,EAAG;EACtC,IAAKA,MAAM,EAAEC,MAAM,EAAG;IACrB,OAAOD,MAAM,EAAEC,MAAM;EACtB;EAEA,OAAOD,MAAM,EAAEE,OAAO,IAAI,OAAOF,MAAM,CAACE,OAAO,KAAK,UAAU,GAC3D,IAAAC,cAAK,EAAEH,MAAM,CAACE,OAAQ,CAAC,GACvB,EAAE;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,yBAAyBA,CAAEC,eAAe,EAAEJ,MAAM,EAAG;EAC7D,IAAK,CAAEI,eAAe,IAAI,CAAEJ,MAAM,EAAEK,MAAM,EAAG;IAC5C,OAAO,EAAE;EACV;EAEA,MAAMC,YAAY,GAAKC,OAAO,IAAM;IACnC,IAAK,CAAEA,OAAO,EAAG;MAChB,OAAO,EAAE;IACV;IAEA,MAAMC,gBAAgB,GAAG,EAAE;IAE3B,KAAM,MAAMC,KAAK,IAAIF,OAAO,EAAG;MAC9B,IAAKE,KAAK,CAACC,IAAI,KAAKN,eAAe,EAAG;QACrCI,gBAAgB,CAACG,IAAI,CAAEF,KAAM,CAAC;MAC/B;MAEA,IAAKA,KAAK,EAAEG,WAAW,EAAG;QACzB,MAAMC,qBAAqB,GAAGP,YAAY,CAAEG,KAAK,CAACG,WAAY,CAAC;QAE/D,IAAKC,qBAAqB,CAACR,MAAM,EAAG;UACnCG,gBAAgB,CAACG,IAAI,CAAE,GAAGE,qBAAsB,CAAC;QAClD;MACD;IACD;IAEA,OAAOL,gBAAgB;EACxB,CAAC;EAED,OAAOF,YAAY,CAAEN,MAAO,CAAC;AAC9B;AAEe,SAASc,wBAAwBA,CAAEC,QAAQ,EAAEC,MAAM,EAAG;EACpE,MAAM;IAAEjB;EAAO,CAAC,GAAG,IAAAkB,8BAAqB,EAAEF,QAAQ,EAAEC,MAAO,CAAC;;EAE5D;EACA;EACA;EACA,IAAKD,QAAQ,KAAKG,kCAAuB,EAAG;IAC3C;EACD;EAEA,MAAMlB,MAAM,GAAGF,mBAAmB,CAAEC,MAAO,CAAC;EAC5C,MAAMS,gBAAgB,GAAGL,yBAAyB,CACjD,iBAAiB,EACjBH,MACD,CAAC;EAED,IAAK,CAAEQ,gBAAgB,CAACH,MAAM,EAAG;IAChC;EACD;EAEA,MAAMc,iBAAiB,GAAGX,gBAAgB,EAAEY,GAAG,CAC5CX,KAAK,IAAMA,KAAK,CAACY,UAAU,CAACC,GAC/B,CAAC;;EAED;EACA;EACA,MAAMC,uBAAuB,GAAG,CAAE,GAAG,IAAIC,GAAG,CAAEL,iBAAkB,CAAC,CAAE,CAACM,MAAM,CACvEC,MAAM,IAAMA,MACf,CAAC;EAED,IAAK,CAAEH,uBAAuB,EAAElB,MAAM,EAAG;IACxC;EACD;EAEA,OAAO,IAAAsB,QAAA,CAAAC,aAAA,EAAClC,4BAAA,CAAAmC,OAA2B;IAACC,KAAK,EAAGP;EAAyB,CAAE,CAAC;AACzE"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useNavigationMenuTitle;
7
+ var _data = require("@wordpress/data");
8
+ var _coreData = require("@wordpress/core-data");
9
+ var _constants = require("../../utils/constants");
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
18
+ function useNavigationMenuTitle(id) {
19
+ return (0, _data.useSelect)(select => {
20
+ if (!id) {
21
+ return undefined;
22
+ }
23
+ const editedRecord = select(_coreData.store).getEditedEntityRecord('postType', _constants.NAVIGATION_POST_TYPE, id);
24
+
25
+ // Do not display a 'trashed' navigation menu.
26
+ return editedRecord.status === 'trash' ? undefined : editedRecord.title;
27
+ }, [id]);
28
+ }
29
+ //# sourceMappingURL=use-navigation-menu-title.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_data","require","_coreData","_constants","useNavigationMenuTitle","id","useSelect","select","undefined","editedRecord","coreStore","getEditedEntityRecord","NAVIGATION_POST_TYPE","status","title"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { NAVIGATION_POST_TYPE } from '../../utils/constants';\n\nexport default function useNavigationMenuTitle( id ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! id ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\n\t\t\tconst editedRecord = select( coreStore ).getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tNAVIGATION_POST_TYPE,\n\t\t\t\tid\n\t\t\t);\n\n\t\t\t// Do not display a 'trashed' navigation menu.\n\t\t\treturn editedRecord.status === 'trash'\n\t\t\t\t? undefined\n\t\t\t\t: editedRecord.title;\n\t\t},\n\t\t[ id ]\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,UAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGe,SAASG,sBAAsBA,CAAEC,EAAE,EAAG;EACpD,OAAO,IAAAC,eAAS,EACbC,MAAM,IAAM;IACb,IAAK,CAAEF,EAAE,EAAG;MACX,OAAOG,SAAS;IACjB;IAEA,MAAMC,YAAY,GAAGF,MAAM,CAAEG,eAAU,CAAC,CAACC,qBAAqB,CAC7D,UAAU,EACVC,+BAAoB,EACpBP,EACD,CAAC;;IAED;IACA,OAAOI,YAAY,CAACI,MAAM,KAAK,OAAO,GACnCL,SAAS,GACTC,YAAY,CAACK,KAAK;EACtB,CAAC,EACD,CAAET,EAAE,CACL,CAAC;AACF"}
@@ -11,6 +11,8 @@ var _compose = require("@wordpress/compose");
11
11
  var _editor = require("@wordpress/editor");
12
12
  var _i18n = require("@wordpress/i18n");
13
13
  var _url = require("@wordpress/url");
14
+ var _coreData = require("@wordpress/core-data");
15
+ var _data = require("@wordpress/data");
14
16
  var _icons = require("@wordpress/icons");
15
17
  var _addNewPattern = _interopRequireDefault(require("../add-new-pattern"));
16
18
  var _sidebarNavigationItem = _interopRequireDefault(require("../sidebar-navigation-item"));
@@ -20,6 +22,7 @@ var _constants = require("../../utils/constants");
20
22
  var _link = require("../routes/link");
21
23
  var _usePatternCategories = _interopRequireDefault(require("./use-pattern-categories"));
22
24
  var _useTemplatePartAreas = _interopRequireDefault(require("./use-template-part-areas"));
25
+ var _store = require("../../store");
23
26
  /**
24
27
  * WordPress dependencies
25
28
  */
@@ -86,18 +89,27 @@ function SidebarNavigationScreenPatterns() {
86
89
  patternCategories,
87
90
  hasPatterns
88
91
  } = (0, _usePatternCategories.default)();
92
+ const isBlockBasedTheme = (0, _data.useSelect)(select => select(_coreData.store).getCurrentTheme()?.is_block_theme, []);
93
+ const isTemplatePartsMode = (0, _data.useSelect)(select => {
94
+ const settings = select(_store.store).getSettings();
95
+ return !!settings.supportsTemplatePartsMode;
96
+ }, []);
89
97
  const templatePartsLink = (0, _link.useLink)({
90
- path: '/wp_template_part/all'
98
+ path: '/wp_template_part/all',
99
+ // If a classic theme that supports template parts accessed
100
+ // the Patterns page directly, preserve that state in the URL.
101
+ didAccessPatternsPage: !isBlockBasedTheme && isTemplatePartsMode ? 1 : undefined
91
102
  });
92
103
  const footer = !isMobileViewport ? (0, _element.createElement)(_components.__experimentalItemGroup, null, (0, _element.createElement)(_sidebarNavigationItem.default, {
93
104
  as: "a",
94
105
  href: "edit.php?post_type=wp_block",
95
106
  withChevron: true
96
- }, (0, _i18n.__)('Manage all of my patterns')), (0, _element.createElement)(_sidebarNavigationItem.default, {
107
+ }, (0, _i18n.__)('Manage all of my patterns')), (isBlockBasedTheme || isTemplatePartsMode) && (0, _element.createElement)(_sidebarNavigationItem.default, {
97
108
  withChevron: true,
98
109
  ...templatePartsLink
99
110
  }, (0, _i18n.__)('Manage all template parts'))) : undefined;
100
111
  return (0, _element.createElement)(_sidebarNavigationScreen.default, {
112
+ isRoot: !isBlockBasedTheme,
101
113
  title: (0, _i18n.__)('Patterns'),
102
114
  description: (0, _i18n.__)('Manage what patterns are available when editing the site.'),
103
115
  actions: (0, _element.createElement)(_addNewPattern.default, null),
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_compose","_editor","_i18n","_url","_icons","_addNewPattern","_interopRequireDefault","_sidebarNavigationItem","_sidebarNavigationScreen","_categoryItem","_constants","_link","_usePatternCategories","_useTemplatePartAreas","TemplatePartGroup","areas","currentArea","currentType","_element","createElement","Fragment","className","__experimentalHeading","level","__","__experimentalItemGroup","Object","entries","map","area","label","templateParts","default","key","count","length","icon","getTemplatePartIcon","id","type","TEMPLATE_PART_POST_TYPE","isActive","PatternCategoriesGroup","categories","currentCategory","category","name","file","PATTERN_TYPES","theme","user","SidebarNavigationScreenPatterns","isMobileViewport","useViewportMatch","categoryType","categoryId","getQueryArgs","window","location","href","PATTERN_DEFAULT_CATEGORY","templatePartAreas","hasTemplateParts","isLoading","useTemplatePartAreas","patternCategories","hasPatterns","usePatternCategories","templatePartsLink","useLink","path","footer","as","withChevron","undefined","title","description","actions","content","__experimentalItem"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { getTemplatePartIcon } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { getQueryArgs } from '@wordpress/url';\nimport { file } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport AddNewPattern from '../add-new-pattern';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport CategoryItem from './category-item';\nimport {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport { useLink } from '../routes/link';\nimport usePatternCategories from './use-pattern-categories';\nimport useTemplatePartAreas from './use-template-part-areas';\n\nfunction TemplatePartGroup( { areas, currentArea, currentType } ) {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-patterns__group-header\">\n\t\t\t\t<Heading level={ 2 }>{ __( 'Template parts' ) }</Heading>\n\t\t\t</div>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ Object.entries( areas ).map(\n\t\t\t\t\t( [ area, { label, templateParts } ] ) => (\n\t\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\t\tkey={ area }\n\t\t\t\t\t\t\tcount={ templateParts?.length }\n\t\t\t\t\t\t\ticon={ getTemplatePartIcon( area ) }\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tid={ area }\n\t\t\t\t\t\t\ttype={ TEMPLATE_PART_POST_TYPE }\n\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\tcurrentArea === area &&\n\t\t\t\t\t\t\t\tcurrentType === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nfunction PatternCategoriesGroup( {\n\tcategories,\n\tcurrentCategory,\n\tcurrentType,\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\tcount={ category.count }\n\t\t\t\t\t\tlabel={ category.label }\n\t\t\t\t\t\ticon={ file }\n\t\t\t\t\t\tid={ category.name }\n\t\t\t\t\t\ttype=\"pattern\"\n\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\tcurrentCategory === `${ category.name }` &&\n\t\t\t\t\t\t\t( currentType === PATTERN_TYPES.theme ||\n\t\t\t\t\t\t\t\tcurrentType === PATTERN_TYPES.user )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nexport default function SidebarNavigationScreenPatterns() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst { categoryType, categoryId } = getQueryArgs( window.location.href );\n\tconst currentCategory = categoryId || PATTERN_DEFAULT_CATEGORY;\n\tconst currentType = categoryType || PATTERN_TYPES.theme;\n\n\tconst { templatePartAreas, hasTemplateParts, isLoading } =\n\t\tuseTemplatePartAreas();\n\tconst { patternCategories, hasPatterns } = usePatternCategories();\n\n\tconst templatePartsLink = useLink( { path: '/wp_template_part/all' } );\n\tconst footer = ! isMobileViewport ? (\n\t\t<ItemGroup>\n\t\t\t<SidebarNavigationItem\n\t\t\t\tas=\"a\"\n\t\t\t\thref=\"edit.php?post_type=wp_block\"\n\t\t\t\twithChevron\n\t\t\t>\n\t\t\t\t{ __( 'Manage all of my patterns' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t\t<SidebarNavigationItem withChevron { ...templatePartsLink }>\n\t\t\t\t{ __( 'Manage all template parts' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t</ItemGroup>\n\t) : undefined;\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ __( 'Patterns' ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Manage what patterns are available when editing the site.'\n\t\t\t) }\n\t\t\tactions={ <AddNewPattern /> }\n\t\t\tfooter={ footer }\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ isLoading && __( 'Loading patterns…' ) }\n\t\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! hasTemplateParts && ! hasPatterns && (\n\t\t\t\t\t\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t\t\t\t\t\t<Item>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'No template parts or patterns found'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t\t\t\t<PatternCategoriesGroup\n\t\t\t\t\t\t\t\t\tcategories={ patternCategories }\n\t\t\t\t\t\t\t\t\tcurrentCategory={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasTemplateParts && (\n\t\t\t\t\t\t\t\t<TemplatePartGroup\n\t\t\t\t\t\t\t\t\tareas={ templatePartAreas }\n\t\t\t\t\t\t\t\t\tcurrentArea={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\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) }\n\t\t\t\t</>\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_compose","_editor","_i18n","_url","_coreData","_data","_icons","_addNewPattern","_interopRequireDefault","_sidebarNavigationItem","_sidebarNavigationScreen","_categoryItem","_constants","_link","_usePatternCategories","_useTemplatePartAreas","_store","TemplatePartGroup","areas","currentArea","currentType","_element","createElement","Fragment","className","__experimentalHeading","level","__","__experimentalItemGroup","Object","entries","map","area","label","templateParts","default","key","count","length","icon","getTemplatePartIcon","id","type","TEMPLATE_PART_POST_TYPE","isActive","PatternCategoriesGroup","categories","currentCategory","category","name","file","PATTERN_TYPES","theme","user","SidebarNavigationScreenPatterns","isMobileViewport","useViewportMatch","categoryType","categoryId","getQueryArgs","window","location","href","PATTERN_DEFAULT_CATEGORY","templatePartAreas","hasTemplateParts","isLoading","useTemplatePartAreas","patternCategories","hasPatterns","usePatternCategories","isBlockBasedTheme","useSelect","select","coreStore","getCurrentTheme","is_block_theme","isTemplatePartsMode","settings","editSiteStore","getSettings","supportsTemplatePartsMode","templatePartsLink","useLink","path","didAccessPatternsPage","undefined","footer","as","withChevron","isRoot","title","description","actions","content","__experimentalItem"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { getTemplatePartIcon } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { getQueryArgs } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { file } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport AddNewPattern from '../add-new-pattern';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport CategoryItem from './category-item';\nimport {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport { useLink } from '../routes/link';\nimport usePatternCategories from './use-pattern-categories';\nimport useTemplatePartAreas from './use-template-part-areas';\nimport { store as editSiteStore } from '../../store';\n\nfunction TemplatePartGroup( { areas, currentArea, currentType } ) {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-patterns__group-header\">\n\t\t\t\t<Heading level={ 2 }>{ __( 'Template parts' ) }</Heading>\n\t\t\t</div>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ Object.entries( areas ).map(\n\t\t\t\t\t( [ area, { label, templateParts } ] ) => (\n\t\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\t\tkey={ area }\n\t\t\t\t\t\t\tcount={ templateParts?.length }\n\t\t\t\t\t\t\ticon={ getTemplatePartIcon( area ) }\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tid={ area }\n\t\t\t\t\t\t\ttype={ TEMPLATE_PART_POST_TYPE }\n\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\tcurrentArea === area &&\n\t\t\t\t\t\t\t\tcurrentType === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nfunction PatternCategoriesGroup( {\n\tcategories,\n\tcurrentCategory,\n\tcurrentType,\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\tcount={ category.count }\n\t\t\t\t\t\tlabel={ category.label }\n\t\t\t\t\t\ticon={ file }\n\t\t\t\t\t\tid={ category.name }\n\t\t\t\t\t\ttype=\"pattern\"\n\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\tcurrentCategory === `${ category.name }` &&\n\t\t\t\t\t\t\t( currentType === PATTERN_TYPES.theme ||\n\t\t\t\t\t\t\t\tcurrentType === PATTERN_TYPES.user )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nexport default function SidebarNavigationScreenPatterns() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst { categoryType, categoryId } = getQueryArgs( window.location.href );\n\tconst currentCategory = categoryId || PATTERN_DEFAULT_CATEGORY;\n\tconst currentType = categoryType || PATTERN_TYPES.theme;\n\n\tconst { templatePartAreas, hasTemplateParts, isLoading } =\n\t\tuseTemplatePartAreas();\n\tconst { patternCategories, hasPatterns } = usePatternCategories();\n\tconst isBlockBasedTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n\tconst isTemplatePartsMode = useSelect( ( select ) => {\n\t\tconst settings = select( editSiteStore ).getSettings();\n\t\treturn !! settings.supportsTemplatePartsMode;\n\t}, [] );\n\n\tconst templatePartsLink = useLink( {\n\t\tpath: '/wp_template_part/all',\n\t\t// If a classic theme that supports template parts accessed\n\t\t// the Patterns page directly, preserve that state in the URL.\n\t\tdidAccessPatternsPage:\n\t\t\t! isBlockBasedTheme && isTemplatePartsMode ? 1 : undefined,\n\t} );\n\n\tconst footer = ! isMobileViewport ? (\n\t\t<ItemGroup>\n\t\t\t<SidebarNavigationItem\n\t\t\t\tas=\"a\"\n\t\t\t\thref=\"edit.php?post_type=wp_block\"\n\t\t\t\twithChevron\n\t\t\t>\n\t\t\t\t{ __( 'Manage all of my patterns' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t\t{ ( isBlockBasedTheme || isTemplatePartsMode ) && (\n\t\t\t\t<SidebarNavigationItem withChevron { ...templatePartsLink }>\n\t\t\t\t\t{ __( 'Manage all template parts' ) }\n\t\t\t\t</SidebarNavigationItem>\n\t\t\t) }\n\t\t</ItemGroup>\n\t) : undefined;\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\tisRoot={ ! isBlockBasedTheme }\n\t\t\ttitle={ __( 'Patterns' ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Manage what patterns are available when editing the site.'\n\t\t\t) }\n\t\t\tactions={ <AddNewPattern /> }\n\t\t\tfooter={ footer }\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ isLoading && __( 'Loading patterns…' ) }\n\t\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! hasTemplateParts && ! hasPatterns && (\n\t\t\t\t\t\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t\t\t\t\t\t<Item>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'No template parts or patterns found'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t\t\t\t<PatternCategoriesGroup\n\t\t\t\t\t\t\t\t\tcategories={ patternCategories }\n\t\t\t\t\t\t\t\t\tcurrentCategory={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasTemplateParts && (\n\t\t\t\t\t\t\t\t<TemplatePartGroup\n\t\t\t\t\t\t\t\t\tareas={ templatePartAreas }\n\t\t\t\t\t\t\t\t\tcurrentArea={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\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) }\n\t\t\t\t</>\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
@@ -55,13 +55,6 @@ function TemplateAreaButton({
55
55
  }, (0, _htmlEntities.decodeEntities)(title)));
56
56
  }
57
57
  function HomeTemplateDetails() {
58
- const navigator = (0, _components.__experimentalUseNavigator)();
59
- const {
60
- params: {
61
- postType,
62
- postId
63
- }
64
- } = navigator;
65
58
  const {
66
59
  editEntityRecord
67
60
  } = (0, _data.useDispatch)(_coreData.store);
@@ -76,22 +69,21 @@ function HomeTemplateDetails() {
76
69
  const {
77
70
  getEntityRecord
78
71
  } = select(_coreData.store);
79
- const siteSettings = getEntityRecord('root', 'site');
80
72
  const {
81
- getSettings
73
+ getSettings,
74
+ getCurrentTemplateTemplateParts
82
75
  } = (0, _lockUnlock.unlock)(select(_store.store));
83
- const _currentTemplateParts = select(_store.store).getCurrentTemplateTemplateParts();
84
- const siteEditorSettings = getSettings();
85
- const _postsPageRecord = siteSettings?.page_for_posts ? select(_coreData.store).getEntityRecord('postType', 'page', siteSettings?.page_for_posts) : EMPTY_OBJECT;
76
+ const siteSettings = getEntityRecord('root', 'site');
77
+ const _postsPageRecord = siteSettings?.page_for_posts ? getEntityRecord('postType', 'page', siteSettings?.page_for_posts) : EMPTY_OBJECT;
86
78
  return {
87
79
  allowCommentsOnNewPosts: siteSettings?.default_comment_status === 'open',
88
80
  postsPageTitle: _postsPageRecord?.title?.rendered,
89
81
  postsPageId: _postsPageRecord?.id,
90
82
  postsPerPage: siteSettings?.posts_per_page,
91
- templatePartAreas: siteEditorSettings?.defaultTemplatePartAreas,
92
- currentTemplateParts: _currentTemplateParts
83
+ templatePartAreas: getSettings()?.defaultTemplatePartAreas,
84
+ currentTemplateParts: getCurrentTemplateTemplateParts()
93
85
  };
94
- }, [postType, postId]);
86
+ }, []);
95
87
  const [commentsOnNewPostsValue, setCommentsOnNewPostsValue] = (0, _element.useState)('');
96
88
  const [postsCountValue, setPostsCountValue] = (0, _element.useState)(1);
97
89
  const [postsPageTitleValue, setPostsPageTitleValue] = (0, _element.useState)('');
@@ -113,12 +105,14 @@ function HomeTemplateDetails() {
113
105
  */
114
106
  const templateAreas = (0, _element.useMemo)(() => {
115
107
  return currentTemplateParts.length && templatePartAreas ? currentTemplateParts.map(({
116
- templatePart
108
+ templatePart,
109
+ block
117
110
  }) => ({
118
111
  ...templatePartAreas?.find(({
119
112
  area
120
113
  }) => area === templatePart?.area),
121
- ...templatePart
114
+ ...templatePart,
115
+ clientId: block.clientId
122
116
  })) : [];
123
117
  }, [currentTemplateParts, templatePartAreas]);
124
118
  const setAllowCommentsOnNewPosts = newValue => {
@@ -173,13 +167,14 @@ function HomeTemplateDetails() {
173
167
  title: (0, _i18n.__)('Areas'),
174
168
  spacing: 3
175
169
  }, (0, _element.createElement)(_components.__experimentalItemGroup, null, templateAreas.map(({
170
+ clientId,
176
171
  label,
177
172
  icon,
178
173
  theme,
179
174
  slug,
180
175
  title
181
176
  }) => (0, _element.createElement)(_sidebarNavigationScreenDetailsPanel.SidebarNavigationScreenDetailsPanelRow, {
182
- key: slug
177
+ key: clientId
183
178
  }, (0, _element.createElement)(TemplateAreaButton, {
184
179
  postId: `${theme}//${slug}`,
185
180
  title: title?.rendered || label,
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_i18n","_compose","_data","_coreData","_components","_icons","_htmlEntities","_sidebarNavigationScreenDetailsPanel","_lockUnlock","_store","_link","_sidebarNavigationItem","_interopRequireDefault","_constants","EMPTY_OBJECT","TemplateAreaButton","postId","icon","title","_icons$icon","icons","header","footer","linkInfo","useLink","postType","TEMPLATE_PART_POST_TYPE","createElement","default","className","layout","withChevron","__experimentalTruncate","limit","ellipsizeMode","numberOfLines","decodeEntities","HomeTemplateDetails","navigator","useNavigator","params","editEntityRecord","useDispatch","coreStore","allowCommentsOnNewPosts","templatePartAreas","postsPerPage","postsPageTitle","postsPageId","currentTemplateParts","useSelect","select","getEntityRecord","siteSettings","getSettings","unlock","editSiteStore","_currentTemplateParts","getCurrentTemplateTemplateParts","siteEditorSettings","_postsPageRecord","page_for_posts","default_comment_status","rendered","id","posts_per_page","defaultTemplatePartAreas","commentsOnNewPostsValue","setCommentsOnNewPostsValue","useState","postsCountValue","setPostsCountValue","postsPageTitleValue","setPostsPageTitleValue","useEffect","templateAreas","useMemo","length","map","templatePart","find","area","setAllowCommentsOnNewPosts","newValue","undefined","setPostsPageTitle","setPostsPerPage","Fragment","SidebarNavigationScreenDetailsPanel","spacing","SidebarNavigationScreenDetailsPanelRow","__experimentalInputControl","placeholder","__","size","value","onChange","debounce","label","help","__experimentalNumberControl","spinControls","step","min","CheckboxControl","checked","__experimentalItemGroup","theme","slug","key"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-template/home-template-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { debounce } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tCheckboxControl,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalInputControl as InputControl,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalTruncate as Truncate,\n\t__experimentalItemGroup as ItemGroup,\n} from '@wordpress/components';\nimport { header, footer, layout } from '@wordpress/icons';\nimport { useMemo, useState, useEffect } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSidebarNavigationScreenDetailsPanel,\n\tSidebarNavigationScreenDetailsPanelRow,\n} from '../sidebar-navigation-screen-details-panel';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport { useLink } from '../routes/link';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';\n\nconst EMPTY_OBJECT = {};\n\nfunction TemplateAreaButton( { postId, icon, title } ) {\n\tconst icons = {\n\t\theader,\n\t\tfooter,\n\t};\n\tconst linkInfo = useLink( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tpostId,\n\t} );\n\n\treturn (\n\t\t<SidebarNavigationItem\n\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template__template-area-button\"\n\t\t\t{ ...linkInfo }\n\t\t\ticon={ icons[ icon ] ?? layout }\n\t\t\twithChevron\n\t\t>\n\t\t\t<Truncate\n\t\t\t\tlimit={ 20 }\n\t\t\t\tellipsizeMode=\"tail\"\n\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template__template-area-label-text\"\n\t\t\t>\n\t\t\t\t{ decodeEntities( title ) }\n\t\t\t</Truncate>\n\t\t</SidebarNavigationItem>\n\t);\n}\n\nexport default function HomeTemplateDetails() {\n\tconst navigator = useNavigator();\n\tconst {\n\t\tparams: { postType, postId },\n\t} = navigator;\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst {\n\t\tallowCommentsOnNewPosts,\n\t\ttemplatePartAreas,\n\t\tpostsPerPage,\n\t\tpostsPageTitle,\n\t\tpostsPageId,\n\t\tcurrentTemplateParts,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\t\tconst _currentTemplateParts =\n\t\t\t\tselect( editSiteStore ).getCurrentTemplateTemplateParts();\n\t\t\tconst siteEditorSettings = getSettings();\n\t\t\tconst _postsPageRecord = siteSettings?.page_for_posts\n\t\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'page',\n\t\t\t\t\t\tsiteSettings?.page_for_posts\n\t\t\t\t )\n\t\t\t\t: EMPTY_OBJECT;\n\n\t\t\treturn {\n\t\t\t\tallowCommentsOnNewPosts:\n\t\t\t\t\tsiteSettings?.default_comment_status === 'open',\n\t\t\t\tpostsPageTitle: _postsPageRecord?.title?.rendered,\n\t\t\t\tpostsPageId: _postsPageRecord?.id,\n\t\t\t\tpostsPerPage: siteSettings?.posts_per_page,\n\t\t\t\ttemplatePartAreas: siteEditorSettings?.defaultTemplatePartAreas,\n\t\t\t\tcurrentTemplateParts: _currentTemplateParts,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst [ commentsOnNewPostsValue, setCommentsOnNewPostsValue ] =\n\t\tuseState( '' );\n\tconst [ postsCountValue, setPostsCountValue ] = useState( 1 );\n\tconst [ postsPageTitleValue, setPostsPageTitleValue ] = useState( '' );\n\n\t/*\n\t * This hook serves to set the server-retrieved values,\n\t * postsPageTitle, allowCommentsOnNewPosts, postsPerPage,\n\t * to local state.\n\t */\n\tuseEffect( () => {\n\t\tsetCommentsOnNewPostsValue( allowCommentsOnNewPosts );\n\t\tsetPostsPageTitleValue( postsPageTitle );\n\t\tsetPostsCountValue( postsPerPage );\n\t}, [ postsPageTitle, allowCommentsOnNewPosts, postsPerPage ] );\n\n\t/*\n\t * Merge data in currentTemplateParts with templatePartAreas,\n\t * which contains the template icon and fallback labels\n\t */\n\tconst templateAreas = useMemo( () => {\n\t\treturn currentTemplateParts.length && templatePartAreas\n\t\t\t? currentTemplateParts.map( ( { templatePart } ) => ( {\n\t\t\t\t\t...templatePartAreas?.find(\n\t\t\t\t\t\t( { area } ) => area === templatePart?.area\n\t\t\t\t\t),\n\t\t\t\t\t...templatePart,\n\t\t\t } ) )\n\t\t\t: [];\n\t}, [ currentTemplateParts, templatePartAreas ] );\n\n\tconst setAllowCommentsOnNewPosts = ( newValue ) => {\n\t\tsetCommentsOnNewPostsValue( newValue );\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tdefault_comment_status: newValue ? 'open' : null,\n\t\t} );\n\t};\n\n\tconst setPostsPageTitle = ( newValue ) => {\n\t\tsetPostsPageTitleValue( newValue );\n\t\teditEntityRecord( 'postType', 'page', postsPageId, {\n\t\t\ttitle: newValue,\n\t\t} );\n\t};\n\n\tconst setPostsPerPage = ( newValue ) => {\n\t\tsetPostsCountValue( newValue );\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tposts_per_page: newValue,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<SidebarNavigationScreenDetailsPanel spacing={ 6 }>\n\t\t\t\t{ postsPageId && (\n\t\t\t\t\t<SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__input-control\"\n\t\t\t\t\t\t\tplaceholder={ __( 'No Title' ) }\n\t\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\t\tvalue={ postsPageTitleValue }\n\t\t\t\t\t\t\tonChange={ debounce( setPostsPageTitle, 300 ) }\n\t\t\t\t\t\t\tlabel={ __( 'Blog title' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Set the Posts Page title. Appears in search results, and when the page is shared on social media.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t) }\n\t\t\t\t<SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__input-control\"\n\t\t\t\t\t\tplaceholder={ 0 }\n\t\t\t\t\t\tvalue={ postsCountValue }\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\tonChange={ setPostsPerPage }\n\t\t\t\t\t\tlabel={ __( 'Posts per page' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Set the default number of posts to display on blog pages, including categories and tags. Some templates may override this setting.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t</SidebarNavigationScreenDetailsPanel>\n\n\t\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\t\ttitle={ __( 'Discussion' ) }\n\t\t\t\tspacing={ 3 }\n\t\t\t>\n\t\t\t\t<SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__input-control\"\n\t\t\t\t\t\tlabel={ __( 'Allow comments on new posts' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Changes will apply to new posts only. Individual posts may override these settings.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ commentsOnNewPostsValue }\n\t\t\t\t\t\tonChange={ setAllowCommentsOnNewPosts }\n\t\t\t\t\t/>\n\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t</SidebarNavigationScreenDetailsPanel>\n\t\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\t\ttitle={ __( 'Areas' ) }\n\t\t\t\tspacing={ 3 }\n\t\t\t>\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t{ templateAreas.map(\n\t\t\t\t\t\t( { label, icon, theme, slug, title } ) => (\n\t\t\t\t\t\t\t<SidebarNavigationScreenDetailsPanelRow\n\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TemplateAreaButton\n\t\t\t\t\t\t\t\t\tpostId={ `${ theme }//${ slug }` }\n\t\t\t\t\t\t\t\t\ttitle={ title?.rendered || label }\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</ItemGroup>\n\t\t\t</SidebarNavigationScreenDetailsPanel>\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;AAgBA,IAAAA,QAAA,GAAAC,OAAA;AAbA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAQA,IAAAM,MAAA,GAAAN,OAAA;AAEA,IAAAO,aAAA,GAAAP,OAAA;AAKA,IAAAQ,oCAAA,GAAAR,OAAA;AAIA,IAAAS,WAAA,GAAAT,OAAA;AACA,IAAAU,MAAA,GAAAV,OAAA;AACA,IAAAW,KAAA,GAAAX,OAAA;AACA,IAAAY,sBAAA,GAAAC,sBAAA,CAAAb,OAAA;AACA,IAAAc,UAAA,GAAAd,OAAA;AA9BA;AACA;AACA;;AAiBA;AACA;AACA;;AAWA,MAAMe,YAAY,GAAG,CAAC,CAAC;AAEvB,SAASC,kBAAkBA,CAAE;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAM,CAAC,EAAG;EAAA,IAAAC,WAAA;EACtD,MAAMC,KAAK,GAAG;IACbC,MAAM,EAANA,aAAM;IACNC,MAAM,EAANA;EACD,CAAC;EACD,MAAMC,QAAQ,GAAG,IAAAC,aAAO,EAAE;IACzBC,QAAQ,EAAEC,kCAAuB;IACjCV;EACD,CAAE,CAAC;EAEH,OACC,IAAAlB,QAAA,CAAA6B,aAAA,EAAChB,sBAAA,CAAAiB,OAAqB;IACrBC,SAAS,EAAC,oEAAoE;IAAA,GACzEN,QAAQ;IACbN,IAAI,GAAAE,WAAA,GAAGC,KAAK,CAAEH,IAAI,CAAE,cAAAE,WAAA,cAAAA,WAAA,GAAIW,aAAQ;IAChCC,WAAW;EAAA,GAEX,IAAAjC,QAAA,CAAA6B,aAAA,EAACvB,WAAA,CAAA4B,sBAAQ;IACRC,KAAK,EAAG,EAAI;IACZC,aAAa,EAAC,MAAM;IACpBC,aAAa,EAAG,CAAG;IACnBN,SAAS,EAAC;EAAwE,GAEhF,IAAAO,4BAAc,EAAElB,KAAM,CACf,CACY,CAAC;AAE1B;AAEe,SAASmB,mBAAmBA,CAAA,EAAG;EAC7C,MAAMC,SAAS,GAAG,IAAAC,sCAAY,EAAC,CAAC;EAChC,MAAM;IACLC,MAAM,EAAE;MAAEf,QAAQ;MAAET;IAAO;EAC5B,CAAC,GAAGsB,SAAS;EACb,MAAM;IAAEG;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,eAAU,CAAC;EAErD,MAAM;IACLC,uBAAuB;IACvBC,iBAAiB;IACjBC,YAAY;IACZC,cAAc;IACdC,WAAW;IACXC;EACD,CAAC,GAAG,IAAAC,eAAS,EACVC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAgB,CAAC,GAAGD,MAAM,CAAER,eAAU,CAAC;IAC/C,MAAMU,YAAY,GAAGD,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC;IACtD,MAAM;MAAEE;IAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEJ,MAAM,CAAEK,YAAc,CAAE,CAAC;IACzD,MAAMC,qBAAqB,GAC1BN,MAAM,CAAEK,YAAc,CAAC,CAACE,+BAA+B,CAAC,CAAC;IAC1D,MAAMC,kBAAkB,GAAGL,WAAW,CAAC,CAAC;IACxC,MAAMM,gBAAgB,GAAGP,YAAY,EAAEQ,cAAc,GAClDV,MAAM,CAAER,eAAU,CAAC,CAACS,eAAe,CACnC,UAAU,EACV,MAAM,EACNC,YAAY,EAAEQ,cACd,CAAC,GACD/C,YAAY;IAEf,OAAO;MACN8B,uBAAuB,EACtBS,YAAY,EAAES,sBAAsB,KAAK,MAAM;MAChDf,cAAc,EAAEa,gBAAgB,EAAE1C,KAAK,EAAE6C,QAAQ;MACjDf,WAAW,EAAEY,gBAAgB,EAAEI,EAAE;MACjClB,YAAY,EAAEO,YAAY,EAAEY,cAAc;MAC1CpB,iBAAiB,EAAEc,kBAAkB,EAAEO,wBAAwB;MAC/DjB,oBAAoB,EAAEQ;IACvB,CAAC;EACF,CAAC,EACD,CAAEhC,QAAQ,EAAET,MAAM,CACnB,CAAC;EAED,MAAM,CAAEmD,uBAAuB,EAAEC,0BAA0B,CAAE,GAC5D,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EACf,MAAM,CAAEC,eAAe,EAAEC,kBAAkB,CAAE,GAAG,IAAAF,iBAAQ,EAAE,CAAE,CAAC;EAC7D,MAAM,CAAEG,mBAAmB,EAAEC,sBAAsB,CAAE,GAAG,IAAAJ,iBAAQ,EAAE,EAAG,CAAC;;EAEtE;AACD;AACA;AACA;AACA;EACC,IAAAK,kBAAS,EAAE,MAAM;IAChBN,0BAA0B,CAAExB,uBAAwB,CAAC;IACrD6B,sBAAsB,CAAE1B,cAAe,CAAC;IACxCwB,kBAAkB,CAAEzB,YAAa,CAAC;EACnC,CAAC,EAAE,CAAEC,cAAc,EAAEH,uBAAuB,EAAEE,YAAY,CAAG,CAAC;;EAE9D;AACD;AACA;AACA;EACC,MAAM6B,aAAa,GAAG,IAAAC,gBAAO,EAAE,MAAM;IACpC,OAAO3B,oBAAoB,CAAC4B,MAAM,IAAIhC,iBAAiB,GACpDI,oBAAoB,CAAC6B,GAAG,CAAE,CAAE;MAAEC;IAAa,CAAC,MAAQ;MACpD,GAAGlC,iBAAiB,EAAEmC,IAAI,CACzB,CAAE;QAAEC;MAAK,CAAC,KAAMA,IAAI,KAAKF,YAAY,EAAEE,IACxC,CAAC;MACD,GAAGF;IACH,CAAC,CAAG,CAAC,GACL,EAAE;EACN,CAAC,EAAE,CAAE9B,oBAAoB,EAAEJ,iBAAiB,CAAG,CAAC;EAEhD,MAAMqC,0BAA0B,GAAKC,QAAQ,IAAM;IAClDf,0BAA0B,CAAEe,QAAS,CAAC;IACtC1C,gBAAgB,CAAE,MAAM,EAAE,MAAM,EAAE2C,SAAS,EAAE;MAC5CtB,sBAAsB,EAAEqB,QAAQ,GAAG,MAAM,GAAG;IAC7C,CAAE,CAAC;EACJ,CAAC;EAED,MAAME,iBAAiB,GAAKF,QAAQ,IAAM;IACzCV,sBAAsB,CAAEU,QAAS,CAAC;IAClC1C,gBAAgB,CAAE,UAAU,EAAE,MAAM,EAAEO,WAAW,EAAE;MAClD9B,KAAK,EAAEiE;IACR,CAAE,CAAC;EACJ,CAAC;EAED,MAAMG,eAAe,GAAKH,QAAQ,IAAM;IACvCZ,kBAAkB,CAAEY,QAAS,CAAC;IAC9B1C,gBAAgB,CAAE,MAAM,EAAE,MAAM,EAAE2C,SAAS,EAAE;MAC5CnB,cAAc,EAAEkB;IACjB,CAAE,CAAC;EACJ,CAAC;EAED,OACC,IAAArF,QAAA,CAAA6B,aAAA,EAAA7B,QAAA,CAAAyF,QAAA,QACC,IAAAzF,QAAA,CAAA6B,aAAA,EAACpB,oCAAA,CAAAiF,mCAAmC;IAACC,OAAO,EAAG;EAAG,GAC/CzC,WAAW,IACZ,IAAAlD,QAAA,CAAA6B,aAAA,EAACpB,oCAAA,CAAAmF,sCAAsC,QACtC,IAAA5F,QAAA,CAAA6B,aAAA,EAACvB,WAAA,CAAAuF,0BAAY;IACZ9D,SAAS,EAAC,oDAAoD;IAC9D+D,WAAW,EAAG,IAAAC,QAAE,EAAE,UAAW,CAAG;IAChCC,IAAI,EAAG,kBAAoB;IAC3BC,KAAK,EAAGvB,mBAAqB;IAC7BwB,QAAQ,EAAG,IAAAC,iBAAQ,EAAEZ,iBAAiB,EAAE,GAAI,CAAG;IAC/Ca,KAAK,EAAG,IAAAL,QAAE,EAAE,YAAa,CAAG;IAC5BM,IAAI,EAAG,IAAAN,QAAE,EACR,mGACD;EAAG,CACH,CACsC,CACxC,EACD,IAAA/F,QAAA,CAAA6B,aAAA,EAACpB,oCAAA,CAAAmF,sCAAsC,QACtC,IAAA5F,QAAA,CAAA6B,aAAA,EAACvB,WAAA,CAAAgG,2BAAa;IACbvE,SAAS,EAAC,oDAAoD;IAC9D+D,WAAW,EAAG,CAAG;IACjBG,KAAK,EAAGzB,eAAiB;IACzBwB,IAAI,EAAG,kBAAoB;IAC3BO,YAAY,EAAC,QAAQ;IACrBC,IAAI,EAAC,GAAG;IACRC,GAAG,EAAC,GAAG;IACPP,QAAQ,EAAGV,eAAiB;IAC5BY,KAAK,EAAG,IAAAL,QAAE,EAAE,gBAAiB,CAAG;IAChCM,IAAI,EAAG,IAAAN,QAAE,EACR,oIACD;EAAG,CACH,CACsC,CACJ,CAAC,EAEtC,IAAA/F,QAAA,CAAA6B,aAAA,EAACpB,oCAAA,CAAAiF,mCAAmC;IACnCtE,KAAK,EAAG,IAAA2E,QAAE,EAAE,YAAa,CAAG;IAC5BJ,OAAO,EAAG;EAAG,GAEb,IAAA3F,QAAA,CAAA6B,aAAA,EAACpB,oCAAA,CAAAmF,sCAAsC,QACtC,IAAA5F,QAAA,CAAA6B,aAAA,EAACvB,WAAA,CAAAoG,eAAe;IACf3E,SAAS,EAAC,oDAAoD;IAC9DqE,KAAK,EAAG,IAAAL,QAAE,EAAE,6BAA8B,CAAG;IAC7CM,IAAI,EAAG,IAAAN,QAAE,EACR,qFACD,CAAG;IACHY,OAAO,EAAGtC,uBAAyB;IACnC6B,QAAQ,EAAGd;EAA4B,CACvC,CACsC,CACJ,CAAC,EACtC,IAAApF,QAAA,CAAA6B,aAAA,EAACpB,oCAAA,CAAAiF,mCAAmC;IACnCtE,KAAK,EAAG,IAAA2E,QAAE,EAAE,OAAQ,CAAG;IACvBJ,OAAO,EAAG;EAAG,GAEb,IAAA3F,QAAA,CAAA6B,aAAA,EAACvB,WAAA,CAAAsG,uBAAS,QACP/B,aAAa,CAACG,GAAG,CAClB,CAAE;IAAEoB,KAAK;IAAEjF,IAAI;IAAE0F,KAAK;IAAEC,IAAI;IAAE1F;EAAM,CAAC,KACpC,IAAApB,QAAA,CAAA6B,aAAA,EAACpB,oCAAA,CAAAmF,sCAAsC;IACtCmB,GAAG,EAAGD;EAAM,GAEZ,IAAA9G,QAAA,CAAA6B,aAAA,EAACZ,kBAAkB;IAClBC,MAAM,EAAI,GAAG2F,KAAO,KAAKC,IAAM,EAAG;IAClC1F,KAAK,EAAGA,KAAK,EAAE6C,QAAQ,IAAImC,KAAO;IAClCjF,IAAI,EAAGA;EAAM,CACb,CACsC,CAE1C,CACU,CACyB,CACpC,CAAC;AAEL"}
1
+ {"version":3,"names":["_element","require","_i18n","_compose","_data","_coreData","_components","_icons","_htmlEntities","_sidebarNavigationScreenDetailsPanel","_lockUnlock","_store","_link","_sidebarNavigationItem","_interopRequireDefault","_constants","EMPTY_OBJECT","TemplateAreaButton","postId","icon","title","_icons$icon","icons","header","footer","linkInfo","useLink","postType","TEMPLATE_PART_POST_TYPE","createElement","default","className","layout","withChevron","__experimentalTruncate","limit","ellipsizeMode","numberOfLines","decodeEntities","HomeTemplateDetails","editEntityRecord","useDispatch","coreStore","allowCommentsOnNewPosts","templatePartAreas","postsPerPage","postsPageTitle","postsPageId","currentTemplateParts","useSelect","select","getEntityRecord","getSettings","getCurrentTemplateTemplateParts","unlock","editSiteStore","siteSettings","_postsPageRecord","page_for_posts","default_comment_status","rendered","id","posts_per_page","defaultTemplatePartAreas","commentsOnNewPostsValue","setCommentsOnNewPostsValue","useState","postsCountValue","setPostsCountValue","postsPageTitleValue","setPostsPageTitleValue","useEffect","templateAreas","useMemo","length","map","templatePart","block","find","area","clientId","setAllowCommentsOnNewPosts","newValue","undefined","setPostsPageTitle","setPostsPerPage","Fragment","SidebarNavigationScreenDetailsPanel","spacing","SidebarNavigationScreenDetailsPanelRow","__experimentalInputControl","placeholder","__","size","value","onChange","debounce","label","help","__experimentalNumberControl","spinControls","step","min","CheckboxControl","checked","__experimentalItemGroup","theme","slug","key"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-template/home-template-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { debounce } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tCheckboxControl,\n\t__experimentalInputControl as InputControl,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalTruncate as Truncate,\n\t__experimentalItemGroup as ItemGroup,\n} from '@wordpress/components';\nimport { header, footer, layout } from '@wordpress/icons';\nimport { useMemo, useState, useEffect } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSidebarNavigationScreenDetailsPanel,\n\tSidebarNavigationScreenDetailsPanelRow,\n} from '../sidebar-navigation-screen-details-panel';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport { useLink } from '../routes/link';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';\n\nconst EMPTY_OBJECT = {};\n\nfunction TemplateAreaButton( { postId, icon, title } ) {\n\tconst icons = {\n\t\theader,\n\t\tfooter,\n\t};\n\tconst linkInfo = useLink( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tpostId,\n\t} );\n\n\treturn (\n\t\t<SidebarNavigationItem\n\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template__template-area-button\"\n\t\t\t{ ...linkInfo }\n\t\t\ticon={ icons[ icon ] ?? layout }\n\t\t\twithChevron\n\t\t>\n\t\t\t<Truncate\n\t\t\t\tlimit={ 20 }\n\t\t\t\tellipsizeMode=\"tail\"\n\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template__template-area-label-text\"\n\t\t\t>\n\t\t\t\t{ decodeEntities( title ) }\n\t\t\t</Truncate>\n\t\t</SidebarNavigationItem>\n\t);\n}\n\nexport default function HomeTemplateDetails() {\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst {\n\t\tallowCommentsOnNewPosts,\n\t\ttemplatePartAreas,\n\t\tpostsPerPage,\n\t\tpostsPageTitle,\n\t\tpostsPageId,\n\t\tcurrentTemplateParts,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst { getSettings, getCurrentTemplateTemplateParts } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\tconst _postsPageRecord = siteSettings?.page_for_posts\n\t\t\t? getEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'page',\n\t\t\t\t\tsiteSettings?.page_for_posts\n\t\t\t )\n\t\t\t: EMPTY_OBJECT;\n\n\t\treturn {\n\t\t\tallowCommentsOnNewPosts:\n\t\t\t\tsiteSettings?.default_comment_status === 'open',\n\t\t\tpostsPageTitle: _postsPageRecord?.title?.rendered,\n\t\t\tpostsPageId: _postsPageRecord?.id,\n\t\t\tpostsPerPage: siteSettings?.posts_per_page,\n\t\t\ttemplatePartAreas: getSettings()?.defaultTemplatePartAreas,\n\t\t\tcurrentTemplateParts: getCurrentTemplateTemplateParts(),\n\t\t};\n\t}, [] );\n\n\tconst [ commentsOnNewPostsValue, setCommentsOnNewPostsValue ] =\n\t\tuseState( '' );\n\tconst [ postsCountValue, setPostsCountValue ] = useState( 1 );\n\tconst [ postsPageTitleValue, setPostsPageTitleValue ] = useState( '' );\n\n\t/*\n\t * This hook serves to set the server-retrieved values,\n\t * postsPageTitle, allowCommentsOnNewPosts, postsPerPage,\n\t * to local state.\n\t */\n\tuseEffect( () => {\n\t\tsetCommentsOnNewPostsValue( allowCommentsOnNewPosts );\n\t\tsetPostsPageTitleValue( postsPageTitle );\n\t\tsetPostsCountValue( postsPerPage );\n\t}, [ postsPageTitle, allowCommentsOnNewPosts, postsPerPage ] );\n\n\t/*\n\t * Merge data in currentTemplateParts with templatePartAreas,\n\t * which contains the template icon and fallback labels\n\t */\n\tconst templateAreas = useMemo( () => {\n\t\treturn currentTemplateParts.length && templatePartAreas\n\t\t\t? currentTemplateParts.map( ( { templatePart, block } ) => ( {\n\t\t\t\t\t...templatePartAreas?.find(\n\t\t\t\t\t\t( { area } ) => area === templatePart?.area\n\t\t\t\t\t),\n\t\t\t\t\t...templatePart,\n\t\t\t\t\tclientId: block.clientId,\n\t\t\t } ) )\n\t\t\t: [];\n\t}, [ currentTemplateParts, templatePartAreas ] );\n\n\tconst setAllowCommentsOnNewPosts = ( newValue ) => {\n\t\tsetCommentsOnNewPostsValue( newValue );\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tdefault_comment_status: newValue ? 'open' : null,\n\t\t} );\n\t};\n\n\tconst setPostsPageTitle = ( newValue ) => {\n\t\tsetPostsPageTitleValue( newValue );\n\t\teditEntityRecord( 'postType', 'page', postsPageId, {\n\t\t\ttitle: newValue,\n\t\t} );\n\t};\n\n\tconst setPostsPerPage = ( newValue ) => {\n\t\tsetPostsCountValue( newValue );\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tposts_per_page: newValue,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<SidebarNavigationScreenDetailsPanel spacing={ 6 }>\n\t\t\t\t{ postsPageId && (\n\t\t\t\t\t<SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__input-control\"\n\t\t\t\t\t\t\tplaceholder={ __( 'No Title' ) }\n\t\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\t\tvalue={ postsPageTitleValue }\n\t\t\t\t\t\t\tonChange={ debounce( setPostsPageTitle, 300 ) }\n\t\t\t\t\t\t\tlabel={ __( 'Blog title' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Set the Posts Page title. Appears in search results, and when the page is shared on social media.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t) }\n\t\t\t\t<SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__input-control\"\n\t\t\t\t\t\tplaceholder={ 0 }\n\t\t\t\t\t\tvalue={ postsCountValue }\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\tonChange={ setPostsPerPage }\n\t\t\t\t\t\tlabel={ __( 'Posts per page' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Set the default number of posts to display on blog pages, including categories and tags. Some templates may override this setting.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t</SidebarNavigationScreenDetailsPanel>\n\n\t\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\t\ttitle={ __( 'Discussion' ) }\n\t\t\t\tspacing={ 3 }\n\t\t\t>\n\t\t\t\t<SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__input-control\"\n\t\t\t\t\t\tlabel={ __( 'Allow comments on new posts' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Changes will apply to new posts only. Individual posts may override these settings.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ commentsOnNewPostsValue }\n\t\t\t\t\t\tonChange={ setAllowCommentsOnNewPosts }\n\t\t\t\t\t/>\n\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t</SidebarNavigationScreenDetailsPanel>\n\t\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\t\ttitle={ __( 'Areas' ) }\n\t\t\t\tspacing={ 3 }\n\t\t\t>\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t{ templateAreas.map(\n\t\t\t\t\t\t( { clientId, label, icon, theme, slug, title } ) => (\n\t\t\t\t\t\t\t<SidebarNavigationScreenDetailsPanelRow\n\t\t\t\t\t\t\t\tkey={ clientId }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TemplateAreaButton\n\t\t\t\t\t\t\t\t\tpostId={ `${ theme }//${ slug }` }\n\t\t\t\t\t\t\t\t\ttitle={ title?.rendered || label }\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</ItemGroup>\n\t\t\t</SidebarNavigationScreenDetailsPanel>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -9,9 +9,11 @@ var _element = require("@wordpress/element");
9
9
  var _i18n = require("@wordpress/i18n");
10
10
  var _data = require("@wordpress/data");
11
11
  var _components = require("@wordpress/components");
12
+ var _router = require("@wordpress/router");
12
13
  var _sidebarNavigationScreen = _interopRequireDefault(require("../sidebar-navigation-screen"));
13
14
  var _store = require("../../store");
14
15
  var _constants = require("../../utils/constants");
16
+ var _lockUnlock = require("../../lock-unlock");
15
17
  /**
16
18
  * WordPress dependencies
17
19
  */
@@ -31,18 +33,28 @@ const config = {
31
33
  backPath: '/patterns'
32
34
  }
33
35
  };
36
+ const {
37
+ useLocation
38
+ } = (0, _lockUnlock.unlock)(_router.privateApis);
34
39
  function SidebarNavigationScreenTemplatesBrowse() {
35
40
  const {
36
41
  params: {
37
42
  postType
38
43
  }
39
44
  } = (0, _components.__experimentalUseNavigator)();
45
+ const {
46
+ params: {
47
+ didAccessPatternsPage
48
+ }
49
+ } = useLocation();
40
50
  const isTemplatePartsMode = (0, _data.useSelect)(select => {
41
- const settings = select(_store.store).getSettings();
42
- return !!settings.supportsTemplatePartsMode;
51
+ return !!select(_store.store).getSettings().supportsTemplatePartsMode;
43
52
  }, []);
44
- return (0, _element.createElement)(_sidebarNavigationScreen.default, {
45
- isRoot: isTemplatePartsMode,
53
+ return (0, _element.createElement)(_sidebarNavigationScreen.default
54
+ // If a classic theme that supports template parts has never
55
+ // accessed the Patterns page, return to the dashboard.
56
+ , {
57
+ isRoot: isTemplatePartsMode && !didAccessPatternsPage,
46
58
  title: config[postType].title,
47
59
  description: config[postType].description,
48
60
  backPath: config[postType].backPath
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_data","_components","_sidebarNavigationScreen","_interopRequireDefault","_store","_constants","config","TEMPLATE_POST_TYPE","title","__","description","TEMPLATE_PART_POST_TYPE","backPath","SidebarNavigationScreenTemplatesBrowse","params","postType","useNavigator","isTemplatePartsMode","useSelect","select","settings","editSiteStore","getSettings","supportsTemplatePartsMode","_element","createElement","default","isRoot"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-templates-browse/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { __experimentalUseNavigator as useNavigator } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst config = {\n\t[ TEMPLATE_POST_TYPE ]: {\n\t\ttitle: __( 'All templates' ),\n\t\tdescription: __(\n\t\t\t'Create new templates, or reset any customizations made to the templates supplied by your theme.'\n\t\t),\n\t},\n\t[ TEMPLATE_PART_POST_TYPE ]: {\n\t\ttitle: __( 'All template parts' ),\n\t\tdescription: __(\n\t\t\t'Create new template parts, or reset any customizations made to the template parts supplied by your theme.'\n\t\t),\n\t\tbackPath: '/patterns',\n\t},\n};\n\nexport default function SidebarNavigationScreenTemplatesBrowse() {\n\tconst {\n\t\tparams: { postType },\n\t} = useNavigator();\n\n\tconst isTemplatePartsMode = useSelect( ( select ) => {\n\t\tconst settings = select( editSiteStore ).getSettings();\n\n\t\treturn !! settings.supportsTemplatePartsMode;\n\t}, [] );\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\tisRoot={ isTemplatePartsMode }\n\t\t\ttitle={ config[ postType ].title }\n\t\t\tdescription={ config[ postType ].description }\n\t\t\tbackPath={ config[ postType ].backPath }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,wBAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,UAAA,GAAAN,OAAA;AAZA;AACA;AACA;;AAKA;AACA;AACA;;AAQA,MAAMO,MAAM,GAAG;EACd,CAAEC,6BAAkB,GAAI;IACvBC,KAAK,EAAE,IAAAC,QAAE,EAAE,eAAgB,CAAC;IAC5BC,WAAW,EAAE,IAAAD,QAAE,EACd,iGACD;EACD,CAAC;EACD,CAAEE,kCAAuB,GAAI;IAC5BH,KAAK,EAAE,IAAAC,QAAE,EAAE,oBAAqB,CAAC;IACjCC,WAAW,EAAE,IAAAD,QAAE,EACd,2GACD,CAAC;IACDG,QAAQ,EAAE;EACX;AACD,CAAC;AAEc,SAASC,sCAAsCA,CAAA,EAAG;EAChE,MAAM;IACLC,MAAM,EAAE;MAAEC;IAAS;EACpB,CAAC,GAAG,IAAAC,sCAAY,EAAC,CAAC;EAElB,MAAMC,mBAAmB,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACpD,MAAMC,QAAQ,GAAGD,MAAM,CAAEE,YAAc,CAAC,CAACC,WAAW,CAAC,CAAC;IAEtD,OAAO,CAAC,CAAEF,QAAQ,CAACG,yBAAyB;EAC7C,CAAC,EAAE,EAAG,CAAC;EAEP,OACC,IAAAC,QAAA,CAAAC,aAAA,EAACvB,wBAAA,CAAAwB,OAAuB;IACvBC,MAAM,EAAGV,mBAAqB;IAC9BT,KAAK,EAAGF,MAAM,CAAES,QAAQ,CAAE,CAACP,KAAO;IAClCE,WAAW,EAAGJ,MAAM,CAAES,QAAQ,CAAE,CAACL,WAAa;IAC9CE,QAAQ,EAAGN,MAAM,CAAES,QAAQ,CAAE,CAACH;EAAU,CACxC,CAAC;AAEJ"}
1
+ {"version":3,"names":["_i18n","require","_data","_components","_router","_sidebarNavigationScreen","_interopRequireDefault","_store","_constants","_lockUnlock","config","TEMPLATE_POST_TYPE","title","__","description","TEMPLATE_PART_POST_TYPE","backPath","useLocation","unlock","routerPrivateApis","SidebarNavigationScreenTemplatesBrowse","params","postType","useNavigator","didAccessPatternsPage","isTemplatePartsMode","useSelect","select","editSiteStore","getSettings","supportsTemplatePartsMode","_element","createElement","default","isRoot"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-templates-browse/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { __experimentalUseNavigator as useNavigator } from '@wordpress/components';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst config = {\n\t[ TEMPLATE_POST_TYPE ]: {\n\t\ttitle: __( 'All templates' ),\n\t\tdescription: __(\n\t\t\t'Create new templates, or reset any customizations made to the templates supplied by your theme.'\n\t\t),\n\t},\n\t[ TEMPLATE_PART_POST_TYPE ]: {\n\t\ttitle: __( 'All template parts' ),\n\t\tdescription: __(\n\t\t\t'Create new template parts, or reset any customizations made to the template parts supplied by your theme.'\n\t\t),\n\t\tbackPath: '/patterns',\n\t},\n};\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function SidebarNavigationScreenTemplatesBrowse() {\n\tconst {\n\t\tparams: { postType },\n\t} = useNavigator();\n\tconst {\n\t\tparams: { didAccessPatternsPage },\n\t} = useLocation();\n\n\tconst isTemplatePartsMode = useSelect( ( select ) => {\n\t\treturn !! select( editSiteStore ).getSettings()\n\t\t\t.supportsTemplatePartsMode;\n\t}, [] );\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\t// If a classic theme that supports template parts has never\n\t\t\t// accessed the Patterns page, return to the dashboard.\n\t\t\tisRoot={ isTemplatePartsMode && ! didAccessPatternsPage }\n\t\t\ttitle={ config[ postType ].title }\n\t\t\tdescription={ config[ postType ].description }\n\t\t\tbackPath={ config[ postType ].backPath }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,wBAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,UAAA,GAAAP,OAAA;AAIA,IAAAQ,WAAA,GAAAR,OAAA;AAjBA;AACA;AACA;;AAMA;AACA;AACA;;AASA,MAAMS,MAAM,GAAG;EACd,CAAEC,6BAAkB,GAAI;IACvBC,KAAK,EAAE,IAAAC,QAAE,EAAE,eAAgB,CAAC;IAC5BC,WAAW,EAAE,IAAAD,QAAE,EACd,iGACD;EACD,CAAC;EACD,CAAEE,kCAAuB,GAAI;IAC5BH,KAAK,EAAE,IAAAC,QAAE,EAAE,oBAAqB,CAAC;IACjCC,WAAW,EAAE,IAAAD,QAAE,EACd,2GACD,CAAC;IACDG,QAAQ,EAAE;EACX;AACD,CAAC;AAED,MAAM;EAAEC;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEpC,SAASC,sCAAsCA,CAAA,EAAG;EAChE,MAAM;IACLC,MAAM,EAAE;MAAEC;IAAS;EACpB,CAAC,GAAG,IAAAC,sCAAY,EAAC,CAAC;EAClB,MAAM;IACLF,MAAM,EAAE;MAAEG;IAAsB;EACjC,CAAC,GAAGP,WAAW,CAAC,CAAC;EAEjB,MAAMQ,mBAAmB,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACpD,OAAO,CAAC,CAAEA,MAAM,CAAEC,YAAc,CAAC,CAACC,WAAW,CAAC,CAAC,CAC7CC,yBAAyB;EAC5B,CAAC,EAAE,EAAG,CAAC;EAEP,OACC,IAAAC,QAAA,CAAAC,aAAA,EAAC3B,wBAAA,CAAA4B;EACA;EACA;EAAA;IACAC,MAAM,EAAGT,mBAAmB,IAAI,CAAED,qBAAuB;IACzDZ,KAAK,EAAGF,MAAM,CAAEY,QAAQ,CAAE,CAACV,KAAO;IAClCE,WAAW,EAAGJ,MAAM,CAAEY,QAAQ,CAAE,CAACR,WAAa;IAC9CE,QAAQ,EAAGN,MAAM,CAAEY,QAAQ,CAAE,CAACN;EAAU,CACxC,CAAC;AAEJ"}