@wordpress/edit-site 5.27.1 → 5.28.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 (362) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +3 -6
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/add-new-template/add-custom-generic-template-modal-content.js +1 -2
  5. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  6. package/build/components/add-new-template/add-custom-template-modal-content.js +1 -2
  7. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  8. package/build/components/block-editor/editor-canvas.js +1 -2
  9. package/build/components/block-editor/editor-canvas.js.map +1 -1
  10. package/build/components/block-editor/inserter-media-categories.js +1 -2
  11. package/build/components/block-editor/inserter-media-categories.js.map +1 -1
  12. package/build/components/block-editor/resizable-editor.js +1 -2
  13. package/build/components/block-editor/resizable-editor.js.map +1 -1
  14. package/build/components/block-editor/site-editor-canvas.js +12 -5
  15. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  16. package/build/components/block-editor/use-navigate-to-entity-record.js +32 -0
  17. package/build/components/block-editor/use-navigate-to-entity-record.js.map +1 -0
  18. package/build/components/block-editor/use-site-editor-settings.js +30 -4
  19. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  20. package/build/components/editor/index.js +13 -10
  21. package/build/components/editor/index.js.map +1 -1
  22. package/build/components/editor-canvas-container/index.js +1 -2
  23. package/build/components/editor-canvas-container/index.js.map +1 -1
  24. package/build/components/global-styles/block-preview-panel.js +1 -2
  25. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  26. package/build/components/global-styles/color-indicator-wrapper.js +1 -2
  27. package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
  28. package/build/components/global-styles/font-families.js +9 -5
  29. package/build/components/global-styles/font-families.js.map +1 -1
  30. package/build/components/global-styles/font-family-item.js +1 -2
  31. package/build/components/global-styles/font-family-item.js.map +1 -1
  32. package/build/components/global-styles/font-library-modal/collection-font-details.js +1 -2
  33. package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
  34. package/build/components/global-styles/font-library-modal/collection-font-variant.js +13 -13
  35. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  36. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +1 -2
  37. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -1
  38. package/build/components/global-styles/font-library-modal/context.js +16 -4
  39. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  40. package/build/components/global-styles/font-library-modal/font-card.js +3 -3
  41. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
  42. package/build/components/global-styles/font-library-modal/font-collection.js +26 -40
  43. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  44. package/build/components/global-styles/font-library-modal/font-demo.js +6 -12
  45. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  46. package/build/components/global-styles/font-library-modal/fonts-grid.js +1 -2
  47. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
  48. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +3 -4
  49. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  50. package/build/components/global-styles/font-library-modal/index.js +11 -5
  51. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  52. package/build/components/global-styles/font-library-modal/installed-fonts.js +14 -26
  53. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  54. package/build/components/global-styles/font-library-modal/library-font-card.js +2 -3
  55. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  56. package/build/components/global-styles/font-library-modal/library-font-details.js +1 -2
  57. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  58. package/build/components/global-styles/font-library-modal/library-font-variant.js +15 -15
  59. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  60. package/build/components/global-styles/font-library-modal/resolvers.js +1 -1
  61. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  62. package/build/components/global-styles/font-library-modal/tab-panel-layout.js +13 -4
  63. package/build/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
  64. package/build/components/global-styles/font-library-modal/upload-fonts.js +157 -6
  65. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  66. package/build/components/global-styles/font-library-modal/utils/constants.js +3 -6
  67. package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
  68. package/build/components/global-styles/font-library-modal/utils/index.js +37 -32
  69. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  70. package/build/components/global-styles/header.js +1 -2
  71. package/build/components/global-styles/header.js.map +1 -1
  72. package/build/components/global-styles/palette.js +1 -2
  73. package/build/components/global-styles/palette.js.map +1 -1
  74. package/build/components/global-styles/preview.js +1 -2
  75. package/build/components/global-styles/preview.js.map +1 -1
  76. package/build/components/global-styles/root-menu.js +1 -2
  77. package/build/components/global-styles/root-menu.js.map +1 -1
  78. package/build/components/global-styles/screen-block-list.js +1 -2
  79. package/build/components/global-styles/screen-block-list.js.map +1 -1
  80. package/build/components/global-styles/screen-block.js +1 -11
  81. package/build/components/global-styles/screen-block.js.map +1 -1
  82. package/build/components/global-styles/screen-color-palette.js +1 -2
  83. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  84. package/build/components/global-styles/screen-colors.js +1 -2
  85. package/build/components/global-styles/screen-colors.js.map +1 -1
  86. package/build/components/global-styles/screen-css.js +1 -2
  87. package/build/components/global-styles/screen-css.js.map +1 -1
  88. package/build/components/global-styles/screen-layout.js +1 -2
  89. package/build/components/global-styles/screen-layout.js.map +1 -1
  90. package/build/components/global-styles/screen-revisions/index.js +1 -2
  91. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  92. package/build/components/global-styles/screen-revisions/revisions-buttons.js +2 -3
  93. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  94. package/build/components/global-styles/screen-root.js +1 -2
  95. package/build/components/global-styles/screen-root.js.map +1 -1
  96. package/build/components/global-styles/screen-style-variations.js +1 -2
  97. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  98. package/build/components/global-styles/screen-typography-element.js +3 -6
  99. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  100. package/build/components/global-styles/screen-typography.js +1 -2
  101. package/build/components/global-styles/screen-typography.js.map +1 -1
  102. package/build/components/global-styles/subtitle.js +1 -2
  103. package/build/components/global-styles/subtitle.js.map +1 -1
  104. package/build/components/global-styles/typogrphy-elements.js +1 -2
  105. package/build/components/global-styles/typogrphy-elements.js.map +1 -1
  106. package/build/components/global-styles/ui.js +3 -4
  107. package/build/components/global-styles/ui.js.map +1 -1
  108. package/build/components/header-edit-mode/mode-switcher/index.js +1 -2
  109. package/build/components/header-edit-mode/mode-switcher/index.js.map +1 -1
  110. package/build/components/header-edit-mode/more-menu/index.js +12 -21
  111. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  112. package/build/components/header-edit-mode/plugin-more-menu-item/index.js +1 -2
  113. package/build/components/header-edit-mode/plugin-more-menu-item/index.js.map +1 -1
  114. package/build/components/header-edit-mode/tools-more-menu-group/index.js +1 -2
  115. package/build/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
  116. package/build/components/keyboard-shortcut-help-modal/config.js +1 -2
  117. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  118. package/build/components/keyboard-shortcut-help-modal/index.js +1 -3
  119. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  120. package/build/components/keyboard-shortcuts/edit-mode.js +1 -2
  121. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  122. package/build/components/keyboard-shortcuts/global.js +1 -2
  123. package/build/components/keyboard-shortcuts/global.js.map +1 -1
  124. package/build/components/keyboard-shortcuts/register.js +1 -2
  125. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  126. package/build/components/layout/index.js +0 -2
  127. package/build/components/layout/index.js.map +1 -1
  128. package/build/components/media/index.js +1 -2
  129. package/build/components/media/index.js.map +1 -1
  130. package/build/components/page-pages/index.js +27 -15
  131. package/build/components/page-pages/index.js.map +1 -1
  132. package/build/components/page-patterns/dataviews-pattern-actions.js +87 -32
  133. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  134. package/build/components/page-patterns/grid-item.js +2 -6
  135. package/build/components/page-patterns/grid-item.js.map +1 -1
  136. package/build/components/page-patterns/index.js +2 -1
  137. package/build/components/page-patterns/index.js.map +1 -1
  138. package/build/components/page-patterns/search-items.js +0 -1
  139. package/build/components/page-patterns/search-items.js.map +1 -1
  140. package/build/components/page-patterns/use-patterns.js +1 -2
  141. package/build/components/page-patterns/use-patterns.js.map +1 -1
  142. package/build/components/page-templates-template-parts/actions.js +2 -4
  143. package/build/components/page-templates-template-parts/actions.js.map +1 -1
  144. package/build/components/page-templates-template-parts/index.js +8 -5
  145. package/build/components/page-templates-template-parts/index.js.map +1 -1
  146. package/build/components/pattern-modal/index.js +1 -2
  147. package/build/components/pattern-modal/index.js.map +1 -1
  148. package/build/components/plugin-template-setting-panel/index.js +1 -2
  149. package/build/components/plugin-template-setting-panel/index.js.map +1 -1
  150. package/build/components/preferences-modal/index.js +1 -2
  151. package/build/components/preferences-modal/index.js.map +1 -1
  152. package/build/components/resizable-frame/index.js +1 -2
  153. package/build/components/resizable-frame/index.js.map +1 -1
  154. package/build/components/revisions/index.js +1 -2
  155. package/build/components/revisions/index.js.map +1 -1
  156. package/build/components/routes/link.js +3 -7
  157. package/build/components/routes/link.js.map +1 -1
  158. package/build/components/sidebar/index.js +3 -4
  159. package/build/components/sidebar/index.js.map +1 -1
  160. package/build/components/sidebar-dataviews/default-views.js +4 -6
  161. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  162. package/build/components/sidebar-edit-mode/constants.js +2 -4
  163. package/build/components/sidebar-edit-mode/constants.js.map +1 -1
  164. package/build/components/sidebar-edit-mode/index.js +97 -19
  165. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  166. package/build/components/sidebar-edit-mode/settings-header/index.js +22 -73
  167. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  168. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +1 -2
  169. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  170. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +1 -2
  171. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
  172. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
  173. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  174. package/build/components/site-hub/index.js +1 -2
  175. package/build/components/site-hub/index.js.map +1 -1
  176. package/build/components/site-icon/index.js +3 -4
  177. package/build/components/site-icon/index.js.map +1 -1
  178. package/build/components/style-book/index.js +1 -2
  179. package/build/components/style-book/index.js.map +1 -1
  180. package/build/components/template-part-converter/convert-to-template-part.js +0 -1
  181. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  182. package/build/components/welcome-guide/template.js +2 -2
  183. package/build/components/welcome-guide/template.js.map +1 -1
  184. package/build/hooks/commands/use-edit-mode-commands.js +16 -6
  185. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  186. package/build/hooks/navigation-menu-edit.js +1 -2
  187. package/build/hooks/navigation-menu-edit.js.map +1 -1
  188. package/build/hooks/template-part-edit.js +1 -2
  189. package/build/hooks/template-part-edit.js.map +1 -1
  190. package/build/store/actions.js +7 -2
  191. package/build/store/actions.js.map +1 -1
  192. package/build/store/constants.js +1 -2
  193. package/build/store/constants.js.map +1 -1
  194. package/build/store/index.js +4 -6
  195. package/build/store/index.js.map +1 -1
  196. package/build/store/reducer.js +1 -2
  197. package/build/store/reducer.js.map +1 -1
  198. package/build/store/selectors.js +9 -18
  199. package/build/store/selectors.js.map +1 -1
  200. package/build/store/utils.js +1 -2
  201. package/build/store/utils.js.map +1 -1
  202. package/build/utils/constants.js +13 -26
  203. package/build/utils/constants.js.map +1 -1
  204. package/build-module/components/block-editor/site-editor-canvas.js +13 -6
  205. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  206. package/build-module/components/block-editor/use-navigate-to-entity-record.js +25 -0
  207. package/build-module/components/block-editor/use-navigate-to-entity-record.js.map +1 -0
  208. package/build-module/components/block-editor/use-site-editor-settings.js +29 -4
  209. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  210. package/build-module/components/editor/index.js +13 -10
  211. package/build-module/components/editor/index.js.map +1 -1
  212. package/build-module/components/global-styles/font-families.js +8 -4
  213. package/build-module/components/global-styles/font-families.js.map +1 -1
  214. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +12 -11
  215. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  216. package/build-module/components/global-styles/font-library-modal/context.js +14 -0
  217. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  218. package/build-module/components/global-styles/font-library-modal/font-card.js +3 -2
  219. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
  220. package/build-module/components/global-styles/font-library-modal/font-collection.js +28 -41
  221. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  222. package/build-module/components/global-styles/font-library-modal/font-demo.js +5 -10
  223. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  224. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +2 -2
  225. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  226. package/build-module/components/global-styles/font-library-modal/index.js +10 -3
  227. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  228. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +14 -25
  229. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  230. package/build-module/components/global-styles/font-library-modal/library-font-card.js +1 -1
  231. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  232. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +14 -13
  233. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  234. package/build-module/components/global-styles/font-library-modal/resolvers.js +1 -1
  235. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  236. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js +13 -3
  237. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
  238. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +158 -6
  239. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  240. package/build-module/components/global-styles/font-library-modal/utils/index.js +36 -31
  241. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  242. package/build-module/components/global-styles/screen-block.js +0 -9
  243. package/build-module/components/global-styles/screen-block.js.map +1 -1
  244. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
  245. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  246. package/build-module/components/global-styles/screen-typography-element.js +3 -5
  247. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  248. package/build-module/components/header-edit-mode/more-menu/index.js +12 -21
  249. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  250. package/build-module/components/keyboard-shortcut-help-modal/index.js +0 -1
  251. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  252. package/build-module/components/layout/index.js +0 -2
  253. package/build-module/components/layout/index.js.map +1 -1
  254. package/build-module/components/page-pages/index.js +25 -13
  255. package/build-module/components/page-pages/index.js.map +1 -1
  256. package/build-module/components/page-patterns/dataviews-pattern-actions.js +81 -20
  257. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  258. package/build-module/components/page-patterns/grid-item.js +1 -4
  259. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  260. package/build-module/components/page-patterns/index.js +2 -1
  261. package/build-module/components/page-patterns/index.js.map +1 -1
  262. package/build-module/components/page-patterns/search-items.js +0 -1
  263. package/build-module/components/page-patterns/search-items.js.map +1 -1
  264. package/build-module/components/page-templates-template-parts/index.js +6 -3
  265. package/build-module/components/page-templates-template-parts/index.js.map +1 -1
  266. package/build-module/components/routes/link.js +3 -6
  267. package/build-module/components/routes/link.js.map +1 -1
  268. package/build-module/components/sidebar-dataviews/default-views.js +3 -3
  269. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  270. package/build-module/components/sidebar-edit-mode/index.js +98 -19
  271. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  272. package/build-module/components/sidebar-edit-mode/settings-header/index.js +24 -73
  273. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  274. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +2 -2
  275. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  276. package/build-module/components/site-icon/index.js +2 -2
  277. package/build-module/components/site-icon/index.js.map +1 -1
  278. package/build-module/components/template-part-converter/convert-to-template-part.js +0 -1
  279. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  280. package/build-module/components/welcome-guide/template.js +2 -2
  281. package/build-module/components/welcome-guide/template.js.map +1 -1
  282. package/build-module/hooks/commands/use-edit-mode-commands.js +16 -6
  283. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  284. package/build-module/store/actions.js +7 -2
  285. package/build-module/store/actions.js.map +1 -1
  286. package/build-style/style-rtl.css +398 -224
  287. package/build-style/style.css +398 -224
  288. package/package.json +42 -42
  289. package/src/components/add-new-template/style.scss +0 -12
  290. package/src/components/block-editor/site-editor-canvas.js +23 -15
  291. package/src/components/block-editor/style.scss +2 -20
  292. package/src/components/block-editor/use-navigate-to-entity-record.js +25 -0
  293. package/src/components/block-editor/use-site-editor-settings.js +35 -4
  294. package/src/components/editor/index.js +11 -10
  295. package/src/components/global-styles/font-families.js +13 -4
  296. package/src/components/global-styles/font-library-modal/collection-font-variant.js +10 -8
  297. package/src/components/global-styles/font-library-modal/context.js +14 -0
  298. package/src/components/global-styles/font-library-modal/font-card.js +10 -4
  299. package/src/components/global-styles/font-library-modal/font-collection.js +25 -47
  300. package/src/components/global-styles/font-library-modal/font-demo.js +9 -10
  301. package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +2 -2
  302. package/src/components/global-styles/font-library-modal/index.js +8 -3
  303. package/src/components/global-styles/font-library-modal/installed-fonts.js +20 -34
  304. package/src/components/global-styles/font-library-modal/library-font-card.js +1 -1
  305. package/src/components/global-styles/font-library-modal/library-font-variant.js +12 -10
  306. package/src/components/global-styles/font-library-modal/resolvers.js +1 -1
  307. package/src/components/global-styles/font-library-modal/style.scss +13 -27
  308. package/src/components/global-styles/font-library-modal/tab-panel-layout.js +17 -0
  309. package/src/components/global-styles/font-library-modal/upload-fonts.js +192 -6
  310. package/src/components/global-styles/font-library-modal/utils/index.js +46 -39
  311. package/src/components/global-styles/screen-block.js +0 -12
  312. package/src/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
  313. package/src/components/global-styles/screen-revisions/style.scss +21 -15
  314. package/src/components/global-styles/screen-typography-element.js +2 -4
  315. package/src/components/global-styles/style.scss +4 -0
  316. package/src/components/header-edit-mode/more-menu/index.js +10 -18
  317. package/src/components/header-edit-mode/style.scss +54 -6
  318. package/src/components/layout/style.scss +2 -7
  319. package/src/components/page/style.scss +0 -1
  320. package/src/components/page-pages/index.js +32 -23
  321. package/src/components/page-pages/style.scss +28 -27
  322. package/src/components/page-patterns/dataviews-pattern-actions.js +106 -30
  323. package/src/components/page-patterns/grid-item.js +0 -2
  324. package/src/components/page-patterns/index.js +1 -0
  325. package/src/components/page-patterns/style.scss +4 -9
  326. package/src/components/page-templates-template-parts/index.js +23 -16
  327. package/src/components/page-templates-template-parts/style.scss +16 -0
  328. package/src/components/routes/link.js +3 -12
  329. package/src/components/sidebar-dataviews/default-views.js +3 -3
  330. package/src/components/sidebar-edit-mode/index.js +122 -29
  331. package/src/components/sidebar-edit-mode/settings-header/index.js +28 -88
  332. package/src/components/sidebar-edit-mode/settings-header/style.scss +0 -87
  333. package/src/components/sidebar-edit-mode/sidebar-card/style.scss +3 -0
  334. package/src/components/sidebar-edit-mode/style.scss +4 -0
  335. package/src/components/sidebar-navigation-screen/style.scss +2 -1
  336. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +9 -3
  337. package/src/components/site-hub/style.scss +0 -1
  338. package/src/components/site-icon/index.js +1 -1
  339. package/src/components/site-icon/style.scss +9 -1
  340. package/src/components/welcome-guide/template.js +2 -2
  341. package/src/hooks/commands/use-edit-mode-commands.js +26 -14
  342. package/src/store/actions.js +20 -3
  343. package/build/components/block-editor/back-button.js +0 -47
  344. package/build/components/block-editor/back-button.js.map +0 -1
  345. package/build/components/block-editor/use-post-link-props.js +0 -27
  346. package/build/components/block-editor/use-post-link-props.js.map +0 -1
  347. package/build/components/global-styles/font-library-modal/font-variant.js +0 -51
  348. package/build/components/global-styles/font-library-modal/font-variant.js.map +0 -1
  349. package/build/components/global-styles/font-library-modal/local-fonts.js +0 -196
  350. package/build/components/global-styles/font-library-modal/local-fonts.js.map +0 -1
  351. package/build-module/components/block-editor/back-button.js +0 -39
  352. package/build-module/components/block-editor/back-button.js.map +0 -1
  353. package/build-module/components/block-editor/use-post-link-props.js +0 -20
  354. package/build-module/components/block-editor/use-post-link-props.js.map +0 -1
  355. package/build-module/components/global-styles/font-library-modal/font-variant.js +0 -42
  356. package/build-module/components/global-styles/font-library-modal/font-variant.js.map +0 -1
  357. package/build-module/components/global-styles/font-library-modal/local-fonts.js +0 -187
  358. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +0 -1
  359. package/src/components/block-editor/back-button.js +0 -48
  360. package/src/components/block-editor/use-post-link-props.js +0 -20
  361. package/src/components/global-styles/font-library-modal/font-variant.js +0 -53
  362. package/src/components/global-styles/font-library-modal/local-fonts.js +0 -239
@@ -1 +1 @@
1
- {"version":3,"names":["removeAccents","Icon","__experimentalText","Text","__experimentalHStack","HStack","VisuallyHidden","__","useState","useMemo","useCallback","useEffect","useEntityRecords","decodeEntities","parse","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","sortByTextFields","getPaginationResults","routerPrivateApis","Page","default","Link","useLink","AddNewTemplate","useAddedBy","AvatarImage","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","ENUMERATION_TYPE","OPERATOR_IN","OPERATOR_NOT_IN","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","useResetTemplateAction","deleteTemplateAction","renameTemplateAction","postRevisionsAction","usePatternSettings","unlock","AddNewTemplatePart","ExperimentalBlockEditorProvider","useGlobalStyle","useHistory","useLocation","EMPTY_ARRAY","SUPPORTED_LAYOUTS","window","__experimentalAdminViews","defaultConfigPerViewType","primaryField","mediaField","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","hiddenFields","layout","filters","normalizeSearchInput","input","trim","toLowerCase","Title","item","viewType","title","rendered","linkProps","params","postId","id","postType","canvas","state","backPath","createElement","AuthorField","text","icon","imageUrl","withIcon","alignment","spacing","className","Preview","settings","backgroundColor","blocks","content","raw","onClick","isEmpty","length","style","PageTemplatesTemplateParts","activeView","defaultView","operator","value","view","setView","currentView","records","isResolving","isLoadingData","per_page","history","onSelectionChange","items","push","undefined","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","label","fields","_fields","header","render","minWidth","maxWidth","enableSorting","getValue","enableHiding","description","Fragment","variant","elements","width","data","paginationInfo","totalItems","totalPages","filteredData","normalizedSearch","filter","slug","includes","textFields","resetTemplateAction","actions","onChangeView","newView","templateType","showIcon","toggleProps","isLoading","deferredRendering","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-templates-template-parts/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tDataViews,\n\tsortByTextFields,\n\tgetPaginationResults,\n} from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport AddNewTemplate from '../add-new-template';\nimport { useAddedBy, AvatarImage } from '../list/added-by';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tENUMERATION_TYPE,\n\tOPERATOR_IN,\n\tOPERATOR_NOT_IN,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\nimport {\n\tuseResetTemplateAction,\n\tdeleteTemplateAction,\n\trenameTemplateAction,\n} from './actions';\nimport { postRevisionsAction } from '../actions';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport AddNewTemplatePart from './add-new-template-part';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst SUPPORTED_LAYOUTS = window?.__experimentalAdminViews\n\t? [ LAYOUT_TABLE, LAYOUT_GRID, LAYOUT_LIST ]\n\t: [ LAYOUT_TABLE, LAYOUT_GRID ];\n\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_TABLE ]: {\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tprimaryField: 'title',\n\t\tmediaField: 'preview',\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_TABLE,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'preview' ],\n\tlayout: defaultConfigPerViewType[ LAYOUT_TABLE ],\n\tfilters: [],\n};\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nfunction Title( { item, viewType } ) {\n\tif ( viewType === LAYOUT_LIST ) {\n\t\treturn decodeEntities( item.title?.rendered ) || __( '(no title)' );\n\t}\n\tconst linkProps = {\n\t\tparams: {\n\t\t\tpostId: item.id,\n\t\t\tpostType: item.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t};\n\tif ( item.type === TEMPLATE_PART_POST_TYPE ) {\n\t\tlinkProps.state = {\n\t\t\tbackPath: '/wp_template_part/all',\n\t\t};\n\t}\n\treturn (\n\t\t<Link { ...linkProps }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nfunction AuthorField( { item, viewType } ) {\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\tconst withIcon = viewType !== LAYOUT_LIST;\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ withIcon && imageUrl && <AvatarImage imageUrl={ imageUrl } /> }\n\t\t\t{ withIcon && ! imageUrl && (\n\t\t\t\t<div className=\"edit-site-list-added-by__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span>{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName={ `page-templates-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t>\n\t\t\t\t\t{ isEmpty &&\n\t\t\t\t\t\t( item.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t\t? __( 'Empty template' )\n\t\t\t\t\t\t\t: __( 'Empty template part' ) ) }\n\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ blocks } /> }\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\nexport default function PageTemplatesTemplateParts( { postType } ) {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout } = params;\n\tconst defaultView = useMemo( () => {\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: window?.__experimentalAdminViews\n\t\t\t\t? layout ?? DEFAULT_VIEW.type\n\t\t\t\t: DEFAULT_VIEW.type,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'in',\n\t\t\t\t\t\t\t\tvalue: activeView,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'in',\n\t\t\t\t\t\t\t\tvalue: activeView,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } = useEntityRecords(\n\t\t'postType',\n\t\tpostType,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst history = useHistory();\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ].id : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Preview item={ item } viewType={ view.type } />;\n\t\t\t\t},\n\t\t\t\tminWidth: 120,\n\t\t\t\tmaxWidth: 120,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader:\n\t\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'Template' )\n\t\t\t\t\t\t: __( 'Template Part' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\t\tif ( postType === TEMPLATE_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\tgetValue: ( { item } ) => item.description,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn item.description ? (\n\t\t\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tview.type === LAYOUT_TABLE && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text variant=\"muted\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t&#8212;\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t{ __( 'No description.' ) }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tminWidth: 320,\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t}\n\t\t// TODO: The plan is to support fields reordering, which would require an API like `order` or something\n\t\t// similar. With the aforementioned API we wouldn't need to construct the fields array like this.\n\t\t_fields.push( {\n\t\t\theader: __( 'Author' ),\n\t\t\tid: 'author',\n\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t},\n\t\t\tenableHiding: false,\n\t\t\ttype: ENUMERATION_TYPE,\n\t\t\telements: authors,\n\t\t\twidth: '1%',\n\t\t} );\n\t\treturn _fields;\n\t}, [ postType, authors, view.type ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn {\n\t\t\t\tdata: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredData = [ ...records ];\n\t\t// Handle global search.\n\t\tif ( view.search ) {\n\t\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\tconst title = item.title?.rendered || item.slug;\n\t\t\t\treturn (\n\t\t\t\t\tnormalizeSearchInput( title ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t) ||\n\t\t\t\t\tnormalizeSearchInput( item.description ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\t// Handle filters.\n\t\tif ( view.filters.length > 0 ) {\n\t\t\tview.filters.forEach( ( filter ) => {\n\t\t\t\tif (\n\t\t\t\t\tfilter.field === 'author' &&\n\t\t\t\t\tfilter.operator === OPERATOR_IN &&\n\t\t\t\t\t!! filter.value\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn item.author_text === filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.field === 'author' &&\n\t\t\t\t\tfilter.operator === OPERATOR_NOT_IN &&\n\t\t\t\t\t!! filter.value\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn item.author_text !== filter.value;\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Handle sorting.\n\t\tif ( view.sort ) {\n\t\t\tfilteredData = sortByTextFields( {\n\t\t\t\tdata: filteredData,\n\t\t\t\tview,\n\t\t\t\tfields,\n\t\t\t\ttextFields: [ 'title', 'author' ],\n\t\t\t} );\n\t\t}\n\t\t// Handle pagination.\n\t\treturn getPaginationResults( {\n\t\t\tdata: filteredData,\n\t\t\tview,\n\t\t} );\n\t}, [ records, view, fields ] );\n\n\tconst resetTemplateAction = useResetTemplateAction();\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\tresetTemplateAction,\n\t\t\tdeleteTemplateAction,\n\t\t\trenameTemplateAction,\n\t\t\tpostRevisionsAction,\n\t\t],\n\t\t[ resetTemplateAction ]\n\t);\n\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\tnewView = {\n\t\t\t\t\t...newView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t? __( 'Templates' )\n\t\t\t\t\t: __( 'Template Parts' )\n\t\t\t}\n\t\t\tactions={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE ? (\n\t\t\t\t\t<AddNewTemplate\n\t\t\t\t\t\ttemplateType={ postType }\n\t\t\t\t\t\tshowIcon={ false }\n\t\t\t\t\t\ttoggleProps={ { variant: 'primary' } }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<AddNewTemplatePart />\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\tdeferredRendering={ ! view.hiddenFields?.includes( 'preview' ) }\n\t\t\t\tsupportedLayouts={ SUPPORTED_LAYOUTS }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["removeAccents","Icon","__experimentalText","Text","__experimentalHStack","HStack","VisuallyHidden","__","useState","useMemo","useCallback","useEffect","useEntityRecords","decodeEntities","parse","BlockPreview","privateApis","blockEditorPrivateApis","DataViews","sortByTextFields","getPaginationResults","routerPrivateApis","Page","default","Link","useLink","AddNewTemplate","useAddedBy","AvatarImage","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","ENUMERATION_TYPE","OPERATOR_IN","OPERATOR_NOT_IN","LAYOUT_GRID","LAYOUT_TABLE","LAYOUT_LIST","useResetTemplateAction","deleteTemplateAction","renameTemplateAction","postRevisionsAction","usePatternSettings","unlock","AddNewTemplatePart","ExperimentalBlockEditorProvider","useGlobalStyle","useHistory","useLocation","EMPTY_ARRAY","SUPPORTED_LAYOUTS","window","__experimentalAdminViews","defaultConfigPerViewType","primaryField","mediaField","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","hiddenFields","layout","filters","normalizeSearchInput","input","trim","toLowerCase","Title","item","viewType","title","rendered","linkProps","params","postId","id","postType","canvas","state","backPath","createElement","AuthorField","text","icon","imageUrl","withIcon","alignment","spacing","className","Preview","settings","backgroundColor","blocks","content","raw","onClick","isEmpty","length","style","PageTemplatesTemplateParts","activeView","defaultView","usedType","operator","value","view","setView","currentView","records","isResolving","isLoadingData","per_page","history","onSelectionChange","items","push","undefined","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","label","fields","_fields","header","render","minWidth","maxWidth","enableSorting","getValue","enableHiding","description","Fragment","variant","elements","width","data","paginationInfo","totalItems","totalPages","filteredData","normalizedSearch","filter","slug","includes","textFields","resetTemplateAction","actions","onChangeView","newView","templateType","showIcon","toggleProps","isLoading","deferredRendering","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-templates-template-parts/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tDataViews,\n\tsortByTextFields,\n\tgetPaginationResults,\n} from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport AddNewTemplate from '../add-new-template';\nimport { useAddedBy, AvatarImage } from '../list/added-by';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tENUMERATION_TYPE,\n\tOPERATOR_IN,\n\tOPERATOR_NOT_IN,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\nimport {\n\tuseResetTemplateAction,\n\tdeleteTemplateAction,\n\trenameTemplateAction,\n} from './actions';\nimport { postRevisionsAction } from '../actions';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport AddNewTemplatePart from './add-new-template-part';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst SUPPORTED_LAYOUTS = window?.__experimentalAdminViews\n\t? [ LAYOUT_TABLE, LAYOUT_GRID, LAYOUT_LIST ]\n\t: [ LAYOUT_TABLE, LAYOUT_GRID ];\n\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_TABLE ]: {\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tprimaryField: 'title',\n\t\tmediaField: 'preview',\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_TABLE,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'preview' ],\n\tlayout: defaultConfigPerViewType[ LAYOUT_TABLE ],\n\tfilters: [],\n};\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nfunction Title( { item, viewType } ) {\n\tif ( viewType === LAYOUT_LIST ) {\n\t\treturn decodeEntities( item.title?.rendered ) || __( '(no title)' );\n\t}\n\tconst linkProps = {\n\t\tparams: {\n\t\t\tpostId: item.id,\n\t\t\tpostType: item.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t};\n\tif ( item.type === TEMPLATE_PART_POST_TYPE ) {\n\t\tlinkProps.state = {\n\t\t\tbackPath: '/wp_template_part/all',\n\t\t};\n\t}\n\treturn (\n\t\t<Link { ...linkProps }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nfunction AuthorField( { item, viewType } ) {\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\tconst withIcon = viewType !== LAYOUT_LIST;\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ withIcon && imageUrl && <AvatarImage imageUrl={ imageUrl } /> }\n\t\t\t{ withIcon && ! imageUrl && (\n\t\t\t\t<div className=\"edit-site-list-added-by__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span>{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName={ `page-templates-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t{ viewType === LAYOUT_LIST && ! isEmpty && (\n\t\t\t\t\t<BlockPreview blocks={ blocks } />\n\t\t\t\t) }\n\t\t\t\t{ viewType !== LAYOUT_LIST && (\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isEmpty &&\n\t\t\t\t\t\t\t( item.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t\t\t? __( 'Empty template' )\n\t\t\t\t\t\t\t\t: __( 'Empty template part' ) ) }\n\t\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ blocks } /> }\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\nexport default function PageTemplatesTemplateParts( { postType } ) {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout } = params;\n\tconst defaultView = useMemo( () => {\n\t\tconst usedType = window?.__experimentalAdminViews\n\t\t\t? layout ?? DEFAULT_VIEW.type\n\t\t\t: DEFAULT_VIEW.type;\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: usedType,\n\t\t\tlayout: defaultConfigPerViewType[ usedType ],\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'in',\n\t\t\t\t\t\t\t\tvalue: activeView,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'in',\n\t\t\t\t\t\t\t\tvalue: activeView,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } = useEntityRecords(\n\t\t'postType',\n\t\tpostType,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst history = useHistory();\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ].id : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Preview item={ item } viewType={ view.type } />;\n\t\t\t\t},\n\t\t\t\tminWidth: 120,\n\t\t\t\tmaxWidth: 120,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader:\n\t\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'Template' )\n\t\t\t\t\t\t: __( 'Template Part' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\t\tif ( postType === TEMPLATE_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\tgetValue: ( { item } ) => item.description,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn item.description ? (\n\t\t\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tview.type === LAYOUT_TABLE && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text variant=\"muted\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t&#8212;\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t{ __( 'No description.' ) }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tminWidth: 320,\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t}\n\t\t// TODO: The plan is to support fields reordering, which would require an API like `order` or something\n\t\t// similar. With the aforementioned API we wouldn't need to construct the fields array like this.\n\t\t_fields.push( {\n\t\t\theader: __( 'Author' ),\n\t\t\tid: 'author',\n\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t},\n\t\t\ttype: ENUMERATION_TYPE,\n\t\t\telements: authors,\n\t\t\twidth: '1%',\n\t\t} );\n\t\treturn _fields;\n\t}, [ postType, authors, view.type ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn {\n\t\t\t\tdata: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredData = [ ...records ];\n\t\t// Handle global search.\n\t\tif ( view.search ) {\n\t\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\tconst title = item.title?.rendered || item.slug;\n\t\t\t\treturn (\n\t\t\t\t\tnormalizeSearchInput( title ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t) ||\n\t\t\t\t\tnormalizeSearchInput( item.description ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\t// Handle filters.\n\t\tif ( view.filters.length > 0 ) {\n\t\t\tview.filters.forEach( ( filter ) => {\n\t\t\t\tif (\n\t\t\t\t\tfilter.field === 'author' &&\n\t\t\t\t\tfilter.operator === OPERATOR_IN &&\n\t\t\t\t\t!! filter.value\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn item.author_text === filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.field === 'author' &&\n\t\t\t\t\tfilter.operator === OPERATOR_NOT_IN &&\n\t\t\t\t\t!! filter.value\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn item.author_text !== filter.value;\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Handle sorting.\n\t\tif ( view.sort ) {\n\t\t\tfilteredData = sortByTextFields( {\n\t\t\t\tdata: filteredData,\n\t\t\t\tview,\n\t\t\t\tfields,\n\t\t\t\ttextFields: [ 'title', 'author' ],\n\t\t\t} );\n\t\t}\n\t\t// Handle pagination.\n\t\treturn getPaginationResults( {\n\t\t\tdata: filteredData,\n\t\t\tview,\n\t\t} );\n\t}, [ records, view, fields ] );\n\n\tconst resetTemplateAction = useResetTemplateAction();\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\tresetTemplateAction,\n\t\t\tdeleteTemplateAction,\n\t\t\trenameTemplateAction,\n\t\t\tpostRevisionsAction,\n\t\t],\n\t\t[ resetTemplateAction ]\n\t);\n\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\tnewView = {\n\t\t\t\t\t...newView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t? __( 'Templates' )\n\t\t\t\t\t: __( 'Template Parts' )\n\t\t\t}\n\t\t\tactions={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE ? (\n\t\t\t\t\t<AddNewTemplate\n\t\t\t\t\t\ttemplateType={ postType }\n\t\t\t\t\t\tshowIcon={ false }\n\t\t\t\t\t\ttoggleProps={ { variant: 'primary' } }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<AddNewTemplatePart />\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\tdeferredRendering={ ! view.hiddenFields?.includes( 'preview' ) }\n\t\t\t\tsupportedLayouts={ SUPPORTED_LAYOUTS }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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"}
@@ -13,9 +13,10 @@ import { isPreviewingTheme, currentlyPreviewingTheme } from '../../utils/is-prev
13
13
  const {
14
14
  useHistory
15
15
  } = unlock(routerPrivateApis);
16
- export function getPostLinkProps(history, params = {}, state, shouldReplace = false) {
16
+ export function useLink(params, state, shouldReplace = false) {
17
+ const history = useHistory();
17
18
  function onClick(event) {
18
- event.preventDefault();
19
+ event?.preventDefault();
19
20
  if (shouldReplace) {
20
21
  history.replace(params, state);
21
22
  } else {
@@ -36,10 +37,6 @@ export function getPostLinkProps(history, params = {}, state, shouldReplace = fa
36
37
  onClick
37
38
  };
38
39
  }
39
- export function useLink(params, state, shouldReplace) {
40
- const history = useHistory();
41
- return getPostLinkProps(history, params, state, shouldReplace);
42
- }
43
40
  export default function Link({
44
41
  params = {},
45
42
  state,
@@ -1 +1 @@
1
- {"version":3,"names":["addQueryArgs","getQueryArgs","removeQueryArgs","privateApis","routerPrivateApis","unlock","isPreviewingTheme","currentlyPreviewingTheme","useHistory","getPostLinkProps","history","params","state","shouldReplace","onClick","event","preventDefault","replace","push","currentArgs","window","location","href","currentUrlWithoutArgs","Object","keys","wp_theme_preview","newUrl","useLink","Link","children","props","createElement"],"sources":["@wordpress/edit-site/src/components/routes/link.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addQueryArgs, getQueryArgs, removeQueryArgs } from '@wordpress/url';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport function getPostLinkProps(\n\thistory,\n\tparams = {},\n\tstate,\n\tshouldReplace = false\n) {\n\tfunction onClick( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( shouldReplace ) {\n\t\t\thistory.replace( params, state );\n\t\t} else {\n\t\t\thistory.push( params, state );\n\t\t}\n\t}\n\n\tconst currentArgs = getQueryArgs( window.location.href );\n\tconst currentUrlWithoutArgs = removeQueryArgs(\n\t\twindow.location.href,\n\t\t...Object.keys( currentArgs )\n\t);\n\n\tif ( isPreviewingTheme() ) {\n\t\tparams = {\n\t\t\t...params,\n\t\t\twp_theme_preview: currentlyPreviewingTheme(),\n\t\t};\n\t}\n\n\tconst newUrl = addQueryArgs( currentUrlWithoutArgs, params );\n\n\treturn {\n\t\thref: newUrl,\n\t\tonClick,\n\t};\n}\n\nexport function useLink( params, state, shouldReplace ) {\n\tconst history = useHistory();\n\treturn getPostLinkProps( history, params, state, shouldReplace );\n}\n\nexport default function Link( {\n\tparams = {},\n\tstate,\n\treplace: shouldReplace = false,\n\tchildren,\n\t...props\n} ) {\n\tconst { href, onClick } = useLink( params, state, shouldReplace );\n\n\treturn (\n\t\t<a href={ href } onClick={ onClick } { ...props }>\n\t\t\t{ children }\n\t\t</a>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,YAAY,EAAEC,YAAY,EAAEC,eAAe,QAAQ,gBAAgB;AAC5E,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SACCC,iBAAiB,EACjBC,wBAAwB,QAClB,iCAAiC;AAExC,MAAM;EAAEC;AAAW,CAAC,GAAGH,MAAM,CAAED,iBAAkB,CAAC;AAElD,OAAO,SAASK,gBAAgBA,CAC/BC,OAAO,EACPC,MAAM,GAAG,CAAC,CAAC,EACXC,KAAK,EACLC,aAAa,GAAG,KAAK,EACpB;EACD,SAASC,OAAOA,CAAEC,KAAK,EAAG;IACzBA,KAAK,CAACC,cAAc,CAAC,CAAC;IAEtB,IAAKH,aAAa,EAAG;MACpBH,OAAO,CAACO,OAAO,CAAEN,MAAM,EAAEC,KAAM,CAAC;IACjC,CAAC,MAAM;MACNF,OAAO,CAACQ,IAAI,CAAEP,MAAM,EAAEC,KAAM,CAAC;IAC9B;EACD;EAEA,MAAMO,WAAW,GAAGlB,YAAY,CAAEmB,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC;EACxD,MAAMC,qBAAqB,GAAGrB,eAAe,CAC5CkB,MAAM,CAACC,QAAQ,CAACC,IAAI,EACpB,GAAGE,MAAM,CAACC,IAAI,CAAEN,WAAY,CAC7B,CAAC;EAED,IAAKb,iBAAiB,CAAC,CAAC,EAAG;IAC1BK,MAAM,GAAG;MACR,GAAGA,MAAM;MACTe,gBAAgB,EAAEnB,wBAAwB,CAAC;IAC5C,CAAC;EACF;EAEA,MAAMoB,MAAM,GAAG3B,YAAY,CAAEuB,qBAAqB,EAAEZ,MAAO,CAAC;EAE5D,OAAO;IACNW,IAAI,EAAEK,MAAM;IACZb;EACD,CAAC;AACF;AAEA,OAAO,SAASc,OAAOA,CAAEjB,MAAM,EAAEC,KAAK,EAAEC,aAAa,EAAG;EACvD,MAAMH,OAAO,GAAGF,UAAU,CAAC,CAAC;EAC5B,OAAOC,gBAAgB,CAAEC,OAAO,EAAEC,MAAM,EAAEC,KAAK,EAAEC,aAAc,CAAC;AACjE;AAEA,eAAe,SAASgB,IAAIA,CAAE;EAC7BlB,MAAM,GAAG,CAAC,CAAC;EACXC,KAAK;EACLK,OAAO,EAAEJ,aAAa,GAAG,KAAK;EAC9BiB,QAAQ;EACR,GAAGC;AACJ,CAAC,EAAG;EACH,MAAM;IAAET,IAAI;IAAER;EAAQ,CAAC,GAAGc,OAAO,CAAEjB,MAAM,EAAEC,KAAK,EAAEC,aAAc,CAAC;EAEjE,OACCmB,aAAA;IAAGV,IAAI,EAAGA,IAAM;IAACR,OAAO,EAAGA,OAAS;IAAA,GAAMiB;EAAK,GAC5CD,QACA,CAAC;AAEN"}
1
+ {"version":3,"names":["addQueryArgs","getQueryArgs","removeQueryArgs","privateApis","routerPrivateApis","unlock","isPreviewingTheme","currentlyPreviewingTheme","useHistory","useLink","params","state","shouldReplace","history","onClick","event","preventDefault","replace","push","currentArgs","window","location","href","currentUrlWithoutArgs","Object","keys","wp_theme_preview","newUrl","Link","children","props","createElement"],"sources":["@wordpress/edit-site/src/components/routes/link.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addQueryArgs, getQueryArgs, removeQueryArgs } from '@wordpress/url';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport function useLink( params, state, shouldReplace = false ) {\n\tconst history = useHistory();\n\tfunction onClick( event ) {\n\t\tevent?.preventDefault();\n\n\t\tif ( shouldReplace ) {\n\t\t\thistory.replace( params, state );\n\t\t} else {\n\t\t\thistory.push( params, state );\n\t\t}\n\t}\n\n\tconst currentArgs = getQueryArgs( window.location.href );\n\tconst currentUrlWithoutArgs = removeQueryArgs(\n\t\twindow.location.href,\n\t\t...Object.keys( currentArgs )\n\t);\n\n\tif ( isPreviewingTheme() ) {\n\t\tparams = {\n\t\t\t...params,\n\t\t\twp_theme_preview: currentlyPreviewingTheme(),\n\t\t};\n\t}\n\n\tconst newUrl = addQueryArgs( currentUrlWithoutArgs, params );\n\n\treturn {\n\t\thref: newUrl,\n\t\tonClick,\n\t};\n}\n\nexport default function Link( {\n\tparams = {},\n\tstate,\n\treplace: shouldReplace = false,\n\tchildren,\n\t...props\n} ) {\n\tconst { href, onClick } = useLink( params, state, shouldReplace );\n\n\treturn (\n\t\t<a href={ href } onClick={ onClick } { ...props }>\n\t\t\t{ children }\n\t\t</a>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,YAAY,EAAEC,YAAY,EAAEC,eAAe,QAAQ,gBAAgB;AAC5E,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SACCC,iBAAiB,EACjBC,wBAAwB,QAClB,iCAAiC;AAExC,MAAM;EAAEC;AAAW,CAAC,GAAGH,MAAM,CAAED,iBAAkB,CAAC;AAElD,OAAO,SAASK,OAAOA,CAAEC,MAAM,EAAEC,KAAK,EAAEC,aAAa,GAAG,KAAK,EAAG;EAC/D,MAAMC,OAAO,GAAGL,UAAU,CAAC,CAAC;EAC5B,SAASM,OAAOA,CAAEC,KAAK,EAAG;IACzBA,KAAK,EAAEC,cAAc,CAAC,CAAC;IAEvB,IAAKJ,aAAa,EAAG;MACpBC,OAAO,CAACI,OAAO,CAAEP,MAAM,EAAEC,KAAM,CAAC;IACjC,CAAC,MAAM;MACNE,OAAO,CAACK,IAAI,CAAER,MAAM,EAAEC,KAAM,CAAC;IAC9B;EACD;EAEA,MAAMQ,WAAW,GAAGlB,YAAY,CAAEmB,MAAM,CAACC,QAAQ,CAACC,IAAK,CAAC;EACxD,MAAMC,qBAAqB,GAAGrB,eAAe,CAC5CkB,MAAM,CAACC,QAAQ,CAACC,IAAI,EACpB,GAAGE,MAAM,CAACC,IAAI,CAAEN,WAAY,CAC7B,CAAC;EAED,IAAKb,iBAAiB,CAAC,CAAC,EAAG;IAC1BI,MAAM,GAAG;MACR,GAAGA,MAAM;MACTgB,gBAAgB,EAAEnB,wBAAwB,CAAC;IAC5C,CAAC;EACF;EAEA,MAAMoB,MAAM,GAAG3B,YAAY,CAAEuB,qBAAqB,EAAEb,MAAO,CAAC;EAE5D,OAAO;IACNY,IAAI,EAAEK,MAAM;IACZb;EACD,CAAC;AACF;AAEA,eAAe,SAASc,IAAIA,CAAE;EAC7BlB,MAAM,GAAG,CAAC,CAAC;EACXC,KAAK;EACLM,OAAO,EAAEL,aAAa,GAAG,KAAK;EAC9BiB,QAAQ;EACR,GAAGC;AACJ,CAAC,EAAG;EACH,MAAM;IAAER,IAAI;IAAER;EAAQ,CAAC,GAAGL,OAAO,CAAEC,MAAM,EAAEC,KAAK,EAAEC,aAAc,CAAC;EAEjE,OACCmB,aAAA;IAAGT,IAAI,EAAGA,IAAM;IAACR,OAAO,EAAGA,OAAS;IAAA,GAAMgB;EAAK,GAC5CD,QACA,CAAC;AAEN"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { __ } from '@wordpress/i18n';
4
+ import { __, _x } from '@wordpress/i18n';
5
5
  import { trash } from '@wordpress/icons';
6
6
 
7
7
  /**
@@ -35,12 +35,12 @@ const DEFAULT_PAGE_BASE = {
35
35
  // better to keep track of the hidden ones.
36
36
  hiddenFields: ['date', 'featured-image'],
37
37
  layout: {
38
- ...DEFAULT_CONFIG_PER_VIEW_TYPE[LAYOUT_LIST]
38
+ ...DEFAULT_CONFIG_PER_VIEW_TYPE[LAYOUT_TABLE]
39
39
  }
40
40
  };
41
41
  export const DEFAULT_VIEWS = {
42
42
  page: [{
43
- title: __('All'),
43
+ title: _x('All', 'pages'),
44
44
  slug: 'all',
45
45
  view: DEFAULT_PAGE_BASE
46
46
  }, {
@@ -1 +1 @@
1
- {"version":3,"names":["__","trash","LAYOUT_LIST","LAYOUT_TABLE","LAYOUT_GRID","OPERATOR_IN","DEFAULT_CONFIG_PER_VIEW_TYPE","primaryField","mediaField","DEFAULT_PAGE_BASE","type","search","filters","page","perPage","sort","field","direction","hiddenFields","layout","DEFAULT_VIEWS","title","slug","view","operator","value","icon"],"sources":["@wordpress/edit-site/src/components/sidebar-dataviews/default-views.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { trash } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLAYOUT_LIST,\n\tLAYOUT_TABLE,\n\tLAYOUT_GRID,\n\tOPERATOR_IN,\n} from '../../utils/constants';\n\nexport const DEFAULT_CONFIG_PER_VIEW_TYPE = {\n\t[ LAYOUT_TABLE ]: {\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'featured-image',\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tprimaryField: 'title',\n\t\tmediaField: 'featured-image',\n\t},\n};\n\nconst DEFAULT_PAGE_BASE = {\n\ttype: LAYOUT_TABLE,\n\tsearch: '',\n\tfilters: [],\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'date',\n\t\tdirection: 'desc',\n\t},\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'date', 'featured-image' ],\n\tlayout: {\n\t\t...DEFAULT_CONFIG_PER_VIEW_TYPE[ LAYOUT_LIST ],\n\t},\n};\n\nexport const DEFAULT_VIEWS = {\n\tpage: [\n\t\t{\n\t\t\ttitle: __( 'All' ),\n\t\t\tslug: 'all',\n\t\t\tview: DEFAULT_PAGE_BASE,\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Drafts' ),\n\t\t\tslug: 'drafts',\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{ field: 'status', operator: OPERATOR_IN, value: 'draft' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Trash' ),\n\t\t\tslug: 'trash',\n\t\t\ticon: trash,\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{ field: 'status', operator: OPERATOR_IN, value: 'trash' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,QAAQ,kBAAkB;;AAExC;AACA;AACA;AACA,SACCC,WAAW,EACXC,YAAY,EACZC,WAAW,EACXC,WAAW,QACL,uBAAuB;AAE9B,OAAO,MAAMC,4BAA4B,GAAG;EAC3C,CAAEH,YAAY,GAAI;IACjBI,YAAY,EAAE;EACf,CAAC;EACD,CAAEH,WAAW,GAAI;IAChBI,UAAU,EAAE,gBAAgB;IAC5BD,YAAY,EAAE;EACf,CAAC;EACD,CAAEL,WAAW,GAAI;IAChBK,YAAY,EAAE,OAAO;IACrBC,UAAU,EAAE;EACb;AACD,CAAC;AAED,MAAMC,iBAAiB,GAAG;EACzBC,IAAI,EAAEP,YAAY;EAClBQ,MAAM,EAAE,EAAE;EACVC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE;IACLC,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE;EACZ,CAAC;EACD;EACA;EACAC,YAAY,EAAE,CAAE,MAAM,EAAE,gBAAgB,CAAE;EAC1CC,MAAM,EAAE;IACP,GAAGb,4BAA4B,CAAEJ,WAAW;EAC7C;AACD,CAAC;AAED,OAAO,MAAMkB,aAAa,GAAG;EAC5BP,IAAI,EAAE,CACL;IACCQ,KAAK,EAAErB,EAAE,CAAE,KAAM,CAAC;IAClBsB,IAAI,EAAE,KAAK;IACXC,IAAI,EAAEd;EACP,CAAC,EACD;IACCY,KAAK,EAAErB,EAAE,CAAE,QAAS,CAAC;IACrBsB,IAAI,EAAE,QAAQ;IACdC,IAAI,EAAE;MACL,GAAGd,iBAAiB;MACpBG,OAAO,EAAE,CACR;QAAEI,KAAK,EAAE,QAAQ;QAAEQ,QAAQ,EAAEnB,WAAW;QAAEoB,KAAK,EAAE;MAAQ,CAAC;IAE5D;EACD,CAAC,EACD;IACCJ,KAAK,EAAErB,EAAE,CAAE,OAAQ,CAAC;IACpBsB,IAAI,EAAE,OAAO;IACbI,IAAI,EAAEzB,KAAK;IACXsB,IAAI,EAAE;MACL,GAAGd,iBAAiB;MACpBG,OAAO,EAAE,CACR;QAAEI,KAAK,EAAE,QAAQ;QAAEQ,QAAQ,EAAEnB,WAAW;QAAEoB,KAAK,EAAE;MAAQ,CAAC;IAE5D;EACD,CAAC;AAEH,CAAC"}
1
+ {"version":3,"names":["__","_x","trash","LAYOUT_LIST","LAYOUT_TABLE","LAYOUT_GRID","OPERATOR_IN","DEFAULT_CONFIG_PER_VIEW_TYPE","primaryField","mediaField","DEFAULT_PAGE_BASE","type","search","filters","page","perPage","sort","field","direction","hiddenFields","layout","DEFAULT_VIEWS","title","slug","view","operator","value","icon"],"sources":["@wordpress/edit-site/src/components/sidebar-dataviews/default-views.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { trash } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLAYOUT_LIST,\n\tLAYOUT_TABLE,\n\tLAYOUT_GRID,\n\tOPERATOR_IN,\n} from '../../utils/constants';\n\nexport const DEFAULT_CONFIG_PER_VIEW_TYPE = {\n\t[ LAYOUT_TABLE ]: {\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'featured-image',\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tprimaryField: 'title',\n\t\tmediaField: 'featured-image',\n\t},\n};\n\nconst DEFAULT_PAGE_BASE = {\n\ttype: LAYOUT_TABLE,\n\tsearch: '',\n\tfilters: [],\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'date',\n\t\tdirection: 'desc',\n\t},\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'date', 'featured-image' ],\n\tlayout: {\n\t\t...DEFAULT_CONFIG_PER_VIEW_TYPE[ LAYOUT_TABLE ],\n\t},\n};\n\nexport const DEFAULT_VIEWS = {\n\tpage: [\n\t\t{\n\t\t\ttitle: _x( 'All', 'pages' ),\n\t\t\tslug: 'all',\n\t\t\tview: DEFAULT_PAGE_BASE,\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Drafts' ),\n\t\t\tslug: 'drafts',\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{ field: 'status', operator: OPERATOR_IN, value: 'draft' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttitle: __( 'Trash' ),\n\t\t\tslug: 'trash',\n\t\t\ticon: trash,\n\t\t\tview: {\n\t\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\t\tfilters: [\n\t\t\t\t\t{ field: 'status', operator: OPERATOR_IN, value: 'trash' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,KAAK,QAAQ,kBAAkB;;AAExC;AACA;AACA;AACA,SACCC,WAAW,EACXC,YAAY,EACZC,WAAW,EACXC,WAAW,QACL,uBAAuB;AAE9B,OAAO,MAAMC,4BAA4B,GAAG;EAC3C,CAAEH,YAAY,GAAI;IACjBI,YAAY,EAAE;EACf,CAAC;EACD,CAAEH,WAAW,GAAI;IAChBI,UAAU,EAAE,gBAAgB;IAC5BD,YAAY,EAAE;EACf,CAAC;EACD,CAAEL,WAAW,GAAI;IAChBK,YAAY,EAAE,OAAO;IACrBC,UAAU,EAAE;EACb;AACD,CAAC;AAED,MAAMC,iBAAiB,GAAG;EACzBC,IAAI,EAAEP,YAAY;EAClBQ,MAAM,EAAE,EAAE;EACVC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE;IACLC,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE;EACZ,CAAC;EACD;EACA;EACAC,YAAY,EAAE,CAAE,MAAM,EAAE,gBAAgB,CAAE;EAC1CC,MAAM,EAAE;IACP,GAAGb,4BAA4B,CAAEH,YAAY;EAC9C;AACD,CAAC;AAED,OAAO,MAAMiB,aAAa,GAAG;EAC5BP,IAAI,EAAE,CACL;IACCQ,KAAK,EAAErB,EAAE,CAAE,KAAK,EAAE,OAAQ,CAAC;IAC3BsB,IAAI,EAAE,KAAK;IACXC,IAAI,EAAEd;EACP,CAAC,EACD;IACCY,KAAK,EAAEtB,EAAE,CAAE,QAAS,CAAC;IACrBuB,IAAI,EAAE,QAAQ;IACdC,IAAI,EAAE;MACL,GAAGd,iBAAiB;MACpBG,OAAO,EAAE,CACR;QAAEI,KAAK,EAAE,QAAQ;QAAEQ,QAAQ,EAAEnB,WAAW;QAAEoB,KAAK,EAAE;MAAQ,CAAC;IAE5D;EACD,CAAC,EACD;IACCJ,KAAK,EAAEtB,EAAE,CAAE,OAAQ,CAAC;IACpBuB,IAAI,EAAE,OAAO;IACbI,IAAI,EAAEzB,KAAK;IACXsB,IAAI,EAAE;MACL,GAAGd,iBAAiB;MACpBG,OAAO,EAAE,CACR;QAAEI,KAAK,EAAE,QAAQ;QAAEQ,QAAQ,EAAEnB,WAAW;QAAEoB,KAAK,EAAE;MAAQ,CAAC;IAE5D;EACD,CAAC;AAEH,CAAC"}
@@ -2,14 +2,14 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { createSlotFill } from '@wordpress/components';
5
+ import { createSlotFill, privateApis as componentsPrivateApis } from '@wordpress/components';
6
6
  import { isRTL, __ } from '@wordpress/i18n';
7
7
  import { drawerLeft, drawerRight } from '@wordpress/icons';
8
- import { useEffect } from '@wordpress/element';
8
+ import { useCallback, useContext, useEffect, useRef } from '@wordpress/element';
9
9
  import { useSelect, useDispatch } from '@wordpress/data';
10
10
  import { store as interfaceStore } from '@wordpress/interface';
11
11
  import { store as blockEditorStore } from '@wordpress/block-editor';
12
- import { store as editorStore } from '@wordpress/editor';
12
+ import { store as coreStore } from '@wordpress/core-data';
13
13
 
14
14
  /**
15
15
  * Internal dependencies
@@ -23,28 +23,94 @@ import TemplatePanel from './template-panel';
23
23
  import PluginTemplateSettingPanel from '../plugin-template-setting-panel';
24
24
  import { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from './constants';
25
25
  import { store as editSiteStore } from '../../store';
26
+ import { unlock } from '../../lock-unlock';
27
+ const {
28
+ Tabs
29
+ } = unlock(componentsPrivateApis);
26
30
  const {
27
31
  Slot: InspectorSlot,
28
32
  Fill: InspectorFill
29
33
  } = createSlotFill('EditSiteSidebarInspector');
30
34
  export const SidebarInspectorFill = InspectorFill;
35
+ const FillContents = ({
36
+ sidebarName,
37
+ isEditingPage,
38
+ supportsGlobalStyles
39
+ }) => {
40
+ const tabListRef = useRef(null);
41
+ // Because `DefaultSidebar` renders a `ComplementaryArea`, we
42
+ // need to forward the `Tabs` context so it can be passed through the
43
+ // underlying slot/fill.
44
+ const tabsContextValue = useContext(Tabs.Context);
45
+
46
+ // This effect addresses a race condition caused by tabbing from the last
47
+ // block in the editor into the settings sidebar. Without this effect, the
48
+ // selected tab and browser focus can become separated in an unexpected way.
49
+ // (e.g the "block" tab is focused, but the "post" tab is selected).
50
+ useEffect(() => {
51
+ const tabsElements = Array.from(tabListRef.current?.querySelectorAll('[role="tab"]') || []);
52
+ const selectedTabElement = tabsElements.find(
53
+ // We are purposefully using a custom `data-tab-id` attribute here
54
+ // because we don't want rely on any assumptions about `Tabs`
55
+ // component internals.
56
+ element => element.getAttribute('data-tab-id') === sidebarName);
57
+ const activeElement = selectedTabElement?.ownerDocument.activeElement;
58
+ const tabsHasFocus = tabsElements.some(element => {
59
+ return activeElement && activeElement.id === element.id;
60
+ });
61
+ if (tabsHasFocus && selectedTabElement && selectedTabElement.id !== activeElement?.id) {
62
+ selectedTabElement?.focus();
63
+ }
64
+ }, [sidebarName]);
65
+ return createElement(Fragment, null, createElement(DefaultSidebar, {
66
+ identifier: sidebarName,
67
+ title: __('Settings'),
68
+ icon: isRTL() ? drawerLeft : drawerRight,
69
+ closeLabel: __('Close Settings'),
70
+ header: createElement(Tabs.Context.Provider, {
71
+ value: tabsContextValue
72
+ }, createElement(SettingsHeader, {
73
+ ref: tabListRef
74
+ })),
75
+ headerClassName: "edit-site-sidebar-edit-mode__panel-tabs"
76
+ // This classname is added so we can apply a corrective negative
77
+ // margin to the panel.
78
+ // see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049
79
+ ,
80
+ className: "edit-site-sidebar__panel"
81
+ }, createElement(Tabs.Context.Provider, {
82
+ value: tabsContextValue
83
+ }, createElement(Tabs.TabPanel, {
84
+ tabId: SIDEBAR_TEMPLATE,
85
+ focusable: false
86
+ }, isEditingPage ? createElement(PagePanels, null) : createElement(TemplatePanel, null), createElement(PluginTemplateSettingPanel.Slot, null)), createElement(Tabs.TabPanel, {
87
+ tabId: SIDEBAR_BLOCK,
88
+ focusable: false
89
+ }, createElement(InspectorSlot, {
90
+ bubblesVirtually: true
91
+ })))), supportsGlobalStyles && createElement(GlobalStylesSidebar, null));
92
+ };
31
93
  export function SidebarComplementaryAreaFills() {
32
94
  const {
33
95
  sidebar,
34
96
  isEditorSidebarOpened,
35
97
  hasBlockSelection,
36
98
  supportsGlobalStyles,
37
- isEditingPage
99
+ isEditingPage,
100
+ isEditorOpen
38
101
  } = useSelect(select => {
39
102
  const _sidebar = select(interfaceStore).getActiveComplementaryArea(STORE_NAME);
40
103
  const _isEditorSidebarOpened = [SIDEBAR_BLOCK, SIDEBAR_TEMPLATE].includes(_sidebar);
41
- const settings = select(editSiteStore).getSettings();
104
+ const {
105
+ getCanvasMode
106
+ } = unlock(select(editSiteStore));
42
107
  return {
43
108
  sidebar: _sidebar,
44
109
  isEditorSidebarOpened: _isEditorSidebarOpened,
45
110
  hasBlockSelection: !!select(blockEditorStore).getBlockSelectionStart(),
46
- supportsGlobalStyles: !settings?.supportsTemplatePartsMode,
47
- isEditingPage: select(editSiteStore).isPage() && select(editorStore).getRenderingMode() !== 'template-only'
111
+ supportsGlobalStyles: select(coreStore).getCurrentTheme()?.is_block_theme,
112
+ isEditingPage: select(editSiteStore).isPage(),
113
+ isEditorOpen: getCanvasMode() === 'edit'
48
114
  };
49
115
  }, []);
50
116
  const {
@@ -68,17 +134,30 @@ export function SidebarComplementaryAreaFills() {
68
134
  if (!isEditorSidebarOpened) {
69
135
  sidebarName = hasBlockSelection ? SIDEBAR_BLOCK : SIDEBAR_TEMPLATE;
70
136
  }
71
- return createElement(Fragment, null, createElement(DefaultSidebar, {
72
- identifier: sidebarName,
73
- title: __('Settings'),
74
- icon: isRTL() ? drawerLeft : drawerRight,
75
- closeLabel: __('Close Settings'),
76
- header: createElement(SettingsHeader, {
77
- sidebarName: sidebarName
78
- }),
79
- headerClassName: "edit-site-sidebar-edit-mode__panel-tabs"
80
- }, sidebarName === SIDEBAR_TEMPLATE && createElement(Fragment, null, isEditingPage ? createElement(PagePanels, null) : createElement(TemplatePanel, null), createElement(PluginTemplateSettingPanel.Slot, null)), sidebarName === SIDEBAR_BLOCK && createElement(InspectorSlot, {
81
- bubblesVirtually: true
82
- })), supportsGlobalStyles && createElement(GlobalStylesSidebar, null));
137
+
138
+ // `newSelectedTabId` could technically be falsey if no tab is selected (i.e.
139
+ // the initial render) or when we don't want a tab displayed (i.e. the
140
+ // sidebar is closed). These cases should both be covered by the `!!` check
141
+ // below, so we shouldn't need any additional falsey handling.
142
+ const onTabSelect = useCallback(newSelectedTabId => {
143
+ if (!!newSelectedTabId) {
144
+ enableComplementaryArea(STORE_NAME, newSelectedTabId);
145
+ }
146
+ }, [enableComplementaryArea]);
147
+ return createElement(Tabs
148
+ // Due to how this component is controlled (via a value from the
149
+ // edit-site store), when the sidebar closes the currently selected
150
+ // tab can't be found. This causes the component to continuously reset
151
+ // the selection to `null` in an infinite loop. Proactively setting
152
+ // the selected tab to `null` avoids that.
153
+ , {
154
+ selectedTabId: isEditorOpen && isEditorSidebarOpened ? sidebarName : null,
155
+ onSelect: onTabSelect,
156
+ selectOnMove: false
157
+ }, createElement(FillContents, {
158
+ sidebarName: sidebarName,
159
+ isEditingPage: isEditingPage,
160
+ supportsGlobalStyles: supportsGlobalStyles
161
+ }));
83
162
  }
84
163
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createSlotFill","isRTL","__","drawerLeft","drawerRight","useEffect","useSelect","useDispatch","store","interfaceStore","blockEditorStore","editorStore","DefaultSidebar","GlobalStylesSidebar","STORE_NAME","SettingsHeader","PagePanels","TemplatePanel","PluginTemplateSettingPanel","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","editSiteStore","Slot","InspectorSlot","Fill","InspectorFill","SidebarInspectorFill","SidebarComplementaryAreaFills","sidebar","isEditorSidebarOpened","hasBlockSelection","supportsGlobalStyles","isEditingPage","select","_sidebar","getActiveComplementaryArea","_isEditorSidebarOpened","includes","settings","getSettings","getBlockSelectionStart","supportsTemplatePartsMode","isPage","getRenderingMode","enableComplementaryArea","sidebarName","createElement","Fragment","identifier","title","icon","closeLabel","header","headerClassName","bubblesVirtually"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport DefaultSidebar from './default-sidebar';\nimport GlobalStylesSidebar from './global-styles-sidebar';\nimport { STORE_NAME } from '../../store/constants';\nimport SettingsHeader from './settings-header';\nimport PagePanels from './page-panels';\nimport TemplatePanel from './template-panel';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from './constants';\nimport { store as editSiteStore } from '../../store';\n\nconst { Slot: InspectorSlot, Fill: InspectorFill } = createSlotFill(\n\t'EditSiteSidebarInspector'\n);\nexport const SidebarInspectorFill = InspectorFill;\n\nexport function SidebarComplementaryAreaFills() {\n\tconst {\n\t\tsidebar,\n\t\tisEditorSidebarOpened,\n\t\thasBlockSelection,\n\t\tsupportsGlobalStyles,\n\t\tisEditingPage,\n\t} = useSelect( ( select ) => {\n\t\tconst _sidebar =\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( STORE_NAME );\n\t\tconst _isEditorSidebarOpened = [\n\t\t\tSIDEBAR_BLOCK,\n\t\t\tSIDEBAR_TEMPLATE,\n\t\t].includes( _sidebar );\n\t\tconst settings = select( editSiteStore ).getSettings();\n\t\treturn {\n\t\t\tsidebar: _sidebar,\n\t\t\tisEditorSidebarOpened: _isEditorSidebarOpened,\n\t\t\thasBlockSelection:\n\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\tsupportsGlobalStyles: ! settings?.supportsTemplatePartsMode,\n\t\t\tisEditingPage:\n\t\t\t\tselect( editSiteStore ).isPage() &&\n\t\t\t\tselect( editorStore ).getRenderingMode() !== 'template-only',\n\t\t};\n\t}, [] );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tuseEffect( () => {\n\t\t// Don't automatically switch tab when the sidebar is closed or when we\n\t\t// are focused on page content.\n\t\tif ( ! isEditorSidebarOpened ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( hasBlockSelection ) {\n\t\t\tif ( ! isEditingPage ) {\n\t\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t\t}\n\t\t} else {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_TEMPLATE );\n\t\t}\n\t}, [\n\t\thasBlockSelection,\n\t\tisEditorSidebarOpened,\n\t\tisEditingPage,\n\t\tenableComplementaryArea,\n\t] );\n\n\tlet sidebarName = sidebar;\n\tif ( ! isEditorSidebarOpened ) {\n\t\tsidebarName = hasBlockSelection ? SIDEBAR_BLOCK : SIDEBAR_TEMPLATE;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<DefaultSidebar\n\t\t\t\tidentifier={ sidebarName }\n\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t\theader={ <SettingsHeader sidebarName={ sidebarName } /> }\n\t\t\t\theaderClassName=\"edit-site-sidebar-edit-mode__panel-tabs\"\n\t\t\t>\n\t\t\t\t{ sidebarName === SIDEBAR_TEMPLATE && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isEditingPage ? <PagePanels /> : <TemplatePanel /> }\n\t\t\t\t\t\t<PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ sidebarName === SIDEBAR_BLOCK && (\n\t\t\t\t\t<InspectorSlot bubblesVirtually />\n\t\t\t\t) }\n\t\t\t</DefaultSidebar>\n\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["createSlotFill","privateApis","componentsPrivateApis","isRTL","__","drawerLeft","drawerRight","useCallback","useContext","useEffect","useRef","useSelect","useDispatch","store","interfaceStore","blockEditorStore","coreStore","DefaultSidebar","GlobalStylesSidebar","STORE_NAME","SettingsHeader","PagePanels","TemplatePanel","PluginTemplateSettingPanel","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","editSiteStore","unlock","Tabs","Slot","InspectorSlot","Fill","InspectorFill","SidebarInspectorFill","FillContents","sidebarName","isEditingPage","supportsGlobalStyles","tabListRef","tabsContextValue","Context","tabsElements","Array","from","current","querySelectorAll","selectedTabElement","find","element","getAttribute","activeElement","ownerDocument","tabsHasFocus","some","id","focus","createElement","Fragment","identifier","title","icon","closeLabel","header","Provider","value","ref","headerClassName","className","TabPanel","tabId","focusable","bubblesVirtually","SidebarComplementaryAreaFills","sidebar","isEditorSidebarOpened","hasBlockSelection","isEditorOpen","select","_sidebar","getActiveComplementaryArea","_isEditorSidebarOpened","includes","getCanvasMode","getBlockSelectionStart","getCurrentTheme","is_block_theme","isPage","enableComplementaryArea","onTabSelect","newSelectedTabId","selectedTabId","onSelect","selectOnMove"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateSlotFill,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { useCallback, useContext, useEffect, useRef } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport DefaultSidebar from './default-sidebar';\nimport GlobalStylesSidebar from './global-styles-sidebar';\nimport { STORE_NAME } from '../../store/constants';\nimport SettingsHeader from './settings-header';\nimport PagePanels from './page-panels';\nimport TemplatePanel from './template-panel';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from './constants';\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst { Slot: InspectorSlot, Fill: InspectorFill } = createSlotFill(\n\t'EditSiteSidebarInspector'\n);\nexport const SidebarInspectorFill = InspectorFill;\n\nconst FillContents = ( {\n\tsidebarName,\n\tisEditingPage,\n\tsupportsGlobalStyles,\n} ) => {\n\tconst tabListRef = useRef( null );\n\t// Because `DefaultSidebar` renders a `ComplementaryArea`, we\n\t// need to forward the `Tabs` context so it can be passed through the\n\t// underlying slot/fill.\n\tconst tabsContextValue = useContext( Tabs.Context );\n\n\t// This effect addresses a race condition caused by tabbing from the last\n\t// block in the editor into the settings sidebar. Without this effect, the\n\t// selected tab and browser focus can become separated in an unexpected way.\n\t// (e.g the \"block\" tab is focused, but the \"post\" tab is selected).\n\tuseEffect( () => {\n\t\tconst tabsElements = Array.from(\n\t\t\ttabListRef.current?.querySelectorAll( '[role=\"tab\"]' ) || []\n\t\t);\n\t\tconst selectedTabElement = tabsElements.find(\n\t\t\t// We are purposefully using a custom `data-tab-id` attribute here\n\t\t\t// because we don't want rely on any assumptions about `Tabs`\n\t\t\t// component internals.\n\t\t\t( element ) => element.getAttribute( 'data-tab-id' ) === sidebarName\n\t\t);\n\t\tconst activeElement = selectedTabElement?.ownerDocument.activeElement;\n\t\tconst tabsHasFocus = tabsElements.some( ( element ) => {\n\t\t\treturn activeElement && activeElement.id === element.id;\n\t\t} );\n\t\tif (\n\t\t\ttabsHasFocus &&\n\t\t\tselectedTabElement &&\n\t\t\tselectedTabElement.id !== activeElement?.id\n\t\t) {\n\t\t\tselectedTabElement?.focus();\n\t\t}\n\t}, [ sidebarName ] );\n\n\treturn (\n\t\t<>\n\t\t\t<DefaultSidebar\n\t\t\t\tidentifier={ sidebarName }\n\t\t\t\ttitle={ __( 'Settings' ) }\n\t\t\t\ticon={ isRTL() ? drawerLeft : drawerRight }\n\t\t\t\tcloseLabel={ __( 'Close Settings' ) }\n\t\t\t\theader={\n\t\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t\t<SettingsHeader ref={ tabListRef } />\n\t\t\t\t\t</Tabs.Context.Provider>\n\t\t\t\t}\n\t\t\t\theaderClassName=\"edit-site-sidebar-edit-mode__panel-tabs\"\n\t\t\t\t// This classname is added so we can apply a corrective negative\n\t\t\t\t// margin to the panel.\n\t\t\t\t// see https://github.com/WordPress/gutenberg/pull/55360#pullrequestreview-1737671049\n\t\t\t\tclassName=\"edit-site-sidebar__panel\"\n\t\t\t>\n\t\t\t\t<Tabs.Context.Provider value={ tabsContextValue }>\n\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\ttabId={ SIDEBAR_TEMPLATE }\n\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isEditingPage ? <PagePanels /> : <TemplatePanel /> }\n\t\t\t\t\t\t<PluginTemplateSettingPanel.Slot />\n\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t<Tabs.TabPanel tabId={ SIDEBAR_BLOCK } focusable={ false }>\n\t\t\t\t\t\t<InspectorSlot bubblesVirtually />\n\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t</Tabs.Context.Provider>\n\t\t\t</DefaultSidebar>\n\t\t\t{ supportsGlobalStyles && <GlobalStylesSidebar /> }\n\t\t</>\n\t);\n};\n\nexport function SidebarComplementaryAreaFills() {\n\tconst {\n\t\tsidebar,\n\t\tisEditorSidebarOpened,\n\t\thasBlockSelection,\n\t\tsupportsGlobalStyles,\n\t\tisEditingPage,\n\t\tisEditorOpen,\n\t} = useSelect( ( select ) => {\n\t\tconst _sidebar =\n\t\t\tselect( interfaceStore ).getActiveComplementaryArea( STORE_NAME );\n\n\t\tconst _isEditorSidebarOpened = [\n\t\t\tSIDEBAR_BLOCK,\n\t\t\tSIDEBAR_TEMPLATE,\n\t\t].includes( _sidebar );\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\n\t\treturn {\n\t\t\tsidebar: _sidebar,\n\t\t\tisEditorSidebarOpened: _isEditorSidebarOpened,\n\t\t\thasBlockSelection:\n\t\t\t\t!! select( blockEditorStore ).getBlockSelectionStart(),\n\t\t\tsupportsGlobalStyles:\n\t\t\t\tselect( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t\tisEditingPage: select( editSiteStore ).isPage(),\n\t\t\tisEditorOpen: getCanvasMode() === 'edit',\n\t\t};\n\t}, [] );\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\n\tuseEffect( () => {\n\t\t// Don't automatically switch tab when the sidebar is closed or when we\n\t\t// are focused on page content.\n\t\tif ( ! isEditorSidebarOpened ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( hasBlockSelection ) {\n\t\t\tif ( ! isEditingPage ) {\n\t\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\t\t\t}\n\t\t} else {\n\t\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_TEMPLATE );\n\t\t}\n\t}, [\n\t\thasBlockSelection,\n\t\tisEditorSidebarOpened,\n\t\tisEditingPage,\n\t\tenableComplementaryArea,\n\t] );\n\n\tlet sidebarName = sidebar;\n\tif ( ! isEditorSidebarOpened ) {\n\t\tsidebarName = hasBlockSelection ? SIDEBAR_BLOCK : SIDEBAR_TEMPLATE;\n\t}\n\n\t// `newSelectedTabId` could technically be falsey if no tab is selected (i.e.\n\t// the initial render) or when we don't want a tab displayed (i.e. the\n\t// sidebar is closed). These cases should both be covered by the `!!` check\n\t// below, so we shouldn't need any additional falsey handling.\n\tconst onTabSelect = useCallback(\n\t\t( newSelectedTabId ) => {\n\t\t\tif ( !! newSelectedTabId ) {\n\t\t\t\tenableComplementaryArea( STORE_NAME, newSelectedTabId );\n\t\t\t}\n\t\t},\n\t\t[ enableComplementaryArea ]\n\t);\n\n\treturn (\n\t\t<Tabs\n\t\t\t// Due to how this component is controlled (via a value from the\n\t\t\t// edit-site store), when the sidebar closes the currently selected\n\t\t\t// tab can't be found. This causes the component to continuously reset\n\t\t\t// the selection to `null` in an infinite loop. Proactively setting\n\t\t\t// the selected tab to `null` avoids that.\n\t\t\tselectedTabId={\n\t\t\t\tisEditorOpen && isEditorSidebarOpened ? sidebarName : null\n\t\t\t}\n\t\t\tonSelect={ onTabSelect }\n\t\t\tselectOnMove={ false }\n\t\t>\n\t\t\t<FillContents\n\t\t\t\tsidebarName={ sidebarName }\n\t\t\t\tisEditingPage={ isEditingPage }\n\t\t\t\tsupportsGlobalStyles={ supportsGlobalStyles }\n\t\t\t/>\n\t\t</Tabs>\n\t);\n}\n"],"mappings":"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"}
@@ -1,85 +1,36 @@
1
1
  import { createElement } from "react";
2
- /**
3
- * External dependencies
4
- */
5
- import classnames from 'classnames';
6
-
7
2
  /**
8
3
  * WordPress dependencies
9
4
  */
10
- import { Button } from '@wordpress/components';
11
- import { __, sprintf } from '@wordpress/i18n';
12
- import { useSelect, useDispatch } from '@wordpress/data';
13
- import { store as interfaceStore } from '@wordpress/interface';
5
+ import { privateApis as componentsPrivateApis } from '@wordpress/components';
6
+ import { __ } from '@wordpress/i18n';
7
+ import { useSelect } from '@wordpress/data';
14
8
  import { store as editorStore } from '@wordpress/editor';
9
+ import { forwardRef } from '@wordpress/element';
15
10
 
16
11
  /**
17
12
  * Internal dependencies
18
13
  */
19
- import { STORE_NAME } from '../../../store/constants';
20
14
  import { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from '../constants';
21
- import { store as editSiteStore } from '../../../store';
22
- import { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../../utils/constants';
23
- const SettingsHeader = ({
24
- sidebarName
25
- }) => {
26
- const {
27
- isEditingPage,
28
- entityType
29
- } = useSelect(select => {
30
- const {
31
- getEditedPostType,
32
- isPage
33
- } = select(editSiteStore);
34
- const {
35
- getRenderingMode
36
- } = select(editorStore);
37
- return {
38
- isEditingPage: isPage() && getRenderingMode() !== 'template-only',
39
- entityType: getEditedPostType()
40
- };
41
- });
42
- const entityLabel = POST_TYPE_LABELS[entityType] || POST_TYPE_LABELS[TEMPLATE_POST_TYPE];
43
- const {
44
- enableComplementaryArea
45
- } = useDispatch(interfaceStore);
46
- const openTemplateSettings = () => enableComplementaryArea(STORE_NAME, SIDEBAR_TEMPLATE);
47
- const openBlockSettings = () => enableComplementaryArea(STORE_NAME, SIDEBAR_BLOCK);
48
- let templateAriaLabel;
49
- if (isEditingPage) {
50
- templateAriaLabel = sidebarName === SIDEBAR_TEMPLATE ?
51
- // translators: ARIA label for the Template sidebar tab, selected.
52
- __('Page (selected)') :
53
- // translators: ARIA label for the Template Settings Sidebar tab, not selected.
54
- __('Page');
55
- } else {
56
- templateAriaLabel = sidebarName === SIDEBAR_TEMPLATE ?
57
- // translators: ARIA label for the Template sidebar tab, selected.
58
- sprintf(__('%s (selected)'), entityLabel) :
59
- // translators: ARIA label for the Template Settings Sidebar tab, not selected.
60
- entityLabel;
61
- }
62
-
63
- /* Use a list so screen readers will announce how many tabs there are. */
64
- return createElement("ul", null, createElement("li", null, createElement(Button, {
65
- onClick: openTemplateSettings,
66
- className: classnames('edit-site-sidebar-edit-mode__panel-tab', {
67
- 'is-active': sidebarName === SIDEBAR_TEMPLATE
68
- }),
69
- "aria-label": templateAriaLabel,
70
- "data-label": isEditingPage ? __('Page') : entityLabel
71
- }, isEditingPage ? __('Page') : entityLabel)), createElement("li", null, createElement(Button, {
72
- onClick: openBlockSettings,
73
- className: classnames('edit-site-sidebar-edit-mode__panel-tab', {
74
- 'is-active': sidebarName === SIDEBAR_BLOCK
75
- }),
76
- "aria-label": sidebarName === SIDEBAR_BLOCK ?
77
- // translators: ARIA label for the Block Settings Sidebar tab, selected.
78
- __('Block (selected)') :
79
- // translators: ARIA label for the Block Settings Sidebar tab, not selected.
80
- __('Block'),
81
- "data-label": __('Block')
82
- }, __('Block'))));
15
+ import { unlock } from '../../../lock-unlock';
16
+ const {
17
+ Tabs
18
+ } = unlock(componentsPrivateApis);
19
+ const SettingsHeader = (_, ref) => {
20
+ const postTypeLabel = useSelect(select => select(editorStore).getPostTypeLabel(), []);
21
+ return createElement(Tabs.TabList, {
22
+ ref: ref
23
+ }, createElement(Tabs.Tab, {
24
+ tabId: SIDEBAR_TEMPLATE
25
+ // Used for focus management in the SettingsSidebar component.
26
+ ,
27
+ "data-tab-id": SIDEBAR_TEMPLATE
28
+ }, postTypeLabel), createElement(Tabs.Tab, {
29
+ tabId: SIDEBAR_BLOCK
30
+ // Used for focus management in the SettingsSidebar component.
31
+ ,
32
+ "data-tab-id": SIDEBAR_BLOCK
33
+ }, __('Block')));
83
34
  };
84
- export default SettingsHeader;
35
+ export default forwardRef(SettingsHeader);
85
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","Button","__","sprintf","useSelect","useDispatch","store","interfaceStore","editorStore","STORE_NAME","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","editSiteStore","POST_TYPE_LABELS","TEMPLATE_POST_TYPE","SettingsHeader","sidebarName","isEditingPage","entityType","select","getEditedPostType","isPage","getRenderingMode","entityLabel","enableComplementaryArea","openTemplateSettings","openBlockSettings","templateAriaLabel","createElement","onClick","className"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/settings-header/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { STORE_NAME } from '../../../store/constants';\nimport { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from '../constants';\nimport { store as editSiteStore } from '../../../store';\nimport { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../../utils/constants';\n\nconst SettingsHeader = ( { sidebarName } ) => {\n\tconst { isEditingPage, entityType } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, isPage } = select( editSiteStore );\n\t\tconst { getRenderingMode } = select( editorStore );\n\n\t\treturn {\n\t\t\tisEditingPage: isPage() && getRenderingMode() !== 'template-only',\n\t\t\tentityType: getEditedPostType(),\n\t\t};\n\t} );\n\n\tconst entityLabel =\n\t\tPOST_TYPE_LABELS[ entityType ] ||\n\t\tPOST_TYPE_LABELS[ TEMPLATE_POST_TYPE ];\n\n\tconst { enableComplementaryArea } = useDispatch( interfaceStore );\n\tconst openTemplateSettings = () =>\n\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_TEMPLATE );\n\tconst openBlockSettings = () =>\n\t\tenableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );\n\n\tlet templateAriaLabel;\n\tif ( isEditingPage ) {\n\t\ttemplateAriaLabel =\n\t\t\tsidebarName === SIDEBAR_TEMPLATE\n\t\t\t\t? // translators: ARIA label for the Template sidebar tab, selected.\n\t\t\t\t __( 'Page (selected)' )\n\t\t\t\t: // translators: ARIA label for the Template Settings Sidebar tab, not selected.\n\t\t\t\t __( 'Page' );\n\t} else {\n\t\ttemplateAriaLabel =\n\t\t\tsidebarName === SIDEBAR_TEMPLATE\n\t\t\t\t? // translators: ARIA label for the Template sidebar tab, selected.\n\t\t\t\t sprintf( __( '%s (selected)' ), entityLabel )\n\t\t\t\t: // translators: ARIA label for the Template Settings Sidebar tab, not selected.\n\t\t\t\t entityLabel;\n\t}\n\n\t/* Use a list so screen readers will announce how many tabs there are. */\n\treturn (\n\t\t<ul>\n\t\t\t<li>\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ openTemplateSettings }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-sidebar-edit-mode__panel-tab',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-active': sidebarName === SIDEBAR_TEMPLATE,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ templateAriaLabel }\n\t\t\t\t\tdata-label={ isEditingPage ? __( 'Page' ) : entityLabel }\n\t\t\t\t>\n\t\t\t\t\t{ isEditingPage ? __( 'Page' ) : entityLabel }\n\t\t\t\t</Button>\n\t\t\t</li>\n\t\t\t<li>\n\t\t\t\t<Button\n\t\t\t\t\tonClick={ openBlockSettings }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-sidebar-edit-mode__panel-tab',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-active': sidebarName === SIDEBAR_BLOCK,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={\n\t\t\t\t\t\tsidebarName === SIDEBAR_BLOCK\n\t\t\t\t\t\t\t? // translators: ARIA label for the Block Settings Sidebar tab, selected.\n\t\t\t\t\t\t\t __( 'Block (selected)' )\n\t\t\t\t\t\t\t: // translators: ARIA label for the Block Settings Sidebar tab, not selected.\n\t\t\t\t\t\t\t __( 'Block' )\n\t\t\t\t\t}\n\t\t\t\t\tdata-label={ __( 'Block' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Block' ) }\n\t\t\t\t</Button>\n\t\t\t</li>\n\t\t</ul>\n\t);\n};\n\nexport default SettingsHeader;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,cAAc,QAAQ,sBAAsB;AAC9D,SAASD,KAAK,IAAIE,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,aAAa,EAAEC,gBAAgB,QAAQ,cAAc;AAC9D,SAASL,KAAK,IAAIM,aAAa,QAAQ,gBAAgB;AACvD,SAASC,gBAAgB,EAAEC,kBAAkB,QAAQ,0BAA0B;AAE/E,MAAMC,cAAc,GAAGA,CAAE;EAAEC;AAAY,CAAC,KAAM;EAC7C,MAAM;IAAEC,aAAa;IAAEC;EAAW,CAAC,GAAGd,SAAS,CAAIe,MAAM,IAAM;IAC9D,MAAM;MAAEC,iBAAiB;MAAEC;IAAO,CAAC,GAAGF,MAAM,CAAEP,aAAc,CAAC;IAC7D,MAAM;MAAEU;IAAiB,CAAC,GAAGH,MAAM,CAAEX,WAAY,CAAC;IAElD,OAAO;MACNS,aAAa,EAAEI,MAAM,CAAC,CAAC,IAAIC,gBAAgB,CAAC,CAAC,KAAK,eAAe;MACjEJ,UAAU,EAAEE,iBAAiB,CAAC;IAC/B,CAAC;EACF,CAAE,CAAC;EAEH,MAAMG,WAAW,GAChBV,gBAAgB,CAAEK,UAAU,CAAE,IAC9BL,gBAAgB,CAAEC,kBAAkB,CAAE;EAEvC,MAAM;IAAEU;EAAwB,CAAC,GAAGnB,WAAW,CAAEE,cAAe,CAAC;EACjE,MAAMkB,oBAAoB,GAAGA,CAAA,KAC5BD,uBAAuB,CAAEf,UAAU,EAAEE,gBAAiB,CAAC;EACxD,MAAMe,iBAAiB,GAAGA,CAAA,KACzBF,uBAAuB,CAAEf,UAAU,EAAEC,aAAc,CAAC;EAErD,IAAIiB,iBAAiB;EACrB,IAAKV,aAAa,EAAG;IACpBU,iBAAiB,GAChBX,WAAW,KAAKL,gBAAgB;IAC7B;IACAT,EAAE,CAAE,iBAAkB,CAAC;IACvB;IACAA,EAAE,CAAE,MAAO,CAAC;EACjB,CAAC,MAAM;IACNyB,iBAAiB,GAChBX,WAAW,KAAKL,gBAAgB;IAC7B;IACAR,OAAO,CAAED,EAAE,CAAE,eAAgB,CAAC,EAAEqB,WAAY,CAAC;IAC7C;IACAA,WAAW;EAChB;;EAEA;EACA,OACCK,aAAA,aACCA,aAAA,aACCA,aAAA,CAAC3B,MAAM;IACN4B,OAAO,EAAGJ,oBAAsB;IAChCK,SAAS,EAAG9B,UAAU,CACrB,wCAAwC,EACxC;MACC,WAAW,EAAEgB,WAAW,KAAKL;IAC9B,CACD,CAAG;IACH,cAAagB,iBAAmB;IAChC,cAAaV,aAAa,GAAGf,EAAE,CAAE,MAAO,CAAC,GAAGqB;EAAa,GAEvDN,aAAa,GAAGf,EAAE,CAAE,MAAO,CAAC,GAAGqB,WAC1B,CACL,CAAC,EACLK,aAAA,aACCA,aAAA,CAAC3B,MAAM;IACN4B,OAAO,EAAGH,iBAAmB;IAC7BI,SAAS,EAAG9B,UAAU,CACrB,wCAAwC,EACxC;MACC,WAAW,EAAEgB,WAAW,KAAKN;IAC9B,CACD,CAAG;IACH,cACCM,WAAW,KAAKN,aAAa;IAC1B;IACAR,EAAE,CAAE,kBAAmB,CAAC;IACxB;IACAA,EAAE,CAAE,OAAQ,CACf;IACD,cAAaA,EAAE,CAAE,OAAQ;EAAG,GAE1BA,EAAE,CAAE,OAAQ,CACP,CACL,CACD,CAAC;AAEP,CAAC;AAED,eAAea,cAAc"}
1
+ {"version":3,"names":["privateApis","componentsPrivateApis","__","useSelect","store","editorStore","forwardRef","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","unlock","Tabs","SettingsHeader","_","ref","postTypeLabel","select","getPostTypeLabel","createElement","TabList","Tab","tabId"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/settings-header/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as componentsPrivateApis } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from '../constants';\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst SettingsHeader = ( _, ref ) => {\n\tconst postTypeLabel = useSelect(\n\t\t( select ) => select( editorStore ).getPostTypeLabel(),\n\t\t[]\n\t);\n\n\treturn (\n\t\t<Tabs.TabList ref={ ref }>\n\t\t\t<Tabs.Tab\n\t\t\t\ttabId={ SIDEBAR_TEMPLATE }\n\t\t\t\t// Used for focus management in the SettingsSidebar component.\n\t\t\t\tdata-tab-id={ SIDEBAR_TEMPLATE }\n\t\t\t>\n\t\t\t\t{ postTypeLabel }\n\t\t\t</Tabs.Tab>\n\t\t\t<Tabs.Tab\n\t\t\t\ttabId={ SIDEBAR_BLOCK }\n\t\t\t\t// Used for focus management in the SettingsSidebar component.\n\t\t\t\tdata-tab-id={ SIDEBAR_BLOCK }\n\t\t\t>\n\t\t\t\t{ __( 'Block' ) }\n\t\t\t</Tabs.Tab>\n\t\t</Tabs.TabList>\n\t);\n};\n\nexport default forwardRef( SettingsHeader );\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,qBAAqB,QAAQ,uBAAuB;AAC5E,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;AACxD,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,SAASC,aAAa,EAAEC,gBAAgB,QAAQ,cAAc;AAC9D,SAASC,MAAM,QAAQ,sBAAsB;AAE7C,MAAM;EAAEC;AAAK,CAAC,GAAGD,MAAM,CAAER,qBAAsB,CAAC;AAEhD,MAAMU,cAAc,GAAGA,CAAEC,CAAC,EAAEC,GAAG,KAAM;EACpC,MAAMC,aAAa,GAAGX,SAAS,CAC5BY,MAAM,IAAMA,MAAM,CAAEV,WAAY,CAAC,CAACW,gBAAgB,CAAC,CAAC,EACtD,EACD,CAAC;EAED,OACCC,aAAA,CAACP,IAAI,CAACQ,OAAO;IAACL,GAAG,EAAGA;EAAK,GACxBI,aAAA,CAACP,IAAI,CAACS,GAAG;IACRC,KAAK,EAAGZ;IACR;IAAA;IACA,eAAcA;EAAkB,GAE9BM,aACO,CAAC,EACXG,aAAA,CAACP,IAAI,CAACS,GAAG;IACRC,KAAK,EAAGb;IACR;IAAA;IACA,eAAcA;EAAe,GAE3BL,EAAE,CAAE,OAAQ,CACL,CACG,CAAC;AAEjB,CAAC;AAED,eAAeI,UAAU,CAAEK,cAAe,CAAC"}
@@ -7,7 +7,7 @@ import { sentenceCase } from 'change-case';
7
7
  /**
8
8
  * WordPress dependencies
9
9
  */
10
- import { __, sprintf } from '@wordpress/i18n';
10
+ import { __, _x, sprintf } from '@wordpress/i18n';
11
11
  import { store as coreStore } from '@wordpress/core-data';
12
12
  import { store as editorStore } from '@wordpress/editor';
13
13
  import { useSelect } from '@wordpress/data';
@@ -64,7 +64,7 @@ export default function usePatternDetails(postType, postId) {
64
64
  if (postType === PATTERN_TYPES.user || postType === TEMPLATE_PART_POST_TYPE) {
65
65
  details.push({
66
66
  label: __('Syncing'),
67
- value: record.wp_pattern_sync_status === PATTERN_SYNC_TYPES.unsynced ? __('Not synced') : __('Fully synced')
67
+ value: record.wp_pattern_sync_status === PATTERN_SYNC_TYPES.unsynced ? _x('Not synced', 'Text that indicates that the pattern is not synchronized') : _x('Synced', 'Text that indicates that the pattern is synchronized')
68
68
  });
69
69
  if (record.wp_pattern_category?.length === 0) {
70
70
  details.push({