@wordpress/edit-site 5.23.0 → 5.24.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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
@@ -11,8 +11,6 @@ import {
11
11
  editedPost,
12
12
  blockInserterPanel,
13
13
  listViewPanel,
14
- hasPageContentFocus,
15
- pageContentFocusType,
16
14
  } from '../reducer';
17
15
 
18
16
  import { setIsInserterOpened } from '../actions';
@@ -149,64 +147,4 @@ describe( 'state', () => {
149
147
  );
150
148
  } );
151
149
  } );
152
-
153
- describe( 'hasPageContentFocus()', () => {
154
- it( 'defaults to false', () => {
155
- expect( hasPageContentFocus( undefined, {} ) ).toBe( false );
156
- } );
157
-
158
- it( 'becomes false when editing a template', () => {
159
- expect(
160
- hasPageContentFocus( true, {
161
- type: 'SET_EDITED_POST',
162
- postType: 'wp_template',
163
- } )
164
- ).toBe( false );
165
- } );
166
-
167
- it( 'becomes true when editing a page', () => {
168
- expect(
169
- hasPageContentFocus( false, {
170
- type: 'SET_EDITED_POST',
171
- postType: 'wp_template',
172
- context: {
173
- postType: 'page',
174
- postId: 123,
175
- },
176
- } )
177
- ).toBe( true );
178
- } );
179
-
180
- it( 'can be set', () => {
181
- expect(
182
- hasPageContentFocus( false, {
183
- type: 'SET_HAS_PAGE_CONTENT_FOCUS',
184
- hasPageContentFocus: true,
185
- } )
186
- ).toBe( true );
187
- expect(
188
- hasPageContentFocus( true, {
189
- type: 'SET_HAS_PAGE_CONTENT_FOCUS',
190
- hasPageContentFocus: false,
191
- } )
192
- ).toBe( false );
193
- } );
194
- } );
195
-
196
- describe( 'pageContentFocusType', () => {
197
- it( 'defaults to disableTemplate', () => {
198
- expect( pageContentFocusType( undefined, {} ) ).toBe(
199
- 'disableTemplate'
200
- );
201
- } );
202
-
203
- it( 'can be set', () => {
204
- expect(
205
- pageContentFocusType( 'disableTemplate', {
206
- type: 'SET_PAGE_CONTENT_FOCUS_TYPE',
207
- pageContentFocusType: 'enableTemplate',
208
- } )
209
- ).toBe( 'enableTemplate' );
210
- } );
211
- } );
212
150
  } );
@@ -13,7 +13,6 @@ import {
13
13
  isInserterOpened,
14
14
  isListViewOpened,
15
15
  isPage,
16
- hasPageContentFocus,
17
16
  } from '../selectors';
18
17
 
19
18
  describe( 'selectors', () => {
@@ -88,38 +87,4 @@ describe( 'selectors', () => {
88
87
  expect( isPage( state ) ).toBe( false );
89
88
  } );
90
89
  } );
91
-
92
- describe( 'hasPageContentFocus', () => {
93
- it( 'returns true if locked and the edited post type is a page', () => {
94
- const state = {
95
- editedPost: {
96
- postType: 'wp_template',
97
- context: { postType: 'page', postId: 123 },
98
- },
99
- hasPageContentFocus: true,
100
- };
101
- expect( hasPageContentFocus( state ) ).toBe( true );
102
- } );
103
-
104
- it( 'returns false if not locked and the edited post type is a page', () => {
105
- const state = {
106
- editedPost: {
107
- postType: 'wp_template',
108
- context: { postType: 'page', postId: 123 },
109
- },
110
- hasPageContentFocus: false,
111
- };
112
- expect( hasPageContentFocus( state ) ).toBe( false );
113
- } );
114
-
115
- it( 'returns false if locked and the edited post type is a template', () => {
116
- const state = {
117
- editedPost: {
118
- postType: 'wp_template',
119
- },
120
- hasPageContentFocus: true,
121
- };
122
- expect( hasPageContentFocus( state ) ).toBe( false );
123
- } );
124
- } );
125
90
  } );
package/src/style.scss CHANGED
@@ -13,6 +13,7 @@
13
13
  @import "./components/page/style.scss";
14
14
  @import "./components/page-pages/style.scss";
15
15
  @import "./components/page-patterns/style.scss";
16
+ @import "./components/page-templates/style.scss";
16
17
  @import "./components/table/style.scss";
17
18
  @import "./components/sidebar-edit-mode/style.scss";
18
19
  @import "./components/sidebar-edit-mode/page-panels/style.scss";
@@ -38,16 +38,6 @@ export const FOCUSABLE_ENTITIES = [
38
38
  PATTERN_TYPES.user,
39
39
  ];
40
40
 
41
- /**
42
- * Block types that are considered to be page content. These are the only blocks
43
- * editable when hasPageContentFocus() is true.
44
- */
45
- export const PAGE_CONTENT_BLOCK_TYPES = {
46
- 'core/post-title': true,
47
- 'core/post-featured-image': true,
48
- 'core/post-content': true,
49
- };
50
-
51
41
  export const POST_TYPE_LABELS = {
52
42
  [ TEMPLATE_POST_TYPE ]: __( 'Template' ),
53
43
  [ TEMPLATE_PART_POST_TYPE ]: __( 'Template part' ),
@@ -1,51 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = exports.OPERATOR_IN = void 0;
7
- var _react = require("react");
8
- var _components = require("@wordpress/components");
9
- var _i18n = require("@wordpress/i18n");
10
- /**
11
- * WordPress dependencies
12
- */
13
-
14
- const OPERATOR_IN = 'in';
15
- exports.OPERATOR_IN = OPERATOR_IN;
16
- var _default = ({
17
- filter,
18
- view,
19
- onChangeView
20
- }) => {
21
- const valueFound = view.filters.find(f => f.field === filter.field && f.operator === OPERATOR_IN);
22
- const activeValue = !valueFound || !valueFound.hasOwnProperty('value') ? '' : valueFound.value;
23
- const id = `dataviews__filters-in-${filter.field}`;
24
- return (0, _react.createElement)(_components.SelectControl, {
25
- id: id,
26
- __nextHasNoMarginBottom: true,
27
- value: activeValue,
28
- prefix: (0, _react.createElement)(_components.__experimentalInputControlPrefixWrapper, {
29
- as: "label",
30
- htmlFor: id,
31
- className: "dataviews__select-control-prefix"
32
- }, (0, _i18n.sprintf)( /* translators: filter name. */
33
- (0, _i18n.__)('%s:'), filter.name)),
34
- options: filter.elements,
35
- onChange: value => {
36
- const filters = view.filters.filter(f => f.field !== filter.field || f.operator !== OPERATOR_IN);
37
- filters.push({
38
- field: filter.field,
39
- operator: OPERATOR_IN,
40
- value
41
- });
42
- onChangeView(currentView => ({
43
- ...currentView,
44
- page: 1,
45
- filters
46
- }));
47
- }
48
- });
49
- };
50
- exports.default = _default;
51
- //# sourceMappingURL=in-filter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_components","require","_i18n","OPERATOR_IN","exports","_default","filter","view","onChangeView","valueFound","filters","find","f","field","operator","activeValue","hasOwnProperty","value","id","_react","createElement","SelectControl","__nextHasNoMarginBottom","prefix","__experimentalInputControlPrefixWrapper","as","htmlFor","className","sprintf","__","name","options","elements","onChange","push","currentView","page","default"],"sources":["@wordpress/edit-site/src/components/dataviews/in-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\tSelectControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\nexport const OPERATOR_IN = 'in';\n\nexport default ( { filter, view, onChangeView } ) => {\n\tconst valueFound = view.filters.find(\n\t\t( f ) => f.field === filter.field && f.operator === OPERATOR_IN\n\t);\n\n\tconst activeValue =\n\t\t! valueFound || ! valueFound.hasOwnProperty( 'value' )\n\t\t\t? ''\n\t\t\t: valueFound.value;\n\n\tconst id = `dataviews__filters-in-${ filter.field }`;\n\n\treturn (\n\t\t<SelectControl\n\t\t\tid={ id }\n\t\t\t__nextHasNoMarginBottom\n\t\t\tvalue={ activeValue }\n\t\t\tprefix={\n\t\t\t\t<InputControlPrefixWrapper\n\t\t\t\t\tas=\"label\"\n\t\t\t\t\thtmlFor={ id }\n\t\t\t\t\tclassName=\"dataviews__select-control-prefix\"\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: filter name. */\n\t\t\t\t\t\t__( '%s:' ),\n\t\t\t\t\t\tfilter.name\n\t\t\t\t\t) }\n\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t}\n\t\t\toptions={ filter.elements }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tconst filters = view.filters.filter(\n\t\t\t\t\t( f ) =>\n\t\t\t\t\t\tf.field !== filter.field || f.operator !== OPERATOR_IN\n\t\t\t\t);\n\n\t\t\t\tfilters.push( {\n\t\t\t\t\tfield: filter.field,\n\t\t\t\t\toperator: OPERATOR_IN,\n\t\t\t\t\tvalue,\n\t\t\t\t} );\n\n\t\t\t\tonChangeView( ( currentView ) => ( {\n\t\t\t\t\t...currentView,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters,\n\t\t\t\t} ) );\n\t\t\t} }\n\t\t/>\n\t);\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AAPA;AACA;AACA;;AAOO,MAAME,WAAW,GAAG,IAAI;AAACC,OAAA,CAAAD,WAAA,GAAAA,WAAA;AAAA,IAAAE,QAAA,GAEjBA,CAAE;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAa,CAAC,KAAM;EACpD,MAAMC,UAAU,GAAGF,IAAI,CAACG,OAAO,CAACC,IAAI,CACjCC,CAAC,IAAMA,CAAC,CAACC,KAAK,KAAKP,MAAM,CAACO,KAAK,IAAID,CAAC,CAACE,QAAQ,KAAKX,WACrD,CAAC;EAED,MAAMY,WAAW,GAChB,CAAEN,UAAU,IAAI,CAAEA,UAAU,CAACO,cAAc,CAAE,OAAQ,CAAC,GACnD,EAAE,GACFP,UAAU,CAACQ,KAAK;EAEpB,MAAMC,EAAE,GAAI,yBAAyBZ,MAAM,CAACO,KAAO,EAAC;EAEpD,OACC,IAAAM,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAqB,aAAa;IACbH,EAAE,EAAGA,EAAI;IACTI,uBAAuB;IACvBL,KAAK,EAAGF,WAAa;IACrBQ,MAAM,EACL,IAAAJ,MAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAwB,uCAAyB;MACzBC,EAAE,EAAC,OAAO;MACVC,OAAO,EAAGR,EAAI;MACdS,SAAS,EAAC;IAAkC,GAE1C,IAAAC,aAAO,GACR;IACA,IAAAC,QAAE,EAAE,KAAM,CAAC,EACXvB,MAAM,CAACwB,IACR,CAC0B,CAC3B;IACDC,OAAO,EAAGzB,MAAM,CAAC0B,QAAU;IAC3BC,QAAQ,EAAKhB,KAAK,IAAM;MACvB,MAAMP,OAAO,GAAGH,IAAI,CAACG,OAAO,CAACJ,MAAM,CAChCM,CAAC,IACFA,CAAC,CAACC,KAAK,KAAKP,MAAM,CAACO,KAAK,IAAID,CAAC,CAACE,QAAQ,KAAKX,WAC7C,CAAC;MAEDO,OAAO,CAACwB,IAAI,CAAE;QACbrB,KAAK,EAAEP,MAAM,CAACO,KAAK;QACnBC,QAAQ,EAAEX,WAAW;QACrBc;MACD,CAAE,CAAC;MAEHT,YAAY,CAAI2B,WAAW,KAAQ;QAClC,GAAGA,WAAW;QACdC,IAAI,EAAE,CAAC;QACP1B;MACD,CAAC,CAAG,CAAC;IACN;EAAG,CACH,CAAC;AAEJ,CAAC;AAAAN,OAAA,CAAAiC,OAAA,GAAAhC,QAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_data","require","_element","_notices","_i18n","_store","BackToPageNotification","useBackToPageNotification","hasPageContentFocus","useSelect","select","editSiteStore","isPage","alreadySeen","useRef","createInfoNotice","useDispatch","noticesStore","setHasPageContentFocus","useEffect","current","__","isDismissible","type","actions","label","onClick"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/back-to-page-notification.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Component that displays a 'You are editing a template' notification when the\n * user switches from focusing on editing page content to editing a template.\n */\nexport default function BackToPageNotification() {\n\tuseBackToPageNotification();\n\treturn null;\n}\n\n/**\n * Hook that displays a 'You are editing a template' notification when the user\n * switches from focusing on editing page content to editing a template.\n */\nexport function useBackToPageNotification() {\n\tconst hasPageContentFocus = useSelect(\n\t\t( select ) => select( editSiteStore ).hasPageContentFocus(),\n\t\t[]\n\t);\n\tconst { isPage } = useSelect( editSiteStore );\n\n\tconst alreadySeen = useRef( false );\n\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( isPage() && ! alreadySeen.current && ! hasPageContentFocus ) {\n\t\t\tcreateInfoNotice( __( 'You are editing a template.' ), {\n\t\t\t\tisDismissible: true,\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Back to page' ),\n\t\t\t\t\t\tonClick: () => setHasPageContentFocus( true ),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t} );\n\t\t\talreadySeen.current = true;\n\t\t}\n\t}, [\n\t\tisPage,\n\t\thasPageContentFocus,\n\t\tcreateInfoNotice,\n\t\tsetHasPageContentFocus,\n\t] );\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAMA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACe,SAASK,sBAAsBA,CAAA,EAAG;EAChDC,yBAAyB,CAAC,CAAC;EAC3B,OAAO,IAAI;AACZ;;AAEA;AACA;AACA;AACA;AACO,SAASA,yBAAyBA,CAAA,EAAG;EAC3C,MAAMC,mBAAmB,GAAG,IAAAC,eAAS,EAClCC,MAAM,IAAMA,MAAM,CAAEC,YAAc,CAAC,CAACH,mBAAmB,CAAC,CAAC,EAC3D,EACD,CAAC;EACD,MAAM;IAAEI;EAAO,CAAC,GAAG,IAAAH,eAAS,EAAEE,YAAc,CAAC;EAE7C,MAAME,WAAW,GAAG,IAAAC,eAAM,EAAE,KAAM,CAAC;EAEnC,MAAM;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EACxD,MAAM;IAAEC;EAAuB,CAAC,GAAG,IAAAF,iBAAW,EAAEL,YAAc,CAAC;EAE/D,IAAAQ,kBAAS,EAAE,MAAM;IAChB,IAAKP,MAAM,CAAC,CAAC,IAAI,CAAEC,WAAW,CAACO,OAAO,IAAI,CAAEZ,mBAAmB,EAAG;MACjEO,gBAAgB,CAAE,IAAAM,QAAE,EAAE,6BAA8B,CAAC,EAAE;QACtDC,aAAa,EAAE,IAAI;QACnBC,IAAI,EAAE,UAAU;QAChBC,OAAO,EAAE,CACR;UACCC,KAAK,EAAE,IAAAJ,QAAE,EAAE,cAAe,CAAC;UAC3BK,OAAO,EAAEA,CAAA,KAAMR,sBAAsB,CAAE,IAAK;QAC7C,CAAC;MAEH,CAAE,CAAC;MACHL,WAAW,CAACO,OAAO,GAAG,IAAI;IAC3B;EACD,CAAC,EAAE,CACFR,MAAM,EACNJ,mBAAmB,EACnBO,gBAAgB,EAChBG,sBAAsB,CACrB,CAAC;AACJ"}
@@ -1,63 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = DisableNonPageContentBlocks;
7
- var _react = require("react");
8
- var _data = require("@wordpress/data");
9
- var _blockEditor = require("@wordpress/block-editor");
10
- var _element = require("@wordpress/element");
11
- var _constants = require("../../utils/constants");
12
- /**
13
- * WordPress dependencies
14
- */
15
-
16
- /**
17
- * Internal dependencies
18
- */
19
-
20
- function DisableBlock({
21
- clientId
22
- }) {
23
- const isDescendentOfQueryLoop = (0, _data.useSelect)(select => {
24
- const {
25
- getBlockParentsByBlockName
26
- } = select(_blockEditor.store);
27
- return getBlockParentsByBlockName(clientId, 'core/query').length !== 0;
28
- }, [clientId]);
29
- const mode = isDescendentOfQueryLoop ? undefined : 'contentOnly';
30
- const {
31
- setBlockEditingMode,
32
- unsetBlockEditingMode
33
- } = (0, _data.useDispatch)(_blockEditor.store);
34
- (0, _element.useEffect)(() => {
35
- if (mode) {
36
- setBlockEditingMode(clientId, mode);
37
- return () => {
38
- unsetBlockEditingMode(clientId);
39
- };
40
- }
41
- }, [clientId, mode, setBlockEditingMode, unsetBlockEditingMode]);
42
- }
43
-
44
- /**
45
- * Component that when rendered, makes it so that the site editor allows only
46
- * page content to be edited.
47
- */
48
- function DisableNonPageContentBlocks() {
49
- (0, _blockEditor.useBlockEditingMode)('disabled');
50
- const clientIds = (0, _data.useSelect)(select => {
51
- const {
52
- __experimentalGetGlobalBlocksByName
53
- } = select(_blockEditor.store);
54
- return __experimentalGetGlobalBlocksByName(Object.keys(_constants.PAGE_CONTENT_BLOCK_TYPES));
55
- }, []);
56
- return clientIds.map(clientId => {
57
- return (0, _react.createElement)(DisableBlock, {
58
- key: clientId,
59
- clientId: clientId
60
- });
61
- });
62
- }
63
- //# sourceMappingURL=disable-non-page-content-blocks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_data","require","_blockEditor","_element","_constants","DisableBlock","clientId","isDescendentOfQueryLoop","useSelect","select","getBlockParentsByBlockName","blockEditorStore","length","mode","undefined","setBlockEditingMode","unsetBlockEditingMode","useDispatch","useEffect","DisableNonPageContentBlocks","useBlockEditingMode","clientIds","__experimentalGetGlobalBlocksByName","Object","keys","PAGE_CONTENT_BLOCK_TYPES","map","_react","createElement","key"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/disable-non-page-content-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseBlockEditingMode,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { PAGE_CONTENT_BLOCK_TYPES } from '../../utils/constants';\n\nfunction DisableBlock( { clientId } ) {\n\tconst isDescendentOfQueryLoop = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName } = select( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/query' ).length !==\n\t\t\t\t0\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst mode = isDescendentOfQueryLoop ? undefined : 'contentOnly';\n\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\tuseDispatch( blockEditorStore );\n\tuseEffect( () => {\n\t\tif ( mode ) {\n\t\t\tsetBlockEditingMode( clientId, mode );\n\t\t\treturn () => {\n\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t};\n\t\t}\n\t}, [ clientId, mode, setBlockEditingMode, unsetBlockEditingMode ] );\n}\n\n/**\n * Component that when rendered, makes it so that the site editor allows only\n * page content to be edited.\n */\nexport default function DisableNonPageContentBlocks() {\n\tuseBlockEditingMode( 'disabled' );\n\tconst clientIds = useSelect( ( select ) => {\n\t\tconst { __experimentalGetGlobalBlocksByName } =\n\t\t\tselect( blockEditorStore );\n\t\treturn __experimentalGetGlobalBlocksByName(\n\t\t\tObject.keys( PAGE_CONTENT_BLOCK_TYPES )\n\t\t);\n\t}, [] );\n\n\treturn clientIds.map( ( clientId ) => {\n\t\treturn <DisableBlock key={ clientId } clientId={ clientId } />;\n\t} );\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAIA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,UAAA,GAAAH,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGA,SAASI,YAAYA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACrC,MAAMC,uBAAuB,GAAG,IAAAC,eAAS,EACtCC,MAAM,IAAM;IACb,MAAM;MAAEC;IAA2B,CAAC,GAAGD,MAAM,CAAEE,kBAAiB,CAAC;IACjE,OACCD,0BAA0B,CAAEJ,QAAQ,EAAE,YAAa,CAAC,CAACM,MAAM,KAC3D,CAAC;EAEH,CAAC,EACD,CAAEN,QAAQ,CACX,CAAC;EACD,MAAMO,IAAI,GAAGN,uBAAuB,GAAGO,SAAS,GAAG,aAAa;EAChE,MAAM;IAAEC,mBAAmB;IAAEC;EAAsB,CAAC,GACnD,IAAAC,iBAAW,EAAEN,kBAAiB,CAAC;EAChC,IAAAO,kBAAS,EAAE,MAAM;IAChB,IAAKL,IAAI,EAAG;MACXE,mBAAmB,CAAET,QAAQ,EAAEO,IAAK,CAAC;MACrC,OAAO,MAAM;QACZG,qBAAqB,CAAEV,QAAS,CAAC;MAClC,CAAC;IACF;EACD,CAAC,EAAE,CAAEA,QAAQ,EAAEO,IAAI,EAAEE,mBAAmB,EAAEC,qBAAqB,CAAG,CAAC;AACpE;;AAEA;AACA;AACA;AACA;AACe,SAASG,2BAA2BA,CAAA,EAAG;EACrD,IAAAC,gCAAmB,EAAE,UAAW,CAAC;EACjC,MAAMC,SAAS,GAAG,IAAAb,eAAS,EAAIC,MAAM,IAAM;IAC1C,MAAM;MAAEa;IAAoC,CAAC,GAC5Cb,MAAM,CAAEE,kBAAiB,CAAC;IAC3B,OAAOW,mCAAmC,CACzCC,MAAM,CAACC,IAAI,CAAEC,mCAAyB,CACvC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,OAAOJ,SAAS,CAACK,GAAG,CAAIpB,QAAQ,IAAM;IACrC,OAAO,IAAAqB,MAAA,CAAAC,aAAA,EAACvB,YAAY;MAACwB,GAAG,EAAGvB,QAAU;MAACA,QAAQ,EAAGA;IAAU,CAAE,CAAC;EAC/D,CAAE,CAAC;AACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["_data","require","_element","_notices","_i18n","_components","_store","EditTemplateNotification","contentRef","hasPageContentFocus","useSelect","select","editSiteStore","getNotices","noticesStore","createInfoNotice","removeNotice","useDispatch","setHasPageContentFocus","isDialogOpen","setIsDialogOpen","useState","lastNoticeId","useRef","useEffect","handleClick","event","target","classList","contains","isNoticeAlreadyShowing","some","notice","id","current","__","isDismissible","type","actions","label","onClick","handleDblClick","canvas","addEventListener","removeEventListener","_react","createElement","__experimentalConfirmDialog","isOpen","confirmButtonText","onConfirm","onCancel"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/edit-template-notification.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Component that:\n *\n * - Displays a 'Edit your template to edit this block' notification when the\n * user is focusing on editing page content and clicks on a disabled template\n * block.\n * - Displays a 'Edit your template to edit this block' dialog when the user\n * is focusing on editing page conetnt and double clicks on a disabled\n * template block.\n *\n * @param {Object} props\n * @param {import('react').RefObject<HTMLElement>} props.contentRef Ref to the block\n * editor iframe canvas.\n */\nexport default function EditTemplateNotification( { contentRef } ) {\n\tconst hasPageContentFocus = useSelect(\n\t\t( select ) => select( editSiteStore ).hasPageContentFocus(),\n\t\t[]\n\t);\n\tconst { getNotices } = useSelect( noticesStore );\n\n\tconst { createInfoNotice, removeNotice } = useDispatch( noticesStore );\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tconst [ isDialogOpen, setIsDialogOpen ] = useState( false );\n\n\tconst lastNoticeId = useRef( 0 );\n\n\tuseEffect( () => {\n\t\tconst handleClick = async ( event ) => {\n\t\t\tif ( ! hasPageContentFocus ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( ! event.target.classList.contains( 'is-root-container' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst isNoticeAlreadyShowing = getNotices().some(\n\t\t\t\t( notice ) => notice.id === lastNoticeId.current\n\t\t\t);\n\t\t\tif ( isNoticeAlreadyShowing ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { notice } = await createInfoNotice(\n\t\t\t\t__( 'Edit your template to edit this block.' ),\n\t\t\t\t{\n\t\t\t\t\tisDismissible: true,\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Edit template' ),\n\t\t\t\t\t\t\tonClick: () => setHasPageContentFocus( false ),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t\tlastNoticeId.current = notice.id;\n\t\t};\n\n\t\tconst handleDblClick = ( event ) => {\n\t\t\tif ( ! hasPageContentFocus ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( ! event.target.classList.contains( 'is-root-container' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( lastNoticeId.current ) {\n\t\t\t\tremoveNotice( lastNoticeId.current );\n\t\t\t}\n\t\t\tsetIsDialogOpen( true );\n\t\t};\n\n\t\tconst canvas = contentRef.current;\n\t\tcanvas?.addEventListener( 'click', handleClick );\n\t\tcanvas?.addEventListener( 'dblclick', handleDblClick );\n\t\treturn () => {\n\t\t\tcanvas?.removeEventListener( 'click', handleClick );\n\t\t\tcanvas?.removeEventListener( 'dblclick', handleDblClick );\n\t\t};\n\t}, [ lastNoticeId, hasPageContentFocus, contentRef.current ] );\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isDialogOpen }\n\t\t\tconfirmButtonText={ __( 'Edit template' ) }\n\t\t\tonConfirm={ () => {\n\t\t\t\tsetIsDialogOpen( false );\n\t\t\t\tsetHasPageContentFocus( false );\n\t\t\t} }\n\t\t\tonCancel={ () => setIsDialogOpen( false ) }\n\t\t>\n\t\t\t{ __( 'Edit your template to edit this block.' ) }\n\t\t</ConfirmDialog>\n\t);\n}\n"],"mappings":"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"}
@@ -1,61 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = PageContentFocusManager;
8
- var _react = require("react");
9
- var _data = require("@wordpress/data");
10
- var _element = require("@wordpress/element");
11
- var _store = require("../../store");
12
- var _disableNonPageContentBlocks = _interopRequireDefault(require("./disable-non-page-content-blocks"));
13
- var _editTemplateNotification = _interopRequireDefault(require("./edit-template-notification"));
14
- var _backToPageNotification = _interopRequireDefault(require("./back-to-page-notification"));
15
- var _lockUnlock = require("../../lock-unlock");
16
- /**
17
- * WordPress dependencies
18
- */
19
-
20
- /**
21
- * Internal dependencies
22
- */
23
-
24
- function PageContentFocusManager({
25
- contentRef
26
- }) {
27
- const {
28
- hasPageContentFocus,
29
- pageContentFocusType,
30
- canvasMode
31
- } = (0, _data.useSelect)(select => {
32
- const {
33
- getPageContentFocusType,
34
- getCanvasMode
35
- } = (0, _lockUnlock.unlock)(select(_store.store));
36
- const _canvasMode = getCanvasMode();
37
- return {
38
- canvasMode: _canvasMode,
39
- pageContentFocusType: getPageContentFocusType(),
40
- hasPageContentFocus: select(_store.store).hasPageContentFocus()
41
- };
42
- }, []);
43
- const {
44
- setPageContentFocusType
45
- } = (0, _lockUnlock.unlock)((0, _data.useDispatch)(_store.store));
46
-
47
- /*
48
- * Ensure that the page content focus type is set to `disableTemplate` when
49
- * the canvas mode is not `edit`. This makes the experience consistent with
50
- * refreshing the page, which resets the page content focus type.
51
- */
52
- (0, _element.useEffect)(() => {
53
- if (canvasMode !== 'edit' && !!pageContentFocusType) {
54
- setPageContentFocusType(null);
55
- }
56
- }, [canvasMode, pageContentFocusType]);
57
- return (0, _react.createElement)(_react.Fragment, null, hasPageContentFocus && (0, _react.createElement)(_disableNonPageContentBlocks.default, null), (0, _react.createElement)(_editTemplateNotification.default, {
58
- contentRef: contentRef
59
- }), (0, _react.createElement)(_backToPageNotification.default, null));
60
- }
61
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_data","require","_element","_store","_disableNonPageContentBlocks","_interopRequireDefault","_editTemplateNotification","_backToPageNotification","_lockUnlock","PageContentFocusManager","contentRef","hasPageContentFocus","pageContentFocusType","canvasMode","useSelect","select","getPageContentFocusType","getCanvasMode","unlock","editSiteStore","_canvasMode","setPageContentFocusType","useDispatch","useEffect","_react","createElement","Fragment","default"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport DisableNonPageContentBlocks from './disable-non-page-content-blocks';\nimport EditTemplateNotification from './edit-template-notification';\nimport BackToPageNotification from './back-to-page-notification';\nimport { unlock } from '../../lock-unlock';\n\nexport default function PageContentFocusManager( { contentRef } ) {\n\tconst { hasPageContentFocus, pageContentFocusType, canvasMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPageContentFocusType, getCanvasMode } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst _canvasMode = getCanvasMode();\n\t\t\treturn {\n\t\t\t\tcanvasMode: _canvasMode,\n\t\t\t\tpageContentFocusType: getPageContentFocusType(),\n\t\t\t\thasPageContentFocus:\n\t\t\t\t\tselect( editSiteStore ).hasPageContentFocus(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { setPageContentFocusType } = unlock( useDispatch( editSiteStore ) );\n\n\t/*\n\t * Ensure that the page content focus type is set to `disableTemplate` when\n\t * the canvas mode is not `edit`. This makes the experience consistent with\n\t * refreshing the page, which resets the page content focus type.\n\t */\n\tuseEffect( () => {\n\t\tif ( canvasMode !== 'edit' && !! pageContentFocusType ) {\n\t\t\tsetPageContentFocusType( null );\n\t\t}\n\t}, [ canvasMode, pageContentFocusType ] );\n\n\treturn (\n\t\t<>\n\t\t\t{ hasPageContentFocus && <DisableNonPageContentBlocks /> }\n\t\t\t<EditTemplateNotification contentRef={ contentRef } />\n\t\t\t<BackToPageNotification />\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,4BAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,yBAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,uBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,WAAA,GAAAP,OAAA;AAZA;AACA;AACA;;AAGA;AACA;AACA;;AAOe,SAASQ,uBAAuBA,CAAE;EAAEC;AAAW,CAAC,EAAG;EACjE,MAAM;IAAEC,mBAAmB;IAAEC,oBAAoB;IAAEC;EAAW,CAAC,GAAG,IAAAC,eAAS,EACxEC,MAAM,IAAM;IACb,MAAM;MAAEC,uBAAuB;MAAEC;IAAc,CAAC,GAAG,IAAAC,kBAAM,EACxDH,MAAM,CAAEI,YAAc,CACvB,CAAC;IACD,MAAMC,WAAW,GAAGH,aAAa,CAAC,CAAC;IACnC,OAAO;MACNJ,UAAU,EAAEO,WAAW;MACvBR,oBAAoB,EAAEI,uBAAuB,CAAC,CAAC;MAC/CL,mBAAmB,EAClBI,MAAM,CAAEI,YAAc,CAAC,CAACR,mBAAmB,CAAC;IAC9C,CAAC;EACF,CAAC,EACD,EACD,CAAC;EACD,MAAM;IAAEU;EAAwB,CAAC,GAAG,IAAAH,kBAAM,EAAE,IAAAI,iBAAW,EAAEH,YAAc,CAAE,CAAC;;EAE1E;AACD;AACA;AACA;AACA;EACC,IAAAI,kBAAS,EAAE,MAAM;IAChB,IAAKV,UAAU,KAAK,MAAM,IAAI,CAAC,CAAED,oBAAoB,EAAG;MACvDS,uBAAuB,CAAE,IAAK,CAAC;IAChC;EACD,CAAC,EAAE,CAAER,UAAU,EAAED,oBAAoB,CAAG,CAAC;EAEzC,OACC,IAAAY,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACGf,mBAAmB,IAAI,IAAAa,MAAA,CAAAC,aAAA,EAACrB,4BAAA,CAAAuB,OAA2B,MAAE,CAAC,EACxD,IAAAH,MAAA,CAAAC,aAAA,EAACnB,yBAAA,CAAAqB,OAAwB;IAACjB,UAAU,EAAGA;EAAY,CAAE,CAAC,EACtD,IAAAc,MAAA,CAAAC,aAAA,EAAClB,uBAAA,CAAAoB,OAAsB,MAAE,CACxB,CAAC;AAEL"}
@@ -1,87 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = ChangeStatus;
7
- var _react = require("react");
8
- var _components = require("@wordpress/components");
9
- var _i18n = require("@wordpress/i18n");
10
- var _data = require("@wordpress/data");
11
- var _element = require("@wordpress/element");
12
- var _coreData = require("@wordpress/core-data");
13
- var _notices = require("@wordpress/notices");
14
- var _blockEditor = require("@wordpress/block-editor");
15
- var _date = require("@wordpress/date");
16
- /**
17
- * WordPress dependencies
18
- */
19
-
20
- function ChangeStatus({
21
- postType,
22
- postId,
23
- status,
24
- date
25
- }) {
26
- const {
27
- editEntityRecord
28
- } = (0, _data.useDispatch)(_coreData.store);
29
- const {
30
- createErrorNotice
31
- } = (0, _data.useDispatch)(_notices.store);
32
- const [popoverAnchor, setPopoverAnchor] = (0, _element.useState)(null);
33
- // Memoize popoverProps to avoid returning a new object every time.
34
- const popoverProps = (0, _element.useMemo)(() => ({
35
- // Anchor the popover to the middle of the entire row so that it doesn't
36
- // move around when the label changes.
37
- anchor: popoverAnchor,
38
- 'aria-label': (0, _i18n.__)('Change publish date'),
39
- placement: 'bottom-end'
40
- }), [popoverAnchor]);
41
- const saveDate = async newDate => {
42
- try {
43
- let newStatus = status;
44
- if (status === 'future' && new Date(newDate) < new Date()) {
45
- newStatus = 'publish';
46
- } else if (status === 'publish' && new Date(newDate) > new Date()) {
47
- newStatus = 'future';
48
- }
49
- await editEntityRecord('postType', postType, postId, {
50
- status: newStatus,
51
- date: newDate
52
- });
53
- } catch (error) {
54
- const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : (0, _i18n.__)('An error occurred while updating the status');
55
- createErrorNotice(errorMessage, {
56
- type: 'snackbar'
57
- });
58
- }
59
- };
60
- const relateToNow = date ? (0, _date.humanTimeDiff)(date) : (0, _i18n.__)('Immediately');
61
- return (0, _react.createElement)(_components.__experimentalHStack, {
62
- className: "edit-site-summary-field"
63
- }, (0, _react.createElement)(_components.__experimentalText, {
64
- className: "edit-site-summary-field__label"
65
- }, (0, _i18n.__)('Publish')), (0, _react.createElement)(_components.Dropdown, {
66
- contentClassName: "edit-site-change-status__content",
67
- popoverProps: popoverProps,
68
- focusOnMount: true,
69
- ref: setPopoverAnchor,
70
- renderToggle: ({
71
- onToggle
72
- }) => (0, _react.createElement)(_components.Button, {
73
- className: "edit-site-summary-field__trigger",
74
- variant: "tertiary",
75
- onClick: onToggle
76
- }, relateToNow),
77
- renderContent: ({
78
- onClose
79
- }) => (0, _react.createElement)(_blockEditor.__experimentalPublishDateTimePicker, {
80
- currentDate: date,
81
- is12Hour: true,
82
- onClose: onClose,
83
- onChange: saveDate
84
- })
85
- }));
86
- }
87
- //# sourceMappingURL=publish-date.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_components","require","_i18n","_data","_element","_coreData","_notices","_blockEditor","_date","ChangeStatus","postType","postId","status","date","editEntityRecord","useDispatch","coreStore","createErrorNotice","noticesStore","popoverAnchor","setPopoverAnchor","useState","popoverProps","useMemo","anchor","__","placement","saveDate","newDate","newStatus","Date","error","errorMessage","message","code","type","relateToNow","humanTimeDiff","_react","createElement","__experimentalHStack","className","__experimentalText","Dropdown","contentClassName","focusOnMount","ref","renderToggle","onToggle","Button","variant","onClick","renderContent","onClose","__experimentalPublishDateTimePicker","currentDate","is12Hour","onChange"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/publish-date.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tDropdown,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __experimentalPublishDateTimePicker as PublishDateTimePicker } from '@wordpress/block-editor';\nimport { humanTimeDiff } from '@wordpress/date';\n\nexport default function ChangeStatus( { postType, postId, status, date } ) {\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\t'aria-label': __( 'Change publish date' ),\n\t\t\tplacement: 'bottom-end',\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst saveDate = async ( newDate ) => {\n\t\ttry {\n\t\t\tlet newStatus = status;\n\t\t\tif ( status === 'future' && new Date( newDate ) < new Date() ) {\n\t\t\t\tnewStatus = 'publish';\n\t\t\t} else if (\n\t\t\t\tstatus === 'publish' &&\n\t\t\t\tnew Date( newDate ) > new Date()\n\t\t\t) {\n\t\t\t\tnewStatus = 'future';\n\t\t\t}\n\t\t\tawait editEntityRecord( 'postType', postType, postId, {\n\t\t\t\tstatus: newStatus,\n\t\t\t\tdate: newDate,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while updating the status' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst relateToNow = date ? humanTimeDiff( date ) : __( 'Immediately' );\n\n\treturn (\n\t\t<HStack className=\"edit-site-summary-field\">\n\t\t\t<Text className=\"edit-site-summary-field__label\">\n\t\t\t\t{ __( 'Publish' ) }\n\t\t\t</Text>\n\t\t\t<Dropdown\n\t\t\t\tcontentClassName=\"edit-site-change-status__content\"\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tfocusOnMount\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t\trenderToggle={ ( { onToggle } ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-site-summary-field__trigger\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ relateToNow }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<PublishDateTimePicker\n\t\t\t\t\t\tcurrentDate={ date }\n\t\t\t\t\t\tis12Hour\n\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\tonChange={ saveDate }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- import { createElement } from "react";
2
- /**
3
- * WordPress dependencies
4
- */
5
- import { __experimentalInputControlPrefixWrapper as InputControlPrefixWrapper, SelectControl } from '@wordpress/components';
6
- import { __, sprintf } from '@wordpress/i18n';
7
- export const OPERATOR_IN = 'in';
8
- export default (({
9
- filter,
10
- view,
11
- onChangeView
12
- }) => {
13
- const valueFound = view.filters.find(f => f.field === filter.field && f.operator === OPERATOR_IN);
14
- const activeValue = !valueFound || !valueFound.hasOwnProperty('value') ? '' : valueFound.value;
15
- const id = `dataviews__filters-in-${filter.field}`;
16
- return createElement(SelectControl, {
17
- id: id,
18
- __nextHasNoMarginBottom: true,
19
- value: activeValue,
20
- prefix: createElement(InputControlPrefixWrapper, {
21
- as: "label",
22
- htmlFor: id,
23
- className: "dataviews__select-control-prefix"
24
- }, sprintf( /* translators: filter name. */
25
- __('%s:'), filter.name)),
26
- options: filter.elements,
27
- onChange: value => {
28
- const filters = view.filters.filter(f => f.field !== filter.field || f.operator !== OPERATOR_IN);
29
- filters.push({
30
- field: filter.field,
31
- operator: OPERATOR_IN,
32
- value
33
- });
34
- onChangeView(currentView => ({
35
- ...currentView,
36
- page: 1,
37
- filters
38
- }));
39
- }
40
- });
41
- });
42
- //# sourceMappingURL=in-filter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","SelectControl","__","sprintf","OPERATOR_IN","filter","view","onChangeView","valueFound","filters","find","f","field","operator","activeValue","hasOwnProperty","value","id","createElement","__nextHasNoMarginBottom","prefix","as","htmlFor","className","name","options","elements","onChange","push","currentView","page"],"sources":["@wordpress/edit-site/src/components/dataviews/in-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\tSelectControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\nexport const OPERATOR_IN = 'in';\n\nexport default ( { filter, view, onChangeView } ) => {\n\tconst valueFound = view.filters.find(\n\t\t( f ) => f.field === filter.field && f.operator === OPERATOR_IN\n\t);\n\n\tconst activeValue =\n\t\t! valueFound || ! valueFound.hasOwnProperty( 'value' )\n\t\t\t? ''\n\t\t\t: valueFound.value;\n\n\tconst id = `dataviews__filters-in-${ filter.field }`;\n\n\treturn (\n\t\t<SelectControl\n\t\t\tid={ id }\n\t\t\t__nextHasNoMarginBottom\n\t\t\tvalue={ activeValue }\n\t\t\tprefix={\n\t\t\t\t<InputControlPrefixWrapper\n\t\t\t\t\tas=\"label\"\n\t\t\t\t\thtmlFor={ id }\n\t\t\t\t\tclassName=\"dataviews__select-control-prefix\"\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: filter name. */\n\t\t\t\t\t\t__( '%s:' ),\n\t\t\t\t\t\tfilter.name\n\t\t\t\t\t) }\n\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t}\n\t\t\toptions={ filter.elements }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tconst filters = view.filters.filter(\n\t\t\t\t\t( f ) =>\n\t\t\t\t\t\tf.field !== filter.field || f.operator !== OPERATOR_IN\n\t\t\t\t);\n\n\t\t\t\tfilters.push( {\n\t\t\t\t\tfield: filter.field,\n\t\t\t\t\toperator: OPERATOR_IN,\n\t\t\t\t\tvalue,\n\t\t\t\t} );\n\n\t\t\t\tonChangeView( ( currentView ) => ( {\n\t\t\t\t\t...currentView,\n\t\t\t\t\tpage: 1,\n\t\t\t\t\tfilters,\n\t\t\t\t} ) );\n\t\t\t} }\n\t\t/>\n\t);\n};\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,uCAAuC,IAAIC,yBAAyB,EACpEC,aAAa,QACP,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAE7C,OAAO,MAAMC,WAAW,GAAG,IAAI;AAE/B,gBAAe,CAAE;EAAEC,MAAM;EAAEC,IAAI;EAAEC;AAAa,CAAC,KAAM;EACpD,MAAMC,UAAU,GAAGF,IAAI,CAACG,OAAO,CAACC,IAAI,CACjCC,CAAC,IAAMA,CAAC,CAACC,KAAK,KAAKP,MAAM,CAACO,KAAK,IAAID,CAAC,CAACE,QAAQ,KAAKT,WACrD,CAAC;EAED,MAAMU,WAAW,GAChB,CAAEN,UAAU,IAAI,CAAEA,UAAU,CAACO,cAAc,CAAE,OAAQ,CAAC,GACnD,EAAE,GACFP,UAAU,CAACQ,KAAK;EAEpB,MAAMC,EAAE,GAAI,yBAAyBZ,MAAM,CAACO,KAAO,EAAC;EAEpD,OACCM,aAAA,CAACjB,aAAa;IACbgB,EAAE,EAAGA,EAAI;IACTE,uBAAuB;IACvBH,KAAK,EAAGF,WAAa;IACrBM,MAAM,EACLF,aAAA,CAAClB,yBAAyB;MACzBqB,EAAE,EAAC,OAAO;MACVC,OAAO,EAAGL,EAAI;MACdM,SAAS,EAAC;IAAkC,GAE1CpB,OAAO,EACR;IACAD,EAAE,CAAE,KAAM,CAAC,EACXG,MAAM,CAACmB,IACR,CAC0B,CAC3B;IACDC,OAAO,EAAGpB,MAAM,CAACqB,QAAU;IAC3BC,QAAQ,EAAKX,KAAK,IAAM;MACvB,MAAMP,OAAO,GAAGH,IAAI,CAACG,OAAO,CAACJ,MAAM,CAChCM,CAAC,IACFA,CAAC,CAACC,KAAK,KAAKP,MAAM,CAACO,KAAK,IAAID,CAAC,CAACE,QAAQ,KAAKT,WAC7C,CAAC;MAEDK,OAAO,CAACmB,IAAI,CAAE;QACbhB,KAAK,EAAEP,MAAM,CAACO,KAAK;QACnBC,QAAQ,EAAET,WAAW;QACrBY;MACD,CAAE,CAAC;MAEHT,YAAY,CAAIsB,WAAW,KAAQ;QAClC,GAAGA,WAAW;QACdC,IAAI,EAAE,CAAC;QACPrB;MACD,CAAC,CAAG,CAAC;IACN;EAAG,CACH,CAAC;AAEJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["useSelect","useDispatch","useEffect","useRef","store","noticesStore","__","editSiteStore","BackToPageNotification","useBackToPageNotification","hasPageContentFocus","select","isPage","alreadySeen","createInfoNotice","setHasPageContentFocus","current","isDismissible","type","actions","label","onClick"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/back-to-page-notification.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Component that displays a 'You are editing a template' notification when the\n * user switches from focusing on editing page content to editing a template.\n */\nexport default function BackToPageNotification() {\n\tuseBackToPageNotification();\n\treturn null;\n}\n\n/**\n * Hook that displays a 'You are editing a template' notification when the user\n * switches from focusing on editing page content to editing a template.\n */\nexport function useBackToPageNotification() {\n\tconst hasPageContentFocus = useSelect(\n\t\t( select ) => select( editSiteStore ).hasPageContentFocus(),\n\t\t[]\n\t);\n\tconst { isPage } = useSelect( editSiteStore );\n\n\tconst alreadySeen = useRef( false );\n\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( isPage() && ! alreadySeen.current && ! hasPageContentFocus ) {\n\t\t\tcreateInfoNotice( __( 'You are editing a template.' ), {\n\t\t\t\tisDismissible: true,\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Back to page' ),\n\t\t\t\t\t\tonClick: () => setHasPageContentFocus( true ),\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t} );\n\t\t\talreadySeen.current = true;\n\t\t}\n\t}, [\n\t\tisPage,\n\t\thasPageContentFocus,\n\t\tcreateInfoNotice,\n\t\tsetHasPageContentFocus,\n\t] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACtD,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASF,KAAK,IAAIG,aAAa,QAAQ,aAAa;;AAEpD;AACA;AACA;AACA;AACA,eAAe,SAASC,sBAAsBA,CAAA,EAAG;EAChDC,yBAAyB,CAAC,CAAC;EAC3B,OAAO,IAAI;AACZ;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASA,yBAAyBA,CAAA,EAAG;EAC3C,MAAMC,mBAAmB,GAAGV,SAAS,CAClCW,MAAM,IAAMA,MAAM,CAAEJ,aAAc,CAAC,CAACG,mBAAmB,CAAC,CAAC,EAC3D,EACD,CAAC;EACD,MAAM;IAAEE;EAAO,CAAC,GAAGZ,SAAS,CAAEO,aAAc,CAAC;EAE7C,MAAMM,WAAW,GAAGV,MAAM,CAAE,KAAM,CAAC;EAEnC,MAAM;IAAEW;EAAiB,CAAC,GAAGb,WAAW,CAAEI,YAAa,CAAC;EACxD,MAAM;IAAEU;EAAuB,CAAC,GAAGd,WAAW,CAAEM,aAAc,CAAC;EAE/DL,SAAS,CAAE,MAAM;IAChB,IAAKU,MAAM,CAAC,CAAC,IAAI,CAAEC,WAAW,CAACG,OAAO,IAAI,CAAEN,mBAAmB,EAAG;MACjEI,gBAAgB,CAAER,EAAE,CAAE,6BAA8B,CAAC,EAAE;QACtDW,aAAa,EAAE,IAAI;QACnBC,IAAI,EAAE,UAAU;QAChBC,OAAO,EAAE,CACR;UACCC,KAAK,EAAEd,EAAE,CAAE,cAAe,CAAC;UAC3Be,OAAO,EAAEA,CAAA,KAAMN,sBAAsB,CAAE,IAAK;QAC7C,CAAC;MAEH,CAAE,CAAC;MACHF,WAAW,CAACG,OAAO,GAAG,IAAI;IAC3B;EACD,CAAC,EAAE,CACFJ,MAAM,EACNF,mBAAmB,EACnBI,gBAAgB,EAChBC,sBAAsB,CACrB,CAAC;AACJ"}
@@ -1,56 +0,0 @@
1
- import { createElement } from "react";
2
- /**
3
- * WordPress dependencies
4
- */
5
- import { useSelect, useDispatch } from '@wordpress/data';
6
- import { useBlockEditingMode, store as blockEditorStore } from '@wordpress/block-editor';
7
- import { useEffect } from '@wordpress/element';
8
-
9
- /**
10
- * Internal dependencies
11
- */
12
- import { PAGE_CONTENT_BLOCK_TYPES } from '../../utils/constants';
13
- function DisableBlock({
14
- clientId
15
- }) {
16
- const isDescendentOfQueryLoop = useSelect(select => {
17
- const {
18
- getBlockParentsByBlockName
19
- } = select(blockEditorStore);
20
- return getBlockParentsByBlockName(clientId, 'core/query').length !== 0;
21
- }, [clientId]);
22
- const mode = isDescendentOfQueryLoop ? undefined : 'contentOnly';
23
- const {
24
- setBlockEditingMode,
25
- unsetBlockEditingMode
26
- } = useDispatch(blockEditorStore);
27
- useEffect(() => {
28
- if (mode) {
29
- setBlockEditingMode(clientId, mode);
30
- return () => {
31
- unsetBlockEditingMode(clientId);
32
- };
33
- }
34
- }, [clientId, mode, setBlockEditingMode, unsetBlockEditingMode]);
35
- }
36
-
37
- /**
38
- * Component that when rendered, makes it so that the site editor allows only
39
- * page content to be edited.
40
- */
41
- export default function DisableNonPageContentBlocks() {
42
- useBlockEditingMode('disabled');
43
- const clientIds = useSelect(select => {
44
- const {
45
- __experimentalGetGlobalBlocksByName
46
- } = select(blockEditorStore);
47
- return __experimentalGetGlobalBlocksByName(Object.keys(PAGE_CONTENT_BLOCK_TYPES));
48
- }, []);
49
- return clientIds.map(clientId => {
50
- return createElement(DisableBlock, {
51
- key: clientId,
52
- clientId: clientId
53
- });
54
- });
55
- }
56
- //# sourceMappingURL=disable-non-page-content-blocks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useSelect","useDispatch","useBlockEditingMode","store","blockEditorStore","useEffect","PAGE_CONTENT_BLOCK_TYPES","DisableBlock","clientId","isDescendentOfQueryLoop","select","getBlockParentsByBlockName","length","mode","undefined","setBlockEditingMode","unsetBlockEditingMode","DisableNonPageContentBlocks","clientIds","__experimentalGetGlobalBlocksByName","Object","keys","map","createElement","key"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/disable-non-page-content-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseBlockEditingMode,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { PAGE_CONTENT_BLOCK_TYPES } from '../../utils/constants';\n\nfunction DisableBlock( { clientId } ) {\n\tconst isDescendentOfQueryLoop = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName } = select( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/query' ).length !==\n\t\t\t\t0\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst mode = isDescendentOfQueryLoop ? undefined : 'contentOnly';\n\tconst { setBlockEditingMode, unsetBlockEditingMode } =\n\t\tuseDispatch( blockEditorStore );\n\tuseEffect( () => {\n\t\tif ( mode ) {\n\t\t\tsetBlockEditingMode( clientId, mode );\n\t\t\treturn () => {\n\t\t\t\tunsetBlockEditingMode( clientId );\n\t\t\t};\n\t\t}\n\t}, [ clientId, mode, setBlockEditingMode, unsetBlockEditingMode ] );\n}\n\n/**\n * Component that when rendered, makes it so that the site editor allows only\n * page content to be edited.\n */\nexport default function DisableNonPageContentBlocks() {\n\tuseBlockEditingMode( 'disabled' );\n\tconst clientIds = useSelect( ( select ) => {\n\t\tconst { __experimentalGetGlobalBlocksByName } =\n\t\t\tselect( blockEditorStore );\n\t\treturn __experimentalGetGlobalBlocksByName(\n\t\t\tObject.keys( PAGE_CONTENT_BLOCK_TYPES )\n\t\t);\n\t}, [] );\n\n\treturn clientIds.map( ( clientId ) => {\n\t\treturn <DisableBlock key={ clientId } clientId={ clientId } />;\n\t} );\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,mBAAmB,EACnBC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,SAAS,QAAQ,oBAAoB;;AAE9C;AACA;AACA;AACA,SAASC,wBAAwB,QAAQ,uBAAuB;AAEhE,SAASC,YAAYA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACrC,MAAMC,uBAAuB,GAAGT,SAAS,CACtCU,MAAM,IAAM;IACb,MAAM;MAAEC;IAA2B,CAAC,GAAGD,MAAM,CAAEN,gBAAiB,CAAC;IACjE,OACCO,0BAA0B,CAAEH,QAAQ,EAAE,YAAa,CAAC,CAACI,MAAM,KAC3D,CAAC;EAEH,CAAC,EACD,CAAEJ,QAAQ,CACX,CAAC;EACD,MAAMK,IAAI,GAAGJ,uBAAuB,GAAGK,SAAS,GAAG,aAAa;EAChE,MAAM;IAAEC,mBAAmB;IAAEC;EAAsB,CAAC,GACnDf,WAAW,CAAEG,gBAAiB,CAAC;EAChCC,SAAS,CAAE,MAAM;IAChB,IAAKQ,IAAI,EAAG;MACXE,mBAAmB,CAAEP,QAAQ,EAAEK,IAAK,CAAC;MACrC,OAAO,MAAM;QACZG,qBAAqB,CAAER,QAAS,CAAC;MAClC,CAAC;IACF;EACD,CAAC,EAAE,CAAEA,QAAQ,EAAEK,IAAI,EAAEE,mBAAmB,EAAEC,qBAAqB,CAAG,CAAC;AACpE;;AAEA;AACA;AACA;AACA;AACA,eAAe,SAASC,2BAA2BA,CAAA,EAAG;EACrDf,mBAAmB,CAAE,UAAW,CAAC;EACjC,MAAMgB,SAAS,GAAGlB,SAAS,CAAIU,MAAM,IAAM;IAC1C,MAAM;MAAES;IAAoC,CAAC,GAC5CT,MAAM,CAAEN,gBAAiB,CAAC;IAC3B,OAAOe,mCAAmC,CACzCC,MAAM,CAACC,IAAI,CAAEf,wBAAyB,CACvC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,OAAOY,SAAS,CAACI,GAAG,CAAId,QAAQ,IAAM;IACrC,OAAOe,aAAA,CAAChB,YAAY;MAACiB,GAAG,EAAGhB,QAAU;MAACA,QAAQ,EAAGA;IAAU,CAAE,CAAC;EAC/D,CAAE,CAAC;AACJ"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["useSelect","useDispatch","useEffect","useState","useRef","store","noticesStore","__","__experimentalConfirmDialog","ConfirmDialog","editSiteStore","EditTemplateNotification","contentRef","hasPageContentFocus","select","getNotices","createInfoNotice","removeNotice","setHasPageContentFocus","isDialogOpen","setIsDialogOpen","lastNoticeId","handleClick","event","target","classList","contains","isNoticeAlreadyShowing","some","notice","id","current","isDismissible","type","actions","label","onClick","handleDblClick","canvas","addEventListener","removeEventListener","createElement","isOpen","confirmButtonText","onConfirm","onCancel"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/edit-template-notification.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Component that:\n *\n * - Displays a 'Edit your template to edit this block' notification when the\n * user is focusing on editing page content and clicks on a disabled template\n * block.\n * - Displays a 'Edit your template to edit this block' dialog when the user\n * is focusing on editing page conetnt and double clicks on a disabled\n * template block.\n *\n * @param {Object} props\n * @param {import('react').RefObject<HTMLElement>} props.contentRef Ref to the block\n * editor iframe canvas.\n */\nexport default function EditTemplateNotification( { contentRef } ) {\n\tconst hasPageContentFocus = useSelect(\n\t\t( select ) => select( editSiteStore ).hasPageContentFocus(),\n\t\t[]\n\t);\n\tconst { getNotices } = useSelect( noticesStore );\n\n\tconst { createInfoNotice, removeNotice } = useDispatch( noticesStore );\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tconst [ isDialogOpen, setIsDialogOpen ] = useState( false );\n\n\tconst lastNoticeId = useRef( 0 );\n\n\tuseEffect( () => {\n\t\tconst handleClick = async ( event ) => {\n\t\t\tif ( ! hasPageContentFocus ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( ! event.target.classList.contains( 'is-root-container' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst isNoticeAlreadyShowing = getNotices().some(\n\t\t\t\t( notice ) => notice.id === lastNoticeId.current\n\t\t\t);\n\t\t\tif ( isNoticeAlreadyShowing ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { notice } = await createInfoNotice(\n\t\t\t\t__( 'Edit your template to edit this block.' ),\n\t\t\t\t{\n\t\t\t\t\tisDismissible: true,\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Edit template' ),\n\t\t\t\t\t\t\tonClick: () => setHasPageContentFocus( false ),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t\tlastNoticeId.current = notice.id;\n\t\t};\n\n\t\tconst handleDblClick = ( event ) => {\n\t\t\tif ( ! hasPageContentFocus ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( ! event.target.classList.contains( 'is-root-container' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( lastNoticeId.current ) {\n\t\t\t\tremoveNotice( lastNoticeId.current );\n\t\t\t}\n\t\t\tsetIsDialogOpen( true );\n\t\t};\n\n\t\tconst canvas = contentRef.current;\n\t\tcanvas?.addEventListener( 'click', handleClick );\n\t\tcanvas?.addEventListener( 'dblclick', handleDblClick );\n\t\treturn () => {\n\t\t\tcanvas?.removeEventListener( 'click', handleClick );\n\t\t\tcanvas?.removeEventListener( 'dblclick', handleDblClick );\n\t\t};\n\t}, [ lastNoticeId, hasPageContentFocus, contentRef.current ] );\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isDialogOpen }\n\t\t\tconfirmButtonText={ __( 'Edit template' ) }\n\t\t\tonConfirm={ () => {\n\t\t\t\tsetIsDialogOpen( false );\n\t\t\t\tsetHasPageContentFocus( false );\n\t\t\t} }\n\t\t\tonCancel={ () => setIsDialogOpen( false ) }\n\t\t>\n\t\t\t{ __( 'Edit your template to edit this block.' ) }\n\t\t</ConfirmDialog>\n\t);\n}\n"],"mappings":"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"}