@wordpress/edit-site 5.14.0 → 5.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-page/index.js +1 -6
  3. package/build/components/add-new-page/index.js.map +1 -1
  4. package/build/components/add-new-pattern/index.js +21 -7
  5. package/build/components/add-new-pattern/index.js.map +1 -1
  6. package/build/components/add-new-template/utils.js +10 -8
  7. package/build/components/add-new-template/utils.js.map +1 -1
  8. package/build/components/block-editor/constants.js +1 -1
  9. package/build/components/block-editor/constants.js.map +1 -1
  10. package/build/components/block-editor/editor-canvas.js +1 -1
  11. package/build/components/block-editor/editor-canvas.js.map +1 -1
  12. package/build/components/block-editor/index.js +0 -4
  13. package/build/components/block-editor/index.js.map +1 -1
  14. package/build/components/block-editor/use-site-editor-settings.js +87 -13
  15. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  16. package/build/components/code-editor/index.js +60 -28
  17. package/build/components/code-editor/index.js.map +1 -1
  18. package/build/components/create-pattern-modal/index.js +7 -3
  19. package/build/components/create-pattern-modal/index.js.map +1 -1
  20. package/build/components/editor/index.js +1 -1
  21. package/build/components/editor/index.js.map +1 -1
  22. package/build/components/header-edit-mode/index.js +13 -9
  23. package/build/components/header-edit-mode/index.js.map +1 -1
  24. package/build/components/layout/index.js +8 -3
  25. package/build/components/layout/index.js.map +1 -1
  26. package/build/components/page-actions/index.js +2 -2
  27. package/build/components/page-actions/index.js.map +1 -1
  28. package/build/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -16
  29. package/build/components/page-actions/trash-page-menu-item.js.map +1 -0
  30. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -5
  31. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  32. package/build/components/page-patterns/duplicate-menu-item.js +163 -0
  33. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -0
  34. package/build/components/page-patterns/grid-item.js +83 -58
  35. package/build/components/page-patterns/grid-item.js.map +1 -1
  36. package/build/components/page-patterns/grid.js +5 -18
  37. package/build/components/page-patterns/grid.js.map +1 -1
  38. package/build/components/page-patterns/header.js +69 -0
  39. package/build/components/page-patterns/header.js.map +1 -0
  40. package/build/components/page-patterns/index.js +3 -1
  41. package/build/components/page-patterns/index.js.map +1 -1
  42. package/build/components/page-patterns/pagination.js +63 -0
  43. package/build/components/page-patterns/pagination.js.map +1 -0
  44. package/build/components/page-patterns/patterns-list.js +95 -30
  45. package/build/components/page-patterns/patterns-list.js.map +1 -1
  46. package/build/components/page-patterns/rename-menu-item.js +109 -0
  47. package/build/components/page-patterns/rename-menu-item.js.map +1 -0
  48. package/build/components/page-patterns/use-patterns.js +102 -121
  49. package/build/components/page-patterns/use-patterns.js.map +1 -1
  50. package/build/components/page-template-parts/add-new-template-part.js +74 -0
  51. package/build/components/page-template-parts/add-new-template-part.js.map +1 -0
  52. package/build/components/page-template-parts/index.js +2 -23
  53. package/build/components/page-template-parts/index.js.map +1 -1
  54. package/build/components/resizable-frame/index.js +78 -36
  55. package/build/components/resizable-frame/index.js.map +1 -1
  56. package/build/components/save-panel/index.js +5 -5
  57. package/build/components/save-panel/index.js.map +1 -1
  58. package/build/components/sidebar-edit-mode/page-panels/page-content.js +4 -3
  59. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  60. package/build/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  61. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  62. package/build/components/sidebar-navigation-screen/index.js +14 -8
  63. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  64. package/build/components/sidebar-navigation-screen-main/index.js +4 -2
  65. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  66. package/build/components/sidebar-navigation-screen-main/template-part-hint.js +45 -0
  67. package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
  68. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +4 -4
  69. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  70. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  71. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  72. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
  73. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  74. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +4 -3
  75. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  76. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  77. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  78. package/build/components/sidebar-navigation-screen-page/index.js +2 -3
  79. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  80. package/build/components/sidebar-navigation-screen-page/status-label.js +1 -34
  81. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  82. package/build/components/sidebar-navigation-screen-pages/index.js +33 -25
  83. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  84. package/build/components/sidebar-navigation-screen-pattern/index.js +9 -7
  85. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  86. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
  87. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  89. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  90. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +11 -3
  91. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  92. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +5 -2
  93. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  94. package/build/components/sidebar-navigation-screen-patterns/index.js +72 -51
  95. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  96. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
  97. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
  98. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +11 -1
  99. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  100. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +20 -9
  101. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  102. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  103. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  104. package/build/components/site-hub/index.js +24 -11
  105. package/build/components/site-hub/index.js.map +1 -1
  106. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -5
  107. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  108. package/build/components/sync-state-with-url/use-sync-path-with-url.js +15 -12
  109. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  110. package/build/components/template-actions/index.js +3 -1
  111. package/build/components/template-actions/index.js.map +1 -1
  112. package/build/components/template-actions/rename-menu-item.js +12 -8
  113. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  114. package/build/components/use-edited-entity-record/index.js +6 -1
  115. package/build/components/use-edited-entity-record/index.js.map +1 -1
  116. package/build/hooks/commands/use-common-commands.js +78 -20
  117. package/build/hooks/commands/use-common-commands.js.map +1 -1
  118. package/build/hooks/push-changes-to-global-styles/index.js +56 -10
  119. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  120. package/build/store/private-actions.js +7 -1
  121. package/build/store/private-actions.js.map +1 -1
  122. package/build/utils/normalize-record-key.js +19 -0
  123. package/build/utils/normalize-record-key.js.map +1 -0
  124. package/build/utils/use-activate-theme.js +1 -1
  125. package/build/utils/use-activate-theme.js.map +1 -1
  126. package/build-module/components/add-new-page/index.js +1 -6
  127. package/build-module/components/add-new-page/index.js.map +1 -1
  128. package/build-module/components/add-new-pattern/index.js +19 -7
  129. package/build-module/components/add-new-pattern/index.js.map +1 -1
  130. package/build-module/components/add-new-template/utils.js +9 -6
  131. package/build-module/components/add-new-template/utils.js.map +1 -1
  132. package/build-module/components/block-editor/constants.js +1 -1
  133. package/build-module/components/block-editor/constants.js.map +1 -1
  134. package/build-module/components/block-editor/editor-canvas.js +1 -1
  135. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  136. package/build-module/components/block-editor/index.js +0 -4
  137. package/build-module/components/block-editor/index.js.map +1 -1
  138. package/build-module/components/block-editor/use-site-editor-settings.js +89 -14
  139. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  140. package/build-module/components/code-editor/index.js +62 -30
  141. package/build-module/components/code-editor/index.js.map +1 -1
  142. package/build-module/components/create-pattern-modal/index.js +6 -3
  143. package/build-module/components/create-pattern-modal/index.js.map +1 -1
  144. package/build-module/components/editor/index.js +1 -1
  145. package/build-module/components/editor/index.js.map +1 -1
  146. package/build-module/components/header-edit-mode/index.js +13 -9
  147. package/build-module/components/header-edit-mode/index.js.map +1 -1
  148. package/build-module/components/layout/index.js +8 -3
  149. package/build-module/components/layout/index.js.map +1 -1
  150. package/build-module/components/page-actions/index.js +2 -2
  151. package/build-module/components/page-actions/index.js.map +1 -1
  152. package/build-module/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -17
  153. package/build-module/components/page-actions/trash-page-menu-item.js.map +1 -0
  154. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -3
  155. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  156. package/build-module/components/page-patterns/duplicate-menu-item.js +147 -0
  157. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -0
  158. package/build-module/components/page-patterns/grid-item.js +84 -64
  159. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  160. package/build-module/components/page-patterns/grid.js +5 -17
  161. package/build-module/components/page-patterns/grid.js.map +1 -1
  162. package/build-module/components/page-patterns/header.js +54 -0
  163. package/build-module/components/page-patterns/header.js.map +1 -0
  164. package/build-module/components/page-patterns/index.js +3 -1
  165. package/build-module/components/page-patterns/index.js.map +1 -1
  166. package/build-module/components/page-patterns/pagination.js +54 -0
  167. package/build-module/components/page-patterns/pagination.js.map +1 -0
  168. package/build-module/components/page-patterns/patterns-list.js +96 -33
  169. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  170. package/build-module/components/page-patterns/rename-menu-item.js +97 -0
  171. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -0
  172. package/build-module/components/page-patterns/use-patterns.js +103 -122
  173. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  174. package/build-module/components/page-template-parts/add-new-template-part.js +58 -0
  175. package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -0
  176. package/build-module/components/page-template-parts/index.js +3 -22
  177. package/build-module/components/page-template-parts/index.js.map +1 -1
  178. package/build-module/components/resizable-frame/index.js +79 -39
  179. package/build-module/components/resizable-frame/index.js.map +1 -1
  180. package/build-module/components/save-panel/index.js +5 -5
  181. package/build-module/components/save-panel/index.js.map +1 -1
  182. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +5 -2
  183. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  184. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  185. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  186. package/build-module/components/sidebar-navigation-screen/index.js +15 -9
  187. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  188. package/build-module/components/sidebar-navigation-screen-main/index.js +4 -3
  189. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  190. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +33 -0
  191. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
  192. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +4 -4
  193. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  194. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  195. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  196. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
  197. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  198. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +4 -3
  199. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  200. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  201. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  202. package/build-module/components/sidebar-navigation-screen-page/index.js +2 -3
  203. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  204. package/build-module/components/sidebar-navigation-screen-page/status-label.js +1 -32
  205. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  206. package/build-module/components/sidebar-navigation-screen-pages/index.js +33 -25
  207. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  208. package/build-module/components/sidebar-navigation-screen-pattern/index.js +8 -7
  209. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  210. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
  211. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  212. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  213. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  214. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +11 -3
  215. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  216. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +4 -2
  217. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  218. package/build-module/components/sidebar-navigation-screen-patterns/index.js +76 -53
  219. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  220. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
  221. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
  222. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +10 -1
  223. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  224. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +18 -9
  225. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  226. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  227. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  228. package/build-module/components/site-hub/index.js +24 -11
  229. package/build-module/components/site-hub/index.js.map +1 -1
  230. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +7 -5
  231. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  232. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +16 -12
  233. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  234. package/build-module/components/template-actions/index.js +2 -1
  235. package/build-module/components/template-actions/index.js.map +1 -1
  236. package/build-module/components/template-actions/rename-menu-item.js +11 -8
  237. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  238. package/build-module/components/use-edited-entity-record/index.js +3 -1
  239. package/build-module/components/use-edited-entity-record/index.js.map +1 -1
  240. package/build-module/hooks/commands/use-common-commands.js +74 -20
  241. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  242. package/build-module/hooks/push-changes-to-global-styles/index.js +57 -10
  243. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  244. package/build-module/store/private-actions.js +7 -1
  245. package/build-module/store/private-actions.js.map +1 -1
  246. package/build-module/utils/normalize-record-key.js +12 -0
  247. package/build-module/utils/normalize-record-key.js.map +1 -0
  248. package/build-module/utils/use-activate-theme.js +1 -1
  249. package/build-module/utils/use-activate-theme.js.map +1 -1
  250. package/build-style/style-rtl.css +221 -63
  251. package/build-style/style.css +221 -63
  252. package/package.json +39 -40
  253. package/src/components/add-new-page/index.js +0 -3
  254. package/src/components/add-new-pattern/index.js +23 -12
  255. package/src/components/add-new-template/utils.js +9 -6
  256. package/src/components/block-editor/constants.js +5 -1
  257. package/src/components/block-editor/editor-canvas.js +1 -1
  258. package/src/components/block-editor/index.js +0 -4
  259. package/src/components/block-editor/use-site-editor-settings.js +99 -20
  260. package/src/components/canvas-spinner/style.scss +14 -0
  261. package/src/components/code-editor/index.js +51 -33
  262. package/src/components/create-pattern-modal/index.js +5 -2
  263. package/src/components/editor/index.js +2 -2
  264. package/src/components/header-edit-mode/document-actions/style.scss +4 -0
  265. package/src/components/header-edit-mode/index.js +29 -22
  266. package/src/components/layout/index.js +16 -2
  267. package/src/components/layout/style.scss +2 -1
  268. package/src/components/page-actions/index.js +2 -2
  269. package/src/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +9 -22
  270. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +12 -3
  271. package/src/components/page-patterns/duplicate-menu-item.js +196 -0
  272. package/src/components/page-patterns/grid-item.js +189 -133
  273. package/src/components/page-patterns/grid.js +3 -20
  274. package/src/components/page-patterns/header.js +69 -0
  275. package/src/components/page-patterns/index.js +6 -1
  276. package/src/components/page-patterns/pagination.js +80 -0
  277. package/src/components/page-patterns/patterns-list.js +160 -72
  278. package/src/components/page-patterns/rename-menu-item.js +115 -0
  279. package/src/components/page-patterns/style.scss +140 -30
  280. package/src/components/page-patterns/use-patterns.js +102 -172
  281. package/src/components/page-template-parts/add-new-template-part.js +57 -0
  282. package/src/components/page-template-parts/index.js +3 -22
  283. package/src/components/resizable-frame/index.js +102 -34
  284. package/src/components/resizable-frame/style.scss +9 -9
  285. package/src/components/save-panel/index.js +10 -4
  286. package/src/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
  287. package/src/components/sidebar-edit-mode/page-panels/page-status.js +2 -5
  288. package/src/components/sidebar-navigation-item/style.scss +5 -12
  289. package/src/components/sidebar-navigation-screen/index.js +14 -7
  290. package/src/components/sidebar-navigation-screen/style.scss +14 -0
  291. package/src/components/sidebar-navigation-screen-main/index.js +44 -40
  292. package/src/components/sidebar-navigation-screen-main/template-part-hint.js +34 -0
  293. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +4 -3
  294. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  295. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +1 -1
  296. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +15 -5
  297. package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  298. package/src/components/sidebar-navigation-screen-page/index.js +3 -3
  299. package/src/components/sidebar-navigation-screen-page/status-label.js +1 -35
  300. package/src/components/sidebar-navigation-screen-pages/index.js +39 -29
  301. package/src/components/sidebar-navigation-screen-pattern/index.js +5 -2
  302. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
  303. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +2 -1
  304. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +12 -2
  305. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +5 -2
  306. package/src/components/sidebar-navigation-screen-patterns/index.js +103 -98
  307. package/src/components/sidebar-navigation-screen-patterns/style.scss +20 -0
  308. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +7 -6
  309. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +9 -0
  310. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +31 -9
  311. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
  312. package/src/components/site-hub/index.js +45 -28
  313. package/src/components/site-hub/style.scss +13 -0
  314. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +8 -2
  315. package/src/components/sync-state-with-url/use-sync-path-with-url.js +73 -66
  316. package/src/components/template-actions/index.js +2 -1
  317. package/src/components/template-actions/rename-menu-item.js +17 -10
  318. package/src/components/use-edited-entity-record/index.js +6 -1
  319. package/src/hooks/commands/use-common-commands.js +56 -23
  320. package/src/hooks/push-changes-to-global-styles/index.js +63 -9
  321. package/src/store/private-actions.js +5 -1
  322. package/src/style.scss +10 -12
  323. package/src/utils/normalize-record-key.js +11 -0
  324. package/src/utils/use-activate-theme.js +1 -1
  325. package/build/components/code-editor/code-editor-text-area.js +0 -96
  326. package/build/components/code-editor/code-editor-text-area.js.map +0 -1
  327. package/build/components/keyboard-shortcuts/index.js +0 -148
  328. package/build/components/keyboard-shortcuts/index.js.map +0 -1
  329. package/build/components/page-actions/delete-page-menu-item.js.map +0 -1
  330. package/build/components/page-content-focus-manager/constants.js +0 -9
  331. package/build/components/page-content-focus-manager/constants.js.map +0 -1
  332. package/build-module/components/code-editor/code-editor-text-area.js +0 -84
  333. package/build-module/components/code-editor/code-editor-text-area.js.map +0 -1
  334. package/build-module/components/keyboard-shortcuts/index.js +0 -132
  335. package/build-module/components/keyboard-shortcuts/index.js.map +0 -1
  336. package/build-module/components/page-actions/delete-page-menu-item.js.map +0 -1
  337. package/build-module/components/page-content-focus-manager/constants.js +0 -2
  338. package/build-module/components/page-content-focus-manager/constants.js.map +0 -1
  339. package/src/components/code-editor/code-editor-text-area.js +0 -84
  340. package/src/components/keyboard-shortcuts/index.js +0 -137
  341. package/src/components/page-content-focus-manager/constants.js +0 -5
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useSelect } from '@wordpress/data';
4
+ import { useDispatch, useSelect } from '@wordpress/data';
5
5
  import { useMemo } from '@wordpress/element';
6
6
  import { store as coreStore } from '@wordpress/core-data';
7
7
  /**
@@ -11,22 +11,78 @@ import { store as coreStore } from '@wordpress/core-data';
11
11
  import { store as editSiteStore } from '../../store';
12
12
  import { unlock } from '../../lock-unlock';
13
13
  import inserterMediaCategories from './inserter-media-categories';
14
- export default function useSiteEditorSettings(templateType) {
14
+
15
+ function useArchiveLabel(templateSlug) {
16
+ const taxonomyMatches = templateSlug?.match(/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/);
17
+ let taxonomy;
18
+ let term;
19
+
20
+ if (taxonomyMatches) {
21
+ // If is for a all taxonomies of a type
22
+ if (taxonomyMatches[1]) {
23
+ taxonomy = taxonomyMatches[2] ? taxonomyMatches[2] : taxonomyMatches[1];
24
+ } // If is for a all taxonomies of a type
25
+ else if (taxonomyMatches[3]) {
26
+ taxonomy = taxonomyMatches[6] ? taxonomyMatches[6] : taxonomyMatches[4];
27
+ term = taxonomyMatches[7];
28
+ }
29
+
30
+ taxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy; //getTaxonomy( 'category' );
31
+ //wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );
32
+ }
33
+
34
+ return useSelect(select => {
35
+ const {
36
+ getEntityRecords,
37
+ getTaxonomy
38
+ } = select(coreStore);
39
+ let archiveTypeLabel;
40
+ let archiveNameLabel;
41
+
42
+ if (taxonomy) {
43
+ archiveTypeLabel = getTaxonomy(taxonomy)?.labels?.singular_name;
44
+ }
45
+
46
+ if (term) {
47
+ const records = getEntityRecords('taxonomy', taxonomy, {
48
+ slug: term,
49
+ per_page: 1
50
+ });
51
+
52
+ if (records && records[0]) {
53
+ archiveNameLabel = records[0].name;
54
+ }
55
+ }
56
+
57
+ return {
58
+ archiveTypeLabel,
59
+ archiveNameLabel
60
+ };
61
+ }, [taxonomy, term]);
62
+ }
63
+
64
+ export default function useSiteEditorSettings() {
15
65
  var _storedSettings$__exp, _storedSettings$__exp2;
16
66
 
67
+ const {
68
+ setIsInserterOpened
69
+ } = useDispatch(editSiteStore);
17
70
  const {
18
71
  storedSettings,
19
- canvasMode
72
+ canvasMode,
73
+ templateType
20
74
  } = useSelect(select => {
21
75
  const {
22
76
  getSettings,
23
- getCanvasMode
77
+ getCanvasMode,
78
+ getEditedPostType
24
79
  } = unlock(select(editSiteStore));
25
80
  return {
26
- storedSettings: getSettings(),
27
- canvasMode: getCanvasMode()
81
+ storedSettings: getSettings(setIsInserterOpened),
82
+ canvasMode: getCanvasMode(),
83
+ templateType: getEditedPostType()
28
84
  };
29
- }, []);
85
+ }, [setIsInserterOpened]);
30
86
  const settingsBlockPatterns = (_storedSettings$__exp = storedSettings.__experimentalAdditionalBlockPatterns) !== null && _storedSettings$__exp !== void 0 ? _storedSettings$__exp : // WP 6.0
31
87
  storedSettings.__experimentalBlockPatterns; // WP 5.9
32
88
 
@@ -35,11 +91,28 @@ export default function useSiteEditorSettings(templateType) {
35
91
 
36
92
  const {
37
93
  restBlockPatterns,
38
- restBlockPatternCategories
39
- } = useSelect(select => ({
40
- restBlockPatterns: select(coreStore).getBlockPatterns(),
41
- restBlockPatternCategories: select(coreStore).getBlockPatternCategories()
42
- }), []);
94
+ restBlockPatternCategories,
95
+ templateSlug
96
+ } = useSelect(select => {
97
+ const {
98
+ getEditedPostType,
99
+ getEditedPostId
100
+ } = select(editSiteStore);
101
+ const {
102
+ getEditedEntityRecord
103
+ } = select(coreStore);
104
+ const usedPostType = getEditedPostType();
105
+ const usedPostId = getEditedPostId();
106
+
107
+ const _record = getEditedEntityRecord('postType', usedPostType, usedPostId);
108
+
109
+ return {
110
+ restBlockPatterns: select(coreStore).getBlockPatterns(),
111
+ restBlockPatternCategories: select(coreStore).getBlockPatternCategories(),
112
+ templateSlug: _record.slug
113
+ };
114
+ }, []);
115
+ const archiveLabels = useArchiveLabel(templateSlug);
43
116
  const blockPatterns = useMemo(() => [...(settingsBlockPatterns || []), ...(restBlockPatterns || [])].filter((x, index, arr) => index === arr.findIndex(y => x.name === y.name)).filter(({
44
117
  postTypes
45
118
  }) => {
@@ -57,8 +130,10 @@ export default function useSiteEditorSettings(templateType) {
57
130
  inserterMediaCategories,
58
131
  __experimentalBlockPatterns: blockPatterns,
59
132
  __experimentalBlockPatternCategories: blockPatternCategories,
60
- focusMode: canvasMode === 'view' && focusMode ? false : focusMode
133
+ focusMode: canvasMode === 'view' && focusMode ? false : focusMode,
134
+ __experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,
135
+ __experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel
61
136
  };
62
- }, [storedSettings, blockPatterns, blockPatternCategories, canvasMode]);
137
+ }, [storedSettings, blockPatterns, blockPatternCategories, canvasMode, archiveLabels.archiveTypeLabel, archiveLabels.archiveNameLabel]);
63
138
  }
64
139
  //# sourceMappingURL=use-site-editor-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"names":["useSelect","useMemo","store","coreStore","editSiteStore","unlock","inserterMediaCategories","useSiteEditorSettings","templateType","storedSettings","canvasMode","select","getSettings","getCanvasMode","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","getBlockPatterns","getBlockPatternCategories","blockPatterns","filter","x","index","arr","findIndex","y","name","postTypes","Array","isArray","includes","blockPatternCategories","focusMode","restStoredSettings"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport inserterMediaCategories from './inserter-media-categories';\n\nexport default function useSiteEditorSettings( templateType ) {\n\tconst { storedSettings, canvasMode } = useSelect( ( select ) => {\n\t\tconst { getSettings, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\treturn {\n\t\t\tstoredSettings: getSettings(),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t};\n\t}, [] );\n\n\tconst settingsBlockPatterns =\n\t\tstoredSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tstoredSettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst { restBlockPatterns, restBlockPatternCategories } = useSelect(\n\t\t( select ) => ( {\n\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\trestBlockPatternCategories:\n\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t} ),\n\t\t[]\n\t);\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t]\n\t\t\t\t.filter(\n\t\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t\t)\n\t\t\t\t.filter( ( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( templateType ) )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t[ settingsBlockPatterns, restBlockPatterns, templateType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\treturn useMemo( () => {\n\t\tconst {\n\t\t\t__experimentalAdditionalBlockPatterns,\n\t\t\t__experimentalAdditionalBlockPatternCategories,\n\t\t\tfocusMode,\n\t\t\t...restStoredSettings\n\t\t} = storedSettings;\n\n\t\treturn {\n\t\t\t...restStoredSettings,\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\tfocusMode: canvasMode === 'view' && focusMode ? false : focusMode,\n\t\t};\n\t}, [ storedSettings, blockPatterns, blockPatternCategories, canvasMode ] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"names":["useDispatch","useSelect","useMemo","store","coreStore","editSiteStore","unlock","inserterMediaCategories","useArchiveLabel","templateSlug","taxonomyMatches","match","taxonomy","term","select","getEntityRecords","getTaxonomy","archiveTypeLabel","archiveNameLabel","labels","singular_name","records","slug","per_page","name","useSiteEditorSettings","setIsInserterOpened","storedSettings","canvasMode","templateType","getSettings","getCanvasMode","getEditedPostType","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","getEditedPostId","getEditedEntityRecord","usedPostType","usedPostId","_record","getBlockPatterns","getBlockPatternCategories","archiveLabels","blockPatterns","filter","x","index","arr","findIndex","y","postTypes","Array","isArray","includes","blockPatternCategories","focusMode","restStoredSettings","__experimentalArchiveTitleTypeLabel","__experimentalArchiveTitleNameLabel"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport inserterMediaCategories from './inserter-media-categories';\n\nfunction useArchiveLabel( templateSlug ) {\n\tconst taxonomyMatches = templateSlug?.match(\n\t\t/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/\n\t);\n\tlet taxonomy;\n\tlet term;\n\tif ( taxonomyMatches ) {\n\t\t// If is for a all taxonomies of a type\n\t\tif ( taxonomyMatches[ 1 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 2 ]\n\t\t\t\t? taxonomyMatches[ 2 ]\n\t\t\t\t: taxonomyMatches[ 1 ];\n\t\t}\n\t\t// If is for a all taxonomies of a type\n\t\telse if ( taxonomyMatches[ 3 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 6 ]\n\t\t\t\t? taxonomyMatches[ 6 ]\n\t\t\t\t: taxonomyMatches[ 4 ];\n\t\t\tterm = taxonomyMatches[ 7 ];\n\t\t}\n\t\ttaxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;\n\n\t\t//getTaxonomy( 'category' );\n\t\t//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );\n\t}\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy } = select( coreStore );\n\t\t\tlet archiveTypeLabel;\n\t\t\tlet archiveNameLabel;\n\t\t\tif ( taxonomy ) {\n\t\t\t\tarchiveTypeLabel =\n\t\t\t\t\tgetTaxonomy( taxonomy )?.labels?.singular_name;\n\t\t\t}\n\t\t\tif ( term ) {\n\t\t\t\tconst records = getEntityRecords( 'taxonomy', taxonomy, {\n\t\t\t\t\tslug: term,\n\t\t\t\t\tper_page: 1,\n\t\t\t\t} );\n\t\t\t\tif ( records && records[ 0 ] ) {\n\t\t\t\t\tarchiveNameLabel = records[ 0 ].name;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchiveTypeLabel,\n\t\t\t\tarchiveNameLabel,\n\t\t\t};\n\t\t},\n\t\t[ taxonomy, term ]\n\t);\n}\n\nexport default function useSiteEditorSettings() {\n\tconst { setIsInserterOpened } = useDispatch( editSiteStore );\n\tconst { storedSettings, canvasMode, templateType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings, getCanvasMode, getEditedPostType } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tstoredSettings: getSettings( setIsInserterOpened ),\n\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\ttemplateType: getEditedPostType(),\n\t\t\t};\n\t\t},\n\t\t[ setIsInserterOpened ]\n\t);\n\n\tconst settingsBlockPatterns =\n\t\tstoredSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tstoredSettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst { restBlockPatterns, restBlockPatternCategories, templateSlug } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEditedPostType, getEditedPostId } =\n\t\t\t\tselect( editSiteStore );\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst usedPostType = getEditedPostType();\n\t\t\tconst usedPostId = getEditedPostId();\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tusedPostType,\n\t\t\t\tusedPostId\n\t\t\t);\n\t\t\treturn {\n\t\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\t\trestBlockPatternCategories:\n\t\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t\t\ttemplateSlug: _record.slug,\n\t\t\t};\n\t\t}, [] );\n\tconst archiveLabels = useArchiveLabel( templateSlug );\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t]\n\t\t\t\t.filter(\n\t\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t\t)\n\t\t\t\t.filter( ( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( templateType ) )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t[ settingsBlockPatterns, restBlockPatterns, templateType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\treturn useMemo( () => {\n\t\tconst {\n\t\t\t__experimentalAdditionalBlockPatterns,\n\t\t\t__experimentalAdditionalBlockPatternCategories,\n\t\t\tfocusMode,\n\t\t\t...restStoredSettings\n\t\t} = storedSettings;\n\n\t\treturn {\n\t\t\t...restStoredSettings,\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\tfocusMode: canvasMode === 'view' && focusMode ? false : focusMode,\n\t\t\t__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,\n\t\t\t__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,\n\t\t};\n\t}, [\n\t\tstoredSettings,\n\t\tblockPatterns,\n\t\tblockPatternCategories,\n\t\tcanvasMode,\n\t\tarchiveLabels.archiveTypeLabel,\n\t\tarchiveLabels.archiveNameLabel,\n\t] );\n}\n"]}
@@ -1,54 +1,77 @@
1
1
  import { createElement } from "@wordpress/element";
2
2
 
3
+ /**
4
+ * External dependencies
5
+ */
6
+ import Textarea from 'react-autosize-textarea';
3
7
  /**
4
8
  * WordPress dependencies
5
9
  */
6
- import { parse, __unstableSerializeAndClean } from '@wordpress/blocks';
7
- import { useEntityBlockEditor, useEntityProp } from '@wordpress/core-data';
10
+
11
+ import { __unstableSerializeAndClean } from '@wordpress/blocks';
12
+ import { store as coreStore } from '@wordpress/core-data';
8
13
  import { useSelect, useDispatch } from '@wordpress/data';
9
14
  import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
10
15
  import { __ } from '@wordpress/i18n';
11
- import { Button } from '@wordpress/components';
16
+ import { Button, VisuallyHidden } from '@wordpress/components';
17
+ import { useMemo } from '@wordpress/element';
18
+ import { useInstanceId } from '@wordpress/compose';
12
19
  /**
13
20
  * Internal dependencies
14
21
  */
15
22
 
16
23
  import { store as editSiteStore } from '../../store';
17
- import CodeEditorTextArea from './code-editor-text-area';
18
24
  export default function CodeEditor() {
25
+ const instanceId = useInstanceId(CodeEditor);
19
26
  const {
20
- templateType,
21
- shortcut
27
+ shortcut,
28
+ content,
29
+ blocks,
30
+ type,
31
+ id
22
32
  } = useSelect(select => {
23
33
  const {
24
- getEditedPostType
34
+ getEditedEntityRecord
35
+ } = select(coreStore);
36
+ const {
37
+ getEditedPostType,
38
+ getEditedPostId
25
39
  } = select(editSiteStore);
26
40
  const {
27
41
  getShortcutRepresentation
28
42
  } = select(keyboardShortcutsStore);
43
+
44
+ const _type = getEditedPostType();
45
+
46
+ const _id = getEditedPostId();
47
+
48
+ const editedRecord = getEditedEntityRecord('postType', _type, _id);
29
49
  return {
30
- templateType: getEditedPostType(),
31
- shortcut: getShortcutRepresentation('core/edit-site/toggle-mode')
50
+ shortcut: getShortcutRepresentation('core/edit-site/toggle-mode'),
51
+ content: editedRecord?.content,
52
+ blocks: editedRecord?.blocks,
53
+ type: _type,
54
+ id: _id
32
55
  };
33
56
  }, []);
34
- const [contentStructure, setContent] = useEntityProp('postType', templateType, 'content');
35
- const [blocks,, onChange] = useEntityBlockEditor('postType', templateType); // Replicates the logic found in getEditedPostContent().
36
-
37
- let content;
57
+ const {
58
+ editEntityRecord
59
+ } = useDispatch(coreStore); // Replicates the logic found in getEditedPostContent().
38
60
 
39
- if (contentStructure instanceof Function) {
40
- content = contentStructure({
41
- blocks
42
- });
43
- } else if (blocks) {
44
- // If we have parsed blocks already, they should be our source of truth.
45
- // Parsing applies block deprecations and legacy block conversions that
46
- // unparsed content will not have.
47
- content = __unstableSerializeAndClean(blocks);
48
- } else {
49
- content = contentStructure;
50
- }
61
+ const realContent = useMemo(() => {
62
+ if (content instanceof Function) {
63
+ return content({
64
+ blocks
65
+ });
66
+ } else if (blocks) {
67
+ // If we have parsed blocks already, they should be our source of truth.
68
+ // Parsing applies block deprecations and legacy block conversions that
69
+ // unparsed content will not have.
70
+ return __unstableSerializeAndClean(blocks);
71
+ }
51
72
 
73
+ return content;
74
+ }, [content, blocks]);
52
75
  const {
53
76
  switchEditorMode
54
77
  } = useDispatch(editSiteStore);
@@ -62,14 +85,23 @@ export default function CodeEditor() {
62
85
  shortcut: shortcut
63
86
  }, __('Exit code editor'))), createElement("div", {
64
87
  className: "edit-site-code-editor__body"
65
- }, createElement(CodeEditorTextArea, {
66
- value: content,
67
- onChange: newContent => {
68
- onChange(parse(newContent), {
88
+ }, createElement(VisuallyHidden, {
89
+ as: "label",
90
+ htmlFor: `code-editor-text-area-${instanceId}`
91
+ }, __('Type text or HTML')), createElement(Textarea, {
92
+ autoComplete: "off",
93
+ dir: "auto",
94
+ value: realContent,
95
+ onChange: event => {
96
+ editEntityRecord('postType', type, id, {
97
+ content: event.target.value,
98
+ blocks: undefined,
69
99
  selection: undefined
70
100
  });
71
101
  },
72
- onInput: setContent
102
+ className: "edit-site-code-editor-text-area",
103
+ id: `code-editor-text-area-${instanceId}`,
104
+ placeholder: __('Start writing with text or HTML')
73
105
  })));
74
106
  }
75
107
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/code-editor/index.js"],"names":["parse","__unstableSerializeAndClean","useEntityBlockEditor","useEntityProp","useSelect","useDispatch","store","keyboardShortcutsStore","__","Button","editSiteStore","CodeEditorTextArea","CodeEditor","templateType","shortcut","select","getEditedPostType","getShortcutRepresentation","contentStructure","setContent","blocks","onChange","content","Function","switchEditorMode","newContent","selection","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,KAAT,EAAgBC,2BAAhB,QAAmD,mBAAnD;AACA,SAASC,oBAAT,EAA+BC,aAA/B,QAAoD,sBAApD;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,KAAK,IAAIC,sBAAlB,QAAgD,+BAAhD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAT,QAAuB,uBAAvB;AAEA;AACA;AACA;;AACA,SAASH,KAAK,IAAII,aAAlB,QAAuC,aAAvC;AACA,OAAOC,kBAAP,MAA+B,yBAA/B;AAEA,eAAe,SAASC,UAAT,GAAsB;AACpC,QAAM;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,MAA6BV,SAAS,CAAIW,MAAF,IAAc;AAC3D,UAAM;AAAEC,MAAAA;AAAF,QAAwBD,MAAM,CAAEL,aAAF,CAApC;AACA,UAAM;AAAEO,MAAAA;AAAF,QAAgCF,MAAM,CAAER,sBAAF,CAA5C;AACA,WAAO;AACNM,MAAAA,YAAY,EAAEG,iBAAiB,EADzB;AAENF,MAAAA,QAAQ,EAAEG,yBAAyB,CAAE,4BAAF;AAF7B,KAAP;AAIA,GAP2C,EAOzC,EAPyC,CAA5C;AAQA,QAAM,CAAEC,gBAAF,EAAoBC,UAApB,IAAmChB,aAAa,CACrD,UADqD,EAErDU,YAFqD,EAGrD,SAHqD,CAAtD;AAKA,QAAM,CAAEO,MAAF,GAAYC,QAAZ,IAAyBnB,oBAAoB,CAClD,UADkD,EAElDW,YAFkD,CAAnD,CAdoC,CAmBpC;;AACA,MAAIS,OAAJ;;AACA,MAAKJ,gBAAgB,YAAYK,QAAjC,EAA4C;AAC3CD,IAAAA,OAAO,GAAGJ,gBAAgB,CAAE;AAAEE,MAAAA;AAAF,KAAF,CAA1B;AACA,GAFD,MAEO,IAAKA,MAAL,EAAc;AACpB;AACA;AACA;AACAE,IAAAA,OAAO,GAAGrB,2BAA2B,CAAEmB,MAAF,CAArC;AACA,GALM,MAKA;AACNE,IAAAA,OAAO,GAAGJ,gBAAV;AACA;;AAED,QAAM;AAAEM,IAAAA;AAAF,MAAuBnB,WAAW,CAAEK,aAAF,CAAxC;AACA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,0BAAMF,EAAE,CAAE,cAAF,CAAR,CADD,EAEC,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAG,MAAMgB,gBAAgB,CAAE,QAAF,CAFjC;AAGC,IAAA,QAAQ,EAAGV;AAHZ,KAKGN,EAAE,CAAE,kBAAF,CALL,CAFD,CADD,EAWC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,kBAAD;AACC,IAAA,KAAK,EAAGc,OADT;AAEC,IAAA,QAAQ,EAAKG,UAAF,IAAkB;AAC5BJ,MAAAA,QAAQ,CAAErB,KAAK,CAAEyB,UAAF,CAAP,EAAuB;AAC9BC,QAAAA,SAAS,EAAEC;AADmB,OAAvB,CAAR;AAGA,KANF;AAOC,IAAA,OAAO,EAAGR;AAPX,IADD,CAXD,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { parse, __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { useEntityBlockEditor, useEntityProp } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport CodeEditorTextArea from './code-editor-text-area';\n\nexport default function CodeEditor() {\n\tconst { templateType, shortcut } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType } = select( editSiteStore );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\treturn {\n\t\t\ttemplateType: getEditedPostType(),\n\t\t\tshortcut: getShortcutRepresentation( 'core/edit-site/toggle-mode' ),\n\t\t};\n\t}, [] );\n\tconst [ contentStructure, setContent ] = useEntityProp(\n\t\t'postType',\n\t\ttemplateType,\n\t\t'content'\n\t);\n\tconst [ blocks, , onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\ttemplateType\n\t);\n\n\t// Replicates the logic found in getEditedPostContent().\n\tlet content;\n\tif ( contentStructure instanceof Function ) {\n\t\tcontent = contentStructure( { blocks } );\n\t} else if ( blocks ) {\n\t\t// If we have parsed blocks already, they should be our source of truth.\n\t\t// Parsing applies block deprecations and legacy block conversions that\n\t\t// unparsed content will not have.\n\t\tcontent = __unstableSerializeAndClean( blocks );\n\t} else {\n\t\tcontent = contentStructure;\n\t}\n\n\tconst { switchEditorMode } = useDispatch( editSiteStore );\n\treturn (\n\t\t<div className=\"edit-site-code-editor\">\n\t\t\t<div className=\"edit-site-code-editor__toolbar\">\n\t\t\t\t<h2>{ __( 'Editing code' ) }</h2>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => switchEditorMode( 'visual' ) }\n\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Exit code editor' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t\t<div className=\"edit-site-code-editor__body\">\n\t\t\t\t<CodeEditorTextArea\n\t\t\t\t\tvalue={ content }\n\t\t\t\t\tonChange={ ( newContent ) => {\n\t\t\t\t\t\tonChange( parse( newContent ), {\n\t\t\t\t\t\t\tselection: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tonInput={ setContent }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/code-editor/index.js"],"names":["Textarea","__unstableSerializeAndClean","store","coreStore","useSelect","useDispatch","keyboardShortcutsStore","__","Button","VisuallyHidden","useMemo","useInstanceId","editSiteStore","CodeEditor","instanceId","shortcut","content","blocks","type","id","select","getEditedEntityRecord","getEditedPostType","getEditedPostId","getShortcutRepresentation","_type","_id","editedRecord","editEntityRecord","realContent","Function","switchEditorMode","event","target","value","undefined","selection"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport Textarea from 'react-autosize-textarea';\n\n/**\n * WordPress dependencies\n */\nimport { __unstableSerializeAndClean } from '@wordpress/blocks';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\nimport { Button, VisuallyHidden } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\nexport default function CodeEditor() {\n\tconst instanceId = useInstanceId( CodeEditor );\n\tconst { shortcut, content, blocks, type, id } = useSelect( ( select ) => {\n\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\tconst { getEditedPostType, getEditedPostId } = select( editSiteStore );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\tconst _type = getEditedPostType();\n\t\tconst _id = getEditedPostId();\n\t\tconst editedRecord = getEditedEntityRecord( 'postType', _type, _id );\n\n\t\treturn {\n\t\t\tshortcut: getShortcutRepresentation( 'core/edit-site/toggle-mode' ),\n\t\t\tcontent: editedRecord?.content,\n\t\t\tblocks: editedRecord?.blocks,\n\t\t\ttype: _type,\n\t\t\tid: _id,\n\t\t};\n\t}, [] );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\t// Replicates the logic found in getEditedPostContent().\n\tconst realContent = useMemo( () => {\n\t\tif ( content instanceof Function ) {\n\t\t\treturn content( { blocks } );\n\t\t} else if ( blocks ) {\n\t\t\t// If we have parsed blocks already, they should be our source of truth.\n\t\t\t// Parsing applies block deprecations and legacy block conversions that\n\t\t\t// unparsed content will not have.\n\t\t\treturn __unstableSerializeAndClean( blocks );\n\t\t}\n\t\treturn content;\n\t}, [ content, blocks ] );\n\n\tconst { switchEditorMode } = useDispatch( editSiteStore );\n\treturn (\n\t\t<div className=\"edit-site-code-editor\">\n\t\t\t<div className=\"edit-site-code-editor__toolbar\">\n\t\t\t\t<h2>{ __( 'Editing code' ) }</h2>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ () => switchEditorMode( 'visual' ) }\n\t\t\t\t\tshortcut={ shortcut }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Exit code editor' ) }\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t\t<div className=\"edit-site-code-editor__body\">\n\t\t\t\t<VisuallyHidden\n\t\t\t\t\tas=\"label\"\n\t\t\t\t\thtmlFor={ `code-editor-text-area-${ instanceId }` }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Type text or HTML' ) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<Textarea\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tdir=\"auto\"\n\t\t\t\t\tvalue={ realContent }\n\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\teditEntityRecord( 'postType', type, id, {\n\t\t\t\t\t\t\tcontent: event.target.value,\n\t\t\t\t\t\t\tblocks: undefined,\n\t\t\t\t\t\t\tselection: undefined,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tclassName=\"edit-site-code-editor-text-area\"\n\t\t\t\t\tid={ `code-editor-text-area-${ instanceId }` }\n\t\t\t\t\tplaceholder={ __( 'Start writing with text or HTML' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"]}
@@ -9,15 +9,18 @@ import { __ } from '@wordpress/i18n';
9
9
  import { useState } from '@wordpress/element';
10
10
  import { store as noticesStore } from '@wordpress/notices';
11
11
  import { useDispatch } from '@wordpress/data';
12
+ import { serialize } from '@wordpress/blocks';
12
13
  /**
13
14
  * Internal dependencies
14
15
  */
15
16
 
16
17
  import { SYNC_TYPES, USER_PATTERN_CATEGORY } from '../page-patterns/utils';
17
18
  export default function CreatePatternModal({
19
+ blocks = [],
18
20
  closeModal,
19
21
  onCreate,
20
- onError
22
+ onError,
23
+ title
21
24
  }) {
22
25
  const [name, setName] = useState('');
23
26
  const [syncType, setSyncType] = useState(SYNC_TYPES.unsynced);
@@ -45,7 +48,7 @@ export default function CreatePatternModal({
45
48
  try {
46
49
  const pattern = await saveEntityRecord('postType', 'wp_block', {
47
50
  title: name || __('Untitled Pattern'),
48
- content: '',
51
+ content: blocks?.length ? serialize(blocks) : '',
49
52
  status: 'publish',
50
53
  meta: syncType === SYNC_TYPES.unsynced ? {
51
54
  wp_pattern_sync_status: syncType
@@ -67,7 +70,7 @@ export default function CreatePatternModal({
67
70
  }
68
71
 
69
72
  return createElement(Modal, {
70
- title: __('Create pattern'),
73
+ title: title || __('Create pattern'),
71
74
  onRequestClose: closeModal,
72
75
  overlayClassName: "edit-site-create-pattern-modal"
73
76
  }, createElement("form", {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/create-pattern-modal/index.js"],"names":["TextControl","Button","Modal","ToggleControl","__experimentalHStack","HStack","__experimentalVStack","VStack","store","coreStore","__","useState","noticesStore","useDispatch","SYNC_TYPES","USER_PATTERN_CATEGORY","CreatePatternModal","closeModal","onCreate","onError","name","setName","syncType","setSyncType","unsynced","isSubmitting","setIsSubmitting","onSyncChange","full","createErrorNotice","saveEntityRecord","createPattern","type","pattern","title","content","status","meta","wp_pattern_sync_status","undefined","throwOnError","categoryId","error","errorMessage","message","code","event","preventDefault"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tTextControl,\n\tButton,\n\tModal,\n\tToggleControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { SYNC_TYPES, USER_PATTERN_CATEGORY } from '../page-patterns/utils';\n\nexport default function CreatePatternModal( {\n\tcloseModal,\n\tonCreate,\n\tonError,\n} ) {\n\tconst [ name, setName ] = useState( '' );\n\tconst [ syncType, setSyncType ] = useState( SYNC_TYPES.unsynced );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\n\tconst onSyncChange = () => {\n\t\tsetSyncType(\n\t\t\tsyncType === SYNC_TYPES.full ? SYNC_TYPES.unsynced : SYNC_TYPES.full\n\t\t);\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tasync function createPattern() {\n\t\tif ( ! name ) {\n\t\t\tcreateErrorNotice( __( 'Please enter a pattern name.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst pattern = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\t{\n\t\t\t\t\ttitle: name || __( 'Untitled Pattern' ),\n\t\t\t\t\tcontent: '',\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\tmeta:\n\t\t\t\t\t\tsyncType === SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t? { wp_pattern_sync_status: syncType }\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tonCreate( { pattern, categoryId: USER_PATTERN_CATEGORY } );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the pattern.' );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\tonError();\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Create pattern' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t\toverlayClassName=\"edit-site-create-pattern-modal\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! name ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tsetIsSubmitting( true );\n\t\t\t\t\tawait createPattern();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"4\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tclassName=\"edit-site-create-pattern-modal__input\"\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tonChange={ setName }\n\t\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tvalue={ name }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Keep all pattern instances in sync' ) }\n\t\t\t\t\t\tonChange={ onSyncChange }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Editing the original pattern will also update anywhere the pattern is used.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ syncType === SYNC_TYPES.full }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tdisabled={ ! name }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/create-pattern-modal/index.js"],"names":["TextControl","Button","Modal","ToggleControl","__experimentalHStack","HStack","__experimentalVStack","VStack","store","coreStore","__","useState","noticesStore","useDispatch","serialize","SYNC_TYPES","USER_PATTERN_CATEGORY","CreatePatternModal","blocks","closeModal","onCreate","onError","title","name","setName","syncType","setSyncType","unsynced","isSubmitting","setIsSubmitting","onSyncChange","full","createErrorNotice","saveEntityRecord","createPattern","type","pattern","content","length","status","meta","wp_pattern_sync_status","undefined","throwOnError","categoryId","error","errorMessage","message","code","event","preventDefault"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tTextControl,\n\tButton,\n\tModal,\n\tToggleControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { serialize } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { SYNC_TYPES, USER_PATTERN_CATEGORY } from '../page-patterns/utils';\n\nexport default function CreatePatternModal( {\n\tblocks = [],\n\tcloseModal,\n\tonCreate,\n\tonError,\n\ttitle,\n} ) {\n\tconst [ name, setName ] = useState( '' );\n\tconst [ syncType, setSyncType ] = useState( SYNC_TYPES.unsynced );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\n\tconst onSyncChange = () => {\n\t\tsetSyncType(\n\t\t\tsyncType === SYNC_TYPES.full ? SYNC_TYPES.unsynced : SYNC_TYPES.full\n\t\t);\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\n\tasync function createPattern() {\n\t\tif ( ! name ) {\n\t\t\tcreateErrorNotice( __( 'Please enter a pattern name.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tconst pattern = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_block',\n\t\t\t\t{\n\t\t\t\t\ttitle: name || __( 'Untitled Pattern' ),\n\t\t\t\t\tcontent: blocks?.length ? serialize( blocks ) : '',\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\tmeta:\n\t\t\t\t\t\tsyncType === SYNC_TYPES.unsynced\n\t\t\t\t\t\t\t? { wp_pattern_sync_status: syncType }\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\tonCreate( { pattern, categoryId: USER_PATTERN_CATEGORY } );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the pattern.' );\n\n\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\tonError();\n\t\t}\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ title || __( 'Create pattern' ) }\n\t\t\tonRequestClose={ closeModal }\n\t\t\toverlayClassName=\"edit-site-create-pattern-modal\"\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tif ( ! name ) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tsetIsSubmitting( true );\n\t\t\t\t\tawait createPattern();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing=\"4\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tclassName=\"edit-site-create-pattern-modal__input\"\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tonChange={ setName }\n\t\t\t\t\t\tplaceholder={ __( 'My pattern' ) }\n\t\t\t\t\t\trequired\n\t\t\t\t\t\tvalue={ name }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Keep all pattern instances in sync' ) }\n\t\t\t\t\t\tonChange={ onSyncChange }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Editing the original pattern will also update anywhere the pattern is used.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ syncType === SYNC_TYPES.full }\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tdisabled={ ! name }\n\t\t\t\t\t\t\tisBusy={ isSubmitting }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"]}
@@ -62,7 +62,7 @@ const typeLabels = {
62
62
  const blockRemovalRules = {
63
63
  'core/query': __('Query Loop displays a list of posts or pages.'),
64
64
  'core/post-content': __('Post Content displays the content of a post or page.'),
65
- 'core/footnotes': __('The Footnotes block displays all footnotes found in the content. Note that any footnotes in the content will persist after removing this block.')
65
+ 'core/post-template': __('Post Template displays each post or page in a Query Loop.')
66
66
  };
67
67
  export default function Editor({
68
68
  isLoading
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["classnames","useMemo","useSelect","useDispatch","Notice","EntityProvider","store","preferencesStore","BlockContextProvider","BlockBreadcrumb","blockEditorStore","privateApis","blockEditorPrivateApis","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorNotices","EditorSnackbars","__","sprintf","SidebarComplementaryAreaFills","BlockEditor","CodeEditor","KeyboardShortcutsEditMode","InserterSidebar","ListViewSidebar","WelcomeGuide","StartTemplateOptions","editSiteStore","GlobalStylesRenderer","useTitle","CanvasSpinner","unlock","useEditedEntityRecord","SidebarFixedBottomSlot","BlockRemovalWarningModal","interfaceLabels","body","sidebar","actions","footer","typeLabels","wp_template","wp_template_part","wp_block","blockRemovalRules","Editor","isLoading","record","editedPost","getTitle","isLoaded","hasLoadedPost","id","editedPostId","type","editedPostType","context","editorMode","canvasMode","blockEditorMode","isRightSidebarOpen","isInserterOpen","isListViewOpen","showIconLabels","showBlockBreadcrumbs","hasPageContentFocus","select","getEditedPostContext","getEditorMode","getCanvasMode","isInserterOpened","isListViewOpened","_hasPageContentFocus","__unstableGetEditorMode","getActiveComplementaryArea","name","get","setEditedPostContext","isViewMode","isEditMode","showVisualEditor","shouldShowBlockBreadcrumbs","shouldShowInserter","shouldShowListView","secondarySidebarLabel","blockContext","postType","postId","nonPostFields","queryContext","page","newQueryContext","title","secondarySidebar"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Notice } from '@wordpress/components';\nimport { EntityProvider } from '@wordpress/core-data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tBlockContextProvider,\n\tBlockBreadcrumb,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { EditorNotices, EditorSnackbars } from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { SidebarComplementaryAreaFills } from '../sidebar-edit-mode';\nimport BlockEditor from '../block-editor';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcutsEditMode from '../keyboard-shortcuts/edit-mode';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport WelcomeGuide from '../welcome-guide';\nimport StartTemplateOptions from '../start-template-options';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport useTitle from '../routes/use-title';\nimport CanvasSpinner from '../canvas-spinner';\nimport { unlock } from '../../lock-unlock';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport { SidebarFixedBottomSlot } from '../sidebar-edit-mode/sidebar-fixed-bottom';\n\nconst { BlockRemovalWarningModal } = unlock( blockEditorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nconst typeLabels = {\n\twp_template: __( 'Template Part' ),\n\twp_template_part: __( 'Template Part' ),\n\twp_block: __( 'Pattern' ),\n};\n\n// Prevent accidental removal of certain blocks, asking the user for\n// confirmation.\nconst blockRemovalRules = {\n\t'core/query': __( 'Query Loop displays a list of posts or pages.' ),\n\t'core/post-content': __(\n\t\t'Post Content displays the content of a post or page.'\n\t),\n\t'core/footnotes': __(\n\t\t'The Footnotes block displays all footnotes found in the content. Note that any footnotes in the content will persist after removing this block.'\n\t),\n};\n\nexport default function Editor( { isLoading } ) {\n\tconst {\n\t\trecord: editedPost,\n\t\tgetTitle,\n\t\tisLoaded: hasLoadedPost,\n\t} = useEditedEntityRecord();\n\n\tconst { id: editedPostId, type: editedPostType } = editedPost;\n\n\tconst {\n\t\tcontext,\n\t\teditorMode,\n\t\tcanvasMode,\n\t\tblockEditorMode,\n\t\tisRightSidebarOpen,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tshowIconLabels,\n\t\tshowBlockBreadcrumbs,\n\t\thasPageContentFocus,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditedPostContext,\n\t\t\tgetEditorMode,\n\t\t\tgetCanvasMode,\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\thasPageContentFocus: _hasPageContentFocus,\n\t\t} = unlock( select( editSiteStore ) );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\tcontext: getEditedPostContext(),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisRightSidebarOpen: getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\tshowBlockBreadcrumbs: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\thasPageContentFocus: _hasPageContentFocus(),\n\t\t};\n\t}, [] );\n\tconst { setEditedPostContext } = useDispatch( editSiteStore );\n\n\tconst isViewMode = canvasMode === 'view';\n\tconst isEditMode = canvasMode === 'edit';\n\tconst showVisualEditor = isViewMode || editorMode === 'visual';\n\tconst shouldShowBlockBreadcrumbs =\n\t\tshowBlockBreadcrumbs &&\n\t\tisEditMode &&\n\t\tshowVisualEditor &&\n\t\tblockEditorMode !== 'zoom-out';\n\tconst shouldShowInserter = isEditMode && showVisualEditor && isInserterOpen;\n\tconst shouldShowListView = isEditMode && showVisualEditor && isListViewOpen;\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\tconst blockContext = useMemo( () => {\n\t\tconst { postType, postId, ...nonPostFields } = context ?? {};\n\t\treturn {\n\t\t\t...( hasPageContentFocus ? context : nonPostFields ),\n\t\t\tqueryContext: [\n\t\t\t\tcontext?.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetEditedPostContext( {\n\t\t\t\t\t\t...context,\n\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t...context?.queryContext,\n\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t};\n\t}, [ hasPageContentFocus, context, setEditedPostContext ] );\n\n\tlet title;\n\tif ( hasLoadedPost ) {\n\t\tconst type = typeLabels[ editedPostType ] ?? __( 'Template' );\n\t\ttitle = sprintf(\n\t\t\t// translators: A breadcrumb trail in browser tab. %1$s: title of template being edited, %2$s: type of template (Template or Template Part).\n\t\t\t__( '%1$s ‹ %2$s ‹ Editor' ),\n\t\t\tgetTitle(),\n\t\t\ttype\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( hasLoadedPost && title );\n\n\treturn (\n\t\t<>\n\t\t\t{ isLoading ? <CanvasSpinner /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ editedPostType }\n\t\t\t\t\tid={ editedPostId }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t{ isEditMode && <StartTemplateOptions /> }\n\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\tisDistractionFree={ true }\n\t\t\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-site-editor__interface-skeleton',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t\t\t\t\t'is-loading': isLoading,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t\t{ isEditMode && <EditorNotices /> }\n\t\t\t\t\t\t\t\t\t{ showVisualEditor && editedPost && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<BlockEditor />\n\t\t\t\t\t\t\t\t\t\t\t<BlockRemovalWarningModal\n\t\t\t\t\t\t\t\t\t\t\t\trules={ blockRemovalRules }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ editorMode === 'text' &&\n\t\t\t\t\t\t\t\t\t\teditedPost &&\n\t\t\t\t\t\t\t\t\t\tisEditMode && <CodeEditor /> }\n\t\t\t\t\t\t\t\t\t{ hasLoadedPost && ! editedPost && (\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcutsEditMode />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsecondarySidebar={\n\t\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t\t( ( shouldShowInserter && (\n\t\t\t\t\t\t\t\t\t<InserterSidebar />\n\t\t\t\t\t\t\t\t) ) ||\n\t\t\t\t\t\t\t\t\t( shouldShowListView && (\n\t\t\t\t\t\t\t\t\t\t<ListViewSidebar />\n\t\t\t\t\t\t\t\t\t) ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t\tisRightSidebarOpen && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t<SidebarFixedBottomSlot />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tfooter={\n\t\t\t\t\t\t\t\tshouldShowBlockBreadcrumbs && (\n\t\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\t\trootLabelText={\n\t\t\t\t\t\t\t\t\t\t\thasPageContentFocus\n\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Page' )\n\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Template' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabels={ {\n\t\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["classnames","useMemo","useSelect","useDispatch","Notice","EntityProvider","store","preferencesStore","BlockContextProvider","BlockBreadcrumb","blockEditorStore","privateApis","blockEditorPrivateApis","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorNotices","EditorSnackbars","__","sprintf","SidebarComplementaryAreaFills","BlockEditor","CodeEditor","KeyboardShortcutsEditMode","InserterSidebar","ListViewSidebar","WelcomeGuide","StartTemplateOptions","editSiteStore","GlobalStylesRenderer","useTitle","CanvasSpinner","unlock","useEditedEntityRecord","SidebarFixedBottomSlot","BlockRemovalWarningModal","interfaceLabels","body","sidebar","actions","footer","typeLabels","wp_template","wp_template_part","wp_block","blockRemovalRules","Editor","isLoading","record","editedPost","getTitle","isLoaded","hasLoadedPost","id","editedPostId","type","editedPostType","context","editorMode","canvasMode","blockEditorMode","isRightSidebarOpen","isInserterOpen","isListViewOpen","showIconLabels","showBlockBreadcrumbs","hasPageContentFocus","select","getEditedPostContext","getEditorMode","getCanvasMode","isInserterOpened","isListViewOpened","_hasPageContentFocus","__unstableGetEditorMode","getActiveComplementaryArea","name","get","setEditedPostContext","isViewMode","isEditMode","showVisualEditor","shouldShowBlockBreadcrumbs","shouldShowInserter","shouldShowListView","secondarySidebarLabel","blockContext","postType","postId","nonPostFields","queryContext","page","newQueryContext","title","secondarySidebar"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Notice } from '@wordpress/components';\nimport { EntityProvider } from '@wordpress/core-data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport {\n\tBlockContextProvider,\n\tBlockBreadcrumb,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { EditorNotices, EditorSnackbars } from '@wordpress/editor';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { SidebarComplementaryAreaFills } from '../sidebar-edit-mode';\nimport BlockEditor from '../block-editor';\nimport CodeEditor from '../code-editor';\nimport KeyboardShortcutsEditMode from '../keyboard-shortcuts/edit-mode';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport WelcomeGuide from '../welcome-guide';\nimport StartTemplateOptions from '../start-template-options';\nimport { store as editSiteStore } from '../../store';\nimport { GlobalStylesRenderer } from '../global-styles-renderer';\nimport useTitle from '../routes/use-title';\nimport CanvasSpinner from '../canvas-spinner';\nimport { unlock } from '../../lock-unlock';\nimport useEditedEntityRecord from '../use-edited-entity-record';\nimport { SidebarFixedBottomSlot } from '../sidebar-edit-mode/sidebar-fixed-bottom';\n\nconst { BlockRemovalWarningModal } = unlock( blockEditorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nconst typeLabels = {\n\twp_template: __( 'Template Part' ),\n\twp_template_part: __( 'Template Part' ),\n\twp_block: __( 'Pattern' ),\n};\n\n// Prevent accidental removal of certain blocks, asking the user for\n// confirmation.\nconst blockRemovalRules = {\n\t'core/query': __( 'Query Loop displays a list of posts or pages.' ),\n\t'core/post-content': __(\n\t\t'Post Content displays the content of a post or page.'\n\t),\n\t'core/post-template': __(\n\t\t'Post Template displays each post or page in a Query Loop.'\n\t),\n};\n\nexport default function Editor( { isLoading } ) {\n\tconst {\n\t\trecord: editedPost,\n\t\tgetTitle,\n\t\tisLoaded: hasLoadedPost,\n\t} = useEditedEntityRecord();\n\n\tconst { id: editedPostId, type: editedPostType } = editedPost;\n\n\tconst {\n\t\tcontext,\n\t\teditorMode,\n\t\tcanvasMode,\n\t\tblockEditorMode,\n\t\tisRightSidebarOpen,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tshowIconLabels,\n\t\tshowBlockBreadcrumbs,\n\t\thasPageContentFocus,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditedPostContext,\n\t\t\tgetEditorMode,\n\t\t\tgetCanvasMode,\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\thasPageContentFocus: _hasPageContentFocus,\n\t\t} = unlock( select( editSiteStore ) );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\tconst { getActiveComplementaryArea } = select( interfaceStore );\n\n\t\t// The currently selected entity to display.\n\t\t// Typically template or template part in the site editor.\n\t\treturn {\n\t\t\tcontext: getEditedPostContext(),\n\t\t\teditorMode: getEditorMode(),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tisRightSidebarOpen: getActiveComplementaryArea(\n\t\t\t\teditSiteStore.name\n\t\t\t),\n\t\t\tshowIconLabels: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\tshowBlockBreadcrumbs: select( preferencesStore ).get(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\thasPageContentFocus: _hasPageContentFocus(),\n\t\t};\n\t}, [] );\n\tconst { setEditedPostContext } = useDispatch( editSiteStore );\n\n\tconst isViewMode = canvasMode === 'view';\n\tconst isEditMode = canvasMode === 'edit';\n\tconst showVisualEditor = isViewMode || editorMode === 'visual';\n\tconst shouldShowBlockBreadcrumbs =\n\t\tshowBlockBreadcrumbs &&\n\t\tisEditMode &&\n\t\tshowVisualEditor &&\n\t\tblockEditorMode !== 'zoom-out';\n\tconst shouldShowInserter = isEditMode && showVisualEditor && isInserterOpen;\n\tconst shouldShowListView = isEditMode && showVisualEditor && isListViewOpen;\n\tconst secondarySidebarLabel = isListViewOpen\n\t\t? __( 'List View' )\n\t\t: __( 'Block Library' );\n\tconst blockContext = useMemo( () => {\n\t\tconst { postType, postId, ...nonPostFields } = context ?? {};\n\t\treturn {\n\t\t\t...( hasPageContentFocus ? context : nonPostFields ),\n\t\t\tqueryContext: [\n\t\t\t\tcontext?.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetEditedPostContext( {\n\t\t\t\t\t\t...context,\n\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t...context?.queryContext,\n\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t};\n\t}, [ hasPageContentFocus, context, setEditedPostContext ] );\n\n\tlet title;\n\tif ( hasLoadedPost ) {\n\t\tconst type = typeLabels[ editedPostType ] ?? __( 'Template' );\n\t\ttitle = sprintf(\n\t\t\t// translators: A breadcrumb trail in browser tab. %1$s: title of template being edited, %2$s: type of template (Template or Template Part).\n\t\t\t__( '%1$s ‹ %2$s ‹ Editor' ),\n\t\t\tgetTitle(),\n\t\t\ttype\n\t\t);\n\t}\n\n\t// Only announce the title once the editor is ready to prevent \"Replace\"\n\t// action in <URLQueryController> from double-announcing.\n\tuseTitle( hasLoadedPost && title );\n\n\treturn (\n\t\t<>\n\t\t\t{ isLoading ? <CanvasSpinner /> : null }\n\t\t\t{ isEditMode && <WelcomeGuide /> }\n\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t<EntityProvider\n\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\ttype={ editedPostType }\n\t\t\t\t\tid={ editedPostId }\n\t\t\t\t>\n\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t{ isEditMode && <StartTemplateOptions /> }\n\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\tisDistractionFree={ true }\n\t\t\t\t\t\t\tenableRegionNavigation={ false }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'edit-site-editor__interface-skeleton',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t\t\t\t\t\t\t'is-loading': isLoading,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<GlobalStylesRenderer />\n\t\t\t\t\t\t\t\t\t{ isEditMode && <EditorNotices /> }\n\t\t\t\t\t\t\t\t\t{ showVisualEditor && editedPost && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<BlockEditor />\n\t\t\t\t\t\t\t\t\t\t\t<BlockRemovalWarningModal\n\t\t\t\t\t\t\t\t\t\t\t\trules={ blockRemovalRules }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ editorMode === 'text' &&\n\t\t\t\t\t\t\t\t\t\teditedPost &&\n\t\t\t\t\t\t\t\t\t\tisEditMode && <CodeEditor /> }\n\t\t\t\t\t\t\t\t\t{ hasLoadedPost && ! editedPost && (\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t{ isEditMode && (\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcutsEditMode />\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsecondarySidebar={\n\t\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t\t( ( shouldShowInserter && (\n\t\t\t\t\t\t\t\t\t<InserterSidebar />\n\t\t\t\t\t\t\t\t) ) ||\n\t\t\t\t\t\t\t\t\t( shouldShowListView && (\n\t\t\t\t\t\t\t\t\t\t<ListViewSidebar />\n\t\t\t\t\t\t\t\t\t) ) )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\tisEditMode &&\n\t\t\t\t\t\t\t\tisRightSidebarOpen && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t<SidebarFixedBottomSlot />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tfooter={\n\t\t\t\t\t\t\t\tshouldShowBlockBreadcrumbs && (\n\t\t\t\t\t\t\t\t\t<BlockBreadcrumb\n\t\t\t\t\t\t\t\t\t\trootLabelText={\n\t\t\t\t\t\t\t\t\t\t\thasPageContentFocus\n\t\t\t\t\t\t\t\t\t\t\t\t? __( 'Page' )\n\t\t\t\t\t\t\t\t\t\t\t\t: __( 'Template' )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabels={ {\n\t\t\t\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</EntityProvider>\n\t\t</>\n\t);\n}\n"]}
@@ -52,7 +52,8 @@ export default function HeaderEditMode() {
52
52
  blockEditorMode,
53
53
  homeUrl,
54
54
  showIconLabels,
55
- editorCanvasView
55
+ editorCanvasView,
56
+ hasFixedToolbar
56
57
  } = useSelect(select => {
57
58
  const {
58
59
  __experimentalGetPreviewDeviceType,
@@ -72,6 +73,9 @@ export default function HeaderEditMode() {
72
73
  getUnstableBase // Site index.
73
74
 
74
75
  } = select(coreStore);
76
+ const {
77
+ get: getPreference
78
+ } = select(preferencesStore);
75
79
  return {
76
80
  deviceType: __experimentalGetPreviewDeviceType(),
77
81
  templateType: postType,
@@ -81,15 +85,12 @@ export default function HeaderEditMode() {
81
85
  isVisualMode: getEditorMode() === 'visual',
82
86
  blockEditorMode: __unstableGetEditorMode(),
83
87
  homeUrl: getUnstableBase()?.home,
84
- showIconLabels: select(preferencesStore).get('core/edit-site', 'showIconLabels'),
88
+ showIconLabels: getPreference(editSiteStore.name, 'showIconLabels'),
85
89
  editorCanvasView: unlock(select(editSiteStore)).getEditorCanvasContainerView(),
86
- isDistractionFree: select(preferencesStore).get('core/edit-site', 'distractionFree')
90
+ isDistractionFree: getPreference(editSiteStore.name, 'distractionFree'),
91
+ hasFixedToolbar: getPreference(editSiteStore.name, 'fixedToolbar')
87
92
  };
88
93
  }, []);
89
- const {
90
- get: getPreference
91
- } = useSelect(preferencesStore);
92
- const hasFixedToolbar = getPreference(editSiteStore.name, 'fixedToolbar');
93
94
  const {
94
95
  __experimentalSetPreviewDeviceType: setPreviewDeviceType,
95
96
  setIsInserterOpened,
@@ -228,10 +229,13 @@ export default function HeaderEditMode() {
228
229
  deviceType: deviceType,
229
230
  setDeviceType: setPreviewDeviceType,
230
231
  label: __('View')
231
- }, createElement(MenuGroup, null, createElement(MenuItem, {
232
+ }, ({
233
+ onClose
234
+ }) => createElement(MenuGroup, null, createElement(MenuItem, {
232
235
  href: homeUrl,
233
236
  target: "_blank",
234
- icon: external
237
+ icon: external,
238
+ onClick: onClose
235
239
  }, __('View site'), createElement(VisuallyHidden, {
236
240
  as: "span"
237
241
  },