@wordpress/edit-site 6.32.0 → 6.32.1-next.b8c8708f3.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 (991) hide show
  1. package/build/components/add-new-pattern/index.js +153 -141
  2. package/build/components/add-new-pattern/index.js.map +7 -1
  3. package/build/components/add-new-post/index.js +114 -89
  4. package/build/components/add-new-post/index.js.map +7 -1
  5. package/build/components/add-new-template/add-custom-generic-template-modal-content.js +80 -60
  6. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +7 -1
  7. package/build/components/add-new-template/add-custom-template-modal-content.js +284 -207
  8. package/build/components/add-new-template/add-custom-template-modal-content.js.map +7 -1
  9. package/build/components/add-new-template/index.js +309 -248
  10. package/build/components/add-new-template/index.js.map +7 -1
  11. package/build/components/add-new-template/utils.js +459 -446
  12. package/build/components/add-new-template/utils.js.map +7 -1
  13. package/build/components/app/index.js +72 -63
  14. package/build/components/app/index.js.map +7 -1
  15. package/build/components/block-editor/use-editor-iframe-props.js +63 -66
  16. package/build/components/block-editor/use-editor-iframe-props.js.map +7 -1
  17. package/build/components/block-editor/use-navigate-to-entity-record.js +34 -22
  18. package/build/components/block-editor/use-navigate-to-entity-record.js.map +7 -1
  19. package/build/components/block-editor/use-site-editor-settings.js +64 -51
  20. package/build/components/block-editor/use-site-editor-settings.js.map +7 -1
  21. package/build/components/canvas-loader/index.js +41 -56
  22. package/build/components/canvas-loader/index.js.map +7 -1
  23. package/build/components/dataviews-actions/index.js +96 -83
  24. package/build/components/dataviews-actions/index.js.map +7 -1
  25. package/build/components/editor/index.js +288 -235
  26. package/build/components/editor/index.js.map +7 -1
  27. package/build/components/editor/site-preview.js +55 -42
  28. package/build/components/editor/site-preview.js.map +7 -1
  29. package/build/components/editor/use-adapt-editor-to-canvas.js +49 -31
  30. package/build/components/editor/use-adapt-editor-to-canvas.js.map +7 -1
  31. package/build/components/editor/use-editor-title.js +79 -61
  32. package/build/components/editor/use-editor-title.js.map +7 -1
  33. package/build/components/editor/use-resolve-edited-entity.js +112 -140
  34. package/build/components/editor/use-resolve-edited-entity.js.map +7 -1
  35. package/build/components/editor-canvas-container/index.js +101 -91
  36. package/build/components/editor-canvas-container/index.js.map +7 -1
  37. package/build/components/global-styles/background-panel.js +46 -39
  38. package/build/components/global-styles/background-panel.js.map +7 -1
  39. package/build/components/global-styles/block-preview-panel.js +58 -52
  40. package/build/components/global-styles/block-preview-panel.js.map +7 -1
  41. package/build/components/global-styles/color-indicator-wrapper.js +47 -26
  42. package/build/components/global-styles/color-indicator-wrapper.js.map +7 -1
  43. package/build/components/global-styles/color-palette-panel.js +130 -81
  44. package/build/components/global-styles/color-palette-panel.js.map +7 -1
  45. package/build/components/global-styles/confirm-reset-shadow-dialog.js +38 -22
  46. package/build/components/global-styles/confirm-reset-shadow-dialog.js.map +7 -1
  47. package/build/components/global-styles/dimensions-panel.js +46 -41
  48. package/build/components/global-styles/dimensions-panel.js.map +7 -1
  49. package/build/components/global-styles/font-families.js +106 -102
  50. package/build/components/global-styles/font-families.js.map +7 -1
  51. package/build/components/global-styles/font-family-item.js +41 -43
  52. package/build/components/global-styles/font-family-item.js.map +7 -1
  53. package/build/components/global-styles/font-library-modal/collection-font-variant.js +55 -39
  54. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +7 -1
  55. package/build/components/global-styles/font-library-modal/context.js +228 -243
  56. package/build/components/global-styles/font-library-modal/context.js.map +7 -1
  57. package/build/components/global-styles/font-library-modal/font-card.js +70 -59
  58. package/build/components/global-styles/font-library-modal/font-card.js.map +7 -1
  59. package/build/components/global-styles/font-library-modal/font-collection.js +407 -321
  60. package/build/components/global-styles/font-library-modal/font-collection.js.map +7 -1
  61. package/build/components/global-styles/font-library-modal/font-demo.js +54 -50
  62. package/build/components/global-styles/font-library-modal/font-demo.js.map +7 -1
  63. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +52 -44
  64. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +7 -1
  65. package/build/components/global-styles/font-library-modal/index.js +90 -87
  66. package/build/components/global-styles/font-library-modal/index.js.map +7 -1
  67. package/build/components/global-styles/font-library-modal/installed-fonts.js +369 -255
  68. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +7 -1
  69. package/build/components/global-styles/font-library-modal/library-font-details.js +60 -42
  70. package/build/components/global-styles/font-library-modal/library-font-details.js.map +7 -1
  71. package/build/components/global-styles/font-library-modal/library-font-variant.js +64 -49
  72. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +7 -1
  73. package/build/components/global-styles/font-library-modal/resolvers.js +64 -31
  74. package/build/components/global-styles/font-library-modal/resolvers.js.map +7 -1
  75. package/build/components/global-styles/font-library-modal/upload-fonts.js +133 -145
  76. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +7 -1
  77. package/build/components/global-styles/font-library-modal/utils/constants.js +45 -24
  78. package/build/components/global-styles/font-library-modal/utils/constants.js.map +7 -1
  79. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +30 -27
  80. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +7 -1
  81. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +41 -13
  82. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +7 -1
  83. package/build/components/global-styles/font-library-modal/utils/index.js +127 -161
  84. package/build/components/global-styles/font-library-modal/utils/index.js.map +7 -1
  85. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +25 -18
  86. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +7 -1
  87. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +55 -74
  88. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +7 -1
  89. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js +32 -16
  90. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +7 -1
  91. package/build/components/global-styles/font-library-modal/utils/toggleFont.js +43 -72
  92. package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +7 -1
  93. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +44 -23
  94. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +7 -1
  95. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +38 -22
  96. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +7 -1
  97. package/build/components/global-styles/font-sizes/font-size-preview.js +42 -35
  98. package/build/components/global-styles/font-sizes/font-size-preview.js.map +7 -1
  99. package/build/components/global-styles/font-sizes/font-size.js +207 -170
  100. package/build/components/global-styles/font-sizes/font-size.js.map +7 -1
  101. package/build/components/global-styles/font-sizes/font-sizes-count.js +46 -45
  102. package/build/components/global-styles/font-sizes/font-sizes-count.js.map +7 -1
  103. package/build/components/global-styles/font-sizes/font-sizes.js +199 -136
  104. package/build/components/global-styles/font-sizes/font-sizes.js.map +7 -1
  105. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js +81 -58
  106. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js.map +7 -1
  107. package/build/components/global-styles/gradients-palette-panel.js +140 -85
  108. package/build/components/global-styles/gradients-palette-panel.js.map +7 -1
  109. package/build/components/global-styles/header.js +51 -48
  110. package/build/components/global-styles/header.js.map +7 -1
  111. package/build/components/global-styles/highlighted-colors.js +48 -40
  112. package/build/components/global-styles/highlighted-colors.js.map +7 -1
  113. package/build/components/global-styles/hooks.js +89 -68
  114. package/build/components/global-styles/hooks.js.map +7 -1
  115. package/build/components/global-styles/icon-with-current-color.js +50 -25
  116. package/build/components/global-styles/icon-with-current-color.js.map +7 -1
  117. package/build/components/global-styles/index.js +36 -11
  118. package/build/components/global-styles/index.js.map +7 -1
  119. package/build/components/global-styles/navigation-button.js +41 -42
  120. package/build/components/global-styles/navigation-button.js.map +7 -1
  121. package/build/components/global-styles/palette.js +82 -73
  122. package/build/components/global-styles/palette.js.map +7 -1
  123. package/build/components/global-styles/preset-colors.js +36 -24
  124. package/build/components/global-styles/preset-colors.js.map +7 -1
  125. package/build/components/global-styles/preview-colors.js +68 -46
  126. package/build/components/global-styles/preview-colors.js.map +7 -1
  127. package/build/components/global-styles/preview-styles.js +182 -136
  128. package/build/components/global-styles/preview-styles.js.map +7 -1
  129. package/build/components/global-styles/preview-typography.js +65 -44
  130. package/build/components/global-styles/preview-typography.js.map +7 -1
  131. package/build/components/global-styles/preview-wrapper.js +70 -85
  132. package/build/components/global-styles/preview-wrapper.js.map +7 -1
  133. package/build/components/global-styles/root-menu.js +53 -52
  134. package/build/components/global-styles/root-menu.js.map +7 -1
  135. package/build/components/global-styles/screen-background.js +54 -35
  136. package/build/components/global-styles/screen-background.js.map +7 -1
  137. package/build/components/global-styles/screen-block-list.js +129 -118
  138. package/build/components/global-styles/screen-block-list.js.map +7 -1
  139. package/build/components/global-styles/screen-block.js +185 -182
  140. package/build/components/global-styles/screen-block.js.map +7 -1
  141. package/build/components/global-styles/screen-color-palette.js +61 -56
  142. package/build/components/global-styles/screen-color-palette.js.map +7 -1
  143. package/build/components/global-styles/screen-colors.js +64 -40
  144. package/build/components/global-styles/screen-colors.js.map +7 -1
  145. package/build/components/global-styles/screen-css.js +80 -50
  146. package/build/components/global-styles/screen-css.js.map +7 -1
  147. package/build/components/global-styles/screen-layout.js +45 -32
  148. package/build/components/global-styles/screen-layout.js.map +7 -1
  149. package/build/components/global-styles/screen-revisions/index.js +144 -116
  150. package/build/components/global-styles/screen-revisions/index.js.map +7 -1
  151. package/build/components/global-styles/screen-revisions/revisions-buttons.js +165 -166
  152. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +7 -1
  153. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +93 -81
  154. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +7 -1
  155. package/build/components/global-styles/screen-root.js +93 -84
  156. package/build/components/global-styles/screen-root.js.map +7 -1
  157. package/build/components/global-styles/screen-shadows.js +43 -16
  158. package/build/components/global-styles/screen-shadows.js.map +7 -1
  159. package/build/components/global-styles/screen-style-variations.js +64 -44
  160. package/build/components/global-styles/screen-style-variations.js.map +7 -1
  161. package/build/components/global-styles/screen-typography-element.js +146 -93
  162. package/build/components/global-styles/screen-typography-element.js.map +7 -1
  163. package/build/components/global-styles/screen-typography.js +64 -40
  164. package/build/components/global-styles/screen-typography.js.map +7 -1
  165. package/build/components/global-styles/shadow-utils.js +75 -180
  166. package/build/components/global-styles/shadow-utils.js.map +7 -1
  167. package/build/components/global-styles/shadows-edit-panel.js +433 -358
  168. package/build/components/global-styles/shadows-edit-panel.js.map +7 -1
  169. package/build/components/global-styles/shadows-panel.js +178 -131
  170. package/build/components/global-styles/shadows-panel.js.map +7 -1
  171. package/build/components/global-styles/size-control/index.js +66 -76
  172. package/build/components/global-styles/size-control/index.js.map +7 -1
  173. package/build/components/global-styles/style-variations-container.js +114 -102
  174. package/build/components/global-styles/style-variations-container.js.map +7 -1
  175. package/build/components/global-styles/subtitle.js +34 -21
  176. package/build/components/global-styles/subtitle.js.map +7 -1
  177. package/build/components/global-styles/typeset.js +73 -75
  178. package/build/components/global-styles/typeset.js.map +7 -1
  179. package/build/components/global-styles/typography-elements.js +109 -86
  180. package/build/components/global-styles/typography-elements.js.map +7 -1
  181. package/build/components/global-styles/typography-example.js +66 -65
  182. package/build/components/global-styles/typography-example.js.map +7 -1
  183. package/build/components/global-styles/typography-panel.js +57 -39
  184. package/build/components/global-styles/typography-panel.js.map +7 -1
  185. package/build/components/global-styles/typography-preview.js +73 -53
  186. package/build/components/global-styles/typography-preview.js.map +7 -1
  187. package/build/components/global-styles/ui.js +282 -314
  188. package/build/components/global-styles/ui.js.map +7 -1
  189. package/build/components/global-styles/utils.js +45 -31
  190. package/build/components/global-styles/utils.js.map +7 -1
  191. package/build/components/global-styles/variations/variation.js +90 -74
  192. package/build/components/global-styles/variations/variation.js.map +7 -1
  193. package/build/components/global-styles/variations/variations-color.js +52 -41
  194. package/build/components/global-styles/variations/variations-color.js.map +7 -1
  195. package/build/components/global-styles/variations/variations-panel.js +61 -51
  196. package/build/components/global-styles/variations/variations-panel.js.map +7 -1
  197. package/build/components/global-styles/variations/variations-typography.js +69 -49
  198. package/build/components/global-styles/variations/variations-typography.js.map +7 -1
  199. package/build/components/global-styles-renderer/index.js +39 -33
  200. package/build/components/global-styles-renderer/index.js.map +7 -1
  201. package/build/components/global-styles-sidebar/default-sidebar.js +53 -40
  202. package/build/components/global-styles-sidebar/default-sidebar.js.map +7 -1
  203. package/build/components/global-styles-sidebar/index.js +164 -141
  204. package/build/components/global-styles-sidebar/index.js.map +7 -1
  205. package/build/components/layout/animation.js +53 -78
  206. package/build/components/layout/animation.js.map +7 -1
  207. package/build/components/layout/hooks.js +40 -35
  208. package/build/components/layout/hooks.js.map +7 -1
  209. package/build/components/layout/index.js +220 -199
  210. package/build/components/layout/index.js.map +7 -1
  211. package/build/components/media/index.js +31 -26
  212. package/build/components/media/index.js.map +7 -1
  213. package/build/components/more-menu/index.js +45 -28
  214. package/build/components/more-menu/index.js.map +7 -1
  215. package/build/components/more-menu/site-export.js +69 -44
  216. package/build/components/more-menu/site-export.js.map +7 -1
  217. package/build/components/more-menu/welcome-guide-menu-item.js +29 -21
  218. package/build/components/more-menu/welcome-guide-menu-item.js.map +7 -1
  219. package/build/components/page-patterns/actions.js +82 -0
  220. package/build/components/page-patterns/actions.js.map +7 -0
  221. package/build/components/page-patterns/delete-category-menu-item.js +94 -82
  222. package/build/components/page-patterns/delete-category-menu-item.js.map +7 -1
  223. package/build/components/page-patterns/fields.js +135 -123
  224. package/build/components/page-patterns/fields.js.map +7 -1
  225. package/build/components/page-patterns/index.js +182 -148
  226. package/build/components/page-patterns/index.js.map +7 -1
  227. package/build/components/page-patterns/rename-category-menu-item.js +67 -62
  228. package/build/components/page-patterns/rename-category-menu-item.js.map +7 -1
  229. package/build/components/page-patterns/search-items.js +65 -89
  230. package/build/components/page-patterns/search-items.js.map +7 -1
  231. package/build/components/page-patterns/use-pattern-settings.js +45 -35
  232. package/build/components/page-patterns/use-pattern-settings.js.map +7 -1
  233. package/build/components/page-patterns/use-patterns.js +266 -200
  234. package/build/components/page-patterns/use-patterns.js.map +7 -1
  235. package/build/components/page-patterns/utils.js +27 -7
  236. package/build/components/page-patterns/utils.js.map +7 -1
  237. package/build/components/page-templates/fields.js +165 -159
  238. package/build/components/page-templates/fields.js.map +7 -1
  239. package/build/components/page-templates/hooks.js +66 -64
  240. package/build/components/page-templates/hooks.js.map +7 -1
  241. package/build/components/page-templates/index.js +211 -207
  242. package/build/components/page-templates/index.js.map +7 -1
  243. package/build/components/page-templates/view-utils.js +67 -0
  244. package/build/components/page-templates/view-utils.js.map +7 -0
  245. package/build/components/pagination/index.js +119 -82
  246. package/build/components/pagination/index.js.map +7 -1
  247. package/build/components/plugin-template-setting-panel/index.js +49 -56
  248. package/build/components/plugin-template-setting-panel/index.js.map +7 -1
  249. package/build/components/post-edit/index.js +171 -149
  250. package/build/components/post-edit/index.js.map +7 -1
  251. package/build/components/post-list/index.js +230 -301
  252. package/build/components/post-list/index.js.map +7 -1
  253. package/build/components/post-list/view-utils.js +167 -0
  254. package/build/components/post-list/view-utils.js.map +7 -0
  255. package/build/components/posts-app/index.js +44 -32
  256. package/build/components/posts-app/index.js.map +7 -1
  257. package/build/components/posts-app-routes/index.js +36 -25
  258. package/build/components/posts-app-routes/index.js.map +7 -1
  259. package/build/components/posts-app-routes/post-item.js +54 -35
  260. package/build/components/posts-app-routes/post-item.js.map +7 -1
  261. package/build/components/posts-app-routes/posts.js +91 -76
  262. package/build/components/posts-app-routes/posts.js.map +7 -1
  263. package/build/components/resizable-frame/index.js +200 -224
  264. package/build/components/resizable-frame/index.js.map +7 -1
  265. package/build/components/revisions/index.js +102 -71
  266. package/build/components/revisions/index.js.map +7 -1
  267. package/build/components/routes/use-title.js +45 -35
  268. package/build/components/routes/use-title.js.map +7 -1
  269. package/build/components/save-button/index.js +113 -111
  270. package/build/components/save-button/index.js.map +7 -1
  271. package/build/components/save-hub/index.js +52 -40
  272. package/build/components/save-hub/index.js.map +7 -1
  273. package/build/components/save-keyboard-shortcut/index.js +46 -52
  274. package/build/components/save-keyboard-shortcut/index.js.map +7 -1
  275. package/build/components/save-panel/index.js +155 -136
  276. package/build/components/save-panel/index.js.map +7 -1
  277. package/build/components/sidebar/index.js +81 -79
  278. package/build/components/sidebar/index.js.map +7 -1
  279. package/build/components/sidebar-button/index.js +43 -22
  280. package/build/components/sidebar-button/index.js.map +7 -1
  281. package/build/components/sidebar-dataviews/dataview-item.js +68 -55
  282. package/build/components/sidebar-dataviews/dataview-item.js.map +7 -1
  283. package/build/components/sidebar-dataviews/index.js +68 -54
  284. package/build/components/sidebar-dataviews/index.js.map +7 -1
  285. package/build/components/sidebar-global-styles-wrapper/index.js +125 -111
  286. package/build/components/sidebar-global-styles-wrapper/index.js.map +7 -1
  287. package/build/components/sidebar-navigation-item/index.js +79 -62
  288. package/build/components/sidebar-navigation-item/index.js.map +7 -1
  289. package/build/components/sidebar-navigation-screen/index.js +129 -104
  290. package/build/components/sidebar-navigation-screen/index.js.map +7 -1
  291. package/build/components/sidebar-navigation-screen-details-footer/index.js +63 -53
  292. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +7 -1
  293. package/build/components/sidebar-navigation-screen-global-styles/content.js +50 -33
  294. package/build/components/sidebar-navigation-screen-global-styles/content.js.map +7 -1
  295. package/build/components/sidebar-navigation-screen-global-styles/index.js +94 -81
  296. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +7 -1
  297. package/build/components/sidebar-navigation-screen-main/index.js +141 -90
  298. package/build/components/sidebar-navigation-screen-main/index.js.map +7 -1
  299. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +40 -29
  300. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +7 -1
  301. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +124 -91
  302. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +7 -1
  303. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +116 -83
  304. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +7 -1
  305. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +57 -48
  306. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +7 -1
  307. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +80 -66
  308. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +7 -1
  309. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +64 -38
  310. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +7 -1
  311. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +125 -96
  312. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +7 -1
  313. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +33 -19
  314. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +7 -1
  315. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +30 -16
  316. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +7 -1
  317. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +119 -105
  318. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +7 -1
  319. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +130 -121
  320. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +7 -1
  321. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +106 -88
  322. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +7 -1
  323. package/build/components/sidebar-navigation-screen-patterns/category-item.js +44 -21
  324. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +7 -1
  325. package/build/components/sidebar-navigation-screen-patterns/index.js +129 -106
  326. package/build/components/sidebar-navigation-screen-patterns/index.js.map +7 -1
  327. package/build/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js +36 -25
  328. package/build/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +7 -1
  329. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +81 -70
  330. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +7 -1
  331. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +42 -32
  332. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +7 -1
  333. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +41 -28
  334. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +7 -1
  335. package/build/components/sidebar-navigation-screen-templates-browse/content.js +95 -76
  336. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +7 -1
  337. package/build/components/sidebar-navigation-screen-templates-browse/index.js +48 -27
  338. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +7 -1
  339. package/build/components/sidebar-navigation-screen-unsupported/index.js +28 -20
  340. package/build/components/sidebar-navigation-screen-unsupported/index.js.map +7 -1
  341. package/build/components/site-editor-routes/home.js +50 -32
  342. package/build/components/site-editor-routes/home.js.map +7 -1
  343. package/build/components/site-editor-routes/index.js +62 -36
  344. package/build/components/site-editor-routes/index.js.map +7 -1
  345. package/build/components/site-editor-routes/navigation-item.js +55 -49
  346. package/build/components/site-editor-routes/navigation-item.js.map +7 -1
  347. package/build/components/site-editor-routes/navigation.js +55 -49
  348. package/build/components/site-editor-routes/navigation.js.map +7 -1
  349. package/build/components/site-editor-routes/notfound.js +54 -34
  350. package/build/components/site-editor-routes/notfound.js.map +7 -1
  351. package/build/components/site-editor-routes/page-item.js +58 -41
  352. package/build/components/site-editor-routes/page-item.js.map +7 -1
  353. package/build/components/site-editor-routes/pages.js +96 -86
  354. package/build/components/site-editor-routes/pages.js.map +7 -1
  355. package/build/components/site-editor-routes/pattern-item.js +48 -26
  356. package/build/components/site-editor-routes/pattern-item.js.map +7 -1
  357. package/build/components/site-editor-routes/patterns.js +51 -36
  358. package/build/components/site-editor-routes/patterns.js.map +7 -1
  359. package/build/components/site-editor-routes/stylebook.js +60 -43
  360. package/build/components/site-editor-routes/stylebook.js.map +7 -1
  361. package/build/components/site-editor-routes/styles.js +58 -46
  362. package/build/components/site-editor-routes/styles.js.map +7 -1
  363. package/build/components/site-editor-routes/template-item.js +54 -34
  364. package/build/components/site-editor-routes/template-item.js.map +7 -1
  365. package/build/components/site-editor-routes/template-part-item.js +45 -21
  366. package/build/components/site-editor-routes/template-part-item.js.map +7 -1
  367. package/build/components/site-editor-routes/templates.js +69 -44
  368. package/build/components/site-editor-routes/templates.js.map +7 -1
  369. package/build/components/site-editor-routes/utils.js +27 -13
  370. package/build/components/site-editor-routes/utils.js.map +7 -1
  371. package/build/components/site-hub/index.js +233 -222
  372. package/build/components/site-hub/index.js.map +7 -1
  373. package/build/components/site-icon/index.js +61 -49
  374. package/build/components/site-icon/index.js.map +7 -1
  375. package/build/components/style-book/categories.js +61 -52
  376. package/build/components/style-book/categories.js.map +7 -1
  377. package/build/components/style-book/color-examples.js +54 -40
  378. package/build/components/style-book/color-examples.js.map +7 -1
  379. package/build/components/style-book/constants.js +218 -144
  380. package/build/components/style-book/constants.js.map +7 -1
  381. package/build/components/style-book/duotone-examples.js +54 -40
  382. package/build/components/style-book/duotone-examples.js.map +7 -1
  383. package/build/components/style-book/examples.js +145 -120
  384. package/build/components/style-book/examples.js.map +7 -1
  385. package/build/components/style-book/index.js +454 -409
  386. package/build/components/style-book/index.js.map +7 -1
  387. package/build/components/style-book/types.js +16 -5
  388. package/build/components/style-book/types.js.map +7 -1
  389. package/build/components/welcome-guide/editor.js +87 -60
  390. package/build/components/welcome-guide/editor.js.map +7 -1
  391. package/build/components/welcome-guide/image.js +34 -22
  392. package/build/components/welcome-guide/image.js.map +7 -1
  393. package/build/components/welcome-guide/index.js +44 -21
  394. package/build/components/welcome-guide/index.js.map +7 -1
  395. package/build/components/welcome-guide/page.js +76 -52
  396. package/build/components/welcome-guide/page.js.map +7 -1
  397. package/build/components/welcome-guide/styles.js +135 -102
  398. package/build/components/welcome-guide/styles.js.map +7 -1
  399. package/build/components/welcome-guide/template.js +71 -59
  400. package/build/components/welcome-guide/template.js.map +7 -1
  401. package/build/deprecated.js +56 -46
  402. package/build/deprecated.js.map +7 -1
  403. package/build/hooks/commands/use-common-commands.js +117 -119
  404. package/build/hooks/commands/use-common-commands.js.map +7 -1
  405. package/build/hooks/commands/use-set-command-context.js +40 -50
  406. package/build/hooks/commands/use-set-command-context.js.map +7 -1
  407. package/build/hooks/index.js +2 -3
  408. package/build/hooks/index.js.map +7 -1
  409. package/build/hooks/push-changes-to-global-styles/index.js +236 -251
  410. package/build/hooks/push-changes-to-global-styles/index.js.map +7 -1
  411. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +78 -111
  412. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +7 -1
  413. package/build/index.js +87 -112
  414. package/build/index.js.map +7 -1
  415. package/build/lock-unlock.js +31 -14
  416. package/build/lock-unlock.js.map +7 -1
  417. package/build/posts.js +67 -63
  418. package/build/posts.js.map +7 -1
  419. package/build/store/actions.js +199 -365
  420. package/build/store/actions.js.map +7 -1
  421. package/build/store/constants.js +27 -11
  422. package/build/store/constants.js.map +7 -1
  423. package/build/store/index.js +52 -30
  424. package/build/store/index.js.map +7 -1
  425. package/build/store/private-actions.js +34 -19
  426. package/build/store/private-actions.js.map +7 -1
  427. package/build/store/private-selectors.js +28 -13
  428. package/build/store/private-selectors.js.map +7 -1
  429. package/build/store/reducer.js +42 -57
  430. package/build/store/reducer.js.map +7 -1
  431. package/build/store/selectors.js +205 -301
  432. package/build/store/selectors.js.map +7 -1
  433. package/build/utils/constants.js +94 -53
  434. package/build/utils/constants.js.map +7 -1
  435. package/build/utils/get-filtered-template-parts.js +36 -42
  436. package/build/utils/get-filtered-template-parts.js.map +7 -1
  437. package/build/utils/is-previewing-theme.js +31 -13
  438. package/build/utils/is-previewing-theme.js.map +7 -1
  439. package/build/utils/is-template-removable.js +24 -17
  440. package/build/utils/is-template-removable.js.map +7 -1
  441. package/build/utils/is-template-revertable.js +24 -19
  442. package/build/utils/is-template-revertable.js.map +7 -1
  443. package/build/utils/set-nested-value.js +24 -25
  444. package/build/utils/set-nested-value.js.map +7 -1
  445. package/build/utils/template-part-create.js +1 -1
  446. package/build/utils/template-part-create.js.map +7 -1
  447. package/build/utils/use-activate-theme.js +40 -45
  448. package/build/utils/use-activate-theme.js.map +7 -1
  449. package/build/utils/use-actual-current-theme.js +47 -25
  450. package/build/utils/use-actual-current-theme.js.map +7 -1
  451. package/build-module/components/add-new-pattern/index.js +133 -127
  452. package/build-module/components/add-new-pattern/index.js.map +7 -1
  453. package/build-module/components/add-new-post/index.js +100 -82
  454. package/build-module/components/add-new-post/index.js.map +7 -1
  455. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +63 -51
  456. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +7 -1
  457. package/build-module/components/add-new-template/add-custom-template-modal-content.js +269 -196
  458. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +7 -1
  459. package/build-module/components/add-new-template/index.js +289 -219
  460. package/build-module/components/add-new-template/index.js.map +7 -1
  461. package/build-module/components/add-new-template/utils.js +430 -432
  462. package/build-module/components/add-new-template/utils.js.map +7 -1
  463. package/build-module/components/app/index.js +41 -51
  464. package/build-module/components/app/index.js.map +7 -1
  465. package/build-module/components/block-editor/use-editor-iframe-props.js +33 -58
  466. package/build-module/components/block-editor/use-editor-iframe-props.js.map +7 -1
  467. package/build-module/components/block-editor/use-navigate-to-entity-record.js +17 -18
  468. package/build-module/components/block-editor/use-navigate-to-entity-record.js.map +7 -1
  469. package/build-module/components/block-editor/use-site-editor-settings.js +28 -41
  470. package/build-module/components/block-editor/use-site-editor-settings.js.map +7 -1
  471. package/build-module/components/canvas-loader/index.js +25 -50
  472. package/build-module/components/canvas-loader/index.js.map +7 -1
  473. package/build-module/components/dataviews-actions/index.js +75 -78
  474. package/build-module/components/dataviews-actions/index.js.map +7 -1
  475. package/build-module/components/editor/index.js +261 -220
  476. package/build-module/components/editor/index.js.map +7 -1
  477. package/build-module/components/editor/site-preview.js +38 -38
  478. package/build-module/components/editor/site-preview.js.map +7 -1
  479. package/build-module/components/editor/use-adapt-editor-to-canvas.js +25 -24
  480. package/build-module/components/editor/use-adapt-editor-to-canvas.js.map +7 -1
  481. package/build-module/components/editor/use-editor-title.js +49 -53
  482. package/build-module/components/editor/use-editor-title.js.map +7 -1
  483. package/build-module/components/editor/use-resolve-edited-entity.js +89 -129
  484. package/build-module/components/editor/use-resolve-edited-entity.js.map +7 -1
  485. package/build-module/components/editor-canvas-container/index.js +79 -80
  486. package/build-module/components/editor-canvas-container/index.js.map +7 -1
  487. package/build-module/components/global-styles/background-panel.js +25 -35
  488. package/build-module/components/global-styles/background-panel.js.map +7 -1
  489. package/build-module/components/global-styles/block-preview-panel.js +36 -43
  490. package/build-module/components/global-styles/block-preview-panel.js.map +7 -1
  491. package/build-module/components/global-styles/color-indicator-wrapper.js +19 -20
  492. package/build-module/components/global-styles/color-indicator-wrapper.js.map +7 -1
  493. package/build-module/components/global-styles/color-palette-panel.js +105 -74
  494. package/build-module/components/global-styles/color-palette-panel.js.map +7 -1
  495. package/build-module/components/global-styles/confirm-reset-shadow-dialog.js +20 -17
  496. package/build-module/components/global-styles/confirm-reset-shadow-dialog.js.map +7 -1
  497. package/build-module/components/global-styles/dimensions-panel.js +26 -34
  498. package/build-module/components/global-styles/dimensions-panel.js.map +7 -1
  499. package/build-module/components/global-styles/font-families.js +86 -93
  500. package/build-module/components/global-styles/font-families.js.map +7 -1
  501. package/build-module/components/global-styles/font-family-item.js +26 -37
  502. package/build-module/components/global-styles/font-family-item.js.map +7 -1
  503. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +26 -32
  504. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +7 -1
  505. package/build-module/components/global-styles/font-library-modal/context.js +203 -224
  506. package/build-module/components/global-styles/font-library-modal/context.js.map +7 -1
  507. package/build-module/components/global-styles/font-library-modal/font-card.js +48 -52
  508. package/build-module/components/global-styles/font-library-modal/font-card.js.map +7 -1
  509. package/build-module/components/global-styles/font-library-modal/font-collection.js +397 -302
  510. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +7 -1
  511. package/build-module/components/global-styles/font-library-modal/font-demo.js +32 -38
  512. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +7 -1
  513. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +41 -39
  514. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +7 -1
  515. package/build-module/components/global-styles/font-library-modal/index.js +65 -81
  516. package/build-module/components/global-styles/font-library-modal/index.js.map +7 -1
  517. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +354 -243
  518. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +7 -1
  519. package/build-module/components/global-styles/font-library-modal/library-font-details.js +35 -36
  520. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +7 -1
  521. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +35 -42
  522. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +7 -1
  523. package/build-module/components/global-styles/font-library-modal/resolvers.js +27 -20
  524. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +7 -1
  525. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +111 -135
  526. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +7 -1
  527. package/build-module/components/global-styles/font-library-modal/utils/constants.js +21 -19
  528. package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +7 -1
  529. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +13 -24
  530. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +7 -1
  531. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +20 -10
  532. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +7 -1
  533. package/build-module/components/global-styles/font-library-modal/utils/index.js +102 -154
  534. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +7 -1
  535. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +8 -14
  536. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +7 -1
  537. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +34 -71
  538. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +7 -1
  539. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js +11 -13
  540. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +7 -1
  541. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +22 -69
  542. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +7 -1
  543. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +26 -18
  544. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +7 -1
  545. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +20 -17
  546. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +7 -1
  547. package/build-module/components/global-styles/font-sizes/font-size-preview.js +26 -29
  548. package/build-module/components/global-styles/font-sizes/font-size-preview.js.map +7 -1
  549. package/build-module/components/global-styles/font-sizes/font-size.js +185 -160
  550. package/build-module/components/global-styles/font-sizes/font-size.js.map +7 -1
  551. package/build-module/components/global-styles/font-sizes/font-sizes-count.js +23 -39
  552. package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +7 -1
  553. package/build-module/components/global-styles/font-sizes/font-sizes.js +184 -128
  554. package/build-module/components/global-styles/font-sizes/font-sizes.js.map +7 -1
  555. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js +68 -52
  556. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js.map +7 -1
  557. package/build-module/components/global-styles/gradients-palette-panel.js +117 -79
  558. package/build-module/components/global-styles/gradients-palette-panel.js.map +7 -1
  559. package/build-module/components/global-styles/header.js +40 -43
  560. package/build-module/components/global-styles/header.js.map +7 -1
  561. package/build-module/components/global-styles/highlighted-colors.js +31 -36
  562. package/build-module/components/global-styles/highlighted-colors.js.map +7 -1
  563. package/build-module/components/global-styles/hooks.js +56 -61
  564. package/build-module/components/global-styles/hooks.js.map +7 -1
  565. package/build-module/components/global-styles/icon-with-current-color.js +18 -19
  566. package/build-module/components/global-styles/icon-with-current-color.js.map +7 -1
  567. package/build-module/components/global-styles/index.js +5 -2
  568. package/build-module/components/global-styles/index.js.map +7 -1
  569. package/build-module/components/global-styles/navigation-button.js +23 -37
  570. package/build-module/components/global-styles/navigation-button.js.map +7 -1
  571. package/build-module/components/global-styles/palette.js +61 -67
  572. package/build-module/components/global-styles/palette.js.map +7 -1
  573. package/build-module/components/global-styles/preset-colors.js +19 -20
  574. package/build-module/components/global-styles/preset-colors.js.map +7 -1
  575. package/build-module/components/global-styles/preview-colors.js +43 -40
  576. package/build-module/components/global-styles/preview-colors.js.map +7 -1
  577. package/build-module/components/global-styles/preview-styles.js +158 -130
  578. package/build-module/components/global-styles/preview-styles.js.map +7 -1
  579. package/build-module/components/global-styles/preview-typography.js +37 -38
  580. package/build-module/components/global-styles/preview-typography.js.map +7 -1
  581. package/build-module/components/global-styles/preview-wrapper.js +51 -75
  582. package/build-module/components/global-styles/preview-wrapper.js.map +7 -1
  583. package/build-module/components/global-styles/root-menu.js +38 -44
  584. package/build-module/components/global-styles/root-menu.js.map +7 -1
  585. package/build-module/components/global-styles/screen-background.js +26 -29
  586. package/build-module/components/global-styles/screen-background.js.map +7 -1
  587. package/build-module/components/global-styles/screen-block-list.js +105 -105
  588. package/build-module/components/global-styles/screen-block-list.js.map +7 -1
  589. package/build-module/components/global-styles/screen-block.js +156 -169
  590. package/build-module/components/global-styles/screen-block.js.map +7 -1
  591. package/build-module/components/global-styles/screen-color-palette.js +33 -50
  592. package/build-module/components/global-styles/screen-color-palette.js.map +7 -1
  593. package/build-module/components/global-styles/screen-colors.js +35 -33
  594. package/build-module/components/global-styles/screen-colors.js.map +7 -1
  595. package/build-module/components/global-styles/screen-css.js +52 -44
  596. package/build-module/components/global-styles/screen-css.js.map +7 -1
  597. package/build-module/components/global-styles/screen-layout.js +17 -26
  598. package/build-module/components/global-styles/screen-layout.js.map +7 -1
  599. package/build-module/components/global-styles/screen-revisions/index.js +117 -105
  600. package/build-module/components/global-styles/screen-revisions/index.js.map +7 -1
  601. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +145 -158
  602. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +7 -1
  603. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +74 -75
  604. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +7 -1
  605. package/build-module/components/global-styles/screen-root.js +74 -77
  606. package/build-module/components/global-styles/screen-root.js.map +7 -1
  607. package/build-module/components/global-styles/screen-shadows.js +12 -11
  608. package/build-module/components/global-styles/screen-shadows.js.map +7 -1
  609. package/build-module/components/global-styles/screen-style-variations.js +38 -37
  610. package/build-module/components/global-styles/screen-style-variations.js.map +7 -1
  611. package/build-module/components/global-styles/screen-typography-element.js +122 -87
  612. package/build-module/components/global-styles/screen-typography-element.js.map +7 -1
  613. package/build-module/components/global-styles/screen-typography.js +36 -34
  614. package/build-module/components/global-styles/screen-typography.js.map +7 -1
  615. package/build-module/components/global-styles/shadow-utils.js +53 -176
  616. package/build-module/components/global-styles/shadow-utils.js.map +7 -1
  617. package/build-module/components/global-styles/shadows-edit-panel.js +426 -344
  618. package/build-module/components/global-styles/shadows-edit-panel.js.map +7 -1
  619. package/build-module/components/global-styles/shadows-panel.js +159 -124
  620. package/build-module/components/global-styles/shadows-panel.js.map +7 -1
  621. package/build-module/components/global-styles/size-control/index.js +57 -70
  622. package/build-module/components/global-styles/size-control/index.js.map +7 -1
  623. package/build-module/components/global-styles/style-variations-container.js +85 -95
  624. package/build-module/components/global-styles/style-variations-container.js.map +7 -1
  625. package/build-module/components/global-styles/subtitle.js +16 -16
  626. package/build-module/components/global-styles/subtitle.js.map +7 -1
  627. package/build-module/components/global-styles/typeset.js +50 -65
  628. package/build-module/components/global-styles/typeset.js.map +7 -1
  629. package/build-module/components/global-styles/typography-elements.js +86 -80
  630. package/build-module/components/global-styles/typography-elements.js.map +7 -1
  631. package/build-module/components/global-styles/typography-example.js +45 -57
  632. package/build-module/components/global-styles/typography-example.js.map +7 -1
  633. package/build-module/components/global-styles/typography-panel.js +38 -33
  634. package/build-module/components/global-styles/typography-panel.js.map +7 -1
  635. package/build-module/components/global-styles/typography-preview.js +55 -48
  636. package/build-module/components/global-styles/typography-preview.js.map +7 -1
  637. package/build-module/components/global-styles/ui.js +252 -295
  638. package/build-module/components/global-styles/ui.js.map +7 -1
  639. package/build-module/components/global-styles/utils.js +24 -28
  640. package/build-module/components/global-styles/utils.js.map +7 -1
  641. package/build-module/components/global-styles/variations/variation.js +59 -65
  642. package/build-module/components/global-styles/variations/variation.js.map +7 -1
  643. package/build-module/components/global-styles/variations/variations-color.js +26 -34
  644. package/build-module/components/global-styles/variations/variations-color.js.map +7 -1
  645. package/build-module/components/global-styles/variations/variations-panel.js +39 -46
  646. package/build-module/components/global-styles/variations/variations-panel.js.map +7 -1
  647. package/build-module/components/global-styles/variations/variations-typography.js +43 -42
  648. package/build-module/components/global-styles/variations/variations-typography.js.map +7 -1
  649. package/build-module/components/global-styles-renderer/index.js +16 -27
  650. package/build-module/components/global-styles-renderer/index.js.map +7 -1
  651. package/build-module/components/global-styles-sidebar/default-sidebar.js +36 -36
  652. package/build-module/components/global-styles-sidebar/default-sidebar.js.map +7 -1
  653. package/build-module/components/global-styles-sidebar/index.js +137 -133
  654. package/build-module/components/global-styles-sidebar/index.js.map +7 -1
  655. package/build-module/components/layout/animation.js +31 -69
  656. package/build-module/components/layout/animation.js.map +7 -1
  657. package/build-module/components/layout/hooks.js +16 -28
  658. package/build-module/components/layout/hooks.js.map +7 -1
  659. package/build-module/components/layout/index.js +199 -183
  660. package/build-module/components/layout/index.js.map +7 -1
  661. package/build-module/components/media/index.js +13 -21
  662. package/build-module/components/media/index.js.map +7 -1
  663. package/build-module/components/more-menu/index.js +18 -23
  664. package/build-module/components/more-menu/index.js.map +7 -1
  665. package/build-module/components/more-menu/site-export.js +41 -38
  666. package/build-module/components/more-menu/site-export.js.map +7 -1
  667. package/build-module/components/more-menu/welcome-guide-menu-item.js +12 -17
  668. package/build-module/components/more-menu/welcome-guide-menu-item.js.map +7 -1
  669. package/build-module/components/page-patterns/actions.js +52 -0
  670. package/build-module/components/page-patterns/actions.js.map +7 -0
  671. package/build-module/components/page-patterns/delete-category-menu-item.js +78 -76
  672. package/build-module/components/page-patterns/delete-category-menu-item.js.map +7 -1
  673. package/build-module/components/page-patterns/fields.js +103 -112
  674. package/build-module/components/page-patterns/fields.js.map +7 -1
  675. package/build-module/components/page-patterns/index.js +144 -120
  676. package/build-module/components/page-patterns/index.js.map +7 -1
  677. package/build-module/components/page-patterns/rename-category-menu-item.js +37 -53
  678. package/build-module/components/page-patterns/rename-category-menu-item.js.map +7 -1
  679. package/build-module/components/page-patterns/search-items.js +43 -77
  680. package/build-module/components/page-patterns/search-items.js.map +7 -1
  681. package/build-module/components/page-patterns/use-pattern-settings.js +27 -30
  682. package/build-module/components/page-patterns/use-pattern-settings.js.map +7 -1
  683. package/build-module/components/page-patterns/use-patterns.js +249 -192
  684. package/build-module/components/page-patterns/use-patterns.js.map +7 -1
  685. package/build-module/components/page-patterns/utils.js +5 -2
  686. package/build-module/components/page-patterns/utils.js.map +7 -1
  687. package/build-module/components/page-templates/fields.js +132 -147
  688. package/build-module/components/page-templates/fields.js.map +7 -1
  689. package/build-module/components/page-templates/hooks.js +44 -55
  690. package/build-module/components/page-templates/hooks.js.map +7 -1
  691. package/build-module/components/page-templates/index.js +189 -194
  692. package/build-module/components/page-templates/index.js.map +7 -1
  693. package/build-module/components/page-templates/view-utils.js +42 -0
  694. package/build-module/components/page-templates/view-utils.js.map +7 -0
  695. package/build-module/components/pagination/index.js +96 -77
  696. package/build-module/components/pagination/index.js.map +7 -1
  697. package/build-module/components/plugin-template-setting-panel/index.js +21 -50
  698. package/build-module/components/plugin-template-setting-panel/index.js.map +7 -1
  699. package/build-module/components/post-edit/index.js +136 -140
  700. package/build-module/components/post-edit/index.js.map +7 -1
  701. package/build-module/components/post-list/index.js +205 -291
  702. package/build-module/components/post-list/index.js.map +7 -1
  703. package/build-module/components/post-list/view-utils.js +149 -0
  704. package/build-module/components/post-list/view-utils.js.map +7 -0
  705. package/build-module/components/posts-app/index.js +15 -25
  706. package/build-module/components/posts-app/index.js.map +7 -1
  707. package/build-module/components/posts-app-routes/index.js +12 -18
  708. package/build-module/components/posts-app-routes/index.js.map +7 -1
  709. package/build-module/components/posts-app-routes/post-item.js +22 -29
  710. package/build-module/components/posts-app-routes/post-item.js.map +7 -1
  711. package/build-module/components/posts-app-routes/posts.js +59 -70
  712. package/build-module/components/posts-app-routes/posts.js.map +7 -1
  713. package/build-module/components/resizable-frame/index.js +169 -211
  714. package/build-module/components/resizable-frame/index.js.map +7 -1
  715. package/build-module/components/revisions/index.js +78 -64
  716. package/build-module/components/revisions/index.js.map +7 -1
  717. package/build-module/components/routes/use-title.js +25 -28
  718. package/build-module/components/routes/use-title.js.map +7 -1
  719. package/build-module/components/save-button/index.js +99 -104
  720. package/build-module/components/save-button/index.js.map +7 -1
  721. package/build-module/components/save-hub/index.js +23 -33
  722. package/build-module/components/save-hub/index.js.map +7 -1
  723. package/build-module/components/save-keyboard-shortcut/index.js +31 -47
  724. package/build-module/components/save-keyboard-shortcut/index.js.map +7 -1
  725. package/build-module/components/save-panel/index.js +125 -124
  726. package/build-module/components/save-panel/index.js.map +7 -1
  727. package/build-module/components/sidebar/index.js +47 -65
  728. package/build-module/components/sidebar/index.js.map +7 -1
  729. package/build-module/components/sidebar-button/index.js +16 -17
  730. package/build-module/components/sidebar-button/index.js.map +7 -1
  731. package/build-module/components/sidebar-dataviews/dataview-item.js +41 -50
  732. package/build-module/components/sidebar-dataviews/dataview-item.js.map +7 -1
  733. package/build-module/components/sidebar-dataviews/index.js +40 -48
  734. package/build-module/components/sidebar-dataviews/index.js.map +7 -1
  735. package/build-module/components/sidebar-global-styles-wrapper/index.js +100 -104
  736. package/build-module/components/sidebar-global-styles-wrapper/index.js.map +7 -1
  737. package/build-module/components/sidebar-navigation-item/index.js +56 -57
  738. package/build-module/components/sidebar-navigation-item/index.js.map +7 -1
  739. package/build-module/components/sidebar-navigation-screen/index.js +108 -98
  740. package/build-module/components/sidebar-navigation-screen/index.js.map +7 -1
  741. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +36 -48
  742. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +7 -1
  743. package/build-module/components/sidebar-navigation-screen-global-styles/content.js +23 -28
  744. package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +7 -1
  745. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +61 -73
  746. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +7 -1
  747. package/build-module/components/sidebar-navigation-screen-main/index.js +108 -82
  748. package/build-module/components/sidebar-navigation-screen-main/index.js.map +7 -1
  749. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +22 -24
  750. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +7 -1
  751. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +92 -84
  752. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +7 -1
  753. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +87 -76
  754. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +7 -1
  755. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +28 -41
  756. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +7 -1
  757. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +67 -60
  758. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +7 -1
  759. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +37 -32
  760. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +7 -1
  761. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +107 -91
  762. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +7 -1
  763. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +14 -14
  764. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +7 -1
  765. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +8 -12
  766. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +7 -1
  767. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +89 -98
  768. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +7 -1
  769. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +113 -117
  770. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +7 -1
  771. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +82 -82
  772. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +7 -1
  773. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +17 -16
  774. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +7 -1
  775. package/build-module/components/sidebar-navigation-screen-patterns/index.js +108 -99
  776. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +7 -1
  777. package/build-module/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js +19 -21
  778. package/build-module/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +7 -1
  779. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +53 -59
  780. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +7 -1
  781. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +27 -27
  782. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +7 -1
  783. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +24 -24
  784. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +7 -1
  785. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +67 -70
  786. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +7 -1
  787. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +20 -21
  788. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +7 -1
  789. package/build-module/components/sidebar-navigation-screen-unsupported/index.js +11 -16
  790. package/build-module/components/sidebar-navigation-screen-unsupported/index.js.map +7 -1
  791. package/build-module/components/site-editor-routes/home.js +18 -26
  792. package/build-module/components/site-editor-routes/home.js.map +7 -1
  793. package/build-module/components/site-editor-routes/index.js +39 -30
  794. package/build-module/components/site-editor-routes/index.js.map +7 -1
  795. package/build-module/components/site-editor-routes/navigation-item.js +23 -43
  796. package/build-module/components/site-editor-routes/navigation-item.js.map +7 -1
  797. package/build-module/components/site-editor-routes/navigation.js +23 -43
  798. package/build-module/components/site-editor-routes/navigation.js.map +7 -1
  799. package/build-module/components/site-editor-routes/notfound.js +22 -28
  800. package/build-module/components/site-editor-routes/notfound.js.map +7 -1
  801. package/build-module/components/site-editor-routes/page-item.js +26 -35
  802. package/build-module/components/site-editor-routes/page-item.js.map +7 -1
  803. package/build-module/components/site-editor-routes/pages.js +64 -80
  804. package/build-module/components/site-editor-routes/pages.js.map +7 -1
  805. package/build-module/components/site-editor-routes/pattern-item.js +16 -20
  806. package/build-module/components/site-editor-routes/pattern-item.js.map +7 -1
  807. package/build-module/components/site-editor-routes/patterns.js +19 -30
  808. package/build-module/components/site-editor-routes/patterns.js.map +7 -1
  809. package/build-module/components/site-editor-routes/stylebook.js +28 -37
  810. package/build-module/components/site-editor-routes/stylebook.js.map +7 -1
  811. package/build-module/components/site-editor-routes/styles.js +26 -40
  812. package/build-module/components/site-editor-routes/styles.js.map +7 -1
  813. package/build-module/components/site-editor-routes/template-item.js +21 -28
  814. package/build-module/components/site-editor-routes/template-item.js.map +7 -1
  815. package/build-module/components/site-editor-routes/template-part-item.js +13 -15
  816. package/build-module/components/site-editor-routes/template-part-item.js.map +7 -1
  817. package/build-module/components/site-editor-routes/templates.js +37 -38
  818. package/build-module/components/site-editor-routes/templates.js.map +7 -1
  819. package/build-module/components/site-editor-routes/utils.js +6 -10
  820. package/build-module/components/site-editor-routes/utils.js.map +7 -1
  821. package/build-module/components/site-hub/index.js +204 -215
  822. package/build-module/components/site-hub/index.js.map +7 -1
  823. package/build-module/components/site-icon/index.js +33 -43
  824. package/build-module/components/site-icon/index.js.map +7 -1
  825. package/build-module/components/style-book/categories.js +41 -48
  826. package/build-module/components/style-book/categories.js.map +7 -1
  827. package/build-module/components/style-book/color-examples.js +29 -37
  828. package/build-module/components/style-book/color-examples.js.map +7 -1
  829. package/build-module/components/style-book/constants.js +191 -140
  830. package/build-module/components/style-book/constants.js.map +7 -1
  831. package/build-module/components/style-book/duotone-examples.js +36 -35
  832. package/build-module/components/style-book/duotone-examples.js.map +7 -1
  833. package/build-module/components/style-book/examples.js +114 -116
  834. package/build-module/components/style-book/examples.js.map +7 -1
  835. package/build-module/components/style-book/index.js +431 -384
  836. package/build-module/components/style-book/index.js.map +7 -1
  837. package/build-module/components/style-book/types.js +1 -2
  838. package/build-module/components/style-book/types.js.map +7 -1
  839. package/build-module/components/welcome-guide/editor.js +59 -54
  840. package/build-module/components/welcome-guide/editor.js.map +7 -1
  841. package/build-module/components/welcome-guide/image.js +16 -18
  842. package/build-module/components/welcome-guide/image.js.map +7 -1
  843. package/build-module/components/welcome-guide/index.js +16 -15
  844. package/build-module/components/welcome-guide/index.js.map +7 -1
  845. package/build-module/components/welcome-guide/page.js +59 -48
  846. package/build-module/components/welcome-guide/page.js.map +7 -1
  847. package/build-module/components/welcome-guide/styles.js +108 -97
  848. package/build-module/components/welcome-guide/styles.js.map +7 -1
  849. package/build-module/components/welcome-guide/template.js +54 -55
  850. package/build-module/components/welcome-guide/template.js.map +7 -1
  851. package/build-module/deprecated.js +28 -40
  852. package/build-module/deprecated.js.map +7 -1
  853. package/build-module/hooks/commands/use-common-commands.js +89 -108
  854. package/build-module/hooks/commands/use-common-commands.js.map +7 -1
  855. package/build-module/hooks/commands/use-set-command-context.js +21 -44
  856. package/build-module/hooks/commands/use-set-command-context.js.map +7 -1
  857. package/build-module/hooks/index.js +2 -5
  858. package/build-module/hooks/index.js.map +7 -1
  859. package/build-module/hooks/push-changes-to-global-styles/index.js +218 -243
  860. package/build-module/hooks/push-changes-to-global-styles/index.js.map +7 -1
  861. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +56 -105
  862. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +7 -1
  863. package/build-module/index.js +55 -69
  864. package/build-module/index.js.map +7 -1
  865. package/build-module/lock-unlock.js +8 -7
  866. package/build-module/lock-unlock.js.map +7 -1
  867. package/build-module/posts.js +38 -54
  868. package/build-module/posts.js.map +7 -1
  869. package/build-module/store/actions.js +140 -320
  870. package/build-module/store/actions.js.map +7 -1
  871. package/build-module/store/constants.js +5 -7
  872. package/build-module/store/constants.js.map +7 -1
  873. package/build-module/store/index.js +15 -18
  874. package/build-module/store/index.js.map +7 -1
  875. package/build-module/store/private-actions.js +12 -14
  876. package/build-module/store/private-actions.js.map +7 -1
  877. package/build-module/store/private-selectors.js +7 -10
  878. package/build-module/store/private-selectors.js.map +7 -1
  879. package/build-module/store/reducer.js +21 -53
  880. package/build-module/store/reducer.js.map +7 -1
  881. package/build-module/store/selectors.js +151 -278
  882. package/build-module/store/selectors.js.map +7 -1
  883. package/build-module/utils/constants.js +53 -44
  884. package/build-module/utils/constants.js.map +7 -1
  885. package/build-module/utils/get-filtered-template-parts.js +18 -37
  886. package/build-module/utils/get-filtered-template-parts.js.map +7 -1
  887. package/build-module/utils/is-previewing-theme.js +10 -9
  888. package/build-module/utils/is-previewing-theme.js.map +7 -1
  889. package/build-module/utils/is-template-removable.js +6 -13
  890. package/build-module/utils/is-template-removable.js.map +7 -1
  891. package/build-module/utils/is-template-revertable.js +6 -15
  892. package/build-module/utils/is-template-revertable.js.map +7 -1
  893. package/build-module/utils/set-nested-value.js +7 -22
  894. package/build-module/utils/set-nested-value.js.map +7 -1
  895. package/build-module/utils/template-part-create.js +1 -2
  896. package/build-module/utils/template-part-create.js.map +7 -1
  897. package/build-module/utils/use-activate-theme.js +21 -40
  898. package/build-module/utils/use-activate-theme.js.map +7 -1
  899. package/build-module/utils/use-actual-current-theme.js +13 -17
  900. package/build-module/utils/use-actual-current-theme.js.map +7 -1
  901. package/build-style/posts-rtl.css +484 -214
  902. package/build-style/posts.css +484 -214
  903. package/build-style/style-rtl.css +629 -271
  904. package/build-style/style.css +629 -271
  905. package/package.json +52 -42
  906. package/src/components/add-new-template/index.js +5 -3
  907. package/src/components/add-new-template/style.scss +4 -0
  908. package/src/components/dataviews-actions/index.js +16 -9
  909. package/src/components/editor/style.scss +3 -0
  910. package/src/components/editor/use-resolve-edited-entity.js +4 -18
  911. package/src/components/editor-canvas-container/style.scss +4 -1
  912. package/src/components/global-styles/font-library-modal/style.scss +4 -0
  913. package/src/components/global-styles/screen-revisions/style.scss +4 -0
  914. package/src/components/global-styles/style.scss +3 -0
  915. package/src/components/global-styles/variations/style.scss +3 -0
  916. package/src/components/global-styles-sidebar/style.scss +3 -0
  917. package/src/components/layout/index.js +2 -1
  918. package/src/components/layout/style.scss +5 -0
  919. package/src/components/page-patterns/actions.js +54 -0
  920. package/src/components/page-patterns/index.js +79 -32
  921. package/src/components/page-patterns/style.scss +4 -0
  922. package/src/components/page-templates/fields.js +22 -1
  923. package/src/components/page-templates/index.js +71 -104
  924. package/src/components/page-templates/style.scss +4 -0
  925. package/src/components/page-templates/view-utils.js +41 -0
  926. package/src/components/pagination/style.scss +2 -0
  927. package/src/components/post-edit/index.js +4 -3
  928. package/src/components/post-edit/style.scss +3 -6
  929. package/src/components/post-list/index.js +76 -188
  930. package/src/components/post-list/style.scss +3 -0
  931. package/src/components/post-list/view-utils.js +155 -0
  932. package/src/components/posts-app-routes/posts.js +29 -16
  933. package/src/components/resizable-frame/style.scss +3 -0
  934. package/src/components/save-hub/style.scss +3 -0
  935. package/src/components/save-panel/index.js +2 -2
  936. package/src/components/save-panel/style.scss +2 -0
  937. package/src/components/sidebar/style.scss +4 -0
  938. package/src/components/sidebar-button/style.scss +2 -0
  939. package/src/components/sidebar-dataviews/dataview-item.js +5 -11
  940. package/src/components/sidebar-dataviews/index.js +17 -17
  941. package/src/components/sidebar-dataviews/style.scss +2 -16
  942. package/src/components/sidebar-global-styles-wrapper/index.js +16 -21
  943. package/src/components/sidebar-global-styles-wrapper/style.scss +4 -30
  944. package/src/components/sidebar-navigation-item/style.scss +3 -0
  945. package/src/components/sidebar-navigation-screen/style.scss +5 -0
  946. package/src/components/sidebar-navigation-screen-main/style.scss +2 -0
  947. package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +2 -0
  948. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +3 -0
  949. package/src/components/sidebar-navigation-screen-patterns/style.scss +3 -0
  950. package/src/components/sidebar-navigation-screen-templates-browse/style.scss +2 -0
  951. package/src/components/site-editor-routes/pages.js +29 -16
  952. package/src/components/site-editor-routes/templates.js +21 -4
  953. package/src/components/site-hub/style.scss +3 -0
  954. package/src/components/site-icon/style.scss +3 -0
  955. package/src/components/style-book/style.scss +3 -0
  956. package/src/components/welcome-guide/style.scss +2 -0
  957. package/src/posts.scss +14 -11
  958. package/src/style.scss +42 -39
  959. package/tsconfig.json +2 -0
  960. package/tsconfig.tsbuildinfo +1 -1
  961. package/build/components/page/header.js +0 -45
  962. package/build/components/page/header.js.map +0 -1
  963. package/build/components/page/index.js +0 -50
  964. package/build/components/page/index.js.map +0 -1
  965. package/build/components/page-patterns/header.js +0 -96
  966. package/build/components/page-patterns/header.js.map +0 -1
  967. package/build/components/sidebar-dataviews/add-new-view.js +0 -137
  968. package/build/components/sidebar-dataviews/add-new-view.js.map +0 -1
  969. package/build/components/sidebar-dataviews/custom-dataviews-list.js +0 -211
  970. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +0 -1
  971. package/build/components/sidebar-dataviews/default-views.js +0 -141
  972. package/build/components/sidebar-dataviews/default-views.js.map +0 -1
  973. package/build-module/components/page/header.js +0 -40
  974. package/build-module/components/page/header.js.map +0 -1
  975. package/build-module/components/page/index.js +0 -42
  976. package/build-module/components/page/index.js.map +0 -1
  977. package/build-module/components/page-patterns/header.js +0 -88
  978. package/build-module/components/page-patterns/header.js.map +0 -1
  979. package/build-module/components/sidebar-dataviews/add-new-view.js +0 -129
  980. package/build-module/components/sidebar-dataviews/add-new-view.js.map +0 -1
  981. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +0 -202
  982. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +0 -1
  983. package/build-module/components/sidebar-dataviews/default-views.js +0 -133
  984. package/build-module/components/sidebar-dataviews/default-views.js.map +0 -1
  985. package/src/components/page/header.js +0 -44
  986. package/src/components/page/index.js +0 -43
  987. package/src/components/page/style.scss +0 -56
  988. package/src/components/page-patterns/header.js +0 -120
  989. package/src/components/sidebar-dataviews/add-new-view.js +0 -143
  990. package/src/components/sidebar-dataviews/custom-dataviews-list.js +0 -233
  991. package/src/components/sidebar-dataviews/default-views.js +0 -168
@@ -1 +1,7 @@
1
- {"version":3,"names":["useSelect","store","coreStore","decodeEntities","useMemo","useCallback","__","_x","sprintf","blockMeta","post","archive","safeDecodeURI","TEMPLATE_POST_TYPE","EMPTY_OBJECT","getValueFromObjectPath","object","path","value","split","forEach","fieldName","prefixSlug","prefix","slug","mapToIHasNameAndId","entities","map","entity","name","useExistingTemplates","select","getEntityRecords","per_page","useDefaultTemplateTypes","getCurrentTheme","default_template_types","usePublicPostTypes","postTypes","getPostTypes","excludedPostTypes","filter","viewable","includes","sort","a","b","localeCompare","usePublicTaxonomies","taxonomies","getTaxonomies","visibility","publicly_queryable","usePostTypeArchiveMenuItems","publicPostTypes","postTypesWithArchives","postType","has_archive","existingTemplates","postTypeLabels","reduce","accumulator","labels","singularName","singular_name","toLowerCase","needsUniqueIdentifier","some","existingTemplate","title","description","icon","startsWith","slice","templatePrefix","usePostTypeMenuItems","onClickMenuItem","defaultTemplateTypes","templateLabels","templateName","template_name","templatePrefixes","suffix","postTypesInfo","useEntitiesInfo","menuItems","generalTemplateSlug","defaultTemplateType","find","_slug","_needsUniqueIdentifier","menuItemTitle","menuItem","hasEntities","onClick","template","type","config","recordNamePath","queryArgs","search","_fields","orderBy","exclude","existingEntitiesIds","getSpecificTemplate","suggestion","templateSlug","push","postTypesMenuItems","key","defaultPostTypesMenuItems","useTaxonomiesMenuItems","publicTaxonomies","taxonomyLabels","taxonomiesInfo","existingTemplateSlugs","taxonomy","hasGeneralTemplate","taxonomiesMenuItems","defaultTaxonomiesMenuItems","USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX","user","USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS","who","useAuthorMenuItem","authorInfo","authorMenuItem","search_items","not_found","all_items","entityName","additionalQueryParameters","entitiesHasRecords","Object","keys","context","length","entitiesInfo"],"sources":["@wordpress/edit-site/src/components/add-new-template/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { blockMeta, post, archive } from '@wordpress/icons';\nimport { safeDecodeURI } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nconst EMPTY_OBJECT = {};\n\n/**\n * @typedef IHasNameAndId\n * @property {string|number} id The entity's id.\n * @property {string} name The entity's name.\n */\n\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.split( '.' ).forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\n/**\n * Helper that adds a prefix to a post slug. The slug needs to be URL-decoded first,\n * so that we have raw Unicode characters there. The server will truncate the slug to\n * 200 characters, respecing Unicode char boundary. On the other hand, the server\n * doesn't detect urlencoded octet boundary and can possibly construct slugs that\n * are not valid urlencoded strings.\n * @param {string} prefix The prefix to add to the slug.\n * @param {string} slug The slug to add the prefix to.\n * @return {string} The slug with the prefix.\n */\nfunction prefixSlug( prefix, slug ) {\n\treturn `${ prefix }-${ safeDecodeURI( slug ) }`;\n}\n\n/**\n * Helper util to map records to add a `name` prop from a\n * provided path, in order to handle all entities in the same\n * fashion(implementing`IHasNameAndId` interface).\n *\n * @param {Object[]} entities The array of entities.\n * @param {string} path The path to map a `name` property from the entity.\n * @return {IHasNameAndId[]} An array of entities that now implement the `IHasNameAndId` interface.\n */\nexport const mapToIHasNameAndId = ( entities, path ) => {\n\treturn ( entities || [] ).map( ( entity ) => ( {\n\t\t...entity,\n\t\tname: decodeEntities( getValueFromObjectPath( entity, path ) ),\n\t} ) );\n};\n\n/**\n * @typedef {Object} EntitiesInfo\n * @property {boolean} hasEntities If an entity has available records(posts, terms, etc..).\n * @property {number[]} existingEntitiesIds An array of the existing entities ids.\n */\n\nexport const useExistingTemplates = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tper_page: -1,\n\t\t\t\t}\n\t\t\t),\n\t\t[]\n\t);\n};\n\nexport const useDefaultTemplateTypes = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getCurrentTheme()?.default_template_types || [],\n\t\t[]\n\t);\n};\n\nconst usePublicPostTypes = () => {\n\tconst postTypes = useSelect(\n\t\t( select ) => select( coreStore ).getPostTypes( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\tconst excludedPostTypes = [ 'attachment' ];\n\t\treturn postTypes\n\t\t\t?.filter(\n\t\t\t\t( { viewable, slug } ) =>\n\t\t\t\t\tviewable && ! excludedPostTypes.includes( slug )\n\t\t\t)\n\t\t\t.sort( ( a, b ) => {\n\t\t\t\t// Sort post types alphabetically by name,\n\t\t\t\t// but exclude the built-in 'post' type from sorting.\n\t\t\t\tif ( a.slug === 'post' || b.slug === 'post' ) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn a.name.localeCompare( b.name );\n\t\t\t} );\n\t}, [ postTypes ] );\n};\n\nconst usePublicTaxonomies = () => {\n\tconst taxonomies = useSelect(\n\t\t( select ) => select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\treturn taxonomies?.filter(\n\t\t\t( { visibility } ) => visibility?.publicly_queryable\n\t\t);\n\t}, [ taxonomies ] );\n};\n\nexport function usePostTypeArchiveMenuItems() {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst postTypesWithArchives = useMemo(\n\t\t() => publicPostTypes?.filter( ( postType ) => postType.has_archive ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst existingTemplates = useExistingTemplates();\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst postTypeLabels = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { labels } ) => {\n\t\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\t\taccumulator[ singularName ] =\n\t\t\t\t\t( accumulator[ singularName ] || 0 ) + 1;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst needsUniqueIdentifier = useCallback(\n\t\t( { labels, slug } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\treturn postTypeLabels[ singularName ] > 1 && singularName !== slug;\n\t\t},\n\t\t[ postTypeLabels ]\n\t);\n\treturn useMemo(\n\t\t() =>\n\t\t\tpostTypesWithArchives\n\t\t\t\t?.filter(\n\t\t\t\t\t( postType ) =>\n\t\t\t\t\t\t! ( existingTemplates || [] ).some(\n\t\t\t\t\t\t\t( existingTemplate ) =>\n\t\t\t\t\t\t\t\texistingTemplate.slug ===\n\t\t\t\t\t\t\t\t'archive-' + postType.slug\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( postType ) => {\n\t\t\t\t\tlet title;\n\t\t\t\t\tif ( needsUniqueIdentifier( postType ) ) {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t__( 'Archive: %1$s (%2$s)' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name,\n\t\t\t\t\t\t\tpostType.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Archive: %s' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tslug: 'archive-' + postType.slug,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Displays an archive with the latest posts of type: %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon:\n\t\t\t\t\t\t\ttypeof postType.icon === 'string' &&\n\t\t\t\t\t\t\tpostType.icon.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t\t? postType.icon.slice( 10 )\n\t\t\t\t\t\t\t\t: archive,\n\t\t\t\t\t\ttemplatePrefix: 'archive',\n\t\t\t\t\t};\n\t\t\t\t} ) || [],\n\t\t[ postTypesWithArchives, existingTemplates, needsUniqueIdentifier ]\n\t);\n}\n\nexport const usePostTypeMenuItems = ( onClickMenuItem ) => {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst templateLabels = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { labels } ) => {\n\t\t\t\tconst templateName = (\n\t\t\t\t\tlabels.template_name || labels.singular_name\n\t\t\t\t).toLowerCase();\n\t\t\t\taccumulator[ templateName ] =\n\t\t\t\t\t( accumulator[ templateName ] || 0 ) + 1;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst needsUniqueIdentifier = useCallback(\n\t\t( { labels, slug } ) => {\n\t\t\tconst templateName = (\n\t\t\t\tlabels.template_name || labels.singular_name\n\t\t\t).toLowerCase();\n\t\t\treturn templateLabels[ templateName ] > 1 && templateName !== slug;\n\t\t},\n\t\t[ templateLabels ]\n\t);\n\n\t// `page`is a special case in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( slug !== 'page' ) {\n\t\t\t\t\tsuffix = `single-${ suffix }`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst postTypesInfo = useEntitiesInfo( 'postType', templatePrefixes );\n\tconst menuItems = ( publicPostTypes || [] ).reduce(\n\t\t( accumulator, postType ) => {\n\t\t\tconst { slug, labels, icon } = postType;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier( postType );\n\t\t\tlet menuItemTitle =\n\t\t\t\tlabels.template_name ||\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t__( 'Single item: %s' ),\n\t\t\t\t\tlabels.singular_name\n\t\t\t\t);\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = labels.template_name\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: 1: Name of the template e.g: \"Single Item: Post\". 2: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t_x( '%1$s (%2$s)', 'post type menu label' ),\n\t\t\t\t\t\t\tlabels.template_name,\n\t\t\t\t\t\t\tslug\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: 1: Name of the post type e.g: \"Post\". 2: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t_x(\n\t\t\t\t\t\t\t\t'Single item: %1$s (%2$s)',\n\t\t\t\t\t\t\t\t'post type menu label'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\t\t\tslug\n\t\t\t\t\t );\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Displays a single item: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon:\n\t\t\t\t\t\t\ttypeof icon === 'string' &&\n\t\t\t\t\t\t\ticon.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t\t? icon.slice( 10 )\n\t\t\t\t\t\t\t\t: post,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = postTypesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'postType',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\trecordNamePath: 'title.rendered',\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,title,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'relevance' : 'modified',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\tpostTypesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = prefixSlug(\n\t\t\t\t\t\t\t\t\ttemplatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t\tsuggestion.slug\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default post types\n\t// and one for the rest.\n\tconst postTypesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, postType ) => {\n\t\t\t\t\tconst { slug } = postType;\n\t\t\t\t\tlet key = 'postTypesMenuItems';\n\t\t\t\t\tif ( slug === 'page' ) {\n\t\t\t\t\t\tkey = 'defaultPostTypesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( postType );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultPostTypesMenuItems: [], postTypesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn postTypesMenuItems;\n};\n\nexport const useTaxonomiesMenuItems = ( onClickMenuItem ) => {\n\tconst publicTaxonomies = usePublicTaxonomies();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\t// `category` and `post_tag` are special cases in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicTaxonomies?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( ! [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\t\t\tsuffix = `taxonomy-${ suffix }`;\n\t\t\t\t}\n\t\t\t\tif ( slug === 'post_tag' ) {\n\t\t\t\t\tsuffix = `tag`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicTaxonomies ]\n\t);\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst taxonomyLabels = publicTaxonomies?.reduce(\n\t\t( accumulator, { labels } ) => {\n\t\t\tconst templateName = (\n\t\t\t\tlabels.template_name || labels.singular_name\n\t\t\t).toLowerCase();\n\t\t\taccumulator[ templateName ] =\n\t\t\t\t( accumulator[ templateName ] || 0 ) + 1;\n\t\t\treturn accumulator;\n\t\t},\n\t\t{}\n\t);\n\tconst needsUniqueIdentifier = ( labels, slug ) => {\n\t\tif ( [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst templateName = (\n\t\t\tlabels.template_name || labels.singular_name\n\t\t).toLowerCase();\n\t\treturn taxonomyLabels[ templateName ] > 1 && templateName !== slug;\n\t};\n\tconst taxonomiesInfo = useEntitiesInfo( 'taxonomy', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicTaxonomies || [] ).reduce(\n\t\t( accumulator, taxonomy ) => {\n\t\t\tconst { slug, labels } = taxonomy;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier(\n\t\t\t\tlabels,\n\t\t\t\tslug\n\t\t\t);\n\t\t\tlet menuItemTitle = labels.template_name || labels.singular_name;\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = labels.template_name\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: 1: Name of the template e.g: \"Products by Category\". 2: Slug of the taxonomy e.g: \"product_cat\".\n\t\t\t\t\t\t\t_x( '%1$s (%2$s)', 'taxonomy template menu label' ),\n\t\t\t\t\t\t\tlabels.template_name,\n\t\t\t\t\t\t\tslug\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: 1: Name of the taxonomy e.g: \"Category\". 2: Slug of the taxonomy e.g: \"product_cat\".\n\t\t\t\t\t\t\t_x( '%1$s (%2$s)', 'taxonomy menu label' ),\n\t\t\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\t\t\tslug\n\t\t\t\t\t );\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the taxonomy e.g: \"Product Categories\".\n\t\t\t\t\t\t\t__( 'Displays taxonomy: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ticon: blockMeta,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = taxonomiesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'taxonomy',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'name' : 'count',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\ttaxonomiesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = prefixSlug(\n\t\t\t\t\t\t\t\t\ttemplatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t\tsuggestion.slug\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default taxonomies\n\t// and one for the rest.\n\tconst taxonomiesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, taxonomy ) => {\n\t\t\t\t\tconst { slug } = taxonomy;\n\t\t\t\t\tlet key = 'taxonomiesMenuItems';\n\t\t\t\t\tif ( [ 'category', 'tag' ].includes( slug ) ) {\n\t\t\t\t\t\tkey = 'defaultTaxonomiesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( taxonomy );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultTaxonomiesMenuItems: [], taxonomiesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn taxonomiesMenuItems;\n};\n\nconst USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX = { user: 'author' };\nconst USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS = { user: { who: 'authors' } };\nexport function useAuthorMenuItem( onClickMenuItem ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst authorInfo = useEntitiesInfo(\n\t\t'root',\n\t\tUSE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX,\n\t\tUSE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS\n\t);\n\tlet authorMenuItem = defaultTemplateTypes?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( ! authorMenuItem ) {\n\t\tauthorMenuItem = {\n\t\t\tdescription: __(\n\t\t\t\t'Displays latest posts written by a single author.'\n\t\t\t),\n\t\t\tslug: 'author',\n\t\t\ttitle: 'Author',\n\t\t};\n\t}\n\tconst hasGeneralTemplate = !! existingTemplates?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( authorInfo.user?.hasEntities ) {\n\t\tauthorMenuItem = { ...authorMenuItem, templatePrefix: 'author' };\n\t\tauthorMenuItem.onClick = ( template ) => {\n\t\t\tonClickMenuItem( {\n\t\t\t\ttype: 'root',\n\t\t\t\tslug: 'user',\n\t\t\t\tconfig: {\n\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\torderBy: search ? 'name' : 'registered_date',\n\t\t\t\t\t\t\texclude: authorInfo.user.existingEntitiesIds,\n\t\t\t\t\t\t\twho: 'authors',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\tconst templateSlug = prefixSlug(\n\t\t\t\t\t\t\t'author',\n\t\t\t\t\t\t\tsuggestion.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttitle: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Name of the author e.g: \"Admin\".\n\t\t\t\t\t\t\t\t__( 'Author: %s' ),\n\t\t\t\t\t\t\t\tsuggestion.name\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\ttemplatePrefix: 'author',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlabels: {\n\t\t\t\t\tsingular_name: __( 'Author' ),\n\t\t\t\t\tsearch_items: __( 'Search Authors' ),\n\t\t\t\t\tnot_found: __( 'No authors found.' ),\n\t\t\t\t\tall_items: __( 'All Authors' ),\n\t\t\t\t},\n\t\t\t\thasGeneralTemplate,\n\t\t\t\ttemplate,\n\t\t\t} );\n\t\t};\n\t}\n\tif ( ! hasGeneralTemplate || authorInfo.user?.hasEntities ) {\n\t\treturn authorMenuItem;\n\t}\n}\n\n/**\n * Helper hook that returns information about an entity having\n * records that we can create a specific template for.\n *\n * For example we can search for `terms` in `taxonomy` entity or\n * `posts` in `postType` entity.\n *\n * First we need to find the existing records with an associated template,\n * to query afterwards for any remaining record, by excluding them.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the EntitiesInfo as value.\n */\nconst useEntitiesInfo = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = EMPTY_OBJECT\n) => {\n\tconst entitiesHasRecords = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.keys( templatePrefixes || {} ).reduce(\n\t\t\t\t( accumulator, slug ) => {\n\t\t\t\t\taccumulator[ slug ] = !! select(\n\t\t\t\t\t\tcoreStore\n\t\t\t\t\t).getEntityRecords( entityName, slug, {\n\t\t\t\t\t\tper_page: 1,\n\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t} )?.length;\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[ templatePrefixes, entityName, additionalQueryParameters ]\n\t);\n\tconst entitiesInfo = useMemo( () => {\n\t\treturn Object.keys( templatePrefixes || {} ).reduce(\n\t\t\t( accumulator, slug ) => {\n\t\t\t\taccumulator[ slug ] = {\n\t\t\t\t\thasEntities: entitiesHasRecords[ slug ],\n\t\t\t\t};\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t}, [ templatePrefixes, entitiesHasRecords ] );\n\treturn entitiesInfo;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/add-new-template/utils.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { blockMeta, post, archive } from '@wordpress/icons';\nimport { safeDecodeURI } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nconst EMPTY_OBJECT = {};\n\n/**\n * @typedef IHasNameAndId\n * @property {string|number} id The entity's id.\n * @property {string} name The entity's name.\n */\n\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.split( '.' ).forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\n/**\n * Helper that adds a prefix to a post slug. The slug needs to be URL-decoded first,\n * so that we have raw Unicode characters there. The server will truncate the slug to\n * 200 characters, respecing Unicode char boundary. On the other hand, the server\n * doesn't detect urlencoded octet boundary and can possibly construct slugs that\n * are not valid urlencoded strings.\n * @param {string} prefix The prefix to add to the slug.\n * @param {string} slug The slug to add the prefix to.\n * @return {string} The slug with the prefix.\n */\nfunction prefixSlug( prefix, slug ) {\n\treturn `${ prefix }-${ safeDecodeURI( slug ) }`;\n}\n\n/**\n * Helper util to map records to add a `name` prop from a\n * provided path, in order to handle all entities in the same\n * fashion(implementing`IHasNameAndId` interface).\n *\n * @param {Object[]} entities The array of entities.\n * @param {string} path The path to map a `name` property from the entity.\n * @return {IHasNameAndId[]} An array of entities that now implement the `IHasNameAndId` interface.\n */\nexport const mapToIHasNameAndId = ( entities, path ) => {\n\treturn ( entities || [] ).map( ( entity ) => ( {\n\t\t...entity,\n\t\tname: decodeEntities( getValueFromObjectPath( entity, path ) ),\n\t} ) );\n};\n\n/**\n * @typedef {Object} EntitiesInfo\n * @property {boolean} hasEntities If an entity has available records(posts, terms, etc..).\n * @property {number[]} existingEntitiesIds An array of the existing entities ids.\n */\n\nexport const useExistingTemplates = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tper_page: -1,\n\t\t\t\t}\n\t\t\t),\n\t\t[]\n\t);\n};\n\nexport const useDefaultTemplateTypes = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getCurrentTheme()?.default_template_types || [],\n\t\t[]\n\t);\n};\n\nconst usePublicPostTypes = () => {\n\tconst postTypes = useSelect(\n\t\t( select ) => select( coreStore ).getPostTypes( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\tconst excludedPostTypes = [ 'attachment' ];\n\t\treturn postTypes\n\t\t\t?.filter(\n\t\t\t\t( { viewable, slug } ) =>\n\t\t\t\t\tviewable && ! excludedPostTypes.includes( slug )\n\t\t\t)\n\t\t\t.sort( ( a, b ) => {\n\t\t\t\t// Sort post types alphabetically by name,\n\t\t\t\t// but exclude the built-in 'post' type from sorting.\n\t\t\t\tif ( a.slug === 'post' || b.slug === 'post' ) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn a.name.localeCompare( b.name );\n\t\t\t} );\n\t}, [ postTypes ] );\n};\n\nconst usePublicTaxonomies = () => {\n\tconst taxonomies = useSelect(\n\t\t( select ) => select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\treturn taxonomies?.filter(\n\t\t\t( { visibility } ) => visibility?.publicly_queryable\n\t\t);\n\t}, [ taxonomies ] );\n};\n\nexport function usePostTypeArchiveMenuItems() {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst postTypesWithArchives = useMemo(\n\t\t() => publicPostTypes?.filter( ( postType ) => postType.has_archive ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst existingTemplates = useExistingTemplates();\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst postTypeLabels = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { labels } ) => {\n\t\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\t\taccumulator[ singularName ] =\n\t\t\t\t\t( accumulator[ singularName ] || 0 ) + 1;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst needsUniqueIdentifier = useCallback(\n\t\t( { labels, slug } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\treturn postTypeLabels[ singularName ] > 1 && singularName !== slug;\n\t\t},\n\t\t[ postTypeLabels ]\n\t);\n\treturn useMemo(\n\t\t() =>\n\t\t\tpostTypesWithArchives\n\t\t\t\t?.filter(\n\t\t\t\t\t( postType ) =>\n\t\t\t\t\t\t! ( existingTemplates || [] ).some(\n\t\t\t\t\t\t\t( existingTemplate ) =>\n\t\t\t\t\t\t\t\texistingTemplate.slug ===\n\t\t\t\t\t\t\t\t'archive-' + postType.slug\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( postType ) => {\n\t\t\t\t\tlet title;\n\t\t\t\t\tif ( needsUniqueIdentifier( postType ) ) {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t__( 'Archive: %1$s (%2$s)' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name,\n\t\t\t\t\t\t\tpostType.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Archive: %s' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tslug: 'archive-' + postType.slug,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Displays an archive with the latest posts of type: %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon:\n\t\t\t\t\t\t\ttypeof postType.icon === 'string' &&\n\t\t\t\t\t\t\tpostType.icon.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t\t? postType.icon.slice( 10 )\n\t\t\t\t\t\t\t\t: archive,\n\t\t\t\t\t\ttemplatePrefix: 'archive',\n\t\t\t\t\t};\n\t\t\t\t} ) || [],\n\t\t[ postTypesWithArchives, existingTemplates, needsUniqueIdentifier ]\n\t);\n}\n\nexport const usePostTypeMenuItems = ( onClickMenuItem ) => {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst templateLabels = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { labels } ) => {\n\t\t\t\tconst templateName = (\n\t\t\t\t\tlabels.template_name || labels.singular_name\n\t\t\t\t).toLowerCase();\n\t\t\t\taccumulator[ templateName ] =\n\t\t\t\t\t( accumulator[ templateName ] || 0 ) + 1;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst needsUniqueIdentifier = useCallback(\n\t\t( { labels, slug } ) => {\n\t\t\tconst templateName = (\n\t\t\t\tlabels.template_name || labels.singular_name\n\t\t\t).toLowerCase();\n\t\t\treturn templateLabels[ templateName ] > 1 && templateName !== slug;\n\t\t},\n\t\t[ templateLabels ]\n\t);\n\n\t// `page`is a special case in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( slug !== 'page' ) {\n\t\t\t\t\tsuffix = `single-${ suffix }`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst postTypesInfo = useEntitiesInfo( 'postType', templatePrefixes );\n\tconst menuItems = ( publicPostTypes || [] ).reduce(\n\t\t( accumulator, postType ) => {\n\t\t\tconst { slug, labels, icon } = postType;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier( postType );\n\t\t\tlet menuItemTitle =\n\t\t\t\tlabels.template_name ||\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t__( 'Single item: %s' ),\n\t\t\t\t\tlabels.singular_name\n\t\t\t\t);\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = labels.template_name\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: 1: Name of the template e.g: \"Single Item: Post\". 2: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t_x( '%1$s (%2$s)', 'post type menu label' ),\n\t\t\t\t\t\t\tlabels.template_name,\n\t\t\t\t\t\t\tslug\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: 1: Name of the post type e.g: \"Post\". 2: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t_x(\n\t\t\t\t\t\t\t\t'Single item: %1$s (%2$s)',\n\t\t\t\t\t\t\t\t'post type menu label'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\t\t\tslug\n\t\t\t\t\t );\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Displays a single item: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon:\n\t\t\t\t\t\t\ttypeof icon === 'string' &&\n\t\t\t\t\t\t\ticon.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t\t? icon.slice( 10 )\n\t\t\t\t\t\t\t\t: post,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = postTypesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'postType',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\trecordNamePath: 'title.rendered',\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,title,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'relevance' : 'modified',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\tpostTypesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = prefixSlug(\n\t\t\t\t\t\t\t\t\ttemplatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t\tsuggestion.slug\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default post types\n\t// and one for the rest.\n\tconst postTypesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, postType ) => {\n\t\t\t\t\tconst { slug } = postType;\n\t\t\t\t\tlet key = 'postTypesMenuItems';\n\t\t\t\t\tif ( slug === 'page' ) {\n\t\t\t\t\t\tkey = 'defaultPostTypesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( postType );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultPostTypesMenuItems: [], postTypesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn postTypesMenuItems;\n};\n\nexport const useTaxonomiesMenuItems = ( onClickMenuItem ) => {\n\tconst publicTaxonomies = usePublicTaxonomies();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\t// `category` and `post_tag` are special cases in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicTaxonomies?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( ! [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\t\t\tsuffix = `taxonomy-${ suffix }`;\n\t\t\t\t}\n\t\t\t\tif ( slug === 'post_tag' ) {\n\t\t\t\t\tsuffix = `tag`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicTaxonomies ]\n\t);\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst taxonomyLabels = publicTaxonomies?.reduce(\n\t\t( accumulator, { labels } ) => {\n\t\t\tconst templateName = (\n\t\t\t\tlabels.template_name || labels.singular_name\n\t\t\t).toLowerCase();\n\t\t\taccumulator[ templateName ] =\n\t\t\t\t( accumulator[ templateName ] || 0 ) + 1;\n\t\t\treturn accumulator;\n\t\t},\n\t\t{}\n\t);\n\tconst needsUniqueIdentifier = ( labels, slug ) => {\n\t\tif ( [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst templateName = (\n\t\t\tlabels.template_name || labels.singular_name\n\t\t).toLowerCase();\n\t\treturn taxonomyLabels[ templateName ] > 1 && templateName !== slug;\n\t};\n\tconst taxonomiesInfo = useEntitiesInfo( 'taxonomy', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicTaxonomies || [] ).reduce(\n\t\t( accumulator, taxonomy ) => {\n\t\t\tconst { slug, labels } = taxonomy;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier(\n\t\t\t\tlabels,\n\t\t\t\tslug\n\t\t\t);\n\t\t\tlet menuItemTitle = labels.template_name || labels.singular_name;\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = labels.template_name\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: 1: Name of the template e.g: \"Products by Category\". 2: Slug of the taxonomy e.g: \"product_cat\".\n\t\t\t\t\t\t\t_x( '%1$s (%2$s)', 'taxonomy template menu label' ),\n\t\t\t\t\t\t\tlabels.template_name,\n\t\t\t\t\t\t\tslug\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: 1: Name of the taxonomy e.g: \"Category\". 2: Slug of the taxonomy e.g: \"product_cat\".\n\t\t\t\t\t\t\t_x( '%1$s (%2$s)', 'taxonomy menu label' ),\n\t\t\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\t\t\tslug\n\t\t\t\t\t );\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the taxonomy e.g: \"Product Categories\".\n\t\t\t\t\t\t\t__( 'Displays taxonomy: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ticon: blockMeta,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = taxonomiesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'taxonomy',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'name' : 'count',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\ttaxonomiesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = prefixSlug(\n\t\t\t\t\t\t\t\t\ttemplatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t\tsuggestion.slug\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default taxonomies\n\t// and one for the rest.\n\tconst taxonomiesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, taxonomy ) => {\n\t\t\t\t\tconst { slug } = taxonomy;\n\t\t\t\t\tlet key = 'taxonomiesMenuItems';\n\t\t\t\t\tif ( [ 'category', 'tag' ].includes( slug ) ) {\n\t\t\t\t\t\tkey = 'defaultTaxonomiesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( taxonomy );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultTaxonomiesMenuItems: [], taxonomiesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn taxonomiesMenuItems;\n};\n\nconst USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX = { user: 'author' };\nconst USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS = { user: { who: 'authors' } };\nexport function useAuthorMenuItem( onClickMenuItem ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst authorInfo = useEntitiesInfo(\n\t\t'root',\n\t\tUSE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX,\n\t\tUSE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS\n\t);\n\tlet authorMenuItem = defaultTemplateTypes?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( ! authorMenuItem ) {\n\t\tauthorMenuItem = {\n\t\t\tdescription: __(\n\t\t\t\t'Displays latest posts written by a single author.'\n\t\t\t),\n\t\t\tslug: 'author',\n\t\t\ttitle: 'Author',\n\t\t};\n\t}\n\tconst hasGeneralTemplate = !! existingTemplates?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( authorInfo.user?.hasEntities ) {\n\t\tauthorMenuItem = { ...authorMenuItem, templatePrefix: 'author' };\n\t\tauthorMenuItem.onClick = ( template ) => {\n\t\t\tonClickMenuItem( {\n\t\t\t\ttype: 'root',\n\t\t\t\tslug: 'user',\n\t\t\t\tconfig: {\n\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\torderBy: search ? 'name' : 'registered_date',\n\t\t\t\t\t\t\texclude: authorInfo.user.existingEntitiesIds,\n\t\t\t\t\t\t\twho: 'authors',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\tconst templateSlug = prefixSlug(\n\t\t\t\t\t\t\t'author',\n\t\t\t\t\t\t\tsuggestion.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttitle: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Name of the author e.g: \"Admin\".\n\t\t\t\t\t\t\t\t__( 'Author: %s' ),\n\t\t\t\t\t\t\t\tsuggestion.name\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\ttemplatePrefix: 'author',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlabels: {\n\t\t\t\t\tsingular_name: __( 'Author' ),\n\t\t\t\t\tsearch_items: __( 'Search Authors' ),\n\t\t\t\t\tnot_found: __( 'No authors found.' ),\n\t\t\t\t\tall_items: __( 'All Authors' ),\n\t\t\t\t},\n\t\t\t\thasGeneralTemplate,\n\t\t\t\ttemplate,\n\t\t\t} );\n\t\t};\n\t}\n\tif ( ! hasGeneralTemplate || authorInfo.user?.hasEntities ) {\n\t\treturn authorMenuItem;\n\t}\n}\n\n/**\n * Helper hook that returns information about an entity having\n * records that we can create a specific template for.\n *\n * For example we can search for `terms` in `taxonomy` entity or\n * `posts` in `postType` entity.\n *\n * First we need to find the existing records with an associated template,\n * to query afterwards for any remaining record, by excluding them.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the EntitiesInfo as value.\n */\nconst useEntitiesInfo = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = EMPTY_OBJECT\n) => {\n\tconst entitiesHasRecords = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.keys( templatePrefixes || {} ).reduce(\n\t\t\t\t( accumulator, slug ) => {\n\t\t\t\t\taccumulator[ slug ] = !! select(\n\t\t\t\t\t\tcoreStore\n\t\t\t\t\t).getEntityRecords( entityName, slug, {\n\t\t\t\t\t\tper_page: 1,\n\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t} )?.length;\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[ templatePrefixes, entityName, additionalQueryParameters ]\n\t);\n\tconst entitiesInfo = useMemo( () => {\n\t\treturn Object.keys( templatePrefixes || {} ).reduce(\n\t\t\t( accumulator, slug ) => {\n\t\t\t\taccumulator[ slug ] = {\n\t\t\t\t\thasEntities: entitiesHasRecords[ slug ],\n\t\t\t\t};\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t}, [ templatePrefixes, entitiesHasRecords ] );\n\treturn entitiesInfo;\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,37 +1,27 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useSelect } from '@wordpress/data';
5
- import { privateApis as routerPrivateApis } from '@wordpress/router';
6
- import { useCallback, useMemo } from '@wordpress/element';
7
- import { store as coreStore } from '@wordpress/core-data';
8
-
9
- /**
10
- * Internal dependencies
11
- */
12
- import Layout from '../layout';
13
- import { unlock } from '../../lock-unlock';
14
- import { store as editSiteStore } from '../../store';
15
- import { useCommonCommands } from '../../hooks/commands/use-common-commands';
16
- import useSetCommandContext from '../../hooks/commands/use-set-command-context';
17
- import { useRegisterSiteEditorRoutes } from '../site-editor-routes';
18
- import { currentlyPreviewingTheme, isPreviewingTheme } from '../../utils/is-previewing-theme';
19
- import { jsx as _jsx } from "react/jsx-runtime";
20
- const {
21
- RouterProvider
22
- } = unlock(routerPrivateApis);
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useSelect } from "@wordpress/data";
3
+ import { privateApis as routerPrivateApis } from "@wordpress/router";
4
+ import { useCallback, useMemo } from "@wordpress/element";
5
+ import { store as coreStore } from "@wordpress/core-data";
6
+ import Layout from "../layout";
7
+ import { unlock } from "../../lock-unlock";
8
+ import { store as editSiteStore } from "../../store";
9
+ import { useCommonCommands } from "../../hooks/commands/use-common-commands";
10
+ import useSetCommandContext from "../../hooks/commands/use-set-command-context";
11
+ import { useRegisterSiteEditorRoutes } from "../site-editor-routes";
12
+ import {
13
+ currentlyPreviewingTheme,
14
+ isPreviewingTheme
15
+ } from "../../utils/is-previewing-theme";
16
+ const { RouterProvider } = unlock(routerPrivateApis);
23
17
  function AppLayout() {
24
18
  useCommonCommands();
25
19
  useSetCommandContext();
26
- return /*#__PURE__*/_jsx(Layout, {});
20
+ return /* @__PURE__ */ jsx(Layout, {});
27
21
  }
28
- export default function App() {
22
+ function App() {
29
23
  useRegisterSiteEditorRoutes();
30
- const {
31
- routes,
32
- currentTheme,
33
- editorSettings
34
- } = useSelect(select => {
24
+ const { routes, currentTheme, editorSettings } = useSelect((select) => {
35
25
  return {
36
26
  routes: unlock(select(editSiteStore)).getRoutes(),
37
27
  currentTheme: select(coreStore).getCurrentTheme(),
@@ -39,36 +29,36 @@ export default function App() {
39
29
  editorSettings: select(editSiteStore).getSettings()
40
30
  };
41
31
  }, []);
42
- const beforeNavigate = useCallback(({
43
- path,
44
- query
45
- }) => {
32
+ const beforeNavigate = useCallback(({ path, query }) => {
46
33
  if (!isPreviewingTheme()) {
47
- return {
48
- path,
49
- query
50
- };
34
+ return { path, query };
51
35
  }
52
36
  return {
53
37
  path,
54
38
  query: {
55
39
  ...query,
56
- wp_theme_preview: 'wp_theme_preview' in query ? query.wp_theme_preview : currentlyPreviewingTheme()
40
+ wp_theme_preview: "wp_theme_preview" in query ? query.wp_theme_preview : currentlyPreviewingTheme()
57
41
  }
58
42
  };
59
43
  }, []);
60
- const matchResolverArgsValue = useMemo(() => ({
61
- siteData: {
62
- currentTheme,
63
- editorSettings
44
+ const matchResolverArgsValue = useMemo(
45
+ () => ({
46
+ siteData: { currentTheme, editorSettings }
47
+ }),
48
+ [currentTheme, editorSettings]
49
+ );
50
+ return /* @__PURE__ */ jsx(
51
+ RouterProvider,
52
+ {
53
+ routes,
54
+ pathArg: "p",
55
+ beforeNavigate,
56
+ matchResolverArgs: matchResolverArgsValue,
57
+ children: /* @__PURE__ */ jsx(AppLayout, {})
64
58
  }
65
- }), [currentTheme, editorSettings]);
66
- return /*#__PURE__*/_jsx(RouterProvider, {
67
- routes: routes,
68
- pathArg: "p",
69
- beforeNavigate: beforeNavigate,
70
- matchResolverArgs: matchResolverArgsValue,
71
- children: /*#__PURE__*/_jsx(AppLayout, {})
72
- });
59
+ );
73
60
  }
74
- //# sourceMappingURL=index.js.map
61
+ export {
62
+ App as default
63
+ };
64
+ //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["useSelect","privateApis","routerPrivateApis","useCallback","useMemo","store","coreStore","Layout","unlock","editSiteStore","useCommonCommands","useSetCommandContext","useRegisterSiteEditorRoutes","currentlyPreviewingTheme","isPreviewingTheme","jsx","_jsx","RouterProvider","AppLayout","App","routes","currentTheme","editorSettings","select","getRoutes","getCurrentTheme","getSettings","beforeNavigate","path","query","wp_theme_preview","matchResolverArgsValue","siteData","pathArg","matchResolverArgs","children"],"sources":["@wordpress/edit-site/src/components/app/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport Layout from '../layout';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport { useCommonCommands } from '../../hooks/commands/use-common-commands';\nimport useSetCommandContext from '../../hooks/commands/use-set-command-context';\nimport { useRegisterSiteEditorRoutes } from '../site-editor-routes';\nimport {\n\tcurrentlyPreviewingTheme,\n\tisPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nconst { RouterProvider } = unlock( routerPrivateApis );\n\nfunction AppLayout() {\n\tuseCommonCommands();\n\tuseSetCommandContext();\n\n\treturn <Layout />;\n}\n\nexport default function App() {\n\tuseRegisterSiteEditorRoutes();\n\tconst { routes, currentTheme, editorSettings } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\troutes: unlock( select( editSiteStore ) ).getRoutes(),\n\t\t\tcurrentTheme: select( coreStore ).getCurrentTheme(),\n\t\t\t// This is a temp solution until the has_theme_json value is available for the current theme.\n\t\t\teditorSettings: select( editSiteStore ).getSettings(),\n\t\t};\n\t}, [] );\n\n\tconst beforeNavigate = useCallback( ( { path, query } ) => {\n\t\tif ( ! isPreviewingTheme() ) {\n\t\t\treturn { path, query };\n\t\t}\n\n\t\treturn {\n\t\t\tpath,\n\t\t\tquery: {\n\t\t\t\t...query,\n\t\t\t\twp_theme_preview:\n\t\t\t\t\t'wp_theme_preview' in query\n\t\t\t\t\t\t? query.wp_theme_preview\n\t\t\t\t\t\t: currentlyPreviewingTheme(),\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst matchResolverArgsValue = useMemo(\n\t\t() => ( {\n\t\t\tsiteData: { currentTheme, editorSettings },\n\t\t} ),\n\t\t[ currentTheme, editorSettings ]\n\t);\n\n\treturn (\n\t\t<RouterProvider\n\t\t\troutes={ routes }\n\t\t\tpathArg=\"p\"\n\t\t\tbeforeNavigate={ beforeNavigate }\n\t\t\tmatchResolverArgs={ matchResolverArgsValue }\n\t\t>\n\t\t\t<AppLayout />\n\t\t</RouterProvider>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,WAAW,EAAEC,OAAO,QAAQ,oBAAoB;AACzD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASH,KAAK,IAAII,aAAa,QAAQ,aAAa;AACpD,SAASC,iBAAiB,QAAQ,0CAA0C;AAC5E,OAAOC,oBAAoB,MAAM,8CAA8C;AAC/E,SAASC,2BAA2B,QAAQ,uBAAuB;AACnE,SACCC,wBAAwB,EACxBC,iBAAiB,QACX,iCAAiC;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEzC,MAAM;EAAEC;AAAe,CAAC,GAAGT,MAAM,CAAEN,iBAAkB,CAAC;AAEtD,SAASgB,SAASA,CAAA,EAAG;EACpBR,iBAAiB,CAAC,CAAC;EACnBC,oBAAoB,CAAC,CAAC;EAEtB,oBAAOK,IAAA,CAACT,MAAM,IAAE,CAAC;AAClB;AAEA,eAAe,SAASY,GAAGA,CAAA,EAAG;EAC7BP,2BAA2B,CAAC,CAAC;EAC7B,MAAM;IAAEQ,MAAM;IAAEC,YAAY;IAAEC;EAAe,CAAC,GAAGtB,SAAS,CAAIuB,MAAM,IAAM;IACzE,OAAO;MACNH,MAAM,EAAEZ,MAAM,CAAEe,MAAM,CAAEd,aAAc,CAAE,CAAC,CAACe,SAAS,CAAC,CAAC;MACrDH,YAAY,EAAEE,MAAM,CAAEjB,SAAU,CAAC,CAACmB,eAAe,CAAC,CAAC;MACnD;MACAH,cAAc,EAAEC,MAAM,CAAEd,aAAc,CAAC,CAACiB,WAAW,CAAC;IACrD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMC,cAAc,GAAGxB,WAAW,CAAE,CAAE;IAAEyB,IAAI;IAAEC;EAAM,CAAC,KAAM;IAC1D,IAAK,CAAEf,iBAAiB,CAAC,CAAC,EAAG;MAC5B,OAAO;QAAEc,IAAI;QAAEC;MAAM,CAAC;IACvB;IAEA,OAAO;MACND,IAAI;MACJC,KAAK,EAAE;QACN,GAAGA,KAAK;QACRC,gBAAgB,EACf,kBAAkB,IAAID,KAAK,GACxBA,KAAK,CAACC,gBAAgB,GACtBjB,wBAAwB,CAAC;MAC9B;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMkB,sBAAsB,GAAG3B,OAAO,CACrC,OAAQ;IACP4B,QAAQ,EAAE;MAAEX,YAAY;MAAEC;IAAe;EAC1C,CAAC,CAAE,EACH,CAAED,YAAY,EAAEC,cAAc,CAC/B,CAAC;EAED,oBACCN,IAAA,CAACC,cAAc;IACdG,MAAM,EAAGA,MAAQ;IACjBa,OAAO,EAAC,GAAG;IACXN,cAAc,EAAGA,cAAgB;IACjCO,iBAAiB,EAAGH,sBAAwB;IAAAI,QAAA,eAE5CnB,IAAA,CAACE,SAAS,IAAE;EAAC,CACE,CAAC;AAEnB","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/app/index.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport Layout from '../layout';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport { useCommonCommands } from '../../hooks/commands/use-common-commands';\nimport useSetCommandContext from '../../hooks/commands/use-set-command-context';\nimport { useRegisterSiteEditorRoutes } from '../site-editor-routes';\nimport {\n\tcurrentlyPreviewingTheme,\n\tisPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nconst { RouterProvider } = unlock( routerPrivateApis );\n\nfunction AppLayout() {\n\tuseCommonCommands();\n\tuseSetCommandContext();\n\n\treturn <Layout />;\n}\n\nexport default function App() {\n\tuseRegisterSiteEditorRoutes();\n\tconst { routes, currentTheme, editorSettings } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\troutes: unlock( select( editSiteStore ) ).getRoutes(),\n\t\t\tcurrentTheme: select( coreStore ).getCurrentTheme(),\n\t\t\t// This is a temp solution until the has_theme_json value is available for the current theme.\n\t\t\teditorSettings: select( editSiteStore ).getSettings(),\n\t\t};\n\t}, [] );\n\n\tconst beforeNavigate = useCallback( ( { path, query } ) => {\n\t\tif ( ! isPreviewingTheme() ) {\n\t\t\treturn { path, query };\n\t\t}\n\n\t\treturn {\n\t\t\tpath,\n\t\t\tquery: {\n\t\t\t\t...query,\n\t\t\t\twp_theme_preview:\n\t\t\t\t\t'wp_theme_preview' in query\n\t\t\t\t\t\t? query.wp_theme_preview\n\t\t\t\t\t\t: currentlyPreviewingTheme(),\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst matchResolverArgsValue = useMemo(\n\t\t() => ( {\n\t\t\tsiteData: { currentTheme, editorSettings },\n\t\t} ),\n\t\t[ currentTheme, editorSettings ]\n\t);\n\n\treturn (\n\t\t<RouterProvider\n\t\t\troutes={ routes }\n\t\t\tpathArg=\"p\"\n\t\t\tbeforeNavigate={ beforeNavigate }\n\t\t\tmatchResolverArgs={ matchResolverArgsValue }\n\t\t>\n\t\t\t<AppLayout />\n\t\t</RouterProvider>\n\t);\n}\n"],
5
+ "mappings": "AA4BQ;AAzBR,SAAS,iBAAiB;AAC1B,SAAS,eAAe,yBAAyB;AACjD,SAAS,aAAa,eAAe;AACrC,SAAS,SAAS,iBAAiB;AAKnC,OAAO,YAAY;AACnB,SAAS,cAAc;AACvB,SAAS,SAAS,qBAAqB;AACvC,SAAS,yBAAyB;AAClC,OAAO,0BAA0B;AACjC,SAAS,mCAAmC;AAC5C;AAAA,EACC;AAAA,EACA;AAAA,OACM;AAEP,MAAM,EAAE,eAAe,IAAI,OAAQ,iBAAkB;AAErD,SAAS,YAAY;AACpB,oBAAkB;AAClB,uBAAqB;AAErB,SAAO,oBAAC,UAAO;AAChB;AAEe,SAAR,MAAuB;AAC7B,8BAA4B;AAC5B,QAAM,EAAE,QAAQ,cAAc,eAAe,IAAI,UAAW,CAAE,WAAY;AACzE,WAAO;AAAA,MACN,QAAQ,OAAQ,OAAQ,aAAc,CAAE,EAAE,UAAU;AAAA,MACpD,cAAc,OAAQ,SAAU,EAAE,gBAAgB;AAAA;AAAA,MAElD,gBAAgB,OAAQ,aAAc,EAAE,YAAY;AAAA,IACrD;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,QAAM,iBAAiB,YAAa,CAAE,EAAE,MAAM,MAAM,MAAO;AAC1D,QAAK,CAAE,kBAAkB,GAAI;AAC5B,aAAO,EAAE,MAAM,MAAM;AAAA,IACtB;AAEA,WAAO;AAAA,MACN;AAAA,MACA,OAAO;AAAA,QACN,GAAG;AAAA,QACH,kBACC,sBAAsB,QACnB,MAAM,mBACN,yBAAyB;AAAA,MAC9B;AAAA,IACD;AAAA,EACD,GAAG,CAAC,CAAE;AAEN,QAAM,yBAAyB;AAAA,IAC9B,OAAQ;AAAA,MACP,UAAU,EAAE,cAAc,eAAe;AAAA,IAC1C;AAAA,IACA,CAAE,cAAc,cAAe;AAAA,EAChC;AAEA,SACC;AAAA,IAAC;AAAA;AAAA,MACA;AAAA,MACA,SAAQ;AAAA,MACR;AAAA,MACA,mBAAoB;AAAA,MAEpB,8BAAC,aAAU;AAAA;AAAA,EACZ;AAEF;",
6
+ "names": []
7
+ }
@@ -1,75 +1,47 @@
1
- /**
2
- * External dependencies
3
- */
4
- import clsx from 'clsx';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { useSelect } from '@wordpress/data';
10
- import { ENTER, SPACE } from '@wordpress/keycodes';
11
- import { useState, useEffect } from '@wordpress/element';
12
- import { __ } from '@wordpress/i18n';
13
- import { store as editorStore } from '@wordpress/editor';
14
- import { privateApis as routerPrivateApis } from '@wordpress/router';
15
- import { addQueryArgs } from '@wordpress/url';
16
-
17
- /**
18
- * Internal dependencies
19
- */
20
- import { unlock } from '../../lock-unlock';
21
- const {
22
- useLocation,
23
- useHistory
24
- } = unlock(routerPrivateApis);
25
- export default function useEditorIframeProps() {
26
- const {
27
- query,
28
- path
29
- } = useLocation();
1
+ import clsx from "clsx";
2
+ import { useSelect } from "@wordpress/data";
3
+ import { ENTER, SPACE } from "@wordpress/keycodes";
4
+ import { useState, useEffect } from "@wordpress/element";
5
+ import { __ } from "@wordpress/i18n";
6
+ import { store as editorStore } from "@wordpress/editor";
7
+ import { privateApis as routerPrivateApis } from "@wordpress/router";
8
+ import { addQueryArgs } from "@wordpress/url";
9
+ import { unlock } from "../../lock-unlock";
10
+ const { useLocation, useHistory } = unlock(routerPrivateApis);
11
+ function useEditorIframeProps() {
12
+ const { query, path } = useLocation();
30
13
  const history = useHistory();
31
- const {
32
- canvas = 'view'
33
- } = query;
34
- const currentPostIsTrashed = useSelect(select => {
35
- return select(editorStore).getCurrentPostAttribute('status') === 'trash';
14
+ const { canvas = "view" } = query;
15
+ const currentPostIsTrashed = useSelect((select) => {
16
+ return select(editorStore).getCurrentPostAttribute("status") === "trash";
36
17
  }, []);
37
18
  const [isFocused, setIsFocused] = useState(false);
38
19
  useEffect(() => {
39
- if (canvas === 'edit') {
20
+ if (canvas === "edit") {
40
21
  setIsFocused(false);
41
22
  }
42
23
  }, [canvas]);
43
-
44
- // In view mode, make the canvas iframe be perceived and behave as a button
45
- // to switch to edit mode, with a meaningful label and no title attribute.
46
24
  const viewModeIframeProps = {
47
- 'aria-label': __('Edit'),
48
- 'aria-disabled': currentPostIsTrashed,
25
+ "aria-label": __("Edit"),
26
+ "aria-disabled": currentPostIsTrashed,
49
27
  title: null,
50
- role: 'button',
28
+ role: "button",
51
29
  tabIndex: 0,
52
30
  onFocus: () => setIsFocused(true),
53
31
  onBlur: () => setIsFocused(false),
54
- onKeyDown: event => {
55
- const {
56
- keyCode
57
- } = event;
32
+ onKeyDown: (event) => {
33
+ const { keyCode } = event;
58
34
  if ((keyCode === ENTER || keyCode === SPACE) && !currentPostIsTrashed) {
59
35
  event.preventDefault();
60
- history.navigate(addQueryArgs(path, {
61
- canvas: 'edit'
62
- }), {
63
- transition: 'canvas-mode-edit-transition'
36
+ history.navigate(addQueryArgs(path, { canvas: "edit" }), {
37
+ transition: "canvas-mode-edit-transition"
64
38
  });
65
39
  }
66
40
  },
67
- onClick: () => history.navigate(addQueryArgs(path, {
68
- canvas: 'edit'
69
- }), {
70
- transition: 'canvas-mode-edit-transition'
41
+ onClick: () => history.navigate(addQueryArgs(path, { canvas: "edit" }), {
42
+ transition: "canvas-mode-edit-transition"
71
43
  }),
72
- onClickCapture: event => {
44
+ onClickCapture: (event) => {
73
45
  if (currentPostIsTrashed) {
74
46
  event.preventDefault();
75
47
  event.stopPropagation();
@@ -78,10 +50,13 @@ export default function useEditorIframeProps() {
78
50
  readonly: true
79
51
  };
80
52
  return {
81
- className: clsx('edit-site-visual-editor__editor-canvas', {
82
- 'is-focused': isFocused && canvas === 'view'
53
+ className: clsx("edit-site-visual-editor__editor-canvas", {
54
+ "is-focused": isFocused && canvas === "view"
83
55
  }),
84
- ...(canvas === 'view' ? viewModeIframeProps : {})
56
+ ...canvas === "view" ? viewModeIframeProps : {}
85
57
  };
86
58
  }
87
- //# sourceMappingURL=use-editor-iframe-props.js.map
59
+ export {
60
+ useEditorIframeProps as default
61
+ };
62
+ //# sourceMappingURL=use-editor-iframe-props.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["clsx","useSelect","ENTER","SPACE","useState","useEffect","__","store","editorStore","privateApis","routerPrivateApis","addQueryArgs","unlock","useLocation","useHistory","useEditorIframeProps","query","path","history","canvas","currentPostIsTrashed","select","getCurrentPostAttribute","isFocused","setIsFocused","viewModeIframeProps","title","role","tabIndex","onFocus","onBlur","onKeyDown","event","keyCode","preventDefault","navigate","transition","onClick","onClickCapture","stopPropagation","readonly","className"],"sources":["@wordpress/edit-site/src/components/block-editor/use-editor-iframe-props.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as editorStore } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nexport default function useEditorIframeProps() {\n\tconst { query, path } = useLocation();\n\tconst history = useHistory();\n\tconst { canvas = 'view' } = query;\n\tconst currentPostIsTrashed = useSelect( ( select ) => {\n\t\treturn (\n\t\t\tselect( editorStore ).getCurrentPostAttribute( 'status' ) ===\n\t\t\t'trash'\n\t\t);\n\t}, [] );\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( canvas === 'edit' ) {\n\t\t\tsetIsFocused( false );\n\t\t}\n\t}, [ canvas ] );\n\n\t// In view mode, make the canvas iframe be perceived and behave as a button\n\t// to switch to edit mode, with a meaningful label and no title attribute.\n\tconst viewModeIframeProps = {\n\t\t'aria-label': __( 'Edit' ),\n\t\t'aria-disabled': currentPostIsTrashed,\n\t\ttitle: null,\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tconst { keyCode } = event;\n\t\t\tif (\n\t\t\t\t( keyCode === ENTER || keyCode === SPACE ) &&\n\t\t\t\t! currentPostIsTrashed\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\thistory.navigate( addQueryArgs( path, { canvas: 'edit' } ), {\n\t\t\t\t\ttransition: 'canvas-mode-edit-transition',\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\tonClick: () =>\n\t\t\thistory.navigate( addQueryArgs( path, { canvas: 'edit' } ), {\n\t\t\t\ttransition: 'canvas-mode-edit-transition',\n\t\t\t} ),\n\t\tonClickCapture: ( event ) => {\n\t\t\tif ( currentPostIsTrashed ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\treturn {\n\t\tclassName: clsx( 'edit-site-visual-editor__editor-canvas', {\n\t\t\t'is-focused': isFocused && canvas === 'view',\n\t\t} ),\n\t\t...( canvas === 'view' ? viewModeIframeProps : {} ),\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,EAAEC,KAAK,QAAQ,qBAAqB;AAClD,SAASC,QAAQ,EAAEC,SAAS,QAAQ,oBAAoB;AACxD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;AACxD,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,YAAY,QAAQ,gBAAgB;;AAE7C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC,WAAW;EAAEC;AAAW,CAAC,GAAGF,MAAM,CAAEF,iBAAkB,CAAC;AAE/D,eAAe,SAASK,oBAAoBA,CAAA,EAAG;EAC9C,MAAM;IAAEC,KAAK;IAAEC;EAAK,CAAC,GAAGJ,WAAW,CAAC,CAAC;EACrC,MAAMK,OAAO,GAAGJ,UAAU,CAAC,CAAC;EAC5B,MAAM;IAAEK,MAAM,GAAG;EAAO,CAAC,GAAGH,KAAK;EACjC,MAAMI,oBAAoB,GAAGnB,SAAS,CAAIoB,MAAM,IAAM;IACrD,OACCA,MAAM,CAAEb,WAAY,CAAC,CAACc,uBAAuB,CAAE,QAAS,CAAC,KACzD,OAAO;EAET,CAAC,EAAE,EAAG,CAAC;EACP,MAAM,CAAEC,SAAS,EAAEC,YAAY,CAAE,GAAGpB,QAAQ,CAAE,KAAM,CAAC;EAErDC,SAAS,CAAE,MAAM;IAChB,IAAKc,MAAM,KAAK,MAAM,EAAG;MACxBK,YAAY,CAAE,KAAM,CAAC;IACtB;EACD,CAAC,EAAE,CAAEL,MAAM,CAAG,CAAC;;EAEf;EACA;EACA,MAAMM,mBAAmB,GAAG;IAC3B,YAAY,EAAEnB,EAAE,CAAE,MAAO,CAAC;IAC1B,eAAe,EAAEc,oBAAoB;IACrCM,KAAK,EAAE,IAAI;IACXC,IAAI,EAAE,QAAQ;IACdC,QAAQ,EAAE,CAAC;IACXC,OAAO,EAAEA,CAAA,KAAML,YAAY,CAAE,IAAK,CAAC;IACnCM,MAAM,EAAEA,CAAA,KAAMN,YAAY,CAAE,KAAM,CAAC;IACnCO,SAAS,EAAIC,KAAK,IAAM;MACvB,MAAM;QAAEC;MAAQ,CAAC,GAAGD,KAAK;MACzB,IACC,CAAEC,OAAO,KAAK/B,KAAK,IAAI+B,OAAO,KAAK9B,KAAK,KACxC,CAAEiB,oBAAoB,EACrB;QACDY,KAAK,CAACE,cAAc,CAAC,CAAC;QACtBhB,OAAO,CAACiB,QAAQ,CAAExB,YAAY,CAAEM,IAAI,EAAE;UAAEE,MAAM,EAAE;QAAO,CAAE,CAAC,EAAE;UAC3DiB,UAAU,EAAE;QACb,CAAE,CAAC;MACJ;IACD,CAAC;IACDC,OAAO,EAAEA,CAAA,KACRnB,OAAO,CAACiB,QAAQ,CAAExB,YAAY,CAAEM,IAAI,EAAE;MAAEE,MAAM,EAAE;IAAO,CAAE,CAAC,EAAE;MAC3DiB,UAAU,EAAE;IACb,CAAE,CAAC;IACJE,cAAc,EAAIN,KAAK,IAAM;MAC5B,IAAKZ,oBAAoB,EAAG;QAC3BY,KAAK,CAACE,cAAc,CAAC,CAAC;QACtBF,KAAK,CAACO,eAAe,CAAC,CAAC;MACxB;IACD,CAAC;IACDC,QAAQ,EAAE;EACX,CAAC;EAED,OAAO;IACNC,SAAS,EAAEzC,IAAI,CAAE,wCAAwC,EAAE;MAC1D,YAAY,EAAEuB,SAAS,IAAIJ,MAAM,KAAK;IACvC,CAAE,CAAC;IACH,IAAKA,MAAM,KAAK,MAAM,GAAGM,mBAAmB,GAAG,CAAC,CAAC;EAClD,CAAC;AACF","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/block-editor/use-editor-iframe-props.js"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { useState, useEffect } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as editorStore } from '@wordpress/editor';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nexport default function useEditorIframeProps() {\n\tconst { query, path } = useLocation();\n\tconst history = useHistory();\n\tconst { canvas = 'view' } = query;\n\tconst currentPostIsTrashed = useSelect( ( select ) => {\n\t\treturn (\n\t\t\tselect( editorStore ).getCurrentPostAttribute( 'status' ) ===\n\t\t\t'trash'\n\t\t);\n\t}, [] );\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( canvas === 'edit' ) {\n\t\t\tsetIsFocused( false );\n\t\t}\n\t}, [ canvas ] );\n\n\t// In view mode, make the canvas iframe be perceived and behave as a button\n\t// to switch to edit mode, with a meaningful label and no title attribute.\n\tconst viewModeIframeProps = {\n\t\t'aria-label': __( 'Edit' ),\n\t\t'aria-disabled': currentPostIsTrashed,\n\t\ttitle: null,\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tconst { keyCode } = event;\n\t\t\tif (\n\t\t\t\t( keyCode === ENTER || keyCode === SPACE ) &&\n\t\t\t\t! currentPostIsTrashed\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\thistory.navigate( addQueryArgs( path, { canvas: 'edit' } ), {\n\t\t\t\t\ttransition: 'canvas-mode-edit-transition',\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\tonClick: () =>\n\t\t\thistory.navigate( addQueryArgs( path, { canvas: 'edit' } ), {\n\t\t\t\ttransition: 'canvas-mode-edit-transition',\n\t\t\t} ),\n\t\tonClickCapture: ( event ) => {\n\t\t\tif ( currentPostIsTrashed ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\n\treturn {\n\t\tclassName: clsx( 'edit-site-visual-editor__editor-canvas', {\n\t\t\t'is-focused': isFocused && canvas === 'view',\n\t\t} ),\n\t\t...( canvas === 'view' ? viewModeIframeProps : {} ),\n\t};\n}\n"],
5
+ "mappings": "AAGA,OAAO,UAAU;AAKjB,SAAS,iBAAiB;AAC1B,SAAS,OAAO,aAAa;AAC7B,SAAS,UAAU,iBAAiB;AACpC,SAAS,UAAU;AACnB,SAAS,SAAS,mBAAmB;AACrC,SAAS,eAAe,yBAAyB;AACjD,SAAS,oBAAoB;AAK7B,SAAS,cAAc;AAEvB,MAAM,EAAE,aAAa,WAAW,IAAI,OAAQ,iBAAkB;AAE/C,SAAR,uBAAwC;AAC9C,QAAM,EAAE,OAAO,KAAK,IAAI,YAAY;AACpC,QAAM,UAAU,WAAW;AAC3B,QAAM,EAAE,SAAS,OAAO,IAAI;AAC5B,QAAM,uBAAuB,UAAW,CAAE,WAAY;AACrD,WACC,OAAQ,WAAY,EAAE,wBAAyB,QAAS,MACxD;AAAA,EAEF,GAAG,CAAC,CAAE;AACN,QAAM,CAAE,WAAW,YAAa,IAAI,SAAU,KAAM;AAEpD,YAAW,MAAM;AAChB,QAAK,WAAW,QAAS;AACxB,mBAAc,KAAM;AAAA,IACrB;AAAA,EACD,GAAG,CAAE,MAAO,CAAE;AAId,QAAM,sBAAsB;AAAA,IAC3B,cAAc,GAAI,MAAO;AAAA,IACzB,iBAAiB;AAAA,IACjB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,UAAU;AAAA,IACV,SAAS,MAAM,aAAc,IAAK;AAAA,IAClC,QAAQ,MAAM,aAAc,KAAM;AAAA,IAClC,WAAW,CAAE,UAAW;AACvB,YAAM,EAAE,QAAQ,IAAI;AACpB,WACG,YAAY,SAAS,YAAY,UACnC,CAAE,sBACD;AACD,cAAM,eAAe;AACrB,gBAAQ,SAAU,aAAc,MAAM,EAAE,QAAQ,OAAO,CAAE,GAAG;AAAA,UAC3D,YAAY;AAAA,QACb,CAAE;AAAA,MACH;AAAA,IACD;AAAA,IACA,SAAS,MACR,QAAQ,SAAU,aAAc,MAAM,EAAE,QAAQ,OAAO,CAAE,GAAG;AAAA,MAC3D,YAAY;AAAA,IACb,CAAE;AAAA,IACH,gBAAgB,CAAE,UAAW;AAC5B,UAAK,sBAAuB;AAC3B,cAAM,eAAe;AACrB,cAAM,gBAAgB;AAAA,MACvB;AAAA,IACD;AAAA,IACA,UAAU;AAAA,EACX;AAEA,SAAO;AAAA,IACN,WAAW,KAAM,0CAA0C;AAAA,MAC1D,cAAc,aAAa,WAAW;AAAA,IACvC,CAAE;AAAA,IACF,GAAK,WAAW,SAAS,sBAAsB,CAAC;AAAA,EACjD;AACD;",
6
+ "names": []
7
+ }
@@ -1,21 +1,20 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { privateApis as routerPrivateApis } from '@wordpress/router';
5
- import { useCallback } from '@wordpress/element';
6
-
7
- /**
8
- * Internal dependencies
9
- */
10
- import { unlock } from '../../lock-unlock';
11
- const {
12
- useHistory
13
- } = unlock(routerPrivateApis);
14
- export default function useNavigateToEntityRecord() {
1
+ import { privateApis as routerPrivateApis } from "@wordpress/router";
2
+ import { useCallback } from "@wordpress/element";
3
+ import { unlock } from "../../lock-unlock";
4
+ const { useHistory } = unlock(routerPrivateApis);
5
+ function useNavigateToEntityRecord() {
15
6
  const history = useHistory();
16
- const onNavigateToEntityRecord = useCallback(params => {
17
- history.navigate(`/${params.postType}/${params.postId}?canvas=edit&focusMode=true`);
18
- }, [history]);
7
+ const onNavigateToEntityRecord = useCallback(
8
+ (params) => {
9
+ history.navigate(
10
+ `/${params.postType}/${params.postId}?canvas=edit&focusMode=true`
11
+ );
12
+ },
13
+ [history]
14
+ );
19
15
  return onNavigateToEntityRecord;
20
16
  }
21
- //# sourceMappingURL=use-navigate-to-entity-record.js.map
17
+ export {
18
+ useNavigateToEntityRecord as default
19
+ };
20
+ //# sourceMappingURL=use-navigate-to-entity-record.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["privateApis","routerPrivateApis","useCallback","unlock","useHistory","useNavigateToEntityRecord","history","onNavigateToEntityRecord","params","navigate","postType","postId"],"sources":["@wordpress/edit-site/src/components/block-editor/use-navigate-to-entity-record.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport default function useNavigateToEntityRecord() {\n\tconst history = useHistory();\n\n\tconst onNavigateToEntityRecord = useCallback(\n\t\t( params ) => {\n\t\t\thistory.navigate(\n\t\t\t\t`/${ params.postType }/${ params.postId }?canvas=edit&focusMode=true`\n\t\t\t);\n\t\t},\n\t\t[ history ]\n\t);\n\n\treturn onNavigateToEntityRecord;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,WAAW,QAAQ,oBAAoB;;AAEhD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAW,CAAC,GAAGD,MAAM,CAAEF,iBAAkB,CAAC;AAElD,eAAe,SAASI,yBAAyBA,CAAA,EAAG;EACnD,MAAMC,OAAO,GAAGF,UAAU,CAAC,CAAC;EAE5B,MAAMG,wBAAwB,GAAGL,WAAW,CACzCM,MAAM,IAAM;IACbF,OAAO,CAACG,QAAQ,CACf,IAAKD,MAAM,CAACE,QAAQ,IAAMF,MAAM,CAACG,MAAM,6BACxC,CAAC;EACF,CAAC,EACD,CAAEL,OAAO,CACV,CAAC;EAED,OAAOC,wBAAwB;AAChC","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/block-editor/use-navigate-to-entity-record.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport default function useNavigateToEntityRecord() {\n\tconst history = useHistory();\n\n\tconst onNavigateToEntityRecord = useCallback(\n\t\t( params ) => {\n\t\t\thistory.navigate(\n\t\t\t\t`/${ params.postType }/${ params.postId }?canvas=edit&focusMode=true`\n\t\t\t);\n\t\t},\n\t\t[ history ]\n\t);\n\n\treturn onNavigateToEntityRecord;\n}\n"],
5
+ "mappings": "AAGA,SAAS,eAAe,yBAAyB;AACjD,SAAS,mBAAmB;AAK5B,SAAS,cAAc;AAEvB,MAAM,EAAE,WAAW,IAAI,OAAQ,iBAAkB;AAElC,SAAR,4BAA6C;AACnD,QAAM,UAAU,WAAW;AAE3B,QAAM,2BAA2B;AAAA,IAChC,CAAE,WAAY;AACb,cAAQ;AAAA,QACP,IAAK,OAAO,QAAS,IAAK,OAAO,MAAO;AAAA,MACzC;AAAA,IACD;AAAA,IACA,CAAE,OAAQ;AAAA,EACX;AAEA,SAAO;AACR;",
6
+ "names": []
7
+ }
@@ -1,51 +1,30 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useSelect } from '@wordpress/data';
5
- import { useMemo } from '@wordpress/element';
6
- import { privateApis as routerPrivateApis } from '@wordpress/router';
7
- import { usePrevious } from '@wordpress/compose';
8
-
9
- /**
10
- * Internal dependencies
11
- */
12
- import { store as editSiteStore } from '../../store';
13
- import { unlock } from '../../lock-unlock';
14
- import useNavigateToEntityRecord from './use-navigate-to-entity-record';
15
- import { FOCUSABLE_ENTITIES } from '../../utils/constants';
16
- const {
17
- useLocation,
18
- useHistory
19
- } = unlock(routerPrivateApis);
1
+ import { useSelect } from "@wordpress/data";
2
+ import { useMemo } from "@wordpress/element";
3
+ import { privateApis as routerPrivateApis } from "@wordpress/router";
4
+ import { usePrevious } from "@wordpress/compose";
5
+ import { store as editSiteStore } from "../../store";
6
+ import { unlock } from "../../lock-unlock";
7
+ import useNavigateToEntityRecord from "./use-navigate-to-entity-record";
8
+ import { FOCUSABLE_ENTITIES } from "../../utils/constants";
9
+ const { useLocation, useHistory } = unlock(routerPrivateApis);
20
10
  function useNavigateToPreviousEntityRecord() {
21
11
  const location = useLocation();
22
12
  const previousLocation = usePrevious(location);
23
13
  const history = useHistory();
24
14
  const goBack = useMemo(() => {
25
15
  const isFocusMode = location.query.focusMode || location?.params?.postId && FOCUSABLE_ENTITIES.includes(location?.params?.postType);
26
- const didComeFromEditorCanvas = previousLocation?.query.canvas === 'edit';
16
+ const didComeFromEditorCanvas = previousLocation?.query.canvas === "edit";
27
17
  const showBackButton = isFocusMode && didComeFromEditorCanvas;
28
- return showBackButton ? () => history.back() : undefined;
29
- // `previousLocation` changes when the component updates for any reason, not
30
- // just when location changes. Until this is fixed we can't add it to deps. See
31
- // https://github.com/WordPress/gutenberg/pull/58710#discussion_r1479219465.
18
+ return showBackButton ? () => history.back() : void 0;
32
19
  }, [location, history]);
33
20
  return goBack;
34
21
  }
35
- export function useSpecificEditorSettings() {
36
- const {
37
- query
38
- } = useLocation();
39
- const {
40
- canvas = 'view'
41
- } = query;
22
+ function useSpecificEditorSettings() {
23
+ const { query } = useLocation();
24
+ const { canvas = "view" } = query;
42
25
  const onNavigateToEntityRecord = useNavigateToEntityRecord();
43
- const {
44
- settings
45
- } = useSelect(select => {
46
- const {
47
- getSettings
48
- } = select(editSiteStore);
26
+ const { settings } = useSelect((select) => {
27
+ const { getSettings } = select(editSiteStore);
49
28
  return {
50
29
  settings: getSettings()
51
30
  };
@@ -56,12 +35,20 @@ export function useSpecificEditorSettings() {
56
35
  ...settings,
57
36
  richEditingEnabled: true,
58
37
  supportsTemplateMode: true,
59
- focusMode: canvas !== 'view',
38
+ focusMode: canvas !== "view",
60
39
  onNavigateToEntityRecord,
61
40
  onNavigateToPreviousEntityRecord,
62
- isPreviewMode: canvas === 'view'
41
+ isPreviewMode: canvas === "view"
63
42
  };
64
- }, [settings, canvas, onNavigateToEntityRecord, onNavigateToPreviousEntityRecord]);
43
+ }, [
44
+ settings,
45
+ canvas,
46
+ onNavigateToEntityRecord,
47
+ onNavigateToPreviousEntityRecord
48
+ ]);
65
49
  return defaultEditorSettings;
66
50
  }
67
- //# sourceMappingURL=use-site-editor-settings.js.map
51
+ export {
52
+ useSpecificEditorSettings
53
+ };
54
+ //# sourceMappingURL=use-site-editor-settings.js.map