@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,91 +1,57 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useSelect } from '@wordpress/data';
5
- import { store as coreStore } from '@wordpress/core-data';
6
- import { decodeEntities } from '@wordpress/html-entities';
7
- import { useMemo, useCallback } from '@wordpress/element';
8
- import { __, _x, sprintf } from '@wordpress/i18n';
9
- import { blockMeta, post, archive } from '@wordpress/icons';
10
- import { safeDecodeURI } from '@wordpress/url';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import { TEMPLATE_POST_TYPE } from '../../utils/constants';
1
+ import { useSelect } from "@wordpress/data";
2
+ import { store as coreStore } from "@wordpress/core-data";
3
+ import { decodeEntities } from "@wordpress/html-entities";
4
+ import { useMemo, useCallback } from "@wordpress/element";
5
+ import { __, _x, sprintf } from "@wordpress/i18n";
6
+ import { blockMeta, post, archive } from "@wordpress/icons";
7
+ import { safeDecodeURI } from "@wordpress/url";
8
+ import { TEMPLATE_POST_TYPE } from "../../utils/constants";
16
9
  const EMPTY_OBJECT = {};
17
-
18
- /**
19
- * @typedef IHasNameAndId
20
- * @property {string|number} id The entity's id.
21
- * @property {string} name The entity's name.
22
- */
23
-
24
10
  const getValueFromObjectPath = (object, path) => {
25
11
  let value = object;
26
- path.split('.').forEach(fieldName => {
12
+ path.split(".").forEach((fieldName) => {
27
13
  value = value?.[fieldName];
28
14
  });
29
15
  return value;
30
16
  };
31
-
32
- /**
33
- * Helper that adds a prefix to a post slug. The slug needs to be URL-decoded first,
34
- * so that we have raw Unicode characters there. The server will truncate the slug to
35
- * 200 characters, respecing Unicode char boundary. On the other hand, the server
36
- * doesn't detect urlencoded octet boundary and can possibly construct slugs that
37
- * are not valid urlencoded strings.
38
- * @param {string} prefix The prefix to add to the slug.
39
- * @param {string} slug The slug to add the prefix to.
40
- * @return {string} The slug with the prefix.
41
- */
42
17
  function prefixSlug(prefix, slug) {
43
18
  return `${prefix}-${safeDecodeURI(slug)}`;
44
19
  }
45
-
46
- /**
47
- * Helper util to map records to add a `name` prop from a
48
- * provided path, in order to handle all entities in the same
49
- * fashion(implementing`IHasNameAndId` interface).
50
- *
51
- * @param {Object[]} entities The array of entities.
52
- * @param {string} path The path to map a `name` property from the entity.
53
- * @return {IHasNameAndId[]} An array of entities that now implement the `IHasNameAndId` interface.
54
- */
55
- export const mapToIHasNameAndId = (entities, path) => {
56
- return (entities || []).map(entity => ({
20
+ const mapToIHasNameAndId = (entities, path) => {
21
+ return (entities || []).map((entity) => ({
57
22
  ...entity,
58
23
  name: decodeEntities(getValueFromObjectPath(entity, path))
59
24
  }));
60
25
  };
61
-
62
- /**
63
- * @typedef {Object} EntitiesInfo
64
- * @property {boolean} hasEntities If an entity has available records(posts, terms, etc..).
65
- * @property {number[]} existingEntitiesIds An array of the existing entities ids.
66
- */
67
-
68
- export const useExistingTemplates = () => {
69
- return useSelect(select => select(coreStore).getEntityRecords('postType', TEMPLATE_POST_TYPE, {
70
- per_page: -1
71
- }), []);
26
+ const useExistingTemplates = () => {
27
+ return useSelect(
28
+ (select) => select(coreStore).getEntityRecords(
29
+ "postType",
30
+ TEMPLATE_POST_TYPE,
31
+ {
32
+ per_page: -1
33
+ }
34
+ ),
35
+ []
36
+ );
72
37
  };
73
- export const useDefaultTemplateTypes = () => {
74
- return useSelect(select => select(coreStore).getCurrentTheme()?.default_template_types || [], []);
38
+ const useDefaultTemplateTypes = () => {
39
+ return useSelect(
40
+ (select) => select(coreStore).getCurrentTheme()?.default_template_types || [],
41
+ []
42
+ );
75
43
  };
76
44
  const usePublicPostTypes = () => {
77
- const postTypes = useSelect(select => select(coreStore).getPostTypes({
78
- per_page: -1
79
- }), []);
45
+ const postTypes = useSelect(
46
+ (select) => select(coreStore).getPostTypes({ per_page: -1 }),
47
+ []
48
+ );
80
49
  return useMemo(() => {
81
- const excludedPostTypes = ['attachment'];
82
- return postTypes?.filter(({
83
- viewable,
84
- slug
85
- }) => viewable && !excludedPostTypes.includes(slug)).sort((a, b) => {
86
- // Sort post types alphabetically by name,
87
- // but exclude the built-in 'post' type from sorting.
88
- if (a.slug === 'post' || b.slug === 'post') {
50
+ const excludedPostTypes = ["attachment"];
51
+ return postTypes?.filter(
52
+ ({ viewable, slug }) => viewable && !excludedPostTypes.includes(slug)
53
+ ).sort((a, b) => {
54
+ if (a.slug === "post" || b.slug === "post") {
89
55
  return 0;
90
56
  }
91
57
  return a.name.localeCompare(b.name);
@@ -93,377 +59,405 @@ const usePublicPostTypes = () => {
93
59
  }, [postTypes]);
94
60
  };
95
61
  const usePublicTaxonomies = () => {
96
- const taxonomies = useSelect(select => select(coreStore).getTaxonomies({
97
- per_page: -1
98
- }), []);
62
+ const taxonomies = useSelect(
63
+ (select) => select(coreStore).getTaxonomies({ per_page: -1 }),
64
+ []
65
+ );
99
66
  return useMemo(() => {
100
- return taxonomies?.filter(({
101
- visibility
102
- }) => visibility?.publicly_queryable);
67
+ return taxonomies?.filter(
68
+ ({ visibility }) => visibility?.publicly_queryable
69
+ );
103
70
  }, [taxonomies]);
104
71
  };
105
- export function usePostTypeArchiveMenuItems() {
72
+ function usePostTypeArchiveMenuItems() {
106
73
  const publicPostTypes = usePublicPostTypes();
107
- const postTypesWithArchives = useMemo(() => publicPostTypes?.filter(postType => postType.has_archive), [publicPostTypes]);
74
+ const postTypesWithArchives = useMemo(
75
+ () => publicPostTypes?.filter((postType) => postType.has_archive),
76
+ [publicPostTypes]
77
+ );
108
78
  const existingTemplates = useExistingTemplates();
109
- // We need to keep track of naming conflicts. If a conflict
110
- // occurs, we need to add slug.
111
- const postTypeLabels = useMemo(() => publicPostTypes?.reduce((accumulator, {
112
- labels
113
- }) => {
114
- const singularName = labels.singular_name.toLowerCase();
115
- accumulator[singularName] = (accumulator[singularName] || 0) + 1;
116
- return accumulator;
117
- }, {}), [publicPostTypes]);
118
- const needsUniqueIdentifier = useCallback(({
119
- labels,
120
- slug
121
- }) => {
122
- const singularName = labels.singular_name.toLowerCase();
123
- return postTypeLabels[singularName] > 1 && singularName !== slug;
124
- }, [postTypeLabels]);
125
- return useMemo(() => postTypesWithArchives?.filter(postType => !(existingTemplates || []).some(existingTemplate => existingTemplate.slug === 'archive-' + postType.slug)).map(postType => {
126
- let title;
127
- if (needsUniqueIdentifier(postType)) {
128
- title = sprintf(
129
- // translators: %1s: Name of the post type e.g: "Post"; %2s: Slug of the post type e.g: "book".
130
- __('Archive: %1$s (%2$s)'), postType.labels.singular_name, postType.slug);
131
- } else {
132
- title = sprintf(
133
- // translators: %s: Name of the post type e.g: "Post".
134
- __('Archive: %s'), postType.labels.singular_name);
135
- }
136
- return {
137
- slug: 'archive-' + postType.slug,
138
- description: sprintf(
139
- // translators: %s: Name of the post type e.g: "Post".
140
- __('Displays an archive with the latest posts of type: %s.'), postType.labels.singular_name),
141
- title,
142
- // `icon` is the `menu_icon` property of a post type. We
143
- // only handle `dashicons` for now, even if the `menu_icon`
144
- // also supports urls and svg as values.
145
- icon: typeof postType.icon === 'string' && postType.icon.startsWith('dashicons-') ? postType.icon.slice(10) : archive,
146
- templatePrefix: 'archive'
147
- };
148
- }) || [], [postTypesWithArchives, existingTemplates, needsUniqueIdentifier]);
79
+ const postTypeLabels = useMemo(
80
+ () => publicPostTypes?.reduce((accumulator, { labels }) => {
81
+ const singularName = labels.singular_name.toLowerCase();
82
+ accumulator[singularName] = (accumulator[singularName] || 0) + 1;
83
+ return accumulator;
84
+ }, {}),
85
+ [publicPostTypes]
86
+ );
87
+ const needsUniqueIdentifier = useCallback(
88
+ ({ labels, slug }) => {
89
+ const singularName = labels.singular_name.toLowerCase();
90
+ return postTypeLabels[singularName] > 1 && singularName !== slug;
91
+ },
92
+ [postTypeLabels]
93
+ );
94
+ return useMemo(
95
+ () => postTypesWithArchives?.filter(
96
+ (postType) => !(existingTemplates || []).some(
97
+ (existingTemplate) => existingTemplate.slug === "archive-" + postType.slug
98
+ )
99
+ ).map((postType) => {
100
+ let title;
101
+ if (needsUniqueIdentifier(postType)) {
102
+ title = sprintf(
103
+ // translators: %1s: Name of the post type e.g: "Post"; %2s: Slug of the post type e.g: "book".
104
+ __("Archive: %1$s (%2$s)"),
105
+ postType.labels.singular_name,
106
+ postType.slug
107
+ );
108
+ } else {
109
+ title = sprintf(
110
+ // translators: %s: Name of the post type e.g: "Post".
111
+ __("Archive: %s"),
112
+ postType.labels.singular_name
113
+ );
114
+ }
115
+ return {
116
+ slug: "archive-" + postType.slug,
117
+ description: sprintf(
118
+ // translators: %s: Name of the post type e.g: "Post".
119
+ __(
120
+ "Displays an archive with the latest posts of type: %s."
121
+ ),
122
+ postType.labels.singular_name
123
+ ),
124
+ title,
125
+ // `icon` is the `menu_icon` property of a post type. We
126
+ // only handle `dashicons` for now, even if the `menu_icon`
127
+ // also supports urls and svg as values.
128
+ icon: typeof postType.icon === "string" && postType.icon.startsWith("dashicons-") ? postType.icon.slice(10) : archive,
129
+ templatePrefix: "archive"
130
+ };
131
+ }) || [],
132
+ [postTypesWithArchives, existingTemplates, needsUniqueIdentifier]
133
+ );
149
134
  }
150
- export const usePostTypeMenuItems = onClickMenuItem => {
135
+ const usePostTypeMenuItems = (onClickMenuItem) => {
151
136
  const publicPostTypes = usePublicPostTypes();
152
137
  const defaultTemplateTypes = useDefaultTemplateTypes();
153
- // We need to keep track of naming conflicts. If a conflict
154
- // occurs, we need to add slug.
155
- const templateLabels = useMemo(() => publicPostTypes?.reduce((accumulator, {
156
- labels
157
- }) => {
158
- const templateName = (labels.template_name || labels.singular_name).toLowerCase();
159
- accumulator[templateName] = (accumulator[templateName] || 0) + 1;
160
- return accumulator;
161
- }, {}), [publicPostTypes]);
162
- const needsUniqueIdentifier = useCallback(({
163
- labels,
164
- slug
165
- }) => {
166
- const templateName = (labels.template_name || labels.singular_name).toLowerCase();
167
- return templateLabels[templateName] > 1 && templateName !== slug;
168
- }, [templateLabels]);
169
-
170
- // `page`is a special case in template hierarchy.
171
- const templatePrefixes = useMemo(() => publicPostTypes?.reduce((accumulator, {
172
- slug
173
- }) => {
174
- let suffix = slug;
175
- if (slug !== 'page') {
176
- suffix = `single-${suffix}`;
177
- }
178
- accumulator[slug] = suffix;
179
- return accumulator;
180
- }, {}), [publicPostTypes]);
181
- const postTypesInfo = useEntitiesInfo('postType', templatePrefixes);
182
- const menuItems = (publicPostTypes || []).reduce((accumulator, postType) => {
183
- const {
184
- slug,
185
- labels,
186
- icon
187
- } = postType;
188
- // We need to check if the general template is part of the
189
- // defaultTemplateTypes. If it is, just use that info and
190
- // augment it with the specific template functionality.
191
- const generalTemplateSlug = templatePrefixes[slug];
192
- const defaultTemplateType = defaultTemplateTypes?.find(({
193
- slug: _slug
194
- }) => _slug === generalTemplateSlug);
195
- const _needsUniqueIdentifier = needsUniqueIdentifier(postType);
196
- let menuItemTitle = labels.template_name || sprintf(
197
- // translators: %s: Name of the post type e.g: "Post".
198
- __('Single item: %s'), labels.singular_name);
199
- if (_needsUniqueIdentifier) {
200
- menuItemTitle = labels.template_name ? sprintf(
201
- // translators: 1: Name of the template e.g: "Single Item: Post". 2: Slug of the post type e.g: "book".
202
- _x('%1$s (%2$s)', 'post type menu label'), labels.template_name, slug) : sprintf(
203
- // translators: 1: Name of the post type e.g: "Post". 2: Slug of the post type e.g: "book".
204
- _x('Single item: %1$s (%2$s)', 'post type menu label'), labels.singular_name, slug);
205
- }
206
- const menuItem = defaultTemplateType ? {
207
- ...defaultTemplateType,
208
- templatePrefix: templatePrefixes[slug]
209
- } : {
210
- slug: generalTemplateSlug,
211
- title: menuItemTitle,
212
- description: sprintf(
213
- // translators: %s: Name of the post type e.g: "Post".
214
- __('Displays a single item: %s.'), labels.singular_name),
215
- // `icon` is the `menu_icon` property of a post type. We
216
- // only handle `dashicons` for now, even if the `menu_icon`
217
- // also supports urls and svg as values.
218
- icon: typeof icon === 'string' && icon.startsWith('dashicons-') ? icon.slice(10) : post,
219
- templatePrefix: templatePrefixes[slug]
220
- };
221
- const hasEntities = postTypesInfo?.[slug]?.hasEntities;
222
- // We have a different template creation flow only if they have entities.
223
- if (hasEntities) {
224
- menuItem.onClick = template => {
225
- onClickMenuItem({
226
- type: 'postType',
227
- slug,
228
- config: {
229
- recordNamePath: 'title.rendered',
230
- queryArgs: ({
231
- search
232
- }) => {
233
- return {
234
- _fields: 'id,title,slug,link',
235
- orderBy: search ? 'relevance' : 'modified',
236
- exclude: postTypesInfo[slug].existingEntitiesIds
237
- };
238
- },
239
- getSpecificTemplate: suggestion => {
240
- const templateSlug = prefixSlug(templatePrefixes[slug], suggestion.slug);
241
- return {
242
- title: templateSlug,
243
- slug: templateSlug,
244
- templatePrefix: templatePrefixes[slug]
245
- };
246
- }
247
- },
248
- labels,
249
- template
250
- });
138
+ const templateLabels = useMemo(
139
+ () => publicPostTypes?.reduce((accumulator, { labels }) => {
140
+ const templateName = (labels.template_name || labels.singular_name).toLowerCase();
141
+ accumulator[templateName] = (accumulator[templateName] || 0) + 1;
142
+ return accumulator;
143
+ }, {}),
144
+ [publicPostTypes]
145
+ );
146
+ const needsUniqueIdentifier = useCallback(
147
+ ({ labels, slug }) => {
148
+ const templateName = (labels.template_name || labels.singular_name).toLowerCase();
149
+ return templateLabels[templateName] > 1 && templateName !== slug;
150
+ },
151
+ [templateLabels]
152
+ );
153
+ const templatePrefixes = useMemo(
154
+ () => publicPostTypes?.reduce((accumulator, { slug }) => {
155
+ let suffix = slug;
156
+ if (slug !== "page") {
157
+ suffix = `single-${suffix}`;
158
+ }
159
+ accumulator[slug] = suffix;
160
+ return accumulator;
161
+ }, {}),
162
+ [publicPostTypes]
163
+ );
164
+ const postTypesInfo = useEntitiesInfo("postType", templatePrefixes);
165
+ const menuItems = (publicPostTypes || []).reduce(
166
+ (accumulator, postType) => {
167
+ const { slug, labels, icon } = postType;
168
+ const generalTemplateSlug = templatePrefixes[slug];
169
+ const defaultTemplateType = defaultTemplateTypes?.find(
170
+ ({ slug: _slug }) => _slug === generalTemplateSlug
171
+ );
172
+ const _needsUniqueIdentifier = needsUniqueIdentifier(postType);
173
+ let menuItemTitle = labels.template_name || sprintf(
174
+ // translators: %s: Name of the post type e.g: "Post".
175
+ __("Single item: %s"),
176
+ labels.singular_name
177
+ );
178
+ if (_needsUniqueIdentifier) {
179
+ menuItemTitle = labels.template_name ? sprintf(
180
+ // translators: 1: Name of the template e.g: "Single Item: Post". 2: Slug of the post type e.g: "book".
181
+ _x("%1$s (%2$s)", "post type menu label"),
182
+ labels.template_name,
183
+ slug
184
+ ) : sprintf(
185
+ // translators: 1: Name of the post type e.g: "Post". 2: Slug of the post type e.g: "book".
186
+ _x(
187
+ "Single item: %1$s (%2$s)",
188
+ "post type menu label"
189
+ ),
190
+ labels.singular_name,
191
+ slug
192
+ );
193
+ }
194
+ const menuItem = defaultTemplateType ? {
195
+ ...defaultTemplateType,
196
+ templatePrefix: templatePrefixes[slug]
197
+ } : {
198
+ slug: generalTemplateSlug,
199
+ title: menuItemTitle,
200
+ description: sprintf(
201
+ // translators: %s: Name of the post type e.g: "Post".
202
+ __("Displays a single item: %s."),
203
+ labels.singular_name
204
+ ),
205
+ // `icon` is the `menu_icon` property of a post type. We
206
+ // only handle `dashicons` for now, even if the `menu_icon`
207
+ // also supports urls and svg as values.
208
+ icon: typeof icon === "string" && icon.startsWith("dashicons-") ? icon.slice(10) : post,
209
+ templatePrefix: templatePrefixes[slug]
251
210
  };
252
- }
253
- // We don't need to add the menu item if there are no entities.
254
- if (hasEntities) {
255
- accumulator.push(menuItem);
256
- }
257
- return accumulator;
258
- }, []);
259
- // Split menu items into two groups: one for the default post types
260
- // and one for the rest.
261
- const postTypesMenuItems = useMemo(() => menuItems.reduce((accumulator, postType) => {
262
- const {
263
- slug
264
- } = postType;
265
- let key = 'postTypesMenuItems';
266
- if (slug === 'page') {
267
- key = 'defaultPostTypesMenuItems';
268
- }
269
- accumulator[key].push(postType);
270
- return accumulator;
271
- }, {
272
- defaultPostTypesMenuItems: [],
273
- postTypesMenuItems: []
274
- }), [menuItems]);
211
+ const hasEntities = postTypesInfo?.[slug]?.hasEntities;
212
+ if (hasEntities) {
213
+ menuItem.onClick = (template) => {
214
+ onClickMenuItem({
215
+ type: "postType",
216
+ slug,
217
+ config: {
218
+ recordNamePath: "title.rendered",
219
+ queryArgs: ({ search }) => {
220
+ return {
221
+ _fields: "id,title,slug,link",
222
+ orderBy: search ? "relevance" : "modified",
223
+ exclude: postTypesInfo[slug].existingEntitiesIds
224
+ };
225
+ },
226
+ getSpecificTemplate: (suggestion) => {
227
+ const templateSlug = prefixSlug(
228
+ templatePrefixes[slug],
229
+ suggestion.slug
230
+ );
231
+ return {
232
+ title: templateSlug,
233
+ slug: templateSlug,
234
+ templatePrefix: templatePrefixes[slug]
235
+ };
236
+ }
237
+ },
238
+ labels,
239
+ template
240
+ });
241
+ };
242
+ }
243
+ if (hasEntities) {
244
+ accumulator.push(menuItem);
245
+ }
246
+ return accumulator;
247
+ },
248
+ []
249
+ );
250
+ const postTypesMenuItems = useMemo(
251
+ () => menuItems.reduce(
252
+ (accumulator, postType) => {
253
+ const { slug } = postType;
254
+ let key = "postTypesMenuItems";
255
+ if (slug === "page") {
256
+ key = "defaultPostTypesMenuItems";
257
+ }
258
+ accumulator[key].push(postType);
259
+ return accumulator;
260
+ },
261
+ { defaultPostTypesMenuItems: [], postTypesMenuItems: [] }
262
+ ),
263
+ [menuItems]
264
+ );
275
265
  return postTypesMenuItems;
276
266
  };
277
- export const useTaxonomiesMenuItems = onClickMenuItem => {
267
+ const useTaxonomiesMenuItems = (onClickMenuItem) => {
278
268
  const publicTaxonomies = usePublicTaxonomies();
279
269
  const existingTemplates = useExistingTemplates();
280
270
  const defaultTemplateTypes = useDefaultTemplateTypes();
281
- // `category` and `post_tag` are special cases in template hierarchy.
282
- const templatePrefixes = useMemo(() => publicTaxonomies?.reduce((accumulator, {
283
- slug
284
- }) => {
285
- let suffix = slug;
286
- if (!['category', 'post_tag'].includes(slug)) {
287
- suffix = `taxonomy-${suffix}`;
288
- }
289
- if (slug === 'post_tag') {
290
- suffix = `tag`;
291
- }
292
- accumulator[slug] = suffix;
293
- return accumulator;
294
- }, {}), [publicTaxonomies]);
295
- // We need to keep track of naming conflicts. If a conflict
296
- // occurs, we need to add slug.
297
- const taxonomyLabels = publicTaxonomies?.reduce((accumulator, {
298
- labels
299
- }) => {
300
- const templateName = (labels.template_name || labels.singular_name).toLowerCase();
301
- accumulator[templateName] = (accumulator[templateName] || 0) + 1;
302
- return accumulator;
303
- }, {});
271
+ const templatePrefixes = useMemo(
272
+ () => publicTaxonomies?.reduce((accumulator, { slug }) => {
273
+ let suffix = slug;
274
+ if (!["category", "post_tag"].includes(slug)) {
275
+ suffix = `taxonomy-${suffix}`;
276
+ }
277
+ if (slug === "post_tag") {
278
+ suffix = `tag`;
279
+ }
280
+ accumulator[slug] = suffix;
281
+ return accumulator;
282
+ }, {}),
283
+ [publicTaxonomies]
284
+ );
285
+ const taxonomyLabels = publicTaxonomies?.reduce(
286
+ (accumulator, { labels }) => {
287
+ const templateName = (labels.template_name || labels.singular_name).toLowerCase();
288
+ accumulator[templateName] = (accumulator[templateName] || 0) + 1;
289
+ return accumulator;
290
+ },
291
+ {}
292
+ );
304
293
  const needsUniqueIdentifier = (labels, slug) => {
305
- if (['category', 'post_tag'].includes(slug)) {
294
+ if (["category", "post_tag"].includes(slug)) {
306
295
  return false;
307
296
  }
308
297
  const templateName = (labels.template_name || labels.singular_name).toLowerCase();
309
298
  return taxonomyLabels[templateName] > 1 && templateName !== slug;
310
299
  };
311
- const taxonomiesInfo = useEntitiesInfo('taxonomy', templatePrefixes);
312
- const existingTemplateSlugs = (existingTemplates || []).map(({
313
- slug
314
- }) => slug);
315
- const menuItems = (publicTaxonomies || []).reduce((accumulator, taxonomy) => {
316
- const {
317
- slug,
318
- labels
319
- } = taxonomy;
320
- // We need to check if the general template is part of the
321
- // defaultTemplateTypes. If it is, just use that info and
322
- // augment it with the specific template functionality.
323
- const generalTemplateSlug = templatePrefixes[slug];
324
- const defaultTemplateType = defaultTemplateTypes?.find(({
325
- slug: _slug
326
- }) => _slug === generalTemplateSlug);
327
- const hasGeneralTemplate = existingTemplateSlugs?.includes(generalTemplateSlug);
328
- const _needsUniqueIdentifier = needsUniqueIdentifier(labels, slug);
329
- let menuItemTitle = labels.template_name || labels.singular_name;
330
- if (_needsUniqueIdentifier) {
331
- menuItemTitle = labels.template_name ? sprintf(
332
- // translators: 1: Name of the template e.g: "Products by Category". 2: Slug of the taxonomy e.g: "product_cat".
333
- _x('%1$s (%2$s)', 'taxonomy template menu label'), labels.template_name, slug) : sprintf(
334
- // translators: 1: Name of the taxonomy e.g: "Category". 2: Slug of the taxonomy e.g: "product_cat".
335
- _x('%1$s (%2$s)', 'taxonomy menu label'), labels.singular_name, slug);
336
- }
337
- const menuItem = defaultTemplateType ? {
338
- ...defaultTemplateType,
339
- templatePrefix: templatePrefixes[slug]
340
- } : {
341
- slug: generalTemplateSlug,
342
- title: menuItemTitle,
343
- description: sprintf(
344
- // translators: %s: Name of the taxonomy e.g: "Product Categories".
345
- __('Displays taxonomy: %s.'), labels.singular_name),
346
- icon: blockMeta,
347
- templatePrefix: templatePrefixes[slug]
348
- };
349
- const hasEntities = taxonomiesInfo?.[slug]?.hasEntities;
350
- // We have a different template creation flow only if they have entities.
351
- if (hasEntities) {
352
- menuItem.onClick = template => {
353
- onClickMenuItem({
354
- type: 'taxonomy',
355
- slug,
356
- config: {
357
- queryArgs: ({
358
- search
359
- }) => {
360
- return {
361
- _fields: 'id,name,slug,link',
362
- orderBy: search ? 'name' : 'count',
363
- exclude: taxonomiesInfo[slug].existingEntitiesIds
364
- };
365
- },
366
- getSpecificTemplate: suggestion => {
367
- const templateSlug = prefixSlug(templatePrefixes[slug], suggestion.slug);
368
- return {
369
- title: templateSlug,
370
- slug: templateSlug,
371
- templatePrefix: templatePrefixes[slug]
372
- };
373
- }
374
- },
375
- labels,
376
- hasGeneralTemplate,
377
- template
378
- });
300
+ const taxonomiesInfo = useEntitiesInfo("taxonomy", templatePrefixes);
301
+ const existingTemplateSlugs = (existingTemplates || []).map(
302
+ ({ slug }) => slug
303
+ );
304
+ const menuItems = (publicTaxonomies || []).reduce(
305
+ (accumulator, taxonomy) => {
306
+ const { slug, labels } = taxonomy;
307
+ const generalTemplateSlug = templatePrefixes[slug];
308
+ const defaultTemplateType = defaultTemplateTypes?.find(
309
+ ({ slug: _slug }) => _slug === generalTemplateSlug
310
+ );
311
+ const hasGeneralTemplate = existingTemplateSlugs?.includes(generalTemplateSlug);
312
+ const _needsUniqueIdentifier = needsUniqueIdentifier(
313
+ labels,
314
+ slug
315
+ );
316
+ let menuItemTitle = labels.template_name || labels.singular_name;
317
+ if (_needsUniqueIdentifier) {
318
+ menuItemTitle = labels.template_name ? sprintf(
319
+ // translators: 1: Name of the template e.g: "Products by Category". 2: Slug of the taxonomy e.g: "product_cat".
320
+ _x("%1$s (%2$s)", "taxonomy template menu label"),
321
+ labels.template_name,
322
+ slug
323
+ ) : sprintf(
324
+ // translators: 1: Name of the taxonomy e.g: "Category". 2: Slug of the taxonomy e.g: "product_cat".
325
+ _x("%1$s (%2$s)", "taxonomy menu label"),
326
+ labels.singular_name,
327
+ slug
328
+ );
329
+ }
330
+ const menuItem = defaultTemplateType ? {
331
+ ...defaultTemplateType,
332
+ templatePrefix: templatePrefixes[slug]
333
+ } : {
334
+ slug: generalTemplateSlug,
335
+ title: menuItemTitle,
336
+ description: sprintf(
337
+ // translators: %s: Name of the taxonomy e.g: "Product Categories".
338
+ __("Displays taxonomy: %s."),
339
+ labels.singular_name
340
+ ),
341
+ icon: blockMeta,
342
+ templatePrefix: templatePrefixes[slug]
379
343
  };
380
- }
381
- // We don't need to add the menu item if there are no
382
- // entities and the general template exists.
383
- if (!hasGeneralTemplate || hasEntities) {
384
- accumulator.push(menuItem);
385
- }
386
- return accumulator;
387
- }, []);
388
- // Split menu items into two groups: one for the default taxonomies
389
- // and one for the rest.
390
- const taxonomiesMenuItems = useMemo(() => menuItems.reduce((accumulator, taxonomy) => {
391
- const {
392
- slug
393
- } = taxonomy;
394
- let key = 'taxonomiesMenuItems';
395
- if (['category', 'tag'].includes(slug)) {
396
- key = 'defaultTaxonomiesMenuItems';
397
- }
398
- accumulator[key].push(taxonomy);
399
- return accumulator;
400
- }, {
401
- defaultTaxonomiesMenuItems: [],
402
- taxonomiesMenuItems: []
403
- }), [menuItems]);
344
+ const hasEntities = taxonomiesInfo?.[slug]?.hasEntities;
345
+ if (hasEntities) {
346
+ menuItem.onClick = (template) => {
347
+ onClickMenuItem({
348
+ type: "taxonomy",
349
+ slug,
350
+ config: {
351
+ queryArgs: ({ search }) => {
352
+ return {
353
+ _fields: "id,name,slug,link",
354
+ orderBy: search ? "name" : "count",
355
+ exclude: taxonomiesInfo[slug].existingEntitiesIds
356
+ };
357
+ },
358
+ getSpecificTemplate: (suggestion) => {
359
+ const templateSlug = prefixSlug(
360
+ templatePrefixes[slug],
361
+ suggestion.slug
362
+ );
363
+ return {
364
+ title: templateSlug,
365
+ slug: templateSlug,
366
+ templatePrefix: templatePrefixes[slug]
367
+ };
368
+ }
369
+ },
370
+ labels,
371
+ hasGeneralTemplate,
372
+ template
373
+ });
374
+ };
375
+ }
376
+ if (!hasGeneralTemplate || hasEntities) {
377
+ accumulator.push(menuItem);
378
+ }
379
+ return accumulator;
380
+ },
381
+ []
382
+ );
383
+ const taxonomiesMenuItems = useMemo(
384
+ () => menuItems.reduce(
385
+ (accumulator, taxonomy) => {
386
+ const { slug } = taxonomy;
387
+ let key = "taxonomiesMenuItems";
388
+ if (["category", "tag"].includes(slug)) {
389
+ key = "defaultTaxonomiesMenuItems";
390
+ }
391
+ accumulator[key].push(taxonomy);
392
+ return accumulator;
393
+ },
394
+ { defaultTaxonomiesMenuItems: [], taxonomiesMenuItems: [] }
395
+ ),
396
+ [menuItems]
397
+ );
404
398
  return taxonomiesMenuItems;
405
399
  };
406
- const USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX = {
407
- user: 'author'
408
- };
409
- const USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS = {
410
- user: {
411
- who: 'authors'
412
- }
413
- };
414
- export function useAuthorMenuItem(onClickMenuItem) {
400
+ const USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX = { user: "author" };
401
+ const USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS = { user: { who: "authors" } };
402
+ function useAuthorMenuItem(onClickMenuItem) {
415
403
  const existingTemplates = useExistingTemplates();
416
404
  const defaultTemplateTypes = useDefaultTemplateTypes();
417
- const authorInfo = useEntitiesInfo('root', USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX, USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS);
418
- let authorMenuItem = defaultTemplateTypes?.find(({
419
- slug
420
- }) => slug === 'author');
405
+ const authorInfo = useEntitiesInfo(
406
+ "root",
407
+ USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX,
408
+ USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS
409
+ );
410
+ let authorMenuItem = defaultTemplateTypes?.find(
411
+ ({ slug }) => slug === "author"
412
+ );
421
413
  if (!authorMenuItem) {
422
414
  authorMenuItem = {
423
- description: __('Displays latest posts written by a single author.'),
424
- slug: 'author',
425
- title: 'Author'
415
+ description: __(
416
+ "Displays latest posts written by a single author."
417
+ ),
418
+ slug: "author",
419
+ title: "Author"
426
420
  };
427
421
  }
428
- const hasGeneralTemplate = !!existingTemplates?.find(({
429
- slug
430
- }) => slug === 'author');
422
+ const hasGeneralTemplate = !!existingTemplates?.find(
423
+ ({ slug }) => slug === "author"
424
+ );
431
425
  if (authorInfo.user?.hasEntities) {
432
- authorMenuItem = {
433
- ...authorMenuItem,
434
- templatePrefix: 'author'
435
- };
436
- authorMenuItem.onClick = template => {
426
+ authorMenuItem = { ...authorMenuItem, templatePrefix: "author" };
427
+ authorMenuItem.onClick = (template) => {
437
428
  onClickMenuItem({
438
- type: 'root',
439
- slug: 'user',
429
+ type: "root",
430
+ slug: "user",
440
431
  config: {
441
- queryArgs: ({
442
- search
443
- }) => {
432
+ queryArgs: ({ search }) => {
444
433
  return {
445
- _fields: 'id,name,slug,link',
446
- orderBy: search ? 'name' : 'registered_date',
434
+ _fields: "id,name,slug,link",
435
+ orderBy: search ? "name" : "registered_date",
447
436
  exclude: authorInfo.user.existingEntitiesIds,
448
- who: 'authors'
437
+ who: "authors"
449
438
  };
450
439
  },
451
- getSpecificTemplate: suggestion => {
452
- const templateSlug = prefixSlug('author', suggestion.slug);
440
+ getSpecificTemplate: (suggestion) => {
441
+ const templateSlug = prefixSlug(
442
+ "author",
443
+ suggestion.slug
444
+ );
453
445
  return {
454
446
  title: sprintf(
455
- // translators: %s: Name of the author e.g: "Admin".
456
- __('Author: %s'), suggestion.name),
447
+ // translators: %s: Name of the author e.g: "Admin".
448
+ __("Author: %s"),
449
+ suggestion.name
450
+ ),
457
451
  slug: templateSlug,
458
- templatePrefix: 'author'
452
+ templatePrefix: "author"
459
453
  };
460
454
  }
461
455
  },
462
456
  labels: {
463
- singular_name: __('Author'),
464
- search_items: __('Search Authors'),
465
- not_found: __('No authors found.'),
466
- all_items: __('All Authors')
457
+ singular_name: __("Author"),
458
+ search_items: __("Search Authors"),
459
+ not_found: __("No authors found."),
460
+ all_items: __("All Authors")
467
461
  },
468
462
  hasGeneralTemplate,
469
463
  template
@@ -474,42 +468,46 @@ export function useAuthorMenuItem(onClickMenuItem) {
474
468
  return authorMenuItem;
475
469
  }
476
470
  }
477
-
478
- /**
479
- * Helper hook that returns information about an entity having
480
- * records that we can create a specific template for.
481
- *
482
- * For example we can search for `terms` in `taxonomy` entity or
483
- * `posts` in `postType` entity.
484
- *
485
- * First we need to find the existing records with an associated template,
486
- * to query afterwards for any remaining record, by excluding them.
487
- *
488
- * @param {string} entityName The entity's name.
489
- * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.
490
- * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.
491
- * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the EntitiesInfo as value.
492
- */
493
471
  const useEntitiesInfo = (entityName, templatePrefixes, additionalQueryParameters = EMPTY_OBJECT) => {
494
- const entitiesHasRecords = useSelect(select => {
495
- return Object.keys(templatePrefixes || {}).reduce((accumulator, slug) => {
496
- accumulator[slug] = !!select(coreStore).getEntityRecords(entityName, slug, {
497
- per_page: 1,
498
- _fields: 'id',
499
- context: 'view',
500
- ...additionalQueryParameters[slug]
501
- })?.length;
502
- return accumulator;
503
- }, {});
504
- }, [templatePrefixes, entityName, additionalQueryParameters]);
472
+ const entitiesHasRecords = useSelect(
473
+ (select) => {
474
+ return Object.keys(templatePrefixes || {}).reduce(
475
+ (accumulator, slug) => {
476
+ accumulator[slug] = !!select(
477
+ coreStore
478
+ ).getEntityRecords(entityName, slug, {
479
+ per_page: 1,
480
+ _fields: "id",
481
+ context: "view",
482
+ ...additionalQueryParameters[slug]
483
+ })?.length;
484
+ return accumulator;
485
+ },
486
+ {}
487
+ );
488
+ },
489
+ [templatePrefixes, entityName, additionalQueryParameters]
490
+ );
505
491
  const entitiesInfo = useMemo(() => {
506
- return Object.keys(templatePrefixes || {}).reduce((accumulator, slug) => {
507
- accumulator[slug] = {
508
- hasEntities: entitiesHasRecords[slug]
509
- };
510
- return accumulator;
511
- }, {});
492
+ return Object.keys(templatePrefixes || {}).reduce(
493
+ (accumulator, slug) => {
494
+ accumulator[slug] = {
495
+ hasEntities: entitiesHasRecords[slug]
496
+ };
497
+ return accumulator;
498
+ },
499
+ {}
500
+ );
512
501
  }, [templatePrefixes, entitiesHasRecords]);
513
502
  return entitiesInfo;
514
503
  };
515
- //# sourceMappingURL=utils.js.map
504
+ export {
505
+ mapToIHasNameAndId,
506
+ useAuthorMenuItem,
507
+ useDefaultTemplateTypes,
508
+ useExistingTemplates,
509
+ usePostTypeArchiveMenuItems,
510
+ usePostTypeMenuItems,
511
+ useTaxonomiesMenuItems
512
+ };
513
+ //# sourceMappingURL=utils.js.map