@wordpress/edit-site 5.34.0 → 6.0.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 (977) hide show
  1. package/CHANGELOG.md +16 -3
  2. package/build/components/add-new-page/index.js +33 -27
  3. package/build/components/add-new-page/index.js.map +1 -1
  4. package/build/components/add-new-pattern/index.js +95 -78
  5. package/build/components/add-new-pattern/index.js.map +1 -1
  6. package/build/components/add-new-template/add-custom-generic-template-modal-content.js +35 -30
  7. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  8. package/build/components/add-new-template/add-custom-template-modal-content.js +119 -95
  9. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  10. package/build/components/add-new-template/index.js +89 -73
  11. package/build/components/add-new-template/index.js.map +1 -1
  12. package/build/components/add-new-template/utils.js +36 -17
  13. package/build/components/add-new-template/utils.js.map +1 -1
  14. package/build/components/app/index.js +13 -5
  15. package/build/components/app/index.js.map +1 -1
  16. package/build/components/block-editor/block-inspector-button.js +5 -4
  17. package/build/components/block-editor/block-inspector-button.js.map +1 -1
  18. package/build/components/block-editor/use-editor-iframe-props.js +88 -0
  19. package/build/components/block-editor/use-editor-iframe-props.js.map +1 -0
  20. package/build/components/canvas-loader/index.js +13 -12
  21. package/build/components/canvas-loader/index.js.map +1 -1
  22. package/build/components/dataviews-actions/index.js +49 -0
  23. package/build/components/dataviews-actions/index.js.map +1 -0
  24. package/build/components/editor/index.js +107 -140
  25. package/build/components/editor/index.js.map +1 -1
  26. package/build/components/editor-canvas-container/index.js +27 -29
  27. package/build/components/editor-canvas-container/index.js.map +1 -1
  28. package/build/components/error-boundary/index.js +2 -2
  29. package/build/components/error-boundary/index.js.map +1 -1
  30. package/build/components/error-boundary/warning.js +13 -11
  31. package/build/components/error-boundary/warning.js.map +1 -1
  32. package/build/components/global-styles/background-panel.js +19 -6
  33. package/build/components/global-styles/background-panel.js.map +1 -1
  34. package/build/components/global-styles/block-preview-panel.js +19 -17
  35. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  36. package/build/components/global-styles/color-indicator-wrapper.js +4 -4
  37. package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
  38. package/build/components/global-styles/color-palette-panel.js +32 -28
  39. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  40. package/build/components/global-styles/dimensions-panel.js +2 -2
  41. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  42. package/build/components/global-styles/font-families.js +55 -39
  43. package/build/components/global-styles/font-families.js.map +1 -1
  44. package/build/components/global-styles/font-family-item.js +17 -13
  45. package/build/components/global-styles/font-family-item.js.map +1 -1
  46. package/build/components/global-styles/font-library-modal/collection-font-variant.js +25 -22
  47. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  48. package/build/components/global-styles/font-library-modal/context.js +7 -30
  49. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  50. package/build/components/global-styles/font-library-modal/font-card.js +24 -16
  51. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
  52. package/build/components/global-styles/font-library-modal/font-collection.js +195 -152
  53. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  54. package/build/components/global-styles/font-library-modal/font-demo.js +14 -12
  55. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  56. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +29 -20
  57. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  58. package/build/components/global-styles/font-library-modal/index.js +41 -36
  59. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  60. package/build/components/global-styles/font-library-modal/installed-fonts.js +153 -109
  61. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  62. package/build/components/global-styles/font-library-modal/library-font-details.js +16 -14
  63. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  64. package/build/components/global-styles/font-library-modal/library-font-variant.js +25 -22
  65. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  66. package/build/components/global-styles/font-library-modal/upload-fonts.js +40 -34
  67. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  68. package/build/components/global-styles/font-library-modal/utils/index.js +3 -3
  69. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  70. package/build/components/global-styles/gradients-palette-panel.js +41 -38
  71. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  72. package/build/components/global-styles/header.js +37 -28
  73. package/build/components/global-styles/header.js.map +1 -1
  74. package/build/components/global-styles/highlighted-colors.js +3 -4
  75. package/build/components/global-styles/highlighted-colors.js.map +1 -1
  76. package/build/components/global-styles/hooks.js +11 -20
  77. package/build/components/global-styles/hooks.js.map +1 -1
  78. package/build/components/global-styles/icon-with-current-color.js +4 -4
  79. package/build/components/global-styles/icon-with-current-color.js.map +1 -1
  80. package/build/components/global-styles/navigation-button.js +15 -11
  81. package/build/components/global-styles/navigation-button.js.map +1 -1
  82. package/build/components/global-styles/palette.js +39 -32
  83. package/build/components/global-styles/palette.js.map +1 -1
  84. package/build/components/global-styles/preset-colors.js +28 -0
  85. package/build/components/global-styles/preset-colors.js.map +1 -0
  86. package/build/components/global-styles/preview-colors.js +23 -25
  87. package/build/components/global-styles/preview-colors.js.map +1 -1
  88. package/build/components/global-styles/preview-iframe.js +34 -29
  89. package/build/components/global-styles/preview-iframe.js.map +1 -1
  90. package/build/components/global-styles/preview-styles.js +95 -90
  91. package/build/components/global-styles/preview-styles.js.map +1 -1
  92. package/build/components/global-styles/root-menu.js +28 -21
  93. package/build/components/global-styles/root-menu.js.map +1 -1
  94. package/build/components/global-styles/screen-background.js +6 -4
  95. package/build/components/global-styles/screen-background.js.map +1 -1
  96. package/build/components/global-styles/screen-block-list.js +33 -27
  97. package/build/components/global-styles/screen-block-list.js.map +1 -1
  98. package/build/components/global-styles/screen-block.js +62 -53
  99. package/build/components/global-styles/screen-block.js.map +1 -1
  100. package/build/components/global-styles/screen-color-palette.js +29 -19
  101. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  102. package/build/components/global-styles/screen-colors.js +18 -17
  103. package/build/components/global-styles/screen-colors.js.map +1 -1
  104. package/build/components/global-styles/screen-css.js +20 -14
  105. package/build/components/global-styles/screen-css.js.map +1 -1
  106. package/build/components/global-styles/screen-layout.js +9 -4
  107. package/build/components/global-styles/screen-layout.js.map +1 -1
  108. package/build/components/global-styles/screen-revisions/index.js +52 -42
  109. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  110. package/build/components/global-styles/screen-revisions/revisions-buttons.js +82 -71
  111. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  112. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -0
  113. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  114. package/build/components/global-styles/screen-root.js +76 -42
  115. package/build/components/global-styles/screen-root.js.map +1 -1
  116. package/build/components/global-styles/screen-shadows.js +22 -0
  117. package/build/components/global-styles/screen-shadows.js.map +1 -0
  118. package/build/components/global-styles/screen-style-variations.js +14 -9
  119. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  120. package/build/components/global-styles/screen-typography-element.js +50 -45
  121. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  122. package/build/components/global-styles/screen-typography.js +15 -11
  123. package/build/components/global-styles/screen-typography.js.map +1 -1
  124. package/build/components/global-styles/shadow-utils.js +230 -0
  125. package/build/components/global-styles/shadow-utils.js.map +1 -0
  126. package/build/components/global-styles/shadows-edit-panel.js +458 -0
  127. package/build/components/global-styles/shadows-edit-panel.js.map +1 -0
  128. package/build/components/global-styles/shadows-panel.js +128 -0
  129. package/build/components/global-styles/shadows-panel.js.map +1 -0
  130. package/build/components/global-styles/style-variations-container.js +67 -18
  131. package/build/components/global-styles/style-variations-container.js.map +1 -1
  132. package/build/components/global-styles/subtitle.js +5 -4
  133. package/build/components/global-styles/subtitle.js.map +1 -1
  134. package/build/components/global-styles/typography-elements.js +53 -45
  135. package/build/components/global-styles/typography-elements.js.map +1 -1
  136. package/build/components/global-styles/typography-example.js +16 -10
  137. package/build/components/global-styles/typography-example.js.map +1 -1
  138. package/build/components/global-styles/typography-panel.js +2 -2
  139. package/build/components/global-styles/typography-panel.js.map +1 -1
  140. package/build/components/global-styles/typography-preview.js +5 -4
  141. package/build/components/global-styles/typography-preview.js.map +1 -1
  142. package/build/components/global-styles/ui.js +124 -89
  143. package/build/components/global-styles/ui.js.map +1 -1
  144. package/build/components/global-styles/utils.js +28 -0
  145. package/build/components/global-styles/utils.js.map +1 -1
  146. package/build/components/global-styles/variations/variation.js +36 -25
  147. package/build/components/global-styles/variations/variation.js.map +1 -1
  148. package/build/components/global-styles/variations/variations-color.js +19 -14
  149. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  150. package/build/components/global-styles/variations/variations-panel.js +27 -17
  151. package/build/components/global-styles/variations/variations-panel.js.map +1 -1
  152. package/build/components/global-styles/variations/variations-typography.js +37 -31
  153. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  154. package/build/components/global-styles-renderer/index.js +5 -1
  155. package/build/components/global-styles-renderer/index.js.map +1 -1
  156. package/build/components/global-styles-sidebar/default-sidebar.js +56 -0
  157. package/build/components/global-styles-sidebar/default-sidebar.js.map +1 -0
  158. package/build/components/{sidebar-edit-mode/global-styles-sidebar.js → global-styles-sidebar/index.js} +37 -26
  159. package/build/components/global-styles-sidebar/index.js.map +1 -0
  160. package/build/components/layout/index.js +113 -99
  161. package/build/components/layout/index.js.map +1 -1
  162. package/build/components/layout/router.js +110 -75
  163. package/build/components/layout/router.js.map +1 -1
  164. package/build/components/media/index.js +2 -2
  165. package/build/components/media/index.js.map +1 -1
  166. package/build/components/{header-edit-mode/more-menu → more-menu}/index.js +7 -3
  167. package/build/components/more-menu/index.js.map +1 -0
  168. package/build/components/{header-edit-mode/more-menu → more-menu}/site-export.js +5 -4
  169. package/build/components/more-menu/site-export.js.map +1 -0
  170. package/build/components/{header-edit-mode/more-menu → more-menu}/welcome-guide-menu-item.js +5 -4
  171. package/build/components/more-menu/welcome-guide-menu-item.js.map +1 -0
  172. package/build/components/page/header.js +24 -20
  173. package/build/components/page/header.js.map +1 -1
  174. package/build/components/page/index.js +14 -12
  175. package/build/components/page/index.js.map +1 -1
  176. package/build/components/page-pages/index.js +136 -66
  177. package/build/components/page-pages/index.js.map +1 -1
  178. package/build/components/page-patterns/delete-category-menu-item.js +23 -20
  179. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -1
  180. package/build/components/page-patterns/header.js +47 -32
  181. package/build/components/page-patterns/header.js.map +1 -1
  182. package/build/components/page-patterns/index.js +120 -125
  183. package/build/components/page-patterns/index.js.map +1 -1
  184. package/build/components/page-patterns/rename-category-menu-item.js +14 -11
  185. package/build/components/page-patterns/rename-category-menu-item.js.map +1 -1
  186. package/build/components/page-patterns/use-patterns.js +7 -6
  187. package/build/components/page-patterns/use-patterns.js.map +1 -1
  188. package/build/components/page-templates/index.js +83 -72
  189. package/build/components/page-templates/index.js.map +1 -1
  190. package/build/components/pagination/index.js +51 -42
  191. package/build/components/pagination/index.js.map +1 -1
  192. package/build/components/plugin-template-setting-panel/index.js +4 -2
  193. package/build/components/plugin-template-setting-panel/index.js.map +1 -1
  194. package/build/components/resizable-frame/index.js +48 -34
  195. package/build/components/resizable-frame/index.js.map +1 -1
  196. package/build/components/revisions/index.js +31 -22
  197. package/build/components/revisions/index.js.map +1 -1
  198. package/build/components/routes/link.js +5 -4
  199. package/build/components/routes/link.js.map +1 -1
  200. package/build/components/save-button/index.js +5 -4
  201. package/build/components/save-button/index.js.map +1 -1
  202. package/build/components/save-hub/index.js +12 -11
  203. package/build/components/save-hub/index.js.map +1 -1
  204. package/build/components/save-panel/index.js +36 -30
  205. package/build/components/save-panel/index.js.map +1 -1
  206. package/build/components/sidebar/index.js +68 -35
  207. package/build/components/sidebar/index.js.map +1 -1
  208. package/build/components/sidebar-button/index.js +4 -4
  209. package/build/components/sidebar-button/index.js.map +1 -1
  210. package/build/components/sidebar-dataviews/add-new-view.js +56 -48
  211. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
  212. package/build/components/sidebar-dataviews/custom-dataviews-list.js +106 -89
  213. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  214. package/build/components/sidebar-dataviews/dataview-item.js +14 -12
  215. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  216. package/build/components/sidebar-dataviews/default-views.js +48 -0
  217. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  218. package/build/components/sidebar-dataviews/index.js +21 -22
  219. package/build/components/sidebar-dataviews/index.js.map +1 -1
  220. package/build/components/sidebar-navigation-item/index.js +32 -28
  221. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  222. package/build/components/sidebar-navigation-screen/index.js +56 -70
  223. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  224. package/build/components/sidebar-navigation-screen-details-footer/index.js +24 -17
  225. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  226. package/build/components/sidebar-navigation-screen-details-panel/index.js +9 -7
  227. package/build/components/sidebar-navigation-screen-details-panel/index.js.map +1 -1
  228. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +5 -4
  229. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +1 -1
  230. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +7 -7
  231. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  232. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +5 -4
  233. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +1 -1
  234. package/build/components/sidebar-navigation-screen-global-styles/index.js +57 -45
  235. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  236. package/build/components/sidebar-navigation-screen-main/index.js +45 -22
  237. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  238. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +5 -4
  239. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +1 -1
  240. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +20 -12
  241. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  242. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +61 -35
  243. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  244. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +10 -8
  245. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  246. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +42 -36
  247. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  248. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +18 -12
  249. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  250. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +1 -1
  251. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  252. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +36 -22
  253. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  254. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +48 -40
  255. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  256. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +12 -9
  257. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  258. package/build/components/sidebar-navigation-screen-patterns/category-item.js +12 -10
  259. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  260. package/build/components/sidebar-navigation-screen-patterns/index.js +62 -77
  261. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  262. package/build/components/sidebar-navigation-screen-templates-browse/content.js +17 -17
  263. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  264. package/build/components/sidebar-navigation-screen-templates-browse/index.js +8 -5
  265. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  266. package/build/components/site-hub/index.js +83 -74
  267. package/build/components/site-hub/index.js.map +1 -1
  268. package/build/components/site-icon/index.js +9 -8
  269. package/build/components/site-icon/index.js.map +1 -1
  270. package/build/components/style-book/index.js +122 -103
  271. package/build/components/style-book/index.js.map +1 -1
  272. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -30
  273. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  274. package/build/components/table/index.js +23 -15
  275. package/build/components/table/index.js.map +1 -1
  276. package/build/components/template-part-converter/convert-to-regular.js +5 -4
  277. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  278. package/build/components/template-part-converter/convert-to-template-part.js +23 -17
  279. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  280. package/build/components/template-part-converter/index.js +30 -11
  281. package/build/components/template-part-converter/index.js.map +1 -1
  282. package/build/components/welcome-guide/editor.js +20 -15
  283. package/build/components/welcome-guide/editor.js.map +1 -1
  284. package/build/components/welcome-guide/image.js +13 -12
  285. package/build/components/welcome-guide/image.js.map +1 -1
  286. package/build/components/welcome-guide/index.js +4 -2
  287. package/build/components/welcome-guide/index.js.map +1 -1
  288. package/build/components/welcome-guide/page.js +18 -13
  289. package/build/components/welcome-guide/page.js.map +1 -1
  290. package/build/components/welcome-guide/styles.js +45 -28
  291. package/build/components/welcome-guide/styles.js.map +1 -1
  292. package/build/components/welcome-guide/template.js +18 -13
  293. package/build/components/welcome-guide/template.js.map +1 -1
  294. package/build/deprecated.js +4 -4
  295. package/build/deprecated.js.map +1 -1
  296. package/build/hooks/commands/use-common-commands.js +12 -24
  297. package/build/hooks/commands/use-common-commands.js.map +1 -1
  298. package/build/hooks/commands/use-edit-mode-commands.js +2 -116
  299. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  300. package/build/hooks/index.js +0 -1
  301. package/build/hooks/index.js.map +1 -1
  302. package/build/hooks/push-changes-to-global-styles/index.js +25 -16
  303. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  304. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +7 -3
  305. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  306. package/build/index.js +3 -3
  307. package/build/index.js.map +1 -1
  308. package/build/store/private-actions.js +7 -1
  309. package/build/store/private-actions.js.map +1 -1
  310. package/build/store/selectors.js +2 -2
  311. package/build/store/selectors.js.map +1 -1
  312. package/build/utils/template-part-create.js +0 -62
  313. package/build/utils/template-part-create.js.map +1 -1
  314. package/build/utils/use-activate-theme.js +9 -7
  315. package/build/utils/use-activate-theme.js.map +1 -1
  316. package/build-module/components/add-new-page/index.js +34 -27
  317. package/build-module/components/add-new-page/index.js.map +1 -1
  318. package/build-module/components/add-new-pattern/index.js +98 -78
  319. package/build-module/components/add-new-pattern/index.js.map +1 -1
  320. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +36 -30
  321. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
  322. package/build-module/components/add-new-template/add-custom-template-modal-content.js +121 -95
  323. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  324. package/build-module/components/add-new-template/index.js +91 -73
  325. package/build-module/components/add-new-template/index.js.map +1 -1
  326. package/build-module/components/add-new-template/utils.js +36 -17
  327. package/build-module/components/add-new-template/utils.js.map +1 -1
  328. package/build-module/components/app/index.js +15 -6
  329. package/build-module/components/app/index.js.map +1 -1
  330. package/build-module/components/block-editor/block-inspector-button.js +5 -4
  331. package/build-module/components/block-editor/block-inspector-button.js.map +1 -1
  332. package/build-module/components/block-editor/use-editor-iframe-props.js +80 -0
  333. package/build-module/components/block-editor/use-editor-iframe-props.js.map +1 -0
  334. package/build-module/components/canvas-loader/index.js +14 -13
  335. package/build-module/components/canvas-loader/index.js.map +1 -1
  336. package/build-module/components/dataviews-actions/index.js +41 -0
  337. package/build-module/components/dataviews-actions/index.js.map +1 -0
  338. package/build-module/components/editor/index.js +113 -144
  339. package/build-module/components/editor/index.js.map +1 -1
  340. package/build-module/components/editor-canvas-container/index.js +29 -30
  341. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  342. package/build-module/components/error-boundary/index.js +2 -2
  343. package/build-module/components/error-boundary/index.js.map +1 -1
  344. package/build-module/components/error-boundary/warning.js +13 -11
  345. package/build-module/components/error-boundary/warning.js.map +1 -1
  346. package/build-module/components/global-styles/background-panel.js +18 -6
  347. package/build-module/components/global-styles/background-panel.js.map +1 -1
  348. package/build-module/components/global-styles/block-preview-panel.js +19 -17
  349. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  350. package/build-module/components/global-styles/color-indicator-wrapper.js +4 -4
  351. package/build-module/components/global-styles/color-indicator-wrapper.js.map +1 -1
  352. package/build-module/components/global-styles/color-palette-panel.js +32 -28
  353. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  354. package/build-module/components/global-styles/dimensions-panel.js +2 -2
  355. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  356. package/build-module/components/global-styles/font-families.js +58 -40
  357. package/build-module/components/global-styles/font-families.js.map +1 -1
  358. package/build-module/components/global-styles/font-family-item.js +18 -13
  359. package/build-module/components/global-styles/font-family-item.js.map +1 -1
  360. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +26 -22
  361. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  362. package/build-module/components/global-styles/font-library-modal/context.js +7 -30
  363. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  364. package/build-module/components/global-styles/font-library-modal/font-card.js +25 -16
  365. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
  366. package/build-module/components/global-styles/font-library-modal/font-collection.js +198 -153
  367. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  368. package/build-module/components/global-styles/font-library-modal/font-demo.js +14 -12
  369. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  370. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +30 -20
  371. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
  372. package/build-module/components/global-styles/font-library-modal/index.js +42 -36
  373. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  374. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +157 -111
  375. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  376. package/build-module/components/global-styles/font-library-modal/library-font-details.js +18 -14
  377. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  378. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +26 -22
  379. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  380. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +42 -35
  381. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  382. package/build-module/components/global-styles/font-library-modal/utils/index.js +3 -3
  383. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  384. package/build-module/components/global-styles/gradients-palette-panel.js +42 -38
  385. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  386. package/build-module/components/global-styles/header.js +38 -28
  387. package/build-module/components/global-styles/header.js.map +1 -1
  388. package/build-module/components/global-styles/highlighted-colors.js +3 -4
  389. package/build-module/components/global-styles/highlighted-colors.js.map +1 -1
  390. package/build-module/components/global-styles/hooks.js +11 -20
  391. package/build-module/components/global-styles/hooks.js.map +1 -1
  392. package/build-module/components/global-styles/icon-with-current-color.js +4 -4
  393. package/build-module/components/global-styles/icon-with-current-color.js.map +1 -1
  394. package/build-module/components/global-styles/navigation-button.js +16 -11
  395. package/build-module/components/global-styles/navigation-button.js.map +1 -1
  396. package/build-module/components/global-styles/palette.js +42 -34
  397. package/build-module/components/global-styles/palette.js.map +1 -1
  398. package/build-module/components/global-styles/preset-colors.js +21 -0
  399. package/build-module/components/global-styles/preset-colors.js.map +1 -0
  400. package/build-module/components/global-styles/preview-colors.js +23 -25
  401. package/build-module/components/global-styles/preview-colors.js.map +1 -1
  402. package/build-module/components/global-styles/preview-iframe.js +36 -29
  403. package/build-module/components/global-styles/preview-iframe.js.map +1 -1
  404. package/build-module/components/global-styles/preview-styles.js +96 -90
  405. package/build-module/components/global-styles/preview-styles.js.map +1 -1
  406. package/build-module/components/global-styles/root-menu.js +31 -22
  407. package/build-module/components/global-styles/root-menu.js.map +1 -1
  408. package/build-module/components/global-styles/screen-background.js +8 -4
  409. package/build-module/components/global-styles/screen-background.js.map +1 -1
  410. package/build-module/components/global-styles/screen-block-list.js +35 -27
  411. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  412. package/build-module/components/global-styles/screen-block.js +64 -53
  413. package/build-module/components/global-styles/screen-block.js.map +1 -1
  414. package/build-module/components/global-styles/screen-color-palette.js +31 -19
  415. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  416. package/build-module/components/global-styles/screen-colors.js +20 -17
  417. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  418. package/build-module/components/global-styles/screen-css.js +22 -14
  419. package/build-module/components/global-styles/screen-css.js.map +1 -1
  420. package/build-module/components/global-styles/screen-layout.js +11 -4
  421. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  422. package/build-module/components/global-styles/screen-revisions/index.js +54 -42
  423. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  424. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +83 -71
  425. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  426. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -0
  427. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  428. package/build-module/components/global-styles/screen-root.js +78 -42
  429. package/build-module/components/global-styles/screen-root.js.map +1 -1
  430. package/build-module/components/global-styles/screen-shadows.js +13 -0
  431. package/build-module/components/global-styles/screen-shadows.js.map +1 -0
  432. package/build-module/components/global-styles/screen-style-variations.js +16 -9
  433. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  434. package/build-module/components/global-styles/screen-typography-element.js +52 -45
  435. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  436. package/build-module/components/global-styles/screen-typography.js +17 -11
  437. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  438. package/build-module/components/global-styles/shadow-utils.js +221 -0
  439. package/build-module/components/global-styles/shadow-utils.js.map +1 -0
  440. package/build-module/components/global-styles/shadows-edit-panel.js +452 -0
  441. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -0
  442. package/build-module/components/global-styles/shadows-panel.js +121 -0
  443. package/build-module/components/global-styles/shadows-panel.js.map +1 -0
  444. package/build-module/components/global-styles/style-variations-container.js +68 -19
  445. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  446. package/build-module/components/global-styles/subtitle.js +5 -4
  447. package/build-module/components/global-styles/subtitle.js.map +1 -1
  448. package/build-module/components/global-styles/typography-elements.js +54 -45
  449. package/build-module/components/global-styles/typography-elements.js.map +1 -1
  450. package/build-module/components/global-styles/typography-example.js +16 -9
  451. package/build-module/components/global-styles/typography-example.js.map +1 -1
  452. package/build-module/components/global-styles/typography-panel.js +2 -2
  453. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  454. package/build-module/components/global-styles/typography-preview.js +5 -4
  455. package/build-module/components/global-styles/typography-preview.js.map +1 -1
  456. package/build-module/components/global-styles/ui.js +126 -89
  457. package/build-module/components/global-styles/ui.js.map +1 -1
  458. package/build-module/components/global-styles/utils.js +27 -0
  459. package/build-module/components/global-styles/utils.js.map +1 -1
  460. package/build-module/components/global-styles/variations/variation.js +35 -24
  461. package/build-module/components/global-styles/variations/variation.js.map +1 -1
  462. package/build-module/components/global-styles/variations/variations-color.js +21 -15
  463. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  464. package/build-module/components/global-styles/variations/variations-panel.js +28 -18
  465. package/build-module/components/global-styles/variations/variations-panel.js.map +1 -1
  466. package/build-module/components/global-styles/variations/variations-typography.js +38 -31
  467. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  468. package/build-module/components/global-styles-renderer/index.js +5 -1
  469. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  470. package/build-module/components/global-styles-sidebar/default-sidebar.js +51 -0
  471. package/build-module/components/global-styles-sidebar/default-sidebar.js.map +1 -0
  472. package/build-module/components/{sidebar-edit-mode/global-styles-sidebar.js → global-styles-sidebar/index.js} +38 -26
  473. package/build-module/components/global-styles-sidebar/index.js.map +1 -0
  474. package/build-module/components/layout/index.js +116 -100
  475. package/build-module/components/layout/index.js.map +1 -1
  476. package/build-module/components/layout/router.js +110 -76
  477. package/build-module/components/layout/router.js.map +1 -1
  478. package/build-module/components/media/index.js +2 -2
  479. package/build-module/components/media/index.js.map +1 -1
  480. package/build-module/components/{header-edit-mode/more-menu → more-menu}/index.js +9 -3
  481. package/build-module/components/more-menu/index.js.map +1 -0
  482. package/build-module/components/{header-edit-mode/more-menu → more-menu}/site-export.js +5 -4
  483. package/build-module/components/more-menu/site-export.js.map +1 -0
  484. package/build-module/components/{header-edit-mode/more-menu → more-menu}/welcome-guide-menu-item.js +5 -4
  485. package/build-module/components/more-menu/welcome-guide-menu-item.js.map +1 -0
  486. package/build-module/components/page/header.js +25 -19
  487. package/build-module/components/page/header.js.map +1 -1
  488. package/build-module/components/page/index.js +16 -13
  489. package/build-module/components/page/index.js.map +1 -1
  490. package/build-module/components/page-pages/index.js +141 -69
  491. package/build-module/components/page-pages/index.js.map +1 -1
  492. package/build-module/components/page-patterns/delete-category-menu-item.js +25 -20
  493. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -1
  494. package/build-module/components/page-patterns/header.js +48 -32
  495. package/build-module/components/page-patterns/header.js.map +1 -1
  496. package/build-module/components/page-patterns/index.js +121 -125
  497. package/build-module/components/page-patterns/index.js.map +1 -1
  498. package/build-module/components/page-patterns/rename-category-menu-item.js +16 -11
  499. package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -1
  500. package/build-module/components/page-patterns/use-patterns.js +7 -6
  501. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  502. package/build-module/components/page-templates/index.js +85 -72
  503. package/build-module/components/page-templates/index.js.map +1 -1
  504. package/build-module/components/pagination/index.js +52 -42
  505. package/build-module/components/pagination/index.js.map +1 -1
  506. package/build-module/components/plugin-template-setting-panel/index.js +4 -2
  507. package/build-module/components/plugin-template-setting-panel/index.js.map +1 -1
  508. package/build-module/components/resizable-frame/index.js +51 -35
  509. package/build-module/components/resizable-frame/index.js.map +1 -1
  510. package/build-module/components/revisions/index.js +31 -21
  511. package/build-module/components/revisions/index.js.map +1 -1
  512. package/build-module/components/routes/link.js +5 -4
  513. package/build-module/components/routes/link.js.map +1 -1
  514. package/build-module/components/save-button/index.js +5 -4
  515. package/build-module/components/save-button/index.js.map +1 -1
  516. package/build-module/components/save-hub/index.js +12 -11
  517. package/build-module/components/save-hub/index.js.map +1 -1
  518. package/build-module/components/save-panel/index.js +37 -30
  519. package/build-module/components/save-panel/index.js.map +1 -1
  520. package/build-module/components/sidebar/index.js +69 -36
  521. package/build-module/components/sidebar/index.js.map +1 -1
  522. package/build-module/components/sidebar-button/index.js +4 -4
  523. package/build-module/components/sidebar-button/index.js.map +1 -1
  524. package/build-module/components/sidebar-dataviews/add-new-view.js +58 -48
  525. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
  526. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +108 -89
  527. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  528. package/build-module/components/sidebar-dataviews/dataview-item.js +15 -12
  529. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  530. package/build-module/components/sidebar-dataviews/default-views.js +49 -1
  531. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  532. package/build-module/components/sidebar-dataviews/index.js +23 -22
  533. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  534. package/build-module/components/sidebar-navigation-item/index.js +33 -28
  535. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  536. package/build-module/components/sidebar-navigation-screen/index.js +58 -70
  537. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  538. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +25 -17
  539. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  540. package/build-module/components/sidebar-navigation-screen-details-panel/index.js +10 -7
  541. package/build-module/components/sidebar-navigation-screen-details-panel/index.js.map +1 -1
  542. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js +5 -4
  543. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-label.js.map +1 -1
  544. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +7 -7
  545. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  546. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js +5 -4
  547. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-value.js.map +1 -1
  548. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +59 -45
  549. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  550. package/build-module/components/sidebar-navigation-screen-main/index.js +47 -22
  551. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  552. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +5 -4
  553. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +1 -1
  554. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +20 -12
  555. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  556. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +63 -35
  557. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  558. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +10 -8
  559. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  560. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +43 -36
  561. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  562. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +19 -12
  563. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  564. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +1 -1
  565. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
  566. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +36 -22
  567. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  568. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +50 -40
  569. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  570. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +14 -9
  571. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  572. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +12 -10
  573. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -1
  574. package/build-module/components/sidebar-navigation-screen-patterns/index.js +64 -77
  575. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  576. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +18 -17
  577. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  578. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +8 -5
  579. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  580. package/build-module/components/site-hub/index.js +85 -75
  581. package/build-module/components/site-hub/index.js.map +1 -1
  582. package/build-module/components/site-icon/index.js +9 -8
  583. package/build-module/components/site-icon/index.js.map +1 -1
  584. package/build-module/components/style-book/index.js +122 -102
  585. package/build-module/components/style-book/index.js.map +1 -1
  586. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -30
  587. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  588. package/build-module/components/table/index.js +24 -15
  589. package/build-module/components/table/index.js.map +1 -1
  590. package/build-module/components/template-part-converter/convert-to-regular.js +5 -4
  591. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  592. package/build-module/components/template-part-converter/convert-to-template-part.js +25 -16
  593. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  594. package/build-module/components/template-part-converter/index.js +30 -11
  595. package/build-module/components/template-part-converter/index.js.map +1 -1
  596. package/build-module/components/welcome-guide/editor.js +22 -15
  597. package/build-module/components/welcome-guide/editor.js.map +1 -1
  598. package/build-module/components/welcome-guide/image.js +14 -12
  599. package/build-module/components/welcome-guide/image.js.map +1 -1
  600. package/build-module/components/welcome-guide/index.js +6 -2
  601. package/build-module/components/welcome-guide/index.js.map +1 -1
  602. package/build-module/components/welcome-guide/page.js +20 -13
  603. package/build-module/components/welcome-guide/page.js.map +1 -1
  604. package/build-module/components/welcome-guide/styles.js +47 -28
  605. package/build-module/components/welcome-guide/styles.js.map +1 -1
  606. package/build-module/components/welcome-guide/template.js +20 -13
  607. package/build-module/components/welcome-guide/template.js.map +1 -1
  608. package/build-module/deprecated.js +4 -4
  609. package/build-module/deprecated.js.map +1 -1
  610. package/build-module/hooks/commands/use-common-commands.js +12 -23
  611. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  612. package/build-module/hooks/commands/use-edit-mode-commands.js +4 -118
  613. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  614. package/build-module/hooks/index.js +0 -1
  615. package/build-module/hooks/index.js.map +1 -1
  616. package/build-module/hooks/push-changes-to-global-styles/index.js +27 -16
  617. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  618. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +6 -2
  619. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  620. package/build-module/index.js +3 -3
  621. package/build-module/index.js.map +1 -1
  622. package/build-module/store/private-actions.js +7 -1
  623. package/build-module/store/private-actions.js.map +1 -1
  624. package/build-module/store/selectors.js +2 -2
  625. package/build-module/store/selectors.js.map +1 -1
  626. package/build-module/utils/template-part-create.js +0 -52
  627. package/build-module/utils/template-part-create.js.map +1 -1
  628. package/build-module/utils/use-activate-theme.js +9 -7
  629. package/build-module/utils/use-activate-theme.js.map +1 -1
  630. package/build-style/style-rtl.css +486 -981
  631. package/build-style/style.css +486 -981
  632. package/package.json +44 -47
  633. package/src/components/add-new-pattern/index.js +46 -37
  634. package/src/components/add-new-template/index.js +4 -2
  635. package/src/components/add-new-template/utils.js +77 -39
  636. package/src/components/app/index.js +5 -2
  637. package/src/components/block-editor/style.scss +4 -139
  638. package/src/components/block-editor/use-editor-iframe-props.js +79 -0
  639. package/src/components/canvas-loader/index.js +5 -2
  640. package/src/components/dataviews-actions/index.js +43 -0
  641. package/src/components/editor/index.js +129 -215
  642. package/src/components/editor/style.scss +2 -17
  643. package/src/components/editor-canvas-container/index.js +30 -35
  644. package/src/components/editor-canvas-container/style.scss +16 -0
  645. package/src/components/global-styles/background-panel.js +20 -4
  646. package/src/components/global-styles/color-indicator-wrapper.js +2 -2
  647. package/src/components/global-styles/color-palette-panel.js +3 -4
  648. package/src/components/global-styles/font-families.js +25 -18
  649. package/src/components/global-styles/font-family-item.js +2 -2
  650. package/src/components/global-styles/font-library-modal/collection-font-variant.js +2 -1
  651. package/src/components/global-styles/font-library-modal/context.js +6 -44
  652. package/src/components/global-styles/font-library-modal/font-collection.js +3 -5
  653. package/src/components/global-styles/font-library-modal/installed-fonts.js +42 -12
  654. package/src/components/global-styles/font-library-modal/library-font-variant.js +2 -1
  655. package/src/components/global-styles/font-library-modal/upload-fonts.js +1 -4
  656. package/src/components/global-styles/font-library-modal/utils/index.js +1 -1
  657. package/src/components/global-styles/gradients-palette-panel.js +1 -4
  658. package/src/components/global-styles/hooks.js +10 -36
  659. package/src/components/global-styles/icon-with-current-color.js +2 -2
  660. package/src/components/global-styles/palette.js +9 -18
  661. package/src/components/global-styles/preset-colors.js +18 -0
  662. package/src/components/global-styles/preview-colors.js +4 -7
  663. package/src/components/global-styles/root-menu.js +16 -12
  664. package/src/components/global-styles/screen-block.js +1 -1
  665. package/src/components/global-styles/screen-color-palette.js +4 -4
  666. package/src/components/global-styles/screen-colors.js +0 -2
  667. package/src/components/global-styles/screen-layout.js +9 -2
  668. package/src/components/global-styles/screen-revisions/index.js +6 -0
  669. package/src/components/global-styles/screen-revisions/revisions-buttons.js +2 -2
  670. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -0
  671. package/src/components/global-styles/screen-shadows.js +13 -0
  672. package/src/components/global-styles/screen-typography.js +1 -1
  673. package/src/components/global-styles/shadow-utils.js +158 -0
  674. package/src/components/global-styles/shadows-edit-panel.js +555 -0
  675. package/src/components/global-styles/shadows-panel.js +147 -0
  676. package/src/components/global-styles/stories/index.story.js +2 -1
  677. package/src/components/global-styles/style-variations-container.js +73 -10
  678. package/src/components/global-styles/style.scss +54 -5
  679. package/src/components/global-styles/test/shadow-utils.spec.js +251 -0
  680. package/src/components/global-styles/test/utils.spec.js +59 -0
  681. package/src/components/global-styles/typography-example.js +2 -1
  682. package/src/components/global-styles/ui.js +15 -7
  683. package/src/components/global-styles/utils.js +27 -0
  684. package/src/components/global-styles/variations/style.scss +17 -30
  685. package/src/components/global-styles/variations/variation.js +15 -10
  686. package/src/components/global-styles/variations/variations-color.js +7 -9
  687. package/src/components/global-styles/variations/variations-panel.js +16 -5
  688. package/src/components/global-styles/variations/variations-typography.js +2 -1
  689. package/src/components/global-styles-renderer/index.js +7 -1
  690. package/src/components/{sidebar-edit-mode/global-styles-sidebar.js → global-styles-sidebar/index.js} +7 -2
  691. package/src/components/{sidebar-edit-mode → global-styles-sidebar}/style.scss +0 -11
  692. package/src/components/layout/index.js +10 -10
  693. package/src/components/layout/router.js +96 -61
  694. package/src/components/layout/style.scss +10 -6
  695. package/src/components/{header-edit-mode/more-menu → more-menu}/index.js +1 -1
  696. package/src/components/page/header.js +17 -13
  697. package/src/components/page/index.js +3 -7
  698. package/src/components/page/style.scss +21 -7
  699. package/src/components/page-pages/index.js +162 -68
  700. package/src/components/page-pages/style.scss +14 -10
  701. package/src/components/page-patterns/delete-category-menu-item.js +1 -2
  702. package/src/components/page-patterns/header.js +45 -33
  703. package/src/components/page-patterns/index.js +25 -81
  704. package/src/components/page-patterns/style.scss +21 -14
  705. package/src/components/page-patterns/use-patterns.js +13 -6
  706. package/src/components/page-templates/index.js +10 -29
  707. package/src/components/pagination/index.js +2 -2
  708. package/src/components/resizable-frame/index.js +17 -5
  709. package/src/components/revisions/index.js +2 -1
  710. package/src/components/save-panel/index.js +5 -7
  711. package/src/components/sidebar/index.js +61 -37
  712. package/src/components/sidebar-button/index.js +2 -5
  713. package/src/components/sidebar-dataviews/add-new-view.js +5 -5
  714. package/src/components/sidebar-dataviews/custom-dataviews-list.js +5 -7
  715. package/src/components/sidebar-dataviews/dataview-item.js +6 -9
  716. package/src/components/sidebar-dataviews/default-views.js +61 -1
  717. package/src/components/sidebar-dataviews/index.js +4 -9
  718. package/src/components/sidebar-navigation-item/index.js +10 -10
  719. package/src/components/sidebar-navigation-screen/index.js +7 -31
  720. package/src/components/sidebar-navigation-screen/style.scss +11 -9
  721. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -2
  722. package/src/components/sidebar-navigation-screen-global-styles/index.js +10 -3
  723. package/src/components/sidebar-navigation-screen-main/index.js +14 -4
  724. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +6 -1
  725. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +18 -1
  726. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -0
  727. package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +1 -1
  728. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +8 -4
  729. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +6 -13
  730. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +0 -61
  731. package/src/components/sidebar-navigation-screen-patterns/category-item.js +5 -3
  732. package/src/components/sidebar-navigation-screen-patterns/index.js +8 -29
  733. package/src/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
  734. package/src/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
  735. package/src/components/site-hub/index.js +14 -15
  736. package/src/components/site-hub/style.scss +46 -9
  737. package/src/components/site-icon/index.js +2 -2
  738. package/src/components/style-book/index.js +8 -7
  739. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +18 -23
  740. package/src/components/template-part-converter/convert-to-template-part.js +4 -1
  741. package/src/components/template-part-converter/index.js +16 -3
  742. package/src/hooks/commands/use-common-commands.js +12 -23
  743. package/src/hooks/commands/use-edit-mode-commands.js +4 -118
  744. package/src/hooks/index.js +0 -1
  745. package/src/hooks/push-changes-to-global-styles/index.js +2 -1
  746. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +7 -2
  747. package/src/index.js +1 -1
  748. package/src/store/private-actions.js +9 -1
  749. package/src/store/selectors.js +2 -2
  750. package/src/style.scss +1 -17
  751. package/src/utils/template-part-create.js +0 -67
  752. package/src/utils/use-activate-theme.js +5 -5
  753. package/build/components/block-editor/editor-canvas.js +0 -153
  754. package/build/components/block-editor/editor-canvas.js.map +0 -1
  755. package/build/components/block-editor/resizable-editor.js +0 -86
  756. package/build/components/block-editor/resizable-editor.js.map +0 -1
  757. package/build/components/block-editor/resize-handle.js +0 -57
  758. package/build/components/block-editor/resize-handle.js.map +0 -1
  759. package/build/components/block-editor/site-editor-canvas.js +0 -95
  760. package/build/components/block-editor/site-editor-canvas.js.map +0 -1
  761. package/build/components/code-editor/index.js +0 -111
  762. package/build/components/code-editor/index.js.map +0 -1
  763. package/build/components/create-template-part-modal/index.js +0 -151
  764. package/build/components/create-template-part-modal/index.js.map +0 -1
  765. package/build/components/global-styles/global-styles-provider.js +0 -129
  766. package/build/components/global-styles/global-styles-provider.js.map +0 -1
  767. package/build/components/header-edit-mode/document-tools/index.js +0 -68
  768. package/build/components/header-edit-mode/document-tools/index.js.map +0 -1
  769. package/build/components/header-edit-mode/index.js +0 -150
  770. package/build/components/header-edit-mode/index.js.map +0 -1
  771. package/build/components/header-edit-mode/more-menu/index.js.map +0 -1
  772. package/build/components/header-edit-mode/more-menu/site-export.js.map +0 -1
  773. package/build/components/header-edit-mode/more-menu/welcome-guide-menu-item.js.map +0 -1
  774. package/build/components/page-patterns/dataviews-pattern-actions.js +0 -387
  775. package/build/components/page-patterns/dataviews-pattern-actions.js.map +0 -1
  776. package/build/components/pattern-modal/duplicate.js +0 -70
  777. package/build/components/pattern-modal/duplicate.js.map +0 -1
  778. package/build/components/pattern-modal/index.js +0 -23
  779. package/build/components/pattern-modal/index.js.map +0 -1
  780. package/build/components/pattern-modal/rename.js +0 -45
  781. package/build/components/pattern-modal/rename.js.map +0 -1
  782. package/build/components/rename-post-menu-item/index.js +0 -109
  783. package/build/components/rename-post-menu-item/index.js.map +0 -1
  784. package/build/components/sidebar-edit-mode/default-sidebar.js +0 -52
  785. package/build/components/sidebar-edit-mode/default-sidebar.js.map +0 -1
  786. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +0 -1
  787. package/build/components/sidebar-edit-mode/index.js +0 -147
  788. package/build/components/sidebar-edit-mode/index.js.map +0 -1
  789. package/build/components/sidebar-edit-mode/page-panels/index.js +0 -129
  790. package/build/components/sidebar-edit-mode/page-panels/index.js.map +0 -1
  791. package/build/components/sidebar-edit-mode/page-panels/page-content.js +0 -34
  792. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +0 -1
  793. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +0 -46
  794. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +0 -1
  795. package/build/components/sidebar-edit-mode/settings-header/index.js +0 -42
  796. package/build/components/sidebar-edit-mode/settings-header/index.js.map +0 -1
  797. package/build/components/sidebar-edit-mode/template-panel/hooks.js +0 -86
  798. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +0 -1
  799. package/build/components/sidebar-edit-mode/template-panel/index.js +0 -127
  800. package/build/components/sidebar-edit-mode/template-panel/index.js.map +0 -1
  801. package/build/components/sidebar-navigation-screen-page/index.js +0 -163
  802. package/build/components/sidebar-navigation-screen-page/index.js.map +0 -1
  803. package/build/components/sidebar-navigation-screen-page/page-details.js +0 -127
  804. package/build/components/sidebar-navigation-screen-page/page-details.js.map +0 -1
  805. package/build/components/sidebar-navigation-screen-page/status-label.js +0 -65
  806. package/build/components/sidebar-navigation-screen-page/status-label.js.map +0 -1
  807. package/build/components/sidebar-navigation-screen-pattern/index.js +0 -72
  808. package/build/components/sidebar-navigation-screen-pattern/index.js.map +0 -1
  809. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +0 -38
  810. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +0 -1
  811. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +0 -29
  812. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js.map +0 -1
  813. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +0 -37
  814. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +0 -1
  815. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +0 -45
  816. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +0 -1
  817. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +0 -88
  818. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +0 -1
  819. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +0 -29
  820. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +0 -1
  821. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +0 -138
  822. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +0 -1
  823. package/build/components/sidebar-navigation-screen-template/home-template-details.js +0 -110
  824. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +0 -1
  825. package/build/components/sidebar-navigation-screen-template/index.js +0 -118
  826. package/build/components/sidebar-navigation-screen-template/index.js.map +0 -1
  827. package/build/components/sidebar-navigation-screen-template/template-areas.js +0 -117
  828. package/build/components/sidebar-navigation-screen-template/template-areas.js.map +0 -1
  829. package/build/components/start-template-options/index.js +0 -191
  830. package/build/components/start-template-options/index.js.map +0 -1
  831. package/build/components/template-actions/index.js +0 -131
  832. package/build/components/template-actions/index.js.map +0 -1
  833. package/build/hooks/components.js +0 -10
  834. package/build/hooks/components.js.map +0 -1
  835. package/build/utils/get-is-list-page.js +0 -28
  836. package/build/utils/get-is-list-page.js.map +0 -1
  837. package/build/utils/math.js +0 -98
  838. package/build/utils/math.js.map +0 -1
  839. package/build-module/components/block-editor/editor-canvas.js +0 -145
  840. package/build-module/components/block-editor/editor-canvas.js.map +0 -1
  841. package/build-module/components/block-editor/resizable-editor.js +0 -79
  842. package/build-module/components/block-editor/resizable-editor.js.map +0 -1
  843. package/build-module/components/block-editor/resize-handle.js +0 -50
  844. package/build-module/components/block-editor/resize-handle.js.map +0 -1
  845. package/build-module/components/block-editor/site-editor-canvas.js +0 -86
  846. package/build-module/components/block-editor/site-editor-canvas.js.map +0 -1
  847. package/build-module/components/code-editor/index.js +0 -103
  848. package/build-module/components/code-editor/index.js.map +0 -1
  849. package/build-module/components/create-template-part-modal/index.js +0 -143
  850. package/build-module/components/create-template-part-modal/index.js.map +0 -1
  851. package/build-module/components/global-styles/global-styles-provider.js +0 -120
  852. package/build-module/components/global-styles/global-styles-provider.js.map +0 -1
  853. package/build-module/components/header-edit-mode/document-tools/index.js +0 -61
  854. package/build-module/components/header-edit-mode/document-tools/index.js.map +0 -1
  855. package/build-module/components/header-edit-mode/index.js +0 -142
  856. package/build-module/components/header-edit-mode/index.js.map +0 -1
  857. package/build-module/components/header-edit-mode/more-menu/index.js.map +0 -1
  858. package/build-module/components/header-edit-mode/more-menu/site-export.js.map +0 -1
  859. package/build-module/components/header-edit-mode/more-menu/welcome-guide-menu-item.js.map +0 -1
  860. package/build-module/components/page-patterns/dataviews-pattern-actions.js +0 -380
  861. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +0 -1
  862. package/build-module/components/pattern-modal/duplicate.js +0 -62
  863. package/build-module/components/pattern-modal/duplicate.js.map +0 -1
  864. package/build-module/components/pattern-modal/index.js +0 -14
  865. package/build-module/components/pattern-modal/index.js.map +0 -1
  866. package/build-module/components/pattern-modal/rename.js +0 -37
  867. package/build-module/components/pattern-modal/rename.js.map +0 -1
  868. package/build-module/components/rename-post-menu-item/index.js +0 -102
  869. package/build-module/components/rename-post-menu-item/index.js.map +0 -1
  870. package/build-module/components/sidebar-edit-mode/default-sidebar.js +0 -45
  871. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +0 -1
  872. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +0 -1
  873. package/build-module/components/sidebar-edit-mode/index.js +0 -138
  874. package/build-module/components/sidebar-edit-mode/index.js.map +0 -1
  875. package/build-module/components/sidebar-edit-mode/page-panels/index.js +0 -121
  876. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +0 -1
  877. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +0 -27
  878. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +0 -1
  879. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +0 -39
  880. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +0 -1
  881. package/build-module/components/sidebar-edit-mode/settings-header/index.js +0 -35
  882. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +0 -1
  883. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +0 -79
  884. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +0 -1
  885. package/build-module/components/sidebar-edit-mode/template-panel/index.js +0 -119
  886. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +0 -1
  887. package/build-module/components/sidebar-navigation-screen-page/index.js +0 -155
  888. package/build-module/components/sidebar-navigation-screen-page/index.js.map +0 -1
  889. package/build-module/components/sidebar-navigation-screen-page/page-details.js +0 -120
  890. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +0 -1
  891. package/build-module/components/sidebar-navigation-screen-page/status-label.js +0 -57
  892. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +0 -1
  893. package/build-module/components/sidebar-navigation-screen-pattern/index.js +0 -64
  894. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +0 -1
  895. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +0 -30
  896. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +0 -1
  897. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +0 -20
  898. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js.map +0 -1
  899. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +0 -29
  900. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +0 -1
  901. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +0 -36
  902. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +0 -1
  903. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +0 -80
  904. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +0 -1
  905. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +0 -22
  906. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +0 -1
  907. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +0 -130
  908. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +0 -1
  909. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +0 -103
  910. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +0 -1
  911. package/build-module/components/sidebar-navigation-screen-template/index.js +0 -110
  912. package/build-module/components/sidebar-navigation-screen-template/index.js.map +0 -1
  913. package/build-module/components/sidebar-navigation-screen-template/template-areas.js +0 -109
  914. package/build-module/components/sidebar-navigation-screen-template/template-areas.js.map +0 -1
  915. package/build-module/components/start-template-options/index.js +0 -184
  916. package/build-module/components/start-template-options/index.js.map +0 -1
  917. package/build-module/components/template-actions/index.js +0 -123
  918. package/build-module/components/template-actions/index.js.map +0 -1
  919. package/build-module/hooks/components.js +0 -7
  920. package/build-module/hooks/components.js.map +0 -1
  921. package/build-module/utils/get-is-list-page.js +0 -22
  922. package/build-module/utils/get-is-list-page.js.map +0 -1
  923. package/build-module/utils/math.js +0 -92
  924. package/build-module/utils/math.js.map +0 -1
  925. package/src/components/block-editor/editor-canvas.js +0 -178
  926. package/src/components/block-editor/resizable-editor.js +0 -82
  927. package/src/components/block-editor/resize-handle.js +0 -66
  928. package/src/components/block-editor/site-editor-canvas.js +0 -107
  929. package/src/components/code-editor/index.js +0 -94
  930. package/src/components/code-editor/style.scss +0 -95
  931. package/src/components/create-template-part-modal/index.js +0 -199
  932. package/src/components/create-template-part-modal/style.scss +0 -69
  933. package/src/components/global-styles/global-styles-provider.js +0 -162
  934. package/src/components/header-edit-mode/document-tools/index.js +0 -68
  935. package/src/components/header-edit-mode/index.js +0 -190
  936. package/src/components/header-edit-mode/style.scss +0 -201
  937. package/src/components/page-patterns/dataviews-pattern-actions.js +0 -439
  938. package/src/components/pattern-modal/duplicate.js +0 -55
  939. package/src/components/pattern-modal/index.js +0 -19
  940. package/src/components/pattern-modal/rename.js +0 -30
  941. package/src/components/rename-post-menu-item/index.js +0 -138
  942. package/src/components/sidebar-edit-mode/index.js +0 -173
  943. package/src/components/sidebar-edit-mode/page-panels/index.js +0 -133
  944. package/src/components/sidebar-edit-mode/page-panels/page-content.js +0 -29
  945. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +0 -61
  946. package/src/components/sidebar-edit-mode/settings-header/index.js +0 -43
  947. package/src/components/sidebar-edit-mode/settings-header/style.scss +0 -14
  948. package/src/components/sidebar-edit-mode/template-panel/hooks.js +0 -114
  949. package/src/components/sidebar-edit-mode/template-panel/index.js +0 -134
  950. package/src/components/sidebar-edit-mode/template-panel/style.scss +0 -16
  951. package/src/components/sidebar-navigation-screen-page/index.js +0 -204
  952. package/src/components/sidebar-navigation-screen-page/page-details.js +0 -161
  953. package/src/components/sidebar-navigation-screen-page/status-label.js +0 -71
  954. package/src/components/sidebar-navigation-screen-page/style.scss +0 -69
  955. package/src/components/sidebar-navigation-screen-pattern/index.js +0 -63
  956. package/src/components/sidebar-navigation-screen-pattern/style.scss +0 -26
  957. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +0 -31
  958. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list.js +0 -21
  959. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +0 -33
  960. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +0 -36
  961. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +0 -98
  962. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +0 -32
  963. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +0 -205
  964. package/src/components/sidebar-navigation-screen-template/home-template-details.js +0 -144
  965. package/src/components/sidebar-navigation-screen-template/index.js +0 -133
  966. package/src/components/sidebar-navigation-screen-template/style.scss +0 -53
  967. package/src/components/sidebar-navigation-screen-template/template-areas.js +0 -135
  968. package/src/components/start-template-options/index.js +0 -231
  969. package/src/components/start-template-options/style.scss +0 -55
  970. package/src/components/template-actions/index.js +0 -165
  971. package/src/hooks/components.js +0 -11
  972. package/src/utils/get-is-list-page.js +0 -25
  973. package/src/utils/math.js +0 -93
  974. package/src/utils/test/template-part-create.js +0 -63
  975. /package/src/components/{sidebar-edit-mode → global-styles-sidebar}/default-sidebar.js +0 -0
  976. /package/src/components/{header-edit-mode/more-menu → more-menu}/site-export.js +0 -0
  977. /package/src/components/{header-edit-mode/more-menu → more-menu}/welcome-guide-menu-item.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_htmlEntities","_element","_data","_coreData","_icons","_i18n","_notices","_router","_constants","_addCustomTemplateModalContent","_utils","_addCustomGenericTemplateModalContent","_lockUnlock","useHistory","unlock","routerPrivateApis","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","home","verse","single","pin","page","archive","search","notFound","index","list","category","author","commentAuthorAvatar","taxonomy","blockMeta","date","calendar","tag","attachment","media","TemplateListItem","title","direction","className","description","icon","onClick","children","_react","createElement","Button","label","showTooltip","Flex","as","spacing","align","justify","style","width","Icon","__experimentalVStack","alignment","__experimentalText","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplateModal","onClose","modalContent","setModalContent","useState","entityForSuggestions","setEntityForSuggestions","isSubmitting","setIsSubmitting","missingTemplates","useMissingTemplates","history","saveEntityRecord","useDispatch","coreStore","createErrorNotice","createSuccessNotice","noticesStore","homeUrl","useSelect","select","getUnstableBase","TEMPLATE_SHORT_DESCRIPTIONS","sprintf","__","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","TEMPLATE_POST_TYPE","toString","status","is_wp_suggestion","throwOnError","push","postId","id","postType","canvas","decodeEntities","rendered","type","error","errorMessage","message","code","onModalClose","modalTitle","labels","singular_name","Modal","classnames","onRequestClose","overlayClassName","undefined","__experimentalGrid","columns","gap","map","key","layout","edit","default","onSelect","NewTemplate","showModal","setShowModal","getPostType","Fragment","variant","add_new_item","existingTemplates","useExistingTemplates","defaultTemplateTypes","useDefaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","useTaxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","usePostTypeMenuItems","authorMenuItem","useAuthorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf","usePostTypeArchiveMenuItems","_default","exports","memo"],"sources":["@wordpress/edit-site/src/components/add-new-template/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tedit,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nfunction NewTemplateModal( { onClose } ) {\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsSubmitting( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tonClose();\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle }\n\t\t\tclassName={ classnames( 'edit-site-add-new-template__modal', {\n\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t} ) }\n\t\t\tonRequestClose={ onModalClose }\n\t\t\toverlayClassName={\n\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t<Grid\n\t\t\t\t\tcolumns={ 3 }\n\t\t\t\t\tgap={ 4 }\n\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t>\n\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ticon={ TEMPLATE_ICONS[ slug ] || layout }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</TemplateListItem>\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customGenericTemplate && (\n\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Modal>\n\t);\n}\n\nfunction NewTemplate() {\n\tconst [ showModal, setShowModal ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\n\t\treturn {\n\t\t\tpostType: getPostType( TEMPLATE_POST_TYPE ),\n\t\t};\n\t}, [] );\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new_item }\n\t\t\t</Button>\n\t\t\t{ showModal && (\n\t\t\t\t<NewTemplateModal onClose={ () => setShowModal( false ) } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n\nexport default memo( NewTemplate );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_htmlEntities","_element","_data","_coreData","_icons","_i18n","_notices","_router","_constants","_addCustomTemplateModalContent","_utils","_addCustomGenericTemplateModalContent","_lockUnlock","_jsxRuntime","useHistory","unlock","routerPrivateApis","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","home","verse","single","pin","page","archive","search","notFound","index","list","category","author","commentAuthorAvatar","taxonomy","blockMeta","date","calendar","tag","attachment","media","TemplateListItem","title","direction","className","description","icon","onClick","children","jsx","Button","label","showTooltip","jsxs","Flex","as","spacing","align","justify","style","width","Icon","__experimentalVStack","alignment","__experimentalText","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplateModal","onClose","modalContent","setModalContent","useState","entityForSuggestions","setEntityForSuggestions","isSubmitting","setIsSubmitting","missingTemplates","useMissingTemplates","history","saveEntityRecord","useDispatch","coreStore","createErrorNotice","createSuccessNotice","noticesStore","homeUrl","useSelect","select","getUnstableBase","TEMPLATE_SHORT_DESCRIPTIONS","sprintf","__","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","TEMPLATE_POST_TYPE","toString","status","is_wp_suggestion","throwOnError","push","postId","id","postType","canvas","decodeEntities","rendered","type","error","errorMessage","message","code","onModalClose","modalTitle","labels","singular_name","Modal","clsx","onRequestClose","overlayClassName","undefined","__experimentalGrid","columns","gap","map","layout","edit","default","onSelect","NewTemplate","showModal","setShowModal","getPostType","Fragment","variant","add_new_item","__next40pxDefaultSize","existingTemplates","useExistingTemplates","defaultTemplateTypes","useDefaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","useTaxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","usePostTypeMenuItems","authorMenuItem","useAuthorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf","usePostTypeArchiveMenuItems","_default","exports","memo"],"sources":["@wordpress/edit-site/src/components/add-new-template/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tedit,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nfunction NewTemplateModal( { onClose } ) {\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isSubmitting, setIsSubmitting ] = useState( false );\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isSubmitting ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsSubmitting( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: TEMPLATE_POST_TYPE,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsSubmitting( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tonClose();\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ modalTitle }\n\t\t\tclassName={ clsx( 'edit-site-add-new-template__modal', {\n\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t} ) }\n\t\t\tonRequestClose={ onModalClose }\n\t\t\toverlayClassName={\n\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t<Grid\n\t\t\t\t\tcolumns={ 3 }\n\t\t\t\t\tgap={ 4 }\n\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t>\n\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ticon={ TEMPLATE_ICONS[ slug ] || layout }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</TemplateListItem>\n\t\t\t\t</Grid>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ modalContent === modalContentMap.customGenericTemplate && (\n\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Modal>\n\t);\n}\n\nfunction NewTemplate() {\n\tconst [ showModal, setShowModal ] = useState( false );\n\n\tconst { postType } = useSelect( ( select ) => {\n\t\tconst { getPostType } = select( coreStore );\n\n\t\treturn {\n\t\t\tpostType: getPostType( TEMPLATE_POST_TYPE ),\n\t\t};\n\t}, [] );\n\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t{ postType.labels.add_new_item }\n\t\t\t</Button>\n\t\t\t{ showModal && (\n\t\t\t\t<NewTemplateModal onClose={ () => setShowModal( false ) } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n\nexport default memo( NewTemplate );\n"],"mappings":"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","ignoreList":[]}
@@ -94,7 +94,12 @@ const usePublicTaxonomies = () => {
94
94
  }) => visibility?.publicly_queryable);
95
95
  }, [taxonomies]);
96
96
  };
97
- function usePostTypeNeedsUniqueIdentifier(publicPostTypes) {
97
+ function usePostTypeArchiveMenuItems() {
98
+ const publicPostTypes = usePublicPostTypes();
99
+ const postTypesWithArchives = (0, _element.useMemo)(() => publicPostTypes?.filter(postType => postType.has_archive), [publicPostTypes]);
100
+ const existingTemplates = useExistingTemplates();
101
+ // We need to keep track of naming conflicts. If a conflict
102
+ // occurs, we need to add slug.
98
103
  const postTypeLabels = (0, _element.useMemo)(() => publicPostTypes?.reduce((accumulator, {
99
104
  labels
100
105
  }) => {
@@ -102,19 +107,13 @@ function usePostTypeNeedsUniqueIdentifier(publicPostTypes) {
102
107
  accumulator[singularName] = (accumulator[singularName] || 0) + 1;
103
108
  return accumulator;
104
109
  }, {}), [publicPostTypes]);
105
- return (0, _element.useCallback)(({
110
+ const needsUniqueIdentifier = (0, _element.useCallback)(({
106
111
  labels,
107
112
  slug
108
113
  }) => {
109
114
  const singularName = labels.singular_name.toLowerCase();
110
115
  return postTypeLabels[singularName] > 1 && singularName !== slug;
111
116
  }, [postTypeLabels]);
112
- }
113
- function usePostTypeArchiveMenuItems() {
114
- const publicPostTypes = usePublicPostTypes();
115
- const postTypesWithArchives = (0, _element.useMemo)(() => publicPostTypes?.filter(postType => postType.has_archive), [publicPostTypes]);
116
- const existingTemplates = useExistingTemplates();
117
- const needsUniqueIdentifier = usePostTypeNeedsUniqueIdentifier(postTypesWithArchives);
118
117
  return (0, _element.useMemo)(() => postTypesWithArchives?.filter(postType => !(existingTemplates || []).some(existingTemplate => existingTemplate.slug === 'archive-' + postType.slug)).map(postType => {
119
118
  let title;
120
119
  if (needsUniqueIdentifier(postType)) {
@@ -144,7 +143,23 @@ const usePostTypeMenuItems = onClickMenuItem => {
144
143
  const publicPostTypes = usePublicPostTypes();
145
144
  const existingTemplates = useExistingTemplates();
146
145
  const defaultTemplateTypes = useDefaultTemplateTypes();
147
- const needsUniqueIdentifier = usePostTypeNeedsUniqueIdentifier(publicPostTypes);
146
+ // We need to keep track of naming conflicts. If a conflict
147
+ // occurs, we need to add slug.
148
+ const templateLabels = (0, _element.useMemo)(() => publicPostTypes?.reduce((accumulator, {
149
+ labels
150
+ }) => {
151
+ const templateName = (labels.template_name || labels.singular_name).toLowerCase();
152
+ accumulator[templateName] = (accumulator[templateName] || 0) + 1;
153
+ return accumulator;
154
+ }, {}), [publicPostTypes]);
155
+ const needsUniqueIdentifier = (0, _element.useCallback)(({
156
+ labels,
157
+ slug
158
+ }) => {
159
+ const templateName = (labels.template_name || labels.singular_name).toLowerCase();
160
+ return templateLabels[templateName] > 1 && templateName !== slug;
161
+ }, [templateLabels]);
162
+
148
163
  // `page`is a special case in template hierarchy.
149
164
  const templatePrefixes = (0, _element.useMemo)(() => publicPostTypes?.reduce((accumulator, {
150
165
  slug
@@ -175,11 +190,13 @@ const usePostTypeMenuItems = onClickMenuItem => {
175
190
  }) => _slug === generalTemplateSlug);
176
191
  const hasGeneralTemplate = existingTemplateSlugs?.includes(generalTemplateSlug);
177
192
  const _needsUniqueIdentifier = needsUniqueIdentifier(postType);
178
- let menuItemTitle = (0, _i18n.sprintf)(
193
+ let menuItemTitle = labels.template_name || (0, _i18n.sprintf)(
179
194
  // translators: %s: Name of the post type e.g: "Post".
180
195
  (0, _i18n.__)('Single item: %s'), labels.singular_name);
181
196
  if (_needsUniqueIdentifier) {
182
- menuItemTitle = (0, _i18n.sprintf)(
197
+ menuItemTitle = labels.template_name ? (0, _i18n.sprintf)(
198
+ // translators: %1s: Name of the template e.g: "Single Item: Post"; %2s: Slug of the post type e.g: "book".
199
+ (0, _i18n.__)('%1$s (%2$s)'), labels.template_name, slug) : (0, _i18n.sprintf)(
183
200
  // translators: %1s: Name of the post type e.g: "Post"; %2s: Slug of the post type e.g: "book".
184
201
  (0, _i18n.__)('Single item: %1$s (%2$s)'), labels.singular_name, slug);
185
202
  }
@@ -280,16 +297,16 @@ const useTaxonomiesMenuItems = onClickMenuItem => {
280
297
  const taxonomyLabels = publicTaxonomies?.reduce((accumulator, {
281
298
  labels
282
299
  }) => {
283
- const singularName = labels.singular_name.toLowerCase();
284
- accumulator[singularName] = (accumulator[singularName] || 0) + 1;
300
+ const templateName = (labels.template_name || labels.singular_name).toLowerCase();
301
+ accumulator[templateName] = (accumulator[templateName] || 0) + 1;
285
302
  return accumulator;
286
303
  }, {});
287
304
  const needsUniqueIdentifier = (labels, slug) => {
288
305
  if (['category', 'post_tag'].includes(slug)) {
289
306
  return false;
290
307
  }
291
- const singularName = labels.singular_name.toLowerCase();
292
- return taxonomyLabels[singularName] > 1 && singularName !== slug;
308
+ const templateName = (labels.template_name || labels.singular_name).toLowerCase();
309
+ return taxonomyLabels[templateName] > 1 && templateName !== slug;
293
310
  };
294
311
  const taxonomiesInfo = useEntitiesInfo('taxonomy', templatePrefixes);
295
312
  const existingTemplateSlugs = (existingTemplates || []).map(({
@@ -309,9 +326,11 @@ const useTaxonomiesMenuItems = onClickMenuItem => {
309
326
  }) => _slug === generalTemplateSlug);
310
327
  const hasGeneralTemplate = existingTemplateSlugs?.includes(generalTemplateSlug);
311
328
  const _needsUniqueIdentifier = needsUniqueIdentifier(labels, slug);
312
- let menuItemTitle = labels.singular_name;
329
+ let menuItemTitle = labels.template_name || labels.singular_name;
313
330
  if (_needsUniqueIdentifier) {
314
- menuItemTitle = (0, _i18n.sprintf)(
331
+ menuItemTitle = labels.template_name ? (0, _i18n.sprintf)(
332
+ // translators: %1s: Name of the template e.g: "Products by Category"; %2s: Slug of the taxonomy e.g: "product_cat".
333
+ (0, _i18n.__)('%1$s (%2$s)'), labels.template_name, slug) : (0, _i18n.sprintf)(
315
334
  // translators: %1s: Name of the taxonomy e.g: "Category"; %2s: Slug of the taxonomy e.g: "product_cat".
316
335
  (0, _i18n.__)('%1$s (%2$s)'), labels.singular_name, slug);
317
336
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_coreData","_editor","_htmlEntities","_element","_i18n","_icons","_constants","EMPTY_OBJECT","getValueFromObjectPath","object","path","value","split","forEach","fieldName","mapToIHasNameAndId","entities","map","entity","name","decodeEntities","exports","useExistingTemplates","useSelect","select","coreStore","getEntityRecords","TEMPLATE_POST_TYPE","per_page","useDefaultTemplateTypes","editorStore","__experimentalGetDefaultTemplateTypes","usePublicPostTypes","postTypes","getPostTypes","useMemo","excludedPostTypes","filter","viewable","slug","includes","usePublicTaxonomies","taxonomies","getTaxonomies","visibility","publicly_queryable","usePostTypeNeedsUniqueIdentifier","publicPostTypes","postTypeLabels","reduce","accumulator","labels","singularName","singular_name","toLowerCase","useCallback","usePostTypeArchiveMenuItems","postTypesWithArchives","postType","has_archive","existingTemplates","needsUniqueIdentifier","some","existingTemplate","title","sprintf","__","description","icon","startsWith","slice","archive","templatePrefix","usePostTypeMenuItems","onClickMenuItem","defaultTemplateTypes","templatePrefixes","suffix","postTypesInfo","useEntitiesInfo","existingTemplateSlugs","menuItems","generalTemplateSlug","defaultTemplateType","find","_slug","hasGeneralTemplate","_needsUniqueIdentifier","menuItemTitle","menuItem","post","hasEntities","onClick","template","type","config","recordNamePath","queryArgs","search","_fields","orderBy","exclude","existingEntitiesIds","getSpecificTemplate","suggestion","templateSlug","push","postTypesMenuItems","key","defaultPostTypesMenuItems","useTaxonomiesMenuItems","publicTaxonomies","taxonomyLabels","taxonomiesInfo","taxonomy","blockMeta","taxonomiesMenuItems","defaultTaxonomiesMenuItems","USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX","user","USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS","who","useAuthorMenuItem","authorInfo","authorMenuItem","search_items","not_found","all_items","useExistingTemplateSlugs","existingSlugs","Object","entries","prefix","slugsWithTemplates","_accumulator","_prefix","substring","length","useTemplatesToExclude","entityName","additionalQueryParameters","slugsToExcludePerEntity","recordsToExcludePerEntity","entitiesWithTemplates","context","entitiesHasRecords","keys","id","entitiesInfo"],"sources":["@wordpress/edit-site/src/components/add-new-template/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { blockMeta, post, archive } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nconst EMPTY_OBJECT = {};\n\n/**\n * @typedef IHasNameAndId\n * @property {string|number} id The entity's id.\n * @property {string} name The entity's name.\n */\n\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.split( '.' ).forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\n/**\n * Helper util to map records to add a `name` prop from a\n * provided path, in order to handle all entities in the same\n * fashion(implementing`IHasNameAndId` interface).\n *\n * @param {Object[]} entities The array of entities.\n * @param {string} path The path to map a `name` property from the entity.\n * @return {IHasNameAndId[]} An array of enitities that now implement the `IHasNameAndId` interface.\n */\nexport const mapToIHasNameAndId = ( entities, path ) => {\n\treturn ( entities || [] ).map( ( entity ) => ( {\n\t\t...entity,\n\t\tname: decodeEntities( getValueFromObjectPath( entity, path ) ),\n\t} ) );\n};\n\n/**\n * @typedef {Object} EntitiesInfo\n * @property {boolean} hasEntities If an entity has available records(posts, terms, etc..).\n * @property {number[]} existingEntitiesIds An array of the existing entities ids.\n */\n\nexport const useExistingTemplates = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tper_page: -1,\n\t\t\t\t}\n\t\t\t),\n\t\t[]\n\t);\n};\n\nexport const useDefaultTemplateTypes = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplateTypes(),\n\t\t[]\n\t);\n};\n\nconst usePublicPostTypes = () => {\n\tconst postTypes = useSelect(\n\t\t( select ) => select( coreStore ).getPostTypes( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\tconst excludedPostTypes = [ 'attachment' ];\n\t\treturn postTypes?.filter(\n\t\t\t( { viewable, slug } ) =>\n\t\t\t\tviewable && ! excludedPostTypes.includes( slug )\n\t\t);\n\t}, [ postTypes ] );\n};\n\nconst usePublicTaxonomies = () => {\n\tconst taxonomies = useSelect(\n\t\t( select ) => select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\treturn taxonomies?.filter(\n\t\t\t( { visibility } ) => visibility?.publicly_queryable\n\t\t);\n\t}, [ taxonomies ] );\n};\n\nfunction usePostTypeNeedsUniqueIdentifier( publicPostTypes ) {\n\tconst postTypeLabels = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { labels } ) => {\n\t\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\t\taccumulator[ singularName ] =\n\t\t\t\t\t( accumulator[ singularName ] || 0 ) + 1;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\treturn useCallback(\n\t\t( { labels, slug } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\treturn postTypeLabels[ singularName ] > 1 && singularName !== slug;\n\t\t},\n\t\t[ postTypeLabels ]\n\t);\n}\n\nexport function usePostTypeArchiveMenuItems() {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst postTypesWithArchives = useMemo(\n\t\t() => publicPostTypes?.filter( ( postType ) => postType.has_archive ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst existingTemplates = useExistingTemplates();\n\tconst needsUniqueIdentifier = usePostTypeNeedsUniqueIdentifier(\n\t\tpostTypesWithArchives\n\t);\n\treturn useMemo(\n\t\t() =>\n\t\t\tpostTypesWithArchives\n\t\t\t\t?.filter(\n\t\t\t\t\t( postType ) =>\n\t\t\t\t\t\t! ( existingTemplates || [] ).some(\n\t\t\t\t\t\t\t( existingTemplate ) =>\n\t\t\t\t\t\t\t\texistingTemplate.slug ===\n\t\t\t\t\t\t\t\t'archive-' + postType.slug\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( postType ) => {\n\t\t\t\t\tlet title;\n\t\t\t\t\tif ( needsUniqueIdentifier( postType ) ) {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t__( 'Archive: %1$s (%2$s)' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name,\n\t\t\t\t\t\t\tpostType.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Archive: %s' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tslug: 'archive-' + postType.slug,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Displays an archive with the latest posts of type: %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon: postType.icon?.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t? postType.icon.slice( 10 )\n\t\t\t\t\t\t\t: archive,\n\t\t\t\t\t\ttemplatePrefix: 'archive',\n\t\t\t\t\t};\n\t\t\t\t} ) || [],\n\t\t[ postTypesWithArchives, existingTemplates, needsUniqueIdentifier ]\n\t);\n}\n\nexport const usePostTypeMenuItems = ( onClickMenuItem ) => {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst needsUniqueIdentifier =\n\t\tusePostTypeNeedsUniqueIdentifier( publicPostTypes );\n\t// `page`is a special case in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( slug !== 'page' ) {\n\t\t\t\t\tsuffix = `single-${ suffix }`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst postTypesInfo = useEntitiesInfo( 'postType', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicPostTypes || [] ).reduce(\n\t\t( accumulator, postType ) => {\n\t\t\tconst { slug, labels, icon } = postType;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier( postType );\n\t\t\tlet menuItemTitle = sprintf(\n\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t__( 'Single item: %s' ),\n\t\t\t\tlabels.singular_name\n\t\t\t);\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = sprintf(\n\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t__( 'Single item: %1$s (%2$s)' ),\n\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Displays a single item: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon: icon?.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t? icon.slice( 10 )\n\t\t\t\t\t\t\t: post,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = postTypesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'postType',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\trecordNamePath: 'title.rendered',\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,title,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'relevance' : 'modified',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\tpostTypesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = `${ templatePrefixes[ slug ] }-${ suggestion.slug }`;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default post types\n\t// and one for the rest.\n\tconst postTypesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, postType ) => {\n\t\t\t\t\tconst { slug } = postType;\n\t\t\t\t\tlet key = 'postTypesMenuItems';\n\t\t\t\t\tif ( slug === 'page' ) {\n\t\t\t\t\t\tkey = 'defaultPostTypesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( postType );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultPostTypesMenuItems: [], postTypesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn postTypesMenuItems;\n};\n\nexport const useTaxonomiesMenuItems = ( onClickMenuItem ) => {\n\tconst publicTaxonomies = usePublicTaxonomies();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\t// `category` and `post_tag` are special cases in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicTaxonomies?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( ! [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\t\t\tsuffix = `taxonomy-${ suffix }`;\n\t\t\t\t}\n\t\t\t\tif ( slug === 'post_tag' ) {\n\t\t\t\t\tsuffix = `tag`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicTaxonomies ]\n\t);\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst taxonomyLabels = publicTaxonomies?.reduce(\n\t\t( accumulator, { labels } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\taccumulator[ singularName ] =\n\t\t\t\t( accumulator[ singularName ] || 0 ) + 1;\n\t\t\treturn accumulator;\n\t\t},\n\t\t{}\n\t);\n\tconst needsUniqueIdentifier = ( labels, slug ) => {\n\t\tif ( [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\treturn taxonomyLabels[ singularName ] > 1 && singularName !== slug;\n\t};\n\tconst taxonomiesInfo = useEntitiesInfo( 'taxonomy', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicTaxonomies || [] ).reduce(\n\t\t( accumulator, taxonomy ) => {\n\t\t\tconst { slug, labels } = taxonomy;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier(\n\t\t\t\tlabels,\n\t\t\t\tslug\n\t\t\t);\n\t\t\tlet menuItemTitle = labels.singular_name;\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = sprintf(\n\t\t\t\t\t// translators: %1s: Name of the taxonomy e.g: \"Category\"; %2s: Slug of the taxonomy e.g: \"product_cat\".\n\t\t\t\t\t__( '%1$s (%2$s)' ),\n\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the taxonomy e.g: \"Product Categories\".\n\t\t\t\t\t\t\t__( 'Displays taxonomy: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ticon: blockMeta,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = taxonomiesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'taxonomy',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'name' : 'count',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\ttaxonomiesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = `${ templatePrefixes[ slug ] }-${ suggestion.slug }`;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default taxonomies\n\t// and one for the rest.\n\tconst taxonomiesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, taxonomy ) => {\n\t\t\t\t\tconst { slug } = taxonomy;\n\t\t\t\t\tlet key = 'taxonomiesMenuItems';\n\t\t\t\t\tif ( [ 'category', 'tag' ].includes( slug ) ) {\n\t\t\t\t\t\tkey = 'defaultTaxonomiesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( taxonomy );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultTaxonomiesMenuItems: [], taxonomiesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn taxonomiesMenuItems;\n};\n\nconst USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX = { user: 'author' };\nconst USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS = { user: { who: 'authors' } };\nexport function useAuthorMenuItem( onClickMenuItem ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst authorInfo = useEntitiesInfo(\n\t\t'root',\n\t\tUSE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX,\n\t\tUSE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS\n\t);\n\tlet authorMenuItem = defaultTemplateTypes?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( ! authorMenuItem ) {\n\t\tauthorMenuItem = {\n\t\t\tdescription: __(\n\t\t\t\t'Displays latest posts written by a single author.'\n\t\t\t),\n\t\t\tslug: 'author',\n\t\t\ttitle: 'Author',\n\t\t};\n\t}\n\tconst hasGeneralTemplate = !! existingTemplates?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( authorInfo.user?.hasEntities ) {\n\t\tauthorMenuItem = { ...authorMenuItem, templatePrefix: 'author' };\n\t\tauthorMenuItem.onClick = ( template ) => {\n\t\t\tonClickMenuItem( {\n\t\t\t\ttype: 'root',\n\t\t\t\tslug: 'user',\n\t\t\t\tconfig: {\n\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\torderBy: search ? 'name' : 'registered_date',\n\t\t\t\t\t\t\texclude: authorInfo.user.existingEntitiesIds,\n\t\t\t\t\t\t\twho: 'authors',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\tconst templateSlug = `author-${ suggestion.slug }`;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\ttemplatePrefix: 'author',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlabels: {\n\t\t\t\t\tsingular_name: __( 'Author' ),\n\t\t\t\t\tsearch_items: __( 'Search Authors' ),\n\t\t\t\t\tnot_found: __( 'No authors found.' ),\n\t\t\t\t\tall_items: __( 'All Authors' ),\n\t\t\t\t},\n\t\t\t\thasGeneralTemplate,\n\t\t\t\ttemplate,\n\t\t\t} );\n\t\t};\n\t}\n\tif ( ! hasGeneralTemplate || authorInfo.user?.hasEntities ) {\n\t\treturn authorMenuItem;\n\t}\n}\n\n/**\n * Helper hook that filters all the existing templates by the given\n * object with the entity's slug as key and the template prefix as value.\n *\n * Example:\n * `existingTemplates` is: [ { slug: 'tag-apple' }, { slug: 'page-about' }, { slug: 'tag' } ]\n * `templatePrefixes` is: { post_tag: 'tag' }\n * It will return: { post_tag: ['apple'] }\n *\n * Note: We append the `-` to the given template prefix in this function for our checks.\n *\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @return {Record<string,string[]>} An object with the entity's slug as key and an array with the existing template slugs as value.\n */\nconst useExistingTemplateSlugs = ( templatePrefixes ) => {\n\tconst existingTemplates = useExistingTemplates();\n\tconst existingSlugs = useMemo( () => {\n\t\treturn Object.entries( templatePrefixes || {} ).reduce(\n\t\t\t( accumulator, [ slug, prefix ] ) => {\n\t\t\t\tconst slugsWithTemplates = ( existingTemplates || [] ).reduce(\n\t\t\t\t\t( _accumulator, existingTemplate ) => {\n\t\t\t\t\t\tconst _prefix = `${ prefix }-`;\n\t\t\t\t\t\tif ( existingTemplate.slug.startsWith( _prefix ) ) {\n\t\t\t\t\t\t\t_accumulator.push(\n\t\t\t\t\t\t\t\texistingTemplate.slug.substring(\n\t\t\t\t\t\t\t\t\t_prefix.length\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn _accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tif ( slugsWithTemplates.length ) {\n\t\t\t\t\taccumulator[ slug ] = slugsWithTemplates;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t}, [ templatePrefixes, existingTemplates ] );\n\treturn existingSlugs;\n};\n\n/**\n * Helper hook that finds the existing records with an associated template,\n * as they need to be excluded from the template suggestions.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the existing records as value.\n */\nconst useTemplatesToExclude = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = {}\n) => {\n\tconst slugsToExcludePerEntity =\n\t\tuseExistingTemplateSlugs( templatePrefixes );\n\tconst recordsToExcludePerEntity = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.entries( slugsToExcludePerEntity || {} ).reduce(\n\t\t\t\t( accumulator, [ slug, slugsWithTemplates ] ) => {\n\t\t\t\t\tconst entitiesWithTemplates = select(\n\t\t\t\t\t\tcoreStore\n\t\t\t\t\t).getEntityRecords( entityName, slug, {\n\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\tslug: slugsWithTemplates,\n\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t} );\n\t\t\t\t\tif ( entitiesWithTemplates?.length ) {\n\t\t\t\t\t\taccumulator[ slug ] = entitiesWithTemplates;\n\t\t\t\t\t}\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[ slugsToExcludePerEntity ]\n\t);\n\treturn recordsToExcludePerEntity;\n};\n\n/**\n * Helper hook that returns information about an entity having\n * records that we can create a specific template for.\n *\n * For example we can search for `terms` in `taxonomy` entity or\n * `posts` in `postType` entity.\n *\n * First we need to find the existing records with an associated template,\n * to query afterwards for any remaining record, by excluding them.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the EntitiesInfo as value.\n */\nconst useEntitiesInfo = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = EMPTY_OBJECT\n) => {\n\tconst recordsToExcludePerEntity = useTemplatesToExclude(\n\t\tentityName,\n\t\ttemplatePrefixes,\n\t\tadditionalQueryParameters\n\t);\n\tconst entitiesHasRecords = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.keys( templatePrefixes || {} ).reduce(\n\t\t\t\t( accumulator, slug ) => {\n\t\t\t\t\tconst existingEntitiesIds =\n\t\t\t\t\t\trecordsToExcludePerEntity?.[ slug ]?.map(\n\t\t\t\t\t\t\t( { id } ) => id\n\t\t\t\t\t\t) || [];\n\t\t\t\t\taccumulator[ slug ] = !! select(\n\t\t\t\t\t\tcoreStore\n\t\t\t\t\t).getEntityRecords( entityName, slug, {\n\t\t\t\t\t\tper_page: 1,\n\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\texclude: existingEntitiesIds,\n\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t} )?.length;\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[\n\t\t\ttemplatePrefixes,\n\t\t\trecordsToExcludePerEntity,\n\t\t\tentityName,\n\t\t\tadditionalQueryParameters,\n\t\t]\n\t);\n\tconst entitiesInfo = useMemo( () => {\n\t\treturn Object.keys( templatePrefixes || {} ).reduce(\n\t\t\t( accumulator, slug ) => {\n\t\t\t\tconst existingEntitiesIds =\n\t\t\t\t\trecordsToExcludePerEntity?.[ slug ]?.map(\n\t\t\t\t\t\t( { id } ) => id\n\t\t\t\t\t) || [];\n\t\t\t\taccumulator[ slug ] = {\n\t\t\t\t\thasEntities: entitiesHasRecords[ slug ],\n\t\t\t\t\texistingEntitiesIds,\n\t\t\t\t};\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t}, [ templatePrefixes, recordsToExcludePerEntity, entitiesHasRecords ] );\n\treturn entitiesInfo;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_coreData","_editor","_htmlEntities","_element","_i18n","_icons","_constants","EMPTY_OBJECT","getValueFromObjectPath","object","path","value","split","forEach","fieldName","mapToIHasNameAndId","entities","map","entity","name","decodeEntities","exports","useExistingTemplates","useSelect","select","coreStore","getEntityRecords","TEMPLATE_POST_TYPE","per_page","useDefaultTemplateTypes","editorStore","__experimentalGetDefaultTemplateTypes","usePublicPostTypes","postTypes","getPostTypes","useMemo","excludedPostTypes","filter","viewable","slug","includes","usePublicTaxonomies","taxonomies","getTaxonomies","visibility","publicly_queryable","usePostTypeArchiveMenuItems","publicPostTypes","postTypesWithArchives","postType","has_archive","existingTemplates","postTypeLabels","reduce","accumulator","labels","singularName","singular_name","toLowerCase","needsUniqueIdentifier","useCallback","some","existingTemplate","title","sprintf","__","description","icon","startsWith","slice","archive","templatePrefix","usePostTypeMenuItems","onClickMenuItem","defaultTemplateTypes","templateLabels","templateName","template_name","templatePrefixes","suffix","postTypesInfo","useEntitiesInfo","existingTemplateSlugs","menuItems","generalTemplateSlug","defaultTemplateType","find","_slug","hasGeneralTemplate","_needsUniqueIdentifier","menuItemTitle","menuItem","post","hasEntities","onClick","template","type","config","recordNamePath","queryArgs","search","_fields","orderBy","exclude","existingEntitiesIds","getSpecificTemplate","suggestion","templateSlug","push","postTypesMenuItems","key","defaultPostTypesMenuItems","useTaxonomiesMenuItems","publicTaxonomies","taxonomyLabels","taxonomiesInfo","taxonomy","blockMeta","taxonomiesMenuItems","defaultTaxonomiesMenuItems","USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX","user","USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS","who","useAuthorMenuItem","authorInfo","authorMenuItem","search_items","not_found","all_items","useExistingTemplateSlugs","existingSlugs","Object","entries","prefix","slugsWithTemplates","_accumulator","_prefix","substring","length","useTemplatesToExclude","entityName","additionalQueryParameters","slugsToExcludePerEntity","recordsToExcludePerEntity","entitiesWithTemplates","context","entitiesHasRecords","keys","id","entitiesInfo"],"sources":["@wordpress/edit-site/src/components/add-new-template/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useMemo, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { blockMeta, post, archive } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nconst EMPTY_OBJECT = {};\n\n/**\n * @typedef IHasNameAndId\n * @property {string|number} id The entity's id.\n * @property {string} name The entity's name.\n */\n\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.split( '.' ).forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\n/**\n * Helper util to map records to add a `name` prop from a\n * provided path, in order to handle all entities in the same\n * fashion(implementing`IHasNameAndId` interface).\n *\n * @param {Object[]} entities The array of entities.\n * @param {string} path The path to map a `name` property from the entity.\n * @return {IHasNameAndId[]} An array of enitities that now implement the `IHasNameAndId` interface.\n */\nexport const mapToIHasNameAndId = ( entities, path ) => {\n\treturn ( entities || [] ).map( ( entity ) => ( {\n\t\t...entity,\n\t\tname: decodeEntities( getValueFromObjectPath( entity, path ) ),\n\t} ) );\n};\n\n/**\n * @typedef {Object} EntitiesInfo\n * @property {boolean} hasEntities If an entity has available records(posts, terms, etc..).\n * @property {number[]} existingEntitiesIds An array of the existing entities ids.\n */\n\nexport const useExistingTemplates = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tper_page: -1,\n\t\t\t\t}\n\t\t\t),\n\t\t[]\n\t);\n};\n\nexport const useDefaultTemplateTypes = () => {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplateTypes(),\n\t\t[]\n\t);\n};\n\nconst usePublicPostTypes = () => {\n\tconst postTypes = useSelect(\n\t\t( select ) => select( coreStore ).getPostTypes( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\tconst excludedPostTypes = [ 'attachment' ];\n\t\treturn postTypes?.filter(\n\t\t\t( { viewable, slug } ) =>\n\t\t\t\tviewable && ! excludedPostTypes.includes( slug )\n\t\t);\n\t}, [ postTypes ] );\n};\n\nconst usePublicTaxonomies = () => {\n\tconst taxonomies = useSelect(\n\t\t( select ) => select( coreStore ).getTaxonomies( { per_page: -1 } ),\n\t\t[]\n\t);\n\treturn useMemo( () => {\n\t\treturn taxonomies?.filter(\n\t\t\t( { visibility } ) => visibility?.publicly_queryable\n\t\t);\n\t}, [ taxonomies ] );\n};\n\nexport function usePostTypeArchiveMenuItems() {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst postTypesWithArchives = useMemo(\n\t\t() => publicPostTypes?.filter( ( postType ) => postType.has_archive ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst existingTemplates = useExistingTemplates();\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst postTypeLabels = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { labels } ) => {\n\t\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\t\taccumulator[ singularName ] =\n\t\t\t\t\t( accumulator[ singularName ] || 0 ) + 1;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst needsUniqueIdentifier = useCallback(\n\t\t( { labels, slug } ) => {\n\t\t\tconst singularName = labels.singular_name.toLowerCase();\n\t\t\treturn postTypeLabels[ singularName ] > 1 && singularName !== slug;\n\t\t},\n\t\t[ postTypeLabels ]\n\t);\n\treturn useMemo(\n\t\t() =>\n\t\t\tpostTypesWithArchives\n\t\t\t\t?.filter(\n\t\t\t\t\t( postType ) =>\n\t\t\t\t\t\t! ( existingTemplates || [] ).some(\n\t\t\t\t\t\t\t( existingTemplate ) =>\n\t\t\t\t\t\t\t\texistingTemplate.slug ===\n\t\t\t\t\t\t\t\t'archive-' + postType.slug\n\t\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t\t.map( ( postType ) => {\n\t\t\t\t\tlet title;\n\t\t\t\t\tif ( needsUniqueIdentifier( postType ) ) {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t__( 'Archive: %1$s (%2$s)' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name,\n\t\t\t\t\t\t\tpostType.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Archive: %s' ),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn {\n\t\t\t\t\t\tslug: 'archive-' + postType.slug,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Displays an archive with the latest posts of type: %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon: postType.icon?.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t? postType.icon.slice( 10 )\n\t\t\t\t\t\t\t: archive,\n\t\t\t\t\t\ttemplatePrefix: 'archive',\n\t\t\t\t\t};\n\t\t\t\t} ) || [],\n\t\t[ postTypesWithArchives, existingTemplates, needsUniqueIdentifier ]\n\t);\n}\n\nexport const usePostTypeMenuItems = ( onClickMenuItem ) => {\n\tconst publicPostTypes = usePublicPostTypes();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst templateLabels = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { labels } ) => {\n\t\t\t\tconst templateName = (\n\t\t\t\t\tlabels.template_name || labels.singular_name\n\t\t\t\t).toLowerCase();\n\t\t\t\taccumulator[ templateName ] =\n\t\t\t\t\t( accumulator[ templateName ] || 0 ) + 1;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst needsUniqueIdentifier = useCallback(\n\t\t( { labels, slug } ) => {\n\t\t\tconst templateName = (\n\t\t\t\tlabels.template_name || labels.singular_name\n\t\t\t).toLowerCase();\n\t\t\treturn templateLabels[ templateName ] > 1 && templateName !== slug;\n\t\t},\n\t\t[ templateLabels ]\n\t);\n\n\t// `page`is a special case in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicPostTypes?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( slug !== 'page' ) {\n\t\t\t\t\tsuffix = `single-${ suffix }`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicPostTypes ]\n\t);\n\tconst postTypesInfo = useEntitiesInfo( 'postType', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicPostTypes || [] ).reduce(\n\t\t( accumulator, postType ) => {\n\t\t\tconst { slug, labels, icon } = postType;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier( postType );\n\t\t\tlet menuItemTitle =\n\t\t\t\tlabels.template_name ||\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t__( 'Single item: %s' ),\n\t\t\t\t\tlabels.singular_name\n\t\t\t\t);\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = labels.template_name\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %1s: Name of the template e.g: \"Single Item: Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t__( '%1$s (%2$s)' ),\n\t\t\t\t\t\t\tlabels.template_name,\n\t\t\t\t\t\t\tslug\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: %1s: Name of the post type e.g: \"Post\"; %2s: Slug of the post type e.g: \"book\".\n\t\t\t\t\t\t\t__( 'Single item: %1$s (%2$s)' ),\n\t\t\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\t\t\tslug\n\t\t\t\t\t );\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t\t\t\t\t__( 'Displays a single item: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\t// `icon` is the `menu_icon` property of a post type. We\n\t\t\t\t\t\t// only handle `dashicons` for now, even if the `menu_icon`\n\t\t\t\t\t\t// also supports urls and svg as values.\n\t\t\t\t\t\ticon: icon?.startsWith( 'dashicons-' )\n\t\t\t\t\t\t\t? icon.slice( 10 )\n\t\t\t\t\t\t\t: post,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = postTypesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'postType',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\trecordNamePath: 'title.rendered',\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,title,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'relevance' : 'modified',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\tpostTypesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = `${ templatePrefixes[ slug ] }-${ suggestion.slug }`;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default post types\n\t// and one for the rest.\n\tconst postTypesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, postType ) => {\n\t\t\t\t\tconst { slug } = postType;\n\t\t\t\t\tlet key = 'postTypesMenuItems';\n\t\t\t\t\tif ( slug === 'page' ) {\n\t\t\t\t\t\tkey = 'defaultPostTypesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( postType );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultPostTypesMenuItems: [], postTypesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn postTypesMenuItems;\n};\n\nexport const useTaxonomiesMenuItems = ( onClickMenuItem ) => {\n\tconst publicTaxonomies = usePublicTaxonomies();\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\t// `category` and `post_tag` are special cases in template hierarchy.\n\tconst templatePrefixes = useMemo(\n\t\t() =>\n\t\t\tpublicTaxonomies?.reduce( ( accumulator, { slug } ) => {\n\t\t\t\tlet suffix = slug;\n\t\t\t\tif ( ! [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\t\t\tsuffix = `taxonomy-${ suffix }`;\n\t\t\t\t}\n\t\t\t\tif ( slug === 'post_tag' ) {\n\t\t\t\t\tsuffix = `tag`;\n\t\t\t\t}\n\t\t\t\taccumulator[ slug ] = suffix;\n\t\t\t\treturn accumulator;\n\t\t\t}, {} ),\n\t\t[ publicTaxonomies ]\n\t);\n\t// We need to keep track of naming conflicts. If a conflict\n\t// occurs, we need to add slug.\n\tconst taxonomyLabels = publicTaxonomies?.reduce(\n\t\t( accumulator, { labels } ) => {\n\t\t\tconst templateName = (\n\t\t\t\tlabels.template_name || labels.singular_name\n\t\t\t).toLowerCase();\n\t\t\taccumulator[ templateName ] =\n\t\t\t\t( accumulator[ templateName ] || 0 ) + 1;\n\t\t\treturn accumulator;\n\t\t},\n\t\t{}\n\t);\n\tconst needsUniqueIdentifier = ( labels, slug ) => {\n\t\tif ( [ 'category', 'post_tag' ].includes( slug ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst templateName = (\n\t\t\tlabels.template_name || labels.singular_name\n\t\t).toLowerCase();\n\t\treturn taxonomyLabels[ templateName ] > 1 && templateName !== slug;\n\t};\n\tconst taxonomiesInfo = useEntitiesInfo( 'taxonomy', templatePrefixes );\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst menuItems = ( publicTaxonomies || [] ).reduce(\n\t\t( accumulator, taxonomy ) => {\n\t\t\tconst { slug, labels } = taxonomy;\n\t\t\t// We need to check if the general template is part of the\n\t\t\t// defaultTemplateTypes. If it is, just use that info and\n\t\t\t// augment it with the specific template functionality.\n\t\t\tconst generalTemplateSlug = templatePrefixes[ slug ];\n\t\t\tconst defaultTemplateType = defaultTemplateTypes?.find(\n\t\t\t\t( { slug: _slug } ) => _slug === generalTemplateSlug\n\t\t\t);\n\t\t\tconst hasGeneralTemplate =\n\t\t\t\texistingTemplateSlugs?.includes( generalTemplateSlug );\n\t\t\tconst _needsUniqueIdentifier = needsUniqueIdentifier(\n\t\t\t\tlabels,\n\t\t\t\tslug\n\t\t\t);\n\t\t\tlet menuItemTitle = labels.template_name || labels.singular_name;\n\t\t\tif ( _needsUniqueIdentifier ) {\n\t\t\t\tmenuItemTitle = labels.template_name\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %1s: Name of the template e.g: \"Products by Category\"; %2s: Slug of the taxonomy e.g: \"product_cat\".\n\t\t\t\t\t\t\t__( '%1$s (%2$s)' ),\n\t\t\t\t\t\t\tlabels.template_name,\n\t\t\t\t\t\t\tslug\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: %1s: Name of the taxonomy e.g: \"Category\"; %2s: Slug of the taxonomy e.g: \"product_cat\".\n\t\t\t\t\t\t\t__( '%1$s (%2$s)' ),\n\t\t\t\t\t\t\tlabels.singular_name,\n\t\t\t\t\t\t\tslug\n\t\t\t\t\t );\n\t\t\t}\n\t\t\tconst menuItem = defaultTemplateType\n\t\t\t\t? {\n\t\t\t\t\t\t...defaultTemplateType,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\tslug: generalTemplateSlug,\n\t\t\t\t\t\ttitle: menuItemTitle,\n\t\t\t\t\t\tdescription: sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the taxonomy e.g: \"Product Categories\".\n\t\t\t\t\t\t\t__( 'Displays taxonomy: %s.' ),\n\t\t\t\t\t\t\tlabels.singular_name\n\t\t\t\t\t\t),\n\t\t\t\t\t\ticon: blockMeta,\n\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t };\n\t\t\tconst hasEntities = taxonomiesInfo?.[ slug ]?.hasEntities;\n\t\t\t// We have a different template creation flow only if they have entities.\n\t\t\tif ( hasEntities ) {\n\t\t\t\tmenuItem.onClick = ( template ) => {\n\t\t\t\t\tonClickMenuItem( {\n\t\t\t\t\t\ttype: 'taxonomy',\n\t\t\t\t\t\tslug,\n\t\t\t\t\t\tconfig: {\n\t\t\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\t\t\torderBy: search ? 'name' : 'count',\n\t\t\t\t\t\t\t\t\texclude:\n\t\t\t\t\t\t\t\t\t\ttaxonomiesInfo[ slug ]\n\t\t\t\t\t\t\t\t\t\t\t.existingEntitiesIds,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\t\t\tconst templateSlug = `${ templatePrefixes[ slug ] }-${ suggestion.slug }`;\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\t\t\ttemplatePrefix: templatePrefixes[ slug ],\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tlabels,\n\t\t\t\t\t\thasGeneralTemplate,\n\t\t\t\t\t\ttemplate,\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t}\n\t\t\t// We don't need to add the menu item if there are no\n\t\t\t// entities and the general template exists.\n\t\t\tif ( ! hasGeneralTemplate || hasEntities ) {\n\t\t\t\taccumulator.push( menuItem );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\t// Split menu items into two groups: one for the default taxonomies\n\t// and one for the rest.\n\tconst taxonomiesMenuItems = useMemo(\n\t\t() =>\n\t\t\tmenuItems.reduce(\n\t\t\t\t( accumulator, taxonomy ) => {\n\t\t\t\t\tconst { slug } = taxonomy;\n\t\t\t\t\tlet key = 'taxonomiesMenuItems';\n\t\t\t\t\tif ( [ 'category', 'tag' ].includes( slug ) ) {\n\t\t\t\t\t\tkey = 'defaultTaxonomiesMenuItems';\n\t\t\t\t\t}\n\t\t\t\t\taccumulator[ key ].push( taxonomy );\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{ defaultTaxonomiesMenuItems: [], taxonomiesMenuItems: [] }\n\t\t\t),\n\t\t[ menuItems ]\n\t);\n\treturn taxonomiesMenuItems;\n};\n\nconst USE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX = { user: 'author' };\nconst USE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS = { user: { who: 'authors' } };\nexport function useAuthorMenuItem( onClickMenuItem ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst authorInfo = useEntitiesInfo(\n\t\t'root',\n\t\tUSE_AUTHOR_MENU_ITEM_TEMPLATE_PREFIX,\n\t\tUSE_AUTHOR_MENU_ITEM_QUERY_PARAMETERS\n\t);\n\tlet authorMenuItem = defaultTemplateTypes?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( ! authorMenuItem ) {\n\t\tauthorMenuItem = {\n\t\t\tdescription: __(\n\t\t\t\t'Displays latest posts written by a single author.'\n\t\t\t),\n\t\t\tslug: 'author',\n\t\t\ttitle: 'Author',\n\t\t};\n\t}\n\tconst hasGeneralTemplate = !! existingTemplates?.find(\n\t\t( { slug } ) => slug === 'author'\n\t);\n\tif ( authorInfo.user?.hasEntities ) {\n\t\tauthorMenuItem = { ...authorMenuItem, templatePrefix: 'author' };\n\t\tauthorMenuItem.onClick = ( template ) => {\n\t\t\tonClickMenuItem( {\n\t\t\t\ttype: 'root',\n\t\t\t\tslug: 'user',\n\t\t\t\tconfig: {\n\t\t\t\t\tqueryArgs: ( { search } ) => {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t_fields: 'id,name,slug,link',\n\t\t\t\t\t\t\torderBy: search ? 'name' : 'registered_date',\n\t\t\t\t\t\t\texclude: authorInfo.user.existingEntitiesIds,\n\t\t\t\t\t\t\twho: 'authors',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t\tgetSpecificTemplate: ( suggestion ) => {\n\t\t\t\t\t\tconst templateSlug = `author-${ suggestion.slug }`;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\ttitle: templateSlug,\n\t\t\t\t\t\t\tslug: templateSlug,\n\t\t\t\t\t\t\ttemplatePrefix: 'author',\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlabels: {\n\t\t\t\t\tsingular_name: __( 'Author' ),\n\t\t\t\t\tsearch_items: __( 'Search Authors' ),\n\t\t\t\t\tnot_found: __( 'No authors found.' ),\n\t\t\t\t\tall_items: __( 'All Authors' ),\n\t\t\t\t},\n\t\t\t\thasGeneralTemplate,\n\t\t\t\ttemplate,\n\t\t\t} );\n\t\t};\n\t}\n\tif ( ! hasGeneralTemplate || authorInfo.user?.hasEntities ) {\n\t\treturn authorMenuItem;\n\t}\n}\n\n/**\n * Helper hook that filters all the existing templates by the given\n * object with the entity's slug as key and the template prefix as value.\n *\n * Example:\n * `existingTemplates` is: [ { slug: 'tag-apple' }, { slug: 'page-about' }, { slug: 'tag' } ]\n * `templatePrefixes` is: { post_tag: 'tag' }\n * It will return: { post_tag: ['apple'] }\n *\n * Note: We append the `-` to the given template prefix in this function for our checks.\n *\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @return {Record<string,string[]>} An object with the entity's slug as key and an array with the existing template slugs as value.\n */\nconst useExistingTemplateSlugs = ( templatePrefixes ) => {\n\tconst existingTemplates = useExistingTemplates();\n\tconst existingSlugs = useMemo( () => {\n\t\treturn Object.entries( templatePrefixes || {} ).reduce(\n\t\t\t( accumulator, [ slug, prefix ] ) => {\n\t\t\t\tconst slugsWithTemplates = ( existingTemplates || [] ).reduce(\n\t\t\t\t\t( _accumulator, existingTemplate ) => {\n\t\t\t\t\t\tconst _prefix = `${ prefix }-`;\n\t\t\t\t\t\tif ( existingTemplate.slug.startsWith( _prefix ) ) {\n\t\t\t\t\t\t\t_accumulator.push(\n\t\t\t\t\t\t\t\texistingTemplate.slug.substring(\n\t\t\t\t\t\t\t\t\t_prefix.length\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn _accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\t\t\t\tif ( slugsWithTemplates.length ) {\n\t\t\t\t\taccumulator[ slug ] = slugsWithTemplates;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t}, [ templatePrefixes, existingTemplates ] );\n\treturn existingSlugs;\n};\n\n/**\n * Helper hook that finds the existing records with an associated template,\n * as they need to be excluded from the template suggestions.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the existing records as value.\n */\nconst useTemplatesToExclude = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = {}\n) => {\n\tconst slugsToExcludePerEntity =\n\t\tuseExistingTemplateSlugs( templatePrefixes );\n\tconst recordsToExcludePerEntity = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.entries( slugsToExcludePerEntity || {} ).reduce(\n\t\t\t\t( accumulator, [ slug, slugsWithTemplates ] ) => {\n\t\t\t\t\tconst entitiesWithTemplates = select(\n\t\t\t\t\t\tcoreStore\n\t\t\t\t\t).getEntityRecords( entityName, slug, {\n\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\tslug: slugsWithTemplates,\n\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t} );\n\t\t\t\t\tif ( entitiesWithTemplates?.length ) {\n\t\t\t\t\t\taccumulator[ slug ] = entitiesWithTemplates;\n\t\t\t\t\t}\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[ slugsToExcludePerEntity ]\n\t);\n\treturn recordsToExcludePerEntity;\n};\n\n/**\n * Helper hook that returns information about an entity having\n * records that we can create a specific template for.\n *\n * For example we can search for `terms` in `taxonomy` entity or\n * `posts` in `postType` entity.\n *\n * First we need to find the existing records with an associated template,\n * to query afterwards for any remaining record, by excluding them.\n *\n * @param {string} entityName The entity's name.\n * @param {Record<string,string>} templatePrefixes An object with the entity's slug as key and the template prefix as value.\n * @param {Record<string,Object>} additionalQueryParameters An object with the entity's slug as key and additional query parameters as value.\n * @return {Record<string,EntitiesInfo>} An object with the entity's slug as key and the EntitiesInfo as value.\n */\nconst useEntitiesInfo = (\n\tentityName,\n\ttemplatePrefixes,\n\tadditionalQueryParameters = EMPTY_OBJECT\n) => {\n\tconst recordsToExcludePerEntity = useTemplatesToExclude(\n\t\tentityName,\n\t\ttemplatePrefixes,\n\t\tadditionalQueryParameters\n\t);\n\tconst entitiesHasRecords = useSelect(\n\t\t( select ) => {\n\t\t\treturn Object.keys( templatePrefixes || {} ).reduce(\n\t\t\t\t( accumulator, slug ) => {\n\t\t\t\t\tconst existingEntitiesIds =\n\t\t\t\t\t\trecordsToExcludePerEntity?.[ slug ]?.map(\n\t\t\t\t\t\t\t( { id } ) => id\n\t\t\t\t\t\t) || [];\n\t\t\t\t\taccumulator[ slug ] = !! select(\n\t\t\t\t\t\tcoreStore\n\t\t\t\t\t).getEntityRecords( entityName, slug, {\n\t\t\t\t\t\tper_page: 1,\n\t\t\t\t\t\t_fields: 'id',\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\texclude: existingEntitiesIds,\n\t\t\t\t\t\t...additionalQueryParameters[ slug ],\n\t\t\t\t\t} )?.length;\n\t\t\t\t\treturn accumulator;\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t},\n\t\t[\n\t\t\ttemplatePrefixes,\n\t\t\trecordsToExcludePerEntity,\n\t\t\tentityName,\n\t\t\tadditionalQueryParameters,\n\t\t]\n\t);\n\tconst entitiesInfo = useMemo( () => {\n\t\treturn Object.keys( templatePrefixes || {} ).reduce(\n\t\t\t( accumulator, slug ) => {\n\t\t\t\tconst existingEntitiesIds =\n\t\t\t\t\trecordsToExcludePerEntity?.[ slug ]?.map(\n\t\t\t\t\t\t( { id } ) => id\n\t\t\t\t\t) || [];\n\t\t\t\taccumulator[ slug ] = {\n\t\t\t\t\thasEntities: entitiesHasRecords[ slug ],\n\t\t\t\t\texistingEntitiesIds,\n\t\t\t\t};\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t}, [ templatePrefixes, recordsToExcludePerEntity, entitiesHasRecords ] );\n\treturn entitiesInfo;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = App;
8
- var _react = require("react");
9
8
  var _components = require("@wordpress/components");
10
9
  var _editor = require("@wordpress/editor");
11
10
  var _notices = require("@wordpress/notices");
@@ -14,8 +13,8 @@ var _i18n = require("@wordpress/i18n");
14
13
  var _plugins = require("@wordpress/plugins");
15
14
  var _router = require("@wordpress/router");
16
15
  var _layout = _interopRequireDefault(require("../layout"));
17
- var _globalStylesProvider = require("../global-styles/global-styles-provider");
18
16
  var _lockUnlock = require("../../lock-unlock");
17
+ var _jsxRuntime = require("react/jsx-runtime");
19
18
  /**
20
19
  * WordPress dependencies
21
20
  */
@@ -27,6 +26,9 @@ var _lockUnlock = require("../../lock-unlock");
27
26
  const {
28
27
  RouterProvider
29
28
  } = (0, _lockUnlock.unlock)(_router.privateApis);
29
+ const {
30
+ GlobalStylesProvider
31
+ } = (0, _lockUnlock.unlock)(_editor.privateApis);
30
32
  function App() {
31
33
  const {
32
34
  createErrorNotice
@@ -35,8 +37,14 @@ function App() {
35
37
  createErrorNotice((0, _i18n.sprintf)( /* translators: %s: plugin name */
36
38
  (0, _i18n.__)('The "%s" plugin has encountered an error and cannot be rendered.'), name));
37
39
  }
38
- return (0, _react.createElement)(_components.SlotFillProvider, null, (0, _react.createElement)(_globalStylesProvider.GlobalStylesProvider, null, (0, _react.createElement)(_editor.UnsavedChangesWarning, null), (0, _react.createElement)(RouterProvider, null, (0, _react.createElement)(_layout.default, null), (0, _react.createElement)(_plugins.PluginArea, {
39
- onError: onPluginAreaError
40
- }))));
40
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SlotFillProvider, {
41
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(GlobalStylesProvider, {
42
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_editor.UnsavedChangesWarning, {}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(RouterProvider, {
43
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_layout.default, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_plugins.PluginArea, {
44
+ onError: onPluginAreaError
45
+ })]
46
+ })]
47
+ })
48
+ });
41
49
  }
42
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_editor","_notices","_data","_i18n","_plugins","_router","_layout","_interopRequireDefault","_globalStylesProvider","_lockUnlock","RouterProvider","unlock","routerPrivateApis","App","createErrorNotice","useDispatch","noticesStore","onPluginAreaError","name","sprintf","__","_react","createElement","SlotFillProvider","GlobalStylesProvider","UnsavedChangesWarning","default","PluginArea","onError"],"sources":["@wordpress/edit-site/src/components/app/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SlotFillProvider } from '@wordpress/components';\nimport { UnsavedChangesWarning } from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { PluginArea } from '@wordpress/plugins';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Layout from '../layout';\nimport { GlobalStylesProvider } from '../global-styles/global-styles-provider';\nimport { unlock } from '../../lock-unlock';\n\nconst { RouterProvider } = unlock( routerPrivateApis );\n\nexport default function App() {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<GlobalStylesProvider>\n\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t<RouterProvider>\n\t\t\t\t\t<Layout />\n\t\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t</RouterProvider>\n\t\t\t</GlobalStylesProvider>\n\t\t</SlotFillProvider>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAKA,IAAAO,OAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,qBAAA,GAAAT,OAAA;AACA,IAAAU,WAAA,GAAAV,OAAA;AAhBA;AACA;AACA;;AASA;AACA;AACA;;AAKA,MAAM;EAAEW;AAAe,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEvC,SAASC,GAAGA,CAAA,EAAG;EAC7B,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EAEzD,SAASC,iBAAiBA,CAAEC,IAAI,EAAG;IAClCJ,iBAAiB,CAChB,IAAAK,aAAO,GACN;IACA,IAAAC,QAAE,EACD,kEACD,CAAC,EACDF,IACD,CACD,CAAC;EACF;EAEA,OACC,IAAAG,MAAA,CAAAC,aAAA,EAACxB,WAAA,CAAAyB,gBAAgB,QAChB,IAAAF,MAAA,CAAAC,aAAA,EAACd,qBAAA,CAAAgB,oBAAoB,QACpB,IAAAH,MAAA,CAAAC,aAAA,EAACtB,OAAA,CAAAyB,qBAAqB,MAAE,CAAC,EACzB,IAAAJ,MAAA,CAAAC,aAAA,EAACZ,cAAc,QACd,IAAAW,MAAA,CAAAC,aAAA,EAAChB,OAAA,CAAAoB,OAAM,MAAE,CAAC,EACV,IAAAL,MAAA,CAAAC,aAAA,EAAClB,QAAA,CAAAuB,UAAU;IAACC,OAAO,EAAGX;EAAmB,CAAE,CAC5B,CACK,CACL,CAAC;AAErB","ignoreList":[]}
1
+ {"version":3,"names":["_components","require","_editor","_notices","_data","_i18n","_plugins","_router","_layout","_interopRequireDefault","_lockUnlock","_jsxRuntime","RouterProvider","unlock","routerPrivateApis","GlobalStylesProvider","editorPrivateApis","App","createErrorNotice","useDispatch","noticesStore","onPluginAreaError","name","sprintf","__","jsx","SlotFillProvider","children","jsxs","UnsavedChangesWarning","default","PluginArea","onError"],"sources":["@wordpress/edit-site/src/components/app/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SlotFillProvider } from '@wordpress/components';\nimport {\n\tUnsavedChangesWarning,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { PluginArea } from '@wordpress/plugins';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Layout from '../layout';\nimport { unlock } from '../../lock-unlock';\n\nconst { RouterProvider } = unlock( routerPrivateApis );\nconst { GlobalStylesProvider } = unlock( editorPrivateApis );\n\nexport default function App() {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<SlotFillProvider>\n\t\t\t<GlobalStylesProvider>\n\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t<RouterProvider>\n\t\t\t\t\t<Layout />\n\t\t\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t\t</RouterProvider>\n\t\t\t</GlobalStylesProvider>\n\t\t</SlotFillProvider>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAIA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AAKA,IAAAO,OAAA,GAAAC,sBAAA,CAAAR,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AAA2C,IAAAU,WAAA,GAAAV,OAAA;AAlB3C;AACA;AACA;;AAYA;AACA;AACA;;AAIA,MAAM;EAAEW;AAAe,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AACtD,MAAM;EAAEC;AAAqB,CAAC,GAAG,IAAAF,kBAAM,EAAEG,mBAAkB,CAAC;AAE7C,SAASC,GAAGA,CAAA,EAAG;EAC7B,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EAEzD,SAASC,iBAAiBA,CAAEC,IAAI,EAAG;IAClCJ,iBAAiB,CAChB,IAAAK,aAAO,GACN;IACA,IAAAC,QAAE,EACD,kEACD,CAAC,EACDF,IACD,CACD,CAAC;EACF;EAEA,oBACC,IAAAX,WAAA,CAAAc,GAAA,EAACzB,WAAA,CAAA0B,gBAAgB;IAAAC,QAAA,eAChB,IAAAhB,WAAA,CAAAiB,IAAA,EAACb,oBAAoB;MAAAY,QAAA,gBACpB,IAAAhB,WAAA,CAAAc,GAAA,EAACvB,OAAA,CAAA2B,qBAAqB,IAAE,CAAC,eACzB,IAAAlB,WAAA,CAAAiB,IAAA,EAAChB,cAAc;QAAAe,QAAA,gBACd,IAAAhB,WAAA,CAAAc,GAAA,EAACjB,OAAA,CAAAsB,OAAM,IAAE,CAAC,eACV,IAAAnB,WAAA,CAAAc,GAAA,EAACnB,QAAA,CAAAyB,UAAU;UAACC,OAAO,EAAGX;QAAmB,CAAE,CAAC;MAAA,CAC7B,CAAC;IAAA,CACI;EAAC,CACN,CAAC;AAErB","ignoreList":[]}
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = BlockInspectorButton;
7
- var _react = require("react");
8
7
  var _i18n = require("@wordpress/i18n");
9
8
  var _a11y = require("@wordpress/a11y");
10
9
  var _components = require("@wordpress/components");
@@ -12,6 +11,7 @@ var _data = require("@wordpress/data");
12
11
  var _keyboardShortcuts = require("@wordpress/keyboard-shortcuts");
13
12
  var _editor = require("@wordpress/editor");
14
13
  var _lockUnlock = require("../../lock-unlock");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
15
  /**
16
16
  * WordPress dependencies
17
17
  */
@@ -38,7 +38,7 @@ function BlockInspectorButton({
38
38
  disableComplementaryArea
39
39
  } = (0, _data.useDispatch)(interfaceStore);
40
40
  const label = isBlockInspectorOpen ? (0, _i18n.__)('Hide more settings') : (0, _i18n.__)('Show more settings');
41
- return (0, _react.createElement)(_components.MenuItem, {
41
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
42
42
  onClick: () => {
43
43
  if (isBlockInspectorOpen) {
44
44
  disableComplementaryArea('core');
@@ -50,7 +50,8 @@ function BlockInspectorButton({
50
50
  // Close dropdown menu.
51
51
  onClick();
52
52
  },
53
- shortcut: shortcut
54
- }, label);
53
+ shortcut: shortcut,
54
+ children: label
55
+ });
55
56
  }
56
57
  //# sourceMappingURL=block-inspector-button.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_a11y","_components","_data","_keyboardShortcuts","_editor","_lockUnlock","interfaceStore","unlock","editorPrivateApis","BlockInspectorButton","onClick","shortcut","isBlockInspectorOpen","useSelect","select","keyboardShortcutsStore","getShortcutRepresentation","getActiveComplementaryArea","enableComplementaryArea","disableComplementaryArea","useDispatch","label","__","_react","createElement","MenuItem","speak"],"sources":["@wordpress/edit-site/src/components/block-editor/block-inspector-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { MenuItem } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { interfaceStore } = unlock( editorPrivateApis );\n\nexport default function BlockInspectorButton( { onClick = () => {} } ) {\n\tconst { shortcut, isBlockInspectorOpen } = useSelect(\n\t\t( select ) => ( {\n\t\t\tshortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/editor/toggle-sidebar' ),\n\t\t\tisBlockInspectorOpen:\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\t'core'\n\t\t\t\t) === 'edit-post/block',\n\t\t} ),\n\t\t[]\n\t);\n\tconst { enableComplementaryArea, disableComplementaryArea } =\n\t\tuseDispatch( interfaceStore );\n\n\tconst label = isBlockInspectorOpen\n\t\t? __( 'Hide more settings' )\n\t\t: __( 'Show more settings' );\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tif ( isBlockInspectorOpen ) {\n\t\t\t\t\tdisableComplementaryArea( 'core' );\n\t\t\t\t\tspeak( __( 'Block settings closed' ) );\n\t\t\t\t} else {\n\t\t\t\t\tenableComplementaryArea( 'core', 'edit-post/block' );\n\t\t\t\t\tspeak(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Additional settings are now available in the Editor block settings sidebar'\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// Close dropdown menu.\n\t\t\t\tonClick();\n\t\t\t} }\n\t\t\tshortcut={ shortcut }\n\t\t>\n\t\t\t{ label }\n\t\t</MenuItem>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAKA,IAAAM,WAAA,GAAAN,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGA,MAAM;EAAEO;AAAe,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEvC,SAASC,oBAAoBA,CAAE;EAAEC,OAAO,GAAGA,CAAA,KAAM,CAAC;AAAE,CAAC,EAAG;EACtE,MAAM;IAAEC,QAAQ;IAAEC;EAAqB,CAAC,GAAG,IAAAC,eAAS,EACjDC,MAAM,KAAQ;IACfH,QAAQ,EAAEG,MAAM,CACfC,wBACD,CAAC,CAACC,yBAAyB,CAAE,4BAA6B,CAAC;IAC3DJ,oBAAoB,EACnBE,MAAM,CAAER,cAAe,CAAC,CAACW,0BAA0B,CAClD,MACD,CAAC,KAAK;EACR,CAAC,CAAE,EACH,EACD,CAAC;EACD,MAAM;IAAEC,uBAAuB;IAAEC;EAAyB,CAAC,GAC1D,IAAAC,iBAAW,EAAEd,cAAe,CAAC;EAE9B,MAAMe,KAAK,GAAGT,oBAAoB,GAC/B,IAAAU,QAAE,EAAE,oBAAqB,CAAC,GAC1B,IAAAA,QAAE,EAAE,oBAAqB,CAAC;EAE7B,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACvB,WAAA,CAAAwB,QAAQ;IACRf,OAAO,EAAGA,CAAA,KAAM;MACf,IAAKE,oBAAoB,EAAG;QAC3BO,wBAAwB,CAAE,MAAO,CAAC;QAClC,IAAAO,WAAK,EAAE,IAAAJ,QAAE,EAAE,uBAAwB,CAAE,CAAC;MACvC,CAAC,MAAM;QACNJ,uBAAuB,CAAE,MAAM,EAAE,iBAAkB,CAAC;QACpD,IAAAQ,WAAK,EACJ,IAAAJ,QAAE,EACD,4EACD,CACD,CAAC;MACF;MACA;MACAZ,OAAO,CAAC,CAAC;IACV,CAAG;IACHC,QAAQ,EAAGA;EAAU,GAEnBU,KACO,CAAC;AAEb","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_a11y","_components","_data","_keyboardShortcuts","_editor","_lockUnlock","_jsxRuntime","interfaceStore","unlock","editorPrivateApis","BlockInspectorButton","onClick","shortcut","isBlockInspectorOpen","useSelect","select","keyboardShortcutsStore","getShortcutRepresentation","getActiveComplementaryArea","enableComplementaryArea","disableComplementaryArea","useDispatch","label","__","jsx","MenuItem","speak","children"],"sources":["@wordpress/edit-site/src/components/block-editor/block-inspector-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { MenuItem } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { interfaceStore } = unlock( editorPrivateApis );\n\nexport default function BlockInspectorButton( { onClick = () => {} } ) {\n\tconst { shortcut, isBlockInspectorOpen } = useSelect(\n\t\t( select ) => ( {\n\t\t\tshortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getShortcutRepresentation( 'core/editor/toggle-sidebar' ),\n\t\t\tisBlockInspectorOpen:\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\t'core'\n\t\t\t\t) === 'edit-post/block',\n\t\t} ),\n\t\t[]\n\t);\n\tconst { enableComplementaryArea, disableComplementaryArea } =\n\t\tuseDispatch( interfaceStore );\n\n\tconst label = isBlockInspectorOpen\n\t\t? __( 'Hide more settings' )\n\t\t: __( 'Show more settings' );\n\n\treturn (\n\t\t<MenuItem\n\t\t\tonClick={ () => {\n\t\t\t\tif ( isBlockInspectorOpen ) {\n\t\t\t\t\tdisableComplementaryArea( 'core' );\n\t\t\t\t\tspeak( __( 'Block settings closed' ) );\n\t\t\t\t} else {\n\t\t\t\t\tenableComplementaryArea( 'core', 'edit-post/block' );\n\t\t\t\t\tspeak(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Additional settings are now available in the Editor block settings sidebar'\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\t// Close dropdown menu.\n\t\t\t\tonClick();\n\t\t\t} }\n\t\t\tshortcut={ shortcut }\n\t\t>\n\t\t\t{ label }\n\t\t</MenuItem>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAKA,IAAAM,WAAA,GAAAN,OAAA;AAA2C,IAAAO,WAAA,GAAAP,OAAA;AAb3C;AACA;AACA;;AAQA;AACA;AACA;;AAGA,MAAM;EAAEQ;AAAe,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;AAEvC,SAASC,oBAAoBA,CAAE;EAAEC,OAAO,GAAGA,CAAA,KAAM,CAAC;AAAE,CAAC,EAAG;EACtE,MAAM;IAAEC,QAAQ;IAAEC;EAAqB,CAAC,GAAG,IAAAC,eAAS,EACjDC,MAAM,KAAQ;IACfH,QAAQ,EAAEG,MAAM,CACfC,wBACD,CAAC,CAACC,yBAAyB,CAAE,4BAA6B,CAAC;IAC3DJ,oBAAoB,EACnBE,MAAM,CAAER,cAAe,CAAC,CAACW,0BAA0B,CAClD,MACD,CAAC,KAAK;EACR,CAAC,CAAE,EACH,EACD,CAAC;EACD,MAAM;IAAEC,uBAAuB;IAAEC;EAAyB,CAAC,GAC1D,IAAAC,iBAAW,EAAEd,cAAe,CAAC;EAE9B,MAAMe,KAAK,GAAGT,oBAAoB,GAC/B,IAAAU,QAAE,EAAE,oBAAqB,CAAC,GAC1B,IAAAA,QAAE,EAAE,oBAAqB,CAAC;EAE7B,oBACC,IAAAjB,WAAA,CAAAkB,GAAA,EAACvB,WAAA,CAAAwB,QAAQ;IACRd,OAAO,EAAGA,CAAA,KAAM;MACf,IAAKE,oBAAoB,EAAG;QAC3BO,wBAAwB,CAAE,MAAO,CAAC;QAClC,IAAAM,WAAK,EAAE,IAAAH,QAAE,EAAE,uBAAwB,CAAE,CAAC;MACvC,CAAC,MAAM;QACNJ,uBAAuB,CAAE,MAAM,EAAE,iBAAkB,CAAC;QACpD,IAAAO,WAAK,EACJ,IAAAH,QAAE,EACD,4EACD,CACD,CAAC;MACF;MACA;MACAZ,OAAO,CAAC,CAAC;IACV,CAAG;IACHC,QAAQ,EAAGA,QAAU;IAAAe,QAAA,EAEnBL;EAAK,CACE,CAAC;AAEb","ignoreList":[]}