@wordpress/edit-site 5.26.0 → 5.27.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 (340) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +139 -36
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/editor-canvas-container/index.js +1 -1
  5. package/build/components/editor-canvas-container/index.js.map +1 -1
  6. package/build/components/global-styles/font-families.js +3 -2
  7. package/build/components/global-styles/font-families.js.map +1 -1
  8. package/build/components/global-styles/font-family-item.js +3 -4
  9. package/build/components/global-styles/font-family-item.js.map +1 -1
  10. package/build/components/global-styles/font-library-modal/context.js +80 -41
  11. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  12. package/build/components/global-styles/font-library-modal/font-collection.js +49 -22
  13. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  14. package/build/components/global-styles/font-library-modal/fonts-grid.js +4 -1
  15. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
  16. package/build/components/global-styles/font-library-modal/index.js +4 -4
  17. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/installed-fonts.js +16 -8
  19. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  20. package/build/components/global-styles/font-library-modal/library-font-card.js +1 -1
  21. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/library-font-variant.js +2 -2
  23. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  24. package/build/components/global-styles/font-library-modal/local-fonts.js +13 -4
  25. package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  26. package/build/components/global-styles/font-library-modal/resolvers.js +49 -20
  27. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  28. package/build/components/global-styles/font-library-modal/tab-panel-layout.js +6 -2
  29. package/build/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
  30. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +17 -2
  31. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
  32. package/build/components/global-styles/font-library-modal/utils/index.js +103 -17
  33. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  34. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +4 -3
  35. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  36. package/build/components/global-styles/screen-block.js +10 -0
  37. package/build/components/global-styles/screen-block.js.map +1 -1
  38. package/build/components/global-styles/screen-typography.js +4 -1
  39. package/build/components/global-styles/screen-typography.js.map +1 -1
  40. package/build/components/layout/hooks.js +6 -5
  41. package/build/components/layout/hooks.js.map +1 -1
  42. package/build/components/layout/index.js +19 -28
  43. package/build/components/layout/index.js.map +1 -1
  44. package/build/components/layout/router.js +135 -0
  45. package/build/components/layout/router.js.map +1 -0
  46. package/build/components/page-pages/index.js +92 -69
  47. package/build/components/page-pages/index.js.map +1 -1
  48. package/build/components/page-patterns/dataviews-pattern-actions.js +11 -6
  49. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  50. package/build/components/page-patterns/index.js +295 -15
  51. package/build/components/page-patterns/index.js.map +1 -1
  52. package/build/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +51 -23
  53. package/build/components/page-templates-template-parts/actions.js.map +1 -0
  54. package/build/components/page-templates-template-parts/add-new-template-part.js.map +1 -0
  55. package/build/components/page-templates-template-parts/index.js +395 -0
  56. package/build/components/page-templates-template-parts/index.js.map +1 -0
  57. package/build/components/preferences-modal/index.js +9 -134
  58. package/build/components/preferences-modal/index.js.map +1 -1
  59. package/build/components/revisions/index.js +1 -1
  60. package/build/components/revisions/index.js.map +1 -1
  61. package/build/components/save-button/index.js +4 -2
  62. package/build/components/save-button/index.js.map +1 -1
  63. package/build/components/save-panel/index.js +6 -5
  64. package/build/components/save-panel/index.js.map +1 -1
  65. package/build/components/sidebar/index.js +3 -1
  66. package/build/components/sidebar/index.js.map +1 -1
  67. package/build/components/sidebar-dataviews/dataview-item.js +3 -1
  68. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  69. package/build/components/sidebar-dataviews/default-views.js +4 -2
  70. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  71. package/build/components/sidebar-dataviews/index.js +2 -2
  72. package/build/components/sidebar-dataviews/index.js.map +1 -1
  73. package/build/components/sidebar-navigation-screen/index.js +8 -7
  74. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  75. package/build/components/sidebar-navigation-screen-pages/index.js +2 -10
  76. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  77. package/build/components/sidebar-navigation-screen-pages-dataviews/index.js +26 -3
  78. package/build/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -1
  79. package/build/components/sidebar-navigation-screen-templates/index.js +63 -8
  80. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  81. package/build/components/sidebar-navigation-screen-templates-browse/content.js +76 -0
  82. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -0
  83. package/build/components/sidebar-navigation-screen-templates-browse/index.js +9 -2
  84. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  85. package/build/components/site-hub/index.js +3 -1
  86. package/build/components/site-hub/index.js.map +1 -1
  87. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +47 -12
  88. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  89. package/build/components/sync-state-with-url/use-sync-path-with-url.js +25 -2
  90. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  91. package/build/hooks/commands/use-edit-mode-commands.js +33 -5
  92. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  93. package/build/hooks/push-changes-to-global-styles/index.js +13 -6
  94. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  95. package/build/hooks/template-part-edit.js +7 -6
  96. package/build/hooks/template-part-edit.js.map +1 -1
  97. package/build/index.js +1 -1
  98. package/build/index.js.map +1 -1
  99. package/build/store/actions.js +11 -29
  100. package/build/store/actions.js.map +1 -1
  101. package/build/store/private-actions.js +85 -1
  102. package/build/store/private-actions.js.map +1 -1
  103. package/build/store/selectors.js +2 -2
  104. package/build/store/selectors.js.map +1 -1
  105. package/build/utils/get-is-list-page.js +1 -1
  106. package/build/utils/get-is-list-page.js.map +1 -1
  107. package/build/utils/use-actual-current-theme.js +32 -0
  108. package/build/utils/use-actual-current-theme.js.map +1 -0
  109. package/build-module/components/actions/index.js +139 -36
  110. package/build-module/components/actions/index.js.map +1 -1
  111. package/build-module/components/editor-canvas-container/index.js +1 -1
  112. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  113. package/build-module/components/global-styles/font-families.js +3 -2
  114. package/build-module/components/global-styles/font-families.js.map +1 -1
  115. package/build-module/components/global-styles/font-family-item.js +4 -5
  116. package/build-module/components/global-styles/font-family-item.js.map +1 -1
  117. package/build-module/components/global-styles/font-library-modal/context.js +82 -42
  118. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  119. package/build-module/components/global-styles/font-library-modal/font-collection.js +49 -22
  120. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  121. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +4 -1
  122. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
  123. package/build-module/components/global-styles/font-library-modal/index.js +4 -4
  124. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  125. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +16 -8
  126. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  127. package/build-module/components/global-styles/font-library-modal/library-font-card.js +1 -1
  128. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
  129. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +2 -2
  130. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  131. package/build-module/components/global-styles/font-library-modal/local-fonts.js +13 -4
  132. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  133. package/build-module/components/global-styles/font-library-modal/resolvers.js +45 -18
  134. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  135. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js +6 -2
  136. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
  137. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +17 -2
  138. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
  139. package/build-module/components/global-styles/font-library-modal/utils/index.js +99 -16
  140. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  141. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +4 -3
  142. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  143. package/build-module/components/global-styles/screen-block.js +10 -0
  144. package/build-module/components/global-styles/screen-block.js.map +1 -1
  145. package/build-module/components/global-styles/screen-typography.js +4 -1
  146. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  147. package/build-module/components/layout/hooks.js +6 -5
  148. package/build-module/components/layout/hooks.js.map +1 -1
  149. package/build-module/components/layout/index.js +19 -28
  150. package/build-module/components/layout/index.js.map +1 -1
  151. package/build-module/components/layout/router.js +127 -0
  152. package/build-module/components/layout/router.js.map +1 -0
  153. package/build-module/components/page-pages/index.js +91 -70
  154. package/build-module/components/page-pages/index.js.map +1 -1
  155. package/build-module/components/page-patterns/dataviews-pattern-actions.js +11 -6
  156. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  157. package/build-module/components/page-patterns/index.js +296 -16
  158. package/build-module/components/page-patterns/index.js.map +1 -1
  159. package/build-module/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +52 -24
  160. package/build-module/components/page-templates-template-parts/actions.js.map +1 -0
  161. package/build-module/components/page-templates-template-parts/add-new-template-part.js.map +1 -0
  162. package/build-module/components/page-templates-template-parts/index.js +385 -0
  163. package/build-module/components/page-templates-template-parts/index.js.map +1 -0
  164. package/build-module/components/preferences-modal/index.js +12 -136
  165. package/build-module/components/preferences-modal/index.js.map +1 -1
  166. package/build-module/components/revisions/index.js +1 -1
  167. package/build-module/components/revisions/index.js.map +1 -1
  168. package/build-module/components/save-button/index.js +4 -2
  169. package/build-module/components/save-button/index.js.map +1 -1
  170. package/build-module/components/save-panel/index.js +7 -6
  171. package/build-module/components/save-panel/index.js.map +1 -1
  172. package/build-module/components/sidebar/index.js +3 -1
  173. package/build-module/components/sidebar/index.js.map +1 -1
  174. package/build-module/components/sidebar-dataviews/dataview-item.js +3 -1
  175. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  176. package/build-module/components/sidebar-dataviews/default-views.js +4 -2
  177. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  178. package/build-module/components/sidebar-dataviews/index.js +2 -2
  179. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  180. package/build-module/components/sidebar-navigation-screen/index.js +8 -7
  181. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  182. package/build-module/components/sidebar-navigation-screen-pages/index.js +2 -10
  183. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
  184. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js +27 -4
  185. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -1
  186. package/build-module/components/sidebar-navigation-screen-templates/index.js +64 -9
  187. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  188. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +68 -0
  189. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -0
  190. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +9 -2
  191. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  192. package/build-module/components/site-hub/index.js +3 -1
  193. package/build-module/components/site-hub/index.js.map +1 -1
  194. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +47 -11
  195. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  196. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +25 -2
  197. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  198. package/build-module/hooks/commands/use-edit-mode-commands.js +33 -5
  199. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  200. package/build-module/hooks/push-changes-to-global-styles/index.js +13 -6
  201. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  202. package/build-module/hooks/template-part-edit.js +7 -6
  203. package/build-module/hooks/template-part-edit.js.map +1 -1
  204. package/build-module/index.js +1 -1
  205. package/build-module/index.js.map +1 -1
  206. package/build-module/store/actions.js +13 -30
  207. package/build-module/store/actions.js.map +1 -1
  208. package/build-module/store/private-actions.js +83 -0
  209. package/build-module/store/private-actions.js.map +1 -1
  210. package/build-module/store/selectors.js +2 -2
  211. package/build-module/store/selectors.js.map +1 -1
  212. package/build-module/utils/get-is-list-page.js +1 -1
  213. package/build-module/utils/get-is-list-page.js.map +1 -1
  214. package/build-module/utils/use-actual-current-theme.js +24 -0
  215. package/build-module/utils/use-actual-current-theme.js.map +1 -0
  216. package/build-style/style-rtl.css +316 -215
  217. package/build-style/style.css +316 -215
  218. package/package.json +42 -42
  219. package/src/components/actions/index.js +236 -84
  220. package/src/components/editor-canvas-container/index.js +1 -1
  221. package/src/components/global-styles/font-families.js +14 -8
  222. package/src/components/global-styles/font-family-item.js +7 -4
  223. package/src/components/global-styles/font-library-modal/context.js +156 -50
  224. package/src/components/global-styles/font-library-modal/font-collection.js +56 -21
  225. package/src/components/global-styles/font-library-modal/fonts-grid.js +6 -2
  226. package/src/components/global-styles/font-library-modal/index.js +4 -4
  227. package/src/components/global-styles/font-library-modal/installed-fonts.js +18 -8
  228. package/src/components/global-styles/font-library-modal/library-font-card.js +2 -1
  229. package/src/components/global-styles/font-library-modal/library-font-variant.js +10 -9
  230. package/src/components/global-styles/font-library-modal/local-fonts.js +14 -4
  231. package/src/components/global-styles/font-library-modal/resolvers.js +50 -17
  232. package/src/components/global-styles/font-library-modal/style.scss +23 -35
  233. package/src/components/global-styles/font-library-modal/tab-panel-layout.js +30 -26
  234. package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +19 -2
  235. package/src/components/global-styles/font-library-modal/utils/index.js +136 -29
  236. package/src/components/global-styles/font-library-modal/utils/preview-styles.js +7 -3
  237. package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +40 -10
  238. package/src/components/global-styles/font-library-modal/utils/test/preview-styles.spec.js +5 -5
  239. package/src/components/global-styles/screen-block.js +10 -0
  240. package/src/components/global-styles/screen-typography.js +9 -3
  241. package/src/components/global-styles/style.scss +4 -0
  242. package/src/components/header-edit-mode/style.scss +15 -5
  243. package/src/components/layout/hooks.js +6 -5
  244. package/src/components/layout/index.js +80 -96
  245. package/src/components/layout/router.js +121 -0
  246. package/src/components/layout/style.scss +13 -16
  247. package/src/components/page/style.scss +1 -8
  248. package/src/components/page-pages/index.js +142 -148
  249. package/src/components/page-pages/style.scss +41 -2
  250. package/src/components/page-patterns/dataviews-pattern-actions.js +11 -6
  251. package/src/components/page-patterns/index.js +392 -14
  252. package/src/components/page-patterns/style.scss +36 -2
  253. package/src/components/{page-templates/template-actions.js → page-templates-template-parts/actions.js} +90 -37
  254. package/src/components/{page-templates → page-templates-template-parts}/index.js +198 -169
  255. package/src/components/page-templates-template-parts/style.scss +44 -0
  256. package/src/components/preferences-modal/index.js +8 -211
  257. package/src/components/revisions/index.js +1 -1
  258. package/src/components/save-button/index.js +7 -4
  259. package/src/components/save-panel/index.js +13 -12
  260. package/src/components/sidebar/index.js +4 -5
  261. package/src/components/sidebar-dataviews/dataview-item.js +2 -1
  262. package/src/components/sidebar-dataviews/default-views.js +4 -2
  263. package/src/components/sidebar-dataviews/index.js +8 -6
  264. package/src/components/sidebar-navigation-item/style.scss +1 -1
  265. package/src/components/sidebar-navigation-screen/index.js +19 -10
  266. package/src/components/sidebar-navigation-screen-pages/index.js +2 -10
  267. package/src/components/sidebar-navigation-screen-pages-dataviews/index.js +32 -6
  268. package/src/components/sidebar-navigation-screen-templates/index.js +85 -28
  269. package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
  270. package/src/components/sidebar-navigation-screen-templates-browse/content.js +73 -0
  271. package/src/components/sidebar-navigation-screen-templates-browse/index.js +10 -1
  272. package/src/components/site-hub/index.js +4 -1
  273. package/src/components/site-hub/style.scss +1 -12
  274. package/src/components/site-icon/style.scss +1 -1
  275. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +40 -10
  276. package/src/components/sync-state-with-url/use-sync-path-with-url.js +32 -0
  277. package/src/hooks/commands/use-edit-mode-commands.js +50 -3
  278. package/src/hooks/push-changes-to-global-styles/index.js +29 -23
  279. package/src/hooks/template-part-edit.js +12 -12
  280. package/src/index.js +1 -1
  281. package/src/store/actions.js +17 -51
  282. package/src/store/private-actions.js +133 -0
  283. package/src/store/selectors.js +2 -4
  284. package/src/style.scss +2 -1
  285. package/src/utils/get-is-list-page.js +3 -2
  286. package/src/utils/use-actual-current-theme.js +27 -0
  287. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -58
  288. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +0 -1
  289. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -71
  290. package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +0 -1
  291. package/build/components/page-main/index.js +0 -44
  292. package/build/components/page-main/index.js.map +0 -1
  293. package/build/components/page-patterns/dataviews-patterns.js +0 -307
  294. package/build/components/page-patterns/dataviews-patterns.js.map +0 -1
  295. package/build/components/page-template-parts/add-new-template-part.js.map +0 -1
  296. package/build/components/page-template-parts/index.js +0 -81
  297. package/build/components/page-template-parts/index.js.map +0 -1
  298. package/build/components/page-templates/index.js +0 -352
  299. package/build/components/page-templates/index.js.map +0 -1
  300. package/build/components/page-templates/template-actions.js.map +0 -1
  301. package/build/components/post-preview/index.js +0 -29
  302. package/build/components/post-preview/index.js.map +0 -1
  303. package/build/components/preferences-modal/enable-feature.js +0 -36
  304. package/build/components/preferences-modal/enable-feature.js.map +0 -1
  305. package/build/components/preferences-modal/enable-panel-option.js +0 -33
  306. package/build/components/preferences-modal/enable-panel-option.js.map +0 -1
  307. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -52
  308. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +0 -1
  309. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -63
  310. package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +0 -1
  311. package/build-module/components/page-main/index.js +0 -36
  312. package/build-module/components/page-main/index.js.map +0 -1
  313. package/build-module/components/page-patterns/dataviews-patterns.js +0 -299
  314. package/build-module/components/page-patterns/dataviews-patterns.js.map +0 -1
  315. package/build-module/components/page-template-parts/add-new-template-part.js.map +0 -1
  316. package/build-module/components/page-template-parts/index.js +0 -73
  317. package/build-module/components/page-template-parts/index.js.map +0 -1
  318. package/build-module/components/page-templates/index.js +0 -344
  319. package/build-module/components/page-templates/index.js.map +0 -1
  320. package/build-module/components/page-templates/template-actions.js.map +0 -1
  321. package/build-module/components/post-preview/index.js +0 -21
  322. package/build-module/components/post-preview/index.js.map +0 -1
  323. package/build-module/components/preferences-modal/enable-feature.js +0 -29
  324. package/build-module/components/preferences-modal/enable-feature.js.map +0 -1
  325. package/build-module/components/preferences-modal/enable-panel-option.js +0 -26
  326. package/build-module/components/preferences-modal/enable-panel-option.js.map +0 -1
  327. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +0 -58
  328. package/src/components/global-styles/font-library-modal/utils/get-notice-from-response.js +0 -62
  329. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +0 -271
  330. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamily.spec.js +0 -58
  331. package/src/components/page-main/index.js +0 -38
  332. package/src/components/page-patterns/dataviews-patterns.js +0 -380
  333. package/src/components/page-template-parts/index.js +0 -99
  334. package/src/components/page-templates/style.scss +0 -13
  335. package/src/components/post-preview/index.js +0 -16
  336. package/src/components/preferences-modal/enable-feature.js +0 -31
  337. package/src/components/preferences-modal/enable-panel-option.js +0 -23
  338. /package/build/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
  339. /package/build-module/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
  340. /package/src/components/{page-template-parts → page-templates-template-parts}/add-new-template-part.js +0 -0
@@ -0,0 +1,395 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = PageTemplatesTemplateParts;
8
+ var _react = require("react");
9
+ var _removeAccents = _interopRequireDefault(require("remove-accents"));
10
+ var _components = require("@wordpress/components");
11
+ var _i18n = require("@wordpress/i18n");
12
+ var _element = require("@wordpress/element");
13
+ var _coreData = require("@wordpress/core-data");
14
+ var _htmlEntities = require("@wordpress/html-entities");
15
+ var _blocks = require("@wordpress/blocks");
16
+ var _blockEditor = require("@wordpress/block-editor");
17
+ var _dataviews = require("@wordpress/dataviews");
18
+ var _router = require("@wordpress/router");
19
+ var _page = _interopRequireDefault(require("../page"));
20
+ var _link = _interopRequireWildcard(require("../routes/link"));
21
+ var _addNewTemplate = _interopRequireDefault(require("../add-new-template"));
22
+ var _addedBy = require("../list/added-by");
23
+ var _constants = require("../../utils/constants");
24
+ var _actions = require("./actions");
25
+ var _actions2 = require("../actions");
26
+ var _usePatternSettings = _interopRequireDefault(require("../page-patterns/use-pattern-settings"));
27
+ var _lockUnlock = require("../../lock-unlock");
28
+ var _addNewTemplatePart = _interopRequireDefault(require("./add-new-template-part"));
29
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+ /**
32
+ * External dependencies
33
+ */
34
+
35
+ /**
36
+ * WordPress dependencies
37
+ */
38
+
39
+ /**
40
+ * Internal dependencies
41
+ */
42
+
43
+ const {
44
+ ExperimentalBlockEditorProvider,
45
+ useGlobalStyle
46
+ } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
47
+ const {
48
+ useHistory,
49
+ useLocation
50
+ } = (0, _lockUnlock.unlock)(_router.privateApis);
51
+ const EMPTY_ARRAY = [];
52
+ const SUPPORTED_LAYOUTS = window?.__experimentalAdminViews ? [_constants.LAYOUT_TABLE, _constants.LAYOUT_GRID, _constants.LAYOUT_LIST] : [_constants.LAYOUT_TABLE, _constants.LAYOUT_GRID];
53
+ const defaultConfigPerViewType = {
54
+ [_constants.LAYOUT_TABLE]: {
55
+ primaryField: 'title'
56
+ },
57
+ [_constants.LAYOUT_GRID]: {
58
+ mediaField: 'preview',
59
+ primaryField: 'title'
60
+ },
61
+ [_constants.LAYOUT_LIST]: {
62
+ primaryField: 'title',
63
+ mediaField: 'preview'
64
+ }
65
+ };
66
+ const DEFAULT_VIEW = {
67
+ type: _constants.LAYOUT_TABLE,
68
+ search: '',
69
+ page: 1,
70
+ perPage: 20,
71
+ sort: {
72
+ field: 'title',
73
+ direction: 'asc'
74
+ },
75
+ // All fields are visible by default, so it's
76
+ // better to keep track of the hidden ones.
77
+ hiddenFields: ['preview'],
78
+ layout: defaultConfigPerViewType[_constants.LAYOUT_TABLE],
79
+ filters: []
80
+ };
81
+ function normalizeSearchInput(input = '') {
82
+ return (0, _removeAccents.default)(input.trim().toLowerCase());
83
+ }
84
+ function Title({
85
+ item,
86
+ viewType
87
+ }) {
88
+ if (viewType === _constants.LAYOUT_LIST) {
89
+ return (0, _htmlEntities.decodeEntities)(item.title?.rendered) || (0, _i18n.__)('(no title)');
90
+ }
91
+ const linkProps = {
92
+ params: {
93
+ postId: item.id,
94
+ postType: item.type,
95
+ canvas: 'edit'
96
+ }
97
+ };
98
+ if (item.type === _constants.TEMPLATE_PART_POST_TYPE) {
99
+ linkProps.state = {
100
+ backPath: '/wp_template_part/all'
101
+ };
102
+ }
103
+ return (0, _react.createElement)(_link.default, {
104
+ ...linkProps
105
+ }, (0, _htmlEntities.decodeEntities)(item.title?.rendered) || (0, _i18n.__)('(no title)'));
106
+ }
107
+ function AuthorField({
108
+ item,
109
+ viewType
110
+ }) {
111
+ const {
112
+ text,
113
+ icon,
114
+ imageUrl
115
+ } = (0, _addedBy.useAddedBy)(item.type, item.id);
116
+ const withIcon = viewType !== _constants.LAYOUT_LIST;
117
+ return (0, _react.createElement)(_components.__experimentalHStack, {
118
+ alignment: "left",
119
+ spacing: 1
120
+ }, withIcon && imageUrl && (0, _react.createElement)(_addedBy.AvatarImage, {
121
+ imageUrl: imageUrl
122
+ }), withIcon && !imageUrl && (0, _react.createElement)("div", {
123
+ className: "edit-site-list-added-by__icon"
124
+ }, (0, _react.createElement)(_components.Icon, {
125
+ icon: icon
126
+ })), (0, _react.createElement)("span", null, text));
127
+ }
128
+ function Preview({
129
+ item,
130
+ viewType
131
+ }) {
132
+ const settings = (0, _usePatternSettings.default)();
133
+ const [backgroundColor = 'white'] = useGlobalStyle('color.background');
134
+ const blocks = (0, _element.useMemo)(() => {
135
+ return (0, _blocks.parse)(item.content.raw);
136
+ }, [item.content.raw]);
137
+ const {
138
+ onClick
139
+ } = (0, _link.useLink)({
140
+ postId: item.id,
141
+ postType: item.type,
142
+ canvas: 'edit'
143
+ });
144
+ const isEmpty = !blocks?.length;
145
+ // Wrap everything in a block editor provider to ensure 'styles' that are needed
146
+ // for the previews are synced between the site editor store and the block editor store.
147
+ // Additionally we need to have the `__experimentalBlockPatterns` setting in order to
148
+ // render patterns inside the previews.
149
+ // TODO: Same approach is used in the patterns list and it becomes obvious that some of
150
+ // the block editor settings are needed in context where we don't have the block editor.
151
+ // Explore how we can solve this in a better way.
152
+ return (0, _react.createElement)(ExperimentalBlockEditorProvider, {
153
+ settings: settings
154
+ }, (0, _react.createElement)("div", {
155
+ className: `page-templates-preview-field is-viewtype-${viewType}`,
156
+ style: {
157
+ backgroundColor
158
+ }
159
+ }, (0, _react.createElement)("button", {
160
+ className: "page-templates-preview-field__button",
161
+ type: "button",
162
+ onClick: onClick,
163
+ "aria-label": item.title?.rendered || item.title
164
+ }, isEmpty && (item.type === _constants.TEMPLATE_POST_TYPE ? (0, _i18n.__)('Empty template') : (0, _i18n.__)('Empty template part')), !isEmpty && (0, _react.createElement)(_blockEditor.BlockPreview, {
165
+ blocks: blocks
166
+ }))));
167
+ }
168
+ function PageTemplatesTemplateParts({
169
+ postType
170
+ }) {
171
+ const {
172
+ params
173
+ } = useLocation();
174
+ const {
175
+ activeView = 'all',
176
+ layout
177
+ } = params;
178
+ const defaultView = (0, _element.useMemo)(() => {
179
+ return {
180
+ ...DEFAULT_VIEW,
181
+ type: window?.__experimentalAdminViews ? layout !== null && layout !== void 0 ? layout : DEFAULT_VIEW.type : DEFAULT_VIEW.type,
182
+ filters: activeView !== 'all' ? [{
183
+ field: 'author',
184
+ operator: 'in',
185
+ value: activeView
186
+ }] : []
187
+ };
188
+ }, [layout, activeView]);
189
+ const [view, setView] = (0, _element.useState)(defaultView);
190
+ (0, _element.useEffect)(() => {
191
+ setView(currentView => ({
192
+ ...currentView,
193
+ filters: activeView !== 'all' ? [{
194
+ field: 'author',
195
+ operator: 'in',
196
+ value: activeView
197
+ }] : []
198
+ }));
199
+ }, [activeView]);
200
+ const {
201
+ records,
202
+ isResolving: isLoadingData
203
+ } = (0, _coreData.useEntityRecords)('postType', postType, {
204
+ per_page: -1
205
+ });
206
+ const history = useHistory();
207
+ const onSelectionChange = (0, _element.useCallback)(items => {
208
+ if (view?.type === _constants.LAYOUT_LIST) {
209
+ history.push({
210
+ ...params,
211
+ postId: items.length === 1 ? items[0].id : undefined
212
+ });
213
+ }
214
+ }, [history, params, view?.type]);
215
+ const authors = (0, _element.useMemo)(() => {
216
+ if (!records) {
217
+ return EMPTY_ARRAY;
218
+ }
219
+ const authorsSet = new Set();
220
+ records.forEach(template => {
221
+ authorsSet.add(template.author_text);
222
+ });
223
+ return Array.from(authorsSet).map(author => ({
224
+ value: author,
225
+ label: author
226
+ }));
227
+ }, [records]);
228
+ const fields = (0, _element.useMemo)(() => {
229
+ const _fields = [{
230
+ header: (0, _i18n.__)('Preview'),
231
+ id: 'preview',
232
+ render: ({
233
+ item
234
+ }) => {
235
+ return (0, _react.createElement)(Preview, {
236
+ item: item,
237
+ viewType: view.type
238
+ });
239
+ },
240
+ minWidth: 120,
241
+ maxWidth: 120,
242
+ enableSorting: false
243
+ }, {
244
+ header: postType === _constants.TEMPLATE_POST_TYPE ? (0, _i18n.__)('Template') : (0, _i18n.__)('Template Part'),
245
+ id: 'title',
246
+ getValue: ({
247
+ item
248
+ }) => item.title?.rendered,
249
+ render: ({
250
+ item
251
+ }) => (0, _react.createElement)(Title, {
252
+ item: item,
253
+ viewType: view.type
254
+ }),
255
+ maxWidth: 400,
256
+ enableHiding: false
257
+ }];
258
+ if (postType === _constants.TEMPLATE_POST_TYPE) {
259
+ _fields.push({
260
+ header: (0, _i18n.__)('Description'),
261
+ id: 'description',
262
+ getValue: ({
263
+ item
264
+ }) => item.description,
265
+ render: ({
266
+ item
267
+ }) => {
268
+ return item.description ? (0, _react.createElement)("span", {
269
+ className: "page-templates-description"
270
+ }, (0, _htmlEntities.decodeEntities)(item.description)) : view.type === _constants.LAYOUT_TABLE && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.__experimentalText, {
271
+ variant: "muted",
272
+ "aria-hidden": "true"
273
+ }, "\u2014"), (0, _react.createElement)(_components.VisuallyHidden, null, (0, _i18n.__)('No description.')));
274
+ },
275
+ maxWidth: 400,
276
+ minWidth: 320,
277
+ enableSorting: false
278
+ });
279
+ }
280
+ // TODO: The plan is to support fields reordering, which would require an API like `order` or something
281
+ // similar. With the aforementioned API we wouldn't need to construct the fields array like this.
282
+ _fields.push({
283
+ header: (0, _i18n.__)('Author'),
284
+ id: 'author',
285
+ getValue: ({
286
+ item
287
+ }) => item.author_text,
288
+ render: ({
289
+ item
290
+ }) => {
291
+ return (0, _react.createElement)(AuthorField, {
292
+ viewType: view.type,
293
+ item: item
294
+ });
295
+ },
296
+ enableHiding: false,
297
+ type: _constants.ENUMERATION_TYPE,
298
+ elements: authors,
299
+ width: '1%'
300
+ });
301
+ return _fields;
302
+ }, [postType, authors, view.type]);
303
+ const {
304
+ data,
305
+ paginationInfo
306
+ } = (0, _element.useMemo)(() => {
307
+ if (!records) {
308
+ return {
309
+ data: EMPTY_ARRAY,
310
+ paginationInfo: {
311
+ totalItems: 0,
312
+ totalPages: 0
313
+ }
314
+ };
315
+ }
316
+ let filteredData = [...records];
317
+ // Handle global search.
318
+ if (view.search) {
319
+ const normalizedSearch = normalizeSearchInput(view.search);
320
+ filteredData = filteredData.filter(item => {
321
+ const title = item.title?.rendered || item.slug;
322
+ return normalizeSearchInput(title).includes(normalizedSearch) || normalizeSearchInput(item.description).includes(normalizedSearch);
323
+ });
324
+ }
325
+
326
+ // Handle filters.
327
+ if (view.filters.length > 0) {
328
+ view.filters.forEach(filter => {
329
+ if (filter.field === 'author' && filter.operator === _constants.OPERATOR_IN && !!filter.value) {
330
+ filteredData = filteredData.filter(item => {
331
+ return item.author_text === filter.value;
332
+ });
333
+ } else if (filter.field === 'author' && filter.operator === _constants.OPERATOR_NOT_IN && !!filter.value) {
334
+ filteredData = filteredData.filter(item => {
335
+ return item.author_text !== filter.value;
336
+ });
337
+ }
338
+ });
339
+ }
340
+
341
+ // Handle sorting.
342
+ if (view.sort) {
343
+ filteredData = (0, _dataviews.sortByTextFields)({
344
+ data: filteredData,
345
+ view,
346
+ fields,
347
+ textFields: ['title', 'author']
348
+ });
349
+ }
350
+ // Handle pagination.
351
+ return (0, _dataviews.getPaginationResults)({
352
+ data: filteredData,
353
+ view
354
+ });
355
+ }, [records, view, fields]);
356
+ const resetTemplateAction = (0, _actions.useResetTemplateAction)();
357
+ const actions = (0, _element.useMemo)(() => [resetTemplateAction, _actions.deleteTemplateAction, _actions.renameTemplateAction, _actions2.postRevisionsAction], [resetTemplateAction]);
358
+ const onChangeView = (0, _element.useCallback)(newView => {
359
+ if (newView.type !== view.type) {
360
+ newView = {
361
+ ...newView,
362
+ layout: {
363
+ ...defaultConfigPerViewType[newView.type]
364
+ }
365
+ };
366
+ history.push({
367
+ ...params,
368
+ layout: newView.type
369
+ });
370
+ }
371
+ setView(newView);
372
+ }, [view.type, setView, history, params]);
373
+ return (0, _react.createElement)(_page.default, {
374
+ title: postType === _constants.TEMPLATE_POST_TYPE ? (0, _i18n.__)('Templates') : (0, _i18n.__)('Template Parts'),
375
+ actions: postType === _constants.TEMPLATE_POST_TYPE ? (0, _react.createElement)(_addNewTemplate.default, {
376
+ templateType: postType,
377
+ showIcon: false,
378
+ toggleProps: {
379
+ variant: 'primary'
380
+ }
381
+ }) : (0, _react.createElement)(_addNewTemplatePart.default, null)
382
+ }, (0, _react.createElement)(_dataviews.DataViews, {
383
+ paginationInfo: paginationInfo,
384
+ fields: fields,
385
+ actions: actions,
386
+ data: data,
387
+ isLoading: isLoadingData,
388
+ view: view,
389
+ onChangeView: onChangeView,
390
+ onSelectionChange: onSelectionChange,
391
+ deferredRendering: !view.hiddenFields?.includes('preview'),
392
+ supportedLayouts: SUPPORTED_LAYOUTS
393
+ }));
394
+ }
395
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_removeAccents","_interopRequireDefault","require","_components","_i18n","_element","_coreData","_htmlEntities","_blocks","_blockEditor","_dataviews","_router","_page","_link","_interopRequireWildcard","_addNewTemplate","_addedBy","_constants","_actions","_actions2","_usePatternSettings","_lockUnlock","_addNewTemplatePart","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ExperimentalBlockEditorProvider","useGlobalStyle","unlock","blockEditorPrivateApis","useHistory","useLocation","routerPrivateApis","EMPTY_ARRAY","SUPPORTED_LAYOUTS","window","__experimentalAdminViews","LAYOUT_TABLE","LAYOUT_GRID","LAYOUT_LIST","defaultConfigPerViewType","primaryField","mediaField","DEFAULT_VIEW","type","search","page","perPage","sort","field","direction","hiddenFields","layout","filters","normalizeSearchInput","input","removeAccents","trim","toLowerCase","Title","item","viewType","decodeEntities","title","rendered","__","linkProps","params","postId","id","postType","canvas","TEMPLATE_PART_POST_TYPE","state","backPath","_react","createElement","AuthorField","text","icon","imageUrl","useAddedBy","withIcon","__experimentalHStack","alignment","spacing","AvatarImage","className","Icon","Preview","settings","usePatternSettings","backgroundColor","blocks","useMemo","parse","content","raw","onClick","useLink","isEmpty","length","style","TEMPLATE_POST_TYPE","BlockPreview","PageTemplatesTemplateParts","activeView","defaultView","operator","value","view","setView","useState","useEffect","currentView","records","isResolving","isLoadingData","useEntityRecords","per_page","history","onSelectionChange","useCallback","items","push","undefined","authors","authorsSet","Set","forEach","template","add","author_text","Array","from","map","author","label","fields","_fields","header","render","minWidth","maxWidth","enableSorting","getValue","enableHiding","description","Fragment","__experimentalText","variant","VisuallyHidden","ENUMERATION_TYPE","elements","width","data","paginationInfo","totalItems","totalPages","filteredData","normalizedSearch","filter","slug","includes","OPERATOR_IN","OPERATOR_NOT_IN","sortByTextFields","textFields","getPaginationResults","resetTemplateAction","useResetTemplateAction","actions","deleteTemplateAction","renameTemplateAction","postRevisionsAction","onChangeView","newView","templateType","showIcon","toggleProps","DataViews","isLoading","deferredRendering","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-templates-template-parts/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo, useCallback, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { parse } from '@wordpress/blocks';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tDataViews,\n\tsortByTextFields,\n\tgetPaginationResults,\n} from '@wordpress/dataviews';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport { default as Link, useLink } from '../routes/link';\nimport AddNewTemplate from '../add-new-template';\nimport { useAddedBy, AvatarImage } from '../list/added-by';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tENUMERATION_TYPE,\n\tOPERATOR_IN,\n\tOPERATOR_NOT_IN,\n\tLAYOUT_GRID,\n\tLAYOUT_TABLE,\n\tLAYOUT_LIST,\n} from '../../utils/constants';\nimport {\n\tuseResetTemplateAction,\n\tdeleteTemplateAction,\n\trenameTemplateAction,\n} from './actions';\nimport { postRevisionsAction } from '../actions';\nimport usePatternSettings from '../page-patterns/use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport AddNewTemplatePart from './add-new-template-part';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nconst EMPTY_ARRAY = [];\n\nconst SUPPORTED_LAYOUTS = window?.__experimentalAdminViews\n\t? [ LAYOUT_TABLE, LAYOUT_GRID, LAYOUT_LIST ]\n\t: [ LAYOUT_TABLE, LAYOUT_GRID ];\n\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_TABLE ]: {\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n\t[ LAYOUT_LIST ]: {\n\t\tprimaryField: 'title',\n\t\tmediaField: 'preview',\n\t},\n};\n\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_TABLE,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\tsort: {\n\t\tfield: 'title',\n\t\tdirection: 'asc',\n\t},\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'preview' ],\n\tlayout: defaultConfigPerViewType[ LAYOUT_TABLE ],\n\tfilters: [],\n};\n\nfunction normalizeSearchInput( input = '' ) {\n\treturn removeAccents( input.trim().toLowerCase() );\n}\n\nfunction Title( { item, viewType } ) {\n\tif ( viewType === LAYOUT_LIST ) {\n\t\treturn decodeEntities( item.title?.rendered ) || __( '(no title)' );\n\t}\n\tconst linkProps = {\n\t\tparams: {\n\t\t\tpostId: item.id,\n\t\t\tpostType: item.type,\n\t\t\tcanvas: 'edit',\n\t\t},\n\t};\n\tif ( item.type === TEMPLATE_PART_POST_TYPE ) {\n\t\tlinkProps.state = {\n\t\t\tbackPath: '/wp_template_part/all',\n\t\t};\n\t}\n\treturn (\n\t\t<Link { ...linkProps }>\n\t\t\t{ decodeEntities( item.title?.rendered ) || __( '(no title)' ) }\n\t\t</Link>\n\t);\n}\n\nfunction AuthorField( { item, viewType } ) {\n\tconst { text, icon, imageUrl } = useAddedBy( item.type, item.id );\n\tconst withIcon = viewType !== LAYOUT_LIST;\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing={ 1 }>\n\t\t\t{ withIcon && imageUrl && <AvatarImage imageUrl={ imageUrl } /> }\n\t\t\t{ withIcon && ! imageUrl && (\n\t\t\t\t<div className=\"edit-site-list-added-by__icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<span>{ text }</span>\n\t\t</HStack>\n\t);\n}\n\nfunction Preview( { item, viewType } ) {\n\tconst settings = usePatternSettings();\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst blocks = useMemo( () => {\n\t\treturn parse( item.content.raw );\n\t}, [ item.content.raw ] );\n\tconst { onClick } = useLink( {\n\t\tpostId: item.id,\n\t\tpostType: item.type,\n\t\tcanvas: 'edit',\n\t} );\n\tconst isEmpty = ! blocks?.length;\n\t// Wrap everything in a block editor provider to ensure 'styles' that are needed\n\t// for the previews are synced between the site editor store and the block editor store.\n\t// Additionally we need to have the `__experimentalBlockPatterns` setting in order to\n\t// render patterns inside the previews.\n\t// TODO: Same approach is used in the patterns list and it becomes obvious that some of\n\t// the block editor settings are needed in context where we don't have the block editor.\n\t// Explore how we can solve this in a better way.\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<div\n\t\t\t\tclassName={ `page-templates-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t<button\n\t\t\t\t\tclassName=\"page-templates-preview-field__button\"\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\taria-label={ item.title?.rendered || item.title }\n\t\t\t\t>\n\t\t\t\t\t{ isEmpty &&\n\t\t\t\t\t\t( item.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t\t? __( 'Empty template' )\n\t\t\t\t\t\t\t: __( 'Empty template part' ) ) }\n\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ blocks } /> }\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n\nexport default function PageTemplatesTemplateParts( { postType } ) {\n\tconst { params } = useLocation();\n\tconst { activeView = 'all', layout } = params;\n\tconst defaultView = useMemo( () => {\n\t\treturn {\n\t\t\t...DEFAULT_VIEW,\n\t\t\ttype: window?.__experimentalAdminViews\n\t\t\t\t? layout ?? DEFAULT_VIEW.type\n\t\t\t\t: DEFAULT_VIEW.type,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'in',\n\t\t\t\t\t\t\t\tvalue: activeView,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t};\n\t}, [ layout, activeView ] );\n\tconst [ view, setView ] = useState( defaultView );\n\tuseEffect( () => {\n\t\tsetView( ( currentView ) => ( {\n\t\t\t...currentView,\n\t\t\tfilters:\n\t\t\t\tactiveView !== 'all'\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tfield: 'author',\n\t\t\t\t\t\t\t\toperator: 'in',\n\t\t\t\t\t\t\t\tvalue: activeView,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t ]\n\t\t\t\t\t: [],\n\t\t} ) );\n\t}, [ activeView ] );\n\n\tconst { records, isResolving: isLoadingData } = useEntityRecords(\n\t\t'postType',\n\t\tpostType,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\tconst history = useHistory();\n\tconst onSelectionChange = useCallback(\n\t\t( items ) => {\n\t\t\tif ( view?.type === LAYOUT_LIST ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tpostId: items.length === 1 ? items[ 0 ].id : undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[ history, params, view?.type ]\n\t);\n\n\tconst authors = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\tconst authorsSet = new Set();\n\t\trecords.forEach( ( template ) => {\n\t\t\tauthorsSet.add( template.author_text );\n\t\t} );\n\t\treturn Array.from( authorsSet ).map( ( author ) => ( {\n\t\t\tvalue: author,\n\t\t\tlabel: author,\n\t\t} ) );\n\t}, [ records ] );\n\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn <Preview item={ item } viewType={ view.type } />;\n\t\t\t\t},\n\t\t\t\tminWidth: 120,\n\t\t\t\tmaxWidth: 120,\n\t\t\t\tenableSorting: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader:\n\t\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'Template' )\n\t\t\t\t\t\t: __( 'Template Part' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title?.rendered,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } viewType={ view.type } />\n\t\t\t\t),\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\t\tif ( postType === TEMPLATE_POST_TYPE ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Description' ),\n\t\t\t\tid: 'description',\n\t\t\t\tgetValue: ( { item } ) => item.description,\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\treturn item.description ? (\n\t\t\t\t\t\t<span className=\"page-templates-description\">\n\t\t\t\t\t\t\t{ decodeEntities( item.description ) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tview.type === LAYOUT_TABLE && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Text variant=\"muted\" aria-hidden=\"true\">\n\t\t\t\t\t\t\t\t\t&#8212;\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t<VisuallyHidden>\n\t\t\t\t\t\t\t\t\t{ __( 'No description.' ) }\n\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\tmaxWidth: 400,\n\t\t\t\tminWidth: 320,\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t}\n\t\t// TODO: The plan is to support fields reordering, which would require an API like `order` or something\n\t\t// similar. With the aforementioned API we wouldn't need to construct the fields array like this.\n\t\t_fields.push( {\n\t\t\theader: __( 'Author' ),\n\t\t\tid: 'author',\n\t\t\tgetValue: ( { item } ) => item.author_text,\n\t\t\trender: ( { item } ) => {\n\t\t\t\treturn <AuthorField viewType={ view.type } item={ item } />;\n\t\t\t},\n\t\t\tenableHiding: false,\n\t\t\ttype: ENUMERATION_TYPE,\n\t\t\telements: authors,\n\t\t\twidth: '1%',\n\t\t} );\n\t\treturn _fields;\n\t}, [ postType, authors, view.type ] );\n\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\tif ( ! records ) {\n\t\t\treturn {\n\t\t\t\tdata: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredData = [ ...records ];\n\t\t// Handle global search.\n\t\tif ( view.search ) {\n\t\t\tconst normalizedSearch = normalizeSearchInput( view.search );\n\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\tconst title = item.title?.rendered || item.slug;\n\t\t\t\treturn (\n\t\t\t\t\tnormalizeSearchInput( title ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t) ||\n\t\t\t\t\tnormalizeSearchInput( item.description ).includes(\n\t\t\t\t\t\tnormalizedSearch\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\t// Handle filters.\n\t\tif ( view.filters.length > 0 ) {\n\t\t\tview.filters.forEach( ( filter ) => {\n\t\t\t\tif (\n\t\t\t\t\tfilter.field === 'author' &&\n\t\t\t\t\tfilter.operator === OPERATOR_IN &&\n\t\t\t\t\t!! filter.value\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn item.author_text === filter.value;\n\t\t\t\t\t} );\n\t\t\t\t} else if (\n\t\t\t\t\tfilter.field === 'author' &&\n\t\t\t\t\tfilter.operator === OPERATOR_NOT_IN &&\n\t\t\t\t\t!! filter.value\n\t\t\t\t) {\n\t\t\t\t\tfilteredData = filteredData.filter( ( item ) => {\n\t\t\t\t\t\treturn item.author_text !== filter.value;\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Handle sorting.\n\t\tif ( view.sort ) {\n\t\t\tfilteredData = sortByTextFields( {\n\t\t\t\tdata: filteredData,\n\t\t\t\tview,\n\t\t\t\tfields,\n\t\t\t\ttextFields: [ 'title', 'author' ],\n\t\t\t} );\n\t\t}\n\t\t// Handle pagination.\n\t\treturn getPaginationResults( {\n\t\t\tdata: filteredData,\n\t\t\tview,\n\t\t} );\n\t}, [ records, view, fields ] );\n\n\tconst resetTemplateAction = useResetTemplateAction();\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\tresetTemplateAction,\n\t\t\tdeleteTemplateAction,\n\t\t\trenameTemplateAction,\n\t\t\tpostRevisionsAction,\n\t\t],\n\t\t[ resetTemplateAction ]\n\t);\n\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\tnewView = {\n\t\t\t\t\t...newView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\thistory.push( {\n\t\t\t\t\t...params,\n\t\t\t\t\tlayout: newView.type,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView, history, params ]\n\t);\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE\n\t\t\t\t\t? __( 'Templates' )\n\t\t\t\t\t: __( 'Template Parts' )\n\t\t\t}\n\t\t\tactions={\n\t\t\t\tpostType === TEMPLATE_POST_TYPE ? (\n\t\t\t\t\t<AddNewTemplate\n\t\t\t\t\t\ttemplateType={ postType }\n\t\t\t\t\t\tshowIcon={ false }\n\t\t\t\t\t\ttoggleProps={ { variant: 'primary' } }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<AddNewTemplatePart />\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t<DataViews\n\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\tfields={ fields }\n\t\t\t\tactions={ actions }\n\t\t\t\tdata={ data }\n\t\t\t\tisLoading={ isLoadingData }\n\t\t\t\tview={ view }\n\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\tonSelectionChange={ onSelectionChange }\n\t\t\t\tdeferredRendering={ ! view.hiddenFields?.includes( 'preview' ) }\n\t\t\t\tsupportedLayouts={ SUPPORTED_LAYOUTS }\n\t\t\t/>\n\t\t</Page>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,cAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAMA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AAIA,IAAAQ,UAAA,GAAAR,OAAA;AAKA,IAAAS,OAAA,GAAAT,OAAA;AAKA,IAAAU,KAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,KAAA,GAAAC,uBAAA,CAAAZ,OAAA;AACA,IAAAa,eAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,QAAA,GAAAd,OAAA;AACA,IAAAe,UAAA,GAAAf,OAAA;AAUA,IAAAgB,QAAA,GAAAhB,OAAA;AAKA,IAAAiB,SAAA,GAAAjB,OAAA;AACA,IAAAkB,mBAAA,GAAAnB,sBAAA,CAAAC,OAAA;AACA,IAAAmB,WAAA,GAAAnB,OAAA;AACA,IAAAoB,mBAAA,GAAArB,sBAAA,CAAAC,OAAA;AAAyD,SAAAqB,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAV,wBAAAc,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAvDzD;AACA;AACA;;AAGA;AACA;AACA;;AAuBA;AACA;AACA;;AAyBA,MAAM;EAAEW,+BAA+B;EAAEC;AAAe,CAAC,GAAG,IAAAC,kBAAM,EACjEC,wBACD,CAAC;AACD,MAAM;EAAEC,UAAU;EAAEC;AAAY,CAAC,GAAG,IAAAH,kBAAM,EAAEI,mBAAkB,CAAC;AAE/D,MAAMC,WAAW,GAAG,EAAE;AAEtB,MAAMC,iBAAiB,GAAGC,MAAM,EAAEC,wBAAwB,GACvD,CAAEC,uBAAY,EAAEC,sBAAW,EAAEC,sBAAW,CAAE,GAC1C,CAAEF,uBAAY,EAAEC,sBAAW,CAAE;AAEhC,MAAME,wBAAwB,GAAG;EAChC,CAAEH,uBAAY,GAAI;IACjBI,YAAY,EAAE;EACf,CAAC;EACD,CAAEH,sBAAW,GAAI;IAChBI,UAAU,EAAE,SAAS;IACrBD,YAAY,EAAE;EACf,CAAC;EACD,CAAEF,sBAAW,GAAI;IAChBE,YAAY,EAAE,OAAO;IACrBC,UAAU,EAAE;EACb;AACD,CAAC;AAED,MAAMC,YAAY,GAAG;EACpBC,IAAI,EAAEP,uBAAY;EAClBQ,MAAM,EAAE,EAAE;EACVC,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,EAAE;EACXC,IAAI,EAAE;IACLC,KAAK,EAAE,OAAO;IACdC,SAAS,EAAE;EACZ,CAAC;EACD;EACA;EACAC,YAAY,EAAE,CAAE,SAAS,CAAE;EAC3BC,MAAM,EAAEZ,wBAAwB,CAAEH,uBAAY,CAAE;EAChDgB,OAAO,EAAE;AACV,CAAC;AAED,SAASC,oBAAoBA,CAAEC,KAAK,GAAG,EAAE,EAAG;EAC3C,OAAO,IAAAC,sBAAa,EAAED,KAAK,CAACE,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAE,CAAC;AACnD;AAEA,SAASC,KAAKA,CAAE;EAAEC,IAAI;EAAEC;AAAS,CAAC,EAAG;EACpC,IAAKA,QAAQ,KAAKtB,sBAAW,EAAG;IAC/B,OAAO,IAAAuB,4BAAc,EAAEF,IAAI,CAACG,KAAK,EAAEC,QAAS,CAAC,IAAI,IAAAC,QAAE,EAAE,YAAa,CAAC;EACpE;EACA,MAAMC,SAAS,GAAG;IACjBC,MAAM,EAAE;MACPC,MAAM,EAAER,IAAI,CAACS,EAAE;MACfC,QAAQ,EAAEV,IAAI,CAAChB,IAAI;MACnB2B,MAAM,EAAE;IACT;EACD,CAAC;EACD,IAAKX,IAAI,CAAChB,IAAI,KAAK4B,kCAAuB,EAAG;IAC5CN,SAAS,CAACO,KAAK,GAAG;MACjBC,QAAQ,EAAE;IACX,CAAC;EACF;EACA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAClF,KAAA,CAAAiB,OAAI;IAAA,GAAMuD;EAAS,GACjB,IAAAJ,4BAAc,EAAEF,IAAI,CAACG,KAAK,EAAEC,QAAS,CAAC,IAAI,IAAAC,QAAE,EAAE,YAAa,CACxD,CAAC;AAET;AAEA,SAASY,WAAWA,CAAE;EAAEjB,IAAI;EAAEC;AAAS,CAAC,EAAG;EAC1C,MAAM;IAAEiB,IAAI;IAAEC,IAAI;IAAEC;EAAS,CAAC,GAAG,IAAAC,mBAAU,EAAErB,IAAI,CAAChB,IAAI,EAAEgB,IAAI,CAACS,EAAG,CAAC;EACjE,MAAMa,QAAQ,GAAGrB,QAAQ,KAAKtB,sBAAW;EAEzC,OACC,IAAAoC,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAmG,oBAAM;IAACC,SAAS,EAAC,MAAM;IAACC,OAAO,EAAG;EAAG,GACnCH,QAAQ,IAAIF,QAAQ,IAAI,IAAAL,MAAA,CAAAC,aAAA,EAAC/E,QAAA,CAAAyF,WAAW;IAACN,QAAQ,EAAGA;EAAU,CAAE,CAAC,EAC7DE,QAAQ,IAAI,CAAEF,QAAQ,IACvB,IAAAL,MAAA,CAAAC,aAAA;IAAKW,SAAS,EAAC;EAA+B,GAC7C,IAAAZ,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAwG,IAAI;IAACT,IAAI,EAAGA;EAAM,CAAE,CACjB,CACL,EACD,IAAAJ,MAAA,CAAAC,aAAA,gBAAQE,IAAY,CACb,CAAC;AAEX;AAEA,SAASW,OAAOA,CAAE;EAAE7B,IAAI;EAAEC;AAAS,CAAC,EAAG;EACtC,MAAM6B,QAAQ,GAAG,IAAAC,2BAAkB,EAAC,CAAC;EACrC,MAAM,CAAEC,eAAe,GAAG,OAAO,CAAE,GAAGjE,cAAc,CAAE,kBAAmB,CAAC;EAC1E,MAAMkE,MAAM,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC7B,OAAO,IAAAC,aAAK,EAAEnC,IAAI,CAACoC,OAAO,CAACC,GAAI,CAAC;EACjC,CAAC,EAAE,CAAErC,IAAI,CAACoC,OAAO,CAACC,GAAG,CAAG,CAAC;EACzB,MAAM;IAAEC;EAAQ,CAAC,GAAG,IAAAC,aAAO,EAAE;IAC5B/B,MAAM,EAAER,IAAI,CAACS,EAAE;IACfC,QAAQ,EAAEV,IAAI,CAAChB,IAAI;IACnB2B,MAAM,EAAE;EACT,CAAE,CAAC;EACH,MAAM6B,OAAO,GAAG,CAAEP,MAAM,EAAEQ,MAAM;EAChC;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OACC,IAAA1B,MAAA,CAAAC,aAAA,EAAClD,+BAA+B;IAACgE,QAAQ,EAAGA;EAAU,GACrD,IAAAf,MAAA,CAAAC,aAAA;IACCW,SAAS,EAAI,4CAA4C1B,QAAU,EAAG;IACtEyC,KAAK,EAAG;MAAEV;IAAgB;EAAG,GAE7B,IAAAjB,MAAA,CAAAC,aAAA;IACCW,SAAS,EAAC,sCAAsC;IAChD3C,IAAI,EAAC,QAAQ;IACbsD,OAAO,EAAGA,OAAS;IACnB,cAAatC,IAAI,CAACG,KAAK,EAAEC,QAAQ,IAAIJ,IAAI,CAACG;EAAO,GAE/CqC,OAAO,KACNxC,IAAI,CAAChB,IAAI,KAAK2D,6BAAkB,GAC/B,IAAAtC,QAAE,EAAE,gBAAiB,CAAC,GACtB,IAAAA,QAAE,EAAE,qBAAsB,CAAC,CAAE,EAC/B,CAAEmC,OAAO,IAAI,IAAAzB,MAAA,CAAAC,aAAA,EAACtF,YAAA,CAAAkH,YAAY;IAACX,MAAM,EAAGA;EAAQ,CAAE,CACzC,CACJ,CAC2B,CAAC;AAEpC;AAEe,SAASY,0BAA0BA,CAAE;EAAEnC;AAAS,CAAC,EAAG;EAClE,MAAM;IAAEH;EAAO,CAAC,GAAGpC,WAAW,CAAC,CAAC;EAChC,MAAM;IAAE2E,UAAU,GAAG,KAAK;IAAEtD;EAAO,CAAC,GAAGe,MAAM;EAC7C,MAAMwC,WAAW,GAAG,IAAAb,gBAAO,EAAE,MAAM;IAClC,OAAO;MACN,GAAGnD,YAAY;MACfC,IAAI,EAAET,MAAM,EAAEC,wBAAwB,GACnCgB,MAAM,aAANA,MAAM,cAANA,MAAM,GAAIT,YAAY,CAACC,IAAI,GAC3BD,YAAY,CAACC,IAAI;MACpBS,OAAO,EACNqD,UAAU,KAAK,KAAK,GACjB,CACA;QACCzD,KAAK,EAAE,QAAQ;QACf2D,QAAQ,EAAE,IAAI;QACdC,KAAK,EAAEH;MACR,CAAC,CACA,GACD;IACL,CAAC;EACF,CAAC,EAAE,CAAEtD,MAAM,EAAEsD,UAAU,CAAG,CAAC;EAC3B,MAAM,CAAEI,IAAI,EAAEC,OAAO,CAAE,GAAG,IAAAC,iBAAQ,EAAEL,WAAY,CAAC;EACjD,IAAAM,kBAAS,EAAE,MAAM;IAChBF,OAAO,CAAIG,WAAW,KAAQ;MAC7B,GAAGA,WAAW;MACd7D,OAAO,EACNqD,UAAU,KAAK,KAAK,GACjB,CACA;QACCzD,KAAK,EAAE,QAAQ;QACf2D,QAAQ,EAAE,IAAI;QACdC,KAAK,EAAEH;MACR,CAAC,CACA,GACD;IACL,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAEA,UAAU,CAAG,CAAC;EAEnB,MAAM;IAAES,OAAO;IAAEC,WAAW,EAAEC;EAAc,CAAC,GAAG,IAAAC,0BAAgB,EAC/D,UAAU,EACVhD,QAAQ,EACR;IACCiD,QAAQ,EAAE,CAAC;EACZ,CACD,CAAC;EACD,MAAMC,OAAO,GAAG1F,UAAU,CAAC,CAAC;EAC5B,MAAM2F,iBAAiB,GAAG,IAAAC,oBAAW,EAClCC,KAAK,IAAM;IACZ,IAAKb,IAAI,EAAElE,IAAI,KAAKL,sBAAW,EAAG;MACjCiF,OAAO,CAACI,IAAI,CAAE;QACb,GAAGzD,MAAM;QACTC,MAAM,EAAEuD,KAAK,CAACtB,MAAM,KAAK,CAAC,GAAGsB,KAAK,CAAE,CAAC,CAAE,CAACtD,EAAE,GAAGwD;MAC9C,CAAE,CAAC;IACJ;EACD,CAAC,EACD,CAAEL,OAAO,EAAErD,MAAM,EAAE2C,IAAI,EAAElE,IAAI,CAC9B,CAAC;EAED,MAAMkF,OAAO,GAAG,IAAAhC,gBAAO,EAAE,MAAM;IAC9B,IAAK,CAAEqB,OAAO,EAAG;MAChB,OAAOlF,WAAW;IACnB;IACA,MAAM8F,UAAU,GAAG,IAAIC,GAAG,CAAC,CAAC;IAC5Bb,OAAO,CAACc,OAAO,CAAIC,QAAQ,IAAM;MAChCH,UAAU,CAACI,GAAG,CAAED,QAAQ,CAACE,WAAY,CAAC;IACvC,CAAE,CAAC;IACH,OAAOC,KAAK,CAACC,IAAI,CAAEP,UAAW,CAAC,CAACQ,GAAG,CAAIC,MAAM,KAAQ;MACpD3B,KAAK,EAAE2B,MAAM;MACbC,KAAK,EAAED;IACR,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAErB,OAAO,CAAG,CAAC;EAEhB,MAAMuB,MAAM,GAAG,IAAA5C,gBAAO,EAAE,MAAM;IAC7B,MAAM6C,OAAO,GAAG,CACf;MACCC,MAAM,EAAE,IAAA3E,QAAE,EAAE,SAAU,CAAC;MACvBI,EAAE,EAAE,SAAS;MACbwE,MAAM,EAAEA,CAAE;QAAEjF;MAAK,CAAC,KAAM;QACvB,OAAO,IAAAe,MAAA,CAAAC,aAAA,EAACa,OAAO;UAAC7B,IAAI,EAAGA,IAAM;UAACC,QAAQ,EAAGiD,IAAI,CAAClE;QAAM,CAAE,CAAC;MACxD,CAAC;MACDkG,QAAQ,EAAE,GAAG;MACbC,QAAQ,EAAE,GAAG;MACbC,aAAa,EAAE;IAChB,CAAC,EACD;MACCJ,MAAM,EACLtE,QAAQ,KAAKiC,6BAAkB,GAC5B,IAAAtC,QAAE,EAAE,UAAW,CAAC,GAChB,IAAAA,QAAE,EAAE,eAAgB,CAAC;MACzBI,EAAE,EAAE,OAAO;MACX4E,QAAQ,EAAEA,CAAE;QAAErF;MAAK,CAAC,KAAMA,IAAI,CAACG,KAAK,EAAEC,QAAQ;MAC9C6E,MAAM,EAAEA,CAAE;QAAEjF;MAAK,CAAC,KACjB,IAAAe,MAAA,CAAAC,aAAA,EAACjB,KAAK;QAACC,IAAI,EAAGA,IAAM;QAACC,QAAQ,EAAGiD,IAAI,CAAClE;MAAM,CAAE,CAC7C;MACDmG,QAAQ,EAAE,GAAG;MACbG,YAAY,EAAE;IACf,CAAC,CACD;IACD,IAAK5E,QAAQ,KAAKiC,6BAAkB,EAAG;MACtCoC,OAAO,CAACf,IAAI,CAAE;QACbgB,MAAM,EAAE,IAAA3E,QAAE,EAAE,aAAc,CAAC;QAC3BI,EAAE,EAAE,aAAa;QACjB4E,QAAQ,EAAEA,CAAE;UAAErF;QAAK,CAAC,KAAMA,IAAI,CAACuF,WAAW;QAC1CN,MAAM,EAAEA,CAAE;UAAEjF;QAAK,CAAC,KAAM;UACvB,OAAOA,IAAI,CAACuF,WAAW,GACtB,IAAAxE,MAAA,CAAAC,aAAA;YAAMW,SAAS,EAAC;UAA4B,GACzC,IAAAzB,4BAAc,EAAEF,IAAI,CAACuF,WAAY,CAC9B,CAAC,GAEPrC,IAAI,CAAClE,IAAI,KAAKP,uBAAY,IACzB,IAAAsC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAyE,QAAA,QACC,IAAAzE,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAqK,kBAAI;YAACC,OAAO,EAAC,OAAO;YAAC,eAAY;UAAM,GAAC,QAEnC,CAAC,EACP,IAAA3E,MAAA,CAAAC,aAAA,EAAC5F,WAAA,CAAAuK,cAAc,QACZ,IAAAtF,QAAE,EAAE,iBAAkB,CACT,CACf,CAEH;QACF,CAAC;QACD8E,QAAQ,EAAE,GAAG;QACbD,QAAQ,EAAE,GAAG;QACbE,aAAa,EAAE;MAChB,CAAE,CAAC;IACJ;IACA;IACA;IACAL,OAAO,CAACf,IAAI,CAAE;MACbgB,MAAM,EAAE,IAAA3E,QAAE,EAAE,QAAS,CAAC;MACtBI,EAAE,EAAE,QAAQ;MACZ4E,QAAQ,EAAEA,CAAE;QAAErF;MAAK,CAAC,KAAMA,IAAI,CAACwE,WAAW;MAC1CS,MAAM,EAAEA,CAAE;QAAEjF;MAAK,CAAC,KAAM;QACvB,OAAO,IAAAe,MAAA,CAAAC,aAAA,EAACC,WAAW;UAAChB,QAAQ,EAAGiD,IAAI,CAAClE,IAAM;UAACgB,IAAI,EAAGA;QAAM,CAAE,CAAC;MAC5D,CAAC;MACDsF,YAAY,EAAE,KAAK;MACnBtG,IAAI,EAAE4G,2BAAgB;MACtBC,QAAQ,EAAE3B,OAAO;MACjB4B,KAAK,EAAE;IACR,CAAE,CAAC;IACH,OAAOf,OAAO;EACf,CAAC,EAAE,CAAErE,QAAQ,EAAEwD,OAAO,EAAEhB,IAAI,CAAClE,IAAI,CAAG,CAAC;EAErC,MAAM;IAAE+G,IAAI;IAAEC;EAAe,CAAC,GAAG,IAAA9D,gBAAO,EAAE,MAAM;IAC/C,IAAK,CAAEqB,OAAO,EAAG;MAChB,OAAO;QACNwC,IAAI,EAAE1H,WAAW;QACjB2H,cAAc,EAAE;UAAEC,UAAU,EAAE,CAAC;UAAEC,UAAU,EAAE;QAAE;MAChD,CAAC;IACF;IACA,IAAIC,YAAY,GAAG,CAAE,GAAG5C,OAAO,CAAE;IACjC;IACA,IAAKL,IAAI,CAACjE,MAAM,EAAG;MAClB,MAAMmH,gBAAgB,GAAG1G,oBAAoB,CAAEwD,IAAI,CAACjE,MAAO,CAAC;MAC5DkH,YAAY,GAAGA,YAAY,CAACE,MAAM,CAAIrG,IAAI,IAAM;QAC/C,MAAMG,KAAK,GAAGH,IAAI,CAACG,KAAK,EAAEC,QAAQ,IAAIJ,IAAI,CAACsG,IAAI;QAC/C,OACC5G,oBAAoB,CAAES,KAAM,CAAC,CAACoG,QAAQ,CACrCH,gBACD,CAAC,IACD1G,oBAAoB,CAAEM,IAAI,CAACuF,WAAY,CAAC,CAACgB,QAAQ,CAChDH,gBACD,CAAC;MAEH,CAAE,CAAC;IACJ;;IAEA;IACA,IAAKlD,IAAI,CAACzD,OAAO,CAACgD,MAAM,GAAG,CAAC,EAAG;MAC9BS,IAAI,CAACzD,OAAO,CAAC4E,OAAO,CAAIgC,MAAM,IAAM;QACnC,IACCA,MAAM,CAAChH,KAAK,KAAK,QAAQ,IACzBgH,MAAM,CAACrD,QAAQ,KAAKwD,sBAAW,IAC/B,CAAC,CAAEH,MAAM,CAACpD,KAAK,EACd;UACDkD,YAAY,GAAGA,YAAY,CAACE,MAAM,CAAIrG,IAAI,IAAM;YAC/C,OAAOA,IAAI,CAACwE,WAAW,KAAK6B,MAAM,CAACpD,KAAK;UACzC,CAAE,CAAC;QACJ,CAAC,MAAM,IACNoD,MAAM,CAAChH,KAAK,KAAK,QAAQ,IACzBgH,MAAM,CAACrD,QAAQ,KAAKyD,0BAAe,IACnC,CAAC,CAAEJ,MAAM,CAACpD,KAAK,EACd;UACDkD,YAAY,GAAGA,YAAY,CAACE,MAAM,CAAIrG,IAAI,IAAM;YAC/C,OAAOA,IAAI,CAACwE,WAAW,KAAK6B,MAAM,CAACpD,KAAK;UACzC,CAAE,CAAC;QACJ;MACD,CAAE,CAAC;IACJ;;IAEA;IACA,IAAKC,IAAI,CAAC9D,IAAI,EAAG;MAChB+G,YAAY,GAAG,IAAAO,2BAAgB,EAAE;QAChCX,IAAI,EAAEI,YAAY;QAClBjD,IAAI;QACJ4B,MAAM;QACN6B,UAAU,EAAE,CAAE,OAAO,EAAE,QAAQ;MAChC,CAAE,CAAC;IACJ;IACA;IACA,OAAO,IAAAC,+BAAoB,EAAE;MAC5Bb,IAAI,EAAEI,YAAY;MAClBjD;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEK,OAAO,EAAEL,IAAI,EAAE4B,MAAM,CAAG,CAAC;EAE9B,MAAM+B,mBAAmB,GAAG,IAAAC,+BAAsB,EAAC,CAAC;EACpD,MAAMC,OAAO,GAAG,IAAA7E,gBAAO,EACtB,MAAM,CACL2E,mBAAmB,EACnBG,6BAAoB,EACpBC,6BAAoB,EACpBC,6BAAmB,CACnB,EACD,CAAEL,mBAAmB,CACtB,CAAC;EAED,MAAMM,YAAY,GAAG,IAAArD,oBAAW,EAC7BsD,OAAO,IAAM;IACd,IAAKA,OAAO,CAACpI,IAAI,KAAKkE,IAAI,CAAClE,IAAI,EAAG;MACjCoI,OAAO,GAAG;QACT,GAAGA,OAAO;QACV5H,MAAM,EAAE;UACP,GAAGZ,wBAAwB,CAAEwI,OAAO,CAACpI,IAAI;QAC1C;MACD,CAAC;MAED4E,OAAO,CAACI,IAAI,CAAE;QACb,GAAGzD,MAAM;QACTf,MAAM,EAAE4H,OAAO,CAACpI;MACjB,CAAE,CAAC;IACJ;IAEAmE,OAAO,CAAEiE,OAAQ,CAAC;EACnB,CAAC,EACD,CAAElE,IAAI,CAAClE,IAAI,EAAEmE,OAAO,EAAES,OAAO,EAAErD,MAAM,CACtC,CAAC;EAED,OACC,IAAAQ,MAAA,CAAAC,aAAA,EAACnF,KAAA,CAAAkB,OAAI;IACJoD,KAAK,EACJO,QAAQ,KAAKiC,6BAAkB,GAC5B,IAAAtC,QAAE,EAAE,WAAY,CAAC,GACjB,IAAAA,QAAE,EAAE,gBAAiB,CACxB;IACD0G,OAAO,EACNrG,QAAQ,KAAKiC,6BAAkB,GAC9B,IAAA5B,MAAA,CAAAC,aAAA,EAAChF,eAAA,CAAAe,OAAc;MACdsK,YAAY,EAAG3G,QAAU;MACzB4G,QAAQ,EAAG,KAAO;MAClBC,WAAW,EAAG;QAAE7B,OAAO,EAAE;MAAU;IAAG,CACtC,CAAC,GAEF,IAAA3E,MAAA,CAAAC,aAAA,EAACzE,mBAAA,CAAAQ,OAAkB,MAAE;EAEtB,GAED,IAAAgE,MAAA,CAAAC,aAAA,EAACrF,UAAA,CAAA6L,SAAS;IACTxB,cAAc,EAAGA,cAAgB;IACjClB,MAAM,EAAGA,MAAQ;IACjBiC,OAAO,EAAGA,OAAS;IACnBhB,IAAI,EAAGA,IAAM;IACb0B,SAAS,EAAGhE,aAAe;IAC3BP,IAAI,EAAGA,IAAM;IACbiE,YAAY,EAAGA,YAAc;IAC7BtD,iBAAiB,EAAGA,iBAAmB;IACvC6D,iBAAiB,EAAG,CAAExE,IAAI,CAAC3D,YAAY,EAAEgH,QAAQ,CAAE,SAAU,CAAG;IAChEoB,gBAAgB,EAAGrJ;EAAmB,CACtC,CACI,CAAC;AAET"}
@@ -1,6 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -8,13 +7,9 @@ exports.PREFERENCES_MODAL_NAME = void 0;
8
7
  exports.default = EditSitePreferencesModal;
9
8
  var _react = require("react");
10
9
  var _interface = require("@wordpress/interface");
11
- var _i18n = require("@wordpress/i18n");
12
10
  var _data = require("@wordpress/data");
13
- var _preferences = require("@wordpress/preferences");
14
11
  var _editor = require("@wordpress/editor");
15
- var _enableFeature = _interopRequireDefault(require("./enable-feature"));
16
- var _enablePanelOption = _interopRequireDefault(require("./enable-panel-option"));
17
- var _store = require("../../store");
12
+ var _lockUnlock = require("../../lock-unlock");
18
13
  /**
19
14
  * WordPress dependencies
20
15
  */
@@ -23,142 +18,22 @@ var _store = require("../../store");
23
18
  * Internal dependencies
24
19
  */
25
20
 
21
+ const {
22
+ PreferencesModal
23
+ } = (0, _lockUnlock.unlock)(_editor.privateApis);
26
24
  const PREFERENCES_MODAL_NAME = 'edit-site/preferences';
27
25
  exports.PREFERENCES_MODAL_NAME = PREFERENCES_MODAL_NAME;
28
26
  function EditSitePreferencesModal() {
29
27
  const isModalActive = (0, _data.useSelect)(select => select(_interface.store).isModalActive(PREFERENCES_MODAL_NAME));
30
28
  const {
31
- closeModal,
32
- openModal
29
+ closeModal
33
30
  } = (0, _data.useDispatch)(_interface.store);
34
- const toggleModal = () => isModalActive ? closeModal() : openModal(PREFERENCES_MODAL_NAME);
35
- const registry = (0, _data.useRegistry)();
36
- const {
37
- closeGeneralSidebar
38
- } = (0, _data.useDispatch)(_store.store);
39
- const {
40
- setIsListViewOpened,
41
- setIsInserterOpened
42
- } = (0, _data.useDispatch)(_editor.store);
43
- const {
44
- set: setPreference
45
- } = (0, _data.useDispatch)(_preferences.store);
46
- const toggleDistractionFree = () => {
47
- registry.batch(() => {
48
- setPreference('core', 'fixedToolbar', true);
49
- setIsInserterOpened(false);
50
- setIsListViewOpened(false);
51
- closeGeneralSidebar();
52
- });
53
- };
54
- const turnOffDistractionFree = () => {
55
- setPreference('core', 'distractionFree', false);
56
- };
57
- const sections = [{
58
- name: 'general',
59
- tabLabel: (0, _i18n.__)('General'),
60
- content: (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_interface.PreferencesModalSection, {
61
- title: (0, _i18n.__)('Interface')
62
- }, (0, _react.createElement)(_enableFeature.default, {
63
- scope: "core",
64
- featureName: "showListViewByDefault",
65
- help: (0, _i18n.__)('Opens the block list view sidebar by default.'),
66
- label: (0, _i18n.__)('Always open list view')
67
- }), (0, _react.createElement)(_enableFeature.default, {
68
- scope: "core",
69
- featureName: "showBlockBreadcrumbs",
70
- help: (0, _i18n.__)('Shows block breadcrumbs at the bottom of the editor.'),
71
- label: (0, _i18n.__)('Display block breadcrumbs')
72
- }), (0, _react.createElement)(_enableFeature.default, {
73
- scope: "core",
74
- featureName: "allowRightClickOverrides",
75
- help: (0, _i18n.__)('Allows contextual list view menus via right-click, overriding browser defaults.'),
76
- label: (0, _i18n.__)('Allow right-click contextual menus')
77
- })), (0, _react.createElement)(_interface.PreferencesModalSection, {
78
- title: (0, _i18n.__)('Document settings'),
79
- description: (0, _i18n.__)('Select what settings are shown in the document panel.')
80
- }, (0, _react.createElement)(_editor.PostTaxonomies, {
81
- taxonomyWrapper: (content, taxonomy) => (0, _react.createElement)(_enablePanelOption.default, {
82
- label: taxonomy.labels.menu_name,
83
- panelName: `taxonomy-panel-${taxonomy.slug}`
84
- })
85
- }), (0, _react.createElement)(_editor.PostFeaturedImageCheck, null, (0, _react.createElement)(_enablePanelOption.default, {
86
- label: (0, _i18n.__)('Featured image'),
87
- panelName: "featured-image"
88
- })), (0, _react.createElement)(_editor.PostExcerptCheck, null, (0, _react.createElement)(_enablePanelOption.default, {
89
- label: (0, _i18n.__)('Excerpt'),
90
- panelName: "post-excerpt"
91
- })), (0, _react.createElement)(_editor.PostTypeSupportCheck, {
92
- supportKeys: ['comments', 'trackbacks']
93
- }, (0, _react.createElement)(_enablePanelOption.default, {
94
- label: (0, _i18n.__)('Discussion'),
95
- panelName: "discussion-panel"
96
- })), (0, _react.createElement)(_editor.PageAttributesCheck, null, (0, _react.createElement)(_enablePanelOption.default, {
97
- label: (0, _i18n.__)('Page attributes'),
98
- panelName: "page-attributes"
99
- }))))
100
- }, {
101
- name: 'appearance',
102
- tabLabel: (0, _i18n.__)('Appearance'),
103
- content: (0, _react.createElement)(_interface.PreferencesModalSection, {
104
- title: (0, _i18n.__)('Appearance'),
105
- description: (0, _i18n.__)('Customize the editor interface to suit your needs.')
106
- }, (0, _react.createElement)(_enableFeature.default, {
107
- scope: "core",
108
- featureName: "fixedToolbar",
109
- onToggle: turnOffDistractionFree,
110
- help: (0, _i18n.__)('Access all block and document tools in a single place.'),
111
- label: (0, _i18n.__)('Top toolbar')
112
- }), (0, _react.createElement)(_enableFeature.default, {
113
- scope: "core",
114
- featureName: "distractionFree",
115
- onToggle: toggleDistractionFree,
116
- help: (0, _i18n.__)('Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'),
117
- label: (0, _i18n.__)('Distraction free')
118
- }), (0, _react.createElement)(_enableFeature.default, {
119
- scope: "core",
120
- featureName: "focusMode",
121
- help: (0, _i18n.__)('Highlights the current block and fades other content.'),
122
- label: (0, _i18n.__)('Spotlight mode')
123
- }))
124
- }, {
125
- name: 'accessibility',
126
- tabLabel: (0, _i18n.__)('Accessibility'),
127
- content: (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_interface.PreferencesModalSection, {
128
- title: (0, _i18n.__)('Navigation'),
129
- description: (0, _i18n.__)('Optimize the editing experience for enhanced control.')
130
- }, (0, _react.createElement)(_enableFeature.default, {
131
- scope: "core",
132
- featureName: "keepCaretInsideBlock",
133
- help: (0, _i18n.__)('Keeps the text cursor within the block boundaries, aiding users with screen readers by preventing unintentional cursor movement outside the block.'),
134
- label: (0, _i18n.__)('Contain text cursor inside block')
135
- })), (0, _react.createElement)(_interface.PreferencesModalSection, {
136
- title: (0, _i18n.__)('Interface')
137
- }, (0, _react.createElement)(_enableFeature.default, {
138
- scope: "core",
139
- featureName: "showIconLabels",
140
- label: (0, _i18n.__)('Show button text labels'),
141
- help: (0, _i18n.__)('Show text instead of icons on buttons across the interface.')
142
- })))
143
- }, {
144
- name: 'blocks',
145
- tabLabel: (0, _i18n.__)('Blocks'),
146
- content: (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_interface.PreferencesModalSection, {
147
- title: (0, _i18n.__)('Inserter')
148
- }, (0, _react.createElement)(_enableFeature.default, {
149
- scope: "core",
150
- featureName: "mostUsedBlocks",
151
- help: (0, _i18n.__)('Adds a category with the most frequently used blocks in the inserter.'),
152
- label: (0, _i18n.__)('Show most used blocks')
153
- })))
154
- }];
155
31
  if (!isModalActive) {
156
32
  return null;
157
33
  }
158
- return (0, _react.createElement)(_interface.PreferencesModal, {
159
- closeModal: toggleModal
160
- }, (0, _react.createElement)(_interface.PreferencesModalTabs, {
161
- sections: sections
162
- }));
34
+ return (0, _react.createElement)(PreferencesModal, {
35
+ isActive: isModalActive,
36
+ onClose: closeModal
37
+ });
163
38
  }
164
39
  //# sourceMappingURL=index.js.map