@wordpress/edit-site 5.14.0 → 5.16.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 (461) hide show
  1. package/CHANGELOG.md +4 -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 +22 -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 +114 -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 +5 -5
  21. package/build/components/editor/index.js.map +1 -1
  22. package/build/components/global-styles/global-styles-provider.js +12 -7
  23. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  24. package/build/components/global-styles/screen-block.js +16 -0
  25. package/build/components/global-styles/screen-block.js.map +1 -1
  26. package/build/components/global-styles/screen-revisions/index.js +12 -5
  27. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  28. package/build/components/global-styles/screen-revisions/revisions-buttons.js +10 -22
  29. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  30. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +32 -25
  31. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  32. package/build/components/global-styles/style-variations-container.js +5 -3
  33. package/build/components/global-styles/style-variations-container.js.map +1 -1
  34. package/build/components/header-edit-mode/document-actions/index.js +4 -2
  35. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  36. package/build/components/header-edit-mode/index.js +13 -9
  37. package/build/components/header-edit-mode/index.js.map +1 -1
  38. package/build/components/keyboard-shortcuts/edit-mode.js +7 -5
  39. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  40. package/build/components/layout/index.js +17 -5
  41. package/build/components/layout/index.js.map +1 -1
  42. package/build/components/page/index.js +3 -3
  43. package/build/components/page/index.js.map +1 -1
  44. package/build/components/page-actions/index.js +2 -2
  45. package/build/components/page-actions/index.js.map +1 -1
  46. package/build/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -16
  47. package/build/components/page-actions/trash-page-menu-item.js.map +1 -0
  48. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -5
  49. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  50. package/build/components/page-patterns/duplicate-menu-item.js +163 -0
  51. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -0
  52. package/build/components/page-patterns/grid-item.js +83 -58
  53. package/build/components/page-patterns/grid-item.js.map +1 -1
  54. package/build/components/page-patterns/grid.js +5 -18
  55. package/build/components/page-patterns/grid.js.map +1 -1
  56. package/build/components/page-patterns/header.js +69 -0
  57. package/build/components/page-patterns/header.js.map +1 -0
  58. package/build/components/page-patterns/index.js +3 -1
  59. package/build/components/page-patterns/index.js.map +1 -1
  60. package/build/components/page-patterns/pagination.js +63 -0
  61. package/build/components/page-patterns/pagination.js.map +1 -0
  62. package/build/components/page-patterns/patterns-list.js +110 -31
  63. package/build/components/page-patterns/patterns-list.js.map +1 -1
  64. package/build/components/page-patterns/rename-menu-item.js +109 -0
  65. package/build/components/page-patterns/rename-menu-item.js.map +1 -0
  66. package/build/components/page-patterns/use-patterns.js +116 -118
  67. package/build/components/page-patterns/use-patterns.js.map +1 -1
  68. package/build/components/page-template-parts/add-new-template-part.js +74 -0
  69. package/build/components/page-template-parts/add-new-template-part.js.map +1 -0
  70. package/build/components/page-template-parts/index.js +3 -25
  71. package/build/components/page-template-parts/index.js.map +1 -1
  72. package/build/components/page-templates/index.js +1 -16
  73. package/build/components/page-templates/index.js.map +1 -1
  74. package/build/components/resizable-frame/index.js +85 -51
  75. package/build/components/resizable-frame/index.js.map +1 -1
  76. package/build/components/save-button/index.js +4 -2
  77. package/build/components/save-button/index.js.map +1 -1
  78. package/build/components/save-hub/index.js +10 -4
  79. package/build/components/save-hub/index.js.map +1 -1
  80. package/build/components/save-panel/index.js +5 -5
  81. package/build/components/save-panel/index.js.map +1 -1
  82. package/build/components/sidebar-edit-mode/page-panels/page-content.js +4 -3
  83. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  84. package/build/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  85. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  86. package/build/components/sidebar-edit-mode/template-panel/index.js +15 -8
  87. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen/index.js +31 -15
  89. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  90. package/build/components/sidebar-navigation-screen-global-styles/index.js +34 -40
  91. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  92. package/build/components/sidebar-navigation-screen-main/index.js +4 -2
  93. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  94. package/build/components/sidebar-navigation-screen-main/template-part-hint.js +45 -0
  95. package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
  96. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +4 -4
  97. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  98. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  99. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  100. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
  101. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  102. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -4
  103. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  104. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  105. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  106. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +4 -4
  107. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +8 -0
  109. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  110. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +1 -1
  111. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  112. package/build/components/sidebar-navigation-screen-page/index.js +2 -3
  113. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  114. package/build/components/sidebar-navigation-screen-page/status-label.js +1 -34
  115. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  116. package/build/components/sidebar-navigation-screen-pages/index.js +35 -25
  117. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  118. package/build/components/sidebar-navigation-screen-pattern/index.js +9 -7
  119. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  120. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +4 -3
  121. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  122. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  123. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  124. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +19 -4
  125. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  126. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +55 -28
  127. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  128. package/build/components/sidebar-navigation-screen-patterns/category-item.js +0 -5
  129. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  130. package/build/components/sidebar-navigation-screen-patterns/index.js +72 -60
  131. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  132. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
  133. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
  134. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +11 -1
  135. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  136. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +20 -9
  137. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  138. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  139. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  140. package/build/components/sidebar-navigation-screen-templates/index.js +1 -10
  141. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  142. package/build/components/sidebar-navigation-screen-templates-browse/index.js +9 -0
  143. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  144. package/build/components/site-hub/index.js +29 -13
  145. package/build/components/site-hub/index.js.map +1 -1
  146. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -5
  147. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  148. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  149. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  150. package/build/components/sync-state-with-url/use-sync-path-with-url.js +15 -12
  151. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  152. package/build/components/template-actions/index.js +3 -1
  153. package/build/components/template-actions/index.js.map +1 -1
  154. package/build/components/template-actions/rename-menu-item.js +12 -8
  155. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  156. package/build/components/use-edited-entity-record/index.js +6 -1
  157. package/build/components/use-edited-entity-record/index.js.map +1 -1
  158. package/build/hooks/commands/use-common-commands.js +120 -32
  159. package/build/hooks/commands/use-common-commands.js.map +1 -1
  160. package/build/hooks/commands/use-edit-mode-commands.js +65 -7
  161. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  162. package/build/hooks/push-changes-to-global-styles/index.js +138 -57
  163. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  164. package/build/store/private-actions.js +9 -2
  165. package/build/store/private-actions.js.map +1 -1
  166. package/build/utils/normalize-record-key.js +19 -0
  167. package/build/utils/normalize-record-key.js.map +1 -0
  168. package/build/utils/use-activate-theme.js +1 -1
  169. package/build/utils/use-activate-theme.js.map +1 -1
  170. package/build/utils/use-debounced-input.js +5 -7
  171. package/build/utils/use-debounced-input.js.map +1 -1
  172. package/build-module/components/add-new-page/index.js +1 -6
  173. package/build-module/components/add-new-page/index.js.map +1 -1
  174. package/build-module/components/add-new-pattern/index.js +20 -7
  175. package/build-module/components/add-new-pattern/index.js.map +1 -1
  176. package/build-module/components/add-new-template/utils.js +9 -6
  177. package/build-module/components/add-new-template/utils.js.map +1 -1
  178. package/build-module/components/block-editor/constants.js +1 -1
  179. package/build-module/components/block-editor/constants.js.map +1 -1
  180. package/build-module/components/block-editor/editor-canvas.js +1 -1
  181. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  182. package/build-module/components/block-editor/index.js +0 -4
  183. package/build-module/components/block-editor/index.js.map +1 -1
  184. package/build-module/components/block-editor/use-site-editor-settings.js +116 -14
  185. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  186. package/build-module/components/code-editor/index.js +62 -30
  187. package/build-module/components/code-editor/index.js.map +1 -1
  188. package/build-module/components/create-pattern-modal/index.js +6 -3
  189. package/build-module/components/create-pattern-modal/index.js.map +1 -1
  190. package/build-module/components/editor/index.js +5 -5
  191. package/build-module/components/editor/index.js.map +1 -1
  192. package/build-module/components/global-styles/global-styles-provider.js +12 -7
  193. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  194. package/build-module/components/global-styles/screen-block.js +16 -0
  195. package/build-module/components/global-styles/screen-block.js.map +1 -1
  196. package/build-module/components/global-styles/screen-revisions/index.js +13 -6
  197. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  198. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +10 -22
  199. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  200. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +28 -21
  201. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  202. package/build-module/components/global-styles/style-variations-container.js +5 -3
  203. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  204. package/build-module/components/header-edit-mode/document-actions/index.js +6 -4
  205. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  206. package/build-module/components/header-edit-mode/index.js +13 -9
  207. package/build-module/components/header-edit-mode/index.js.map +1 -1
  208. package/build-module/components/keyboard-shortcuts/edit-mode.js +7 -5
  209. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  210. package/build-module/components/layout/index.js +17 -5
  211. package/build-module/components/layout/index.js.map +1 -1
  212. package/build-module/components/page/index.js +3 -3
  213. package/build-module/components/page/index.js.map +1 -1
  214. package/build-module/components/page-actions/index.js +2 -2
  215. package/build-module/components/page-actions/index.js.map +1 -1
  216. package/build-module/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -17
  217. package/build-module/components/page-actions/trash-page-menu-item.js.map +1 -0
  218. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -3
  219. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  220. package/build-module/components/page-patterns/duplicate-menu-item.js +147 -0
  221. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -0
  222. package/build-module/components/page-patterns/grid-item.js +84 -64
  223. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  224. package/build-module/components/page-patterns/grid.js +5 -17
  225. package/build-module/components/page-patterns/grid.js.map +1 -1
  226. package/build-module/components/page-patterns/header.js +54 -0
  227. package/build-module/components/page-patterns/header.js.map +1 -0
  228. package/build-module/components/page-patterns/index.js +3 -1
  229. package/build-module/components/page-patterns/index.js.map +1 -1
  230. package/build-module/components/page-patterns/pagination.js +54 -0
  231. package/build-module/components/page-patterns/pagination.js.map +1 -0
  232. package/build-module/components/page-patterns/patterns-list.js +111 -34
  233. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  234. package/build-module/components/page-patterns/rename-menu-item.js +97 -0
  235. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -0
  236. package/build-module/components/page-patterns/use-patterns.js +116 -119
  237. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  238. package/build-module/components/page-template-parts/add-new-template-part.js +58 -0
  239. package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -0
  240. package/build-module/components/page-template-parts/index.js +4 -24
  241. package/build-module/components/page-template-parts/index.js.map +1 -1
  242. package/build-module/components/page-templates/index.js +2 -15
  243. package/build-module/components/page-templates/index.js.map +1 -1
  244. package/build-module/components/resizable-frame/index.js +87 -55
  245. package/build-module/components/resizable-frame/index.js.map +1 -1
  246. package/build-module/components/save-button/index.js +4 -2
  247. package/build-module/components/save-button/index.js.map +1 -1
  248. package/build-module/components/save-hub/index.js +10 -4
  249. package/build-module/components/save-hub/index.js.map +1 -1
  250. package/build-module/components/save-panel/index.js +5 -5
  251. package/build-module/components/save-panel/index.js.map +1 -1
  252. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +5 -2
  253. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
  254. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  255. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  256. package/build-module/components/sidebar-edit-mode/template-panel/index.js +15 -9
  257. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  258. package/build-module/components/sidebar-navigation-screen/index.js +29 -16
  259. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  260. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +34 -40
  261. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  262. package/build-module/components/sidebar-navigation-screen-main/index.js +4 -3
  263. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  264. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +33 -0
  265. package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
  266. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +4 -4
  267. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  268. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  269. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  270. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -3
  271. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  272. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +5 -4
  273. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  274. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  275. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  276. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +4 -4
  277. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  278. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +7 -0
  279. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  280. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +2 -2
  281. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  282. package/build-module/components/sidebar-navigation-screen-page/index.js +2 -3
  283. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  284. package/build-module/components/sidebar-navigation-screen-page/status-label.js +1 -32
  285. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  286. package/build-module/components/sidebar-navigation-screen-pages/index.js +35 -25
  287. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  288. package/build-module/components/sidebar-navigation-screen-pattern/index.js +8 -7
  289. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  290. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +4 -3
  291. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  292. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +3 -2
  293. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
  294. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +18 -4
  295. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
  296. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +53 -28
  297. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  298. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +0 -5
  299. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  300. package/build-module/components/sidebar-navigation-screen-patterns/index.js +76 -60
  301. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  302. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +9 -5
  303. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -1
  304. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +10 -1
  305. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  306. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +18 -9
  307. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  308. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  309. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  310. package/build-module/components/sidebar-navigation-screen-templates/index.js +1 -8
  311. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  312. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +7 -0
  313. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  314. package/build-module/components/site-hub/index.js +28 -13
  315. package/build-module/components/site-hub/index.js.map +1 -1
  316. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +7 -5
  317. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  318. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -1
  319. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  320. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +16 -12
  321. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  322. package/build-module/components/template-actions/index.js +2 -1
  323. package/build-module/components/template-actions/index.js.map +1 -1
  324. package/build-module/components/template-actions/rename-menu-item.js +11 -8
  325. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  326. package/build-module/components/use-edited-entity-record/index.js +3 -1
  327. package/build-module/components/use-edited-entity-record/index.js.map +1 -1
  328. package/build-module/hooks/commands/use-common-commands.js +116 -32
  329. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  330. package/build-module/hooks/commands/use-edit-mode-commands.js +65 -9
  331. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  332. package/build-module/hooks/push-changes-to-global-styles/index.js +139 -57
  333. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  334. package/build-module/store/private-actions.js +9 -2
  335. package/build-module/store/private-actions.js.map +1 -1
  336. package/build-module/utils/normalize-record-key.js +12 -0
  337. package/build-module/utils/normalize-record-key.js.map +1 -0
  338. package/build-module/utils/use-activate-theme.js +1 -1
  339. package/build-module/utils/use-activate-theme.js.map +1 -1
  340. package/build-module/utils/use-debounced-input.js +5 -7
  341. package/build-module/utils/use-debounced-input.js.map +1 -1
  342. package/build-style/style-rtl.css +281 -103
  343. package/build-style/style.css +281 -103
  344. package/package.json +39 -40
  345. package/src/components/add-new-page/index.js +0 -3
  346. package/src/components/add-new-pattern/index.js +25 -12
  347. package/src/components/add-new-template/utils.js +9 -6
  348. package/src/components/block-editor/constants.js +5 -1
  349. package/src/components/block-editor/editor-canvas.js +1 -1
  350. package/src/components/block-editor/index.js +0 -4
  351. package/src/components/block-editor/use-site-editor-settings.js +119 -20
  352. package/src/components/canvas-spinner/style.scss +14 -0
  353. package/src/components/code-editor/index.js +51 -33
  354. package/src/components/create-pattern-modal/index.js +5 -2
  355. package/src/components/editor/index.js +5 -5
  356. package/src/components/global-styles/global-styles-provider.js +7 -2
  357. package/src/components/global-styles/screen-block.js +15 -0
  358. package/src/components/global-styles/screen-revisions/index.js +64 -58
  359. package/src/components/global-styles/screen-revisions/revisions-buttons.js +17 -31
  360. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +14 -1
  361. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +64 -48
  362. package/src/components/global-styles/style-variations-container.js +2 -0
  363. package/src/components/header-edit-mode/document-actions/index.js +8 -4
  364. package/src/components/header-edit-mode/document-actions/style.scss +45 -28
  365. package/src/components/header-edit-mode/index.js +29 -22
  366. package/src/components/keyboard-shortcuts/edit-mode.js +4 -5
  367. package/src/components/layout/index.js +49 -22
  368. package/src/components/layout/style.scss +4 -3
  369. package/src/components/page/index.js +8 -8
  370. package/src/components/page/style.scss +8 -5
  371. package/src/components/page-actions/index.js +2 -2
  372. package/src/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +9 -22
  373. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +12 -3
  374. package/src/components/page-patterns/duplicate-menu-item.js +196 -0
  375. package/src/components/page-patterns/grid-item.js +189 -133
  376. package/src/components/page-patterns/grid.js +3 -20
  377. package/src/components/page-patterns/header.js +69 -0
  378. package/src/components/page-patterns/index.js +6 -1
  379. package/src/components/page-patterns/pagination.js +80 -0
  380. package/src/components/page-patterns/patterns-list.js +172 -71
  381. package/src/components/page-patterns/rename-menu-item.js +115 -0
  382. package/src/components/page-patterns/style.scss +141 -30
  383. package/src/components/page-patterns/use-patterns.js +115 -169
  384. package/src/components/page-template-parts/add-new-template-part.js +57 -0
  385. package/src/components/page-template-parts/index.js +3 -23
  386. package/src/components/page-templates/index.js +6 -19
  387. package/src/components/resizable-frame/index.js +104 -51
  388. package/src/components/resizable-frame/style.scss +9 -9
  389. package/src/components/save-button/index.js +2 -0
  390. package/src/components/save-hub/index.js +6 -1
  391. package/src/components/save-hub/style.scss +1 -1
  392. package/src/components/save-panel/index.js +10 -4
  393. package/src/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
  394. package/src/components/sidebar-edit-mode/page-panels/page-status.js +2 -5
  395. package/src/components/sidebar-edit-mode/template-panel/index.js +15 -11
  396. package/src/components/sidebar-navigation-item/style.scss +5 -12
  397. package/src/components/sidebar-navigation-screen/index.js +30 -15
  398. package/src/components/sidebar-navigation-screen/style.scss +18 -0
  399. package/src/components/sidebar-navigation-screen-details-panel/style.scss +1 -0
  400. package/src/components/sidebar-navigation-screen-global-styles/index.js +48 -44
  401. package/src/components/sidebar-navigation-screen-main/index.js +44 -40
  402. package/src/components/sidebar-navigation-screen-main/template-part-hint.js +34 -0
  403. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +4 -3
  404. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -0
  405. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +1 -1
  406. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +16 -7
  407. package/src/components/sidebar-navigation-screen-navigation-menus/constants.js +2 -0
  408. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +4 -4
  409. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +27 -15
  410. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +1 -4
  411. package/src/components/sidebar-navigation-screen-page/index.js +3 -3
  412. package/src/components/sidebar-navigation-screen-page/status-label.js +1 -35
  413. package/src/components/sidebar-navigation-screen-pages/index.js +48 -33
  414. package/src/components/sidebar-navigation-screen-pattern/index.js +5 -2
  415. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +3 -2
  416. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +2 -1
  417. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +23 -3
  418. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +74 -43
  419. package/src/components/sidebar-navigation-screen-patterns/category-item.js +5 -13
  420. package/src/components/sidebar-navigation-screen-patterns/index.js +103 -106
  421. package/src/components/sidebar-navigation-screen-patterns/style.scss +20 -0
  422. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +7 -6
  423. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +9 -0
  424. package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +31 -9
  425. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
  426. package/src/components/sidebar-navigation-screen-templates/index.js +1 -9
  427. package/src/components/sidebar-navigation-screen-templates-browse/index.js +10 -0
  428. package/src/components/site-hub/index.js +48 -29
  429. package/src/components/site-hub/style.scss +14 -2
  430. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +8 -2
  431. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +1 -4
  432. package/src/components/sync-state-with-url/use-sync-path-with-url.js +73 -66
  433. package/src/components/table/style.scss +1 -0
  434. package/src/components/template-actions/index.js +2 -1
  435. package/src/components/template-actions/rename-menu-item.js +17 -10
  436. package/src/components/use-edited-entity-record/index.js +6 -1
  437. package/src/hooks/commands/use-common-commands.js +105 -32
  438. package/src/hooks/commands/use-edit-mode-commands.js +94 -23
  439. package/src/hooks/push-changes-to-global-styles/index.js +141 -50
  440. package/src/store/private-actions.js +10 -2
  441. package/src/style.scss +10 -12
  442. package/src/utils/normalize-record-key.js +11 -0
  443. package/src/utils/use-activate-theme.js +1 -1
  444. package/src/utils/use-debounced-input.js +8 -7
  445. package/build/components/code-editor/code-editor-text-area.js +0 -96
  446. package/build/components/code-editor/code-editor-text-area.js.map +0 -1
  447. package/build/components/keyboard-shortcuts/index.js +0 -148
  448. package/build/components/keyboard-shortcuts/index.js.map +0 -1
  449. package/build/components/page-actions/delete-page-menu-item.js.map +0 -1
  450. package/build/components/page-content-focus-manager/constants.js +0 -9
  451. package/build/components/page-content-focus-manager/constants.js.map +0 -1
  452. package/build-module/components/code-editor/code-editor-text-area.js +0 -84
  453. package/build-module/components/code-editor/code-editor-text-area.js.map +0 -1
  454. package/build-module/components/keyboard-shortcuts/index.js +0 -132
  455. package/build-module/components/keyboard-shortcuts/index.js.map +0 -1
  456. package/build-module/components/page-actions/delete-page-menu-item.js.map +0 -1
  457. package/build-module/components/page-content-focus-manager/constants.js +0 -2
  458. package/build-module/components/page-content-focus-manager/constants.js.map +0 -1
  459. package/src/components/code-editor/code-editor-text-area.js +0 -84
  460. package/src/components/keyboard-shortcuts/index.js +0 -137
  461. package/src/components/page-content-focus-manager/constants.js +0 -5
@@ -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"]}
@@ -53,16 +53,17 @@ const interfaceLabels = {
53
53
  footer: __('Editor footer')
54
54
  };
55
55
  const typeLabels = {
56
- wp_template: __('Template Part'),
56
+ wp_template: __('Template'),
57
57
  wp_template_part: __('Template Part'),
58
- wp_block: __('Pattern')
58
+ wp_block: __('Pattern'),
59
+ wp_navigation: __('Navigation')
59
60
  }; // Prevent accidental removal of certain blocks, asking the user for
60
61
  // confirmation.
61
62
 
62
63
  const blockRemovalRules = {
63
64
  'core/query': __('Query Loop displays a list of posts or pages.'),
64
65
  '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.')
66
+ 'core/post-template': __('Post Template displays each post or page in a Query Loop.')
66
67
  };
67
68
  export default function Editor({
68
69
  isLoading
@@ -148,9 +149,8 @@ export default function Editor({
148
149
  if (hasLoadedPost) {
149
150
  var _typeLabels$editedPos;
150
151
 
151
- const type = (_typeLabels$editedPos = typeLabels[editedPostType]) !== null && _typeLabels$editedPos !== void 0 ? _typeLabels$editedPos : __('Template');
152
152
  title = sprintf( // translators: A breadcrumb trail in browser tab. %1$s: title of template being edited, %2$s: type of template (Template or Template Part).
153
- __('%1$s ‹ %2$s ‹ Editor'), getTitle(), type);
153
+ __('%1$s ‹ %2$s ‹ Editor'), getTitle(), (_typeLabels$editedPos = typeLabels[editedPostType]) !== null && _typeLabels$editedPos !== void 0 ? _typeLabels$editedPos : typeLabels.wp_template);
154
154
  } // Only announce the title once the editor is ready to prevent "Replace"
155
155
  // action in <URLQueryController> from double-announcing.
156
156
 
@@ -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","wp_navigation","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' ),\n\twp_template_part: __( 'Template Part' ),\n\twp_block: __( 'Pattern' ),\n\twp_navigation: __( 'Navigation' ),\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\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\ttypeLabels[ editedPostType ] ?? typeLabels.wp_template\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"]}
@@ -36,7 +36,8 @@ function useGlobalStylesUserConfig() {
36
36
  globalStylesId,
37
37
  isReady,
38
38
  settings,
39
- styles
39
+ styles,
40
+ behaviors
40
41
  } = useSelect(select => {
41
42
  const {
42
43
  getEditedEntityRecord,
@@ -56,7 +57,8 @@ function useGlobalStylesUserConfig() {
56
57
  globalStylesId: _globalStylesId,
57
58
  isReady: hasResolved,
58
59
  settings: record?.settings,
59
- styles: record?.styles
60
+ styles: record?.styles,
61
+ behaviors: record?.behaviors
60
62
  };
61
63
  }, []);
62
64
  const {
@@ -68,21 +70,24 @@ function useGlobalStylesUserConfig() {
68
70
  const config = useMemo(() => {
69
71
  return {
70
72
  settings: settings !== null && settings !== void 0 ? settings : {},
71
- styles: styles !== null && styles !== void 0 ? styles : {}
73
+ styles: styles !== null && styles !== void 0 ? styles : {},
74
+ behaviors: behaviors !== null && behaviors !== void 0 ? behaviors : {}
72
75
  };
73
- }, [settings, styles]);
76
+ }, [settings, styles, behaviors]);
74
77
  const setConfig = useCallback((callback, options = {}) => {
75
- var _record$styles, _record$settings;
78
+ var _record$styles, _record$settings, _record$behaviors;
76
79
 
77
80
  const record = getEditedEntityRecord('root', 'globalStyles', globalStylesId);
78
81
  const currentConfig = {
79
82
  styles: (_record$styles = record?.styles) !== null && _record$styles !== void 0 ? _record$styles : {},
80
- settings: (_record$settings = record?.settings) !== null && _record$settings !== void 0 ? _record$settings : {}
83
+ settings: (_record$settings = record?.settings) !== null && _record$settings !== void 0 ? _record$settings : {},
84
+ behaviors: (_record$behaviors = record?.behaviors) !== null && _record$behaviors !== void 0 ? _record$behaviors : {}
81
85
  };
82
86
  const updatedConfig = callback(currentConfig);
83
87
  editEntityRecord('root', 'globalStyles', globalStylesId, {
84
88
  styles: cleanEmptyObject(updatedConfig.styles) || {},
85
- settings: cleanEmptyObject(updatedConfig.settings) || {}
89
+ settings: cleanEmptyObject(updatedConfig.settings) || {},
90
+ behaviors: cleanEmptyObject(updatedConfig.behaviors) || {}
86
91
  }, options);
87
92
  }, [globalStylesId]);
88
93
  return [isReady, config, setConfig];
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/global-styles-provider.js"],"names":["deepmerge","isPlainObject","useMemo","useCallback","useSelect","useDispatch","store","coreStore","privateApis","blockEditorPrivateApis","unlock","GlobalStylesContext","cleanEmptyObject","mergeBaseAndUserConfigs","base","user","isMergeableObject","useGlobalStylesUserConfig","globalStylesId","isReady","settings","styles","select","getEditedEntityRecord","hasFinishedResolution","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","undefined","hasResolved","editEntityRecord","config","setConfig","callback","options","currentConfig","updatedConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","userConfig","setUserConfig","isBaseConfigReady","mergedConfig","context","merged","GlobalStylesProvider","children"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport deepmerge from 'deepmerge';\nimport { isPlainObject } from 'is-plain-object';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext, cleanEmptyObject } = unlock(\n\tblockEditorPrivateApis\n);\n\nexport function mergeBaseAndUserConfigs( base, user ) {\n\treturn deepmerge( base, user, {\n\t\t// We only pass as arrays the presets,\n\t\t// in which case we want the new array of values\n\t\t// to override the old array (no merging).\n\t\tisMergeableObject: isPlainObject,\n\t} );\n}\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, isReady, settings, styles } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _globalStylesId =\n\t\t\t\tselect( coreStore ).__experimentalGetCurrentGlobalStylesId();\n\t\t\tconst record = _globalStylesId\n\t\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t_globalStylesId\n\t\t\t\t )\n\t\t\t\t: undefined;\n\n\t\t\tlet hasResolved = false;\n\t\t\tif (\n\t\t\t\thasFinishedResolution(\n\t\t\t\t\t'__experimentalGetCurrentGlobalStylesId'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\thasResolved = _globalStylesId\n\t\t\t\t\t? hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t ] )\n\t\t\t\t\t: true;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tglobalStylesId: _globalStylesId,\n\t\t\t\tisReady: hasResolved,\n\t\t\t\tsettings: record?.settings,\n\t\t\t\tstyles: record?.styles,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: settings ?? {},\n\t\t\tstyles: styles ?? {},\n\t\t};\n\t}, [ settings, styles ] );\n\n\tconst setConfig = useCallback(\n\t\t( callback, options = {} ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: record?.settings ?? {},\n\t\t\t};\n\t\t\tconst updatedConfig = callback( currentConfig );\n\t\t\teditEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t{\n\t\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\t\tsettings: cleanEmptyObject( updatedConfig.settings ) || {},\n\t\t\t\t},\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\t\t[ globalStylesId ]\n\t);\n\n\treturn [ isReady, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeBaseGlobalStyles();\n\t}, [] );\n\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nfunction useGlobalStylesContext() {\n\tconst [ isUserConfigReady, userConfig, setUserConfig ] =\n\t\tuseGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfig ) {\n\t\t\treturn {};\n\t\t}\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t}, [ userConfig, baseConfig ] );\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfig,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfig,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/global-styles-provider.js"],"names":["deepmerge","isPlainObject","useMemo","useCallback","useSelect","useDispatch","store","coreStore","privateApis","blockEditorPrivateApis","unlock","GlobalStylesContext","cleanEmptyObject","mergeBaseAndUserConfigs","base","user","isMergeableObject","useGlobalStylesUserConfig","globalStylesId","isReady","settings","styles","behaviors","select","getEditedEntityRecord","hasFinishedResolution","_globalStylesId","__experimentalGetCurrentGlobalStylesId","record","undefined","hasResolved","editEntityRecord","config","setConfig","callback","options","currentConfig","updatedConfig","useGlobalStylesBaseConfig","baseConfig","__experimentalGetCurrentThemeBaseGlobalStyles","useGlobalStylesContext","isUserConfigReady","userConfig","setUserConfig","isBaseConfigReady","mergedConfig","context","merged","GlobalStylesProvider","children"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport deepmerge from 'deepmerge';\nimport { isPlainObject } from 'is-plain-object';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext, cleanEmptyObject } = unlock(\n\tblockEditorPrivateApis\n);\n\nexport function mergeBaseAndUserConfigs( base, user ) {\n\treturn deepmerge( base, user, {\n\t\t// We only pass as arrays the presets,\n\t\t// in which case we want the new array of values\n\t\t// to override the old array (no merging).\n\t\tisMergeableObject: isPlainObject,\n\t} );\n}\n\nfunction useGlobalStylesUserConfig() {\n\tconst { globalStylesId, isReady, settings, styles, behaviors } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _globalStylesId =\n\t\t\t\tselect( coreStore ).__experimentalGetCurrentGlobalStylesId();\n\t\t\tconst record = _globalStylesId\n\t\t\t\t? getEditedEntityRecord(\n\t\t\t\t\t\t'root',\n\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t_globalStylesId\n\t\t\t\t )\n\t\t\t\t: undefined;\n\n\t\t\tlet hasResolved = false;\n\t\t\tif (\n\t\t\t\thasFinishedResolution(\n\t\t\t\t\t'__experimentalGetCurrentGlobalStylesId'\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\thasResolved = _globalStylesId\n\t\t\t\t\t? hasFinishedResolution( 'getEditedEntityRecord', [\n\t\t\t\t\t\t\t'root',\n\t\t\t\t\t\t\t'globalStyles',\n\t\t\t\t\t\t\t_globalStylesId,\n\t\t\t\t\t ] )\n\t\t\t\t\t: true;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tglobalStylesId: _globalStylesId,\n\t\t\t\tisReady: hasResolved,\n\t\t\t\tsettings: record?.settings,\n\t\t\t\tstyles: record?.styles,\n\t\t\t\tbehaviors: record?.behaviors,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { getEditedEntityRecord } = useSelect( coreStore );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst config = useMemo( () => {\n\t\treturn {\n\t\t\tsettings: settings ?? {},\n\t\t\tstyles: styles ?? {},\n\t\t\tbehaviors: behaviors ?? {},\n\t\t};\n\t}, [ settings, styles, behaviors ] );\n\n\tconst setConfig = useCallback(\n\t\t( callback, options = {} ) => {\n\t\t\tconst record = getEditedEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId\n\t\t\t);\n\t\t\tconst currentConfig = {\n\t\t\t\tstyles: record?.styles ?? {},\n\t\t\t\tsettings: record?.settings ?? {},\n\t\t\t\tbehaviors: record?.behaviors ?? {},\n\t\t\t};\n\t\t\tconst updatedConfig = callback( currentConfig );\n\t\t\teditEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t{\n\t\t\t\t\tstyles: cleanEmptyObject( updatedConfig.styles ) || {},\n\t\t\t\t\tsettings: cleanEmptyObject( updatedConfig.settings ) || {},\n\t\t\t\t\tbehaviors:\n\t\t\t\t\t\tcleanEmptyObject( updatedConfig.behaviors ) || {},\n\t\t\t\t},\n\t\t\t\toptions\n\t\t\t);\n\t\t},\n\t\t[ globalStylesId ]\n\t);\n\n\treturn [ isReady, config, setConfig ];\n}\n\nfunction useGlobalStylesBaseConfig() {\n\tconst baseConfig = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeBaseGlobalStyles();\n\t}, [] );\n\n\treturn [ !! baseConfig, baseConfig ];\n}\n\nfunction useGlobalStylesContext() {\n\tconst [ isUserConfigReady, userConfig, setUserConfig ] =\n\t\tuseGlobalStylesUserConfig();\n\tconst [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();\n\tconst mergedConfig = useMemo( () => {\n\t\tif ( ! baseConfig || ! userConfig ) {\n\t\t\treturn {};\n\t\t}\n\t\treturn mergeBaseAndUserConfigs( baseConfig, userConfig );\n\t}, [ userConfig, baseConfig ] );\n\tconst context = useMemo( () => {\n\t\treturn {\n\t\t\tisReady: isUserConfigReady && isBaseConfigReady,\n\t\t\tuser: userConfig,\n\t\t\tbase: baseConfig,\n\t\t\tmerged: mergedConfig,\n\t\t\tsetUserConfig,\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tuserConfig,\n\t\tbaseConfig,\n\t\tsetUserConfig,\n\t\tisUserConfigReady,\n\t\tisBaseConfigReady,\n\t] );\n\n\treturn context;\n}\n\nexport function GlobalStylesProvider( { children } ) {\n\tconst context = useGlobalStylesContext();\n\tif ( ! context.isReady ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ context }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}
@@ -61,12 +61,15 @@ const {
61
61
  useHasDimensionsPanel,
62
62
  useHasTypographyPanel,
63
63
  useHasBorderPanel,
64
+ __experimentalUseHasBehaviorsPanel: useHasBehaviorsPanel,
64
65
  useGlobalSetting,
65
66
  useSettingsForBlockElement,
66
67
  useHasColorPanel,
67
68
  useHasEffectsPanel,
68
69
  useHasFiltersPanel,
69
70
  useGlobalStyle,
71
+ __experimentalUseGlobalBehaviors: useGlobalBehaviors,
72
+ __experimentalBehaviorsPanel: StylesBehaviorsPanel,
70
73
  BorderPanel: StylesBorderPanel,
71
74
  ColorPanel: StylesColorPanel,
72
75
  TypographyPanel: StylesTypographyPanel,
@@ -95,10 +98,18 @@ function ScreenBlock({
95
98
  });
96
99
  const [rawSettings, setSettings] = useGlobalSetting('', name);
97
100
  const settings = useSettingsForBlockElement(rawSettings, name);
101
+ const {
102
+ inheritedBehaviors,
103
+ setBehavior
104
+ } = useGlobalBehaviors(name);
105
+ const {
106
+ behavior
107
+ } = useGlobalBehaviors(name, 'user');
98
108
  const blockType = getBlockType(name);
99
109
  const blockVariations = useBlockVariations(name);
100
110
  const hasTypographyPanel = useHasTypographyPanel(settings);
101
111
  const hasColorPanel = useHasColorPanel(settings);
112
+ const hasBehaviorsPanel = useHasBehaviorsPanel(rawSettings, name);
102
113
  const hasBorderPanel = useHasBorderPanel(settings);
103
114
  const hasDimensionsPanel = useHasDimensionsPanel(settings);
104
115
  const hasEffectsPanel = useHasEffectsPanel(settings);
@@ -245,6 +256,11 @@ function ScreenBlock({
245
256
  value: style,
246
257
  onChange: setStyle,
247
258
  inheritedValue: inheritedStyle
259
+ }), hasBehaviorsPanel && createElement(StylesBehaviorsPanel, {
260
+ value: behavior,
261
+ onChange: setBehavior,
262
+ behaviors: inheritedBehaviors,
263
+ blockName: name
248
264
  })));
249
265
  }
250
266