@wordpress/edit-site 5.34.0 → 5.35.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 (371) hide show
  1. package/CHANGELOG.md +9 -3
  2. package/build/components/add-new-template/index.js +2 -2
  3. package/build/components/add-new-template/index.js.map +1 -1
  4. package/build/components/app/index.js +4 -2
  5. package/build/components/app/index.js.map +1 -1
  6. package/build/components/block-editor/editor-canvas.js +4 -18
  7. package/build/components/block-editor/editor-canvas.js.map +1 -1
  8. package/build/components/block-editor/site-editor-canvas.js +2 -2
  9. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  10. package/build/components/dataviews-actions/index.js +46 -0
  11. package/build/components/dataviews-actions/index.js.map +1 -0
  12. package/build/components/editor/index.js +68 -12
  13. package/build/components/editor/index.js.map +1 -1
  14. package/build/components/global-styles/background-panel.js +13 -1
  15. package/build/components/global-styles/background-panel.js.map +1 -1
  16. package/build/components/global-styles/color-indicator-wrapper.js +2 -2
  17. package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
  18. package/build/components/global-styles/color-palette-panel.js +5 -2
  19. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  20. package/build/components/global-styles/gradients-palette-panel.js +1 -2
  21. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  22. package/build/components/global-styles/hooks.js +5 -2
  23. package/build/components/global-styles/hooks.js.map +1 -1
  24. package/build/components/global-styles/icon-with-current-color.js +2 -2
  25. package/build/components/global-styles/icon-with-current-color.js.map +1 -1
  26. package/build/components/global-styles/preset-colors.js +29 -0
  27. package/build/components/global-styles/preset-colors.js.map +1 -0
  28. package/build/components/global-styles/preview-colors.js +3 -7
  29. package/build/components/global-styles/preview-colors.js.map +1 -1
  30. package/build/components/global-styles/screen-color-palette.js +5 -5
  31. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  32. package/build/components/global-styles/screen-colors.js +1 -4
  33. package/build/components/global-styles/screen-colors.js.map +1 -1
  34. package/build/components/global-styles/screen-revisions/revisions-buttons.js +2 -2
  35. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  36. package/build/components/global-styles/typography-example.js +5 -2
  37. package/build/components/global-styles/typography-example.js.map +1 -1
  38. package/build/components/global-styles/ui.js +4 -1
  39. package/build/components/global-styles/ui.js.map +1 -1
  40. package/build/components/global-styles/variations/variation.js +12 -6
  41. package/build/components/global-styles/variations/variation.js.map +1 -1
  42. package/build/components/global-styles/variations/variations-color.js +5 -5
  43. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  44. package/build/components/global-styles-sidebar/default-sidebar.js.map +1 -0
  45. package/build/components/{sidebar-edit-mode/global-styles-sidebar.js → global-styles-sidebar/index.js} +8 -5
  46. package/build/components/global-styles-sidebar/index.js.map +1 -0
  47. package/build/components/header-edit-mode/index.js +20 -120
  48. package/build/components/header-edit-mode/index.js.map +1 -1
  49. package/build/components/layout/index.js +3 -6
  50. package/build/components/layout/index.js.map +1 -1
  51. package/build/components/layout/router.js +69 -14
  52. package/build/components/layout/router.js.map +1 -1
  53. package/build/components/page/index.js +2 -2
  54. package/build/components/page/index.js.map +1 -1
  55. package/build/components/page-pages/index.js +4 -15
  56. package/build/components/page-pages/index.js.map +1 -1
  57. package/build/components/page-patterns/dataviews-pattern-actions.js +4 -80
  58. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  59. package/build/components/page-patterns/index.js +9 -20
  60. package/build/components/page-patterns/index.js.map +1 -1
  61. package/build/components/page-templates/index.js +6 -14
  62. package/build/components/page-templates/index.js.map +1 -1
  63. package/build/components/pagination/index.js +2 -2
  64. package/build/components/pagination/index.js.map +1 -1
  65. package/build/components/resizable-frame/index.js +11 -3
  66. package/build/components/resizable-frame/index.js.map +1 -1
  67. package/build/components/revisions/index.js +5 -2
  68. package/build/components/revisions/index.js.map +1 -1
  69. package/build/components/save-panel/index.js +4 -4
  70. package/build/components/save-panel/index.js.map +1 -1
  71. package/build/components/sidebar/index.js +61 -31
  72. package/build/components/sidebar/index.js.map +1 -1
  73. package/build/components/sidebar-button/index.js +2 -2
  74. package/build/components/sidebar-button/index.js.map +1 -1
  75. package/build/components/sidebar-dataviews/dataview-item.js +2 -2
  76. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  77. package/build/components/sidebar-navigation-item/index.js +5 -3
  78. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  79. package/build/components/sidebar-navigation-screen/index.js +6 -32
  80. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  81. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -2
  82. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  83. package/build/components/sidebar-navigation-screen-global-styles/index.js +4 -1
  84. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  85. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +10 -3
  86. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  87. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +16 -1
  88. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  89. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -0
  90. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  91. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +16 -6
  92. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  93. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +2 -9
  94. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  95. package/build/components/sidebar-navigation-screen-page/status-label.js +2 -2
  96. package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  97. package/build/components/sidebar-navigation-screen-pattern/index.js +4 -9
  98. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  99. package/build/components/sidebar-navigation-screen-patterns/index.js +4 -14
  100. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  101. package/build/components/sidebar-navigation-screen-template/index.js +4 -1
  102. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  103. package/build/components/sidebar-navigation-screen-templates-browse/index.js +4 -1
  104. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  105. package/build/components/site-hub/index.js +3 -3
  106. package/build/components/site-hub/index.js.map +1 -1
  107. package/build/components/site-icon/index.js +2 -2
  108. package/build/components/site-icon/index.js.map +1 -1
  109. package/build/components/style-book/index.js +10 -7
  110. package/build/components/style-book/index.js.map +1 -1
  111. package/build/components/template-part-converter/index.js +18 -1
  112. package/build/components/template-part-converter/index.js.map +1 -1
  113. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +5 -2
  114. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  115. package/build/utils/get-is-list-page.js +1 -1
  116. package/build/utils/get-is-list-page.js.map +1 -1
  117. package/build/utils/use-activate-theme.js +9 -6
  118. package/build/utils/use-activate-theme.js.map +1 -1
  119. package/build-module/components/add-new-template/index.js +2 -2
  120. package/build-module/components/add-new-template/index.js.map +1 -1
  121. package/build-module/components/app/index.js +4 -2
  122. package/build-module/components/app/index.js.map +1 -1
  123. package/build-module/components/block-editor/editor-canvas.js +4 -18
  124. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  125. package/build-module/components/block-editor/site-editor-canvas.js +2 -2
  126. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  127. package/build-module/components/dataviews-actions/index.js +38 -0
  128. package/build-module/components/dataviews-actions/index.js.map +1 -0
  129. package/build-module/components/editor/index.js +69 -13
  130. package/build-module/components/editor/index.js.map +1 -1
  131. package/build-module/components/global-styles/background-panel.js +12 -1
  132. package/build-module/components/global-styles/background-panel.js.map +1 -1
  133. package/build-module/components/global-styles/color-indicator-wrapper.js +2 -2
  134. package/build-module/components/global-styles/color-indicator-wrapper.js.map +1 -1
  135. package/build-module/components/global-styles/color-palette-panel.js +4 -2
  136. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  137. package/build-module/components/global-styles/gradients-palette-panel.js +1 -2
  138. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  139. package/build-module/components/global-styles/hooks.js +4 -1
  140. package/build-module/components/global-styles/hooks.js.map +1 -1
  141. package/build-module/components/global-styles/icon-with-current-color.js +2 -2
  142. package/build-module/components/global-styles/icon-with-current-color.js.map +1 -1
  143. package/build-module/components/global-styles/preset-colors.js +22 -0
  144. package/build-module/components/global-styles/preset-colors.js.map +1 -0
  145. package/build-module/components/global-styles/preview-colors.js +3 -7
  146. package/build-module/components/global-styles/preview-colors.js.map +1 -1
  147. package/build-module/components/global-styles/screen-color-palette.js +5 -5
  148. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  149. package/build-module/components/global-styles/screen-colors.js +1 -4
  150. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  151. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +2 -2
  152. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  153. package/build-module/components/global-styles/typography-example.js +4 -1
  154. package/build-module/components/global-styles/typography-example.js.map +1 -1
  155. package/build-module/components/global-styles/ui.js +4 -1
  156. package/build-module/components/global-styles/ui.js.map +1 -1
  157. package/build-module/components/global-styles/variations/variation.js +11 -5
  158. package/build-module/components/global-styles/variations/variation.js.map +1 -1
  159. package/build-module/components/global-styles/variations/variations-color.js +6 -6
  160. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  161. package/build-module/components/global-styles-sidebar/default-sidebar.js.map +1 -0
  162. package/build-module/components/{sidebar-edit-mode/global-styles-sidebar.js → global-styles-sidebar/index.js} +8 -5
  163. package/build-module/components/global-styles-sidebar/index.js.map +1 -0
  164. package/build-module/components/header-edit-mode/index.js +20 -120
  165. package/build-module/components/header-edit-mode/index.js.map +1 -1
  166. package/build-module/components/layout/index.js +3 -6
  167. package/build-module/components/layout/index.js.map +1 -1
  168. package/build-module/components/layout/router.js +69 -15
  169. package/build-module/components/layout/router.js.map +1 -1
  170. package/build-module/components/page/index.js +2 -2
  171. package/build-module/components/page/index.js.map +1 -1
  172. package/build-module/components/page-pages/index.js +4 -15
  173. package/build-module/components/page-pages/index.js.map +1 -1
  174. package/build-module/components/page-patterns/dataviews-pattern-actions.js +4 -80
  175. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
  176. package/build-module/components/page-patterns/index.js +10 -21
  177. package/build-module/components/page-patterns/index.js.map +1 -1
  178. package/build-module/components/page-templates/index.js +6 -14
  179. package/build-module/components/page-templates/index.js.map +1 -1
  180. package/build-module/components/pagination/index.js +2 -2
  181. package/build-module/components/pagination/index.js.map +1 -1
  182. package/build-module/components/resizable-frame/index.js +12 -4
  183. package/build-module/components/resizable-frame/index.js.map +1 -1
  184. package/build-module/components/revisions/index.js +4 -1
  185. package/build-module/components/revisions/index.js.map +1 -1
  186. package/build-module/components/save-panel/index.js +4 -4
  187. package/build-module/components/save-panel/index.js.map +1 -1
  188. package/build-module/components/sidebar/index.js +62 -32
  189. package/build-module/components/sidebar/index.js.map +1 -1
  190. package/build-module/components/sidebar-button/index.js +2 -2
  191. package/build-module/components/sidebar-button/index.js.map +1 -1
  192. package/build-module/components/sidebar-dataviews/dataview-item.js +2 -2
  193. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  194. package/build-module/components/sidebar-navigation-item/index.js +5 -3
  195. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  196. package/build-module/components/sidebar-navigation-screen/index.js +6 -32
  197. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  198. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -2
  199. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  200. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +4 -1
  201. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  202. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +10 -3
  203. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
  204. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +16 -1
  205. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  206. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -0
  207. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
  208. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +16 -6
  209. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  210. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +2 -9
  211. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +1 -1
  212. package/build-module/components/sidebar-navigation-screen-page/status-label.js +2 -2
  213. package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
  214. package/build-module/components/sidebar-navigation-screen-pattern/index.js +4 -9
  215. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  216. package/build-module/components/sidebar-navigation-screen-patterns/index.js +4 -14
  217. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  218. package/build-module/components/sidebar-navigation-screen-template/index.js +4 -1
  219. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  220. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +4 -1
  221. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  222. package/build-module/components/site-hub/index.js +3 -3
  223. package/build-module/components/site-hub/index.js.map +1 -1
  224. package/build-module/components/site-icon/index.js +2 -2
  225. package/build-module/components/site-icon/index.js.map +1 -1
  226. package/build-module/components/style-book/index.js +9 -6
  227. package/build-module/components/style-book/index.js.map +1 -1
  228. package/build-module/components/template-part-converter/index.js +18 -1
  229. package/build-module/components/template-part-converter/index.js.map +1 -1
  230. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +4 -1
  231. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  232. package/build-module/utils/get-is-list-page.js +1 -1
  233. package/build-module/utils/get-is-list-page.js.map +1 -1
  234. package/build-module/utils/use-activate-theme.js +9 -6
  235. package/build-module/utils/use-activate-theme.js.map +1 -1
  236. package/build-style/style-rtl.css +144 -374
  237. package/build-style/style.css +144 -374
  238. package/package.json +43 -45
  239. package/src/components/add-new-template/index.js +2 -2
  240. package/src/components/app/index.js +5 -2
  241. package/src/components/block-editor/editor-canvas.js +6 -26
  242. package/src/components/block-editor/site-editor-canvas.js +2 -2
  243. package/src/components/block-editor/style.scss +2 -2
  244. package/src/components/dataviews-actions/index.js +38 -0
  245. package/src/components/editor/index.js +76 -16
  246. package/src/components/editor/style.scss +0 -4
  247. package/src/components/global-styles/background-panel.js +17 -2
  248. package/src/components/global-styles/color-indicator-wrapper.js +2 -2
  249. package/src/components/global-styles/color-palette-panel.js +3 -4
  250. package/src/components/global-styles/gradients-palette-panel.js +1 -4
  251. package/src/components/global-styles/hooks.js +2 -1
  252. package/src/components/global-styles/icon-with-current-color.js +2 -2
  253. package/src/components/global-styles/preset-colors.js +18 -0
  254. package/src/components/global-styles/preview-colors.js +4 -7
  255. package/src/components/global-styles/screen-color-palette.js +4 -4
  256. package/src/components/global-styles/screen-colors.js +0 -2
  257. package/src/components/global-styles/screen-revisions/revisions-buttons.js +2 -2
  258. package/src/components/global-styles/stories/index.story.js +2 -1
  259. package/src/components/global-styles/typography-example.js +2 -1
  260. package/src/components/global-styles/ui.js +5 -1
  261. package/src/components/global-styles/variations/style.scss +15 -31
  262. package/src/components/global-styles/variations/variation.js +13 -10
  263. package/src/components/global-styles/variations/variations-color.js +5 -8
  264. package/src/components/{sidebar-edit-mode/global-styles-sidebar.js → global-styles-sidebar/index.js} +7 -2
  265. package/src/components/{sidebar-edit-mode → global-styles-sidebar}/style.scss +0 -11
  266. package/src/components/header-edit-mode/index.js +25 -164
  267. package/src/components/header-edit-mode/style.scss +1 -199
  268. package/src/components/layout/index.js +3 -8
  269. package/src/components/layout/router.js +65 -15
  270. package/src/components/layout/style.scss +2 -1
  271. package/src/components/page/index.js +2 -2
  272. package/src/components/page-pages/index.js +8 -38
  273. package/src/components/page-pages/style.scss +0 -11
  274. package/src/components/page-patterns/dataviews-pattern-actions.js +3 -92
  275. package/src/components/page-patterns/index.js +16 -35
  276. package/src/components/page-templates/index.js +10 -29
  277. package/src/components/pagination/index.js +2 -2
  278. package/src/components/resizable-frame/index.js +16 -4
  279. package/src/components/revisions/index.js +2 -1
  280. package/src/components/save-panel/index.js +4 -4
  281. package/src/components/sidebar/index.js +61 -37
  282. package/src/components/sidebar-button/index.js +2 -5
  283. package/src/components/sidebar-dataviews/dataview-item.js +4 -7
  284. package/src/components/sidebar-navigation-item/index.js +3 -3
  285. package/src/components/sidebar-navigation-screen/index.js +7 -31
  286. package/src/components/sidebar-navigation-screen/style.scss +11 -9
  287. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -2
  288. package/src/components/sidebar-navigation-screen-global-styles/index.js +2 -1
  289. package/src/components/sidebar-navigation-screen-navigation-menu/index.js +6 -1
  290. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +18 -1
  291. package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +3 -0
  292. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +8 -4
  293. package/src/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +0 -10
  294. package/src/components/sidebar-navigation-screen-page/status-label.js +2 -2
  295. package/src/components/sidebar-navigation-screen-pattern/index.js +2 -8
  296. package/src/components/sidebar-navigation-screen-patterns/index.js +2 -13
  297. package/src/components/sidebar-navigation-screen-template/index.js +2 -1
  298. package/src/components/sidebar-navigation-screen-templates-browse/index.js +2 -1
  299. package/src/components/site-hub/index.js +3 -3
  300. package/src/components/site-icon/index.js +2 -2
  301. package/src/components/style-book/index.js +7 -6
  302. package/src/components/template-part-converter/index.js +16 -3
  303. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -1
  304. package/src/style.scss +1 -11
  305. package/src/utils/get-is-list-page.js +1 -3
  306. package/src/utils/use-activate-theme.js +4 -4
  307. package/build/components/global-styles/global-styles-provider.js +0 -129
  308. package/build/components/global-styles/global-styles-provider.js.map +0 -1
  309. package/build/components/header-edit-mode/document-tools/index.js +0 -68
  310. package/build/components/header-edit-mode/document-tools/index.js.map +0 -1
  311. package/build/components/sidebar-edit-mode/default-sidebar.js.map +0 -1
  312. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +0 -1
  313. package/build/components/sidebar-edit-mode/index.js +0 -147
  314. package/build/components/sidebar-edit-mode/index.js.map +0 -1
  315. package/build/components/sidebar-edit-mode/page-panels/index.js +0 -129
  316. package/build/components/sidebar-edit-mode/page-panels/index.js.map +0 -1
  317. package/build/components/sidebar-edit-mode/page-panels/page-content.js +0 -34
  318. package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +0 -1
  319. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +0 -46
  320. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +0 -1
  321. package/build/components/sidebar-edit-mode/settings-header/index.js +0 -42
  322. package/build/components/sidebar-edit-mode/settings-header/index.js.map +0 -1
  323. package/build/components/sidebar-edit-mode/template-panel/hooks.js +0 -86
  324. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +0 -1
  325. package/build/components/sidebar-edit-mode/template-panel/index.js +0 -127
  326. package/build/components/sidebar-edit-mode/template-panel/index.js.map +0 -1
  327. package/build/components/start-template-options/index.js +0 -191
  328. package/build/components/start-template-options/index.js.map +0 -1
  329. package/build/utils/math.js +0 -98
  330. package/build/utils/math.js.map +0 -1
  331. package/build-module/components/global-styles/global-styles-provider.js +0 -120
  332. package/build-module/components/global-styles/global-styles-provider.js.map +0 -1
  333. package/build-module/components/header-edit-mode/document-tools/index.js +0 -61
  334. package/build-module/components/header-edit-mode/document-tools/index.js.map +0 -1
  335. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +0 -1
  336. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +0 -1
  337. package/build-module/components/sidebar-edit-mode/index.js +0 -138
  338. package/build-module/components/sidebar-edit-mode/index.js.map +0 -1
  339. package/build-module/components/sidebar-edit-mode/page-panels/index.js +0 -121
  340. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +0 -1
  341. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +0 -27
  342. package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +0 -1
  343. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +0 -39
  344. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +0 -1
  345. package/build-module/components/sidebar-edit-mode/settings-header/index.js +0 -35
  346. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +0 -1
  347. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +0 -79
  348. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +0 -1
  349. package/build-module/components/sidebar-edit-mode/template-panel/index.js +0 -119
  350. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +0 -1
  351. package/build-module/components/start-template-options/index.js +0 -184
  352. package/build-module/components/start-template-options/index.js.map +0 -1
  353. package/build-module/utils/math.js +0 -92
  354. package/build-module/utils/math.js.map +0 -1
  355. package/src/components/global-styles/global-styles-provider.js +0 -162
  356. package/src/components/header-edit-mode/document-tools/index.js +0 -68
  357. package/src/components/sidebar-edit-mode/index.js +0 -173
  358. package/src/components/sidebar-edit-mode/page-panels/index.js +0 -133
  359. package/src/components/sidebar-edit-mode/page-panels/page-content.js +0 -29
  360. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +0 -61
  361. package/src/components/sidebar-edit-mode/settings-header/index.js +0 -43
  362. package/src/components/sidebar-edit-mode/settings-header/style.scss +0 -14
  363. package/src/components/sidebar-edit-mode/template-panel/hooks.js +0 -114
  364. package/src/components/sidebar-edit-mode/template-panel/index.js +0 -134
  365. package/src/components/sidebar-edit-mode/template-panel/style.scss +0 -16
  366. package/src/components/start-template-options/index.js +0 -231
  367. package/src/components/start-template-options/style.scss +0 -55
  368. package/src/utils/math.js +0 -93
  369. /package/build/components/{sidebar-edit-mode → global-styles-sidebar}/default-sidebar.js +0 -0
  370. /package/build-module/components/{sidebar-edit-mode → global-styles-sidebar}/default-sidebar.js +0 -0
  371. /package/src/components/{sidebar-edit-mode → global-styles-sidebar}/default-sidebar.js +0 -0
@@ -13,8 +13,8 @@ var _data = require("@wordpress/data");
13
13
  var _coreData = require("@wordpress/core-data");
14
14
  var _element = require("@wordpress/element");
15
15
  var _blockEditor = require("@wordpress/block-editor");
16
+ var _editor = require("@wordpress/editor");
16
17
  var _i18n = require("@wordpress/i18n");
17
- var _globalStylesProvider = require("../../components/global-styles/global-styles-provider");
18
18
  var _cloneDeep = _interopRequireDefault(require("../../utils/clone-deep"));
19
19
  var _lockUnlock = require("../../lock-unlock");
20
20
  /**
@@ -28,6 +28,9 @@ var _lockUnlock = require("../../lock-unlock");
28
28
  const {
29
29
  GlobalStylesContext
30
30
  } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
31
+ const {
32
+ mergeBaseAndUserConfigs
33
+ } = (0, _lockUnlock.unlock)(_editor.privateApis);
31
34
 
32
35
  /**
33
36
  * Removes all instances of a property from an object.
@@ -162,7 +165,7 @@ function useThemeStyleVariationsByProperty({
162
165
  * Overwrites all baseVariation object `styleProperty` properties
163
166
  * with the theme variation `styleProperty` properties.
164
167
  */
165
- result = (0, _globalStylesProvider.mergeBaseAndUserConfigs)(clonedBaseVariation, result);
168
+ result = mergeBaseAndUserConfigs(clonedBaseVariation, result);
166
169
  }
167
170
 
168
171
  // Detect if this is a duplicate variation.
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_coreData","_element","_blockEditor","_i18n","_globalStylesProvider","_cloneDeep","_interopRequireDefault","_lockUnlock","GlobalStylesContext","unlock","blockEditorPrivateApis","removePropertyFromObject","object","property","Object","keys","length","key","useCurrentMergeThemeStyleVariationsWithUserConfig","filter","variationsFromTheme","useSelect","select","_variationsFromTheme","coreStore","__experimentalGetCurrentThemeGlobalStylesVariations","user","baseVariation","useContext","variations","useMemo","title","__","settings","styles","useThemeStyleVariationsByProperty","cloneDeep","filterObjectByProperty","newObject","forEach","newFilter","exports","clonedBaseVariation","processedStyleVariations","reduce","accumulator","variation","variationFilteredByProperty","result","description","mergeBaseAndUserConfigs","isDuplicate","some","item","JSON","stringify","push","isVariationWithSingleProperty","variationWithProperty"],"sources":["@wordpress/edit-site/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { mergeBaseAndUserConfigs } from '../../components/global-styles/global-styles-provider';\nimport cloneDeep from '../../utils/clone-deep';\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\n\n/**\n * Removes all instances of a property from an object.\n *\n * @param {Object} object The object to remove the property from.\n * @param {string} property The property to remove.\n * @return {Object} The modified object.\n */\nexport function removePropertyFromObject( object, property ) {\n\tif ( ! property || typeof property !== 'string' ) {\n\t\treturn object;\n\t}\n\n\tif (\n\t\ttypeof object !== 'object' ||\n\t\t! object ||\n\t\t! Object.keys( object ).length\n\t) {\n\t\treturn object;\n\t}\n\n\tfor ( const key in object ) {\n\t\tif ( key === property ) {\n\t\t\tdelete object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tremovePropertyFromObject( object[ key ], property );\n\t\t}\n\t}\n\treturn object;\n}\n\n/**\n * A convenience wrapper for `useThemeStyleVariationsByProperty()` that fetches the current theme style variations,\n * and user-defined global style/settings object.\n *\n * @param {Object} props Object of hook args.\n * @param {string} props.property The property to filter by.\n * @param {Function} props.filter Optional. The filter function to apply to the variations.\n * @return {Object[]|*} The merged object.\n */\nexport function useCurrentMergeThemeStyleVariationsWithUserConfig( {\n\tproperty,\n\tfilter,\n} ) {\n\tconst { variationsFromTheme } = useSelect( ( select ) => {\n\t\tconst _variationsFromTheme =\n\t\t\tselect(\n\t\t\t\tcoreStore\n\t\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\n\t\treturn {\n\t\t\tvariationsFromTheme: _variationsFromTheme || [],\n\t\t};\n\t}, [] );\n\tconst { user: baseVariation } = useContext( GlobalStylesContext );\n\n\tconst variations = useMemo( () => {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttitle: __( 'Default' ),\n\t\t\t\tsettings: {},\n\t\t\t\tstyles: {},\n\t\t\t},\n\t\t\t...variationsFromTheme,\n\t\t];\n\t}, [ variationsFromTheme ] );\n\n\treturn useThemeStyleVariationsByProperty( {\n\t\tvariations,\n\t\tproperty,\n\t\tfilter,\n\t\tbaseVariation: removePropertyFromObject(\n\t\t\tcloneDeep( baseVariation ),\n\t\t\tproperty\n\t\t),\n\t} );\n}\n\n/**\n * Returns a new object, with properties specified in `property`,\n * maintain the original object tree structure.\n * The function is recursive, so it will perform a deep search for the given property.\n * E.g., the function will return `{ a: { b: { c: { test: 1 } } } }` if the property is `test`.\n *\n * @param {Object} object The object to filter\n * @param {Object} property The property to filter by\n * @return {Object} The merged object.\n */\nexport const filterObjectByProperty = ( object, property ) => {\n\tif ( ! object ) {\n\t\treturn {};\n\t}\n\n\tconst newObject = {};\n\tObject.keys( object ).forEach( ( key ) => {\n\t\tif ( key === property ) {\n\t\t\tnewObject[ key ] = object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tconst newFilter = filterObjectByProperty( object[ key ], property );\n\t\t\tif ( Object.keys( newFilter ).length ) {\n\t\t\t\tnewObject[ key ] = newFilter;\n\t\t\t}\n\t\t}\n\t} );\n\treturn newObject;\n};\n\n/**\n * Returns a new object with only the properties specified in `property`.\n * Optional merges the baseVariation object with the variation object.\n * Note: this function will only overwrite the specified property in baseVariation if it exists.\n * The baseVariation will not be otherwise modified. To strip a property from the baseVariation object, use `removePropertyFromObject`.\n * See useCurrentMergeThemeStyleVariationsWithUserConfig for an example of how to use this function.\n *\n * @param {Object} props Object of hook args.\n * @param {Object[]} props.variations The theme style variations to filter.\n * @param {string} props.property The property to filter by.\n * @param {Function} props.filter Optional. The filter function to apply to the variations.\n * @param {Object} props.baseVariation Optional. Base or user settings to be updated with variation properties.\n * @return {Object[]|*} The merged object.\n */\nexport default function useThemeStyleVariationsByProperty( {\n\tvariations,\n\tproperty,\n\tfilter,\n\tbaseVariation,\n} ) {\n\treturn useMemo( () => {\n\t\tif ( ! property || ! variations || variations?.length === 0 ) {\n\t\t\treturn variations;\n\t\t}\n\n\t\tconst clonedBaseVariation =\n\t\t\ttypeof baseVariation === 'object' &&\n\t\t\tObject.keys( baseVariation ).length > 0\n\t\t\t\t? cloneDeep( baseVariation )\n\t\t\t\t: null;\n\n\t\tlet processedStyleVariations = variations.reduce(\n\t\t\t( accumulator, variation ) => {\n\t\t\t\tconst variationFilteredByProperty = filterObjectByProperty(\n\t\t\t\t\tcloneDeep( variation ),\n\t\t\t\t\tproperty\n\t\t\t\t);\n\t\t\t\t// Remove variations that are empty once the property is filtered out.\n\t\t\t\tif ( Object.keys( variationFilteredByProperty ).length === 0 ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tlet result = {\n\t\t\t\t\t...variationFilteredByProperty,\n\t\t\t\t\ttitle: variation?.title,\n\t\t\t\t\tdescription: variation?.description,\n\t\t\t\t};\n\n\t\t\t\tif ( clonedBaseVariation ) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Overwrites all baseVariation object `styleProperty` properties\n\t\t\t\t\t * with the theme variation `styleProperty` properties.\n\t\t\t\t\t */\n\t\t\t\t\tresult = mergeBaseAndUserConfigs(\n\t\t\t\t\t\tclonedBaseVariation,\n\t\t\t\t\t\tresult\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Detect if this is a duplicate variation.\n\t\t\t\tconst isDuplicate = accumulator.some( ( item ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tJSON.stringify( item.styles ) ===\n\t\t\t\t\t\t\tJSON.stringify( result?.styles ) &&\n\t\t\t\t\t\tJSON.stringify( item.settings ) ===\n\t\t\t\t\t\t\tJSON.stringify( result?.settings )\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t\tif ( isDuplicate ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\t// If the variation is not a duplicate, add it to the accumulator.\n\t\t\t\taccumulator.push( result );\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t[] // Initial accumulator value.\n\t\t);\n\n\t\tif ( 'function' === typeof filter ) {\n\t\t\tprocessedStyleVariations =\n\t\t\t\tprocessedStyleVariations.filter( filter );\n\t\t}\n\n\t\treturn processedStyleVariations;\n\t}, [ variations, property, baseVariation, filter ] );\n}\n\n/**\n * Compares a style variation to the same variation filtered by a single property.\n * Returns true if the variation contains only the property specified.\n *\n * @param {Object} variation The variation to compare.\n * @param {string} property The property to compare.\n * @return {boolean} Whether the variation contains only a single property.\n */\nexport function isVariationWithSingleProperty( variation, property ) {\n\tconst variationWithProperty = filterObjectByProperty(\n\t\tcloneDeep( variation ),\n\t\tproperty\n\t);\n\n\treturn (\n\t\tJSON.stringify( variationWithProperty?.styles ) ===\n\t\t\tJSON.stringify( variation?.styles ) &&\n\t\tJSON.stringify( variationWithProperty?.settings ) ===\n\t\t\tJSON.stringify( variation?.settings )\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_coreData","_element","_blockEditor","_editor","_i18n","_cloneDeep","_interopRequireDefault","_lockUnlock","GlobalStylesContext","unlock","blockEditorPrivateApis","mergeBaseAndUserConfigs","editorPrivateApis","removePropertyFromObject","object","property","Object","keys","length","key","useCurrentMergeThemeStyleVariationsWithUserConfig","filter","variationsFromTheme","useSelect","select","_variationsFromTheme","coreStore","__experimentalGetCurrentThemeGlobalStylesVariations","user","baseVariation","useContext","variations","useMemo","title","__","settings","styles","useThemeStyleVariationsByProperty","cloneDeep","filterObjectByProperty","newObject","forEach","newFilter","exports","clonedBaseVariation","processedStyleVariations","reduce","accumulator","variation","variationFilteredByProperty","result","description","isDuplicate","some","item","JSON","stringify","push","isVariationWithSingleProperty","variationWithProperty"],"sources":["@wordpress/edit-site/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport cloneDeep from '../../utils/clone-deep';\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\n/**\n * Removes all instances of a property from an object.\n *\n * @param {Object} object The object to remove the property from.\n * @param {string} property The property to remove.\n * @return {Object} The modified object.\n */\nexport function removePropertyFromObject( object, property ) {\n\tif ( ! property || typeof property !== 'string' ) {\n\t\treturn object;\n\t}\n\n\tif (\n\t\ttypeof object !== 'object' ||\n\t\t! object ||\n\t\t! Object.keys( object ).length\n\t) {\n\t\treturn object;\n\t}\n\n\tfor ( const key in object ) {\n\t\tif ( key === property ) {\n\t\t\tdelete object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tremovePropertyFromObject( object[ key ], property );\n\t\t}\n\t}\n\treturn object;\n}\n\n/**\n * A convenience wrapper for `useThemeStyleVariationsByProperty()` that fetches the current theme style variations,\n * and user-defined global style/settings object.\n *\n * @param {Object} props Object of hook args.\n * @param {string} props.property The property to filter by.\n * @param {Function} props.filter Optional. The filter function to apply to the variations.\n * @return {Object[]|*} The merged object.\n */\nexport function useCurrentMergeThemeStyleVariationsWithUserConfig( {\n\tproperty,\n\tfilter,\n} ) {\n\tconst { variationsFromTheme } = useSelect( ( select ) => {\n\t\tconst _variationsFromTheme =\n\t\t\tselect(\n\t\t\t\tcoreStore\n\t\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\n\t\treturn {\n\t\t\tvariationsFromTheme: _variationsFromTheme || [],\n\t\t};\n\t}, [] );\n\tconst { user: baseVariation } = useContext( GlobalStylesContext );\n\n\tconst variations = useMemo( () => {\n\t\treturn [\n\t\t\t{\n\t\t\t\ttitle: __( 'Default' ),\n\t\t\t\tsettings: {},\n\t\t\t\tstyles: {},\n\t\t\t},\n\t\t\t...variationsFromTheme,\n\t\t];\n\t}, [ variationsFromTheme ] );\n\n\treturn useThemeStyleVariationsByProperty( {\n\t\tvariations,\n\t\tproperty,\n\t\tfilter,\n\t\tbaseVariation: removePropertyFromObject(\n\t\t\tcloneDeep( baseVariation ),\n\t\t\tproperty\n\t\t),\n\t} );\n}\n\n/**\n * Returns a new object, with properties specified in `property`,\n * maintain the original object tree structure.\n * The function is recursive, so it will perform a deep search for the given property.\n * E.g., the function will return `{ a: { b: { c: { test: 1 } } } }` if the property is `test`.\n *\n * @param {Object} object The object to filter\n * @param {Object} property The property to filter by\n * @return {Object} The merged object.\n */\nexport const filterObjectByProperty = ( object, property ) => {\n\tif ( ! object ) {\n\t\treturn {};\n\t}\n\n\tconst newObject = {};\n\tObject.keys( object ).forEach( ( key ) => {\n\t\tif ( key === property ) {\n\t\t\tnewObject[ key ] = object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tconst newFilter = filterObjectByProperty( object[ key ], property );\n\t\t\tif ( Object.keys( newFilter ).length ) {\n\t\t\t\tnewObject[ key ] = newFilter;\n\t\t\t}\n\t\t}\n\t} );\n\treturn newObject;\n};\n\n/**\n * Returns a new object with only the properties specified in `property`.\n * Optional merges the baseVariation object with the variation object.\n * Note: this function will only overwrite the specified property in baseVariation if it exists.\n * The baseVariation will not be otherwise modified. To strip a property from the baseVariation object, use `removePropertyFromObject`.\n * See useCurrentMergeThemeStyleVariationsWithUserConfig for an example of how to use this function.\n *\n * @param {Object} props Object of hook args.\n * @param {Object[]} props.variations The theme style variations to filter.\n * @param {string} props.property The property to filter by.\n * @param {Function} props.filter Optional. The filter function to apply to the variations.\n * @param {Object} props.baseVariation Optional. Base or user settings to be updated with variation properties.\n * @return {Object[]|*} The merged object.\n */\nexport default function useThemeStyleVariationsByProperty( {\n\tvariations,\n\tproperty,\n\tfilter,\n\tbaseVariation,\n} ) {\n\treturn useMemo( () => {\n\t\tif ( ! property || ! variations || variations?.length === 0 ) {\n\t\t\treturn variations;\n\t\t}\n\n\t\tconst clonedBaseVariation =\n\t\t\ttypeof baseVariation === 'object' &&\n\t\t\tObject.keys( baseVariation ).length > 0\n\t\t\t\t? cloneDeep( baseVariation )\n\t\t\t\t: null;\n\n\t\tlet processedStyleVariations = variations.reduce(\n\t\t\t( accumulator, variation ) => {\n\t\t\t\tconst variationFilteredByProperty = filterObjectByProperty(\n\t\t\t\t\tcloneDeep( variation ),\n\t\t\t\t\tproperty\n\t\t\t\t);\n\t\t\t\t// Remove variations that are empty once the property is filtered out.\n\t\t\t\tif ( Object.keys( variationFilteredByProperty ).length === 0 ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\tlet result = {\n\t\t\t\t\t...variationFilteredByProperty,\n\t\t\t\t\ttitle: variation?.title,\n\t\t\t\t\tdescription: variation?.description,\n\t\t\t\t};\n\n\t\t\t\tif ( clonedBaseVariation ) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Overwrites all baseVariation object `styleProperty` properties\n\t\t\t\t\t * with the theme variation `styleProperty` properties.\n\t\t\t\t\t */\n\t\t\t\t\tresult = mergeBaseAndUserConfigs(\n\t\t\t\t\t\tclonedBaseVariation,\n\t\t\t\t\t\tresult\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Detect if this is a duplicate variation.\n\t\t\t\tconst isDuplicate = accumulator.some( ( item ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tJSON.stringify( item.styles ) ===\n\t\t\t\t\t\t\tJSON.stringify( result?.styles ) &&\n\t\t\t\t\t\tJSON.stringify( item.settings ) ===\n\t\t\t\t\t\t\tJSON.stringify( result?.settings )\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t\tif ( isDuplicate ) {\n\t\t\t\t\treturn accumulator;\n\t\t\t\t}\n\n\t\t\t\t// If the variation is not a duplicate, add it to the accumulator.\n\t\t\t\taccumulator.push( result );\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t[] // Initial accumulator value.\n\t\t);\n\n\t\tif ( 'function' === typeof filter ) {\n\t\t\tprocessedStyleVariations =\n\t\t\t\tprocessedStyleVariations.filter( filter );\n\t\t}\n\n\t\treturn processedStyleVariations;\n\t}, [ variations, property, baseVariation, filter ] );\n}\n\n/**\n * Compares a style variation to the same variation filtered by a single property.\n * Returns true if the variation contains only the property specified.\n *\n * @param {Object} variation The variation to compare.\n * @param {string} property The property to compare.\n * @return {boolean} Whether the variation contains only a single property.\n */\nexport function isVariationWithSingleProperty( variation, property ) {\n\tconst variationWithProperty = filterObjectByProperty(\n\t\tcloneDeep( variation ),\n\t\tproperty\n\t);\n\n\treturn (\n\t\tJSON.stringify( variationWithProperty?.styles ) ===\n\t\t\tJSON.stringify( variation?.styles ) &&\n\t\tJSON.stringify( variationWithProperty?.settings ) ===\n\t\t\tJSON.stringify( variation?.settings )\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -20,7 +20,7 @@ function getIsListPage({
20
20
  categoryType,
21
21
  categoryId
22
22
  }, isMobileViewport) {
23
- return ['/wp_template', '/wp_template_part/all', '/pages'].includes(path) || path === '/patterns' && (
23
+ return ['/wp_template', '/pages'].includes(path) || path === '/patterns' && (
24
24
  // Don't treat "/patterns" without categoryType and categoryId as a
25
25
  // list page in mobile because the sidebar covers the whole page.
26
26
  !isMobileViewport || !!categoryType && !!categoryId);
@@ -1 +1 @@
1
- {"version":3,"names":["getIsListPage","path","categoryType","categoryId","isMobileViewport","includes"],"sources":["@wordpress/edit-site/src/utils/get-is-list-page.js"],"sourcesContent":["/**\n * Returns if the params match the list page route.\n *\n * @param {Object} params The url params.\n * @param {string} params.path The current path.\n * @param {string} [params.categoryType] The current category type.\n * @param {string} [params.categoryId] The current category id.\n * @param {boolean} isMobileViewport Is mobile viewport.\n *\n * @return {boolean} Is list page or not.\n */\nexport default function getIsListPage(\n\t{ path, categoryType, categoryId },\n\tisMobileViewport\n) {\n\treturn (\n\t\t[ '/wp_template', '/wp_template_part/all', '/pages' ].includes(\n\t\t\tpath\n\t\t) ||\n\t\t( path === '/patterns' &&\n\t\t\t// Don't treat \"/patterns\" without categoryType and categoryId as a\n\t\t\t// list page in mobile because the sidebar covers the whole page.\n\t\t\t( ! isMobileViewport || ( !! categoryType && !! categoryId ) ) )\n\t);\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,aAAaA,CACpC;EAAEC,IAAI;EAAEC,YAAY;EAAEC;AAAW,CAAC,EAClCC,gBAAgB,EACf;EACD,OACC,CAAE,cAAc,EAAE,uBAAuB,EAAE,QAAQ,CAAE,CAACC,QAAQ,CAC7DJ,IACD,CAAC,IACCA,IAAI,KAAK,WAAW;EACrB;EACA;EACE,CAAEG,gBAAgB,IAAM,CAAC,CAAEF,YAAY,IAAI,CAAC,CAAEC,UAAY,CAAI;AAEnE","ignoreList":[]}
1
+ {"version":3,"names":["getIsListPage","path","categoryType","categoryId","isMobileViewport","includes"],"sources":["@wordpress/edit-site/src/utils/get-is-list-page.js"],"sourcesContent":["/**\n * Returns if the params match the list page route.\n *\n * @param {Object} params The url params.\n * @param {string} params.path The current path.\n * @param {string} [params.categoryType] The current category type.\n * @param {string} [params.categoryId] The current category id.\n * @param {boolean} isMobileViewport Is mobile viewport.\n *\n * @return {boolean} Is list page or not.\n */\nexport default function getIsListPage(\n\t{ path, categoryType, categoryId },\n\tisMobileViewport\n) {\n\treturn (\n\t\t[ '/wp_template', '/pages' ].includes( path ) ||\n\t\t( path === '/patterns' &&\n\t\t\t// Don't treat \"/patterns\" without categoryType and categoryId as a\n\t\t\t// list page in mobile because the sidebar covers the whole page.\n\t\t\t( ! isMobileViewport || ( !! categoryType && !! categoryId ) ) )\n\t);\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASA,aAAaA,CACpC;EAAEC,IAAI;EAAEC,YAAY;EAAEC;AAAW,CAAC,EAClCC,gBAAgB,EACf;EACD,OACC,CAAE,cAAc,EAAE,QAAQ,CAAE,CAACC,QAAQ,CAAEJ,IAAK,CAAC,IAC3CA,IAAI,KAAK,WAAW;EACrB;EACA;EACE,CAAEG,gBAAgB,IAAM,CAAC,CAAEF,YAAY,IAAI,CAAC,CAAEC,UAAY,CAAI;AAEnE","ignoreList":[]}
@@ -29,7 +29,9 @@ const {
29
29
  */
30
30
  function useActivateTheme() {
31
31
  const history = useHistory();
32
- const location = useLocation();
32
+ const {
33
+ params
34
+ } = useLocation();
33
35
  const {
34
36
  startResolution,
35
37
  finishResolution
@@ -40,11 +42,12 @@ function useActivateTheme() {
40
42
  startResolution('activateTheme');
41
43
  await window.fetch(activationURL);
42
44
  finishResolution('activateTheme');
43
- const {
44
- wp_theme_preview: themePreview,
45
- ...params
46
- } = location.params;
47
- history.replace(params);
45
+ // Remove the wp_theme_preview query param: we've finished activating
46
+ // the queue and are switching to normal Site Editor.
47
+ history.replace({
48
+ ...params,
49
+ wp_theme_preview: undefined
50
+ });
48
51
  }
49
52
  };
50
53
  }
@@ -1 +1 @@
1
- {"version":3,"names":["_coreData","require","_data","_router","_lockUnlock","_isPreviewingTheme","useHistory","useLocation","unlock","routerPrivateApis","useActivateTheme","history","location","startResolution","finishResolution","useDispatch","coreStore","isPreviewingTheme","activationURL","currentlyPreviewingTheme","window","WP_BLOCK_THEME_ACTIVATE_NONCE","fetch","wp_theme_preview","themePreview","params","replace"],"sources":["@wordpress/edit-site/src/utils/use-activate-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from './is-previewing-theme';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\n/**\n * This should be refactored to use the REST API, once the REST API can activate themes.\n *\n * @return {Function} A function that activates the theme.\n */\nexport function useActivateTheme() {\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst { startResolution, finishResolution } = useDispatch( coreStore );\n\n\treturn async () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tconst activationURL =\n\t\t\t\t'themes.php?action=activate&stylesheet=' +\n\t\t\t\tcurrentlyPreviewingTheme() +\n\t\t\t\t'&_wpnonce=' +\n\t\t\t\twindow.WP_BLOCK_THEME_ACTIVATE_NONCE;\n\t\t\tstartResolution( 'activateTheme' );\n\t\t\tawait window.fetch( activationURL );\n\t\t\tfinishResolution( 'activateTheme' );\n\t\t\tconst { wp_theme_preview: themePreview, ...params } =\n\t\t\t\tlocation.params;\n\t\t\thistory.replace( params );\n\t\t}\n\t};\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAKA;AACA;AACA;;AAOA,MAAM;EAAEK,UAAU;EAAEC;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;;AAE/D;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAA,EAAG;EAClC,MAAMC,OAAO,GAAGL,UAAU,CAAC,CAAC;EAC5B,MAAMM,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEM,eAAe;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,eAAU,CAAC;EAEtE,OAAO,YAAY;IAClB,IAAK,IAAAC,oCAAiB,EAAC,CAAC,EAAG;MAC1B,MAAMC,aAAa,GAClB,wCAAwC,GACxC,IAAAC,2CAAwB,EAAC,CAAC,GAC1B,YAAY,GACZC,MAAM,CAACC,6BAA6B;MACrCR,eAAe,CAAE,eAAgB,CAAC;MAClC,MAAMO,MAAM,CAACE,KAAK,CAAEJ,aAAc,CAAC;MACnCJ,gBAAgB,CAAE,eAAgB,CAAC;MACnC,MAAM;QAAES,gBAAgB,EAAEC,YAAY;QAAE,GAAGC;MAAO,CAAC,GAClDb,QAAQ,CAACa,MAAM;MAChBd,OAAO,CAACe,OAAO,CAAED,MAAO,CAAC;IAC1B;EACD,CAAC;AACF","ignoreList":[]}
1
+ {"version":3,"names":["_coreData","require","_data","_router","_lockUnlock","_isPreviewingTheme","useHistory","useLocation","unlock","routerPrivateApis","useActivateTheme","history","params","startResolution","finishResolution","useDispatch","coreStore","isPreviewingTheme","activationURL","currentlyPreviewingTheme","window","WP_BLOCK_THEME_ACTIVATE_NONCE","fetch","replace","wp_theme_preview","undefined"],"sources":["@wordpress/edit-site/src/utils/use-activate-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from './is-previewing-theme';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\n/**\n * This should be refactored to use the REST API, once the REST API can activate themes.\n *\n * @return {Function} A function that activates the theme.\n */\nexport function useActivateTheme() {\n\tconst history = useHistory();\n\tconst { params } = useLocation();\n\tconst { startResolution, finishResolution } = useDispatch( coreStore );\n\n\treturn async () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tconst activationURL =\n\t\t\t\t'themes.php?action=activate&stylesheet=' +\n\t\t\t\tcurrentlyPreviewingTheme() +\n\t\t\t\t'&_wpnonce=' +\n\t\t\t\twindow.WP_BLOCK_THEME_ACTIVATE_NONCE;\n\t\t\tstartResolution( 'activateTheme' );\n\t\t\tawait window.fetch( activationURL );\n\t\t\tfinishResolution( 'activateTheme' );\n\t\t\t// Remove the wp_theme_preview query param: we've finished activating\n\t\t\t// the queue and are switching to normal Site Editor.\n\t\t\thistory.replace( { ...params, wp_theme_preview: undefined } );\n\t\t}\n\t};\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAKA;AACA;AACA;;AAOA,MAAM;EAAEK,UAAU;EAAEC;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;;AAE/D;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAA,EAAG;EAClC,MAAMC,OAAO,GAAGL,UAAU,CAAC,CAAC;EAC5B,MAAM;IAAEM;EAAO,CAAC,GAAGL,WAAW,CAAC,CAAC;EAChC,MAAM;IAAEM,eAAe;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,eAAU,CAAC;EAEtE,OAAO,YAAY;IAClB,IAAK,IAAAC,oCAAiB,EAAC,CAAC,EAAG;MAC1B,MAAMC,aAAa,GAClB,wCAAwC,GACxC,IAAAC,2CAAwB,EAAC,CAAC,GAC1B,YAAY,GACZC,MAAM,CAACC,6BAA6B;MACrCR,eAAe,CAAE,eAAgB,CAAC;MAClC,MAAMO,MAAM,CAACE,KAAK,CAAEJ,aAAc,CAAC;MACnCJ,gBAAgB,CAAE,eAAgB,CAAC;MACnC;MACA;MACAH,OAAO,CAACY,OAAO,CAAE;QAAE,GAAGX,MAAM;QAAEY,gBAAgB,EAAEC;MAAU,CAAE,CAAC;IAC9D;EACD,CAAC;AACF","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -178,7 +178,7 @@ function NewTemplateModal({
178
178
  }
179
179
  return createElement(Modal, {
180
180
  title: modalTitle,
181
- className: classnames('edit-site-add-new-template__modal', {
181
+ className: clsx('edit-site-add-new-template__modal', {
182
182
  'edit-site-add-new-template__modal_template_list': modalContent === modalContentMap.templatesList,
183
183
  'edit-site-custom-template-modal': modalContent === modalContentMap.customTemplate
184
184
  }),
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","Flex","Icon","decodeEntities","useState","memo","useSelect","useDispatch","store","coreStore","archive","blockMeta","calendar","category","commentAuthorAvatar","edit","home","layout","list","media","notFound","page","pin","verse","search","tag","__","sprintf","noticesStore","privateApis","routerPrivateApis","TEMPLATE_POST_TYPE","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","unlock","useHistory","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","single","index","author","taxonomy","date","attachment","TemplateListItem","title","direction","className","description","icon","onClick","children","createElement","label","showTooltip","as","spacing","align","justify","style","width","alignment","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplateModal","onClose","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isSubmitting","setIsSubmitting","missingTemplates","useMissingTemplates","history","saveEntityRecord","createErrorNotice","createSuccessNotice","homeUrl","select","getUnstableBase","TEMPLATE_SHORT_DESCRIPTIONS","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","push","postId","id","postType","canvas","rendered","type","error","errorMessage","message","code","onModalClose","modalTitle","labels","singular_name","onRequestClose","overlayClassName","undefined","columns","gap","map","key","onSelect","NewTemplate","showModal","setShowModal","getPostType","Fragment","variant","add_new_item","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf"],"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":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SACCC,MAAM,EACNC,KAAK,EACLC,kBAAkB,IAAIC,IAAI,EAC1BC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,IAAI,EACJC,IAAI,QACE,uBAAuB;AAC9B,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,QAAQ,EAAEC,IAAI,QAAQ,oBAAoB;AACnD,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SACCC,OAAO,EACPC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,mBAAmB,EACnBC,IAAI,EACJC,IAAI,EACJC,MAAM,EACNC,IAAI,EACJC,KAAK,EACLC,QAAQ,EACRC,IAAI,EACJC,GAAG,EACHC,KAAK,EACLC,MAAM,EACNC,GAAG,QACG,kBAAkB;AACzB,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASnB,KAAK,IAAIoB,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SAASC,kBAAkB,QAAQ,uBAAuB;;AAE1D;AACA;AACA;AACA,OAAOC,6BAA6B,MAAM,qCAAqC;AAC/E,SACCC,oBAAoB,EACpBC,uBAAuB,EACvBC,sBAAsB,EACtBC,oBAAoB,EACpBC,iBAAiB,EACjBC,2BAA2B,QACrB,SAAS;AAChB,OAAOC,oCAAoC,MAAM,6CAA6C;AAC9F,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAW,CAAC,GAAGD,MAAM,CAAEV,iBAAkB,CAAC;AAElD,MAAMY,sBAAsB,GAAG,CAC9B,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,EACT,QAAQ,EACR,UAAU,EACV,MAAM,EACN,KAAK,EACL,QAAQ,EACR,KAAK,CACL;AAED,MAAMC,cAAc,GAAG;EACtB,YAAY,EAAE3B,IAAI;EAClBA,IAAI,EAAEO,KAAK;EACXqB,MAAM,EAAEtB,GAAG;EACXD,IAAI;EACJX,OAAO;EACPc,MAAM;EACN,GAAG,EAAEJ,QAAQ;EACbyB,KAAK,EAAE3B,IAAI;EACXL,QAAQ;EACRiC,MAAM,EAAEhC,mBAAmB;EAC3BiC,QAAQ,EAAEpC,SAAS;EACnBqC,IAAI,EAAEpC,QAAQ;EACda,GAAG;EACHwB,UAAU,EAAE9B;AACb,CAAC;AAED,SAAS+B,gBAAgBA,CAAE;EAC1BC,KAAK;EACLC,SAAS;EACTC,SAAS;EACTC,WAAW;EACXC,IAAI;EACJC,OAAO;EACPC;AACD,CAAC,EAAG;EACH,OACCC,aAAA,CAACjE,MAAM;IACN4D,SAAS,EAAGA,SAAW;IACvBG,OAAO,EAAGA,OAAS;IACnBG,KAAK,EAAGL,WAAa;IACrBM,WAAW,EAAG,CAAC,CAAEN;EAAa,GAE9BI,aAAA,CAACzD,IAAI;IACJ4D,EAAE,EAAC,MAAM;IACTC,OAAO,EAAG,CAAG;IACbC,KAAK,EAAC,QAAQ;IACdC,OAAO,EAAC,QAAQ;IAChBC,KAAK,EAAG;MAAEC,KAAK,EAAE;IAAO,CAAG;IAC3Bd,SAAS,EAAGA;EAAW,GAEvBM,aAAA;IAAKL,SAAS,EAAC;EAA2C,GACzDK,aAAA,CAACxD,IAAI;IAACqD,IAAI,EAAGA;EAAM,CAAE,CACjB,CAAC,EACNG,aAAA,CAAC1D,MAAM;IACNqD,SAAS,EAAC,2CAA2C;IACrDc,SAAS,EAAC,QAAQ;IAClBL,OAAO,EAAG;EAAG,GAEbJ,aAAA,CAAC5D,IAAI;IACJsE,MAAM,EAAG,GAAK;IACdC,UAAU,EAAG,aAAe,CAAC;EAAA,GAE3BlB,KACG,CAAC,EACLM,QACK,CACH,CACC,CAAC;AAEX;AAEA,MAAMa,eAAe,GAAG;EACvBC,aAAa,EAAE,CAAC;EAChBC,cAAc,EAAE,CAAC;EACjBC,qBAAqB,EAAE;AACxB,CAAC;AAED,SAASC,gBAAgBA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EACxC,MAAM,CAAEC,YAAY,EAAEC,eAAe,CAAE,GAAGzE,QAAQ,CACjDkE,eAAe,CAACC,aACjB,CAAC;EACD,MAAM,CAAEO,oBAAoB,EAAEC,uBAAuB,CAAE,GAAG3E,QAAQ,CAAE,CAAC,CAAE,CAAC;EACxE,MAAM,CAAE4E,YAAY,EAAEC,eAAe,CAAE,GAAG7E,QAAQ,CAAE,KAAM,CAAC;EAC3D,MAAM8E,gBAAgB,GAAGC,mBAAmB,CAAEJ,uBAAuB,EAAE,MACtEF,eAAe,CAAEP,eAAe,CAACE,cAAe,CACjD,CAAC;EACD,MAAMY,OAAO,GAAG3C,UAAU,CAAC,CAAC;EAC5B,MAAM;IAAE4C;EAAiB,CAAC,GAAG9E,WAAW,CAAEE,SAAU,CAAC;EACrD,MAAM;IAAE6E,iBAAiB;IAAEC;EAAoB,CAAC,GAC/ChF,WAAW,CAAEqB,YAAa,CAAC;EAE5B,MAAM;IAAE4D;EAAQ,CAAC,GAAGlF,SAAS,CAAImF,MAAM,IAAM;IAC5C,MAAM;MACLC,eAAe,CAAE;IAClB,CAAC,GAAGD,MAAM,CAAEhF,SAAU,CAAC;IAEvB,OAAO;MACN+E,OAAO,EAAEE,eAAe,CAAC,CAAC,EAAE1E;IAC7B,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM2E,2BAA2B,GAAG;IACnC,YAAY,EAAEH,OAAO;IACrBxC,IAAI,EAAErB,OAAO;IACZ;IACAD,EAAE,CAAE,SAAU,CAAC,EACf8D,OAAO,GAAG,GAAG,GAAG,IAAII,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CACxC;EACD,CAAC;EAED,eAAeC,cAAcA,CAAEC,QAAQ,EAAEC,cAAc,GAAG,IAAI,EAAG;IAChE,IAAKhB,YAAY,EAAG;MACnB;IACD;IACAC,eAAe,CAAE,IAAK,CAAC;IACvB,IAAI;MACH,MAAM;QAAE9B,KAAK;QAAEG,WAAW;QAAE2C;MAAK,CAAC,GAAGF,QAAQ;MAC7C,MAAMG,WAAW,GAAG,MAAMb,gBAAgB,CACzC,UAAU,EACVtD,kBAAkB,EAClB;QACCuB,WAAW;QACX;QACA2C,IAAI,EAAEA,IAAI,CAACE,QAAQ,CAAC,CAAC;QACrBC,MAAM,EAAE,SAAS;QACjBjD,KAAK;QACL;QACAkD,gBAAgB,EAAEL;MACnB,CAAC,EACD;QAAEM,YAAY,EAAE;MAAK,CACtB,CAAC;;MAED;MACAlB,OAAO,CAACmB,IAAI,CAAE;QACbC,MAAM,EAAEN,WAAW,CAACO,EAAE;QACtBC,QAAQ,EAAE3E,kBAAkB;QAC5B4E,MAAM,EAAE;MACT,CAAE,CAAC;MAEHpB,mBAAmB,CAClB5D,OAAO;MACN;MACAD,EAAE,CAAE,4BAA6B,CAAC,EAClCvB,cAAc,CAAE+F,WAAW,CAAC/C,KAAK,EAAEyD,QAAQ,IAAIzD,KAAM,CACtD,CAAC,EACD;QACC0D,IAAI,EAAE;MACP,CACD,CAAC;IACF,CAAC,CAAC,OAAQC,KAAK,EAAG;MACjB,MAAMC,YAAY,GACjBD,KAAK,CAACE,OAAO,IAAIF,KAAK,CAACG,IAAI,KAAK,eAAe,GAC5CH,KAAK,CAACE,OAAO,GACbtF,EAAE,CAAE,gDAAiD,CAAC;MAE1D4D,iBAAiB,CAAEyB,YAAY,EAAE;QAChCF,IAAI,EAAE;MACP,CAAE,CAAC;IACJ,CAAC,SAAS;MACT5B,eAAe,CAAE,KAAM,CAAC;IACzB;EACD;EACA,MAAMiC,YAAY,GAAGA,CAAA,KAAM;IAC1BvC,OAAO,CAAC,CAAC;IACTE,eAAe,CAAEP,eAAe,CAACC,aAAc,CAAC;EACjD,CAAC;EAED,IAAI4C,UAAU,GAAGzF,EAAE,CAAE,cAAe,CAAC;EACrC,IAAKkD,YAAY,KAAKN,eAAe,CAACE,cAAc,EAAG;IACtD2C,UAAU,GAAGxF,OAAO;IACnB;IACAD,EAAE,CAAE,kBAAmB,CAAC,EACxBoD,oBAAoB,CAACsC,MAAM,CAACC,aAC7B,CAAC;EACF,CAAC,MAAM,IAAKzC,YAAY,KAAKN,eAAe,CAACG,qBAAqB,EAAG;IACpE0C,UAAU,GAAGzF,EAAE,CAAE,wBAAyB,CAAC;EAC5C;EAEA,OACCgC,aAAA,CAAChE,KAAK;IACLyD,KAAK,EAAGgE,UAAY;IACpB9D,SAAS,EAAG7D,UAAU,CAAE,mCAAmC,EAAE;MAC5D,iDAAiD,EAChDoF,YAAY,KAAKN,eAAe,CAACC,aAAa;MAC/C,iCAAiC,EAChCK,YAAY,KAAKN,eAAe,CAACE;IACnC,CAAE,CAAG;IACL8C,cAAc,EAAGJ,YAAc;IAC/BK,gBAAgB,EACf3C,YAAY,KAAKN,eAAe,CAACG,qBAAqB,GACnD,0CAA0C,GAC1C+C;EACH,GAEC5C,YAAY,KAAKN,eAAe,CAACC,aAAa,IAC/Cb,aAAA,CAAC9D,IAAI;IACJ6H,OAAO,EAAG,CAAG;IACbC,GAAG,EAAG,CAAG;IACT3D,KAAK,EAAC,YAAY;IAClBC,OAAO,EAAC,QAAQ;IAChBX,SAAS,EAAC;EAAqD,GAE/DK,aAAA,CAACzD,IAAI;IAACoD,SAAS,EAAC;EAAmD,GAChE3B,EAAE,CACH,+CACD,CACK,CAAC,EACLwD,gBAAgB,CAACyC,GAAG,CAAI5B,QAAQ,IAAM;IACvC,MAAM;MAAE5C,KAAK;MAAE8C,IAAI;MAAEzC;IAAQ,CAAC,GAAGuC,QAAQ;IACzC,OACCrC,aAAA,CAACR,gBAAgB;MAChB0E,GAAG,EAAG3B,IAAM;MACZ9C,KAAK,EAAGA,KAAO;MACfC,SAAS,EAAC,QAAQ;MAClBC,SAAS,EAAC,6CAA6C;MACvDC,WAAW,EACVqC,2BAA2B,CAAEM,IAAI,CACjC;MACD1C,IAAI,EAAGZ,cAAc,CAAEsD,IAAI,CAAE,IAAIhF,MAAQ;MACzCuC,OAAO,EAAGA,CAAA,KACTA,OAAO,GACJA,OAAO,CAAEuC,QAAS,CAAC,GACnBD,cAAc,CAAEC,QAAS;IAC5B,CACD,CAAC;EAEJ,CAAE,CAAC,EACHrC,aAAA,CAACR,gBAAgB;IAChBC,KAAK,EAAGzB,EAAE,CAAE,iBAAkB,CAAG;IACjC0B,SAAS,EAAC,KAAK;IACfC,SAAS,EAAC,oDAAoD;IAC9DE,IAAI,EAAGxC,IAAM;IACbyC,OAAO,EAAGA,CAAA,KACTqB,eAAe,CACdP,eAAe,CAACG,qBACjB;EACA,GAEDf,aAAA,CAAC5D,IAAI;IACJuE,UAAU,EAAG,aAAe,CAAC;EAAA,GAE3B3C,EAAE,CACH,gEACD,CACK,CACW,CACb,CACN,EACCkD,YAAY,KAAKN,eAAe,CAACE,cAAc,IAChDd,aAAA,CAAC1B,6BAA6B;IAC7B6F,QAAQ,EAAG/B,cAAgB;IAC3BhB,oBAAoB,EAAGA;EAAsB,CAC7C,CACD,EACCF,YAAY,KAAKN,eAAe,CAACG,qBAAqB,IACvDf,aAAA,CAACnB,oCAAoC;IACpCoC,OAAO,EAAGuC,YAAc;IACxBpB,cAAc,EAAGA;EAAgB,CACjC,CAEI,CAAC;AAEV;AAEA,SAASgC,WAAWA,CAAA,EAAG;EACtB,MAAM,CAAEC,SAAS,EAAEC,YAAY,CAAE,GAAG5H,QAAQ,CAAE,KAAM,CAAC;EAErD,MAAM;IAAEsG;EAAS,CAAC,GAAGpG,SAAS,CAAImF,MAAM,IAAM;IAC7C,MAAM;MAAEwC;IAAY,CAAC,GAAGxC,MAAM,CAAEhF,SAAU,CAAC;IAE3C,OAAO;MACNiG,QAAQ,EAAEuB,WAAW,CAAElG,kBAAmB;IAC3C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAE2E,QAAQ,EAAG;IACjB,OAAO,IAAI;EACZ;EAEA,OACChD,aAAA,CAAAwE,QAAA,QACCxE,aAAA,CAACjE,MAAM;IACN0I,OAAO,EAAC,SAAS;IACjB3E,OAAO,EAAGA,CAAA,KAAMwE,YAAY,CAAE,IAAK,CAAG;IACtCrE,KAAK,EAAG+C,QAAQ,CAACU,MAAM,CAACgB;EAAc,GAEpC1B,QAAQ,CAACU,MAAM,CAACgB,YACX,CAAC,EACPL,SAAS,IACVrE,aAAA,CAACgB,gBAAgB;IAACC,OAAO,EAAGA,CAAA,KAAMqD,YAAY,CAAE,KAAM;EAAG,CAAE,CAE3D,CAAC;AAEL;AAEA,SAAS7C,mBAAmBA,CAAEJ,uBAAuB,EAAEvB,OAAO,EAAG;EAChE,MAAM6E,iBAAiB,GAAGpG,oBAAoB,CAAC,CAAC;EAChD,MAAMqG,oBAAoB,GAAGpG,uBAAuB,CAAC,CAAC;EACtD,MAAMqG,qBAAqB,GAAG,CAAEF,iBAAiB,IAAI,EAAE,EAAGV,GAAG,CAC5D,CAAE;IAAE1B;EAAK,CAAC,KAAMA,IACjB,CAAC;EACD,MAAMuC,uBAAuB,GAAG,CAAEF,oBAAoB,IAAI,EAAE,EAAGG,MAAM,CAClE1C,QAAQ,IACTrD,sBAAsB,CAACgG,QAAQ,CAAE3C,QAAQ,CAACE,IAAK,CAAC,IAChD,CAAEsC,qBAAqB,CAACG,QAAQ,CAAE3C,QAAQ,CAACE,IAAK,CAClD,CAAC;EACD,MAAM0C,eAAe,GAAKC,qBAAqB,IAAM;IACpDpF,OAAO,GAAG,CAAC;IACXuB,uBAAuB,CAAE6D,qBAAsB,CAAC;EACjD,CAAC;EACD;EACA;EACA;EACA;EACA,MAAMC,mCAAmC,GAAG,CAAE,GAAGL,uBAAuB,CAAE;EAC1E,MAAM;IAAEM,0BAA0B;IAAEC;EAAoB,CAAC,GACxD5G,sBAAsB,CAAEwG,eAAgB,CAAC;EAC1C,MAAM;IAAEK,yBAAyB;IAAEC;EAAmB,CAAC,GACtD7G,oBAAoB,CAAEuG,eAAgB,CAAC;EAExC,MAAMO,cAAc,GAAG7G,iBAAiB,CAAEsG,eAAgB,CAAC;EAC3D,CACC,GAAGG,0BAA0B,EAC7B,GAAGE,yBAAyB,EAC5BE,cAAc,CACd,CAACC,OAAO,CAAIC,QAAQ,IAAM;IAC1B,IAAK,CAAEA,QAAQ,EAAG;MACjB;IACD;IACA,MAAMC,UAAU,GAAGR,mCAAmC,CAACS,SAAS,CAC7DvD,QAAQ,IAAMA,QAAQ,CAACE,IAAI,KAAKmD,QAAQ,CAACnD,IAC5C,CAAC;IACD;IACA;IACA;IACA;IACA;IACA,IAAKoD,UAAU,GAAG,CAAC,CAAC,EAAG;MACtBR,mCAAmC,CAAEQ,UAAU,CAAE,GAAGD,QAAQ;IAC7D,CAAC,MAAM;MACNP,mCAAmC,CAACtC,IAAI,CAAE6C,QAAS,CAAC;IACrD;EACD,CAAE,CAAC;EACH;EACAP,mCAAmC,EAAEU,IAAI,CAAE,CAAEC,SAAS,EAAEC,SAAS,KAAM;IACtE,OACC/G,sBAAsB,CAACgH,OAAO,CAAEF,SAAS,CAACvD,IAAK,CAAC,GAChDvD,sBAAsB,CAACgH,OAAO,CAAED,SAAS,CAACxD,IAAK,CAAC;EAElD,CAAE,CAAC;EACH,MAAMf,gBAAgB,GAAG,CACxB,GAAG2D,mCAAmC,EACtC,GAAGvG,2BAA2B,CAAC,CAAC,EAChC,GAAG2G,kBAAkB,EACrB,GAAGF,mBAAmB,CACtB;EACD,OAAO7D,gBAAgB;AACxB;AAEA,eAAe7E,IAAI,CAAEyH,WAAY,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["clsx","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","Flex","Icon","decodeEntities","useState","memo","useSelect","useDispatch","store","coreStore","archive","blockMeta","calendar","category","commentAuthorAvatar","edit","home","layout","list","media","notFound","page","pin","verse","search","tag","__","sprintf","noticesStore","privateApis","routerPrivateApis","TEMPLATE_POST_TYPE","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","unlock","useHistory","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","single","index","author","taxonomy","date","attachment","TemplateListItem","title","direction","className","description","icon","onClick","children","createElement","label","showTooltip","as","spacing","align","justify","style","width","alignment","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplateModal","onClose","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isSubmitting","setIsSubmitting","missingTemplates","useMissingTemplates","history","saveEntityRecord","createErrorNotice","createSuccessNotice","homeUrl","select","getUnstableBase","TEMPLATE_SHORT_DESCRIPTIONS","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","push","postId","id","postType","canvas","rendered","type","error","errorMessage","message","code","onModalClose","modalTitle","labels","singular_name","onRequestClose","overlayClassName","undefined","columns","gap","map","key","onSelect","NewTemplate","showModal","setShowModal","getPostType","Fragment","variant","add_new_item","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf"],"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\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>\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":[]}
@@ -3,7 +3,7 @@ import { createElement } from "react";
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { SlotFillProvider } from '@wordpress/components';
6
- import { UnsavedChangesWarning } from '@wordpress/editor';
6
+ import { UnsavedChangesWarning, privateApis as editorPrivateApis } from '@wordpress/editor';
7
7
  import { store as noticesStore } from '@wordpress/notices';
8
8
  import { useDispatch } from '@wordpress/data';
9
9
  import { __, sprintf } from '@wordpress/i18n';
@@ -14,11 +14,13 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
14
14
  * Internal dependencies
15
15
  */
16
16
  import Layout from '../layout';
17
- import { GlobalStylesProvider } from '../global-styles/global-styles-provider';
18
17
  import { unlock } from '../../lock-unlock';
19
18
  const {
20
19
  RouterProvider
21
20
  } = unlock(routerPrivateApis);
21
+ const {
22
+ GlobalStylesProvider
23
+ } = unlock(editorPrivateApis);
22
24
  export default function App() {
23
25
  const {
24
26
  createErrorNotice
@@ -1 +1 @@
1
- {"version":3,"names":["SlotFillProvider","UnsavedChangesWarning","store","noticesStore","useDispatch","__","sprintf","PluginArea","privateApis","routerPrivateApis","Layout","GlobalStylesProvider","unlock","RouterProvider","App","createErrorNotice","onPluginAreaError","name","createElement","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":";AAAA;AACA;AACA;AACA,SAASA,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,qBAAqB,QAAQ,mBAAmB;AACzD,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,oBAAoB,QAAQ,yCAAyC;AAC9E,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAe,CAAC,GAAGD,MAAM,CAAEH,iBAAkB,CAAC;AAEtD,eAAe,SAASK,GAAGA,CAAA,EAAG;EAC7B,MAAM;IAAEC;EAAkB,CAAC,GAAGX,WAAW,CAAED,YAAa,CAAC;EAEzD,SAASa,iBAAiBA,CAAEC,IAAI,EAAG;IAClCF,iBAAiB,CAChBT,OAAO,EACN;IACAD,EAAE,CACD,kEACD,CAAC,EACDY,IACD,CACD,CAAC;EACF;EAEA,OACCC,aAAA,CAAClB,gBAAgB,QAChBkB,aAAA,CAACP,oBAAoB,QACpBO,aAAA,CAACjB,qBAAqB,MAAE,CAAC,EACzBiB,aAAA,CAACL,cAAc,QACdK,aAAA,CAACR,MAAM,MAAE,CAAC,EACVQ,aAAA,CAACX,UAAU;IAACY,OAAO,EAAGH;EAAmB,CAAE,CAC5B,CACK,CACL,CAAC;AAErB","ignoreList":[]}
1
+ {"version":3,"names":["SlotFillProvider","UnsavedChangesWarning","privateApis","editorPrivateApis","store","noticesStore","useDispatch","__","sprintf","PluginArea","routerPrivateApis","Layout","unlock","RouterProvider","GlobalStylesProvider","App","createErrorNotice","onPluginAreaError","name","createElement","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":";AAAA;AACA;AACA;AACA,SAASA,gBAAgB,QAAQ,uBAAuB;AACxD,SACCC,qBAAqB,EACrBC,WAAW,IAAIC,iBAAiB,QAC1B,mBAAmB;AAC1B,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;AAC1D,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASP,WAAW,IAAIQ,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,OAAOC,MAAM,MAAM,WAAW;AAC9B,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAe,CAAC,GAAGD,MAAM,CAAEF,iBAAkB,CAAC;AACtD,MAAM;EAAEI;AAAqB,CAAC,GAAGF,MAAM,CAAET,iBAAkB,CAAC;AAE5D,eAAe,SAASY,GAAGA,CAAA,EAAG;EAC7B,MAAM;IAAEC;EAAkB,CAAC,GAAGV,WAAW,CAAED,YAAa,CAAC;EAEzD,SAASY,iBAAiBA,CAAEC,IAAI,EAAG;IAClCF,iBAAiB,CAChBR,OAAO,EACN;IACAD,EAAE,CACD,kEACD,CAAC,EACDW,IACD,CACD,CAAC;EACF;EAEA,OACCC,aAAA,CAACnB,gBAAgB,QAChBmB,aAAA,CAACL,oBAAoB,QACpBK,aAAA,CAAClB,qBAAqB,MAAE,CAAC,EACzBkB,aAAA,CAACN,cAAc,QACdM,aAAA,CAACR,MAAM,MAAE,CAAC,EACVQ,aAAA,CAACV,UAAU;IAACW,OAAO,EAAGH;EAAmB,CAAE,CAC5B,CACK,CACL,CAAC;AAErB","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -20,7 +20,6 @@ import { store as editorStore, privateApis as editorPrivateApis } from '@wordpre
20
20
  import { unlock } from '../../lock-unlock';
21
21
  import { store as editSiteStore } from '../../store';
22
22
  import { FOCUSABLE_ENTITIES, NAVIGATION_POST_TYPE } from '../../utils/constants';
23
- import { computeIFrameScale } from '../../utils/math';
24
23
  const {
25
24
  EditorCanvas: EditorCanvasRoot
26
25
  } = unlock(editorPrivateApis);
@@ -36,12 +35,10 @@ function EditorCanvas({
36
35
  isFocusMode,
37
36
  templateType,
38
37
  canvasMode,
39
- isZoomOutMode,
40
38
  currentPostIsTrashed
41
39
  } = useSelect(select => {
42
40
  const {
43
- getBlockCount,
44
- __unstableGetEditorMode
41
+ getBlockCount
45
42
  } = select(blockEditorStore);
46
43
  const {
47
44
  getEditedPostType,
@@ -51,7 +48,6 @@ function EditorCanvas({
51
48
  return {
52
49
  templateType: _templateType,
53
50
  isFocusMode: FOCUSABLE_ENTITIES.includes(_templateType),
54
- isZoomOutMode: __unstableGetEditorMode() === 'zoom-out',
55
51
  canvasMode: getCanvasMode(),
56
52
  hasBlocks: !!getBlockCount(),
57
53
  currentPostIsTrashed: select(editorStore).getCurrentPostAttribute('status') === 'trash'
@@ -116,24 +112,14 @@ function EditorCanvas({
116
112
  // which isn't a requirement in auto resize mode.
117
113
  enableResizing ? 'min-height:0!important;' : ''}}body{position:relative; ${canvasMode === 'view' ? `min-height: 100vh; ${currentPostIsTrashed ? '' : 'cursor: pointer;'}` : ''}}}`
118
114
  }], [settings.styles, enableResizing, canvasMode, currentPostIsTrashed]);
119
- const frameSize = isZoomOutMode ? 20 : undefined;
120
- const scale = isZoomOutMode ? contentWidth => computeIFrameScale({
121
- width: 1000,
122
- scale: 0.55
123
- }, {
124
- width: 400,
125
- scale: 0.9
126
- }, contentWidth) : undefined;
127
115
  return createElement(EditorCanvasRoot, {
128
- className: classnames('edit-site-editor-canvas__block-list', {
116
+ className: clsx('edit-site-editor-canvas__block-list', {
129
117
  'is-navigation-block': isTemplateTypeNavigation
130
118
  }),
131
119
  renderAppender: showBlockAppender,
132
120
  styles: styles,
133
121
  iframeProps: {
134
- scale,
135
- frameSize,
136
- className: classnames('edit-site-visual-editor__editor-canvas', {
122
+ className: clsx('edit-site-visual-editor__editor-canvas', {
137
123
  'is-focused': isFocused && canvasMode === 'view'
138
124
  }),
139
125
  ...props,
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","store","blockEditorStore","useSelect","useDispatch","ENTER","SPACE","useState","useEffect","useMemo","__","editorStore","privateApis","editorPrivateApis","unlock","editSiteStore","FOCUSABLE_ENTITIES","NAVIGATION_POST_TYPE","computeIFrameScale","EditorCanvas","EditorCanvasRoot","enableResizing","settings","children","onClick","props","hasBlocks","isFocusMode","templateType","canvasMode","isZoomOutMode","currentPostIsTrashed","select","getBlockCount","__unstableGetEditorMode","getEditedPostType","getCanvasMode","_templateType","includes","getCurrentPostAttribute","setCanvasMode","isFocused","setIsFocused","viewModeIframeProps","title","role","tabIndex","onFocus","onBlur","onKeyDown","event","keyCode","preventDefault","onClickCapture","stopPropagation","readonly","isTemplateTypeNavigation","isNavigationFocusMode","showBlockAppender","undefined","styles","css","frameSize","scale","contentWidth","width","createElement","className","renderAppender","iframeProps"],"sources":["@wordpress/edit-site/src/components/block-editor/editor-canvas.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tFOCUSABLE_ENTITIES,\n\tNAVIGATION_POST_TYPE,\n} from '../../utils/constants';\nimport { computeIFrameScale } from '../../utils/math';\n\nconst { EditorCanvas: EditorCanvasRoot } = unlock( editorPrivateApis );\n\nfunction EditorCanvas( {\n\tenableResizing,\n\tsettings,\n\tchildren,\n\tonClick,\n\t...props\n} ) {\n\tconst {\n\t\thasBlocks,\n\t\tisFocusMode,\n\t\ttemplateType,\n\t\tcanvasMode,\n\t\tisZoomOutMode,\n\t\tcurrentPostIsTrashed,\n\t} = useSelect( ( select ) => {\n\t\tconst { getBlockCount, __unstableGetEditorMode } =\n\t\t\tselect( blockEditorStore );\n\t\tconst { getEditedPostType, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst _templateType = getEditedPostType();\n\n\t\treturn {\n\t\t\ttemplateType: _templateType,\n\t\t\tisFocusMode: FOCUSABLE_ENTITIES.includes( _templateType ),\n\t\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\thasBlocks: !! getBlockCount(),\n\t\t\tcurrentPostIsTrashed:\n\t\t\t\tselect( editorStore ).getCurrentPostAttribute( 'status' ) ===\n\t\t\t\t'trash',\n\t\t};\n\t}, [] );\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( canvasMode === 'edit' ) {\n\t\t\tsetIsFocused( false );\n\t\t}\n\t}, [ canvasMode ] );\n\n\t// In view mode, make the canvas iframe be perceived and behave as a button\n\t// to switch to edit mode, with a meaningful label and no title attribute.\n\tconst viewModeIframeProps = {\n\t\t'aria-label': __( 'Edit' ),\n\t\t'aria-disabled': currentPostIsTrashed,\n\t\ttitle: null,\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tconst { keyCode } = event;\n\t\t\tif (\n\t\t\t\t( keyCode === ENTER || keyCode === SPACE ) &&\n\t\t\t\t! currentPostIsTrashed\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetCanvasMode( 'edit' );\n\t\t\t}\n\t\t},\n\t\tonClick: () => {\n\t\t\tif ( !! onClick ) {\n\t\t\t\tonClick();\n\t\t\t} else {\n\t\t\t\tsetCanvasMode( 'edit' );\n\t\t\t}\n\t\t},\n\t\tonClickCapture: ( event ) => {\n\t\t\tif ( currentPostIsTrashed ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\tconst isTemplateTypeNavigation = templateType === NAVIGATION_POST_TYPE;\n\tconst isNavigationFocusMode = isTemplateTypeNavigation && isFocusMode;\n\t// Hide the appender when:\n\t// - In navigation focus mode (should only allow the root Nav block).\n\t// - In view mode (i.e. not editing).\n\tconst showBlockAppender =\n\t\t( isNavigationFocusMode && hasBlocks ) || canvasMode === 'view'\n\t\t\t? false\n\t\t\t: undefined;\n\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\t...settings.styles,\n\t\t\t{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\n\t\t\t\tcss: `.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing ? 'min-height:0!important;' : ''\n\t\t\t\t}}body{position:relative; ${\n\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t? `min-height: 100vh; ${\n\t\t\t\t\t\t\t\tcurrentPostIsTrashed ? '' : 'cursor: pointer;'\n\t\t\t\t\t\t }`\n\t\t\t\t\t\t: ''\n\t\t\t\t}}}`,\n\t\t\t},\n\t\t],\n\t\t[ settings.styles, enableResizing, canvasMode, currentPostIsTrashed ]\n\t);\n\n\tconst frameSize = isZoomOutMode ? 20 : undefined;\n\n\tconst scale = isZoomOutMode\n\t\t? ( contentWidth ) =>\n\t\t\t\tcomputeIFrameScale(\n\t\t\t\t\t{ width: 1000, scale: 0.55 },\n\t\t\t\t\t{ width: 400, scale: 0.9 },\n\t\t\t\t\tcontentWidth\n\t\t\t\t)\n\t\t: undefined;\n\n\treturn (\n\t\t<EditorCanvasRoot\n\t\t\tclassName={ classnames( 'edit-site-editor-canvas__block-list', {\n\t\t\t\t'is-navigation-block': isTemplateTypeNavigation,\n\t\t\t} ) }\n\t\t\trenderAppender={ showBlockAppender }\n\t\t\tstyles={ styles }\n\t\t\tiframeProps={ {\n\t\t\t\tscale,\n\t\t\t\tframeSize,\n\t\t\t\tclassName: classnames(\n\t\t\t\t\t'edit-site-visual-editor__editor-canvas',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-focused': isFocused && canvasMode === 'view',\n\t\t\t\t\t}\n\t\t\t\t),\n\t\t\t\t...props,\n\t\t\t\t...( canvasMode === 'view' ? viewModeIframeProps : {} ),\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</EditorCanvasRoot>\n\t);\n}\n\nexport default EditorCanvas;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","store","blockEditorStore","useSelect","useDispatch","ENTER","SPACE","useState","useEffect","useMemo","__","editorStore","privateApis","editorPrivateApis","unlock","editSiteStore","FOCUSABLE_ENTITIES","NAVIGATION_POST_TYPE","EditorCanvas","EditorCanvasRoot","enableResizing","settings","children","onClick","props","hasBlocks","isFocusMode","templateType","canvasMode","currentPostIsTrashed","select","getBlockCount","getEditedPostType","getCanvasMode","_templateType","includes","getCurrentPostAttribute","setCanvasMode","isFocused","setIsFocused","viewModeIframeProps","title","role","tabIndex","onFocus","onBlur","onKeyDown","event","keyCode","preventDefault","onClickCapture","stopPropagation","readonly","isTemplateTypeNavigation","isNavigationFocusMode","showBlockAppender","undefined","styles","css","createElement","className","renderAppender","iframeProps"],"sources":["@wordpress/edit-site/src/components/block-editor/editor-canvas.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tstore as editorStore,\n\tprivateApis as editorPrivateApis,\n} from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tFOCUSABLE_ENTITIES,\n\tNAVIGATION_POST_TYPE,\n} from '../../utils/constants';\n\nconst { EditorCanvas: EditorCanvasRoot } = unlock( editorPrivateApis );\n\nfunction EditorCanvas( {\n\tenableResizing,\n\tsettings,\n\tchildren,\n\tonClick,\n\t...props\n} ) {\n\tconst {\n\t\thasBlocks,\n\t\tisFocusMode,\n\t\ttemplateType,\n\t\tcanvasMode,\n\t\tcurrentPostIsTrashed,\n\t} = useSelect( ( select ) => {\n\t\tconst { getBlockCount } = select( blockEditorStore );\n\t\tconst { getEditedPostType, getCanvasMode } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst _templateType = getEditedPostType();\n\n\t\treturn {\n\t\t\ttemplateType: _templateType,\n\t\t\tisFocusMode: FOCUSABLE_ENTITIES.includes( _templateType ),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\thasBlocks: !! getBlockCount(),\n\t\t\tcurrentPostIsTrashed:\n\t\t\t\tselect( editorStore ).getCurrentPostAttribute( 'status' ) ===\n\t\t\t\t'trash',\n\t\t};\n\t}, [] );\n\tconst { setCanvasMode } = unlock( useDispatch( editSiteStore ) );\n\tconst [ isFocused, setIsFocused ] = useState( false );\n\n\tuseEffect( () => {\n\t\tif ( canvasMode === 'edit' ) {\n\t\t\tsetIsFocused( false );\n\t\t}\n\t}, [ canvasMode ] );\n\n\t// In view mode, make the canvas iframe be perceived and behave as a button\n\t// to switch to edit mode, with a meaningful label and no title attribute.\n\tconst viewModeIframeProps = {\n\t\t'aria-label': __( 'Edit' ),\n\t\t'aria-disabled': currentPostIsTrashed,\n\t\ttitle: null,\n\t\trole: 'button',\n\t\ttabIndex: 0,\n\t\tonFocus: () => setIsFocused( true ),\n\t\tonBlur: () => setIsFocused( false ),\n\t\tonKeyDown: ( event ) => {\n\t\t\tconst { keyCode } = event;\n\t\t\tif (\n\t\t\t\t( keyCode === ENTER || keyCode === SPACE ) &&\n\t\t\t\t! currentPostIsTrashed\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetCanvasMode( 'edit' );\n\t\t\t}\n\t\t},\n\t\tonClick: () => {\n\t\t\tif ( !! onClick ) {\n\t\t\t\tonClick();\n\t\t\t} else {\n\t\t\t\tsetCanvasMode( 'edit' );\n\t\t\t}\n\t\t},\n\t\tonClickCapture: ( event ) => {\n\t\t\tif ( currentPostIsTrashed ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tevent.stopPropagation();\n\t\t\t}\n\t\t},\n\t\treadonly: true,\n\t};\n\tconst isTemplateTypeNavigation = templateType === NAVIGATION_POST_TYPE;\n\tconst isNavigationFocusMode = isTemplateTypeNavigation && isFocusMode;\n\t// Hide the appender when:\n\t// - In navigation focus mode (should only allow the root Nav block).\n\t// - In view mode (i.e. not editing).\n\tconst showBlockAppender =\n\t\t( isNavigationFocusMode && hasBlocks ) || canvasMode === 'view'\n\t\t\t? false\n\t\t\t: undefined;\n\n\tconst styles = useMemo(\n\t\t() => [\n\t\t\t...settings.styles,\n\t\t\t{\n\t\t\t\t// Forming a \"block formatting context\" to prevent margin collapsing.\n\t\t\t\t// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context\n\n\t\t\t\tcss: `.is-root-container{display:flow-root;${\n\t\t\t\t\t// Some themes will have `min-height: 100vh` for the root container,\n\t\t\t\t\t// which isn't a requirement in auto resize mode.\n\t\t\t\t\tenableResizing ? 'min-height:0!important;' : ''\n\t\t\t\t}}body{position:relative; ${\n\t\t\t\t\tcanvasMode === 'view'\n\t\t\t\t\t\t? `min-height: 100vh; ${\n\t\t\t\t\t\t\t\tcurrentPostIsTrashed ? '' : 'cursor: pointer;'\n\t\t\t\t\t\t }`\n\t\t\t\t\t\t: ''\n\t\t\t\t}}}`,\n\t\t\t},\n\t\t],\n\t\t[ settings.styles, enableResizing, canvasMode, currentPostIsTrashed ]\n\t);\n\n\treturn (\n\t\t<EditorCanvasRoot\n\t\t\tclassName={ clsx( 'edit-site-editor-canvas__block-list', {\n\t\t\t\t'is-navigation-block': isTemplateTypeNavigation,\n\t\t\t} ) }\n\t\t\trenderAppender={ showBlockAppender }\n\t\t\tstyles={ styles }\n\t\t\tiframeProps={ {\n\t\t\t\tclassName: clsx( 'edit-site-visual-editor__editor-canvas', {\n\t\t\t\t\t'is-focused': isFocused && canvasMode === 'view',\n\t\t\t\t} ),\n\t\t\t\t...props,\n\t\t\t\t...( canvasMode === 'view' ? viewModeIframeProps : {} ),\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</EditorCanvasRoot>\n\t);\n}\n\nexport default EditorCanvas;\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { createElement } from "react";
2
2
  /**
3
3
  * External dependencies
4
4
  */
5
- import classnames from 'classnames';
5
+ import clsx from 'clsx';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
@@ -66,7 +66,7 @@ export default function SiteEditorCanvas({
66
66
  return createElement(EditorCanvasContainer.Slot, null, ([editorCanvasView]) => editorCanvasView ? createElement("div", {
67
67
  className: "edit-site-visual-editor is-focus-mode"
68
68
  }, editorCanvasView) : createElement("div", {
69
- className: classnames('edit-site-visual-editor', {
69
+ className: clsx('edit-site-visual-editor', {
70
70
  'is-focus-mode': isFocusMode || !!editorCanvasView,
71
71
  'is-view-mode': isViewMode
72
72
  })
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useSelect","useViewportMatch","useResizeObserver","store","blockEditorStore","ResizableEditor","EditorCanvas","EditorCanvasContainer","useSiteEditorSettings","editSiteStore","FOCUSABLE_ENTITIES","NAVIGATION_POST_TYPE","TEMPLATE_POST_TYPE","unlock","privateApis","routerPrivateApis","useLocation","SiteEditorCanvas","onClick","location","templateType","isFocusableEntity","isViewMode","isZoomOutMode","select","getEditedPostType","getCanvasMode","__unstableGetEditorMode","_templateType","includes","isFocusMode","params","focusMode","resizeObserver","sizes","settings","isMobileViewport","enableResizing","isTemplateTypeNavigation","isNavigationFocusMode","forceFullHeight","createElement","Slot","editorCanvasView","className","height"],"sources":["@wordpress/edit-site/src/components/block-editor/site-editor-canvas.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useViewportMatch, useResizeObserver } from '@wordpress/compose';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ResizableEditor from './resizable-editor';\nimport EditorCanvas from './editor-canvas';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport useSiteEditorSettings from './use-site-editor-settings';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tFOCUSABLE_ENTITIES,\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function SiteEditorCanvas( { onClick } ) {\n\tconst location = useLocation();\n\tconst { templateType, isFocusableEntity, isViewMode, isZoomOutMode } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEditedPostType, getCanvasMode } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\t\tconst _templateType = getEditedPostType();\n\n\t\t\treturn {\n\t\t\t\ttemplateType: _templateType,\n\t\t\t\tisFocusableEntity: FOCUSABLE_ENTITIES.includes( _templateType ),\n\t\t\t\tisViewMode: getCanvasMode() === 'view',\n\t\t\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\t\t};\n\t\t}, [] );\n\tconst isFocusMode = location.params.focusMode || isFocusableEntity;\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\n\tconst settings = useSiteEditorSettings();\n\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst enableResizing =\n\t\tisFocusMode &&\n\t\t! isViewMode &&\n\t\t// Disable resizing in mobile viewport.\n\t\t! isMobileViewport &&\n\t\t// Dsiable resizing in zoomed-out mode.\n\t\t! isZoomOutMode &&\n\t\t// Disable resizing when editing a template in focus mode.\n\t\ttemplateType !== TEMPLATE_POST_TYPE;\n\n\tconst isTemplateTypeNavigation = templateType === NAVIGATION_POST_TYPE;\n\tconst isNavigationFocusMode = isTemplateTypeNavigation && isFocusMode;\n\tconst forceFullHeight = isNavigationFocusMode;\n\n\treturn (\n\t\t<EditorCanvasContainer.Slot>\n\t\t\t{ ( [ editorCanvasView ] ) =>\n\t\t\t\teditorCanvasView ? (\n\t\t\t\t\t<div className=\"edit-site-visual-editor is-focus-mode\">\n\t\t\t\t\t\t{ editorCanvasView }\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames( 'edit-site-visual-editor', {\n\t\t\t\t\t\t\t'is-focus-mode': isFocusMode || !! editorCanvasView,\n\t\t\t\t\t\t\t'is-view-mode': isViewMode,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ResizableEditor\n\t\t\t\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\t\t\t\theight={\n\t\t\t\t\t\t\t\tsizes.height && ! forceFullHeight\n\t\t\t\t\t\t\t\t\t? sizes.height\n\t\t\t\t\t\t\t\t\t: '100%'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<EditorCanvas\n\t\t\t\t\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Avoid resize listeners when not needed,\n\t\t\t\t\t\t\t\t\t// these will trigger unnecessary re-renders\n\t\t\t\t\t\t\t\t\t// when animating the iframe width.\n\t\t\t\t\t\t\t\t\tenableResizing && resizeObserver\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</EditorCanvas>\n\t\t\t\t\t\t</ResizableEditor>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t</EditorCanvasContainer.Slot>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useSelect","useViewportMatch","useResizeObserver","store","blockEditorStore","ResizableEditor","EditorCanvas","EditorCanvasContainer","useSiteEditorSettings","editSiteStore","FOCUSABLE_ENTITIES","NAVIGATION_POST_TYPE","TEMPLATE_POST_TYPE","unlock","privateApis","routerPrivateApis","useLocation","SiteEditorCanvas","onClick","location","templateType","isFocusableEntity","isViewMode","isZoomOutMode","select","getEditedPostType","getCanvasMode","__unstableGetEditorMode","_templateType","includes","isFocusMode","params","focusMode","resizeObserver","sizes","settings","isMobileViewport","enableResizing","isTemplateTypeNavigation","isNavigationFocusMode","forceFullHeight","createElement","Slot","editorCanvasView","className","height"],"sources":["@wordpress/edit-site/src/components/block-editor/site-editor-canvas.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useViewportMatch, useResizeObserver } from '@wordpress/compose';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport ResizableEditor from './resizable-editor';\nimport EditorCanvas from './editor-canvas';\nimport EditorCanvasContainer from '../editor-canvas-container';\nimport useSiteEditorSettings from './use-site-editor-settings';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tFOCUSABLE_ENTITIES,\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_POST_TYPE,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function SiteEditorCanvas( { onClick } ) {\n\tconst location = useLocation();\n\tconst { templateType, isFocusableEntity, isViewMode, isZoomOutMode } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEditedPostType, getCanvasMode } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\t\t\tconst _templateType = getEditedPostType();\n\n\t\t\treturn {\n\t\t\t\ttemplateType: _templateType,\n\t\t\t\tisFocusableEntity: FOCUSABLE_ENTITIES.includes( _templateType ),\n\t\t\t\tisViewMode: getCanvasMode() === 'view',\n\t\t\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\t\t};\n\t\t}, [] );\n\tconst isFocusMode = location.params.focusMode || isFocusableEntity;\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\n\tconst settings = useSiteEditorSettings();\n\n\tconst isMobileViewport = useViewportMatch( 'small', '<' );\n\tconst enableResizing =\n\t\tisFocusMode &&\n\t\t! isViewMode &&\n\t\t// Disable resizing in mobile viewport.\n\t\t! isMobileViewport &&\n\t\t// Dsiable resizing in zoomed-out mode.\n\t\t! isZoomOutMode &&\n\t\t// Disable resizing when editing a template in focus mode.\n\t\ttemplateType !== TEMPLATE_POST_TYPE;\n\n\tconst isTemplateTypeNavigation = templateType === NAVIGATION_POST_TYPE;\n\tconst isNavigationFocusMode = isTemplateTypeNavigation && isFocusMode;\n\tconst forceFullHeight = isNavigationFocusMode;\n\n\treturn (\n\t\t<EditorCanvasContainer.Slot>\n\t\t\t{ ( [ editorCanvasView ] ) =>\n\t\t\t\teditorCanvasView ? (\n\t\t\t\t\t<div className=\"edit-site-visual-editor is-focus-mode\">\n\t\t\t\t\t\t{ editorCanvasView }\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx( 'edit-site-visual-editor', {\n\t\t\t\t\t\t\t'is-focus-mode': isFocusMode || !! editorCanvasView,\n\t\t\t\t\t\t\t'is-view-mode': isViewMode,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ResizableEditor\n\t\t\t\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\t\t\t\theight={\n\t\t\t\t\t\t\t\tsizes.height && ! forceFullHeight\n\t\t\t\t\t\t\t\t\t? sizes.height\n\t\t\t\t\t\t\t\t\t: '100%'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<EditorCanvas\n\t\t\t\t\t\t\t\tenableResizing={ enableResizing }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t// Avoid resize listeners when not needed,\n\t\t\t\t\t\t\t\t\t// these will trigger unnecessary re-renders\n\t\t\t\t\t\t\t\t\t// when animating the iframe width.\n\t\t\t\t\t\t\t\t\tenableResizing && resizeObserver\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</EditorCanvas>\n\t\t\t\t\t\t</ResizableEditor>\n\t\t\t\t\t</div>\n\t\t\t\t)\n\t\t\t}\n\t\t</EditorCanvasContainer.Slot>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { edit } from '@wordpress/icons';
6
+ import { useMemo } from '@wordpress/element';
7
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
8
+
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+ import { unlock } from '../../lock-unlock';
13
+ const {
14
+ useHistory
15
+ } = unlock(routerPrivateApis);
16
+ export const useEditPostAction = () => {
17
+ const history = useHistory();
18
+ return useMemo(() => ({
19
+ id: 'edit-post',
20
+ label: __('Edit'),
21
+ isPrimary: true,
22
+ icon: edit,
23
+ isEligible({
24
+ status
25
+ }) {
26
+ return status !== 'trash';
27
+ },
28
+ callback(items) {
29
+ const post = items[0];
30
+ history.push({
31
+ postId: post.id,
32
+ postType: post.type,
33
+ canvas: 'edit'
34
+ });
35
+ }
36
+ }), [history]);
37
+ };
38
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__","edit","useMemo","privateApis","routerPrivateApis","unlock","useHistory","useEditPostAction","history","id","label","isPrimary","icon","isEligible","status","callback","items","post","push","postId","postType","type","canvas"],"sources":["@wordpress/edit-site/src/components/dataviews-actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { edit } from '@wordpress/icons';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport const useEditPostAction = () => {\n\tconst history = useHistory();\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'edit-post',\n\t\t\tlabel: __( 'Edit' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: edit,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status !== 'trash';\n\t\t\t},\n\t\t\tcallback( items ) {\n\t\t\t\tconst post = items[ 0 ];\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostId: post.id,\n\t\t\t\t\tpostType: post.type,\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} );\n\t\t\t},\n\t\t} ),\n\t\t[ history ]\n\t);\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,QAAQ,kBAAkB;AACvC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAW,CAAC,GAAGD,MAAM,CAAED,iBAAkB,CAAC;AAElD,OAAO,MAAMG,iBAAiB,GAAGA,CAAA,KAAM;EACtC,MAAMC,OAAO,GAAGF,UAAU,CAAC,CAAC;EAC5B,OAAOJ,OAAO,CACb,OAAQ;IACPO,EAAE,EAAE,WAAW;IACfC,KAAK,EAAEV,EAAE,CAAE,MAAO,CAAC;IACnBW,SAAS,EAAE,IAAI;IACfC,IAAI,EAAEX,IAAI;IACVY,UAAUA,CAAE;MAAEC;IAAO,CAAC,EAAG;MACxB,OAAOA,MAAM,KAAK,OAAO;IAC1B,CAAC;IACDC,QAAQA,CAAEC,KAAK,EAAG;MACjB,MAAMC,IAAI,GAAGD,KAAK,CAAE,CAAC,CAAE;MACvBR,OAAO,CAACU,IAAI,CAAE;QACbC,MAAM,EAAEF,IAAI,CAACR,EAAE;QACfW,QAAQ,EAAEH,IAAI,CAACI,IAAI;QACnBC,MAAM,EAAE;MACT,CAAE,CAAC;IACJ;EACD,CAAC,CAAE,EACH,CAAEd,OAAO,CACV,CAAC;AACF,CAAC","ignoreList":[]}