@wordpress/edit-site 5.18.1-next.5a1d1283.0 → 5.19.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 (425) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +62 -1
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-template/index.js +3 -2
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/add-new-template/new-template.js +6 -1
  7. package/build/components/add-new-template/new-template.js.map +1 -1
  8. package/build/components/add-new-template/utils.js +6 -1
  9. package/build/components/add-new-template/utils.js.map +1 -1
  10. package/build/components/app/index.js +2 -7
  11. package/build/components/app/index.js.map +1 -1
  12. package/build/components/block-editor/back-button.js +3 -2
  13. package/build/components/block-editor/back-button.js.map +1 -1
  14. package/build/components/block-editor/editor-canvas.js +20 -16
  15. package/build/components/block-editor/editor-canvas.js.map +1 -1
  16. package/build/components/block-editor/site-editor-canvas.js +1 -3
  17. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  18. package/build/components/block-editor/use-site-editor-settings.js +8 -4
  19. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  20. package/build/components/canvas-loader/index.js +18 -1
  21. package/build/components/canvas-loader/index.js.map +1 -1
  22. package/build/components/editor/index.js +3 -8
  23. package/build/components/editor/index.js.map +1 -1
  24. package/build/components/global-styles/dimensions-panel.js +5 -4
  25. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  26. package/build/components/global-styles/font-families.js +68 -0
  27. package/build/components/global-styles/font-families.js.map +1 -0
  28. package/build/components/global-styles/font-family-item.js +47 -0
  29. package/build/components/global-styles/font-family-item.js.map +1 -0
  30. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +31 -0
  31. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
  32. package/build/components/global-styles/font-library-modal/context.js +285 -0
  33. package/build/components/global-styles/font-library-modal/context.js.map +1 -0
  34. package/build/components/global-styles/font-library-modal/font-card.js +58 -0
  35. package/build/components/global-styles/font-library-modal/font-card.js.map +1 -0
  36. package/build/components/global-styles/font-library-modal/font-demo.js +69 -0
  37. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -0
  38. package/build/components/global-styles/font-library-modal/font-variant.js +51 -0
  39. package/build/components/global-styles/font-library-modal/font-variant.js.map +1 -0
  40. package/build/components/global-styles/font-library-modal/fonts-grid.js +54 -0
  41. package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
  42. package/build/components/global-styles/font-library-modal/index.js +47 -0
  43. package/build/components/global-styles/font-library-modal/index.js.map +1 -0
  44. package/build/components/global-styles/font-library-modal/installed-fonts.js +128 -0
  45. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
  46. package/build/components/global-styles/font-library-modal/library-font-card.js +44 -0
  47. package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
  48. package/build/components/global-styles/font-library-modal/library-font-details.js +43 -0
  49. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
  50. package/build/components/global-styles/font-library-modal/library-font-variant.js +59 -0
  51. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
  52. package/build/components/global-styles/font-library-modal/local-fonts.js +143 -0
  53. package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
  54. package/build/components/global-styles/font-library-modal/resolvers.js +37 -0
  55. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -0
  56. package/build/components/global-styles/font-library-modal/tab-layout.js +45 -0
  57. package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
  58. package/build/components/global-styles/font-library-modal/utils/constants.js +37 -0
  59. package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
  60. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
  61. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
  62. package/build/components/global-styles/font-library-modal/utils/index.js +205 -0
  63. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -0
  64. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +22 -0
  65. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
  66. package/build/components/global-styles/font-library-modal/utils/toggleFont.js +92 -0
  67. package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
  68. package/build/components/global-styles/global-styles-provider.js +7 -12
  69. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  70. package/build/components/global-styles/screen-block.js +34 -21
  71. package/build/components/global-styles/screen-block.js.map +1 -1
  72. package/build/components/global-styles/screen-revisions/index.js +1 -3
  73. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  74. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  75. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  76. package/build/components/global-styles/screen-typography.js +4 -72
  77. package/build/components/global-styles/screen-typography.js.map +1 -1
  78. package/build/components/global-styles/style-variations-container.js +3 -5
  79. package/build/components/global-styles/style-variations-container.js.map +1 -1
  80. package/build/components/global-styles/typogrphy-elements.js +96 -0
  81. package/build/components/global-styles/typogrphy-elements.js.map +1 -0
  82. package/build/components/page-patterns/duplicate-menu-item.js +52 -16
  83. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  84. package/build/components/page-patterns/grid-item.js +46 -20
  85. package/build/components/page-patterns/grid-item.js.map +1 -1
  86. package/build/components/page-patterns/header.js +3 -7
  87. package/build/components/page-patterns/header.js.map +1 -1
  88. package/build/components/page-patterns/index.js +3 -3
  89. package/build/components/page-patterns/index.js.map +1 -1
  90. package/build/components/page-patterns/patterns-list.js +7 -7
  91. package/build/components/page-patterns/patterns-list.js.map +1 -1
  92. package/build/components/page-patterns/rename-menu-item.js +6 -5
  93. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  94. package/build/components/page-patterns/search-items.js +8 -2
  95. package/build/components/page-patterns/search-items.js.map +1 -1
  96. package/build/components/page-patterns/use-patterns.js +53 -27
  97. package/build/components/page-patterns/use-patterns.js.map +1 -1
  98. package/build/components/page-patterns/utils.js +1 -20
  99. package/build/components/page-patterns/utils.js.map +1 -1
  100. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +33 -24
  101. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  102. package/build/components/sidebar-edit-mode/page-panels/hooks.js +64 -0
  103. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
  104. package/build/components/sidebar-edit-mode/page-panels/index.js +1 -4
  105. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  106. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  107. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  108. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +56 -0
  109. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
  110. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +91 -0
  111. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
  112. package/build/components/sidebar-edit-mode/template-panel/index.js +11 -9
  113. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  114. package/build/components/sidebar-edit-mode/template-panel/last-revision.js +6 -4
  115. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  116. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +211 -0
  117. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
  118. package/build/components/sidebar-navigation-screen/index.js +6 -4
  119. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  120. package/build/components/sidebar-navigation-screen-details-footer/index.js +32 -4
  121. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  122. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
  123. package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  124. package/build/components/sidebar-navigation-screen-global-styles/index.js +4 -31
  125. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  126. package/build/components/sidebar-navigation-screen-page/index.js +3 -3
  127. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  128. package/build/components/sidebar-navigation-screen-pattern/index.js +18 -8
  129. package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  130. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +34 -5
  131. package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  132. package/build/components/sidebar-navigation-screen-patterns/index.js +7 -35
  133. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  134. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +38 -4
  135. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  136. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
  137. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  138. package/build/components/sidebar-navigation-screen-template/index.js +2 -2
  139. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  140. package/build/components/sidebar-navigation-screen-templates/index.js +1 -1
  141. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  142. package/build/components/template-actions/index.js +7 -4
  143. package/build/components/template-actions/index.js.map +1 -1
  144. package/build/components/template-actions/rename-menu-item.js +3 -2
  145. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  146. package/build/components/welcome-guide/styles.js +2 -2
  147. package/build/components/welcome-guide/styles.js.map +1 -1
  148. package/build/hooks/push-changes-to-global-styles/index.js +5 -37
  149. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  150. package/build/store/actions.js +29 -6
  151. package/build/store/actions.js.map +1 -1
  152. package/build/utils/constants.js +45 -2
  153. package/build/utils/constants.js.map +1 -1
  154. package/build/utils/is-template-removable.js +6 -1
  155. package/build/utils/is-template-removable.js.map +1 -1
  156. package/build/utils/is-template-revertable.js +6 -1
  157. package/build/utils/is-template-revertable.js.map +1 -1
  158. package/build-module/components/add-new-pattern/index.js +66 -5
  159. package/build-module/components/add-new-pattern/index.js.map +1 -1
  160. package/build-module/components/add-new-template/index.js +3 -2
  161. package/build-module/components/add-new-template/index.js.map +1 -1
  162. package/build-module/components/add-new-template/new-template.js +6 -1
  163. package/build-module/components/add-new-template/new-template.js.map +1 -1
  164. package/build-module/components/add-new-template/utils.js +6 -1
  165. package/build-module/components/add-new-template/utils.js.map +1 -1
  166. package/build-module/components/app/index.js +2 -7
  167. package/build-module/components/app/index.js.map +1 -1
  168. package/build-module/components/block-editor/back-button.js +3 -2
  169. package/build-module/components/block-editor/back-button.js.map +1 -1
  170. package/build-module/components/block-editor/editor-canvas.js +21 -17
  171. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  172. package/build-module/components/block-editor/site-editor-canvas.js +3 -5
  173. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  174. package/build-module/components/block-editor/use-site-editor-settings.js +8 -4
  175. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  176. package/build-module/components/canvas-loader/index.js +18 -1
  177. package/build-module/components/canvas-loader/index.js.map +1 -1
  178. package/build-module/components/editor/index.js +3 -8
  179. package/build-module/components/editor/index.js.map +1 -1
  180. package/build-module/components/global-styles/dimensions-panel.js +5 -4
  181. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  182. package/build-module/components/global-styles/font-families.js +58 -0
  183. package/build-module/components/global-styles/font-families.js.map +1 -0
  184. package/build-module/components/global-styles/font-family-item.js +40 -0
  185. package/build-module/components/global-styles/font-family-item.js.map +1 -0
  186. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +23 -0
  187. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
  188. package/build-module/components/global-styles/font-library-modal/context.js +276 -0
  189. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -0
  190. package/build-module/components/global-styles/font-library-modal/font-card.js +49 -0
  191. package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -0
  192. package/build-module/components/global-styles/font-library-modal/font-demo.js +62 -0
  193. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -0
  194. package/build-module/components/global-styles/font-library-modal/font-variant.js +42 -0
  195. package/build-module/components/global-styles/font-library-modal/font-variant.js.map +1 -0
  196. package/build-module/components/global-styles/font-library-modal/fonts-grid.js +47 -0
  197. package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
  198. package/build-module/components/global-styles/font-library-modal/index.js +38 -0
  199. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -0
  200. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +120 -0
  201. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
  202. package/build-module/components/global-styles/font-library-modal/library-font-card.js +36 -0
  203. package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
  204. package/build-module/components/global-styles/font-library-modal/library-font-details.js +34 -0
  205. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
  206. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +50 -0
  207. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
  208. package/build-module/components/global-styles/font-library-modal/local-fonts.js +135 -0
  209. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
  210. package/build-module/components/global-styles/font-library-modal/resolvers.js +28 -0
  211. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -0
  212. package/build-module/components/global-styles/font-library-modal/tab-layout.js +37 -0
  213. package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
  214. package/build-module/components/global-styles/font-library-modal/utils/constants.js +26 -0
  215. package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
  216. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +52 -0
  217. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
  218. package/build-module/components/global-styles/font-library-modal/utils/index.js +190 -0
  219. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -0
  220. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +16 -0
  221. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
  222. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +86 -0
  223. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
  224. package/build-module/components/global-styles/global-styles-provider.js +7 -12
  225. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  226. package/build-module/components/global-styles/screen-block.js +34 -21
  227. package/build-module/components/global-styles/screen-block.js.map +1 -1
  228. package/build-module/components/global-styles/screen-revisions/index.js +1 -3
  229. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  230. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  231. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  232. package/build-module/components/global-styles/screen-typography.js +6 -74
  233. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  234. package/build-module/components/global-styles/style-variations-container.js +3 -5
  235. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  236. package/build-module/components/global-styles/typogrphy-elements.js +87 -0
  237. package/build-module/components/global-styles/typogrphy-elements.js.map +1 -0
  238. package/build-module/components/page-patterns/duplicate-menu-item.js +51 -16
  239. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  240. package/build-module/components/page-patterns/grid-item.js +47 -21
  241. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  242. package/build-module/components/page-patterns/header.js +3 -7
  243. package/build-module/components/page-patterns/header.js.map +1 -1
  244. package/build-module/components/page-patterns/index.js +3 -3
  245. package/build-module/components/page-patterns/index.js.map +1 -1
  246. package/build-module/components/page-patterns/patterns-list.js +7 -7
  247. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  248. package/build-module/components/page-patterns/rename-menu-item.js +6 -5
  249. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  250. package/build-module/components/page-patterns/search-items.js +8 -2
  251. package/build-module/components/page-patterns/search-items.js.map +1 -1
  252. package/build-module/components/page-patterns/use-patterns.js +54 -28
  253. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  254. package/build-module/components/page-patterns/utils.js +0 -11
  255. package/build-module/components/page-patterns/utils.js.map +1 -1
  256. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +34 -27
  257. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  258. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +54 -0
  259. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
  260. package/build-module/components/sidebar-edit-mode/page-panels/index.js +1 -4
  261. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  262. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  263. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  264. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +49 -0
  265. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
  266. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +85 -0
  267. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
  268. package/build-module/components/sidebar-edit-mode/template-panel/index.js +12 -10
  269. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  270. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +8 -6
  271. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  272. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +202 -0
  273. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
  274. package/build-module/components/sidebar-navigation-screen/index.js +6 -4
  275. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  276. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +32 -5
  277. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  278. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
  279. package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
  280. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -33
  281. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  282. package/build-module/components/sidebar-navigation-screen-page/index.js +3 -3
  283. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  284. package/build-module/components/sidebar-navigation-screen-pattern/index.js +19 -9
  285. package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
  286. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +34 -5
  287. package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
  288. package/build-module/components/sidebar-navigation-screen-patterns/index.js +10 -38
  289. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  290. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +38 -4
  291. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  292. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -2
  293. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  294. package/build-module/components/sidebar-navigation-screen-template/index.js +2 -2
  295. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  296. package/build-module/components/sidebar-navigation-screen-templates/index.js +1 -1
  297. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  298. package/build-module/components/template-actions/index.js +7 -4
  299. package/build-module/components/template-actions/index.js.map +1 -1
  300. package/build-module/components/template-actions/rename-menu-item.js +3 -2
  301. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  302. package/build-module/components/welcome-guide/styles.js +2 -2
  303. package/build-module/components/welcome-guide/styles.js.map +1 -1
  304. package/build-module/hooks/push-changes-to-global-styles/index.js +5 -37
  305. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  306. package/build-module/store/actions.js +30 -7
  307. package/build-module/store/actions.js.map +1 -1
  308. package/build-module/utils/constants.js +35 -1
  309. package/build-module/utils/constants.js.map +1 -1
  310. package/build-module/utils/is-template-removable.js +6 -1
  311. package/build-module/utils/is-template-removable.js.map +1 -1
  312. package/build-module/utils/is-template-revertable.js +6 -1
  313. package/build-module/utils/is-template-revertable.js.map +1 -1
  314. package/build-style/style-rtl.css +244 -37
  315. package/build-style/style.css +244 -37
  316. package/lib/inflate.js +4082 -0
  317. package/lib/lib-font.browser.js +3831 -0
  318. package/lib/unbrotli.js +2679 -0
  319. package/package.json +40 -40
  320. package/src/components/add-new-pattern/index.js +83 -5
  321. package/src/components/add-new-template/index.js +3 -2
  322. package/src/components/add-new-template/new-template.js +6 -1
  323. package/src/components/add-new-template/utils.js +12 -3
  324. package/src/components/app/index.js +9 -12
  325. package/src/components/block-editor/back-button.js +6 -2
  326. package/src/components/block-editor/editor-canvas.js +31 -19
  327. package/src/components/block-editor/site-editor-canvas.js +2 -10
  328. package/src/components/block-editor/style.scss +88 -1
  329. package/src/components/block-editor/use-site-editor-settings.js +26 -19
  330. package/src/components/canvas-loader/index.js +12 -1
  331. package/src/components/canvas-loader/style.scss +1 -1
  332. package/src/components/editor/index.js +3 -8
  333. package/src/components/global-styles/dimensions-panel.js +8 -4
  334. package/src/components/global-styles/font-families.js +71 -0
  335. package/src/components/global-styles/font-family-item.js +44 -0
  336. package/src/components/global-styles/font-library-modal/confirm-delete-dialog.js +33 -0
  337. package/src/components/global-styles/font-library-modal/context.js +347 -0
  338. package/src/components/global-styles/font-library-modal/font-card.js +70 -0
  339. package/src/components/global-styles/font-library-modal/font-demo.js +57 -0
  340. package/src/components/global-styles/font-library-modal/font-variant.js +53 -0
  341. package/src/components/global-styles/font-library-modal/fonts-grid.js +55 -0
  342. package/src/components/global-styles/font-library-modal/index.js +42 -0
  343. package/src/components/global-styles/font-library-modal/installed-fonts.js +174 -0
  344. package/src/components/global-styles/font-library-modal/library-font-card.js +40 -0
  345. package/src/components/global-styles/font-library-modal/library-font-details.js +46 -0
  346. package/src/components/global-styles/font-library-modal/library-font-variant.js +54 -0
  347. package/src/components/global-styles/font-library-modal/local-fonts.js +160 -0
  348. package/src/components/global-styles/font-library-modal/resolvers.js +29 -0
  349. package/src/components/global-styles/font-library-modal/style.scss +113 -0
  350. package/src/components/global-styles/font-library-modal/tab-layout.js +50 -0
  351. package/src/components/global-styles/font-library-modal/utils/constants.js +31 -0
  352. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
  353. package/src/components/global-styles/font-library-modal/utils/index.js +213 -0
  354. package/src/components/global-styles/font-library-modal/utils/make-families-from-faces.js +15 -0
  355. package/src/components/global-styles/font-library-modal/utils/test/getDisplaySrcFromFontFace.spec.js +53 -0
  356. package/src/components/global-styles/font-library-modal/utils/test/getFontFaceVariantName.spec.js +30 -0
  357. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +240 -0
  358. package/src/components/global-styles/font-library-modal/utils/test/getPreviewStyle.spec.js +121 -0
  359. package/src/components/global-styles/font-library-modal/utils/test/isUrlEncoded.spec.js +31 -0
  360. package/src/components/global-styles/font-library-modal/utils/test/makeFamiliesFromFaces.spec.js +57 -0
  361. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +62 -0
  362. package/src/components/global-styles/font-library-modal/utils/test/mergeFontFaces.spec.js +56 -0
  363. package/src/components/global-styles/font-library-modal/utils/test/mergeFontFamilies.spec.js +108 -0
  364. package/src/components/global-styles/font-library-modal/utils/test/setUIValuesNeeded.spec.js +41 -0
  365. package/src/components/global-styles/font-library-modal/utils/test/toggleFont.spec.js +141 -0
  366. package/src/components/global-styles/font-library-modal/utils/toggleFont.js +90 -0
  367. package/src/components/global-styles/global-styles-provider.js +2 -7
  368. package/src/components/global-styles/screen-block.js +42 -20
  369. package/src/components/global-styles/screen-revisions/index.js +0 -2
  370. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
  371. package/src/components/global-styles/screen-typography.js +7 -95
  372. package/src/components/global-styles/style-variations-container.js +0 -2
  373. package/src/components/global-styles/typogrphy-elements.js +110 -0
  374. package/src/components/list/style.scss +2 -0
  375. package/src/components/page-patterns/duplicate-menu-item.js +63 -20
  376. package/src/components/page-patterns/grid-item.js +77 -30
  377. package/src/components/page-patterns/header.js +3 -12
  378. package/src/components/page-patterns/index.js +3 -3
  379. package/src/components/page-patterns/patterns-list.js +7 -7
  380. package/src/components/page-patterns/rename-menu-item.js +18 -7
  381. package/src/components/page-patterns/search-items.js +14 -2
  382. package/src/components/page-patterns/style.scss +1 -5
  383. package/src/components/page-patterns/use-patterns.js +67 -33
  384. package/src/components/page-patterns/utils.js +0 -19
  385. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +47 -33
  386. package/src/components/sidebar-edit-mode/page-panels/hooks.js +83 -0
  387. package/src/components/sidebar-edit-mode/page-panels/index.js +0 -4
  388. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -0
  389. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +44 -0
  390. package/src/components/sidebar-edit-mode/page-panels/style.scss +41 -10
  391. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +82 -0
  392. package/src/components/sidebar-edit-mode/template-panel/index.js +28 -24
  393. package/src/components/sidebar-edit-mode/template-panel/last-revision.js +19 -15
  394. package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +270 -0
  395. package/src/components/sidebar-navigation-screen/index.js +4 -9
  396. package/src/components/sidebar-navigation-screen/style.scss +7 -1
  397. package/src/components/sidebar-navigation-screen-details-footer/index.js +38 -10
  398. package/src/components/sidebar-navigation-screen-details-footer/style.scss +10 -3
  399. package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -0
  400. package/src/components/sidebar-navigation-screen-global-styles/index.js +6 -44
  401. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +0 -4
  402. package/src/components/sidebar-navigation-screen-page/index.js +3 -3
  403. package/src/components/sidebar-navigation-screen-pattern/index.js +20 -7
  404. package/src/components/sidebar-navigation-screen-pattern/style.scss +0 -3
  405. package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +46 -13
  406. package/src/components/sidebar-navigation-screen-patterns/index.js +14 -49
  407. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +48 -6
  408. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -5
  409. package/src/components/sidebar-navigation-screen-template/index.js +2 -4
  410. package/src/components/sidebar-navigation-screen-templates/index.js +1 -1
  411. package/src/components/template-actions/index.js +14 -8
  412. package/src/components/template-actions/rename-menu-item.js +15 -4
  413. package/src/components/welcome-guide/styles.js +2 -2
  414. package/src/hooks/push-changes-to-global-styles/index.js +6 -49
  415. package/src/store/actions.js +39 -13
  416. package/src/style.scss +1 -1
  417. package/src/utils/constants.js +38 -3
  418. package/src/utils/is-template-removable.js +8 -1
  419. package/src/utils/is-template-revertable.js +8 -1
  420. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -30
  421. package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
  422. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -23
  423. package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
  424. package/src/components/sidebar-navigation-screen-global-styles/style.scss +0 -12
  425. package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -24
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ResetDefaultTemplate;
7
+ var _element = require("@wordpress/element");
8
+ var _data = require("@wordpress/data");
9
+ var _components = require("@wordpress/components");
10
+ var _i18n = require("@wordpress/i18n");
11
+ var _coreData = require("@wordpress/core-data");
12
+ var _hooks = require("./hooks");
13
+ var _store = require("../../../store");
14
+ /**
15
+ * WordPress dependencies
16
+ */
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+
22
+ function ResetDefaultTemplate({
23
+ onClick
24
+ }) {
25
+ const currentTemplateSlug = (0, _hooks.useCurrentTemplateSlug)();
26
+ const isPostsPage = (0, _hooks.useIsPostsPage)();
27
+ const {
28
+ postType,
29
+ postId
30
+ } = (0, _hooks.useEditedPostContext)();
31
+ const entity = (0, _coreData.useEntityRecord)('postType', postType, postId);
32
+ const {
33
+ setPage
34
+ } = (0, _data.useDispatch)(_store.store);
35
+ // The default template in a post is indicated by an empty string.
36
+ if (!currentTemplateSlug || isPostsPage) {
37
+ return null;
38
+ }
39
+ return (0, _element.createElement)(_components.MenuGroup, null, (0, _element.createElement)(_components.MenuItem, {
40
+ onClick: async () => {
41
+ entity.edit({
42
+ template: ''
43
+ }, {
44
+ undoIgnore: true
45
+ });
46
+ onClick();
47
+ await setPage({
48
+ context: {
49
+ postType,
50
+ postId
51
+ }
52
+ });
53
+ }
54
+ }, (0, _i18n.__)('Reset')));
55
+ }
56
+ //# sourceMappingURL=reset-default-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_data","require","_components","_i18n","_coreData","_hooks","_store","ResetDefaultTemplate","onClick","currentTemplateSlug","useCurrentTemplateSlug","isPostsPage","useIsPostsPage","postType","postId","useEditedPostContext","entity","useEntityRecord","setPage","useDispatch","editSiteStore","_element","createElement","MenuGroup","MenuItem","edit","template","undoIgnore","context","__"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/reset-default-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecord } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseCurrentTemplateSlug,\n\tuseEditedPostContext,\n\tuseIsPostsPage,\n} from './hooks';\nimport { store as editSiteStore } from '../../../store';\n\nexport default function ResetDefaultTemplate( { onClick } ) {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst isPostsPage = useIsPostsPage();\n\tconst { postType, postId } = useEditedPostContext();\n\tconst entity = useEntityRecord( 'postType', postType, postId );\n\tconst { setPage } = useDispatch( editSiteStore );\n\t// The default template in a post is indicated by an empty string.\n\tif ( ! currentTemplateSlug || isPostsPage ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<MenuGroup>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ async () => {\n\t\t\t\t\tentity.edit( { template: '' }, { undoIgnore: true } );\n\t\t\t\t\tonClick();\n\t\t\t\t\tawait setPage( {\n\t\t\t\t\t\tcontext: { postType, postId },\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Reset' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AAhBA;AACA;AACA;;AAMA;AACA;AACA;;AAQe,SAASM,oBAAoBA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EAC3D,MAAMC,mBAAmB,GAAG,IAAAC,6BAAsB,EAAC,CAAC;EACpD,MAAMC,WAAW,GAAG,IAAAC,qBAAc,EAAC,CAAC;EACpC,MAAM;IAAEC,QAAQ;IAAEC;EAAO,CAAC,GAAG,IAAAC,2BAAoB,EAAC,CAAC;EACnD,MAAMC,MAAM,GAAG,IAAAC,yBAAe,EAAE,UAAU,EAAEJ,QAAQ,EAAEC,MAAO,CAAC;EAC9D,MAAM;IAAEI;EAAQ,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAc,CAAC;EAChD;EACA,IAAK,CAAEX,mBAAmB,IAAIE,WAAW,EAAG;IAC3C,OAAO,IAAI;EACZ;EACA,OACC,IAAAU,QAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAqB,SAAS,QACT,IAAAF,QAAA,CAAAC,aAAA,EAACpB,WAAA,CAAAsB,QAAQ;IACRhB,OAAO,EAAG,MAAAA,CAAA,KAAY;MACrBQ,MAAM,CAACS,IAAI,CAAE;QAAEC,QAAQ,EAAE;MAAG,CAAC,EAAE;QAAEC,UAAU,EAAE;MAAK,CAAE,CAAC;MACrDnB,OAAO,CAAC,CAAC;MACT,MAAMU,OAAO,CAAE;QACdU,OAAO,EAAE;UAAEf,QAAQ;UAAEC;QAAO;MAC7B,CAAE,CAAC;IACJ;EAAG,GAED,IAAAe,QAAE,EAAE,OAAQ,CACL,CACA,CAAC;AAEd"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = SwapTemplateButton;
7
+ var _element = require("@wordpress/element");
8
+ var _data = require("@wordpress/data");
9
+ var _htmlEntities = require("@wordpress/html-entities");
10
+ var _blockEditor = require("@wordpress/block-editor");
11
+ var _components = require("@wordpress/components");
12
+ var _i18n = require("@wordpress/i18n");
13
+ var _coreData = require("@wordpress/core-data");
14
+ var _blocks = require("@wordpress/blocks");
15
+ var _compose = require("@wordpress/compose");
16
+ var _store = require("../../../store");
17
+ var _hooks = require("./hooks");
18
+ /**
19
+ * WordPress dependencies
20
+ */
21
+
22
+ /**
23
+ * Internal dependencies
24
+ */
25
+
26
+ function SwapTemplateButton({
27
+ onClick
28
+ }) {
29
+ const [showModal, setShowModal] = (0, _element.useState)(false);
30
+ const availableTemplates = (0, _hooks.useAvailableTemplates)();
31
+ const onClose = (0, _element.useCallback)(() => {
32
+ setShowModal(false);
33
+ }, []);
34
+ const {
35
+ postType,
36
+ postId
37
+ } = (0, _hooks.useEditedPostContext)();
38
+ const entitiy = (0, _coreData.useEntityRecord)('postType', postType, postId);
39
+ const {
40
+ setPage
41
+ } = (0, _data.useDispatch)(_store.store);
42
+ if (!availableTemplates?.length) {
43
+ return null;
44
+ }
45
+ const onTemplateSelect = async template => {
46
+ entitiy.edit({
47
+ template: template.name
48
+ }, {
49
+ undoIgnore: true
50
+ });
51
+ await setPage({
52
+ context: {
53
+ postType,
54
+ postId
55
+ }
56
+ });
57
+ onClose(); // Close the template suggestions modal first.
58
+ onClick();
59
+ };
60
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.MenuItem, {
61
+ onClick: () => setShowModal(true)
62
+ }, (0, _i18n.__)('Swap template')), showModal && (0, _element.createElement)(_components.Modal, {
63
+ title: (0, _i18n.__)('Choose a template'),
64
+ onRequestClose: onClose,
65
+ overlayClassName: "edit-site-swap-template-modal",
66
+ isFullScreen: true
67
+ }, (0, _element.createElement)("div", {
68
+ className: "edit-site-page-panels__swap-template__modal-content"
69
+ }, (0, _element.createElement)(TemplatesList, {
70
+ onSelect: onTemplateSelect
71
+ }))));
72
+ }
73
+ function TemplatesList({
74
+ onSelect
75
+ }) {
76
+ const availableTemplates = (0, _hooks.useAvailableTemplates)();
77
+ const templatesAsPatterns = (0, _element.useMemo)(() => availableTemplates.map(template => ({
78
+ name: template.slug,
79
+ blocks: (0, _blocks.parse)(template.content.raw),
80
+ title: (0, _htmlEntities.decodeEntities)(template.title.rendered),
81
+ id: template.id
82
+ })), [availableTemplates]);
83
+ const shownTemplates = (0, _compose.useAsyncList)(templatesAsPatterns);
84
+ return (0, _element.createElement)(_blockEditor.__experimentalBlockPatternsList, {
85
+ label: (0, _i18n.__)('Templates'),
86
+ blockPatterns: templatesAsPatterns,
87
+ shownPatterns: shownTemplates,
88
+ onClickPattern: onSelect
89
+ });
90
+ }
91
+ //# sourceMappingURL=swap-template-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","_data","_htmlEntities","_blockEditor","_components","_i18n","_coreData","_blocks","_compose","_store","_hooks","SwapTemplateButton","onClick","showModal","setShowModal","useState","availableTemplates","useAvailableTemplates","onClose","useCallback","postType","postId","useEditedPostContext","entitiy","useEntityRecord","setPage","useDispatch","editSiteStore","length","onTemplateSelect","template","edit","name","undoIgnore","context","createElement","Fragment","MenuItem","__","Modal","title","onRequestClose","overlayClassName","isFullScreen","className","TemplatesList","onSelect","templatesAsPatterns","useMemo","map","slug","blocks","parse","content","raw","decodeEntities","rendered","id","shownTemplates","useAsyncList","__experimentalBlockPatternsList","label","blockPatterns","shownPatterns","onClickPattern"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/swap-template-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { useMemo, useState, useCallback } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport { MenuItem, Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecord } from '@wordpress/core-data';\nimport { parse } from '@wordpress/blocks';\nimport { useAsyncList } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport { useAvailableTemplates, useEditedPostContext } from './hooks';\n\nexport default function SwapTemplateButton( { onClick } ) {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst availableTemplates = useAvailableTemplates();\n\tconst onClose = useCallback( () => {\n\t\tsetShowModal( false );\n\t}, [] );\n\tconst { postType, postId } = useEditedPostContext();\n\tconst entitiy = useEntityRecord( 'postType', postType, postId );\n\tconst { setPage } = useDispatch( editSiteStore );\n\tif ( ! availableTemplates?.length ) {\n\t\treturn null;\n\t}\n\tconst onTemplateSelect = async ( template ) => {\n\t\tentitiy.edit( { template: template.name }, { undoIgnore: true } );\n\t\tawait setPage( {\n\t\t\tcontext: { postType, postId },\n\t\t} );\n\t\tonClose(); // Close the template suggestions modal first.\n\t\tonClick();\n\t};\n\treturn (\n\t\t<>\n\t\t\t<MenuItem onClick={ () => setShowModal( true ) }>\n\t\t\t\t{ __( 'Swap template' ) }\n\t\t\t</MenuItem>\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Choose a template' ) }\n\t\t\t\t\tonRequestClose={ onClose }\n\t\t\t\t\toverlayClassName=\"edit-site-swap-template-modal\"\n\t\t\t\t\tisFullScreen\n\t\t\t\t>\n\t\t\t\t\t<div className=\"edit-site-page-panels__swap-template__modal-content\">\n\t\t\t\t\t\t<TemplatesList onSelect={ onTemplateSelect } />\n\t\t\t\t\t</div>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction TemplatesList( { onSelect } ) {\n\tconst availableTemplates = useAvailableTemplates();\n\tconst templatesAsPatterns = useMemo(\n\t\t() =>\n\t\t\tavailableTemplates.map( ( template ) => ( {\n\t\t\t\tname: template.slug,\n\t\t\t\tblocks: parse( template.content.raw ),\n\t\t\t\ttitle: decodeEntities( template.title.rendered ),\n\t\t\t\tid: template.id,\n\t\t\t} ) ),\n\t\t[ availableTemplates ]\n\t);\n\tconst shownTemplates = useAsyncList( templatesAsPatterns );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tlabel={ __( 'Templates' ) }\n\t\t\tblockPatterns={ templatesAsPatterns }\n\t\t\tshownPatterns={ shownTemplates }\n\t\t\tonClickPattern={ onSelect }\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
@@ -11,13 +11,14 @@ var _components = require("@wordpress/components");
11
11
  var _editor = require("@wordpress/editor");
12
12
  var _coreData = require("@wordpress/core-data");
13
13
  var _htmlEntities = require("@wordpress/html-entities");
14
- var _i18n = require("@wordpress/i18n");
15
14
  var _icons = require("@wordpress/icons");
16
15
  var _store = require("../../../store");
17
16
  var _templateActions = _interopRequireDefault(require("./template-actions"));
18
17
  var _templateAreas = _interopRequireDefault(require("./template-areas"));
19
18
  var _lastRevision = _interopRequireDefault(require("./last-revision"));
20
19
  var _sidebarCard = _interopRequireDefault(require("../sidebar-card"));
20
+ var _patternCategories = _interopRequireDefault(require("./pattern-categories"));
21
+ var _constants = require("../../../utils/constants");
21
22
  /**
22
23
  * WordPress dependencies
23
24
  */
@@ -36,7 +37,8 @@ function TemplatePanel() {
36
37
  title,
37
38
  description,
38
39
  icon,
39
- record
40
+ record,
41
+ postType
40
42
  } = (0, _data.useSelect)(select => {
41
43
  const {
42
44
  getEditedPostType,
@@ -48,15 +50,16 @@ function TemplatePanel() {
48
50
  const {
49
51
  __experimentalGetTemplateInfo: getTemplateInfo
50
52
  } = select(_editor.store);
51
- const postType = getEditedPostType();
53
+ const type = getEditedPostType();
52
54
  const postId = getEditedPostId();
53
- const _record = getEditedEntityRecord('postType', postType, postId);
55
+ const _record = getEditedEntityRecord('postType', type, postId);
54
56
  const info = getTemplateInfo(_record);
55
57
  return {
56
58
  title: info.title,
57
59
  description: info.description,
58
60
  icon: info.icon,
59
- record: _record
61
+ record: _record,
62
+ postType: type
60
63
  };
61
64
  }, []);
62
65
  if (!title && !description) {
@@ -72,9 +75,8 @@ function TemplatePanel() {
72
75
  actions: (0, _element.createElement)(_templateActions.default, {
73
76
  template: record
74
77
  })
75
- }, (0, _element.createElement)(_templateAreas.default, null)), (0, _element.createElement)(_components.PanelRow, {
76
- header: (0, _i18n.__)('Editing history'),
77
- className: "edit-site-template-revisions"
78
- }, (0, _element.createElement)(_lastRevision.default, null)));
78
+ }, (0, _element.createElement)(_templateAreas.default, null)), (0, _element.createElement)(_lastRevision.default, null), postType === _constants.PATTERN_TYPES.user && (0, _element.createElement)(_patternCategories.default, {
79
+ post: record
80
+ }));
79
81
  }
80
82
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_components","_editor","_coreData","_htmlEntities","_i18n","_icons","_store","_templateActions","_interopRequireDefault","_templateAreas","_lastRevision","_sidebarCard","CARD_ICONS","wp_block","symbol","wp_navigation","navigation","TemplatePanel","_CARD_ICONS$record$ty","title","description","icon","record","useSelect","select","getEditedPostType","getEditedPostId","editSiteStore","getEditedEntityRecord","coreStore","__experimentalGetTemplateInfo","getTemplateInfo","editorStore","postType","postId","_record","info","_element","createElement","PanelBody","className","default","decodeEntities","type","actions","template","PanelRow","header","__"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { PanelRow, PanelBody } from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, symbol } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport TemplateActions from './template-actions';\nimport TemplateAreas from './template-areas';\nimport LastRevision from './last-revision';\nimport SidebarCard from '../sidebar-card';\n\nconst CARD_ICONS = {\n\twp_block: symbol,\n\twp_navigation: navigation,\n};\n\nexport default function TemplatePanel() {\n\tconst { title, description, icon, record } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = select( editSiteStore );\n\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\tconst { __experimentalGetTemplateInfo: getTemplateInfo } =\n\t\t\tselect( editorStore );\n\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\t\tconst _record = getEditedEntityRecord( 'postType', postType, postId );\n\t\tconst info = getTemplateInfo( _record );\n\n\t\treturn {\n\t\t\ttitle: info.title,\n\t\t\tdescription: info.description,\n\t\t\ticon: info.icon,\n\t\t\trecord: _record,\n\t\t};\n\t}, [] );\n\n\tif ( ! title && ! description ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody className=\"edit-site-template-panel\">\n\t\t\t<SidebarCard\n\t\t\t\tclassName=\"edit-site-template-card\"\n\t\t\t\ttitle={ decodeEntities( title ) }\n\t\t\t\ticon={ CARD_ICONS[ record?.type ] ?? icon }\n\t\t\t\tdescription={ decodeEntities( description ) }\n\t\t\t\tactions={ <TemplateActions template={ record } /> }\n\t\t\t>\n\t\t\t\t<TemplateAreas />\n\t\t\t</SidebarCard>\n\t\t\t<PanelRow\n\t\t\t\theader={ __( 'Editing history' ) }\n\t\t\t\tclassName=\"edit-site-template-revisions\"\n\t\t\t>\n\t\t\t\t<LastRevision />\n\t\t\t</PanelRow>\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AAKA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAC,sBAAA,CAAAT,OAAA;AACA,IAAAU,cAAA,GAAAD,sBAAA,CAAAT,OAAA;AACA,IAAAW,aAAA,GAAAF,sBAAA,CAAAT,OAAA;AACA,IAAAY,YAAA,GAAAH,sBAAA,CAAAT,OAAA;AAlBA;AACA;AACA;;AASA;AACA;AACA;;AAOA,MAAMa,UAAU,GAAG;EAClBC,QAAQ,EAAEC,aAAM;EAChBC,aAAa,EAAEC;AAChB,CAAC;AAEc,SAASC,aAAaA,CAAA,EAAG;EAAA,IAAAC,qBAAA;EACvC,MAAM;IAAEC,KAAK;IAAEC,WAAW;IAAEC,IAAI;IAAEC;EAAO,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IACrE,MAAM;MAAEC,iBAAiB;MAAEC;IAAgB,CAAC,GAAGF,MAAM,CAAEG,YAAc,CAAC;IACtE,MAAM;MAAEC;IAAsB,CAAC,GAAGJ,MAAM,CAAEK,eAAU,CAAC;IACrD,MAAM;MAAEC,6BAA6B,EAAEC;IAAgB,CAAC,GACvDP,MAAM,CAAEQ,aAAY,CAAC;IAEtB,MAAMC,QAAQ,GAAGR,iBAAiB,CAAC,CAAC;IACpC,MAAMS,MAAM,GAAGR,eAAe,CAAC,CAAC;IAChC,MAAMS,OAAO,GAAGP,qBAAqB,CAAE,UAAU,EAAEK,QAAQ,EAAEC,MAAO,CAAC;IACrE,MAAME,IAAI,GAAGL,eAAe,CAAEI,OAAQ,CAAC;IAEvC,OAAO;MACNhB,KAAK,EAAEiB,IAAI,CAACjB,KAAK;MACjBC,WAAW,EAAEgB,IAAI,CAAChB,WAAW;MAC7BC,IAAI,EAAEe,IAAI,CAACf,IAAI;MACfC,MAAM,EAAEa;IACT,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEhB,KAAK,IAAI,CAAEC,WAAW,EAAG;IAC/B,OAAO,IAAI;EACZ;EAEA,OACC,IAAAiB,QAAA,CAAAC,aAAA,EAACtC,WAAA,CAAAuC,SAAS;IAACC,SAAS,EAAC;EAA0B,GAC9C,IAAAH,QAAA,CAAAC,aAAA,EAAC3B,YAAA,CAAA8B,OAAW;IACXD,SAAS,EAAC,yBAAyB;IACnCrB,KAAK,EAAG,IAAAuB,4BAAc,EAAEvB,KAAM,CAAG;IACjCE,IAAI,GAAAH,qBAAA,GAAGN,UAAU,CAAEU,MAAM,EAAEqB,IAAI,CAAE,cAAAzB,qBAAA,cAAAA,qBAAA,GAAIG,IAAM;IAC3CD,WAAW,EAAG,IAAAsB,4BAAc,EAAEtB,WAAY,CAAG;IAC7CwB,OAAO,EAAG,IAAAP,QAAA,CAAAC,aAAA,EAAC/B,gBAAA,CAAAkC,OAAe;MAACI,QAAQ,EAAGvB;IAAQ,CAAE;EAAG,GAEnD,IAAAe,QAAA,CAAAC,aAAA,EAAC7B,cAAA,CAAAgC,OAAa,MAAE,CACJ,CAAC,EACd,IAAAJ,QAAA,CAAAC,aAAA,EAACtC,WAAA,CAAA8C,QAAQ;IACRC,MAAM,EAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAG;IAClCR,SAAS,EAAC;EAA8B,GAExC,IAAAH,QAAA,CAAAC,aAAA,EAAC5B,aAAA,CAAA+B,OAAY,MAAE,CACN,CACA,CAAC;AAEd"}
1
+ {"version":3,"names":["_data","require","_components","_editor","_coreData","_htmlEntities","_icons","_store","_templateActions","_interopRequireDefault","_templateAreas","_lastRevision","_sidebarCard","_patternCategories","_constants","CARD_ICONS","wp_block","symbol","wp_navigation","navigation","TemplatePanel","_CARD_ICONS$record$ty","title","description","icon","record","postType","useSelect","select","getEditedPostType","getEditedPostId","editSiteStore","getEditedEntityRecord","coreStore","__experimentalGetTemplateInfo","getTemplateInfo","editorStore","type","postId","_record","info","_element","createElement","PanelBody","className","default","decodeEntities","actions","template","PATTERN_TYPES","user","post"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody } from '@wordpress/components';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { navigation, symbol } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport TemplateActions from './template-actions';\nimport TemplateAreas from './template-areas';\nimport LastRevision from './last-revision';\nimport SidebarCard from '../sidebar-card';\nimport PatternCategories from './pattern-categories';\nimport { PATTERN_TYPES } from '../../../utils/constants';\n\nconst CARD_ICONS = {\n\twp_block: symbol,\n\twp_navigation: navigation,\n};\n\nexport default function TemplatePanel() {\n\tconst { title, description, icon, record, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostType, getEditedPostId } =\n\t\t\t\tselect( editSiteStore );\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst { __experimentalGetTemplateInfo: getTemplateInfo } =\n\t\t\t\tselect( editorStore );\n\n\t\t\tconst type = getEditedPostType();\n\t\t\tconst postId = getEditedPostId();\n\t\t\tconst _record = getEditedEntityRecord( 'postType', type, postId );\n\t\t\tconst info = getTemplateInfo( _record );\n\n\t\t\treturn {\n\t\t\t\ttitle: info.title,\n\t\t\t\tdescription: info.description,\n\t\t\t\ticon: info.icon,\n\t\t\t\trecord: _record,\n\t\t\t\tpostType: type,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tif ( ! title && ! description ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody className=\"edit-site-template-panel\">\n\t\t\t<SidebarCard\n\t\t\t\tclassName=\"edit-site-template-card\"\n\t\t\t\ttitle={ decodeEntities( title ) }\n\t\t\t\ticon={ CARD_ICONS[ record?.type ] ?? icon }\n\t\t\t\tdescription={ decodeEntities( description ) }\n\t\t\t\tactions={ <TemplateActions template={ record } /> }\n\t\t\t>\n\t\t\t\t<TemplateAreas />\n\t\t\t</SidebarCard>\n\t\t\t<LastRevision />\n\t\t\t{ postType === PATTERN_TYPES.user && (\n\t\t\t\t<PatternCategories post={ record } />\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n}\n"],"mappings":"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"}
@@ -52,15 +52,17 @@ const PostLastRevision = () => {
52
52
  lastRevisionId,
53
53
  revisionsCount
54
54
  } = useRevisionData();
55
- return (0, _element.createElement)(PostLastRevisionCheck, null, (0, _element.createElement)(_components.Button, {
55
+ return (0, _element.createElement)(PostLastRevisionCheck, null, (0, _element.createElement)(_components.PanelRow, {
56
+ header: (0, _i18n.__)('Editing history'),
57
+ className: "edit-site-template-revisions"
58
+ }, (0, _element.createElement)(_components.Button, {
56
59
  href: (0, _url.addQueryArgs)('revision.php', {
57
- revision: lastRevisionId,
58
- gutenberg: true
60
+ revision: lastRevisionId
59
61
  }),
60
62
  className: "edit-site-template-last-revision__title",
61
63
  icon: _icons.backup
62
64
  }, (0, _i18n.sprintf)( /* translators: %d: number of revisions */
63
- (0, _i18n._n)('%d Revision', '%d Revisions', revisionsCount), revisionsCount)));
65
+ (0, _i18n._n)('%d Revision', '%d Revisions', revisionsCount), revisionsCount))));
64
66
  };
65
67
  function LastRevision() {
66
68
  return (0, _element.createElement)(PostLastRevisionCheck, null, (0, _element.createElement)(PostLastRevision, null));
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_i18n","_icons","_url","_editor","_useEditedEntityRecord","_interopRequireDefault","useRevisionData","_currentTemplate$_lin","_currentTemplate$_lin2","record","currentTemplate","useEditedEntityRecord","lastRevisionId","_links","id","revisionsCount","count","PostLastRevisionCheck","children","_element","createElement","PostTypeSupportCheck","supportKeys","PostLastRevision","Button","href","addQueryArgs","revision","gutenberg","className","icon","backup","sprintf","_n","LastRevision"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/last-revision.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button } from '@wordpress/components';\nimport { sprintf, _n } from '@wordpress/i18n';\nimport { backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { PostTypeSupportCheck } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport useEditedEntityRecord from '../../use-edited-entity-record';\n\nconst useRevisionData = () => {\n\tconst { record: currentTemplate } = useEditedEntityRecord();\n\n\tconst lastRevisionId =\n\t\tcurrentTemplate?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\n\tconst revisionsCount =\n\t\tcurrentTemplate?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\n\treturn {\n\t\tcurrentTemplate,\n\t\tlastRevisionId,\n\t\trevisionsCount,\n\t};\n};\n\nfunction PostLastRevisionCheck( { children } ) {\n\tconst { lastRevisionId, revisionsCount } = useRevisionData();\n\n\tif ( ! lastRevisionId || revisionsCount < 2 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"revisions\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n\nconst PostLastRevision = () => {\n\tconst { lastRevisionId, revisionsCount } = useRevisionData();\n\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<Button\n\t\t\t\thref={ addQueryArgs( 'revision.php', {\n\t\t\t\t\trevision: lastRevisionId,\n\t\t\t\t\tgutenberg: true,\n\t\t\t\t} ) }\n\t\t\t\tclassName=\"edit-site-template-last-revision__title\"\n\t\t\t\ticon={ backup }\n\t\t\t>\n\t\t\t\t{ sprintf(\n\t\t\t\t\t/* translators: %d: number of revisions */\n\t\t\t\t\t_n( '%d Revision', '%d Revisions', revisionsCount ),\n\t\t\t\t\trevisionsCount\n\t\t\t\t) }\n\t\t\t</Button>\n\t\t</PostLastRevisionCheck>\n\t);\n};\n\nexport default function LastRevision() {\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<PostLastRevision />\n\t\t</PostLastRevisionCheck>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAKA,IAAAK,sBAAA,GAAAC,sBAAA,CAAAN,OAAA;AAZA;AACA;AACA;;AAOA;AACA;AACA;;AAGA,MAAMO,eAAe,GAAGA,CAAA,KAAM;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EAC7B,MAAM;IAAEC,MAAM,EAAEC;EAAgB,CAAC,GAAG,IAAAC,8BAAqB,EAAC,CAAC;EAE3D,MAAMC,cAAc,IAAAL,qBAAA,GACnBG,eAAe,EAAEG,MAAM,GAAI,qBAAqB,CAAE,GAAI,CAAC,CAAE,EAAEC,EAAE,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,IAAI;EAEtE,MAAMQ,cAAc,IAAAP,sBAAA,GACnBE,eAAe,EAAEG,MAAM,GAAI,iBAAiB,CAAE,GAAI,CAAC,CAAE,EAAEG,KAAK,cAAAR,sBAAA,cAAAA,sBAAA,GAAI,CAAC;EAElE,OAAO;IACNE,eAAe;IACfE,cAAc;IACdG;EACD,CAAC;AACF,CAAC;AAED,SAASE,qBAAqBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC9C,MAAM;IAAEN,cAAc;IAAEG;EAAe,CAAC,GAAGT,eAAe,CAAC,CAAC;EAE5D,IAAK,CAAEM,cAAc,IAAIG,cAAc,GAAG,CAAC,EAAG;IAC7C,OAAO,IAAI;EACZ;EAEA,OACC,IAAAI,QAAA,CAAAC,aAAA,EAACjB,OAAA,CAAAkB,oBAAoB;IAACC,WAAW,EAAC;EAAW,GAC1CJ,QACmB,CAAC;AAEzB;AAEA,MAAMK,gBAAgB,GAAGA,CAAA,KAAM;EAC9B,MAAM;IAAEX,cAAc;IAAEG;EAAe,CAAC,GAAGT,eAAe,CAAC,CAAC;EAE5D,OACC,IAAAa,QAAA,CAAAC,aAAA,EAACH,qBAAqB,QACrB,IAAAE,QAAA,CAAAC,aAAA,EAACtB,WAAA,CAAA0B,MAAM;IACNC,IAAI,EAAG,IAAAC,iBAAY,EAAE,cAAc,EAAE;MACpCC,QAAQ,EAAEf,cAAc;MACxBgB,SAAS,EAAE;IACZ,CAAE,CAAG;IACLC,SAAS,EAAC,yCAAyC;IACnDC,IAAI,EAAGC;EAAQ,GAEb,IAAAC,aAAO,GACR;EACA,IAAAC,QAAE,EAAE,aAAa,EAAE,cAAc,EAAElB,cAAe,CAAC,EACnDA,cACD,CACO,CACc,CAAC;AAE1B,CAAC;AAEc,SAASmB,YAAYA,CAAA,EAAG;EACtC,OACC,IAAAf,QAAA,CAAAC,aAAA,EAACH,qBAAqB,QACrB,IAAAE,QAAA,CAAAC,aAAA,EAACG,gBAAgB,MAAE,CACG,CAAC;AAE1B"}
1
+ {"version":3,"names":["_components","require","_i18n","_icons","_url","_editor","_useEditedEntityRecord","_interopRequireDefault","useRevisionData","_currentTemplate$_lin","_currentTemplate$_lin2","record","currentTemplate","useEditedEntityRecord","lastRevisionId","_links","id","revisionsCount","count","PostLastRevisionCheck","children","_element","createElement","PostTypeSupportCheck","supportKeys","PostLastRevision","PanelRow","header","__","className","Button","href","addQueryArgs","revision","icon","backup","sprintf","_n","LastRevision"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/last-revision.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, PanelRow } from '@wordpress/components';\nimport { sprintf, _n, __ } from '@wordpress/i18n';\nimport { backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { PostTypeSupportCheck } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport useEditedEntityRecord from '../../use-edited-entity-record';\n\nconst useRevisionData = () => {\n\tconst { record: currentTemplate } = useEditedEntityRecord();\n\n\tconst lastRevisionId =\n\t\tcurrentTemplate?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\n\tconst revisionsCount =\n\t\tcurrentTemplate?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\n\treturn {\n\t\tcurrentTemplate,\n\t\tlastRevisionId,\n\t\trevisionsCount,\n\t};\n};\n\nfunction PostLastRevisionCheck( { children } ) {\n\tconst { lastRevisionId, revisionsCount } = useRevisionData();\n\n\tif ( ! lastRevisionId || revisionsCount < 2 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"revisions\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n\nconst PostLastRevision = () => {\n\tconst { lastRevisionId, revisionsCount } = useRevisionData();\n\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<PanelRow\n\t\t\t\theader={ __( 'Editing history' ) }\n\t\t\t\tclassName=\"edit-site-template-revisions\"\n\t\t\t>\n\t\t\t\t<Button\n\t\t\t\t\thref={ addQueryArgs( 'revision.php', {\n\t\t\t\t\t\trevision: lastRevisionId,\n\t\t\t\t\t} ) }\n\t\t\t\t\tclassName=\"edit-site-template-last-revision__title\"\n\t\t\t\t\ticon={ backup }\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %d: number of revisions */\n\t\t\t\t\t\t_n( '%d Revision', '%d Revisions', revisionsCount ),\n\t\t\t\t\t\trevisionsCount\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t</PanelRow>\n\t\t</PostLastRevisionCheck>\n\t);\n};\n\nexport default function LastRevision() {\n\treturn (\n\t\t<PostLastRevisionCheck>\n\t\t\t<PostLastRevision />\n\t\t</PostLastRevisionCheck>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,IAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAKA,IAAAK,sBAAA,GAAAC,sBAAA,CAAAN,OAAA;AAZA;AACA;AACA;;AAOA;AACA;AACA;;AAGA,MAAMO,eAAe,GAAGA,CAAA,KAAM;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EAC7B,MAAM;IAAEC,MAAM,EAAEC;EAAgB,CAAC,GAAG,IAAAC,8BAAqB,EAAC,CAAC;EAE3D,MAAMC,cAAc,IAAAL,qBAAA,GACnBG,eAAe,EAAEG,MAAM,GAAI,qBAAqB,CAAE,GAAI,CAAC,CAAE,EAAEC,EAAE,cAAAP,qBAAA,cAAAA,qBAAA,GAAI,IAAI;EAEtE,MAAMQ,cAAc,IAAAP,sBAAA,GACnBE,eAAe,EAAEG,MAAM,GAAI,iBAAiB,CAAE,GAAI,CAAC,CAAE,EAAEG,KAAK,cAAAR,sBAAA,cAAAA,sBAAA,GAAI,CAAC;EAElE,OAAO;IACNE,eAAe;IACfE,cAAc;IACdG;EACD,CAAC;AACF,CAAC;AAED,SAASE,qBAAqBA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAC9C,MAAM;IAAEN,cAAc;IAAEG;EAAe,CAAC,GAAGT,eAAe,CAAC,CAAC;EAE5D,IAAK,CAAEM,cAAc,IAAIG,cAAc,GAAG,CAAC,EAAG;IAC7C,OAAO,IAAI;EACZ;EAEA,OACC,IAAAI,QAAA,CAAAC,aAAA,EAACjB,OAAA,CAAAkB,oBAAoB;IAACC,WAAW,EAAC;EAAW,GAC1CJ,QACmB,CAAC;AAEzB;AAEA,MAAMK,gBAAgB,GAAGA,CAAA,KAAM;EAC9B,MAAM;IAAEX,cAAc;IAAEG;EAAe,CAAC,GAAGT,eAAe,CAAC,CAAC;EAE5D,OACC,IAAAa,QAAA,CAAAC,aAAA,EAACH,qBAAqB,QACrB,IAAAE,QAAA,CAAAC,aAAA,EAACtB,WAAA,CAAA0B,QAAQ;IACRC,MAAM,EAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAG;IAClCC,SAAS,EAAC;EAA8B,GAExC,IAAAR,QAAA,CAAAC,aAAA,EAACtB,WAAA,CAAA8B,MAAM;IACNC,IAAI,EAAG,IAAAC,iBAAY,EAAE,cAAc,EAAE;MACpCC,QAAQ,EAAEnB;IACX,CAAE,CAAG;IACLe,SAAS,EAAC,yCAAyC;IACnDK,IAAI,EAAGC;EAAQ,GAEb,IAAAC,aAAO,GACR;EACA,IAAAC,QAAE,EAAE,aAAa,EAAE,cAAc,EAAEpB,cAAe,CAAC,EACnDA,cACD,CACO,CACC,CACY,CAAC;AAE1B,CAAC;AAEc,SAASqB,YAAYA,CAAA,EAAG;EACtC,OACC,IAAAjB,QAAA,CAAAC,aAAA,EAACH,qBAAqB,QACrB,IAAAE,QAAA,CAAAC,aAAA,EAACG,gBAAgB,MAAE,CACG,CAAC;AAE1B"}
@@ -0,0 +1,211 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = PatternCategories;
7
+ exports.unescapeTerm = exports.unescapeString = void 0;
8
+ var _element = require("@wordpress/element");
9
+ var _i18n = require("@wordpress/i18n");
10
+ var _components = require("@wordpress/components");
11
+ var _data = require("@wordpress/data");
12
+ var _coreData = require("@wordpress/core-data");
13
+ var _compose = require("@wordpress/compose");
14
+ var _notices = require("@wordpress/notices");
15
+ var _htmlEntities = require("@wordpress/html-entities");
16
+ /**
17
+ * WordPress dependencies
18
+ */
19
+
20
+ const unescapeString = arg => {
21
+ return (0, _htmlEntities.decodeEntities)(arg);
22
+ };
23
+
24
+ /**
25
+ * Returns a term object with name unescaped.
26
+ *
27
+ * @param {Object} term The term object to unescape.
28
+ *
29
+ * @return {Object} Term object with name property unescaped.
30
+ */
31
+ exports.unescapeString = unescapeString;
32
+ const unescapeTerm = term => {
33
+ return {
34
+ ...term,
35
+ name: unescapeString(term.name)
36
+ };
37
+ };
38
+
39
+ /**
40
+ * Shared reference to an empty array for cases where it is important to avoid
41
+ * returning a new array reference on every invocation.
42
+ *
43
+ * @type {Array<any>}
44
+ */
45
+ exports.unescapeTerm = unescapeTerm;
46
+ const EMPTY_ARRAY = [];
47
+
48
+ /**
49
+ * Module constants
50
+ */
51
+ const MAX_TERMS_SUGGESTIONS = 20;
52
+ const DEFAULT_QUERY = {
53
+ per_page: MAX_TERMS_SUGGESTIONS,
54
+ _fields: 'id,name',
55
+ context: 'view'
56
+ };
57
+ const isSameTermName = (termA, termB) => unescapeString(termA).toLowerCase() === unescapeString(termB).toLowerCase();
58
+ const termNamesToIds = (names, terms) => {
59
+ return names.map(termName => terms.find(term => isSameTermName(term.name, termName)).id);
60
+ };
61
+ function PatternCategories({
62
+ post
63
+ }) {
64
+ var _taxonomy$labels$sing;
65
+ const slug = 'wp_pattern_category';
66
+ const [values, setValues] = (0, _element.useState)([]);
67
+ const [search, setSearch] = (0, _element.useState)('');
68
+ const debouncedSearch = (0, _compose.useDebounce)(setSearch, 500);
69
+ const {
70
+ terms,
71
+ taxonomy,
72
+ hasAssignAction,
73
+ hasCreateAction,
74
+ hasResolvedTerms
75
+ } = (0, _data.useSelect)(select => {
76
+ var _post$_links, _post$_links2;
77
+ const {
78
+ getEntityRecords,
79
+ getTaxonomy,
80
+ hasFinishedResolution
81
+ } = select(_coreData.store);
82
+ const _taxonomy = getTaxonomy(slug);
83
+ const _termIds = post?.wp_pattern_category?.length > 0 ? post?.wp_pattern_category : EMPTY_ARRAY;
84
+ const query = {
85
+ ...DEFAULT_QUERY,
86
+ include: _termIds?.join(','),
87
+ per_page: -1
88
+ };
89
+ return {
90
+ hasCreateAction: _taxonomy ? (_post$_links = post._links?.['wp:action-create-' + _taxonomy.rest_base]) !== null && _post$_links !== void 0 ? _post$_links : false : false,
91
+ hasAssignAction: _taxonomy ? (_post$_links2 = post._links?.['wp:action-assign-' + _taxonomy.rest_base]) !== null && _post$_links2 !== void 0 ? _post$_links2 : false : false,
92
+ taxonomy: _taxonomy,
93
+ termIds: _termIds,
94
+ terms: _termIds?.length ? getEntityRecords('taxonomy', slug, query) : EMPTY_ARRAY,
95
+ hasResolvedTerms: hasFinishedResolution('getEntityRecords', ['taxonomy', slug, query])
96
+ };
97
+ }, [slug, post]);
98
+ const {
99
+ searchResults
100
+ } = (0, _data.useSelect)(select => {
101
+ const {
102
+ getEntityRecords
103
+ } = select(_coreData.store);
104
+ return {
105
+ searchResults: !!search ? getEntityRecords('taxonomy', slug, {
106
+ ...DEFAULT_QUERY,
107
+ search
108
+ }) : EMPTY_ARRAY
109
+ };
110
+ }, [search, slug]);
111
+
112
+ // Update terms state only after the selectors are resolved.
113
+ // We're using this to avoid terms temporarily disappearing on slow networks
114
+ // while core data makes REST API requests.
115
+ (0, _element.useEffect)(() => {
116
+ if (hasResolvedTerms) {
117
+ const newValues = (terms !== null && terms !== void 0 ? terms : []).map(term => unescapeString(term.name));
118
+ setValues(newValues);
119
+ }
120
+ }, [terms, hasResolvedTerms]);
121
+ const suggestions = (0, _element.useMemo)(() => {
122
+ return (searchResults !== null && searchResults !== void 0 ? searchResults : []).map(term => unescapeString(term.name));
123
+ }, [searchResults]);
124
+ const {
125
+ saveEntityRecord,
126
+ editEntityRecord
127
+ } = (0, _data.useDispatch)(_coreData.store);
128
+ const {
129
+ createErrorNotice
130
+ } = (0, _data.useDispatch)(_notices.store);
131
+ if (!hasAssignAction) {
132
+ return null;
133
+ }
134
+ async function findOrCreateTerm(term) {
135
+ try {
136
+ const newTerm = await saveEntityRecord('taxonomy', slug, term, {
137
+ throwOnError: true
138
+ });
139
+ return unescapeTerm(newTerm);
140
+ } catch (error) {
141
+ if (error.code !== 'term_exists') {
142
+ throw error;
143
+ }
144
+ return {
145
+ id: error.data.term_id,
146
+ name: term.name
147
+ };
148
+ }
149
+ }
150
+ function onUpdateTerms(newTermIds) {
151
+ editEntityRecord('postType', 'wp_block', post.id, {
152
+ wp_pattern_category: newTermIds
153
+ });
154
+ }
155
+ function onChange(termNames) {
156
+ const availableTerms = [...(terms !== null && terms !== void 0 ? terms : []), ...(searchResults !== null && searchResults !== void 0 ? searchResults : [])];
157
+ const uniqueTerms = termNames.reduce((acc, name) => {
158
+ if (!acc.some(n => n.toLowerCase() === name.toLowerCase())) {
159
+ acc.push(name);
160
+ }
161
+ return acc;
162
+ }, []);
163
+ const newTermNames = uniqueTerms.filter(termName => !availableTerms.find(term => isSameTermName(term.name, termName)));
164
+
165
+ // Optimistically update term values.
166
+ // The selector will always re-fetch terms later.
167
+ setValues(uniqueTerms);
168
+ if (newTermNames.length === 0) {
169
+ return onUpdateTerms(termNamesToIds(uniqueTerms, availableTerms));
170
+ }
171
+ if (!hasCreateAction) {
172
+ return;
173
+ }
174
+ Promise.all(newTermNames.map(termName => findOrCreateTerm({
175
+ name: termName
176
+ }))).then(newTerms => {
177
+ const newAvailableTerms = availableTerms.concat(newTerms);
178
+ return onUpdateTerms(termNamesToIds(uniqueTerms, newAvailableTerms));
179
+ }).catch(error => {
180
+ createErrorNotice(error.message, {
181
+ type: 'snackbar'
182
+ });
183
+ });
184
+ }
185
+ const singularName = (_taxonomy$labels$sing = taxonomy?.labels?.singular_name) !== null && _taxonomy$labels$sing !== void 0 ? _taxonomy$labels$sing : slug === 'post_tag' ? (0, _i18n.__)('Tag') : (0, _i18n.__)('Term');
186
+ const termAddedLabel = (0, _i18n.sprintf)( /* translators: %s: term name. */
187
+ (0, _i18n._x)('%s added', 'term'), singularName);
188
+ const termRemovedLabel = (0, _i18n.sprintf)( /* translators: %s: term name. */
189
+ (0, _i18n._x)('%s removed', 'term'), singularName);
190
+ const removeTermLabel = (0, _i18n.sprintf)( /* translators: %s: term name. */
191
+ (0, _i18n._x)('Remove %s', 'term'), singularName);
192
+ return (0, _element.createElement)(_components.PanelRow, {
193
+ initialOpen: true,
194
+ title: (0, _i18n.__)('Categories')
195
+ }, (0, _element.createElement)(_components.FormTokenField, {
196
+ __next40pxDefaultSize: true,
197
+ value: values,
198
+ suggestions: suggestions,
199
+ onChange: onChange,
200
+ onInputChange: debouncedSearch,
201
+ maxSuggestions: MAX_TERMS_SUGGESTIONS,
202
+ label: (0, _i18n.__)('Pattern categories'),
203
+ messages: {
204
+ added: termAddedLabel,
205
+ removed: termRemovedLabel,
206
+ remove: removeTermLabel
207
+ },
208
+ tokenizeOnBlur: true
209
+ }));
210
+ }
211
+ //# sourceMappingURL=pattern-categories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_element","require","_i18n","_components","_data","_coreData","_compose","_notices","_htmlEntities","unescapeString","arg","decodeEntities","exports","unescapeTerm","term","name","EMPTY_ARRAY","MAX_TERMS_SUGGESTIONS","DEFAULT_QUERY","per_page","_fields","context","isSameTermName","termA","termB","toLowerCase","termNamesToIds","names","terms","map","termName","find","id","PatternCategories","post","_taxonomy$labels$sing","slug","values","setValues","useState","search","setSearch","debouncedSearch","useDebounce","taxonomy","hasAssignAction","hasCreateAction","hasResolvedTerms","useSelect","select","_post$_links","_post$_links2","getEntityRecords","getTaxonomy","hasFinishedResolution","coreStore","_taxonomy","_termIds","wp_pattern_category","length","query","include","join","_links","rest_base","termIds","searchResults","useEffect","newValues","suggestions","useMemo","saveEntityRecord","editEntityRecord","useDispatch","createErrorNotice","noticesStore","findOrCreateTerm","newTerm","throwOnError","error","code","data","term_id","onUpdateTerms","newTermIds","onChange","termNames","availableTerms","uniqueTerms","reduce","acc","some","n","push","newTermNames","filter","Promise","all","then","newTerms","newAvailableTerms","concat","catch","message","type","singularName","labels","singular_name","__","termAddedLabel","sprintf","_x","termRemovedLabel","removeTermLabel","createElement","PanelRow","initialOpen","title","FormTokenField","__next40pxDefaultSize","value","onInputChange","maxSuggestions","label","messages","added","removed","remove","tokenizeOnBlur"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/pattern-categories.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { FormTokenField, PanelRow } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDebounce } from '@wordpress/compose';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nexport const unescapeString = ( arg ) => {\n\treturn decodeEntities( arg );\n};\n\n/**\n * Returns a term object with name unescaped.\n *\n * @param {Object} term The term object to unescape.\n *\n * @return {Object} Term object with name property unescaped.\n */\nexport const unescapeTerm = ( term ) => {\n\treturn {\n\t\t...term,\n\t\tname: unescapeString( term.name ),\n\t};\n};\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array<any>}\n */\nconst EMPTY_ARRAY = [];\n\n/**\n * Module constants\n */\nconst MAX_TERMS_SUGGESTIONS = 20;\nconst DEFAULT_QUERY = {\n\tper_page: MAX_TERMS_SUGGESTIONS,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nconst isSameTermName = ( termA, termB ) =>\n\tunescapeString( termA ).toLowerCase() ===\n\tunescapeString( termB ).toLowerCase();\n\nconst termNamesToIds = ( names, terms ) => {\n\treturn names.map(\n\t\t( termName ) =>\n\t\t\tterms.find( ( term ) => isSameTermName( term.name, termName ) ).id\n\t);\n};\n\nexport default function PatternCategories( { post } ) {\n\tconst slug = 'wp_pattern_category';\n\tconst [ values, setValues ] = useState( [] );\n\tconst [ search, setSearch ] = useState( '' );\n\tconst debouncedSearch = useDebounce( setSearch, 500 );\n\n\tconst {\n\t\tterms,\n\t\ttaxonomy,\n\t\thasAssignAction,\n\t\thasCreateAction,\n\t\thasResolvedTerms,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _taxonomy = getTaxonomy( slug );\n\t\t\tconst _termIds =\n\t\t\t\tpost?.wp_pattern_category?.length > 0\n\t\t\t\t\t? post?.wp_pattern_category\n\t\t\t\t\t: EMPTY_ARRAY;\n\t\t\tconst query = {\n\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\tinclude: _termIds?.join( ',' ),\n\t\t\t\tper_page: -1,\n\t\t\t};\n\n\t\t\treturn {\n\t\t\t\thasCreateAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-create-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\thasAssignAction: _taxonomy\n\t\t\t\t\t? post._links?.[\n\t\t\t\t\t\t\t'wp:action-assign-' + _taxonomy.rest_base\n\t\t\t\t\t ] ?? false\n\t\t\t\t\t: false,\n\t\t\t\ttaxonomy: _taxonomy,\n\t\t\t\ttermIds: _termIds,\n\t\t\t\tterms: _termIds?.length\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, query )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t\thasResolvedTerms: hasFinishedResolution( 'getEntityRecords', [\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\tslug,\n\t\t\t\t\tquery,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ slug, post ]\n\t);\n\n\tconst { searchResults } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\n\t\t\treturn {\n\t\t\t\tsearchResults: !! search\n\t\t\t\t\t? getEntityRecords( 'taxonomy', slug, {\n\t\t\t\t\t\t\t...DEFAULT_QUERY,\n\t\t\t\t\t\t\tsearch,\n\t\t\t\t\t } )\n\t\t\t\t\t: EMPTY_ARRAY,\n\t\t\t};\n\t\t},\n\t\t[ search, slug ]\n\t);\n\n\t// Update terms state only after the selectors are resolved.\n\t// We're using this to avoid terms temporarily disappearing on slow networks\n\t// while core data makes REST API requests.\n\tuseEffect( () => {\n\t\tif ( hasResolvedTerms ) {\n\t\t\tconst newValues = ( terms ?? [] ).map( ( term ) =>\n\t\t\t\tunescapeString( term.name )\n\t\t\t);\n\n\t\t\tsetValues( newValues );\n\t\t}\n\t}, [ terms, hasResolvedTerms ] );\n\n\tconst suggestions = useMemo( () => {\n\t\treturn ( searchResults ?? [] ).map( ( term ) =>\n\t\t\tunescapeString( term.name )\n\t\t);\n\t}, [ searchResults ] );\n\n\tconst { saveEntityRecord, editEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tif ( ! hasAssignAction ) {\n\t\treturn null;\n\t}\n\n\tasync function findOrCreateTerm( term ) {\n\t\ttry {\n\t\t\tconst newTerm = await saveEntityRecord( 'taxonomy', slug, term, {\n\t\t\t\tthrowOnError: true,\n\t\t\t} );\n\t\t\treturn unescapeTerm( newTerm );\n\t\t} catch ( error ) {\n\t\t\tif ( error.code !== 'term_exists' ) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tid: error.data.term_id,\n\t\t\t\tname: term.name,\n\t\t\t};\n\t\t}\n\t}\n\n\tfunction onUpdateTerms( newTermIds ) {\n\t\teditEntityRecord( 'postType', 'wp_block', post.id, {\n\t\t\twp_pattern_category: newTermIds,\n\t\t} );\n\t}\n\n\tfunction onChange( termNames ) {\n\t\tconst availableTerms = [\n\t\t\t...( terms ?? [] ),\n\t\t\t...( searchResults ?? [] ),\n\t\t];\n\t\tconst uniqueTerms = termNames.reduce( ( acc, name ) => {\n\t\t\tif (\n\t\t\t\t! acc.some( ( n ) => n.toLowerCase() === name.toLowerCase() )\n\t\t\t) {\n\t\t\t\tacc.push( name );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\t\tconst newTermNames = uniqueTerms.filter(\n\t\t\t( termName ) =>\n\t\t\t\t! availableTerms.find( ( term ) =>\n\t\t\t\t\tisSameTermName( term.name, termName )\n\t\t\t\t)\n\t\t);\n\n\t\t// Optimistically update term values.\n\t\t// The selector will always re-fetch terms later.\n\t\tsetValues( uniqueTerms );\n\n\t\tif ( newTermNames.length === 0 ) {\n\t\t\treturn onUpdateTerms(\n\t\t\t\ttermNamesToIds( uniqueTerms, availableTerms )\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasCreateAction ) {\n\t\t\treturn;\n\t\t}\n\n\t\tPromise.all(\n\t\t\tnewTermNames.map( ( termName ) =>\n\t\t\t\tfindOrCreateTerm( { name: termName } )\n\t\t\t)\n\t\t)\n\t\t\t.then( ( newTerms ) => {\n\t\t\t\tconst newAvailableTerms = availableTerms.concat( newTerms );\n\t\t\t\treturn onUpdateTerms(\n\t\t\t\t\ttermNamesToIds( uniqueTerms, newAvailableTerms )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.catch( ( error ) => {\n\t\t\t\tcreateErrorNotice( error.message, {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t} );\n\t}\n\n\tconst singularName =\n\t\ttaxonomy?.labels?.singular_name ??\n\t\t( slug === 'post_tag' ? __( 'Tag' ) : __( 'Term' ) );\n\tconst termAddedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s added', 'term' ),\n\t\tsingularName\n\t);\n\tconst termRemovedLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( '%s removed', 'term' ),\n\t\tsingularName\n\t);\n\tconst removeTermLabel = sprintf(\n\t\t/* translators: %s: term name. */\n\t\t_x( 'Remove %s', 'term' ),\n\t\tsingularName\n\t);\n\n\treturn (\n\t\t<PanelRow initialOpen={ true } title={ __( 'Categories' ) }>\n\t\t\t<FormTokenField\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvalue={ values }\n\t\t\t\tsuggestions={ suggestions }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tonInputChange={ debouncedSearch }\n\t\t\t\tmaxSuggestions={ MAX_TERMS_SUGGESTIONS }\n\t\t\t\tlabel={ __( 'Pattern categories' ) }\n\t\t\t\tmessages={ {\n\t\t\t\t\tadded: termAddedLabel,\n\t\t\t\t\tremoved: termRemovedLabel,\n\t\t\t\t\tremove: removeTermLabel,\n\t\t\t\t} }\n\t\t\t\ttokenizeOnBlur\n\t\t\t/>\n\t\t</PanelRow>\n\t);\n}\n"],"mappings":"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"}
@@ -43,13 +43,15 @@ function SidebarNavigationScreen({
43
43
  backPath: backPathProp
44
44
  }) {
45
45
  const {
46
- dashboardLink
46
+ dashboardLink,
47
+ dashboardLinkText
47
48
  } = (0, _data.useSelect)(select => {
48
49
  const {
49
50
  getSettings
50
51
  } = (0, _lockUnlock.unlock)(select(_store.store));
51
52
  return {
52
- dashboardLink: getSettings().__experimentalDashboardLink
53
+ dashboardLink: getSettings().__experimentalDashboardLink,
54
+ dashboardLinkText: getSettings().__experimentalDashboardLinkText
53
55
  };
54
56
  }, []);
55
57
  const {
@@ -85,8 +87,8 @@ function SidebarNavigationScreen({
85
87
  showTooltip: false
86
88
  }), isRoot && (0, _element.createElement)(_sidebarButton.default, {
87
89
  icon: icon,
88
- label: !(0, _isPreviewingTheme.isPreviewingTheme)() ? (0, _i18n.__)('Go to the Dashboard') : (0, _i18n.__)('Go back to the theme showcase'),
89
- href: !(0, _isPreviewingTheme.isPreviewingTheme)() ? dashboardLink || 'index.php' : 'themes.php'
90
+ label: dashboardLinkText || (0, _i18n.__)('Go to the Dashboard'),
91
+ href: dashboardLink || 'index.php'
90
92
  }), (0, _element.createElement)(_components.__experimentalHeading, {
91
93
  className: "edit-site-sidebar-navigation-screen__title",
92
94
  color: '#e0e0e0' /* $gray-200 */,
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_icons","_coreData","_data","_router","_store","_lockUnlock","_sidebarButton","_isPreviewingTheme","useLocation","unlock","routerPrivateApis","SidebarNavigationScreen","isRoot","title","actions","meta","content","footer","description","backPath","backPathProp","dashboardLink","useSelect","select","getSettings","editSiteStore","__experimentalDashboardLink","getTheme","coreStore","location","navigator","useNavigator","theme","currentlyPreviewingTheme","icon","isRTL","chevronRight","chevronLeft","_element","createElement","Fragment","__experimentalVStack","className","classnames","spacing","justify","__experimentalHStack","alignment","default","onClick","state","goTo","isBack","goToParent","label","__","showTooltip","isPreviewingTheme","href","__experimentalHeading","color","level","size","sprintf","name","rendered"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { isRTL, __, sprintf } from '@wordpress/i18n';\nimport { chevronRight, chevronLeft } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport SidebarButton from '../sidebar-button';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function SidebarNavigationScreen( {\n\tisRoot,\n\ttitle,\n\tactions,\n\tmeta,\n\tcontent,\n\tfooter,\n\tdescription,\n\tbackPath: backPathProp,\n} ) {\n\tconst { dashboardLink } = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tdashboardLink: getSettings().__experimentalDashboardLink,\n\t\t};\n\t}, [] );\n\tconst { getTheme } = useSelect( coreStore );\n\tconst location = useLocation();\n\tconst navigator = useNavigator();\n\tconst theme = getTheme( currentlyPreviewingTheme() );\n\tconst icon = isRTL() ? chevronRight : chevronLeft;\n\n\treturn (\n\t\t<>\n\t\t\t<VStack\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-sidebar-navigation-screen__main',\n\t\t\t\t\t{\n\t\t\t\t\t\t'has-footer': !! footer,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\tspacing={ 0 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__title-icon\"\n\t\t\t\t>\n\t\t\t\t\t{ ! isRoot && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst backPath =\n\t\t\t\t\t\t\t\t\tbackPathProp ?? location.state?.backPath;\n\t\t\t\t\t\t\t\tif ( backPath ) {\n\t\t\t\t\t\t\t\t\tnavigator.goTo( backPath, {\n\t\t\t\t\t\t\t\t\t\tisBack: true,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnavigator.goToParent();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isRoot && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t! isPreviewingTheme()\n\t\t\t\t\t\t\t\t\t? __( 'Go to the Dashboard' )\n\t\t\t\t\t\t\t\t\t: __( 'Go back to the theme showcase' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t! isPreviewingTheme()\n\t\t\t\t\t\t\t\t\t? dashboardLink || 'index.php'\n\t\t\t\t\t\t\t\t\t: 'themes.php'\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<Heading\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__title\"\n\t\t\t\t\t\tcolor={ '#e0e0e0' /* $gray-200 */ }\n\t\t\t\t\t\tlevel={ 1 }\n\t\t\t\t\t\tsize={ 20 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! isPreviewingTheme()\n\t\t\t\t\t\t\t? title\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t'Previewing %1$s: %2$s',\n\t\t\t\t\t\t\t\t\ttheme?.name?.rendered,\n\t\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t ) }\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ actions && (\n\t\t\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen__actions\">\n\t\t\t\t\t\t\t{ actions }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t\t{ meta && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen__meta\">\n\t\t\t\t\t\t\t{ meta }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen__content\">\n\t\t\t\t\t{ description && (\n\t\t\t\t\t\t<p className=\"edit-site-sidebar-navigation-screen__description\">\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t\t{ content }\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t\t{ footer && (\n\t\t\t\t<footer className=\"edit-site-sidebar-navigation-screen__footer\">\n\t\t\t\t\t{ footer }\n\t\t\t\t</footer>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_components","_i18n","_icons","_coreData","_data","_router","_store","_lockUnlock","_sidebarButton","_isPreviewingTheme","useLocation","unlock","routerPrivateApis","SidebarNavigationScreen","isRoot","title","actions","meta","content","footer","description","backPath","backPathProp","dashboardLink","dashboardLinkText","useSelect","select","getSettings","editSiteStore","__experimentalDashboardLink","__experimentalDashboardLinkText","getTheme","coreStore","location","navigator","useNavigator","theme","currentlyPreviewingTheme","icon","isRTL","chevronRight","chevronLeft","_element","createElement","Fragment","__experimentalVStack","className","classnames","spacing","justify","__experimentalHStack","alignment","default","onClick","state","goTo","isBack","goToParent","label","__","showTooltip","href","__experimentalHeading","color","level","size","isPreviewingTheme","sprintf","name","rendered"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { isRTL, __, sprintf } from '@wordpress/i18n';\nimport { chevronRight, chevronLeft } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport SidebarButton from '../sidebar-button';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function SidebarNavigationScreen( {\n\tisRoot,\n\ttitle,\n\tactions,\n\tmeta,\n\tcontent,\n\tfooter,\n\tdescription,\n\tbackPath: backPathProp,\n} ) {\n\tconst { dashboardLink, dashboardLinkText } = useSelect( ( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\treturn {\n\t\t\tdashboardLink: getSettings().__experimentalDashboardLink,\n\t\t\tdashboardLinkText: getSettings().__experimentalDashboardLinkText,\n\t\t};\n\t}, [] );\n\tconst { getTheme } = useSelect( coreStore );\n\tconst location = useLocation();\n\tconst navigator = useNavigator();\n\tconst theme = getTheme( currentlyPreviewingTheme() );\n\tconst icon = isRTL() ? chevronRight : chevronLeft;\n\n\treturn (\n\t\t<>\n\t\t\t<VStack\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'edit-site-sidebar-navigation-screen__main',\n\t\t\t\t\t{\n\t\t\t\t\t\t'has-footer': !! footer,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\tspacing={ 0 }\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\talignment=\"flex-start\"\n\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__title-icon\"\n\t\t\t\t>\n\t\t\t\t\t{ ! isRoot && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst backPath =\n\t\t\t\t\t\t\t\t\tbackPathProp ?? location.state?.backPath;\n\t\t\t\t\t\t\t\tif ( backPath ) {\n\t\t\t\t\t\t\t\t\tnavigator.goTo( backPath, {\n\t\t\t\t\t\t\t\t\t\tisBack: true,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnavigator.goToParent();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isRoot && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tdashboardLinkText || __( 'Go to the Dashboard' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thref={ dashboardLink || 'index.php' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<Heading\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__title\"\n\t\t\t\t\t\tcolor={ '#e0e0e0' /* $gray-200 */ }\n\t\t\t\t\t\tlevel={ 1 }\n\t\t\t\t\t\tsize={ 20 }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ! isPreviewingTheme()\n\t\t\t\t\t\t\t? title\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t'Previewing %1$s: %2$s',\n\t\t\t\t\t\t\t\t\ttheme?.name?.rendered,\n\t\t\t\t\t\t\t\t\ttitle\n\t\t\t\t\t\t\t ) }\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ actions && (\n\t\t\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen__actions\">\n\t\t\t\t\t\t\t{ actions }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t</HStack>\n\t\t\t\t{ meta && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen__meta\">\n\t\t\t\t\t\t\t{ meta }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t<div className=\"edit-site-sidebar-navigation-screen__content\">\n\t\t\t\t\t{ description && (\n\t\t\t\t\t\t<p className=\"edit-site-sidebar-navigation-screen__description\">\n\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t\t{ content }\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t\t{ footer && (\n\t\t\t\t<footer className=\"edit-site-sidebar-navigation-screen__footer\">\n\t\t\t\t\t{ footer }\n\t\t\t\t</footer>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}