@wordpress/edit-site 5.27.2 → 5.28.1

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 (342) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +3 -6
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/add-new-template/add-custom-generic-template-modal-content.js +1 -2
  5. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  6. package/build/components/add-new-template/add-custom-template-modal-content.js +1 -2
  7. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  8. package/build/components/block-editor/editor-canvas.js +1 -2
  9. package/build/components/block-editor/editor-canvas.js.map +1 -1
  10. package/build/components/block-editor/inserter-media-categories.js +1 -2
  11. package/build/components/block-editor/inserter-media-categories.js.map +1 -1
  12. package/build/components/block-editor/resizable-editor.js +1 -2
  13. package/build/components/block-editor/resizable-editor.js.map +1 -1
  14. package/build/components/block-editor/site-editor-canvas.js +4 -3
  15. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  16. package/build/components/block-editor/{use-post-link-props.js → use-navigate-to-entity-record.js} +9 -8
  17. package/build/components/block-editor/use-navigate-to-entity-record.js.map +1 -0
  18. package/build/components/block-editor/use-site-editor-settings.js +31 -5
  19. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  20. package/build/components/editor/index.js +6 -3
  21. package/build/components/editor/index.js.map +1 -1
  22. package/build/components/editor-canvas-container/index.js +1 -2
  23. package/build/components/editor-canvas-container/index.js.map +1 -1
  24. package/build/components/global-styles/block-preview-panel.js +1 -2
  25. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  26. package/build/components/global-styles/color-indicator-wrapper.js +1 -2
  27. package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
  28. package/build/components/global-styles/font-families.js +9 -5
  29. package/build/components/global-styles/font-families.js.map +1 -1
  30. package/build/components/global-styles/font-family-item.js +1 -2
  31. package/build/components/global-styles/font-family-item.js.map +1 -1
  32. package/build/components/global-styles/font-library-modal/collection-font-details.js +1 -2
  33. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  34. package/build/components/global-styles/font-library-modal/collection-font-variant.js +13 -13
  35. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  36. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +1 -2
  37. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -1
  38. package/build/components/global-styles/font-library-modal/context.js +2 -13
  39. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  40. package/build/components/global-styles/font-library-modal/font-card.js +3 -3
  41. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
  42. package/build/components/global-styles/font-library-modal/font-collection.js +9 -7
  43. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  44. package/build/components/global-styles/font-library-modal/font-demo.js +5 -11
  45. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  46. package/build/components/global-styles/font-library-modal/fonts-grid.js +1 -2
  47. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
  48. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +2 -3
  49. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  50. package/build/components/global-styles/font-library-modal/index.js +1 -2
  51. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  52. package/build/components/global-styles/font-library-modal/installed-fonts.js +6 -5
  53. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  54. package/build/components/global-styles/font-library-modal/library-font-card.js +2 -3
  55. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  56. package/build/components/global-styles/font-library-modal/library-font-details.js +1 -2
  57. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  58. package/build/components/global-styles/font-library-modal/library-font-variant.js +13 -13
  59. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  60. package/build/components/global-styles/font-library-modal/tab-panel-layout.js +14 -4
  61. package/build/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
  62. package/build/components/global-styles/font-library-modal/upload-fonts.js +9 -8
  63. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  64. package/build/components/global-styles/font-library-modal/utils/constants.js +3 -6
  65. package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
  66. package/build/components/global-styles/font-library-modal/utils/index.js +4 -1
  67. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  68. package/build/components/global-styles/header.js +1 -2
  69. package/build/components/global-styles/header.js.map +1 -1
  70. package/build/components/global-styles/palette.js +1 -2
  71. package/build/components/global-styles/palette.js.map +1 -1
  72. package/build/components/global-styles/preview.js +1 -2
  73. package/build/components/global-styles/preview.js.map +1 -1
  74. package/build/components/global-styles/root-menu.js +1 -2
  75. package/build/components/global-styles/root-menu.js.map +1 -1
  76. package/build/components/global-styles/screen-block-list.js +1 -2
  77. package/build/components/global-styles/screen-block-list.js.map +1 -1
  78. package/build/components/global-styles/screen-block.js +1 -11
  79. package/build/components/global-styles/screen-block.js.map +1 -1
  80. package/build/components/global-styles/screen-color-palette.js +1 -2
  81. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  82. package/build/components/global-styles/screen-colors.js +1 -2
  83. package/build/components/global-styles/screen-colors.js.map +1 -1
  84. package/build/components/global-styles/screen-css.js +1 -2
  85. package/build/components/global-styles/screen-css.js.map +1 -1
  86. package/build/components/global-styles/screen-layout.js +1 -2
  87. package/build/components/global-styles/screen-layout.js.map +1 -1
  88. package/build/components/global-styles/screen-revisions/index.js +1 -2
  89. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  90. package/build/components/global-styles/screen-revisions/revisions-buttons.js +2 -3
  91. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  92. package/build/components/global-styles/screen-root.js +1 -2
  93. package/build/components/global-styles/screen-root.js.map +1 -1
  94. package/build/components/global-styles/screen-style-variations.js +1 -2
  95. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  96. package/build/components/global-styles/screen-typography-element.js +3 -6
  97. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  98. package/build/components/global-styles/screen-typography.js +1 -2
  99. package/build/components/global-styles/screen-typography.js.map +1 -1
  100. package/build/components/global-styles/subtitle.js +1 -2
  101. package/build/components/global-styles/subtitle.js.map +1 -1
  102. package/build/components/global-styles/typogrphy-elements.js +1 -2
  103. package/build/components/global-styles/typogrphy-elements.js.map +1 -1
  104. package/build/components/global-styles/ui.js +3 -4
  105. package/build/components/global-styles/ui.js.map +1 -1
  106. package/build/components/header-edit-mode/mode-switcher/index.js +1 -2
  107. package/build/components/header-edit-mode/mode-switcher/index.js.map +1 -1
  108. package/build/components/header-edit-mode/more-menu/index.js +12 -21
  109. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  110. package/build/components/header-edit-mode/plugin-more-menu-item/index.js +1 -2
  111. package/build/components/header-edit-mode/plugin-more-menu-item/index.js.map +1 -1
  112. package/build/components/header-edit-mode/tools-more-menu-group/index.js +1 -2
  113. package/build/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  114. package/build/components/keyboard-shortcut-help-modal/config.js +1 -2
  115. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  116. package/build/components/keyboard-shortcut-help-modal/index.js +1 -3
  117. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  118. package/build/components/keyboard-shortcuts/edit-mode.js +1 -2
  119. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  120. package/build/components/keyboard-shortcuts/global.js +1 -2
  121. package/build/components/keyboard-shortcuts/global.js.map +1 -1
  122. package/build/components/keyboard-shortcuts/register.js +1 -2
  123. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  124. package/build/components/layout/index.js +0 -2
  125. package/build/components/layout/index.js.map +1 -1
  126. package/build/components/media/index.js +1 -2
  127. package/build/components/media/index.js.map +1 -1
  128. package/build/components/page-pages/index.js +27 -15
  129. package/build/components/page-pages/index.js.map +1 -1
  130. package/build/components/page-patterns/dataviews-pattern-actions.js +87 -32
  131. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  132. package/build/components/page-patterns/grid-item.js +2 -6
  133. package/build/components/page-patterns/grid-item.js.map +1 -1
  134. package/build/components/page-patterns/index.js +2 -1
  135. package/build/components/page-patterns/index.js.map +1 -1
  136. package/build/components/page-patterns/search-items.js +0 -1
  137. package/build/components/page-patterns/search-items.js.map +1 -1
  138. package/build/components/page-patterns/use-patterns.js +1 -2
  139. package/build/components/page-patterns/use-patterns.js.map +1 -1
  140. package/build/components/page-templates-template-parts/actions.js +2 -4
  141. package/build/components/page-templates-template-parts/actions.js.map +1 -1
  142. package/build/components/page-templates-template-parts/index.js +8 -5
  143. package/build/components/page-templates-template-parts/index.js.map +1 -1
  144. package/build/components/pattern-modal/index.js +1 -2
  145. package/build/components/pattern-modal/index.js.map +1 -1
  146. package/build/components/plugin-template-setting-panel/index.js +1 -2
  147. package/build/components/plugin-template-setting-panel/index.js.map +1 -1
  148. package/build/components/preferences-modal/index.js +1 -2
  149. package/build/components/preferences-modal/index.js.map +1 -1
  150. package/build/components/resizable-frame/index.js +1 -2
  151. package/build/components/resizable-frame/index.js.map +1 -1
  152. package/build/components/revisions/index.js +1 -2
  153. package/build/components/revisions/index.js.map +1 -1
  154. package/build/components/routes/link.js +2 -6
  155. package/build/components/routes/link.js.map +1 -1
  156. package/build/components/sidebar/index.js +3 -4
  157. package/build/components/sidebar/index.js.map +1 -1
  158. package/build/components/sidebar-dataviews/default-views.js +4 -6
  159. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  160. package/build/components/sidebar-edit-mode/constants.js +2 -4
  161. package/build/components/sidebar-edit-mode/constants.js.map +1 -1
  162. package/build/components/sidebar-edit-mode/index.js +97 -18
  163. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  164. package/build/components/sidebar-edit-mode/settings-header/index.js +21 -43
  165. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  166. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +1 -2
  167. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  168. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +1 -2
  169. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  170. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
  171. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  172. package/build/components/site-hub/index.js +1 -2
  173. package/build/components/site-hub/index.js.map +1 -1
  174. package/build/components/site-icon/index.js +3 -4
  175. package/build/components/site-icon/index.js.map +1 -1
  176. package/build/components/start-template-options/index.js +3 -5
  177. package/build/components/start-template-options/index.js.map +1 -1
  178. package/build/components/style-book/index.js +1 -2
  179. package/build/components/style-book/index.js.map +1 -1
  180. package/build/components/template-part-converter/convert-to-template-part.js +0 -1
  181. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  182. package/build/hooks/navigation-menu-edit.js +1 -2
  183. package/build/hooks/navigation-menu-edit.js.map +1 -1
  184. package/build/hooks/template-part-edit.js +1 -2
  185. package/build/hooks/template-part-edit.js.map +1 -1
  186. package/build/store/actions.js +7 -2
  187. package/build/store/actions.js.map +1 -1
  188. package/build/store/constants.js +1 -2
  189. package/build/store/constants.js.map +1 -1
  190. package/build/store/index.js +4 -6
  191. package/build/store/index.js.map +1 -1
  192. package/build/store/reducer.js +1 -2
  193. package/build/store/reducer.js.map +1 -1
  194. package/build/store/selectors.js +9 -18
  195. package/build/store/selectors.js.map +1 -1
  196. package/build/store/utils.js +1 -2
  197. package/build/store/utils.js.map +1 -1
  198. package/build/utils/constants.js +13 -26
  199. package/build/utils/constants.js.map +1 -1
  200. package/build-module/components/block-editor/site-editor-canvas.js +5 -4
  201. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  202. package/build-module/components/block-editor/{use-post-link-props.js → use-navigate-to-entity-record.js} +8 -7
  203. package/build-module/components/block-editor/use-navigate-to-entity-record.js.map +1 -0
  204. package/build-module/components/block-editor/use-site-editor-settings.js +30 -5
  205. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  206. package/build-module/components/editor/index.js +6 -3
  207. package/build-module/components/editor/index.js.map +1 -1
  208. package/build-module/components/global-styles/font-families.js +8 -4
  209. package/build-module/components/global-styles/font-families.js.map +1 -1
  210. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +12 -11
  211. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  212. package/build-module/components/global-styles/font-library-modal/context.js +0 -9
  213. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  214. package/build-module/components/global-styles/font-library-modal/font-card.js +3 -2
  215. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
  216. package/build-module/components/global-styles/font-library-modal/font-collection.js +9 -6
  217. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  218. package/build-module/components/global-styles/font-library-modal/font-demo.js +4 -9
  219. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  220. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  221. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  222. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +5 -3
  223. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  224. package/build-module/components/global-styles/font-library-modal/library-font-card.js +1 -1
  225. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  226. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +12 -11
  227. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  228. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js +13 -2
  229. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
  230. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +9 -7
  231. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  232. package/build-module/components/global-styles/font-library-modal/utils/index.js +4 -1
  233. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  234. package/build-module/components/global-styles/screen-block.js +0 -9
  235. package/build-module/components/global-styles/screen-block.js.map +1 -1
  236. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
  237. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  238. package/build-module/components/global-styles/screen-typography-element.js +3 -5
  239. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  240. package/build-module/components/header-edit-mode/more-menu/index.js +12 -21
  241. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  242. package/build-module/components/keyboard-shortcut-help-modal/index.js +0 -1
  243. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  244. package/build-module/components/layout/index.js +0 -2
  245. package/build-module/components/layout/index.js.map +1 -1
  246. package/build-module/components/page-pages/index.js +25 -13
  247. package/build-module/components/page-pages/index.js.map +1 -1
  248. package/build-module/components/page-patterns/dataviews-pattern-actions.js +81 -20
  249. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  250. package/build-module/components/page-patterns/grid-item.js +1 -4
  251. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  252. package/build-module/components/page-patterns/index.js +2 -1
  253. package/build-module/components/page-patterns/index.js.map +1 -1
  254. package/build-module/components/page-patterns/search-items.js +0 -1
  255. package/build-module/components/page-patterns/search-items.js.map +1 -1
  256. package/build-module/components/page-templates-template-parts/index.js +6 -3
  257. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  258. package/build-module/components/routes/link.js +2 -5
  259. package/build-module/components/routes/link.js.map +1 -1
  260. package/build-module/components/sidebar-dataviews/default-views.js +3 -3
  261. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  262. package/build-module/components/sidebar-edit-mode/index.js +98 -18
  263. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  264. package/build-module/components/sidebar-edit-mode/settings-header/index.js +23 -43
  265. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  266. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +2 -2
  267. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  268. package/build-module/components/site-icon/index.js +2 -2
  269. package/build-module/components/site-icon/index.js.map +1 -1
  270. package/build-module/components/start-template-options/index.js +4 -6
  271. package/build-module/components/start-template-options/index.js.map +1 -1
  272. package/build-module/components/template-part-converter/convert-to-template-part.js +0 -1
  273. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  274. package/build-module/store/actions.js +7 -2
  275. package/build-module/store/actions.js.map +1 -1
  276. package/build-style/style-rtl.css +389 -218
  277. package/build-style/style.css +389 -218
  278. package/package.json +42 -42
  279. package/src/components/add-new-template/style.scss +0 -12
  280. package/src/components/block-editor/site-editor-canvas.js +4 -3
  281. package/src/components/block-editor/style.scss +2 -20
  282. package/src/components/block-editor/use-navigate-to-entity-record.js +25 -0
  283. package/src/components/block-editor/use-site-editor-settings.js +38 -5
  284. package/src/components/editor/index.js +7 -1
  285. package/src/components/global-styles/font-families.js +13 -4
  286. package/src/components/global-styles/font-library-modal/collection-font-variant.js +10 -8
  287. package/src/components/global-styles/font-library-modal/context.js +0 -9
  288. package/src/components/global-styles/font-library-modal/font-card.js +10 -4
  289. package/src/components/global-styles/font-library-modal/font-collection.js +9 -7
  290. package/src/components/global-styles/font-library-modal/font-demo.js +8 -9
  291. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +1 -1
  292. package/src/components/global-styles/font-library-modal/installed-fonts.js +8 -3
  293. package/src/components/global-styles/font-library-modal/library-font-card.js +1 -1
  294. package/src/components/global-styles/font-library-modal/library-font-variant.js +10 -8
  295. package/src/components/global-styles/font-library-modal/style.scss +13 -17
  296. package/src/components/global-styles/font-library-modal/tab-panel-layout.js +11 -1
  297. package/src/components/global-styles/font-library-modal/upload-fonts.js +10 -13
  298. package/src/components/global-styles/font-library-modal/utils/index.js +2 -1
  299. package/src/components/global-styles/screen-block.js +0 -12
  300. package/src/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
  301. package/src/components/global-styles/screen-revisions/style.scss +21 -15
  302. package/src/components/global-styles/screen-typography-element.js +2 -4
  303. package/src/components/global-styles/style.scss +4 -0
  304. package/src/components/header-edit-mode/more-menu/index.js +10 -18
  305. package/src/components/header-edit-mode/style.scss +54 -6
  306. package/src/components/layout/style.scss +2 -7
  307. package/src/components/page/style.scss +0 -1
  308. package/src/components/page-pages/index.js +32 -23
  309. package/src/components/page-pages/style.scss +28 -27
  310. package/src/components/page-patterns/dataviews-pattern-actions.js +106 -30
  311. package/src/components/page-patterns/grid-item.js +0 -2
  312. package/src/components/page-patterns/index.js +1 -0
  313. package/src/components/page-patterns/style.scss +4 -9
  314. package/src/components/page-templates-template-parts/index.js +23 -16
  315. package/src/components/page-templates-template-parts/style.scss +16 -0
  316. package/src/components/routes/link.js +2 -11
  317. package/src/components/sidebar-dataviews/default-views.js +3 -3
  318. package/src/components/sidebar-edit-mode/index.js +121 -25
  319. package/src/components/sidebar-edit-mode/settings-header/index.js +25 -63
  320. package/src/components/sidebar-edit-mode/settings-header/style.scss +0 -87
  321. package/src/components/sidebar-edit-mode/sidebar-card/style.scss +3 -0
  322. package/src/components/sidebar-edit-mode/style.scss +4 -0
  323. package/src/components/sidebar-navigation-screen/style.scss +2 -1
  324. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +9 -3
  325. package/src/components/site-hub/style.scss +0 -1
  326. package/src/components/site-icon/index.js +1 -1
  327. package/src/components/site-icon/style.scss +9 -1
  328. package/src/components/start-template-options/index.js +3 -7
  329. package/src/store/actions.js +20 -3
  330. package/build/components/block-editor/back-button.js +0 -46
  331. package/build/components/block-editor/back-button.js.map +0 -1
  332. package/build/components/block-editor/use-post-link-props.js.map +0 -1
  333. package/build/components/global-styles/font-library-modal/font-variant.js +0 -51
  334. package/build/components/global-styles/font-library-modal/font-variant.js.map +0 -1
  335. package/build-module/components/block-editor/back-button.js +0 -38
  336. package/build-module/components/block-editor/back-button.js.map +0 -1
  337. package/build-module/components/block-editor/use-post-link-props.js.map +0 -1
  338. package/build-module/components/global-styles/font-library-modal/font-variant.js +0 -42
  339. package/build-module/components/global-styles/font-library-modal/font-variant.js.map +0 -1
  340. package/src/components/block-editor/back-button.js +0 -51
  341. package/src/components/block-editor/use-post-link-props.js +0 -24
  342. package/src/components/global-styles/font-library-modal/font-variant.js +0 -53
@@ -2,13 +2,14 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { createSlotFill } from '@wordpress/components';
5
+ import { createSlotFill, privateApis as componentsPrivateApis } from '@wordpress/components';
6
6
  import { isRTL, __ } from '@wordpress/i18n';
7
7
  import { drawerLeft, drawerRight } from '@wordpress/icons';
8
- import { useEffect } from '@wordpress/element';
8
+ import { useCallback, useContext, useEffect, useRef } from '@wordpress/element';
9
9
  import { useSelect, useDispatch } from '@wordpress/data';
10
10
  import { store as interfaceStore } from '@wordpress/interface';
11
11
  import { store as blockEditorStore } from '@wordpress/block-editor';
12
+ import { store as coreStore } from '@wordpress/core-data';
12
13
 
13
14
  /**
14
15
  * Internal dependencies
@@ -22,28 +23,94 @@ import TemplatePanel from './template-panel';
22
23
  import PluginTemplateSettingPanel from '../plugin-template-setting-panel';
23
24
  import { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from './constants';
24
25
  import { store as editSiteStore } from '../../store';
26
+ import { unlock } from '../../lock-unlock';
27
+ const {
28
+ Tabs
29
+ } = unlock(componentsPrivateApis);
25
30
  const {
26
31
  Slot: InspectorSlot,
27
32
  Fill: InspectorFill
28
33
  } = createSlotFill('EditSiteSidebarInspector');
29
34
  export const SidebarInspectorFill = InspectorFill;
35
+ const FillContents = ({
36
+ sidebarName,
37
+ isEditingPage,
38
+ supportsGlobalStyles
39
+ }) => {
40
+ const tabListRef = useRef(null);
41
+ // Because `DefaultSidebar` renders a `ComplementaryArea`, we
42
+ // need to forward the `Tabs` context so it can be passed through the
43
+ // underlying slot/fill.
44
+ const tabsContextValue = useContext(Tabs.Context);
45
+
46
+ // This effect addresses a race condition caused by tabbing from the last
47
+ // block in the editor into the settings sidebar. Without this effect, the
48
+ // selected tab and browser focus can become separated in an unexpected way.
49
+ // (e.g the "block" tab is focused, but the "post" tab is selected).
50
+ useEffect(() => {
51
+ const tabsElements = Array.from(tabListRef.current?.querySelectorAll('[role="tab"]') || []);
52
+ const selectedTabElement = tabsElements.find(
53
+ // We are purposefully using a custom `data-tab-id` attribute here
54
+ // because we don't want rely on any assumptions about `Tabs`
55
+ // component internals.
56
+ element => element.getAttribute('data-tab-id') === sidebarName);
57
+ const activeElement = selectedTabElement?.ownerDocument.activeElement;
58
+ const tabsHasFocus = tabsElements.some(element => {
59
+ return activeElement && activeElement.id === element.id;
60
+ });
61
+ if (tabsHasFocus && selectedTabElement && selectedTabElement.id !== activeElement?.id) {
62
+ selectedTabElement?.focus();
63
+ }
64
+ }, [sidebarName]);
65
+ return createElement(Fragment, null, createElement(DefaultSidebar, {
66
+ identifier: sidebarName,
67
+ title: __('Settings'),
68
+ icon: isRTL() ? drawerLeft : drawerRight,
69
+ closeLabel: __('Close Settings'),
70
+ header: createElement(Tabs.Context.Provider, {
71
+ value: tabsContextValue
72
+ }, createElement(SettingsHeader, {
73
+ ref: tabListRef
74
+ })),
75
+ headerClassName: "edit-site-sidebar-edit-mode__panel-tabs"
76
+ // This classname is added so we can apply a corrective negative
77
+ // margin to the panel.
78
+ // see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049
79
+ ,
80
+ className: "edit-site-sidebar__panel"
81
+ }, createElement(Tabs.Context.Provider, {
82
+ value: tabsContextValue
83
+ }, createElement(Tabs.TabPanel, {
84
+ tabId: SIDEBAR_TEMPLATE,
85
+ focusable: false
86
+ }, isEditingPage ? createElement(PagePanels, null) : createElement(TemplatePanel, null), createElement(PluginTemplateSettingPanel.Slot, null)), createElement(Tabs.TabPanel, {
87
+ tabId: SIDEBAR_BLOCK,
88
+ focusable: false
89
+ }, createElement(InspectorSlot, {
90
+ bubblesVirtually: true
91
+ })))), supportsGlobalStyles && createElement(GlobalStylesSidebar, null));
92
+ };
30
93
  export function SidebarComplementaryAreaFills() {
31
94
  const {
32
95
  sidebar,
33
96
  isEditorSidebarOpened,
34
97
  hasBlockSelection,
35
98
  supportsGlobalStyles,
36
- isEditingPage
99
+ isEditingPage,
100
+ isEditorOpen
37
101
  } = useSelect(select => {
38
102
  const _sidebar = select(interfaceStore).getActiveComplementaryArea(STORE_NAME);
39
103
  const _isEditorSidebarOpened = [SIDEBAR_BLOCK, SIDEBAR_TEMPLATE].includes(_sidebar);
40
- const settings = select(editSiteStore).getSettings();
104
+ const {
105
+ getCanvasMode
106
+ } = unlock(select(editSiteStore));
41
107
  return {
42
108
  sidebar: _sidebar,
43
109
  isEditorSidebarOpened: _isEditorSidebarOpened,
44
110
  hasBlockSelection: !!select(blockEditorStore).getBlockSelectionStart(),
45
- supportsGlobalStyles: !settings?.supportsTemplatePartsMode,
46
- isEditingPage: select(editSiteStore).isPage()
111
+ supportsGlobalStyles: select(coreStore).getCurrentTheme()?.is_block_theme,
112
+ isEditingPage: select(editSiteStore).isPage(),
113
+ isEditorOpen: getCanvasMode() === 'edit'
47
114
  };
48
115
  }, []);
49
116
  const {
@@ -67,17 +134,30 @@ export function SidebarComplementaryAreaFills() {
67
134
  if (!isEditorSidebarOpened) {
68
135
  sidebarName = hasBlockSelection ? SIDEBAR_BLOCK : SIDEBAR_TEMPLATE;
69
136
  }
70
- return createElement(Fragment, null, createElement(DefaultSidebar, {
71
- identifier: sidebarName,
72
- title: __('Settings'),
73
- icon: isRTL() ? drawerLeft : drawerRight,
74
- closeLabel: __('Close Settings'),
75
- header: createElement(SettingsHeader, {
76
- sidebarName: sidebarName
77
- }),
78
- headerClassName: "edit-site-sidebar-edit-mode__panel-tabs"
79
- }, sidebarName === SIDEBAR_TEMPLATE && createElement(Fragment, null, isEditingPage ? createElement(PagePanels, null) : createElement(TemplatePanel, null), createElement(PluginTemplateSettingPanel.Slot, null)), sidebarName === SIDEBAR_BLOCK && createElement(InspectorSlot, {
80
- bubblesVirtually: true
81
- })), supportsGlobalStyles && createElement(GlobalStylesSidebar, null));
137
+
138
+ // `newSelectedTabId` could technically be falsey if no tab is selected (i.e.
139
+ // the initial render) or when we don't want a tab displayed (i.e. the
140
+ // sidebar is closed). These cases should both be covered by the `!!` check
141
+ // below, so we shouldn't need any additional falsey handling.
142
+ const onTabSelect = useCallback(newSelectedTabId => {
143
+ if (!!newSelectedTabId) {
144
+ enableComplementaryArea(STORE_NAME, newSelectedTabId);
145
+ }
146
+ }, [enableComplementaryArea]);
147
+ return createElement(Tabs
148
+ // Due to how this component is controlled (via a value from the
149
+ // edit-site store), when the sidebar closes the currently selected
150
+ // tab can't be found. This causes the component to continuously reset
151
+ // the selection to `null` in an infinite loop. Proactively setting
152
+ // the selected tab to `null` avoids that.
153
+ , {
154
+ selectedTabId: isEditorOpen && isEditorSidebarOpened ? sidebarName : null,
155
+ onSelect: onTabSelect,
156
+ selectOnMove: false
157
+ }, createElement(FillContents, {
158
+ sidebarName: sidebarName,
159
+ isEditingPage: isEditingPage,
160
+ supportsGlobalStyles: supportsGlobalStyles
161
+ }));
82
162
  }
83
163
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createSlotFill","isRTL","__","drawerLeft","drawerRight","useEffect","useSelect","useDispatch","store","interfaceStore","blockEditorStore","DefaultSidebar","GlobalStylesSidebar","STORE_NAME","SettingsHeader","PagePanels","TemplatePanel","PluginTemplateSettingPanel","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","editSiteStore","Slot","InspectorSlot","Fill","InspectorFill","SidebarInspectorFill","SidebarComplementaryAreaFills","sidebar","isEditorSidebarOpened","hasBlockSelection","supportsGlobalStyles","isEditingPage","select","_sidebar","getActiveComplementaryArea","_isEditorSidebarOpened","includes","settings","getSettings","getBlockSelectionStart","supportsTemplatePartsMode","isPage","enableComplementaryArea","sidebarName","createElement","Fragment","identifier","title","icon","closeLabel","header","headerClassName","bubblesVirtually"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport DefaultSidebar from './default-sidebar';\nimport GlobalStylesSidebar from './global-styles-sidebar';\nimport { STORE_NAME } from '../../store/constants';\nimport SettingsHeader from './settings-header';\nimport PagePanels from './page-panels';\nimport TemplatePanel from './template-panel';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from './constants';\nimport { store as editSiteStore } from '../../store';\n\nconst { Slot: InspectorSlot, Fill: InspectorFill } = createSlotFill(\n\t'EditSiteSidebarInspector'\n);\nexport const SidebarInspectorFill = InspectorFill;\n\nexport function SidebarComplementaryAreaFills() {\n\tconst {\n\t\tsidebar,\n\t\tisEditorSidebarOpened,\n\t\thasBlockSelection,\n\t\tsupportsGlobalStyles,\n\t\tisEditingPage,\n\t} = useSelect( ( select ) => {\n\t\tconst _sidebar =\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( STORE_NAME );\n\t\tconst _isEditorSidebarOpened = [\n\t\t\tSIDEBAR_BLOCK,\n\t\t\tSIDEBAR_TEMPLATE,\n\t\t].includes( _sidebar );\n\t\tconst settings = select( editSiteStore ).getSettings();\n\t\treturn {\n\t\t\tsidebar: _sidebar,\n\t\t\tisEditorSidebarOpened: _isEditorSidebarOpened,\n\t\t\thasBlockSelection:\n\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\tsupportsGlobalStyles: ! settings?.supportsTemplatePartsMode,\n\t\t\tisEditingPage: select( editSiteStore ).isPage(),\n\t\t};\n\t}, [] );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tuseEffect( () => {\n\t\t// Don't automatically switch tab when the sidebar is closed or when we\n\t\t// are focused on page content.\n\t\tif ( ! isEditorSidebarOpened ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( hasBlockSelection ) {\n\t\t\tif ( ! isEditingPage ) {\n\t\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t\t}\n\t\t} else {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_TEMPLATE );\n\t\t}\n\t}, [\n\t\thasBlockSelection,\n\t\tisEditorSidebarOpened,\n\t\tisEditingPage,\n\t\tenableComplementaryArea,\n\t] );\n\n\tlet sidebarName = sidebar;\n\tif ( ! isEditorSidebarOpened ) {\n\t\tsidebarName = hasBlockSelection ? SIDEBAR_BLOCK : SIDEBAR_TEMPLATE;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<DefaultSidebar\n\t\t\t\tidentifier={ sidebarName }\n\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t\theader={ <SettingsHeader sidebarName={ sidebarName } /> }\n\t\t\t\theaderClassName=\"edit-site-sidebar-edit-mode__panel-tabs\"\n\t\t\t>\n\t\t\t\t{ sidebarName === SIDEBAR_TEMPLATE && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isEditingPage ? <PagePanels /> : <TemplatePanel /> }\n\t\t\t\t\t\t<PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ sidebarName === SIDEBAR_BLOCK && (\n\t\t\t\t\t<InspectorSlot bubblesVirtually />\n\t\t\t\t) }\n\t\t\t</DefaultSidebar>\n\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,cAAc,QAAQ,uBAAuB;AACtD,SAASC,KAAK,EAAEC,EAAE,QAAQ,iBAAiB;AAC3C,SAASC,UAAU,EAAEC,WAAW,QAAQ,kBAAkB;AAC1D,SAASC,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,cAAc,QAAQ,sBAAsB;AAC9D,SAASD,KAAK,IAAIE,gBAAgB,QAAQ,yBAAyB;;AAEnE;AACA;AACA;AACA,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,mBAAmB,MAAM,yBAAyB;AACzD,SAASC,UAAU,QAAQ,uBAAuB;AAClD,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,UAAU,MAAM,eAAe;AACtC,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,0BAA0B,MAAM,kCAAkC;AACzE,SAASC,aAAa,EAAEC,gBAAgB,QAAQ,aAAa;AAC7D,SAASX,KAAK,IAAIY,aAAa,QAAQ,aAAa;AAEpD,MAAM;EAAEC,IAAI,EAAEC,aAAa;EAAEC,IAAI,EAAEC;AAAc,CAAC,GAAGxB,cAAc,CAClE,0BACD,CAAC;AACD,OAAO,MAAMyB,oBAAoB,GAAGD,aAAa;AAEjD,OAAO,SAASE,6BAA6BA,CAAA,EAAG;EAC/C,MAAM;IACLC,OAAO;IACPC,qBAAqB;IACrBC,iBAAiB;IACjBC,oBAAoB;IACpBC;EACD,CAAC,GAAGzB,SAAS,CAAI0B,MAAM,IAAM;IAC5B,MAAMC,QAAQ,GACbD,MAAM,CAAEvB,cAAe,CAAC,CAACyB,0BAA0B,CAAErB,UAAW,CAAC;IAClE,MAAMsB,sBAAsB,GAAG,CAC9BjB,aAAa,EACbC,gBAAgB,CAChB,CAACiB,QAAQ,CAAEH,QAAS,CAAC;IACtB,MAAMI,QAAQ,GAAGL,MAAM,CAAEZ,aAAc,CAAC,CAACkB,WAAW,CAAC,CAAC;IACtD,OAAO;MACNX,OAAO,EAAEM,QAAQ;MACjBL,qBAAqB,EAAEO,sBAAsB;MAC7CN,iBAAiB,EAChB,CAAC,CAAEG,MAAM,CAAEtB,gBAAiB,CAAC,CAAC6B,sBAAsB,CAAC,CAAC;MACvDT,oBAAoB,EAAE,CAAEO,QAAQ,EAAEG,yBAAyB;MAC3DT,aAAa,EAAEC,MAAM,CAAEZ,aAAc,CAAC,CAACqB,MAAM,CAAC;IAC/C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IAAEC;EAAwB,CAAC,GAAGnC,WAAW,CAAEE,cAAe,CAAC;EAEjEJ,SAAS,CAAE,MAAM;IAChB;IACA;IACA,IAAK,CAAEuB,qBAAqB,EAAG;MAC9B;IACD;IACA,IAAKC,iBAAiB,EAAG;MACxB,IAAK,CAAEE,aAAa,EAAG;QACtBW,uBAAuB,CAAE7B,UAAU,EAAEK,aAAc,CAAC;MACrD;IACD,CAAC,MAAM;MACNwB,uBAAuB,CAAE7B,UAAU,EAAEM,gBAAiB,CAAC;IACxD;EACD,CAAC,EAAE,CACFU,iBAAiB,EACjBD,qBAAqB,EACrBG,aAAa,EACbW,uBAAuB,CACtB,CAAC;EAEH,IAAIC,WAAW,GAAGhB,OAAO;EACzB,IAAK,CAAEC,qBAAqB,EAAG;IAC9Be,WAAW,GAAGd,iBAAiB,GAAGX,aAAa,GAAGC,gBAAgB;EACnE;EAEA,OACCyB,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACjC,cAAc;IACdmC,UAAU,EAAGH,WAAa;IAC1BI,KAAK,EAAG7C,EAAE,CAAE,UAAW,CAAG;IAC1B8C,IAAI,EAAG/C,KAAK,CAAC,CAAC,GAAGE,UAAU,GAAGC,WAAa;IAC3C6C,UAAU,EAAG/C,EAAE,CAAE,gBAAiB,CAAG;IACrCgD,MAAM,EAAGN,aAAA,CAAC9B,cAAc;MAAC6B,WAAW,EAAGA;IAAa,CAAE,CAAG;IACzDQ,eAAe,EAAC;EAAyC,GAEvDR,WAAW,KAAKxB,gBAAgB,IACjCyB,aAAA,CAAAC,QAAA,QACGd,aAAa,GAAGa,aAAA,CAAC7B,UAAU,MAAE,CAAC,GAAG6B,aAAA,CAAC5B,aAAa,MAAE,CAAC,EACpD4B,aAAA,CAAC3B,0BAA0B,CAACI,IAAI,MAAE,CACjC,CACF,EACCsB,WAAW,KAAKzB,aAAa,IAC9B0B,aAAA,CAACtB,aAAa;IAAC8B,gBAAgB;EAAA,CAAE,CAEnB,CAAC,EACftB,oBAAoB,IAAIc,aAAA,CAAChC,mBAAmB,MAAE,CAC/C,CAAC;AAEL"}
1
+ {"version":3,"names":["createSlotFill","privateApis","componentsPrivateApis","isRTL","__","drawerLeft","drawerRight","useCallback","useContext","useEffect","useRef","useSelect","useDispatch","store","interfaceStore","blockEditorStore","coreStore","DefaultSidebar","GlobalStylesSidebar","STORE_NAME","SettingsHeader","PagePanels","TemplatePanel","PluginTemplateSettingPanel","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","editSiteStore","unlock","Tabs","Slot","InspectorSlot","Fill","InspectorFill","SidebarInspectorFill","FillContents","sidebarName","isEditingPage","supportsGlobalStyles","tabListRef","tabsContextValue","Context","tabsElements","Array","from","current","querySelectorAll","selectedTabElement","find","element","getAttribute","activeElement","ownerDocument","tabsHasFocus","some","id","focus","createElement","Fragment","identifier","title","icon","closeLabel","header","Provider","value","ref","headerClassName","className","TabPanel","tabId","focusable","bubblesVirtually","SidebarComplementaryAreaFills","sidebar","isEditorSidebarOpened","hasBlockSelection","isEditorOpen","select","_sidebar","getActiveComplementaryArea","_isEditorSidebarOpened","includes","getCanvasMode","getBlockSelectionStart","getCurrentTheme","is_block_theme","isPage","enableComplementaryArea","onTabSelect","newSelectedTabId","selectedTabId","onSelect","selectOnMove"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { useCallback, useContext, useEffect, useRef } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport DefaultSidebar from './default-sidebar';\nimport GlobalStylesSidebar from './global-styles-sidebar';\nimport { STORE_NAME } from '../../store/constants';\nimport SettingsHeader from './settings-header';\nimport PagePanels from './page-panels';\nimport TemplatePanel from './template-panel';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from './constants';\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst { Slot: InspectorSlot, Fill: InspectorFill } = createSlotFill(\n\t'EditSiteSidebarInspector'\n);\nexport const SidebarInspectorFill = InspectorFill;\n\nconst FillContents = ( {\n\tsidebarName,\n\tisEditingPage,\n\tsupportsGlobalStyles,\n} ) => {\n\tconst tabListRef = useRef( null );\n\t// Because `DefaultSidebar` renders a `ComplementaryArea`, we\n\t// need to forward the `Tabs` context so it can be passed through the\n\t// underlying slot/fill.\n\tconst tabsContextValue = useContext( Tabs.Context );\n\n\t// This effect addresses a race condition caused by tabbing from the last\n\t// block in the editor into the settings sidebar. Without this effect, the\n\t// selected tab and browser focus can become separated in an unexpected way.\n\t// (e.g the \"block\" tab is focused, but the \"post\" tab is selected).\n\tuseEffect( () => {\n\t\tconst tabsElements = Array.from(\n\t\t\ttabListRef.current?.querySelectorAll( '[role=\"tab\"]' ) || []\n\t\t);\n\t\tconst selectedTabElement = tabsElements.find(\n\t\t\t// We are purposefully using a custom `data-tab-id` attribute here\n\t\t\t// because we don't want rely on any assumptions about `Tabs`\n\t\t\t// component internals.\n\t\t\t( element ) => element.getAttribute( 'data-tab-id' ) === sidebarName\n\t\t);\n\t\tconst activeElement = selectedTabElement?.ownerDocument.activeElement;\n\t\tconst tabsHasFocus = tabsElements.some( ( element ) => {\n\t\t\treturn activeElement && activeElement.id === element.id;\n\t\t} );\n\t\tif (\n\t\t\ttabsHasFocus &&\n\t\t\tselectedTabElement &&\n\t\t\tselectedTabElement.id !== activeElement?.id\n\t\t) {\n\t\t\tselectedTabElement?.focus();\n\t\t}\n\t}, [ sidebarName ] );\n\n\treturn (\n\t\t<>\n\t\t\t<DefaultSidebar\n\t\t\t\tidentifier={ sidebarName }\n\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t\theader={\n\t\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t\t<SettingsHeader ref={ tabListRef } />\n\t\t\t\t\t</Tabs.Context.Provider>\n\t\t\t\t}\n\t\t\t\theaderClassName=\"edit-site-sidebar-edit-mode__panel-tabs\"\n\t\t\t\t// This classname is added so we can apply a corrective negative\n\t\t\t\t// margin to the panel.\n\t\t\t\t// see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049\n\t\t\t\tclassName=\"edit-site-sidebar__panel\"\n\t\t\t>\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\ttabId={ SIDEBAR_TEMPLATE }\n\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isEditingPage ? <PagePanels /> : <TemplatePanel /> }\n\t\t\t\t\t\t<PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t<Tabs.TabPanel tabId={ SIDEBAR_BLOCK } focusable={ false }>\n\t\t\t\t\t\t<InspectorSlot bubblesVirtually />\n\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t</DefaultSidebar>\n\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t</>\n\t);\n};\n\nexport function SidebarComplementaryAreaFills() {\n\tconst {\n\t\tsidebar,\n\t\tisEditorSidebarOpened,\n\t\thasBlockSelection,\n\t\tsupportsGlobalStyles,\n\t\tisEditingPage,\n\t\tisEditorOpen,\n\t} = useSelect( ( select ) => {\n\t\tconst _sidebar =\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( STORE_NAME );\n\n\t\tconst _isEditorSidebarOpened = [\n\t\t\tSIDEBAR_BLOCK,\n\t\t\tSIDEBAR_TEMPLATE,\n\t\t].includes( _sidebar );\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\n\t\treturn {\n\t\t\tsidebar: _sidebar,\n\t\t\tisEditorSidebarOpened: _isEditorSidebarOpened,\n\t\t\thasBlockSelection:\n\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\tsupportsGlobalStyles:\n\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\tisEditingPage: select( editSiteStore ).isPage(),\n\t\t\tisEditorOpen: getCanvasMode() === 'edit',\n\t\t};\n\t}, [] );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tuseEffect( () => {\n\t\t// Don't automatically switch tab when the sidebar is closed or when we\n\t\t// are focused on page content.\n\t\tif ( ! isEditorSidebarOpened ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( hasBlockSelection ) {\n\t\t\tif ( ! isEditingPage ) {\n\t\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t\t}\n\t\t} else {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_TEMPLATE );\n\t\t}\n\t}, [\n\t\thasBlockSelection,\n\t\tisEditorSidebarOpened,\n\t\tisEditingPage,\n\t\tenableComplementaryArea,\n\t] );\n\n\tlet sidebarName = sidebar;\n\tif ( ! isEditorSidebarOpened ) {\n\t\tsidebarName = hasBlockSelection ? SIDEBAR_BLOCK : SIDEBAR_TEMPLATE;\n\t}\n\n\t// `newSelectedTabId` could technically be falsey if no tab is selected (i.e.\n\t// the initial render) or when we don't want a tab displayed (i.e. the\n\t// sidebar is closed). These cases should both be covered by the `!!` check\n\t// below, so we shouldn't need any additional falsey handling.\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\tenableComplementaryArea( STORE_NAME, newSelectedTabId );\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\t// Due to how this component is controlled (via a value from the\n\t\t\t// edit-site store), when the sidebar closes the currently selected\n\t\t\t// tab can't be found. This causes the component to continuously reset\n\t\t\t// the selection to `null` in an infinite loop. Proactively setting\n\t\t\t// the selected tab to `null` avoids that.\n\t\t\tselectedTabId={\n\t\t\t\tisEditorOpen && isEditorSidebarOpened ? sidebarName : null\n\t\t\t}\n\t\t\tonSelect={ onTabSelect }\n\t\t\tselectOnMove={ false }\n\t\t>\n\t\t\t<FillContents\n\t\t\t\tsidebarName={ sidebarName }\n\t\t\t\tisEditingPage={ isEditingPage }\n\t\t\t\tsupportsGlobalStyles={ supportsGlobalStyles }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n}\n"],"mappings":"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"}
@@ -1,56 +1,36 @@
1
1
  import { createElement } from "react";
2
- /**
3
- * External dependencies
4
- */
5
- import classnames from 'classnames';
6
-
7
2
  /**
8
3
  * WordPress dependencies
9
4
  */
10
- import { Button } from '@wordpress/components';
11
- import { __, sprintf } from '@wordpress/i18n';
12
- import { useSelect, useDispatch } from '@wordpress/data';
13
- import { store as interfaceStore } from '@wordpress/interface';
5
+ import { privateApis as componentsPrivateApis } from '@wordpress/components';
6
+ import { __ } from '@wordpress/i18n';
7
+ import { useSelect } from '@wordpress/data';
14
8
  import { store as editorStore } from '@wordpress/editor';
9
+ import { forwardRef } from '@wordpress/element';
15
10
 
16
11
  /**
17
12
  * Internal dependencies
18
13
  */
19
- import { STORE_NAME } from '../../../store/constants';
20
14
  import { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from '../constants';
21
- const SettingsHeader = ({
22
- sidebarName
23
- }) => {
15
+ import { unlock } from '../../../lock-unlock';
16
+ const {
17
+ Tabs
18
+ } = unlock(componentsPrivateApis);
19
+ const SettingsHeader = (_, ref) => {
24
20
  const postTypeLabel = useSelect(select => select(editorStore).getPostTypeLabel(), []);
25
- const {
26
- enableComplementaryArea
27
- } = useDispatch(interfaceStore);
28
- const openTemplateSettings = () => enableComplementaryArea(STORE_NAME, SIDEBAR_TEMPLATE);
29
- const openBlockSettings = () => enableComplementaryArea(STORE_NAME, SIDEBAR_BLOCK);
30
- const documentAriaLabel = sidebarName === SIDEBAR_TEMPLATE ?
31
- // translators: ARIA label for the Template sidebar tab, selected.
32
- sprintf(__('%s (selected)'), postTypeLabel) : postTypeLabel;
33
-
34
- /* Use a list so screen readers will announce how many tabs there are. */
35
- return createElement("ul", null, createElement("li", null, createElement(Button, {
36
- onClick: openTemplateSettings,
37
- className: classnames('edit-site-sidebar-edit-mode__panel-tab', {
38
- 'is-active': sidebarName === SIDEBAR_TEMPLATE
39
- }),
40
- "aria-label": documentAriaLabel,
41
- "data-label": postTypeLabel
42
- }, postTypeLabel)), createElement("li", null, createElement(Button, {
43
- onClick: openBlockSettings,
44
- className: classnames('edit-site-sidebar-edit-mode__panel-tab', {
45
- 'is-active': sidebarName === SIDEBAR_BLOCK
46
- }),
47
- "aria-label": sidebarName === SIDEBAR_BLOCK ?
48
- // translators: ARIA label for the Block Settings Sidebar tab, selected.
49
- __('Block (selected)') :
50
- // translators: ARIA label for the Block Settings Sidebar tab, not selected.
51
- __('Block'),
52
- "data-label": __('Block')
53
- }, __('Block'))));
21
+ return createElement(Tabs.TabList, {
22
+ ref: ref
23
+ }, createElement(Tabs.Tab, {
24
+ tabId: SIDEBAR_TEMPLATE
25
+ // Used for focus management in the SettingsSidebar component.
26
+ ,
27
+ "data-tab-id": SIDEBAR_TEMPLATE
28
+ }, postTypeLabel), createElement(Tabs.Tab, {
29
+ tabId: SIDEBAR_BLOCK
30
+ // Used for focus management in the SettingsSidebar component.
31
+ ,
32
+ "data-tab-id": SIDEBAR_BLOCK
33
+ }, __('Block')));
54
34
  };
55
- export default SettingsHeader;
35
+ export default forwardRef(SettingsHeader);
56
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","Button","__","sprintf","useSelect","useDispatch","store","interfaceStore","editorStore","STORE_NAME","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","SettingsHeader","sidebarName","postTypeLabel","select","getPostTypeLabel","enableComplementaryArea","openTemplateSettings","openBlockSettings","documentAriaLabel","createElement","onClick","className"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/settings-header/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { STORE_NAME } from '../../../store/constants';\nimport { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from '../constants';\n\nconst SettingsHeader = ( { sidebarName } ) => {\n\tconst postTypeLabel = useSelect(\n\t\t( select ) => select( editorStore ).getPostTypeLabel(),\n\t\t[]\n\t);\n\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\tconst openTemplateSettings = () =>\n\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_TEMPLATE );\n\tconst openBlockSettings = () =>\n\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\n\tconst documentAriaLabel =\n\t\tsidebarName === SIDEBAR_TEMPLATE\n\t\t\t? // translators: ARIA label for the Template sidebar tab, selected.\n\t\t\t sprintf( __( '%s (selected)' ), postTypeLabel )\n\t\t\t: postTypeLabel;\n\n\t/* Use a list so screen readers will announce how many tabs there are. */\n\treturn (\n\t\t<ul>\n\t\t\t<li>\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ openTemplateSettings }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-sidebar-edit-mode__panel-tab',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-active': sidebarName === SIDEBAR_TEMPLATE,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ documentAriaLabel }\n\t\t\t\t\tdata-label={ postTypeLabel }\n\t\t\t\t>\n\t\t\t\t\t{ postTypeLabel }\n\t\t\t\t</Button>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ openBlockSettings }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-sidebar-edit-mode__panel-tab',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-active': sidebarName === SIDEBAR_BLOCK,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tsidebarName === SIDEBAR_BLOCK\n\t\t\t\t\t\t\t? // translators: ARIA label for the Block Settings Sidebar tab, selected.\n\t\t\t\t\t\t\t __( 'Block (selected)' )\n\t\t\t\t\t\t\t: // translators: ARIA label for the Block Settings Sidebar tab, not selected.\n\t\t\t\t\t\t\t __( 'Block' )\n\t\t\t\t\t}\n\t\t\t\t\tdata-label={ __( 'Block' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Block' ) }\n\t\t\t\t</Button>\n\t\t\t</li>\n\t\t</ul>\n\t);\n};\n\nexport default SettingsHeader;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,cAAc,QAAQ,sBAAsB;AAC9D,SAASD,KAAK,IAAIE,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,aAAa,EAAEC,gBAAgB,QAAQ,cAAc;AAE9D,MAAMC,cAAc,GAAGA,CAAE;EAAEC;AAAY,CAAC,KAAM;EAC7C,MAAMC,aAAa,GAAGV,SAAS,CAC5BW,MAAM,IAAMA,MAAM,CAAEP,WAAY,CAAC,CAACQ,gBAAgB,CAAC,CAAC,EACtD,EACD,CAAC;EAED,MAAM;IAAEC;EAAwB,CAAC,GAAGZ,WAAW,CAAEE,cAAe,CAAC;EACjE,MAAMW,oBAAoB,GAAGA,CAAA,KAC5BD,uBAAuB,CAAER,UAAU,EAAEE,gBAAiB,CAAC;EACxD,MAAMQ,iBAAiB,GAAGA,CAAA,KACzBF,uBAAuB,CAAER,UAAU,EAAEC,aAAc,CAAC;EAErD,MAAMU,iBAAiB,GACtBP,WAAW,KAAKF,gBAAgB;EAC7B;EACAR,OAAO,CAAED,EAAE,CAAE,eAAgB,CAAC,EAAEY,aAAc,CAAC,GAC/CA,aAAa;;EAEjB;EACA,OACCO,aAAA,aACCA,aAAA,aACCA,aAAA,CAACpB,MAAM;IACNqB,OAAO,EAAGJ,oBAAsB;IAChCK,SAAS,EAAGvB,UAAU,CACrB,wCAAwC,EACxC;MACC,WAAW,EAAEa,WAAW,KAAKF;IAC9B,CACD,CAAG;IACH,cAAaS,iBAAmB;IAChC,cAAaN;EAAe,GAE1BA,aACK,CACL,CAAC,EACLO,aAAA,aACCA,aAAA,CAACpB,MAAM;IACNqB,OAAO,EAAGH,iBAAmB;IAC7BI,SAAS,EAAGvB,UAAU,CACrB,wCAAwC,EACxC;MACC,WAAW,EAAEa,WAAW,KAAKH;IAC9B,CACD,CAAG;IACH,cACCG,WAAW,KAAKH,aAAa;IAC1B;IACAR,EAAE,CAAE,kBAAmB,CAAC;IACxB;IACAA,EAAE,CAAE,OAAQ,CACf;IACD,cAAaA,EAAE,CAAE,OAAQ;EAAG,GAE1BA,EAAE,CAAE,OAAQ,CACP,CACL,CACD,CAAC;AAEP,CAAC;AAED,eAAeU,cAAc"}
1
+ {"version":3,"names":["privateApis","componentsPrivateApis","__","useSelect","store","editorStore","forwardRef","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","unlock","Tabs","SettingsHeader","_","ref","postTypeLabel","select","getPostTypeLabel","createElement","TabList","Tab","tabId"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/settings-header/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from '../constants';\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SettingsHeader = ( _, ref ) => {\n\tconst postTypeLabel = useSelect(\n\t\t( select ) => select( editorStore ).getPostTypeLabel(),\n\t\t[]\n\t);\n\n\treturn (\n\t\t<Tabs.TabList ref={ ref }>\n\t\t\t<Tabs.Tab\n\t\t\t\ttabId={ SIDEBAR_TEMPLATE }\n\t\t\t\t// Used for focus management in the SettingsSidebar component.\n\t\t\t\tdata-tab-id={ SIDEBAR_TEMPLATE }\n\t\t\t>\n\t\t\t\t{ postTypeLabel }\n\t\t\t</Tabs.Tab>\n\t\t\t<Tabs.Tab\n\t\t\t\ttabId={ SIDEBAR_BLOCK }\n\t\t\t\t// Used for focus management in the SettingsSidebar component.\n\t\t\t\tdata-tab-id={ SIDEBAR_BLOCK }\n\t\t\t>\n\t\t\t\t{ __( 'Block' ) }\n\t\t\t</Tabs.Tab>\n\t\t</Tabs.TabList>\n\t);\n};\n\nexport default forwardRef( SettingsHeader );\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,qBAAqB,QAAQ,uBAAuB;AAC5E,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;AACxD,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,SAASC,aAAa,EAAEC,gBAAgB,QAAQ,cAAc;AAC9D,SAASC,MAAM,QAAQ,sBAAsB;AAE7C,MAAM;EAAEC;AAAK,CAAC,GAAGD,MAAM,CAAER,qBAAsB,CAAC;AAEhD,MAAMU,cAAc,GAAGA,CAAEC,CAAC,EAAEC,GAAG,KAAM;EACpC,MAAMC,aAAa,GAAGX,SAAS,CAC5BY,MAAM,IAAMA,MAAM,CAAEV,WAAY,CAAC,CAACW,gBAAgB,CAAC,CAAC,EACtD,EACD,CAAC;EAED,OACCC,aAAA,CAACP,IAAI,CAACQ,OAAO;IAACL,GAAG,EAAGA;EAAK,GACxBI,aAAA,CAACP,IAAI,CAACS,GAAG;IACRC,KAAK,EAAGZ;IACR;IAAA;IACA,eAAcA;EAAkB,GAE9BM,aACO,CAAC,EACXG,aAAA,CAACP,IAAI,CAACS,GAAG;IACRC,KAAK,EAAGb;IACR;IAAA;IACA,eAAcA;EAAe,GAE3BL,EAAE,CAAE,OAAQ,CACL,CACG,CAAC;AAEjB,CAAC;AAED,eAAeI,UAAU,CAAEK,cAAe,CAAC"}
@@ -7,7 +7,7 @@ import { sentenceCase } from 'change-case';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { __, sprintf } from '@wordpress/i18n';
10
+ import { __, _x, sprintf } from '@wordpress/i18n';
11
11
  import { store as coreStore } from '@wordpress/core-data';
12
12
  import { store as editorStore } from '@wordpress/editor';
13
13
  import { useSelect } from '@wordpress/data';
@@ -64,7 +64,7 @@ export default function usePatternDetails(postType, postId) {
64
64
  if (postType === PATTERN_TYPES.user || postType === TEMPLATE_PART_POST_TYPE) {
65
65
  details.push({
66
66
  label: __('Syncing'),
67
- value: record.wp_pattern_sync_status === PATTERN_SYNC_TYPES.unsynced ? __('Not synced') : __('Fully synced')
67
+ value: record.wp_pattern_sync_status === PATTERN_SYNC_TYPES.unsynced ? _x('Not synced', 'Text that indicates that the pattern is not synchronized') : _x('Synced', 'Text that indicates that the pattern is synchronized')
68
68
  });
69
69
  if (record.wp_pattern_category?.length === 0) {
70
70
  details.push({
@@ -1 +1 @@
1
- {"version":3,"names":["sentenceCase","__","sprintf","store","coreStore","editorStore","useSelect","useAddedBy","useEditedEntityRecord","useNavigationMenuContent","SidebarNavigationScreenDetailsFooter","SidebarNavigationScreenDetailsPanel","SidebarNavigationScreenDetailsPanelRow","SidebarNavigationScreenDetailsPanelLabel","SidebarNavigationScreenDetailsPanelValue","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","TEMPLATE_ORIGINS","usePatternDetails","postType","postId","getDescription","getTitle","record","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","currentTheme","userPatternCategories","getCurrentTheme","getUserPatternCategories","addedBy","isAddedByActiveTheme","type","theme","stylesheet","title","description","text","user","footer","modified","createElement","details","push","label","value","wp_pattern_sync_status","unsynced","wp_pattern_category","length","patternCategories","Map","forEach","userCategory","set","id","categories","filter","category","get","map","join","templatePartArea","find","area","areaDetailValue","className","origin","plugin","has_theme_file","isCustomized","content","Fragment","spacing","key"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { sentenceCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useAddedBy } from '../list/added-by';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport useNavigationMenuContent from './use-navigation-menu-content';\nimport SidebarNavigationScreenDetailsFooter from '../sidebar-navigation-screen-details-footer';\nimport {\n\tSidebarNavigationScreenDetailsPanel,\n\tSidebarNavigationScreenDetailsPanelRow,\n\tSidebarNavigationScreenDetailsPanelLabel,\n\tSidebarNavigationScreenDetailsPanelValue,\n} from '../sidebar-navigation-screen-details-panel';\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_ORIGINS,\n} from '../../utils/constants';\n\nexport default function usePatternDetails( postType, postId ) {\n\tconst { getDescription, getTitle, record } = useEditedEntityRecord(\n\t\tpostType,\n\t\tpostId\n\t);\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\tconst { currentTheme, userPatternCategories } = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\treturn {\n\t\t\tcurrentTheme: getCurrentTheme(),\n\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t};\n\t}, [] );\n\n\tconst addedBy = useAddedBy( postType, postId );\n\tconst isAddedByActiveTheme =\n\t\taddedBy.type === 'theme' && record.theme === currentTheme?.stylesheet;\n\tconst title = getTitle();\n\tlet description = getDescription();\n\n\tif ( ! description && addedBy.text ) {\n\t\tdescription =\n\t\t\tpostType === PATTERN_TYPES.user\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t// translators: %s: pattern title e.g: \"Header\".\n\t\t\t\t\t\t__( 'This is the %s pattern.' ),\n\t\t\t\t\t\tgetTitle()\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t// translators: %s: template part title e.g: \"Header\".\n\t\t\t\t\t\t__( 'This is the %s template part.' ),\n\t\t\t\t\t\tgetTitle()\n\t\t\t\t );\n\t}\n\n\tif ( ! description && postType === PATTERN_TYPES.user && record?.title ) {\n\t\tdescription = sprintf(\n\t\t\t// translators: %s: user created pattern title e.g. \"Footer\".\n\t\t\t__( 'This is the %s pattern.' ),\n\t\t\trecord.title\n\t\t);\n\t}\n\n\tconst footer = record?.modified ? (\n\t\t<SidebarNavigationScreenDetailsFooter record={ record } />\n\t) : null;\n\n\tconst details = [];\n\n\tif (\n\t\tpostType === PATTERN_TYPES.user ||\n\t\tpostType === TEMPLATE_PART_POST_TYPE\n\t) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Syncing' ),\n\t\t\tvalue:\n\t\t\t\trecord.wp_pattern_sync_status === PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t? __( 'Not synced' )\n\t\t\t\t\t: __( 'Fully synced' ),\n\t\t} );\n\n\t\tif ( record.wp_pattern_category?.length === 0 ) {\n\t\t\tdetails.push( {\n\t\t\t\tlabel: __( 'Categories' ),\n\t\t\t\tvalue: __( 'Uncategorized' ),\n\t\t\t} );\n\t\t}\n\t\tif ( record.wp_pattern_category?.length > 0 ) {\n\t\t\tconst patternCategories = new Map();\n\t\t\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\t\t\tpatternCategories.set( userCategory.id, userCategory )\n\t\t\t);\n\n\t\t\tconst categories = record.wp_pattern_category\n\t\t\t\t.filter( ( category ) => patternCategories.get( category ) )\n\t\t\t\t.map( ( category ) => patternCategories.get( category ).label );\n\n\t\t\tdetails.push( {\n\t\t\t\tlabel: __( 'Categories' ),\n\t\t\t\tvalue: categories.length > 0 ? categories.join( ', ' ) : '',\n\t\t\t} );\n\t\t}\n\t}\n\n\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === record.area\n\t\t);\n\n\t\tlet areaDetailValue = templatePartArea?.label;\n\n\t\tif ( ! areaDetailValue ) {\n\t\t\tareaDetailValue = record.area\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t// translators: %s: Sentenced cased template part area e.g: \"My custom area\".\n\t\t\t\t\t\t__( '%s (removed)' ),\n\t\t\t\t\t\tsentenceCase( record.area )\n\t\t\t\t )\n\t\t\t\t: __( 'None' );\n\t\t}\n\n\t\tdetails.push( { label: __( 'Area' ), value: areaDetailValue } );\n\t}\n\n\tif (\n\t\tpostType === TEMPLATE_PART_POST_TYPE &&\n\t\taddedBy.text &&\n\t\t! isAddedByActiveTheme\n\t) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Added by' ),\n\t\t\tvalue: (\n\t\t\t\t<span className=\"edit-site-sidebar-navigation-screen-pattern__added-by-description-author\">\n\t\t\t\t\t{ addedBy.text }\n\t\t\t\t</span>\n\t\t\t),\n\t\t} );\n\t}\n\n\tif (\n\t\tpostType === TEMPLATE_PART_POST_TYPE &&\n\t\taddedBy.text &&\n\t\t( record.origin === TEMPLATE_ORIGINS.plugin ||\n\t\t\trecord.has_theme_file === true )\n\t) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Customized' ),\n\t\t\tvalue: (\n\t\t\t\t<span className=\"edit-site-sidebar-navigation-screen-pattern__added-by-description-customized\">\n\t\t\t\t\t{ addedBy.isCustomized ? __( 'Yes' ) : __( 'No' ) }\n\t\t\t\t</span>\n\t\t\t),\n\t\t} );\n\t}\n\n\tconst content = (\n\t\t<>\n\t\t\t{ useNavigationMenuContent( postType, postId ) }\n\t\t\t{ !! details.length && (\n\t\t\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\t\t\tspacing={ 5 }\n\t\t\t\t\ttitle={ __( 'Details' ) }\n\t\t\t\t>\n\t\t\t\t\t{ details.map( ( { label, value } ) => (\n\t\t\t\t\t\t<SidebarNavigationScreenDetailsPanelRow key={ label }>\n\t\t\t\t\t\t\t<SidebarNavigationScreenDetailsPanelLabel>\n\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t</SidebarNavigationScreenDetailsPanelLabel>\n\t\t\t\t\t\t\t<SidebarNavigationScreenDetailsPanelValue>\n\t\t\t\t\t\t\t\t{ value }\n\t\t\t\t\t\t\t</SidebarNavigationScreenDetailsPanelValue>\n\t\t\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t) ) }\n\t\t\t\t</SidebarNavigationScreenDetailsPanel>\n\t\t\t) }\n\t\t</>\n\t);\n\n\treturn { title, description, content, footer };\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["sentenceCase","__","_x","sprintf","store","coreStore","editorStore","useSelect","useAddedBy","useEditedEntityRecord","useNavigationMenuContent","SidebarNavigationScreenDetailsFooter","SidebarNavigationScreenDetailsPanel","SidebarNavigationScreenDetailsPanelRow","SidebarNavigationScreenDetailsPanelLabel","SidebarNavigationScreenDetailsPanelValue","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","PATTERN_SYNC_TYPES","TEMPLATE_ORIGINS","usePatternDetails","postType","postId","getDescription","getTitle","record","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","currentTheme","userPatternCategories","getCurrentTheme","getUserPatternCategories","addedBy","isAddedByActiveTheme","type","theme","stylesheet","title","description","text","user","footer","modified","createElement","details","push","label","value","wp_pattern_sync_status","unsynced","wp_pattern_category","length","patternCategories","Map","forEach","userCategory","set","id","categories","filter","category","get","map","join","templatePartArea","find","area","areaDetailValue","className","origin","plugin","has_theme_file","isCustomized","content","Fragment","spacing","key"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { sentenceCase } from 'change-case';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useAddedBy } from '../list/added-by';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport useNavigationMenuContent from './use-navigation-menu-content';\nimport SidebarNavigationScreenDetailsFooter from '../sidebar-navigation-screen-details-footer';\nimport {\n\tSidebarNavigationScreenDetailsPanel,\n\tSidebarNavigationScreenDetailsPanelRow,\n\tSidebarNavigationScreenDetailsPanelLabel,\n\tSidebarNavigationScreenDetailsPanelValue,\n} from '../sidebar-navigation-screen-details-panel';\nimport {\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_ORIGINS,\n} from '../../utils/constants';\n\nexport default function usePatternDetails( postType, postId ) {\n\tconst { getDescription, getTitle, record } = useEditedEntityRecord(\n\t\tpostType,\n\t\tpostId\n\t);\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\tconst { currentTheme, userPatternCategories } = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\treturn {\n\t\t\tcurrentTheme: getCurrentTheme(),\n\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t};\n\t}, [] );\n\n\tconst addedBy = useAddedBy( postType, postId );\n\tconst isAddedByActiveTheme =\n\t\taddedBy.type === 'theme' && record.theme === currentTheme?.stylesheet;\n\tconst title = getTitle();\n\tlet description = getDescription();\n\n\tif ( ! description && addedBy.text ) {\n\t\tdescription =\n\t\t\tpostType === PATTERN_TYPES.user\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t// translators: %s: pattern title e.g: \"Header\".\n\t\t\t\t\t\t__( 'This is the %s pattern.' ),\n\t\t\t\t\t\tgetTitle()\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t// translators: %s: template part title e.g: \"Header\".\n\t\t\t\t\t\t__( 'This is the %s template part.' ),\n\t\t\t\t\t\tgetTitle()\n\t\t\t\t );\n\t}\n\n\tif ( ! description && postType === PATTERN_TYPES.user && record?.title ) {\n\t\tdescription = sprintf(\n\t\t\t// translators: %s: user created pattern title e.g. \"Footer\".\n\t\t\t__( 'This is the %s pattern.' ),\n\t\t\trecord.title\n\t\t);\n\t}\n\n\tconst footer = record?.modified ? (\n\t\t<SidebarNavigationScreenDetailsFooter record={ record } />\n\t) : null;\n\n\tconst details = [];\n\n\tif (\n\t\tpostType === PATTERN_TYPES.user ||\n\t\tpostType === TEMPLATE_PART_POST_TYPE\n\t) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Syncing' ),\n\t\t\tvalue:\n\t\t\t\trecord.wp_pattern_sync_status === PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t? _x(\n\t\t\t\t\t\t\t'Not synced',\n\t\t\t\t\t\t\t'Text that indicates that the pattern is not synchronized'\n\t\t\t\t\t )\n\t\t\t\t\t: _x(\n\t\t\t\t\t\t\t'Synced',\n\t\t\t\t\t\t\t'Text that indicates that the pattern is synchronized'\n\t\t\t\t\t ),\n\t\t} );\n\n\t\tif ( record.wp_pattern_category?.length === 0 ) {\n\t\t\tdetails.push( {\n\t\t\t\tlabel: __( 'Categories' ),\n\t\t\t\tvalue: __( 'Uncategorized' ),\n\t\t\t} );\n\t\t}\n\t\tif ( record.wp_pattern_category?.length > 0 ) {\n\t\t\tconst patternCategories = new Map();\n\t\t\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\t\t\tpatternCategories.set( userCategory.id, userCategory )\n\t\t\t);\n\n\t\t\tconst categories = record.wp_pattern_category\n\t\t\t\t.filter( ( category ) => patternCategories.get( category ) )\n\t\t\t\t.map( ( category ) => patternCategories.get( category ).label );\n\n\t\t\tdetails.push( {\n\t\t\t\tlabel: __( 'Categories' ),\n\t\t\t\tvalue: categories.length > 0 ? categories.join( ', ' ) : '',\n\t\t\t} );\n\t\t}\n\t}\n\n\tif ( postType === TEMPLATE_PART_POST_TYPE ) {\n\t\tconst templatePartArea = templatePartAreas.find(\n\t\t\t( area ) => area.area === record.area\n\t\t);\n\n\t\tlet areaDetailValue = templatePartArea?.label;\n\n\t\tif ( ! areaDetailValue ) {\n\t\t\tareaDetailValue = record.area\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t// translators: %s: Sentenced cased template part area e.g: \"My custom area\".\n\t\t\t\t\t\t__( '%s (removed)' ),\n\t\t\t\t\t\tsentenceCase( record.area )\n\t\t\t\t )\n\t\t\t\t: __( 'None' );\n\t\t}\n\n\t\tdetails.push( { label: __( 'Area' ), value: areaDetailValue } );\n\t}\n\n\tif (\n\t\tpostType === TEMPLATE_PART_POST_TYPE &&\n\t\taddedBy.text &&\n\t\t! isAddedByActiveTheme\n\t) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Added by' ),\n\t\t\tvalue: (\n\t\t\t\t<span className=\"edit-site-sidebar-navigation-screen-pattern__added-by-description-author\">\n\t\t\t\t\t{ addedBy.text }\n\t\t\t\t</span>\n\t\t\t),\n\t\t} );\n\t}\n\n\tif (\n\t\tpostType === TEMPLATE_PART_POST_TYPE &&\n\t\taddedBy.text &&\n\t\t( record.origin === TEMPLATE_ORIGINS.plugin ||\n\t\t\trecord.has_theme_file === true )\n\t) {\n\t\tdetails.push( {\n\t\t\tlabel: __( 'Customized' ),\n\t\t\tvalue: (\n\t\t\t\t<span className=\"edit-site-sidebar-navigation-screen-pattern__added-by-description-customized\">\n\t\t\t\t\t{ addedBy.isCustomized ? __( 'Yes' ) : __( 'No' ) }\n\t\t\t\t</span>\n\t\t\t),\n\t\t} );\n\t}\n\n\tconst content = (\n\t\t<>\n\t\t\t{ useNavigationMenuContent( postType, postId ) }\n\t\t\t{ !! details.length && (\n\t\t\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\t\t\tspacing={ 5 }\n\t\t\t\t\ttitle={ __( 'Details' ) }\n\t\t\t\t>\n\t\t\t\t\t{ details.map( ( { label, value } ) => (\n\t\t\t\t\t\t<SidebarNavigationScreenDetailsPanelRow key={ label }>\n\t\t\t\t\t\t\t<SidebarNavigationScreenDetailsPanelLabel>\n\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t</SidebarNavigationScreenDetailsPanelLabel>\n\t\t\t\t\t\t\t<SidebarNavigationScreenDetailsPanelValue>\n\t\t\t\t\t\t\t\t{ value }\n\t\t\t\t\t\t\t</SidebarNavigationScreenDetailsPanelValue>\n\t\t\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t) ) }\n\t\t\t\t</SidebarNavigationScreenDetailsPanel>\n\t\t\t) }\n\t\t</>\n\t);\n\n\treturn { title, description, content, footer };\n}\n"],"mappings":"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"}
@@ -39,8 +39,8 @@ function SiteIcon({
39
39
  src: siteIconUrl
40
40
  }) : createElement(Icon, {
41
41
  className: "edit-site-site-icon__icon",
42
- size: "48px",
43
- icon: wordpress
42
+ icon: wordpress,
43
+ size: 48
44
44
  });
45
45
  return createElement("div", {
46
46
  className: classnames(className, 'edit-site-site-icon')
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useSelect","Icon","__","wordpress","store","coreDataStore","SiteIcon","className","isRequestingSite","siteIconUrl","select","getEntityRecord","siteData","undefined","site_icon_url","createElement","icon","alt","src","size"],"sources":["@wordpress/edit-site/src/components/site-icon/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { Icon } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { wordpress } from '@wordpress/icons';\nimport { store as coreDataStore } from '@wordpress/core-data';\n\nfunction SiteIcon( { className } ) {\n\tconst { isRequestingSite, siteIconUrl } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord } = select( coreDataStore );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase', undefined );\n\n\t\treturn {\n\t\t\tisRequestingSite: ! siteData,\n\t\t\tsiteIconUrl: siteData?.site_icon_url,\n\t\t};\n\t}, [] );\n\n\tif ( isRequestingSite && ! siteIconUrl ) {\n\t\treturn <div className=\"edit-site-site-icon__image\" />;\n\t}\n\n\tconst icon = siteIconUrl ? (\n\t\t<img\n\t\t\tclassName=\"edit-site-site-icon__image\"\n\t\t\talt={ __( 'Site Icon' ) }\n\t\t\tsrc={ siteIconUrl }\n\t\t/>\n\t) : (\n\t\t<Icon\n\t\t\tclassName=\"edit-site-site-icon__icon\"\n\t\t\tsize=\"48px\"\n\t\t\ticon={ wordpress }\n\t\t/>\n\t);\n\n\treturn (\n\t\t<div className={ classnames( className, 'edit-site-site-icon' ) }>\n\t\t\t{ icon }\n\t\t</div>\n\t);\n}\n\nexport default SiteIcon;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,KAAK,IAAIC,aAAa,QAAQ,sBAAsB;AAE7D,SAASC,QAAQA,CAAE;EAAEC;AAAU,CAAC,EAAG;EAClC,MAAM;IAAEC,gBAAgB;IAAEC;EAAY,CAAC,GAAGT,SAAS,CAAIU,MAAM,IAAM;IAClE,MAAM;MAAEC;IAAgB,CAAC,GAAGD,MAAM,CAAEL,aAAc,CAAC;IACnD,MAAMO,QAAQ,GAAGD,eAAe,CAAE,MAAM,EAAE,gBAAgB,EAAEE,SAAU,CAAC;IAEvE,OAAO;MACNL,gBAAgB,EAAE,CAAEI,QAAQ;MAC5BH,WAAW,EAAEG,QAAQ,EAAEE;IACxB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAKN,gBAAgB,IAAI,CAAEC,WAAW,EAAG;IACxC,OAAOM,aAAA;MAAKR,SAAS,EAAC;IAA4B,CAAE,CAAC;EACtD;EAEA,MAAMS,IAAI,GAAGP,WAAW,GACvBM,aAAA;IACCR,SAAS,EAAC,4BAA4B;IACtCU,GAAG,EAAGf,EAAE,CAAE,WAAY,CAAG;IACzBgB,GAAG,EAAGT;EAAa,CACnB,CAAC,GAEFM,aAAA,CAACd,IAAI;IACJM,SAAS,EAAC,2BAA2B;IACrCY,IAAI,EAAC,MAAM;IACXH,IAAI,EAAGb;EAAW,CAClB,CACD;EAED,OACCY,aAAA;IAAKR,SAAS,EAAGR,UAAU,CAAEQ,SAAS,EAAE,qBAAsB;EAAG,GAC9DS,IACE,CAAC;AAER;AAEA,eAAeV,QAAQ"}
1
+ {"version":3,"names":["classnames","useSelect","Icon","__","wordpress","store","coreDataStore","SiteIcon","className","isRequestingSite","siteIconUrl","select","getEntityRecord","siteData","undefined","site_icon_url","createElement","icon","alt","src","size"],"sources":["@wordpress/edit-site/src/components/site-icon/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { Icon } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { wordpress } from '@wordpress/icons';\nimport { store as coreDataStore } from '@wordpress/core-data';\n\nfunction SiteIcon( { className } ) {\n\tconst { isRequestingSite, siteIconUrl } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord } = select( coreDataStore );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase', undefined );\n\n\t\treturn {\n\t\t\tisRequestingSite: ! siteData,\n\t\t\tsiteIconUrl: siteData?.site_icon_url,\n\t\t};\n\t}, [] );\n\n\tif ( isRequestingSite && ! siteIconUrl ) {\n\t\treturn <div className=\"edit-site-site-icon__image\" />;\n\t}\n\n\tconst icon = siteIconUrl ? (\n\t\t<img\n\t\t\tclassName=\"edit-site-site-icon__image\"\n\t\t\talt={ __( 'Site Icon' ) }\n\t\t\tsrc={ siteIconUrl }\n\t\t/>\n\t) : (\n\t\t<Icon\n\t\t\tclassName=\"edit-site-site-icon__icon\"\n\t\t\ticon={ wordpress }\n\t\t\tsize={ 48 }\n\t\t/>\n\t);\n\n\treturn (\n\t\t<div className={ classnames( className, 'edit-site-site-icon' ) }>\n\t\t\t{ icon }\n\t\t</div>\n\t);\n}\n\nexport default SiteIcon;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,IAAI,QAAQ,uBAAuB;AAC5C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,KAAK,IAAIC,aAAa,QAAQ,sBAAsB;AAE7D,SAASC,QAAQA,CAAE;EAAEC;AAAU,CAAC,EAAG;EAClC,MAAM;IAAEC,gBAAgB;IAAEC;EAAY,CAAC,GAAGT,SAAS,CAAIU,MAAM,IAAM;IAClE,MAAM;MAAEC;IAAgB,CAAC,GAAGD,MAAM,CAAEL,aAAc,CAAC;IACnD,MAAMO,QAAQ,GAAGD,eAAe,CAAE,MAAM,EAAE,gBAAgB,EAAEE,SAAU,CAAC;IAEvE,OAAO;MACNL,gBAAgB,EAAE,CAAEI,QAAQ;MAC5BH,WAAW,EAAEG,QAAQ,EAAEE;IACxB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAKN,gBAAgB,IAAI,CAAEC,WAAW,EAAG;IACxC,OAAOM,aAAA;MAAKR,SAAS,EAAC;IAA4B,CAAE,CAAC;EACtD;EAEA,MAAMS,IAAI,GAAGP,WAAW,GACvBM,aAAA;IACCR,SAAS,EAAC,4BAA4B;IACtCU,GAAG,EAAGf,EAAE,CAAE,WAAY,CAAG;IACzBgB,GAAG,EAAGT;EAAa,CACnB,CAAC,GAEFM,aAAA,CAACd,IAAI;IACJM,SAAS,EAAC,2BAA2B;IACrCS,IAAI,EAAGb,SAAW;IAClBgB,IAAI,EAAG;EAAI,CACX,CACD;EAED,OACCJ,aAAA;IAAKR,SAAS,EAAGR,UAAU,CAAEQ,SAAS,EAAE,qBAAsB;EAAG,GAC9DS,IACE,CAAC;AAER;AAEA,eAAeV,QAAQ"}
@@ -5,7 +5,7 @@ import { createElement } from "react";
5
5
  import { Modal, Flex, FlexItem, Button } from '@wordpress/components';
6
6
  import { __ } from '@wordpress/i18n';
7
7
  import { useState, useMemo } from '@wordpress/element';
8
- import { __experimentalBlockPatternsList as BlockPatternsList, store as blockEditorStore } from '@wordpress/block-editor';
8
+ import { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';
9
9
  import { useSelect } from '@wordpress/data';
10
10
  import { useAsyncList } from '@wordpress/compose';
11
11
  import { store as preferencesStore } from '@wordpress/preferences';
@@ -41,17 +41,15 @@ function useStartPatterns(fallbackContent) {
41
41
  getEditedPostId
42
42
  } = select(editSiteStore);
43
43
  const {
44
- getEntityRecord
44
+ getEntityRecord,
45
+ getBlockPatterns
45
46
  } = select(coreStore);
46
47
  const postId = getEditedPostId();
47
48
  const postType = getEditedPostType();
48
49
  const record = getEntityRecord('postType', postType, postId);
49
- const {
50
- getSettings
51
- } = select(blockEditorStore);
52
50
  return {
53
51
  slug: record.slug,
54
- patterns: getSettings().__experimentalBlockPatterns
52
+ patterns: getBlockPatterns()
55
53
  };
56
54
  }, []);
57
55
  const currentThemeStylesheet = useSelect(select => select(coreStore).getCurrentTheme().stylesheet);
@@ -1 +1 @@
1
- {"version":3,"names":["Modal","Flex","FlexItem","Button","__","useState","useMemo","__experimentalBlockPatternsList","BlockPatternsList","store","blockEditorStore","useSelect","useAsyncList","preferencesStore","parse","coreStore","useEntityBlockEditor","editSiteStore","TEMPLATE_POST_TYPE","useFallbackTemplateContent","slug","isCustom","select","getEntityRecord","getDefaultTemplateId","templateId","is_custom","ignore_empty","content","raw","undefined","useStartPatterns","fallbackContent","patterns","getEditedPostType","getEditedPostId","postId","postType","record","getSettings","__experimentalBlockPatterns","currentThemeStylesheet","getCurrentTheme","stylesheet","injectThemeAttributeInBlockTemplateContent","block","innerBlocks","find","innerBlock","name","map","attributes","theme","blocks","title","filter","pattern","Array","isArray","templateTypes","some","templateType","startsWith","PatternSelection","onChoosePattern","onChange","blockPatterns","shownBlockPatterns","createElement","shownPatterns","onClickPattern","selection","StartModal","onClose","className","closeLabel","focusOnMount","onRequestClose","isFullScreen","justify","expanded","variant","onClick","START_TEMPLATE_MODAL_STATES","INITIAL","CLOSED","StartTemplateOptions","modalState","setModalState","shouldOpenModal","_postType","getEditedEntityRecord","hasEditsForEntityRecord","templateRecord","hasEdits","get"],"sources":["@wordpress/edit-site/src/components/start-template-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal, Flex, FlexItem, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo } from '@wordpress/element';\nimport {\n\t__experimentalBlockPatternsList as BlockPatternsList,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore, useEntityBlockEditor } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nfunction useFallbackTemplateContent( slug, isCustom = false ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, getDefaultTemplateId } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst templateId = getDefaultTemplateId( {\n\t\t\t\tslug,\n\t\t\t\tis_custom: isCustom,\n\t\t\t\tignore_empty: true,\n\t\t\t} );\n\t\t\treturn templateId\n\t\t\t\t? getEntityRecord( 'postType', TEMPLATE_POST_TYPE, templateId )\n\t\t\t\t\t\t?.content?.raw\n\t\t\t\t: undefined;\n\t\t},\n\t\t[ slug, isCustom ]\n\t);\n}\n\nfunction useStartPatterns( fallbackContent ) {\n\tconst { slug, patterns } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = select( editSiteStore );\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst postId = getEditedPostId();\n\t\tconst postType = getEditedPostType();\n\t\tconst record = getEntityRecord( 'postType', postType, postId );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tslug: record.slug,\n\t\t\tpatterns: getSettings().__experimentalBlockPatterns,\n\t\t};\n\t}, [] );\n\n\tconst currentThemeStylesheet = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme().stylesheet\n\t);\n\n\t// Duplicated from packages/block-library/src/pattern/edit.js.\n\tfunction injectThemeAttributeInBlockTemplateContent( block ) {\n\t\tif (\n\t\t\tblock.innerBlocks.find(\n\t\t\t\t( innerBlock ) => innerBlock.name === 'core/template-part'\n\t\t\t)\n\t\t) {\n\t\t\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\t\t\tif (\n\t\t\t\t\tinnerBlock.name === 'core/template-part' &&\n\t\t\t\t\tinnerBlock.attributes.theme === undefined\n\t\t\t\t) {\n\t\t\t\t\tinnerBlock.attributes.theme = currentThemeStylesheet;\n\t\t\t\t}\n\t\t\t\treturn innerBlock;\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tblock.name === 'core/template-part' &&\n\t\t\tblock.attributes.theme === undefined\n\t\t) {\n\t\t\tblock.attributes.theme = currentThemeStylesheet;\n\t\t}\n\t\treturn block;\n\t}\n\n\treturn useMemo( () => {\n\t\t// filter patterns that are supposed to be used in the current template being edited.\n\t\treturn [\n\t\t\t{\n\t\t\t\tname: 'fallback',\n\t\t\t\tblocks: parse( fallbackContent ),\n\t\t\t\ttitle: __( 'Fallback content' ),\n\t\t\t},\n\t\t\t...patterns\n\t\t\t\t.filter( ( pattern ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tArray.isArray( pattern.templateTypes ) &&\n\t\t\t\t\t\tpattern.templateTypes.some( ( templateType ) =>\n\t\t\t\t\t\t\tslug.startsWith( templateType )\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t} )\n\t\t\t\t.map( ( pattern ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...pattern,\n\t\t\t\t\t\tblocks: parse( pattern.content ).map( ( block ) =>\n\t\t\t\t\t\t\tinjectThemeAttributeInBlockTemplateContent( block )\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t} ),\n\t\t];\n\t}, [ fallbackContent, slug, patterns ] );\n}\n\nfunction PatternSelection( { fallbackContent, onChoosePattern, postType } ) {\n\tconst [ , , onChange ] = useEntityBlockEditor( 'postType', postType );\n\tconst blockPatterns = useStartPatterns( fallbackContent );\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( pattern, blocks ) => {\n\t\t\t\tonChange( blocks, { selection: undefined } );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction StartModal( { slug, isCustom, onClose, postType } ) {\n\tconst fallbackContent = useFallbackTemplateContent( slug, isCustom );\n\tif ( ! fallbackContent ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-site-start-template-options__modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tcloseLabel={ __( 'Cancel' ) }\n\t\t\tfocusOnMount=\"firstElement\"\n\t\t\tonRequestClose={ onClose }\n\t\t\tisFullScreen={ true }\n\t\t>\n\t\t\t<div className=\"edit-site-start-template-options__modal-content\">\n\t\t\t\t<PatternSelection\n\t\t\t\t\tfallbackContent={ fallbackContent }\n\t\t\t\t\tslug={ slug }\n\t\t\t\t\tisCustom={ isCustom }\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tonChoosePattern={ () => {\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<Flex\n\t\t\t\tclassName=\"edit-site-start-template-options__modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t{ __( 'Skip' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nconst START_TEMPLATE_MODAL_STATES = {\n\tINITIAL: 'INITIAL',\n\tCLOSED: 'CLOSED',\n};\n\nexport default function StartTemplateOptions() {\n\tconst [ modalState, setModalState ] = useState(\n\t\tSTART_TEMPLATE_MODAL_STATES.INITIAL\n\t);\n\tconst { shouldOpenModal, slug, isCustom, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostType, getEditedPostId } =\n\t\t\t\tselect( editSiteStore );\n\t\t\tconst _postType = getEditedPostType();\n\t\t\tconst postId = getEditedPostId();\n\t\t\tconst { getEditedEntityRecord, hasEditsForEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst templateRecord = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t_postType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst hasEdits = hasEditsForEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t_postType,\n\t\t\t\tpostId\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tshouldOpenModal:\n\t\t\t\t\t! hasEdits &&\n\t\t\t\t\t'' === templateRecord.content &&\n\t\t\t\t\tTEMPLATE_POST_TYPE === _postType &&\n\t\t\t\t\t! select( preferencesStore ).get(\n\t\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t\t'welcomeGuide'\n\t\t\t\t\t),\n\t\t\t\tslug: templateRecord.slug,\n\t\t\t\tisCustom: templateRecord.is_custom,\n\t\t\t\tpostType: _postType,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tif (\n\t\t( modalState === START_TEMPLATE_MODAL_STATES.INITIAL &&\n\t\t\t! shouldOpenModal ) ||\n\t\tmodalState === START_TEMPLATE_MODAL_STATES.CLOSED\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StartModal\n\t\t\tslug={ slug }\n\t\t\tisCustom={ isCustom }\n\t\t\tpostType={ postType }\n\t\t\tonClose={ () =>\n\t\t\t\tsetModalState( START_TEMPLATE_MODAL_STATES.CLOSED )\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["Modal","Flex","FlexItem","Button","__","useState","useMemo","__experimentalBlockPatternsList","BlockPatternsList","useSelect","useAsyncList","store","preferencesStore","parse","coreStore","useEntityBlockEditor","editSiteStore","TEMPLATE_POST_TYPE","useFallbackTemplateContent","slug","isCustom","select","getEntityRecord","getDefaultTemplateId","templateId","is_custom","ignore_empty","content","raw","undefined","useStartPatterns","fallbackContent","patterns","getEditedPostType","getEditedPostId","getBlockPatterns","postId","postType","record","currentThemeStylesheet","getCurrentTheme","stylesheet","injectThemeAttributeInBlockTemplateContent","block","innerBlocks","find","innerBlock","name","map","attributes","theme","blocks","title","filter","pattern","Array","isArray","templateTypes","some","templateType","startsWith","PatternSelection","onChoosePattern","onChange","blockPatterns","shownBlockPatterns","createElement","shownPatterns","onClickPattern","selection","StartModal","onClose","className","closeLabel","focusOnMount","onRequestClose","isFullScreen","justify","expanded","variant","onClick","START_TEMPLATE_MODAL_STATES","INITIAL","CLOSED","StartTemplateOptions","modalState","setModalState","shouldOpenModal","_postType","getEditedEntityRecord","hasEditsForEntityRecord","templateRecord","hasEdits","get"],"sources":["@wordpress/edit-site/src/components/start-template-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal, Flex, FlexItem, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo } from '@wordpress/element';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { parse } from '@wordpress/blocks';\nimport { store as coreStore, useEntityBlockEditor } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nfunction useFallbackTemplateContent( slug, isCustom = false ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord, getDefaultTemplateId } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst templateId = getDefaultTemplateId( {\n\t\t\t\tslug,\n\t\t\t\tis_custom: isCustom,\n\t\t\t\tignore_empty: true,\n\t\t\t} );\n\t\t\treturn templateId\n\t\t\t\t? getEntityRecord( 'postType', TEMPLATE_POST_TYPE, templateId )\n\t\t\t\t\t\t?.content?.raw\n\t\t\t\t: undefined;\n\t\t},\n\t\t[ slug, isCustom ]\n\t);\n}\n\nfunction useStartPatterns( fallbackContent ) {\n\tconst { slug, patterns } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = select( editSiteStore );\n\t\tconst { getEntityRecord, getBlockPatterns } = select( coreStore );\n\t\tconst postId = getEditedPostId();\n\t\tconst postType = getEditedPostType();\n\t\tconst record = getEntityRecord( 'postType', postType, postId );\n\t\treturn {\n\t\t\tslug: record.slug,\n\t\t\tpatterns: getBlockPatterns(),\n\t\t};\n\t}, [] );\n\n\tconst currentThemeStylesheet = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme().stylesheet\n\t);\n\n\t// Duplicated from packages/block-library/src/pattern/edit.js.\n\tfunction injectThemeAttributeInBlockTemplateContent( block ) {\n\t\tif (\n\t\t\tblock.innerBlocks.find(\n\t\t\t\t( innerBlock ) => innerBlock.name === 'core/template-part'\n\t\t\t)\n\t\t) {\n\t\t\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\t\t\tif (\n\t\t\t\t\tinnerBlock.name === 'core/template-part' &&\n\t\t\t\t\tinnerBlock.attributes.theme === undefined\n\t\t\t\t) {\n\t\t\t\t\tinnerBlock.attributes.theme = currentThemeStylesheet;\n\t\t\t\t}\n\t\t\t\treturn innerBlock;\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tblock.name === 'core/template-part' &&\n\t\t\tblock.attributes.theme === undefined\n\t\t) {\n\t\t\tblock.attributes.theme = currentThemeStylesheet;\n\t\t}\n\t\treturn block;\n\t}\n\n\treturn useMemo( () => {\n\t\t// filter patterns that are supposed to be used in the current template being edited.\n\t\treturn [\n\t\t\t{\n\t\t\t\tname: 'fallback',\n\t\t\t\tblocks: parse( fallbackContent ),\n\t\t\t\ttitle: __( 'Fallback content' ),\n\t\t\t},\n\t\t\t...patterns\n\t\t\t\t.filter( ( pattern ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tArray.isArray( pattern.templateTypes ) &&\n\t\t\t\t\t\tpattern.templateTypes.some( ( templateType ) =>\n\t\t\t\t\t\t\tslug.startsWith( templateType )\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t} )\n\t\t\t\t.map( ( pattern ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...pattern,\n\t\t\t\t\t\tblocks: parse( pattern.content ).map( ( block ) =>\n\t\t\t\t\t\t\tinjectThemeAttributeInBlockTemplateContent( block )\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t} ),\n\t\t];\n\t}, [ fallbackContent, slug, patterns ] );\n}\n\nfunction PatternSelection( { fallbackContent, onChoosePattern, postType } ) {\n\tconst [ , , onChange ] = useEntityBlockEditor( 'postType', postType );\n\tconst blockPatterns = useStartPatterns( fallbackContent );\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( pattern, blocks ) => {\n\t\t\t\tonChange( blocks, { selection: undefined } );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction StartModal( { slug, isCustom, onClose, postType } ) {\n\tconst fallbackContent = useFallbackTemplateContent( slug, isCustom );\n\tif ( ! fallbackContent ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-site-start-template-options__modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tcloseLabel={ __( 'Cancel' ) }\n\t\t\tfocusOnMount=\"firstElement\"\n\t\t\tonRequestClose={ onClose }\n\t\t\tisFullScreen={ true }\n\t\t>\n\t\t\t<div className=\"edit-site-start-template-options__modal-content\">\n\t\t\t\t<PatternSelection\n\t\t\t\t\tfallbackContent={ fallbackContent }\n\t\t\t\t\tslug={ slug }\n\t\t\t\t\tisCustom={ isCustom }\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tonChoosePattern={ () => {\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<Flex\n\t\t\t\tclassName=\"edit-site-start-template-options__modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t{ __( 'Skip' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nconst START_TEMPLATE_MODAL_STATES = {\n\tINITIAL: 'INITIAL',\n\tCLOSED: 'CLOSED',\n};\n\nexport default function StartTemplateOptions() {\n\tconst [ modalState, setModalState ] = useState(\n\t\tSTART_TEMPLATE_MODAL_STATES.INITIAL\n\t);\n\tconst { shouldOpenModal, slug, isCustom, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostType, getEditedPostId } =\n\t\t\t\tselect( editSiteStore );\n\t\t\tconst _postType = getEditedPostType();\n\t\t\tconst postId = getEditedPostId();\n\t\t\tconst { getEditedEntityRecord, hasEditsForEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst templateRecord = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t_postType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst hasEdits = hasEditsForEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t_postType,\n\t\t\t\tpostId\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tshouldOpenModal:\n\t\t\t\t\t! hasEdits &&\n\t\t\t\t\t'' === templateRecord.content &&\n\t\t\t\t\tTEMPLATE_POST_TYPE === _postType &&\n\t\t\t\t\t! select( preferencesStore ).get(\n\t\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t\t'welcomeGuide'\n\t\t\t\t\t),\n\t\t\t\tslug: templateRecord.slug,\n\t\t\t\tisCustom: templateRecord.is_custom,\n\t\t\t\tpostType: _postType,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tif (\n\t\t( modalState === START_TEMPLATE_MODAL_STATES.INITIAL &&\n\t\t\t! shouldOpenModal ) ||\n\t\tmodalState === START_TEMPLATE_MODAL_STATES.CLOSED\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StartModal\n\t\t\tslug={ slug }\n\t\t\tisCustom={ isCustom }\n\t\t\tpostType={ postType }\n\t\t\tonClose={ () =>\n\t\t\t\tsetModalState( START_TEMPLATE_MODAL_STATES.CLOSED )\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
@@ -52,7 +52,6 @@ export default function ConvertToTemplatePart({
52
52
  // The modal and this component will be unmounted because of `replaceBlocks` above,
53
53
  // so no need to call `closeModal` or `onClose`.
54
54
  };
55
-
56
55
  return createElement(Fragment, null, createElement(MenuItem, {
57
56
  icon: symbolFilled,
58
57
  onClick: () => {
@@ -1 +1 @@
1
- {"version":3,"names":["useDispatch","useSelect","store","blockEditorStore","MenuItem","createBlock","__","useState","noticesStore","symbolFilled","CreateTemplatePartModal","editSiteStore","ConvertToTemplatePart","clientIds","blocks","isModalOpen","setIsModalOpen","replaceBlocks","createSuccessNotice","canCreate","select","supportsTemplatePartsMode","getSettings","onConvert","templatePart","slug","theme","type","createElement","Fragment","icon","onClick","closeModal","onCreate"],"sources":["@wordpress/edit-site/src/components/template-part-converter/convert-to-template-part.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { MenuItem } from '@wordpress/components';\nimport { createBlock } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { symbolFilled } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\nimport { store as editSiteStore } from '../../store';\n\nexport default function ConvertToTemplatePart( { clientIds, blocks } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst { canCreate } = useSelect( ( select ) => {\n\t\tconst { supportsTemplatePartsMode } =\n\t\t\tselect( editSiteStore ).getSettings();\n\t\treturn {\n\t\t\tcanCreate: ! supportsTemplatePartsMode,\n\t\t};\n\t}, [] );\n\n\tif ( ! canCreate ) {\n\t\treturn null;\n\t}\n\n\tconst onConvert = async ( templatePart ) => {\n\t\treplaceBlocks(\n\t\t\tclientIds,\n\t\t\tcreateBlock( 'core/template-part', {\n\t\t\t\tslug: templatePart.slug,\n\t\t\t\ttheme: templatePart.theme,\n\t\t\t} )\n\t\t);\n\t\tcreateSuccessNotice( __( 'Template part created.' ), {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\n\t\t// The modal and this component will be unmounted because of `replaceBlocks` above,\n\t\t// so no need to call `closeModal` or `onClose`.\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\ticon={ symbolFilled }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetIsModalOpen( true );\n\t\t\t\t} }\n\t\t\t\taria-expanded={ isModalOpen }\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t>\n\t\t\t\t{ __( 'Create template part' ) }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tonCreate={ onConvert }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASL,KAAK,IAAIM,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,YAAY,QAAQ,kBAAkB;;AAE/C;AACA;AACA;AACA,OAAOC,uBAAuB,MAAM,+BAA+B;AACnE,SAASR,KAAK,IAAIS,aAAa,QAAQ,aAAa;AAEpD,eAAe,SAASC,qBAAqBA,CAAE;EAAEC,SAAS;EAAEC;AAAO,CAAC,EAAG;EACtE,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAGT,QAAQ,CAAE,KAAM,CAAC;EACzD,MAAM;IAAEU;EAAc,CAAC,GAAGjB,WAAW,CAAEG,gBAAiB,CAAC;EACzD,MAAM;IAAEe;EAAoB,CAAC,GAAGlB,WAAW,CAAEQ,YAAa,CAAC;EAE3D,MAAM;IAAEW;EAAU,CAAC,GAAGlB,SAAS,CAAImB,MAAM,IAAM;IAC9C,MAAM;MAAEC;IAA0B,CAAC,GAClCD,MAAM,CAAET,aAAc,CAAC,CAACW,WAAW,CAAC,CAAC;IACtC,OAAO;MACNH,SAAS,EAAE,CAAEE;IACd,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEF,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMI,SAAS,GAAG,MAAQC,YAAY,IAAM;IAC3CP,aAAa,CACZJ,SAAS,EACTR,WAAW,CAAE,oBAAoB,EAAE;MAClCoB,IAAI,EAAED,YAAY,CAACC,IAAI;MACvBC,KAAK,EAAEF,YAAY,CAACE;IACrB,CAAE,CACH,CAAC;IACDR,mBAAmB,CAAEZ,EAAE,CAAE,wBAAyB,CAAC,EAAE;MACpDqB,IAAI,EAAE;IACP,CAAE,CAAC;;IAEH;IACA;EACD,CAAC;;EAED,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACxB,QAAQ;IACR0B,IAAI,EAAGrB,YAAc;IACrBsB,OAAO,EAAGA,CAAA,KAAM;MACff,cAAc,CAAE,IAAK,CAAC;IACvB,CAAG;IACH,iBAAgBD,WAAa;IAC7B,iBAAc;EAAQ,GAEpBT,EAAE,CAAE,sBAAuB,CACpB,CAAC,EACTS,WAAW,IACZa,aAAA,CAAClB,uBAAuB;IACvBsB,UAAU,EAAGA,CAAA,KAAM;MAClBhB,cAAc,CAAE,KAAM,CAAC;IACxB,CAAG;IACHF,MAAM,EAAGA,MAAQ;IACjBmB,QAAQ,EAAGV;EAAW,CACtB,CAED,CAAC;AAEL"}
1
+ {"version":3,"names":["useDispatch","useSelect","store","blockEditorStore","MenuItem","createBlock","__","useState","noticesStore","symbolFilled","CreateTemplatePartModal","editSiteStore","ConvertToTemplatePart","clientIds","blocks","isModalOpen","setIsModalOpen","replaceBlocks","createSuccessNotice","canCreate","select","supportsTemplatePartsMode","getSettings","onConvert","templatePart","slug","theme","type","createElement","Fragment","icon","onClick","closeModal","onCreate"],"sources":["@wordpress/edit-site/src/components/template-part-converter/convert-to-template-part.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { MenuItem } from '@wordpress/components';\nimport { createBlock } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { symbolFilled } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport CreateTemplatePartModal from '../create-template-part-modal';\nimport { store as editSiteStore } from '../../store';\n\nexport default function ConvertToTemplatePart( { clientIds, blocks } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst { canCreate } = useSelect( ( select ) => {\n\t\tconst { supportsTemplatePartsMode } =\n\t\t\tselect( editSiteStore ).getSettings();\n\t\treturn {\n\t\t\tcanCreate: ! supportsTemplatePartsMode,\n\t\t};\n\t}, [] );\n\n\tif ( ! canCreate ) {\n\t\treturn null;\n\t}\n\n\tconst onConvert = async ( templatePart ) => {\n\t\treplaceBlocks(\n\t\t\tclientIds,\n\t\t\tcreateBlock( 'core/template-part', {\n\t\t\t\tslug: templatePart.slug,\n\t\t\t\ttheme: templatePart.theme,\n\t\t\t} )\n\t\t);\n\t\tcreateSuccessNotice( __( 'Template part created.' ), {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\n\t\t// The modal and this component will be unmounted because of `replaceBlocks` above,\n\t\t// so no need to call `closeModal` or `onClose`.\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<MenuItem\n\t\t\t\ticon={ symbolFilled }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetIsModalOpen( true );\n\t\t\t\t} }\n\t\t\t\taria-expanded={ isModalOpen }\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t>\n\t\t\t\t{ __( 'Create template part' ) }\n\t\t\t</MenuItem>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<CreateTemplatePartModal\n\t\t\t\t\tcloseModal={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tonCreate={ onConvert }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASC,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASL,KAAK,IAAIM,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,YAAY,QAAQ,kBAAkB;;AAE/C;AACA;AACA;AACA,OAAOC,uBAAuB,MAAM,+BAA+B;AACnE,SAASR,KAAK,IAAIS,aAAa,QAAQ,aAAa;AAEpD,eAAe,SAASC,qBAAqBA,CAAE;EAAEC,SAAS;EAAEC;AAAO,CAAC,EAAG;EACtE,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAGT,QAAQ,CAAE,KAAM,CAAC;EACzD,MAAM;IAAEU;EAAc,CAAC,GAAGjB,WAAW,CAAEG,gBAAiB,CAAC;EACzD,MAAM;IAAEe;EAAoB,CAAC,GAAGlB,WAAW,CAAEQ,YAAa,CAAC;EAE3D,MAAM;IAAEW;EAAU,CAAC,GAAGlB,SAAS,CAAImB,MAAM,IAAM;IAC9C,MAAM;MAAEC;IAA0B,CAAC,GAClCD,MAAM,CAAET,aAAc,CAAC,CAACW,WAAW,CAAC,CAAC;IACtC,OAAO;MACNH,SAAS,EAAE,CAAEE;IACd,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEF,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMI,SAAS,GAAG,MAAQC,YAAY,IAAM;IAC3CP,aAAa,CACZJ,SAAS,EACTR,WAAW,CAAE,oBAAoB,EAAE;MAClCoB,IAAI,EAAED,YAAY,CAACC,IAAI;MACvBC,KAAK,EAAEF,YAAY,CAACE;IACrB,CAAE,CACH,CAAC;IACDR,mBAAmB,CAAEZ,EAAE,CAAE,wBAAyB,CAAC,EAAE;MACpDqB,IAAI,EAAE;IACP,CAAE,CAAC;;IAEH;IACA;EACD,CAAC;EAED,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACxB,QAAQ;IACR0B,IAAI,EAAGrB,YAAc;IACrBsB,OAAO,EAAGA,CAAA,KAAM;MACff,cAAc,CAAE,IAAK,CAAC;IACvB,CAAG;IACH,iBAAgBD,WAAa;IAC7B,iBAAc;EAAQ,GAEpBT,EAAE,CAAE,sBAAuB,CACpB,CAAC,EACTS,WAAW,IACZa,aAAA,CAAClB,uBAAuB;IACvBsB,UAAU,EAAGA,CAAA,KAAM;MAClBhB,cAAc,CAAE,KAAM,CAAC;IACxB,CAAG;IACHF,MAAM,EAAGA,MAAQ;IACjBmB,QAAQ,EAAGV;EAAW,CACtB,CAED,CAAC;AAEL"}
@@ -377,7 +377,6 @@ export const revertTemplate = (template, {
377
377
  }, {
378
378
  undoIgnore: true // Required to merge this edit with the last undo level.
379
379
  });
380
-
381
380
  const blocks = parse(fileTemplate?.content?.raw);
382
381
  registry.dispatch(coreStore).editEntityRecord('postType', template.type, fileTemplate.id, {
383
382
  content: serializeBlocks,
@@ -486,6 +485,9 @@ export const toggleDistractionFree = () => ({
486
485
  registry
487
486
  }) => {
488
487
  const isDistractionFree = registry.select(preferencesStore).get('core', 'distractionFree');
488
+ if (isDistractionFree) {
489
+ registry.dispatch(preferencesStore).set('core', 'fixedToolbar', false);
490
+ }
489
491
  if (!isDistractionFree) {
490
492
  registry.batch(() => {
491
493
  registry.dispatch(preferencesStore).set('core', 'fixedToolbar', true);
@@ -502,7 +504,10 @@ export const toggleDistractionFree = () => ({
502
504
  actions: [{
503
505
  label: __('Undo'),
504
506
  onClick: () => {
505
- registry.dispatch(preferencesStore).toggle('core', 'distractionFree');
507
+ registry.batch(() => {
508
+ registry.dispatch(preferencesStore).set('core', 'fixedToolbar', isDistractionFree ? true : false);
509
+ registry.dispatch(preferencesStore).toggle('core', 'distractionFree');
510
+ });
506
511
  }
507
512
  }]
508
513
  });