@wordpress/edit-site 5.23.0 → 5.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (320) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +56 -38
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/block-editor/site-editor-canvas.js +7 -2
  5. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  6. package/build/components/dataviews/add-filter.js +21 -20
  7. package/build/components/dataviews/add-filter.js.map +1 -1
  8. package/build/components/dataviews/constants.js +14 -0
  9. package/build/components/dataviews/constants.js.map +1 -0
  10. package/build/components/dataviews/dataviews.js +9 -7
  11. package/build/components/dataviews/dataviews.js.map +1 -1
  12. package/build/components/dataviews/filter-summary.js +62 -0
  13. package/build/components/dataviews/filter-summary.js.map +1 -0
  14. package/build/components/dataviews/filters.js +15 -30
  15. package/build/components/dataviews/filters.js.map +1 -1
  16. package/build/components/dataviews/item-actions.js +84 -30
  17. package/build/components/dataviews/item-actions.js.map +1 -1
  18. package/build/components/dataviews/pagination.js +4 -0
  19. package/build/components/dataviews/pagination.js.map +1 -1
  20. package/build/components/dataviews/view-actions.js +24 -24
  21. package/build/components/dataviews/view-actions.js.map +1 -1
  22. package/build/components/dataviews/view-grid.js +48 -25
  23. package/build/components/dataviews/view-grid.js.map +1 -1
  24. package/build/components/dataviews/view-list.js +28 -33
  25. package/build/components/dataviews/view-list.js.map +1 -1
  26. package/build/components/editor/index.js +23 -27
  27. package/build/components/editor/index.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  29. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  30. package/build/components/global-styles/font-library-modal/utils/index.js +15 -2
  31. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  32. package/build/components/global-styles/header.js +4 -2
  33. package/build/components/global-styles/header.js.map +1 -1
  34. package/build/components/global-styles/screen-block-list.js +22 -16
  35. package/build/components/global-styles/screen-block-list.js.map +1 -1
  36. package/build/components/global-styles/screen-revisions/index.js +26 -5
  37. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  38. package/build/components/global-styles/screen-revisions/revisions-buttons.js +52 -24
  39. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  40. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  41. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  42. package/build/components/global-styles/ui.js +28 -36
  43. package/build/components/global-styles/ui.js.map +1 -1
  44. package/build/components/header-edit-mode/document-actions/index.js +21 -16
  45. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  46. package/build/components/header-edit-mode/index.js +2 -1
  47. package/build/components/header-edit-mode/index.js.map +1 -1
  48. package/build/components/header-edit-mode/more-menu/index.js +1 -1
  49. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  50. package/build/components/list/added-by.js +43 -54
  51. package/build/components/list/added-by.js.map +1 -1
  52. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
  53. package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  54. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  55. package/build/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  56. package/build/components/page-content-focus-notifications/index.js +22 -0
  57. package/build/components/page-content-focus-notifications/index.js.map +1 -0
  58. package/build/components/page-pages/index.js +9 -15
  59. package/build/components/page-pages/index.js.map +1 -1
  60. package/build/components/page-patterns/use-patterns.js +1 -1
  61. package/build/components/page-patterns/use-patterns.js.map +1 -1
  62. package/build/components/page-templates/dataviews-templates.js +166 -51
  63. package/build/components/page-templates/dataviews-templates.js.map +1 -1
  64. package/build/components/preferences-modal/index.js +1 -1
  65. package/build/components/preferences-modal/index.js.map +1 -1
  66. package/build/components/save-button/index.js +9 -6
  67. package/build/components/save-button/index.js.map +1 -1
  68. package/build/components/save-hub/index.js +14 -0
  69. package/build/components/save-hub/index.js.map +1 -1
  70. package/build/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
  71. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  72. package/build/components/sidebar-dataviews/default-views.js +7 -2
  73. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  74. package/build/components/sidebar-edit-mode/index.js +6 -5
  75. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  76. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +15 -26
  77. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  78. package/build/components/sidebar-edit-mode/page-panels/hooks.js +22 -8
  79. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  80. package/build/components/sidebar-edit-mode/page-panels/page-status.js +8 -5
  81. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  82. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +4 -8
  83. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  84. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +2 -2
  85. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  86. package/build/components/sidebar-edit-mode/settings-header/index.js +10 -6
  87. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  88. package/build/components/sidebar-navigation-screen-page/index.js +23 -4
  89. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  90. package/build/components/style-book/index.js +22 -12
  91. package/build/components/style-book/index.js.map +1 -1
  92. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
  93. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  94. package/build/components/welcome-guide/page.js +2 -2
  95. package/build/components/welcome-guide/page.js.map +1 -1
  96. package/build/components/welcome-guide/template.js +6 -3
  97. package/build/components/welcome-guide/template.js.map +1 -1
  98. package/build/hooks/commands/use-edit-mode-commands.js +24 -14
  99. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  100. package/build/store/actions.js +4 -1
  101. package/build/store/actions.js.map +1 -1
  102. package/build/store/private-actions.js +2 -27
  103. package/build/store/private-actions.js.map +1 -1
  104. package/build/store/private-selectors.js +0 -23
  105. package/build/store/private-selectors.js.map +1 -1
  106. package/build/store/reducer.js +1 -40
  107. package/build/store/reducer.js.map +1 -1
  108. package/build/store/selectors.js +8 -4
  109. package/build/store/selectors.js.map +1 -1
  110. package/build/utils/constants.js +1 -12
  111. package/build/utils/constants.js.map +1 -1
  112. package/build-module/components/actions/index.js +55 -36
  113. package/build-module/components/actions/index.js.map +1 -1
  114. package/build-module/components/block-editor/site-editor-canvas.js +7 -2
  115. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  116. package/build-module/components/dataviews/add-filter.js +21 -20
  117. package/build-module/components/dataviews/add-filter.js.map +1 -1
  118. package/build-module/components/dataviews/constants.js +6 -0
  119. package/build-module/components/dataviews/constants.js.map +1 -0
  120. package/build-module/components/dataviews/dataviews.js +9 -7
  121. package/build-module/components/dataviews/dataviews.js.map +1 -1
  122. package/build-module/components/dataviews/filter-summary.js +55 -0
  123. package/build-module/components/dataviews/filter-summary.js.map +1 -0
  124. package/build-module/components/dataviews/filters.js +15 -28
  125. package/build-module/components/dataviews/filters.js.map +1 -1
  126. package/build-module/components/dataviews/item-actions.js +84 -30
  127. package/build-module/components/dataviews/item-actions.js.map +1 -1
  128. package/build-module/components/dataviews/pagination.js +4 -0
  129. package/build-module/components/dataviews/pagination.js.map +1 -1
  130. package/build-module/components/dataviews/view-actions.js +24 -24
  131. package/build-module/components/dataviews/view-actions.js.map +1 -1
  132. package/build-module/components/dataviews/view-grid.js +49 -26
  133. package/build-module/components/dataviews/view-grid.js.map +1 -1
  134. package/build-module/components/dataviews/view-list.js +28 -33
  135. package/build-module/components/dataviews/view-list.js.map +1 -1
  136. package/build-module/components/editor/index.js +26 -30
  137. package/build-module/components/editor/index.js.map +1 -1
  138. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  139. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  140. package/build-module/components/global-styles/font-library-modal/utils/index.js +14 -2
  141. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  142. package/build-module/components/global-styles/header.js +4 -2
  143. package/build-module/components/global-styles/header.js.map +1 -1
  144. package/build-module/components/global-styles/screen-block-list.js +23 -17
  145. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  146. package/build-module/components/global-styles/screen-revisions/index.js +27 -6
  147. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  148. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +51 -24
  149. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  150. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  151. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  152. package/build-module/components/global-styles/ui.js +28 -36
  153. package/build-module/components/global-styles/ui.js.map +1 -1
  154. package/build-module/components/header-edit-mode/document-actions/index.js +21 -16
  155. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  156. package/build-module/components/header-edit-mode/index.js +2 -1
  157. package/build-module/components/header-edit-mode/index.js.map +1 -1
  158. package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
  159. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  160. package/build-module/components/list/added-by.js +44 -55
  161. package/build-module/components/list/added-by.js.map +1 -1
  162. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +9 -8
  163. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  164. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  165. package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  166. package/build-module/components/page-content-focus-notifications/index.js +14 -0
  167. package/build-module/components/page-content-focus-notifications/index.js.map +1 -0
  168. package/build-module/components/page-pages/index.js +10 -16
  169. package/build-module/components/page-pages/index.js.map +1 -1
  170. package/build-module/components/page-patterns/use-patterns.js +1 -1
  171. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  172. package/build-module/components/page-templates/dataviews-templates.js +168 -53
  173. package/build-module/components/page-templates/dataviews-templates.js.map +1 -1
  174. package/build-module/components/preferences-modal/index.js +1 -1
  175. package/build-module/components/preferences-modal/index.js.map +1 -1
  176. package/build-module/components/save-button/index.js +11 -8
  177. package/build-module/components/save-button/index.js.map +1 -1
  178. package/build-module/components/save-hub/index.js +14 -0
  179. package/build-module/components/save-hub/index.js.map +1 -1
  180. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +3 -1
  181. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  182. package/build-module/components/sidebar-dataviews/default-views.js +7 -2
  183. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  184. package/build-module/components/sidebar-edit-mode/index.js +6 -5
  185. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  186. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +16 -27
  187. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  188. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +21 -7
  189. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  190. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +9 -6
  191. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  192. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +5 -9
  193. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  194. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
  195. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  196. package/build-module/components/sidebar-edit-mode/settings-header/index.js +10 -6
  197. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  198. package/build-module/components/sidebar-navigation-screen-page/index.js +23 -4
  199. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  200. package/build-module/components/style-book/index.js +22 -12
  201. package/build-module/components/style-book/index.js.map +1 -1
  202. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +41 -9
  203. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  204. package/build-module/components/welcome-guide/page.js +2 -2
  205. package/build-module/components/welcome-guide/page.js.map +1 -1
  206. package/build-module/components/welcome-guide/template.js +6 -3
  207. package/build-module/components/welcome-guide/template.js.map +1 -1
  208. package/build-module/hooks/commands/use-edit-mode-commands.js +24 -14
  209. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  210. package/build-module/store/actions.js +4 -1
  211. package/build-module/store/actions.js.map +1 -1
  212. package/build-module/store/private-actions.js +1 -25
  213. package/build-module/store/private-actions.js.map +1 -1
  214. package/build-module/store/private-selectors.js +0 -22
  215. package/build-module/store/private-selectors.js.map +1 -1
  216. package/build-module/store/reducer.js +1 -38
  217. package/build-module/store/reducer.js.map +1 -1
  218. package/build-module/store/selectors.js +8 -4
  219. package/build-module/store/selectors.js.map +1 -1
  220. package/build-module/utils/constants.js +0 -10
  221. package/build-module/utils/constants.js.map +1 -1
  222. package/build-style/style-rtl.css +152 -62
  223. package/build-style/style.css +152 -62
  224. package/package.json +41 -41
  225. package/src/components/actions/index.js +76 -48
  226. package/src/components/block-editor/site-editor-canvas.js +8 -2
  227. package/src/components/dataviews/README.md +14 -11
  228. package/src/components/dataviews/add-filter.js +21 -24
  229. package/src/components/dataviews/constants.js +5 -0
  230. package/src/components/dataviews/dataviews.js +10 -10
  231. package/src/components/dataviews/filter-summary.js +79 -0
  232. package/src/components/dataviews/filters.js +18 -35
  233. package/src/components/dataviews/item-actions.js +106 -42
  234. package/src/components/dataviews/pagination.js +4 -0
  235. package/src/components/dataviews/style.scss +84 -8
  236. package/src/components/dataviews/view-actions.js +39 -41
  237. package/src/components/dataviews/view-grid.js +63 -38
  238. package/src/components/dataviews/view-list.js +50 -57
  239. package/src/components/editor/index.js +18 -34
  240. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  241. package/src/components/global-styles/font-library-modal/utils/index.js +20 -9
  242. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +46 -15
  243. package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +28 -0
  244. package/src/components/global-styles/header.js +2 -1
  245. package/src/components/global-styles/screen-block-list.js +37 -26
  246. package/src/components/global-styles/screen-revisions/index.js +39 -10
  247. package/src/components/global-styles/screen-revisions/revisions-buttons.js +65 -45
  248. package/src/components/global-styles/screen-revisions/style.scss +52 -28
  249. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -6
  250. package/src/components/global-styles/style.scss +0 -11
  251. package/src/components/global-styles/ui.js +59 -74
  252. package/src/components/header-edit-mode/document-actions/index.js +20 -18
  253. package/src/components/header-edit-mode/index.js +1 -0
  254. package/src/components/header-edit-mode/more-menu/index.js +1 -1
  255. package/src/components/list/added-by.js +23 -63
  256. package/src/components/list/style.scss +11 -13
  257. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +12 -13
  258. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  259. package/src/components/page-content-focus-notifications/index.js +14 -0
  260. package/src/components/page-pages/index.js +15 -20
  261. package/src/components/page-patterns/use-patterns.js +1 -1
  262. package/src/components/page-templates/dataviews-templates.js +169 -48
  263. package/src/components/page-templates/style.scss +13 -0
  264. package/src/components/preferences-modal/index.js +1 -1
  265. package/src/components/save-button/index.js +37 -24
  266. package/src/components/save-hub/index.js +15 -0
  267. package/src/components/save-hub/style.scss +7 -0
  268. package/src/components/sidebar-dataviews/custom-dataviews-list.js +2 -0
  269. package/src/components/sidebar-dataviews/default-views.js +7 -2
  270. package/src/components/sidebar-dataviews/style.scss +7 -0
  271. package/src/components/sidebar-edit-mode/index.js +13 -9
  272. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +33 -52
  273. package/src/components/sidebar-edit-mode/page-panels/hooks.js +20 -9
  274. package/src/components/sidebar-edit-mode/page-panels/page-status.js +6 -6
  275. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +8 -9
  276. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +3 -3
  277. package/src/components/sidebar-edit-mode/page-panels/style.scss +9 -19
  278. package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
  279. package/src/components/sidebar-navigation-screen/style.scss +1 -0
  280. package/src/components/sidebar-navigation-screen-page/index.js +24 -3
  281. package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
  282. package/src/components/style-book/index.js +48 -35
  283. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +69 -17
  284. package/src/components/welcome-guide/page.js +2 -2
  285. package/src/components/welcome-guide/template.js +4 -2
  286. package/src/hooks/commands/use-edit-mode-commands.js +22 -16
  287. package/src/store/actions.js +5 -1
  288. package/src/store/private-actions.js +1 -24
  289. package/src/store/private-selectors.js +0 -22
  290. package/src/store/reducer.js +0 -39
  291. package/src/store/selectors.js +12 -4
  292. package/src/store/test/actions.js +3 -32
  293. package/src/store/test/reducer.js +0 -62
  294. package/src/store/test/selectors.js +0 -35
  295. package/src/style.scss +1 -0
  296. package/src/utils/constants.js +0 -10
  297. package/build/components/dataviews/in-filter.js +0 -51
  298. package/build/components/dataviews/in-filter.js.map +0 -1
  299. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  300. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -63
  301. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  302. package/build/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  303. package/build/components/page-content-focus-manager/index.js +0 -61
  304. package/build/components/page-content-focus-manager/index.js.map +0 -1
  305. package/build/components/sidebar-edit-mode/page-panels/publish-date.js +0 -87
  306. package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  307. package/build-module/components/dataviews/in-filter.js +0 -42
  308. package/build-module/components/dataviews/in-filter.js.map +0 -1
  309. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  310. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -56
  311. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  312. package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  313. package/build-module/components/page-content-focus-manager/index.js +0 -52
  314. package/build-module/components/page-content-focus-manager/index.js.map +0 -1
  315. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +0 -80
  316. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  317. package/src/components/dataviews/in-filter.js +0 -63
  318. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -57
  319. package/src/components/page-content-focus-manager/index.js +0 -51
  320. package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
@@ -1 +1 @@
1
- {"version":3,"names":["_removeAccents","_interopRequireDefault","require","_components","_i18n","_element","_coreData","_htmlEntities","_page","_link","_addedBy","_constants","_dataviews","_templateActions","EMPTY_ARRAY","DEFAULT_VIEW","type","search","page","perPage","hiddenFields","layout","normalizeSearchInput","input","removeAccents","trim","toLowerCase","TemplateTitle","item","isCustomized","useAddedBy","id","_react","createElement","__experimentalVStack","spacing","__experimentalHeading","as","level","default","params","postId","postType","canvas","decodeEntities","title","rendered","slug","__","className","TEMPLATE_POST_TYPE","_x","AuthorField","text","icon","imageUrl","__experimentalHStack","alignment","AvatarImage","Icon","DataviewsTemplates","view","setView","useState","records","allTemplates","isResolving","isLoadingData","useEntityRecords","per_page","shownTemplates","paginationInfo","useMemo","totalItems","totalPages","filteredTemplates","normalizedSearch","filter","includes","description","sort","field","a","b","titleA","titleB","direction","localeCompare","start","length","slice","Math","ceil","fields","header","getValue","render","maxWidth","enableHiding","__experimentalText","variant","enableSorting","resetTemplateAction","useResetTemplateAction","actions","deleteTemplateAction","renameTemplateAction","onChangeView","useCallback","viewUpdater","updatedView","DataViews","data","isLoading","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-templates/dataviews-templates.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Link from '../routes/link';\nimport { useAddedBy, AvatarImage } from '../list/added-by';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { DataViews } from '../dataviews';\nimport {\n\tuseResetTemplateAction,\n\tdeleteTemplateAction,\n\trenameTemplateAction,\n} from './template-actions';\n\nconst EMPTY_ARRAY = [];\n\nconst DEFAULT_VIEW = {\n\ttype: 'list',\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [],\n\tlayout: {},\n};\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\n// TODO: these are going to be reused in the template part list.\n// That's the reason for leaving the template parts code for now.\nfunction TemplateTitle( { item } ) {\n\tconst { isCustomized } = useAddedBy( item.type, item.id );\n\treturn (\n\t\t<VStack spacing={ 1 }>\n\t\t\t<Heading as=\"h3\" level={ 5 }>\n\t\t\t\t<Link\n\t\t\t\t\tparams={ {\n\t\t\t\t\t\tpostId: item.id,\n\t\t\t\t\t\tpostType: item.type,\n\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( item.title?.rendered || item.slug ) ||\n\t\t\t\t\t\t__( '(no title)' ) }\n\t\t\t\t</Link>\n\t\t\t</Heading>\n\t\t\t{ isCustomized && (\n\t\t\t\t<span className=\"edit-site-list-added-by__customized-info\">\n\t\t\t\t\t{ item.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? _x( 'Customized', 'template' )\n\t\t\t\t\t\t: _x( 'Customized', 'template part' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction AuthorField( { item } ) {\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\treturn (\n\t\t<HStack alignment=\"left\">\n\t\t\t{ imageUrl ? (\n\t\t\t\t<AvatarImage imageUrl={ imageUrl } />\n\t\t\t) : (\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\nexport default function DataviewsTemplates() {\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst { records: allTemplates, isResolving: isLoadingData } =\n\t\tuseEntityRecords( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\tconst { shownTemplates, paginationInfo } = useMemo( () => {\n\t\tif ( ! allTemplates ) {\n\t\t\treturn {\n\t\t\t\tshownTemplates: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredTemplates = [ ...allTemplates ];\n\t\t// Handle global search.\n\t\tif ( view.search ) {\n\t\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\t\tfilteredTemplates = filteredTemplates.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\t\t// Handle sorting.\n\t\t// TODO: Explore how this can be more dynamic..\n\t\tif ( view.sort ) {\n\t\t\tif ( view.sort.field === 'title' ) {\n\t\t\t\tfilteredTemplates.sort( ( a, b ) => {\n\t\t\t\t\tconst titleA = a.title?.rendered || a.slug;\n\t\t\t\t\tconst titleB = b.title?.rendered || b.slug;\n\t\t\t\t\treturn view.sort.direction === 'asc'\n\t\t\t\t\t\t? titleA.localeCompare( titleB )\n\t\t\t\t\t\t: titleB.localeCompare( titleA );\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t\t// Handle pagination.\n\t\tconst start = ( view.page - 1 ) * view.perPage;\n\t\tconst totalItems = filteredTemplates?.length || 0;\n\t\tfilteredTemplates = filteredTemplates?.slice(\n\t\t\tstart,\n\t\t\tstart + view.perPage\n\t\t);\n\t\treturn {\n\t\t\tshownTemplates: filteredTemplates,\n\t\t\tpaginationInfo: {\n\t\t\t\ttotalItems,\n\t\t\t\ttotalPages: Math.ceil( totalItems / view.perPage ),\n\t\t\t},\n\t\t};\n\t}, [ allTemplates, view ] );\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\theader: __( 'Template' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered || item.slug,\n\t\t\t\trender: ( { item } ) => <TemplateTitle item={ item } />,\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t\t{\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 (\n\t\t\t\t\t\titem.description && (\n\t\t\t\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 200,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: () => {},\n\t\t\t\trender: ( { item } ) => <AuthorField item={ item } />,\n\t\t\t\tenableHiding: false,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t],\n\t\t[]\n\t);\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],\n\t\t[ resetTemplateAction ]\n\t);\n\tconst onChangeView = useCallback(\n\t\t( viewUpdater ) => {\n\t\t\tconst updatedView =\n\t\t\t\ttypeof viewUpdater === 'function'\n\t\t\t\t\t? viewUpdater( view )\n\t\t\t\t\t: viewUpdater;\n\t\t\tsetView( updatedView );\n\t\t},\n\t\t[ view, setView ]\n\t);\n\treturn (\n\t\t<Page title={ __( 'Templates' ) }>\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={ shownTemplates }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tsupportedLayouts={ [ 'list' ] }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_removeAccents","_interopRequireDefault","require","_components","_i18n","_element","_coreData","_htmlEntities","_blocks","_blockEditor","_page","_link","_addedBy","_constants","_dataviews","_constants2","_templateActions","_usePatternSettings","_lockUnlock","ExperimentalBlockEditorProvider","useGlobalStyle","unlock","blockEditorPrivateApis","EMPTY_ARRAY","defaultConfigPerViewType","list","grid","mediaField","primaryField","DEFAULT_VIEW","type","search","page","perPage","hiddenFields","layout","filters","normalizeSearchInput","input","removeAccents","trim","toLowerCase","TemplateTitle","item","isCustomized","useAddedBy","id","_react","createElement","__experimentalVStack","spacing","__experimentalHeading","as","level","default","params","postId","postType","canvas","decodeEntities","title","rendered","slug","__","className","TEMPLATE_POST_TYPE","_x","AuthorField","text","icon","imageUrl","__experimentalHStack","alignment","AvatarImage","Icon","TemplatePreview","content","viewType","settings","usePatternSettings","backgroundColor","blocks","useMemo","parse","length","style","BlockPreview","DataviewsTemplates","view","setView","useState","records","allTemplates","isResolving","isLoadingData","useEntityRecords","per_page","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","value","label","fields","header","render","raw","minWidth","maxWidth","enableSorting","getValue","enableHiding","description","Fragment","__experimentalText","variant","VisuallyHidden","ENUMERATION_TYPE","elements","shownTemplates","paginationInfo","totalItems","totalPages","filteredTemplates","normalizedSearch","filter","includes","field","operator","OPERATOR_IN","sort","stringSortingFields","fieldId","fieldToSort","find","a","b","_fieldToSort$getValue","_fieldToSort$getValue2","valueA","valueB","direction","localeCompare","start","slice","Math","ceil","resetTemplateAction","useResetTemplateAction","actions","deleteTemplateAction","renameTemplateAction","onChangeView","useCallback","viewUpdater","updatedView","DataViews","data","getItemId","isLoading","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-templates/dataviews-templates.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback } 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';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Link from '../routes/link';\nimport { useAddedBy, AvatarImage } from '../list/added-by';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\nimport { DataViews } from '../dataviews';\nimport { ENUMERATION_TYPE, OPERATOR_IN } from '../dataviews/constants';\nimport {\n\tuseResetTemplateAction,\n\tdeleteTemplateAction,\n\trenameTemplateAction,\n} from './template-actions';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst EMPTY_ARRAY = [];\n\nconst defaultConfigPerViewType = {\n\tlist: {},\n\tgrid: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: 'list',\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\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: {},\n\tfilters: [],\n};\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\n// TODO: these are going to be reused in the template part list.\n// That's the reason for leaving the template parts code for now.\nfunction TemplateTitle( { item } ) {\n\tconst { isCustomized } = useAddedBy( item.type, item.id );\n\treturn (\n\t\t<VStack spacing={ 1 }>\n\t\t\t<Heading as=\"h3\" level={ 5 }>\n\t\t\t\t<Link\n\t\t\t\t\tparams={ {\n\t\t\t\t\t\tpostId: item.id,\n\t\t\t\t\t\tpostType: item.type,\n\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( item.title?.rendered || item.slug ) ||\n\t\t\t\t\t\t__( '(no title)' ) }\n\t\t\t\t</Link>\n\t\t\t</Heading>\n\t\t\t{ isCustomized && (\n\t\t\t\t<span className=\"edit-site-list-added-by__customized-info\">\n\t\t\t\t\t{ item.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? _x( 'Customized', 'template' )\n\t\t\t\t\t\t: _x( 'Customized', 'template part' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n\nfunction AuthorField( { item } ) {\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ imageUrl ? (\n\t\t\t\t<AvatarImage imageUrl={ imageUrl } />\n\t\t\t) : (\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 TemplatePreview( { content, viewType } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( content );\n\t}, [ content ] );\n\tif ( ! blocks?.length ) {\n\t\treturn null;\n\t}\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<BlockPreview blocks={ blocks } />\n\t\t\t</div>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\nexport default function DataviewsTemplates() {\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst { records: allTemplates, isResolving: isLoadingData } =\n\t\tuseEntityRecords( 'postType', TEMPLATE_POST_TYPE, {\n\t\t\tper_page: -1,\n\t\t} );\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! allTemplates ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\tallTemplates.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}, [ allTemplates ] );\n\n\tconst fields = useMemo(\n\t\t() => [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item, view: { type: viewType } } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TemplatePreview\n\t\t\t\t\t\t\tcontent={ item.content.raw }\n\t\t\t\t\t\t\tviewType={ viewType }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\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: __( 'Template' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered || item.slug,\n\t\t\t\trender: ( { item } ) => <TemplateTitle item={ item } />,\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t\t{\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\tdecodeEntities( item.description )\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Text variant=\"muted\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t&#8212;\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t{ __( 'No description.' ) }\n\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 200,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Author' ),\n\t\t\t\tid: 'author',\n\t\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <AuthorField item={ item } />;\n\t\t\t\t},\n\t\t\t\tenableHiding: false,\n\t\t\t\ttype: ENUMERATION_TYPE,\n\t\t\t\telements: authors,\n\t\t\t},\n\t\t],\n\t\t[ authors ]\n\t);\n\n\tconst { shownTemplates, paginationInfo } = useMemo( () => {\n\t\tif ( ! allTemplates ) {\n\t\t\treturn {\n\t\t\t\tshownTemplates: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredTemplates = [ ...allTemplates ];\n\t\t// Handle global search.\n\t\tif ( view.search ) {\n\t\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\t\tfilteredTemplates = filteredTemplates.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\tfilteredTemplates = filteredTemplates.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\tconst stringSortingFields = [ 'title', 'author' ];\n\t\t\tconst fieldId = view.sort.field;\n\t\t\tif ( stringSortingFields.includes( fieldId ) ) {\n\t\t\t\tconst fieldToSort = fields.find( ( field ) => {\n\t\t\t\t\treturn field.id === fieldId;\n\t\t\t\t} );\n\t\t\t\tfilteredTemplates.sort( ( a, b ) => {\n\t\t\t\t\tconst valueA = fieldToSort.getValue( { item: a } ) ?? '';\n\t\t\t\t\tconst valueB = fieldToSort.getValue( { item: b } ) ?? '';\n\t\t\t\t\treturn view.sort.direction === 'asc'\n\t\t\t\t\t\t? valueA.localeCompare( valueB )\n\t\t\t\t\t\t: valueB.localeCompare( valueA );\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\t// Handle pagination.\n\t\tconst start = ( view.page - 1 ) * view.perPage;\n\t\tconst totalItems = filteredTemplates?.length || 0;\n\t\tfilteredTemplates = filteredTemplates?.slice(\n\t\t\tstart,\n\t\t\tstart + view.perPage\n\t\t);\n\t\treturn {\n\t\t\tshownTemplates: filteredTemplates,\n\t\t\tpaginationInfo: {\n\t\t\t\ttotalItems,\n\t\t\t\ttotalPages: Math.ceil( totalItems / view.perPage ),\n\t\t\t},\n\t\t};\n\t}, [ allTemplates, 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],\n\t\t[ resetTemplateAction ]\n\t);\n\tconst onChangeView = useCallback(\n\t\t( viewUpdater ) => {\n\t\t\tlet updatedView =\n\t\t\t\ttypeof viewUpdater === 'function'\n\t\t\t\t\t? viewUpdater( view )\n\t\t\t\t\t: viewUpdater;\n\t\t\tif ( updatedView.type !== view.type ) {\n\t\t\t\tupdatedView = {\n\t\t\t\t\t...updatedView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...defaultConfigPerViewType[ updatedView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tsetView( updatedView );\n\t\t},\n\t\t[ view, setView ]\n\t);\n\treturn (\n\t\t<Page title={ __( 'Templates' ) }>\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={ shownTemplates }\n\t\t\t\tgetItemId={ ( item ) => item.id }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tsupportedLayouts={ [ 'list', 'grid' ] }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":"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"}
@@ -42,7 +42,7 @@ function EditSitePreferencesModal() {
42
42
  } = (0, _data.useDispatch)(_preferences.store);
43
43
  const toggleDistractionFree = () => {
44
44
  registry.batch(() => {
45
- setPreference('core/edit-site', 'fixedToolbar', false);
45
+ setPreference('core/edit-site', 'fixedToolbar', true);
46
46
  setIsInserterOpened(false);
47
47
  setIsListViewOpened(false);
48
48
  closeGeneralSidebar();
@@ -1 +1 @@
1
- {"version":3,"names":["_interface","require","_element","_i18n","_data","_preferences","_enableFeature","_interopRequireDefault","_store","PREFERENCES_MODAL_NAME","exports","EditSitePreferencesModal","isModalActive","useSelect","select","interfaceStore","closeModal","openModal","useDispatch","toggleModal","registry","useRegistry","closeGeneralSidebar","setIsListViewOpened","setIsInserterOpened","editSiteStore","set","setPreference","preferencesStore","toggleDistractionFree","batch","sections","useMemo","name","tabLabel","__","content","_react","createElement","PreferencesModalSection","title","description","default","featureName","onToggle","help","label","PreferencesModal","PreferencesModalTabs"],"sources":["@wordpress/edit-site/src/components/preferences-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPreferencesModal,\n\tPreferencesModalTabs,\n\tPreferencesModalSection,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport EnableFeature from './enable-feature';\nimport { store as editSiteStore } from '../../store';\n\nexport const PREFERENCES_MODAL_NAME = 'edit-site/preferences';\n\nexport default function EditSitePreferencesModal() {\n\tconst isModalActive = useSelect( ( select ) =>\n\t\tselect( interfaceStore ).isModalActive( PREFERENCES_MODAL_NAME )\n\t);\n\tconst { closeModal, openModal } = useDispatch( interfaceStore );\n\tconst toggleModal = () =>\n\t\tisModalActive ? closeModal() : openModal( PREFERENCES_MODAL_NAME );\n\tconst registry = useRegistry();\n\tconst { closeGeneralSidebar, setIsListViewOpened, setIsInserterOpened } =\n\t\tuseDispatch( editSiteStore );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst toggleDistractionFree = () => {\n\t\tregistry.batch( () => {\n\t\t\tsetPreference( 'core/edit-site', 'fixedToolbar', false );\n\t\t\tsetIsInserterOpened( false );\n\t\t\tsetIsListViewOpened( false );\n\t\t\tcloseGeneralSidebar();\n\t\t} );\n\t};\n\n\tconst sections = useMemo( () => [\n\t\t{\n\t\t\tname: 'general',\n\t\t\ttabLabel: __( 'General' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Appearance' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize options related to the block editor interface and editing flow.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"distractionFree\"\n\t\t\t\t\t\tonToggle={ toggleDistractionFree }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"focusMode\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Highlights the current block and fades other content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showIconLabels\"\n\t\t\t\t\t\tlabel={ __( 'Show button text labels' ) }\n\t\t\t\t\t\thelp={ __( 'Show text instead of icons on buttons.' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showListViewByDefault\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Opens the block list view sidebar by default.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Always open list view' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showBlockBreadcrumbs\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Shows block breadcrumbs at the bottom of the editor.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Display block breadcrumbs' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tname: 'blocks',\n\t\t\ttabLabel: __( 'Blocks' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Block interactions' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize how you interact with blocks in the block library and editing canvas.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"keepCaretInsideBlock\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Aids screen readers by stopping text caret from leaving blocks.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Contain text cursor inside block' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t] );\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<PreferencesModal closeModal={ toggleModal }>\n\t\t\t<PreferencesModalTabs sections={ sections } />\n\t\t</PreferencesModal>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_interface","require","_element","_i18n","_data","_preferences","_enableFeature","_interopRequireDefault","_store","PREFERENCES_MODAL_NAME","exports","EditSitePreferencesModal","isModalActive","useSelect","select","interfaceStore","closeModal","openModal","useDispatch","toggleModal","registry","useRegistry","closeGeneralSidebar","setIsListViewOpened","setIsInserterOpened","editSiteStore","set","setPreference","preferencesStore","toggleDistractionFree","batch","sections","useMemo","name","tabLabel","__","content","_react","createElement","PreferencesModalSection","title","description","default","featureName","onToggle","help","label","PreferencesModal","PreferencesModalTabs"],"sources":["@wordpress/edit-site/src/components/preferences-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPreferencesModal,\n\tPreferencesModalTabs,\n\tPreferencesModalSection,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport EnableFeature from './enable-feature';\nimport { store as editSiteStore } from '../../store';\n\nexport const PREFERENCES_MODAL_NAME = 'edit-site/preferences';\n\nexport default function EditSitePreferencesModal() {\n\tconst isModalActive = useSelect( ( select ) =>\n\t\tselect( interfaceStore ).isModalActive( PREFERENCES_MODAL_NAME )\n\t);\n\tconst { closeModal, openModal } = useDispatch( interfaceStore );\n\tconst toggleModal = () =>\n\t\tisModalActive ? closeModal() : openModal( PREFERENCES_MODAL_NAME );\n\tconst registry = useRegistry();\n\tconst { closeGeneralSidebar, setIsListViewOpened, setIsInserterOpened } =\n\t\tuseDispatch( editSiteStore );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst toggleDistractionFree = () => {\n\t\tregistry.batch( () => {\n\t\t\tsetPreference( 'core/edit-site', 'fixedToolbar', true );\n\t\t\tsetIsInserterOpened( false );\n\t\t\tsetIsListViewOpened( false );\n\t\t\tcloseGeneralSidebar();\n\t\t} );\n\t};\n\n\tconst sections = useMemo( () => [\n\t\t{\n\t\t\tname: 'general',\n\t\t\ttabLabel: __( 'General' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Appearance' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize options related to the block editor interface and editing flow.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"distractionFree\"\n\t\t\t\t\t\tonToggle={ toggleDistractionFree }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"focusMode\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Highlights the current block and fades other content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showIconLabels\"\n\t\t\t\t\t\tlabel={ __( 'Show button text labels' ) }\n\t\t\t\t\t\thelp={ __( 'Show text instead of icons on buttons.' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showListViewByDefault\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Opens the block list view sidebar by default.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Always open list view' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showBlockBreadcrumbs\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Shows block breadcrumbs at the bottom of the editor.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Display block breadcrumbs' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tname: 'blocks',\n\t\t\ttabLabel: __( 'Blocks' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Block interactions' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize how you interact with blocks in the block library and editing canvas.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"keepCaretInsideBlock\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Aids screen readers by stopping text caret from leaving blocks.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Contain text cursor inside block' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t] );\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<PreferencesModal closeModal={ toggleModal }>\n\t\t\t<PreferencesModalTabs sections={ sections } />\n\t\t</PreferencesModal>\n\t);\n}\n"],"mappings":"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"}
@@ -31,7 +31,8 @@ function SaveButton({
31
31
  const {
32
32
  isDirty,
33
33
  isSaving,
34
- isSaveViewOpen
34
+ isSaveViewOpen,
35
+ previewingThemeName
35
36
  } = (0, _data.useSelect)(select => {
36
37
  const {
37
38
  __experimentalGetDirtyEntityRecords,
@@ -43,10 +44,12 @@ function SaveButton({
43
44
  isSaveViewOpened
44
45
  } = select(_store.store);
45
46
  const isActivatingTheme = isResolving('activateTheme');
47
+ const previewingTheme = select(_coreData.store).getTheme((0, _isPreviewingTheme.currentlyPreviewingTheme)());
46
48
  return {
47
49
  isDirty: dirtyEntityRecords.length > 0,
48
50
  isSaving: dirtyEntityRecords.some(record => isSavingEntityRecord(record.kind, record.name, record.key)) || isActivatingTheme,
49
- isSaveViewOpen: isSaveViewOpened()
51
+ isSaveViewOpen: isSaveViewOpened(),
52
+ previewingThemeName: previewingTheme?.name?.rendered
50
53
  };
51
54
  }, []);
52
55
  const {
@@ -57,13 +60,13 @@ function SaveButton({
57
60
  const getLabel = () => {
58
61
  if ((0, _isPreviewingTheme.isPreviewingTheme)()) {
59
62
  if (isSaving) {
60
- return (0, _i18n.__)('Activating');
63
+ return (0, _i18n.sprintf)('Activating %s', previewingThemeName);
61
64
  } else if (disabled) {
62
65
  return (0, _i18n.__)('Saved');
63
66
  } else if (isDirty) {
64
- return (0, _i18n.__)('Activate & Save');
67
+ return (0, _i18n.sprintf)('Activate %s & Save', previewingThemeName);
65
68
  }
66
- return (0, _i18n.__)('Activate');
69
+ return (0, _i18n.sprintf)('Activate %s', previewingThemeName);
67
70
  }
68
71
  if (isSaving) {
69
72
  return (0, _i18n.__)('Saving');
@@ -92,7 +95,7 @@ function SaveButton({
92
95
  * Displaying the keyboard shortcut conditionally makes the tooltip
93
96
  * itself show conditionally. This would trigger a full-rerendering
94
97
  * of the button that we want to avoid. By setting `showTooltip`,
95
- & the tooltip is always rendered even when there's no keyboard shortcut.
98
+ * the tooltip is always rendered even when there's no keyboard shortcut.
96
99
  */,
97
100
  showTooltip: showTooltip,
98
101
  icon: icon,
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_components","_i18n","_coreData","_keycodes","_store","_isPreviewingTheme","SaveButton","className","variant","showTooltip","defaultLabel","icon","__next40pxDefaultSize","isDirty","isSaving","isSaveViewOpen","useSelect","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","isResolving","coreStore","dirtyEntityRecords","isSaveViewOpened","editSiteStore","isActivatingTheme","length","some","record","kind","name","key","setIsSaveViewOpened","useDispatch","activateSaveEnabled","isPreviewingTheme","disabled","getLabel","__","label","_react","createElement","Button","isBusy","onClick","undefined","shortcut","displayShortcut","primary"],"sources":["@wordpress/edit-site/src/components/save-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tdefaultLabel,\n\ticon,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { isDirty, isSaving, isSaveViewOpen } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\tisSavingEntityRecord,\n\t\t\tisResolving,\n\t\t} = select( coreStore );\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\treturn {\n\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\tisSaving:\n\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\tisSavingEntityRecord( record.kind, record.name, record.key )\n\t\t\t\t) || isActivatingTheme,\n\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t};\n\t}, [] );\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\n\tconst activateSaveEnabled = isPreviewingTheme() || isDirty;\n\tconst disabled = isSaving || ! activateSaveEnabled;\n\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn __( 'Activating' );\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( isDirty ) {\n\t\t\t\treturn __( 'Activate & Save' );\n\t\t\t}\n\t\t\treturn __( 'Activate' );\n\t\t}\n\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t} else if ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t} else if ( defaultLabel ) {\n\t\t\treturn defaultLabel;\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : () => setIsSaveViewOpened( true ) }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t & the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_data","require","_components","_i18n","_coreData","_keycodes","_store","_isPreviewingTheme","SaveButton","className","variant","showTooltip","defaultLabel","icon","__next40pxDefaultSize","isDirty","isSaving","isSaveViewOpen","previewingThemeName","useSelect","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","isResolving","coreStore","dirtyEntityRecords","isSaveViewOpened","editSiteStore","isActivatingTheme","previewingTheme","getTheme","currentlyPreviewingTheme","length","some","record","kind","name","key","rendered","setIsSaveViewOpened","useDispatch","activateSaveEnabled","isPreviewingTheme","disabled","getLabel","sprintf","__","label","_react","createElement","Button","isBusy","onClick","undefined","shortcut","displayShortcut","primary"],"sources":["@wordpress/edit-site/src/components/save-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport {\n\tcurrentlyPreviewingTheme,\n\tisPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tdefaultLabel,\n\ticon,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { isDirty, isSaving, isSaveViewOpen, previewingThemeName } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tisSavingEntityRecord,\n\t\t\t\tisResolving,\n\t\t\t} = select( coreStore );\n\t\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\t\tconst previewingTheme = select( coreStore ).getTheme(\n\t\t\t\tcurrentlyPreviewingTheme()\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\tisSaving:\n\t\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t) || isActivatingTheme,\n\t\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t\t\tpreviewingThemeName: previewingTheme?.name?.rendered,\n\t\t\t};\n\t\t}, [] );\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\n\tconst activateSaveEnabled = isPreviewingTheme() || isDirty;\n\tconst disabled = isSaving || ! activateSaveEnabled;\n\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn sprintf( 'Activating %s', previewingThemeName );\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( isDirty ) {\n\t\t\t\treturn sprintf( 'Activate %s & Save', previewingThemeName );\n\t\t\t}\n\t\t\treturn sprintf( 'Activate %s', previewingThemeName );\n\t\t}\n\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t} else if ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t} else if ( defaultLabel ) {\n\t\t\treturn defaultLabel;\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : () => setIsSaveViewOpened( true ) }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t * the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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"}
@@ -89,6 +89,16 @@ function SaveHub() {
89
89
  if (isSaving) {
90
90
  label = (0, _i18n.__)('Saving');
91
91
  }
92
+ const {
93
+ homeUrl
94
+ } = (0, _data.useSelect)(select => {
95
+ const {
96
+ getUnstableBase // Site index.
97
+ } = select(_coreData.store);
98
+ return {
99
+ homeUrl: getUnstableBase()?.home
100
+ };
101
+ }, []);
92
102
  const saveCurrentEntity = async () => {
93
103
  if (!dirtyCurrentEntity) return;
94
104
  removeNotice(saveNoticeId);
@@ -112,6 +122,10 @@ function SaveHub() {
112
122
  __unstableMarkLastChangeAsPersistent();
113
123
  createSuccessNotice((0, _i18n.__)('Site updated.'), {
114
124
  type: 'snackbar',
125
+ actions: [{
126
+ label: (0, _i18n.__)('View site'),
127
+ url: homeUrl
128
+ }],
115
129
  id: saveNoticeId
116
130
  });
117
131
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_components","_i18n","_coreData","_blockEditor","_icons","_router","_notices","_saveButton","_interopRequireDefault","_isPreviewingTheme","_lockUnlock","_constants","useLocation","unlock","routerPrivateApis","PUBLISH_ON_SAVE_ENTITIES","kind","name","NAVIGATION_POST_TYPE","SaveHub","saveNoticeId","params","__unstableMarkLastChangeAsPersistent","useDispatch","blockEditorStore","createSuccessNotice","createErrorNotice","removeNotice","noticesStore","dirtyCurrentEntity","countUnsavedChanges","isDirty","isSaving","useSelect","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","coreStore","dirtyEntityRecords","calcDirtyCurrentEntity","length","path","includes","find","record","postId","postType","String","key","some","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","disabled","isPreviewingTheme","label","__","sprintf","_n","saveCurrentEntity","property","undefined","typeToPublish","status","type","id","error","_react","createElement","__experimentalHStack","className","alignment","spacing","Button","variant","onClick","isBusy","__next40pxDefaultSize","default","showTooltip","icon","check","defaultLabel"],"sources":["@wordpress/edit-site/src/components/save-hub/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button, __experimentalHStack as HStack } from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { check } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport SaveButton from '../save-button';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport { unlock } from '../../lock-unlock';\nimport { NAVIGATION_POST_TYPE } from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: NAVIGATION_POST_TYPE,\n\t},\n];\n\nexport default function SaveHub() {\n\tconst saveNoticeId = 'site-edit-save-notice';\n\tconst { params } = useLocation();\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { dirtyCurrentEntity, countUnsavedChanges, isDirty, isSaving } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\t\tisSavingEntityRecord,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tconst dirtyEntityRecords =\n\t\t\t\t\t__experimentalGetDirtyEntityRecords();\n\t\t\t\tlet calcDirtyCurrentEntity = null;\n\n\t\t\t\tif ( dirtyEntityRecords.length === 1 ) {\n\t\t\t\t\t// if we are on global styles\n\t\t\t\t\tif ( params.path?.includes( 'wp_global_styles' ) ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) => record.name === 'globalStyles'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// if we are on pages\n\t\t\t\t\telse if ( params.postId ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) =>\n\t\t\t\t\t\t\t\trecord.name === params.postType &&\n\t\t\t\t\t\t\t\tString( record.key ) === params.postId\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tdirtyCurrentEntity: calcDirtyCurrentEntity,\n\t\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\t\tisSaving: dirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tcountUnsavedChanges: dirtyEntityRecords.length,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ params.path, params.postType, params.postId ]\n\t\t);\n\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst disabled = isSaving || ( ! isDirty && ! isPreviewingTheme() );\n\n\t// if we have only one unsaved change and it matches current context, we can show a more specific label\n\tlet label = dirtyCurrentEntity\n\t\t? __( 'Save' )\n\t\t: sprintf(\n\t\t\t\t// translators: %d: number of unsaved changes (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Review %d change…',\n\t\t\t\t\t'Review %d changes…',\n\t\t\t\t\tcountUnsavedChanges\n\t\t\t\t),\n\t\t\t\tcountUnsavedChanges\n\t\t );\n\n\tif ( isSaving ) {\n\t\tlabel = __( 'Saving' );\n\t}\n\n\tconst saveCurrentEntity = async () => {\n\t\tif ( ! dirtyCurrentEntity ) return;\n\n\t\tremoveNotice( saveNoticeId );\n\t\tconst { kind, name, key, property } = dirtyCurrentEntity;\n\n\t\ttry {\n\t\t\tif ( 'root' === dirtyCurrentEntity.kind && 'site' === name ) {\n\t\t\t\tawait saveSpecifiedEntityEdits( 'root', 'site', undefined, [\n\t\t\t\t\tproperty,\n\t\t\t\t] );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tawait saveEditedEntityRecord( kind, name, key );\n\t\t\t}\n\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: saveNoticeId,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` );\n\t\t}\n\t};\n\n\treturn (\n\t\t<HStack className=\"edit-site-save-hub\" alignment=\"right\" spacing={ 4 }>\n\t\t\t{ dirtyCurrentEntity ? (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ saveCurrentEntity }\n\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\taria-disabled={ isSaving }\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</Button>\n\t\t\t) : (\n\t\t\t\t<SaveButton\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\tvariant={ disabled ? null : 'primary' }\n\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\ticon={ disabled && ! isSaving ? check : null }\n\t\t\t\t\tdefaultLabel={ label }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_data","require","_components","_i18n","_coreData","_blockEditor","_icons","_router","_notices","_saveButton","_interopRequireDefault","_isPreviewingTheme","_lockUnlock","_constants","useLocation","unlock","routerPrivateApis","PUBLISH_ON_SAVE_ENTITIES","kind","name","NAVIGATION_POST_TYPE","SaveHub","saveNoticeId","params","__unstableMarkLastChangeAsPersistent","useDispatch","blockEditorStore","createSuccessNotice","createErrorNotice","removeNotice","noticesStore","dirtyCurrentEntity","countUnsavedChanges","isDirty","isSaving","useSelect","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","coreStore","dirtyEntityRecords","calcDirtyCurrentEntity","length","path","includes","find","record","postId","postType","String","key","some","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","disabled","isPreviewingTheme","label","__","sprintf","_n","homeUrl","getUnstableBase","home","saveCurrentEntity","property","undefined","typeToPublish","status","type","actions","url","id","error","_react","createElement","__experimentalHStack","className","alignment","spacing","Button","variant","onClick","isBusy","__next40pxDefaultSize","default","showTooltip","icon","check","defaultLabel"],"sources":["@wordpress/edit-site/src/components/save-hub/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button, __experimentalHStack as HStack } from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { check } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport SaveButton from '../save-button';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport { unlock } from '../../lock-unlock';\nimport { NAVIGATION_POST_TYPE } from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: NAVIGATION_POST_TYPE,\n\t},\n];\n\nexport default function SaveHub() {\n\tconst saveNoticeId = 'site-edit-save-notice';\n\tconst { params } = useLocation();\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { dirtyCurrentEntity, countUnsavedChanges, isDirty, isSaving } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\t\tisSavingEntityRecord,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tconst dirtyEntityRecords =\n\t\t\t\t\t__experimentalGetDirtyEntityRecords();\n\t\t\t\tlet calcDirtyCurrentEntity = null;\n\n\t\t\t\tif ( dirtyEntityRecords.length === 1 ) {\n\t\t\t\t\t// if we are on global styles\n\t\t\t\t\tif ( params.path?.includes( 'wp_global_styles' ) ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) => record.name === 'globalStyles'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// if we are on pages\n\t\t\t\t\telse if ( params.postId ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) =>\n\t\t\t\t\t\t\t\trecord.name === params.postType &&\n\t\t\t\t\t\t\t\tString( record.key ) === params.postId\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tdirtyCurrentEntity: calcDirtyCurrentEntity,\n\t\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\t\tisSaving: dirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tcountUnsavedChanges: dirtyEntityRecords.length,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ params.path, params.postType, params.postId ]\n\t\t);\n\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst disabled = isSaving || ( ! isDirty && ! isPreviewingTheme() );\n\n\t// if we have only one unsaved change and it matches current context, we can show a more specific label\n\tlet label = dirtyCurrentEntity\n\t\t? __( 'Save' )\n\t\t: sprintf(\n\t\t\t\t// translators: %d: number of unsaved changes (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Review %d change…',\n\t\t\t\t\t'Review %d changes…',\n\t\t\t\t\tcountUnsavedChanges\n\t\t\t\t),\n\t\t\t\tcountUnsavedChanges\n\t\t );\n\n\tif ( isSaving ) {\n\t\tlabel = __( 'Saving' );\n\t}\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst saveCurrentEntity = async () => {\n\t\tif ( ! dirtyCurrentEntity ) return;\n\n\t\tremoveNotice( saveNoticeId );\n\t\tconst { kind, name, key, property } = dirtyCurrentEntity;\n\n\t\ttry {\n\t\t\tif ( 'root' === dirtyCurrentEntity.kind && 'site' === name ) {\n\t\t\t\tawait saveSpecifiedEntityEdits( 'root', 'site', undefined, [\n\t\t\t\t\tproperty,\n\t\t\t\t] );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tawait saveEditedEntityRecord( kind, name, key );\n\t\t\t}\n\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'View site' ),\n\t\t\t\t\t\turl: homeUrl,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tid: saveNoticeId,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` );\n\t\t}\n\t};\n\n\treturn (\n\t\t<HStack className=\"edit-site-save-hub\" alignment=\"right\" spacing={ 4 }>\n\t\t\t{ dirtyCurrentEntity ? (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ saveCurrentEntity }\n\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\taria-disabled={ isSaving }\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</Button>\n\t\t\t) : (\n\t\t\t\t<SaveButton\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\tvariant={ disabled ? null : 'primary' }\n\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\ticon={ disabled && ! isSaving ? check : null }\n\t\t\t\t\tdefaultLabel={ label }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
@@ -106,10 +106,12 @@ function CustomDataViewItem({
106
106
  suffix: (0, _react.createElement)(_components.DropdownMenu, {
107
107
  icon: _icons.moreVertical,
108
108
  label: (0, _i18n.__)('Actions'),
109
+ className: "edit-site-sidebar-dataviews-dataview-item__dropdown-menu",
109
110
  toggleProps: {
110
111
  style: {
111
112
  color: 'inherit'
112
- }
113
+ },
114
+ size: 'small'
113
115
  }
114
116
  }, ({
115
117
  onClose
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_coreData","_components","_element","_icons","_i18n","_router","_dataviewItem","_interopRequireDefault","_addNewView","_lockUnlock","useHistory","useLocation","unlock","routerPrivateApis","EMPTY_ARRAY","RenameItemModalContent","dataviewId","currentTitle","setIsRenaming","editEntityRecord","useDispatch","coreStore","title","setTitle","useState","_react","createElement","onSubmit","event","preventDefault","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","label","__","value","onChange","placeholder","className","__experimentalHStack","justify","Button","variant","onClick","type","CustomDataViewItem","isActive","params","path","history","dataview","useSelect","select","getEditedEntityRecord","deleteEntityRecord","useMemo","viewContent","JSON","parse","content","isRenaming","Fragment","default","isCustom","customViewId","suffix","DropdownMenu","icon","moreVertical","toggleProps","style","color","onClose","MenuGroup","MenuItem","id","force","replace","isDestructive","Modal","onRequestClose","useCustomDataViews","customDataViews","getEntityRecords","dataViewTypeRecords","slug","length","dataViews","wp_dataviews_type","orderby","order","CustomDataViewsList","activeView","__experimentalHeading","level","__experimentalItemGroup","map","customViewRecord","key","Number"],"sources":["@wordpress/edit-site/src/components/sidebar-dataviews/custom-dataviews-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHeading as Heading,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport DataViewItem from './dataview-item';\nimport AddNewItem from './add-new-view';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nfunction RenameItemModalContent( { dataviewId, currentTitle, setIsRenaming } ) {\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst [ title, setTitle ] = useState( currentTitle );\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\tdataviewId,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tsetIsRenaming( false );\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ __( 'My view' ) }\n\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsRenaming( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Rename' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\nfunction CustomDataViewItem( { dataviewId, isActive } ) {\n\tconst {\n\t\tparams: { path },\n\t} = useLocation();\n\tconst history = useHistory();\n\tconst { dataview } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tdataview: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\tdataviewId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ dataviewId ]\n\t);\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\tconst type = useMemo( () => {\n\t\tconst viewContent = JSON.parse( dataview.content );\n\t\treturn viewContent.type;\n\t}, [ dataview.content ] );\n\tconst [ isRenaming, setIsRenaming ] = useState( false );\n\treturn (\n\t\t<>\n\t\t\t<DataViewItem\n\t\t\t\ttitle={ dataview.title }\n\t\t\t\ttype={ type }\n\t\t\t\tisActive={ isActive }\n\t\t\t\tisCustom=\"true\"\n\t\t\t\tcustomViewId={ dataviewId }\n\t\t\t\tsuffix={\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tcolor: 'inherit',\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\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsRenaming( true );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Rename' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\t\tawait deleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\t\t\t\t\t\t\tdataview.id,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tforce: true,\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tif ( isActive ) {\n\t\t\t\t\t\t\t\t\t\t\thistory.replace( {\n\t\t\t\t\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ isRenaming && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Rename view' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsRenaming( false );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<RenameItemModalContent\n\t\t\t\t\t\tdataviewId={ dataviewId }\n\t\t\t\t\t\tsetIsRenaming={ setIsRenaming }\n\t\t\t\t\t\tcurrentTitle={ dataview.title }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport function useCustomDataViews( type ) {\n\tconst customDataViews = useSelect( ( select ) => {\n\t\tconst { getEntityRecords } = select( coreStore );\n\t\tconst dataViewTypeRecords = getEntityRecords(\n\t\t\t'taxonomy',\n\t\t\t'wp_dataviews_type',\n\t\t\t{ slug: type }\n\t\t);\n\t\tif ( ! dataViewTypeRecords || dataViewTypeRecords.length === 0 ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst dataViews = getEntityRecords( 'postType', 'wp_dataviews', {\n\t\t\twp_dataviews_type: dataViewTypeRecords[ 0 ].id,\n\t\t\torderby: 'date',\n\t\t\torder: 'asc',\n\t\t} );\n\t\tif ( ! dataViews ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn dataViews;\n\t} );\n\treturn customDataViews;\n}\n\nexport default function CustomDataViewsList( { type, activeView, isCustom } ) {\n\tconst customDataViews = useCustomDataViews( type );\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-dataviews__group-header\">\n\t\t\t\t<Heading level={ 2 }>{ __( 'Custom Views' ) }</Heading>\n\t\t\t</div>\n\t\t\t<ItemGroup>\n\t\t\t\t{ customDataViews.map( ( customViewRecord ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<CustomDataViewItem\n\t\t\t\t\t\t\tkey={ customViewRecord.id }\n\t\t\t\t\t\t\tdataviewId={ customViewRecord.id }\n\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\tisCustom === 'true' &&\n\t\t\t\t\t\t\t\tNumber( activeView ) === customViewRecord.id\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\t<AddNewItem type={ type } />\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_data","require","_coreData","_components","_element","_icons","_i18n","_router","_dataviewItem","_interopRequireDefault","_addNewView","_lockUnlock","useHistory","useLocation","unlock","routerPrivateApis","EMPTY_ARRAY","RenameItemModalContent","dataviewId","currentTitle","setIsRenaming","editEntityRecord","useDispatch","coreStore","title","setTitle","useState","_react","createElement","onSubmit","event","preventDefault","__experimentalVStack","spacing","TextControl","__nextHasNoMarginBottom","label","__","value","onChange","placeholder","className","__experimentalHStack","justify","Button","variant","onClick","type","CustomDataViewItem","isActive","params","path","history","dataview","useSelect","select","getEditedEntityRecord","deleteEntityRecord","useMemo","viewContent","JSON","parse","content","isRenaming","Fragment","default","isCustom","customViewId","suffix","DropdownMenu","icon","moreVertical","toggleProps","style","color","size","onClose","MenuGroup","MenuItem","id","force","replace","isDestructive","Modal","onRequestClose","useCustomDataViews","customDataViews","getEntityRecords","dataViewTypeRecords","slug","length","dataViews","wp_dataviews_type","orderby","order","CustomDataViewsList","activeView","__experimentalHeading","level","__experimentalItemGroup","map","customViewRecord","key","Number"],"sources":["@wordpress/edit-site/src/components/sidebar-dataviews/custom-dataviews-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHeading as Heading,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { useMemo, useState } from '@wordpress/element';\nimport { moreVertical } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport DataViewItem from './dataview-item';\nimport AddNewItem from './add-new-view';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nfunction RenameItemModalContent( { dataviewId, currentTitle, setIsRenaming } ) {\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst [ title, setTitle ] = useState( currentTitle );\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\tdataviewId,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\tsetIsRenaming( false );\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ __( 'My view' ) }\n\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsRenaming( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Rename' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\nfunction CustomDataViewItem( { dataviewId, isActive } ) {\n\tconst {\n\t\tparams: { path },\n\t} = useLocation();\n\tconst history = useHistory();\n\tconst { dataview } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tdataview: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\tdataviewId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ dataviewId ]\n\t);\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\tconst type = useMemo( () => {\n\t\tconst viewContent = JSON.parse( dataview.content );\n\t\treturn viewContent.type;\n\t}, [ dataview.content ] );\n\tconst [ isRenaming, setIsRenaming ] = useState( false );\n\treturn (\n\t\t<>\n\t\t\t<DataViewItem\n\t\t\t\ttitle={ dataview.title }\n\t\t\t\ttype={ type }\n\t\t\t\tisActive={ isActive }\n\t\t\t\tisCustom=\"true\"\n\t\t\t\tcustomViewId={ dataviewId }\n\t\t\t\tsuffix={\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-dataviews-dataview-item__dropdown-menu\"\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\tcolor: 'inherit',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tsize: 'small',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsRenaming( true );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Rename' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\t\tawait deleteEntityRecord(\n\t\t\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\t\t\t\t\t\t\tdataview.id,\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\tforce: true,\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\tif ( isActive ) {\n\t\t\t\t\t\t\t\t\t\t\thistory.replace( {\n\t\t\t\t\t\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ isRenaming && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Rename view' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsRenaming( false );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<RenameItemModalContent\n\t\t\t\t\t\tdataviewId={ dataviewId }\n\t\t\t\t\t\tsetIsRenaming={ setIsRenaming }\n\t\t\t\t\t\tcurrentTitle={ dataview.title }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport function useCustomDataViews( type ) {\n\tconst customDataViews = useSelect( ( select ) => {\n\t\tconst { getEntityRecords } = select( coreStore );\n\t\tconst dataViewTypeRecords = getEntityRecords(\n\t\t\t'taxonomy',\n\t\t\t'wp_dataviews_type',\n\t\t\t{ slug: type }\n\t\t);\n\t\tif ( ! dataViewTypeRecords || dataViewTypeRecords.length === 0 ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst dataViews = getEntityRecords( 'postType', 'wp_dataviews', {\n\t\t\twp_dataviews_type: dataViewTypeRecords[ 0 ].id,\n\t\t\torderby: 'date',\n\t\t\torder: 'asc',\n\t\t} );\n\t\tif ( ! dataViews ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn dataViews;\n\t} );\n\treturn customDataViews;\n}\n\nexport default function CustomDataViewsList( { type, activeView, isCustom } ) {\n\tconst customDataViews = useCustomDataViews( type );\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-dataviews__group-header\">\n\t\t\t\t<Heading level={ 2 }>{ __( 'Custom Views' ) }</Heading>\n\t\t\t</div>\n\t\t\t<ItemGroup>\n\t\t\t\t{ customDataViews.map( ( customViewRecord ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<CustomDataViewItem\n\t\t\t\t\t\t\tkey={ customViewRecord.id }\n\t\t\t\t\t\t\tdataviewId={ customViewRecord.id }\n\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\tisCustom === 'true' &&\n\t\t\t\t\t\t\t\tNumber( activeView ) === customViewRecord.id\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\t<AddNewItem type={ type } />\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -6,10 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _i18n = require("@wordpress/i18n");
8
8
  var _icons = require("@wordpress/icons");
9
+ var _constants = require("../dataviews/constants");
9
10
  /**
10
11
  * WordPress dependencies
11
12
  */
12
13
 
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+
13
18
  const DEFAULT_PAGE_BASE = {
14
19
  type: 'list',
15
20
  search: '',
@@ -37,7 +42,7 @@ const DEFAULT_VIEWS = {
37
42
  ...DEFAULT_PAGE_BASE,
38
43
  filters: [{
39
44
  field: 'status',
40
- operator: 'in',
45
+ operator: _constants.OPERATOR_IN,
41
46
  value: 'draft'
42
47
  }]
43
48
  }
@@ -49,7 +54,7 @@ const DEFAULT_VIEWS = {
49
54
  ...DEFAULT_PAGE_BASE,
50
55
  filters: [{
51
56
  field: 'status',
52
- operator: 'in',
57
+ operator: _constants.OPERATOR_IN,
53
58
  value: 'trash'
54
59
  }]
55
60
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_icons","DEFAULT_PAGE_BASE","type","search","filters","page","perPage","sort","field","direction","hiddenFields","layout","DEFAULT_VIEWS","title","__","slug","view","operator","value","icon","trash","_default","exports","default"],"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\nconst DEFAULT_PAGE_BASE = {\n\ttype: 'list',\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};\n\nconst 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: '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: 'in', value: 'trash' },\n\t\t\t\t],\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default DEFAULT_VIEWS;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAME,iBAAiB,GAAG;EACzBC,IAAI,EAAE,MAAM;EACZC,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,CAAC;AACV,CAAC;AAED,MAAMC,aAAa,GAAG;EACrBP,IAAI,EAAE,CACL;IACCQ,KAAK,EAAE,IAAAC,QAAE,EAAE,KAAM,CAAC;IAClBC,IAAI,EAAE,KAAK;IACXC,IAAI,EAAEf;EACP,CAAC,EACD;IACCY,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS,CAAC;IACrBC,IAAI,EAAE,QAAQ;IACdC,IAAI,EAAE;MACL,GAAGf,iBAAiB;MACpBG,OAAO,EAAE,CACR;QAAEI,KAAK,EAAE,QAAQ;QAAES,QAAQ,EAAE,IAAI;QAAEC,KAAK,EAAE;MAAQ,CAAC;IAErD;EACD,CAAC,EACD;IACCL,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;IACpBC,IAAI,EAAE,OAAO;IACbI,IAAI,EAAEC,YAAK;IACXJ,IAAI,EAAE;MACL,GAAGf,iBAAiB;MACpBG,OAAO,EAAE,CACR;QAAEI,KAAK,EAAE,QAAQ;QAAES,QAAQ,EAAE,IAAI;QAAEC,KAAK,EAAE;MAAQ,CAAC;IAErD;EACD,CAAC;AAEH,CAAC;AAAC,IAAAG,QAAA,GAEaT,aAAa;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"names":["_i18n","require","_icons","_constants","DEFAULT_PAGE_BASE","type","search","filters","page","perPage","sort","field","direction","hiddenFields","layout","DEFAULT_VIEWS","title","__","slug","view","operator","OPERATOR_IN","value","icon","trash","_default","exports","default"],"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 { OPERATOR_IN } from '../dataviews/constants';\n\nconst DEFAULT_PAGE_BASE = {\n\ttype: 'list',\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};\n\nconst 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\nexport default DEFAULT_VIEWS;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKA,IAAAE,UAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA,MAAMG,iBAAiB,GAAG;EACzBC,IAAI,EAAE,MAAM;EACZC,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,CAAC;AACV,CAAC;AAED,MAAMC,aAAa,GAAG;EACrBP,IAAI,EAAE,CACL;IACCQ,KAAK,EAAE,IAAAC,QAAE,EAAE,KAAM,CAAC;IAClBC,IAAI,EAAE,KAAK;IACXC,IAAI,EAAEf;EACP,CAAC,EACD;IACCY,KAAK,EAAE,IAAAC,QAAE,EAAE,QAAS,CAAC;IACrBC,IAAI,EAAE,QAAQ;IACdC,IAAI,EAAE;MACL,GAAGf,iBAAiB;MACpBG,OAAO,EAAE,CACR;QAAEI,KAAK,EAAE,QAAQ;QAAES,QAAQ,EAAEC,sBAAW;QAAEC,KAAK,EAAE;MAAQ,CAAC;IAE5D;EACD,CAAC,EACD;IACCN,KAAK,EAAE,IAAAC,QAAE,EAAE,OAAQ,CAAC;IACpBC,IAAI,EAAE,OAAO;IACbK,IAAI,EAAEC,YAAK;IACXL,IAAI,EAAE;MACL,GAAGf,iBAAiB;MACpBG,OAAO,EAAE,CACR;QAAEI,KAAK,EAAE,QAAQ;QAAES,QAAQ,EAAEC,sBAAW;QAAEC,KAAK,EAAE;MAAQ,CAAC;IAE5D;EACD,CAAC;AAEH,CAAC;AAAC,IAAAG,QAAA,GAEaV,aAAa;AAAAW,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -14,6 +14,7 @@ var _element = require("@wordpress/element");
14
14
  var _data = require("@wordpress/data");
15
15
  var _interface = require("@wordpress/interface");
16
16
  var _blockEditor = require("@wordpress/block-editor");
17
+ var _editor = require("@wordpress/editor");
17
18
  var _defaultSidebar = _interopRequireDefault(require("./default-sidebar"));
18
19
  var _globalStylesSidebar = _interopRequireDefault(require("./global-styles-sidebar"));
19
20
  var _constants = require("../../store/constants");
@@ -43,7 +44,7 @@ function SidebarComplementaryAreaFills() {
43
44
  isEditorSidebarOpened,
44
45
  hasBlockSelection,
45
46
  supportsGlobalStyles,
46
- hasPageContentFocus
47
+ isEditingPage
47
48
  } = (0, _data.useSelect)(select => {
48
49
  const _sidebar = select(_interface.store).getActiveComplementaryArea(_constants.STORE_NAME);
49
50
  const _isEditorSidebarOpened = [_constants2.SIDEBAR_BLOCK, _constants2.SIDEBAR_TEMPLATE].includes(_sidebar);
@@ -53,7 +54,7 @@ function SidebarComplementaryAreaFills() {
53
54
  isEditorSidebarOpened: _isEditorSidebarOpened,
54
55
  hasBlockSelection: !!select(_blockEditor.store).getBlockSelectionStart(),
55
56
  supportsGlobalStyles: !settings?.supportsTemplatePartsMode,
56
- hasPageContentFocus: select(_store.store).hasPageContentFocus()
57
+ isEditingPage: select(_store.store).isPage() && select(_editor.store).getRenderingMode() !== 'template-only'
57
58
  };
58
59
  }, []);
59
60
  const {
@@ -66,13 +67,13 @@ function SidebarComplementaryAreaFills() {
66
67
  return;
67
68
  }
68
69
  if (hasBlockSelection) {
69
- if (!hasPageContentFocus) {
70
+ if (!isEditingPage) {
70
71
  enableComplementaryArea(_constants.STORE_NAME, _constants2.SIDEBAR_BLOCK);
71
72
  }
72
73
  } else {
73
74
  enableComplementaryArea(_constants.STORE_NAME, _constants2.SIDEBAR_TEMPLATE);
74
75
  }
75
- }, [hasBlockSelection, isEditorSidebarOpened, hasPageContentFocus]);
76
+ }, [hasBlockSelection, isEditorSidebarOpened, isEditingPage, enableComplementaryArea]);
76
77
  let sidebarName = sidebar;
77
78
  if (!isEditorSidebarOpened) {
78
79
  sidebarName = hasBlockSelection ? _constants2.SIDEBAR_BLOCK : _constants2.SIDEBAR_TEMPLATE;
@@ -86,7 +87,7 @@ function SidebarComplementaryAreaFills() {
86
87
  sidebarName: sidebarName
87
88
  }),
88
89
  headerClassName: "edit-site-sidebar-edit-mode__panel-tabs"
89
- }, sidebarName === _constants2.SIDEBAR_TEMPLATE && (0, _react.createElement)(_react.Fragment, null, hasPageContentFocus ? (0, _react.createElement)(_pagePanels.default, null) : (0, _react.createElement)(_templatePanel.default, null), (0, _react.createElement)(_pluginTemplateSettingPanel.default.Slot, null)), sidebarName === _constants2.SIDEBAR_BLOCK && (0, _react.createElement)(InspectorSlot, {
90
+ }, sidebarName === _constants2.SIDEBAR_TEMPLATE && (0, _react.createElement)(_react.Fragment, null, isEditingPage ? (0, _react.createElement)(_pagePanels.default, null) : (0, _react.createElement)(_templatePanel.default, null), (0, _react.createElement)(_pluginTemplateSettingPanel.default.Slot, null)), sidebarName === _constants2.SIDEBAR_BLOCK && (0, _react.createElement)(InspectorSlot, {
90
91
  bubblesVirtually: true
91
92
  })), supportsGlobalStyles && (0, _react.createElement)(_globalStylesSidebar.default, null));
92
93
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_icons","_element","_data","_interface","_blockEditor","_defaultSidebar","_interopRequireDefault","_globalStylesSidebar","_constants","_settingsHeader","_pagePanels","_templatePanel","_pluginTemplateSettingPanel","_constants2","_store","Slot","InspectorSlot","Fill","InspectorFill","createSlotFill","SidebarInspectorFill","exports","SidebarComplementaryAreaFills","sidebar","isEditorSidebarOpened","hasBlockSelection","supportsGlobalStyles","hasPageContentFocus","useSelect","select","_sidebar","interfaceStore","getActiveComplementaryArea","STORE_NAME","_isEditorSidebarOpened","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","includes","settings","editSiteStore","getSettings","blockEditorStore","getBlockSelectionStart","supportsTemplatePartsMode","enableComplementaryArea","useDispatch","useEffect","sidebarName","_react","createElement","Fragment","default","identifier","title","__","icon","isRTL","drawerLeft","drawerRight","closeLabel","header","headerClassName","bubblesVirtually"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createSlotFill } from '@wordpress/components';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { drawerLeft, drawerRight } from '@wordpress/icons';\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as interfaceStore } from '@wordpress/interface';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport DefaultSidebar from './default-sidebar';\nimport GlobalStylesSidebar from './global-styles-sidebar';\nimport { STORE_NAME } from '../../store/constants';\nimport SettingsHeader from './settings-header';\nimport PagePanels from './page-panels';\nimport TemplatePanel from './template-panel';\nimport PluginTemplateSettingPanel from '../plugin-template-setting-panel';\nimport { SIDEBAR_BLOCK, SIDEBAR_TEMPLATE } from './constants';\nimport { store as editSiteStore } from '../../store';\n\nconst { Slot: InspectorSlot, Fill: InspectorFill } = createSlotFill(\n\t'EditSiteSidebarInspector'\n);\nexport const SidebarInspectorFill = InspectorFill;\n\nexport function SidebarComplementaryAreaFills() {\n\tconst {\n\t\tsidebar,\n\t\tisEditorSidebarOpened,\n\t\thasBlockSelection,\n\t\tsupportsGlobalStyles,\n\t\thasPageContentFocus,\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\thasPageContentFocus: select( editSiteStore ).hasPageContentFocus(),\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 ( ! hasPageContentFocus ) {\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}, [ hasBlockSelection, isEditorSidebarOpened, hasPageContentFocus ] );\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{ hasPageContentFocus ? (\n\t\t\t\t\t\t\t<PagePanels />\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<TemplatePanel />\n\t\t\t\t\t\t) }\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":["_components","require","_i18n","_icons","_element","_data","_interface","_blockEditor","_editor","_defaultSidebar","_interopRequireDefault","_globalStylesSidebar","_constants","_settingsHeader","_pagePanels","_templatePanel","_pluginTemplateSettingPanel","_constants2","_store","Slot","InspectorSlot","Fill","InspectorFill","createSlotFill","SidebarInspectorFill","exports","SidebarComplementaryAreaFills","sidebar","isEditorSidebarOpened","hasBlockSelection","supportsGlobalStyles","isEditingPage","useSelect","select","_sidebar","interfaceStore","getActiveComplementaryArea","STORE_NAME","_isEditorSidebarOpened","SIDEBAR_BLOCK","SIDEBAR_TEMPLATE","includes","settings","editSiteStore","getSettings","blockEditorStore","getBlockSelectionStart","supportsTemplatePartsMode","isPage","editorStore","getRenderingMode","enableComplementaryArea","useDispatch","useEffect","sidebarName","_react","createElement","Fragment","default","identifier","title","__","icon","isRTL","drawerLeft","drawerRight","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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"}