@wordpress/edit-site 6.31.1-next.f56bd8138.0 → 6.32.1-next.47f435fc9.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 (994) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-pattern/index.js +153 -141
  3. package/build/components/add-new-pattern/index.js.map +7 -1
  4. package/build/components/add-new-post/index.js +114 -89
  5. package/build/components/add-new-post/index.js.map +7 -1
  6. package/build/components/add-new-template/add-custom-generic-template-modal-content.js +80 -60
  7. package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +7 -1
  8. package/build/components/add-new-template/add-custom-template-modal-content.js +284 -207
  9. package/build/components/add-new-template/add-custom-template-modal-content.js.map +7 -1
  10. package/build/components/add-new-template/index.js +309 -248
  11. package/build/components/add-new-template/index.js.map +7 -1
  12. package/build/components/add-new-template/utils.js +459 -446
  13. package/build/components/add-new-template/utils.js.map +7 -1
  14. package/build/components/app/index.js +72 -63
  15. package/build/components/app/index.js.map +7 -1
  16. package/build/components/block-editor/use-editor-iframe-props.js +63 -66
  17. package/build/components/block-editor/use-editor-iframe-props.js.map +7 -1
  18. package/build/components/block-editor/use-navigate-to-entity-record.js +34 -22
  19. package/build/components/block-editor/use-navigate-to-entity-record.js.map +7 -1
  20. package/build/components/block-editor/use-site-editor-settings.js +64 -51
  21. package/build/components/block-editor/use-site-editor-settings.js.map +7 -1
  22. package/build/components/canvas-loader/index.js +41 -56
  23. package/build/components/canvas-loader/index.js.map +7 -1
  24. package/build/components/dataviews-actions/index.js +96 -83
  25. package/build/components/dataviews-actions/index.js.map +7 -1
  26. package/build/components/editor/index.js +288 -235
  27. package/build/components/editor/index.js.map +7 -1
  28. package/build/components/editor/site-preview.js +55 -42
  29. package/build/components/editor/site-preview.js.map +7 -1
  30. package/build/components/editor/use-adapt-editor-to-canvas.js +49 -31
  31. package/build/components/editor/use-adapt-editor-to-canvas.js.map +7 -1
  32. package/build/components/editor/use-editor-title.js +79 -61
  33. package/build/components/editor/use-editor-title.js.map +7 -1
  34. package/build/components/editor/use-resolve-edited-entity.js +112 -140
  35. package/build/components/editor/use-resolve-edited-entity.js.map +7 -1
  36. package/build/components/editor-canvas-container/index.js +101 -91
  37. package/build/components/editor-canvas-container/index.js.map +7 -1
  38. package/build/components/global-styles/background-panel.js +46 -39
  39. package/build/components/global-styles/background-panel.js.map +7 -1
  40. package/build/components/global-styles/block-preview-panel.js +58 -52
  41. package/build/components/global-styles/block-preview-panel.js.map +7 -1
  42. package/build/components/global-styles/color-indicator-wrapper.js +47 -26
  43. package/build/components/global-styles/color-indicator-wrapper.js.map +7 -1
  44. package/build/components/global-styles/color-palette-panel.js +130 -81
  45. package/build/components/global-styles/color-palette-panel.js.map +7 -1
  46. package/build/components/global-styles/confirm-reset-shadow-dialog.js +38 -22
  47. package/build/components/global-styles/confirm-reset-shadow-dialog.js.map +7 -1
  48. package/build/components/global-styles/dimensions-panel.js +46 -41
  49. package/build/components/global-styles/dimensions-panel.js.map +7 -1
  50. package/build/components/global-styles/font-families.js +106 -102
  51. package/build/components/global-styles/font-families.js.map +7 -1
  52. package/build/components/global-styles/font-family-item.js +41 -43
  53. package/build/components/global-styles/font-family-item.js.map +7 -1
  54. package/build/components/global-styles/font-library-modal/collection-font-variant.js +55 -39
  55. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +7 -1
  56. package/build/components/global-styles/font-library-modal/context.js +228 -243
  57. package/build/components/global-styles/font-library-modal/context.js.map +7 -1
  58. package/build/components/global-styles/font-library-modal/font-card.js +70 -59
  59. package/build/components/global-styles/font-library-modal/font-card.js.map +7 -1
  60. package/build/components/global-styles/font-library-modal/font-collection.js +407 -321
  61. package/build/components/global-styles/font-library-modal/font-collection.js.map +7 -1
  62. package/build/components/global-styles/font-library-modal/font-demo.js +54 -50
  63. package/build/components/global-styles/font-library-modal/font-demo.js.map +7 -1
  64. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +52 -44
  65. package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +7 -1
  66. package/build/components/global-styles/font-library-modal/index.js +90 -87
  67. package/build/components/global-styles/font-library-modal/index.js.map +7 -1
  68. package/build/components/global-styles/font-library-modal/installed-fonts.js +369 -255
  69. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +7 -1
  70. package/build/components/global-styles/font-library-modal/library-font-details.js +60 -42
  71. package/build/components/global-styles/font-library-modal/library-font-details.js.map +7 -1
  72. package/build/components/global-styles/font-library-modal/library-font-variant.js +64 -49
  73. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +7 -1
  74. package/build/components/global-styles/font-library-modal/resolvers.js +64 -31
  75. package/build/components/global-styles/font-library-modal/resolvers.js.map +7 -1
  76. package/build/components/global-styles/font-library-modal/upload-fonts.js +133 -145
  77. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +7 -1
  78. package/build/components/global-styles/font-library-modal/utils/constants.js +45 -24
  79. package/build/components/global-styles/font-library-modal/utils/constants.js.map +7 -1
  80. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +30 -27
  81. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +7 -1
  82. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +41 -13
  83. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +7 -1
  84. package/build/components/global-styles/font-library-modal/utils/index.js +127 -161
  85. package/build/components/global-styles/font-library-modal/utils/index.js.map +7 -1
  86. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +25 -18
  87. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +7 -1
  88. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +55 -74
  89. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +7 -1
  90. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js +32 -16
  91. package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +7 -1
  92. package/build/components/global-styles/font-library-modal/utils/toggleFont.js +43 -72
  93. package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +7 -1
  94. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +44 -23
  95. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +7 -1
  96. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +38 -22
  97. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +7 -1
  98. package/build/components/global-styles/font-sizes/font-size-preview.js +42 -35
  99. package/build/components/global-styles/font-sizes/font-size-preview.js.map +7 -1
  100. package/build/components/global-styles/font-sizes/font-size.js +207 -170
  101. package/build/components/global-styles/font-sizes/font-size.js.map +7 -1
  102. package/build/components/global-styles/font-sizes/font-sizes-count.js +46 -45
  103. package/build/components/global-styles/font-sizes/font-sizes-count.js.map +7 -1
  104. package/build/components/global-styles/font-sizes/font-sizes.js +199 -136
  105. package/build/components/global-styles/font-sizes/font-sizes.js.map +7 -1
  106. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js +81 -58
  107. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js.map +7 -1
  108. package/build/components/global-styles/gradients-palette-panel.js +140 -85
  109. package/build/components/global-styles/gradients-palette-panel.js.map +7 -1
  110. package/build/components/global-styles/header.js +51 -48
  111. package/build/components/global-styles/header.js.map +7 -1
  112. package/build/components/global-styles/highlighted-colors.js +48 -40
  113. package/build/components/global-styles/highlighted-colors.js.map +7 -1
  114. package/build/components/global-styles/hooks.js +89 -68
  115. package/build/components/global-styles/hooks.js.map +7 -1
  116. package/build/components/global-styles/icon-with-current-color.js +50 -25
  117. package/build/components/global-styles/icon-with-current-color.js.map +7 -1
  118. package/build/components/global-styles/index.js +36 -11
  119. package/build/components/global-styles/index.js.map +7 -1
  120. package/build/components/global-styles/navigation-button.js +41 -42
  121. package/build/components/global-styles/navigation-button.js.map +7 -1
  122. package/build/components/global-styles/palette.js +82 -73
  123. package/build/components/global-styles/palette.js.map +7 -1
  124. package/build/components/global-styles/preset-colors.js +36 -24
  125. package/build/components/global-styles/preset-colors.js.map +7 -1
  126. package/build/components/global-styles/preview-colors.js +68 -46
  127. package/build/components/global-styles/preview-colors.js.map +7 -1
  128. package/build/components/global-styles/preview-styles.js +182 -136
  129. package/build/components/global-styles/preview-styles.js.map +7 -1
  130. package/build/components/global-styles/preview-typography.js +65 -44
  131. package/build/components/global-styles/preview-typography.js.map +7 -1
  132. package/build/components/global-styles/preview-wrapper.js +70 -85
  133. package/build/components/global-styles/preview-wrapper.js.map +7 -1
  134. package/build/components/global-styles/root-menu.js +53 -52
  135. package/build/components/global-styles/root-menu.js.map +7 -1
  136. package/build/components/global-styles/screen-background.js +54 -35
  137. package/build/components/global-styles/screen-background.js.map +7 -1
  138. package/build/components/global-styles/screen-block-list.js +129 -118
  139. package/build/components/global-styles/screen-block-list.js.map +7 -1
  140. package/build/components/global-styles/screen-block.js +185 -182
  141. package/build/components/global-styles/screen-block.js.map +7 -1
  142. package/build/components/global-styles/screen-color-palette.js +61 -56
  143. package/build/components/global-styles/screen-color-palette.js.map +7 -1
  144. package/build/components/global-styles/screen-colors.js +64 -40
  145. package/build/components/global-styles/screen-colors.js.map +7 -1
  146. package/build/components/global-styles/screen-css.js +80 -50
  147. package/build/components/global-styles/screen-css.js.map +7 -1
  148. package/build/components/global-styles/screen-layout.js +45 -32
  149. package/build/components/global-styles/screen-layout.js.map +7 -1
  150. package/build/components/global-styles/screen-revisions/index.js +144 -116
  151. package/build/components/global-styles/screen-revisions/index.js.map +7 -1
  152. package/build/components/global-styles/screen-revisions/revisions-buttons.js +165 -166
  153. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +7 -1
  154. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +93 -81
  155. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +7 -1
  156. package/build/components/global-styles/screen-root.js +93 -84
  157. package/build/components/global-styles/screen-root.js.map +7 -1
  158. package/build/components/global-styles/screen-shadows.js +43 -16
  159. package/build/components/global-styles/screen-shadows.js.map +7 -1
  160. package/build/components/global-styles/screen-style-variations.js +64 -44
  161. package/build/components/global-styles/screen-style-variations.js.map +7 -1
  162. package/build/components/global-styles/screen-typography-element.js +146 -93
  163. package/build/components/global-styles/screen-typography-element.js.map +7 -1
  164. package/build/components/global-styles/screen-typography.js +64 -40
  165. package/build/components/global-styles/screen-typography.js.map +7 -1
  166. package/build/components/global-styles/shadow-utils.js +75 -180
  167. package/build/components/global-styles/shadow-utils.js.map +7 -1
  168. package/build/components/global-styles/shadows-edit-panel.js +433 -358
  169. package/build/components/global-styles/shadows-edit-panel.js.map +7 -1
  170. package/build/components/global-styles/shadows-panel.js +178 -131
  171. package/build/components/global-styles/shadows-panel.js.map +7 -1
  172. package/build/components/global-styles/size-control/index.js +66 -76
  173. package/build/components/global-styles/size-control/index.js.map +7 -1
  174. package/build/components/global-styles/style-variations-container.js +114 -102
  175. package/build/components/global-styles/style-variations-container.js.map +7 -1
  176. package/build/components/global-styles/subtitle.js +34 -21
  177. package/build/components/global-styles/subtitle.js.map +7 -1
  178. package/build/components/global-styles/typeset.js +73 -75
  179. package/build/components/global-styles/typeset.js.map +7 -1
  180. package/build/components/global-styles/typography-elements.js +109 -86
  181. package/build/components/global-styles/typography-elements.js.map +7 -1
  182. package/build/components/global-styles/typography-example.js +66 -65
  183. package/build/components/global-styles/typography-example.js.map +7 -1
  184. package/build/components/global-styles/typography-panel.js +57 -39
  185. package/build/components/global-styles/typography-panel.js.map +7 -1
  186. package/build/components/global-styles/typography-preview.js +73 -53
  187. package/build/components/global-styles/typography-preview.js.map +7 -1
  188. package/build/components/global-styles/ui.js +282 -314
  189. package/build/components/global-styles/ui.js.map +7 -1
  190. package/build/components/global-styles/utils.js +45 -31
  191. package/build/components/global-styles/utils.js.map +7 -1
  192. package/build/components/global-styles/variations/variation.js +90 -74
  193. package/build/components/global-styles/variations/variation.js.map +7 -1
  194. package/build/components/global-styles/variations/variations-color.js +52 -41
  195. package/build/components/global-styles/variations/variations-color.js.map +7 -1
  196. package/build/components/global-styles/variations/variations-panel.js +61 -51
  197. package/build/components/global-styles/variations/variations-panel.js.map +7 -1
  198. package/build/components/global-styles/variations/variations-typography.js +69 -49
  199. package/build/components/global-styles/variations/variations-typography.js.map +7 -1
  200. package/build/components/global-styles-renderer/index.js +39 -33
  201. package/build/components/global-styles-renderer/index.js.map +7 -1
  202. package/build/components/global-styles-sidebar/default-sidebar.js +53 -40
  203. package/build/components/global-styles-sidebar/default-sidebar.js.map +7 -1
  204. package/build/components/global-styles-sidebar/index.js +164 -141
  205. package/build/components/global-styles-sidebar/index.js.map +7 -1
  206. package/build/components/layout/animation.js +53 -78
  207. package/build/components/layout/animation.js.map +7 -1
  208. package/build/components/layout/hooks.js +40 -35
  209. package/build/components/layout/hooks.js.map +7 -1
  210. package/build/components/layout/index.js +220 -199
  211. package/build/components/layout/index.js.map +7 -1
  212. package/build/components/media/index.js +31 -26
  213. package/build/components/media/index.js.map +7 -1
  214. package/build/components/more-menu/index.js +45 -28
  215. package/build/components/more-menu/index.js.map +7 -1
  216. package/build/components/more-menu/site-export.js +69 -44
  217. package/build/components/more-menu/site-export.js.map +7 -1
  218. package/build/components/more-menu/welcome-guide-menu-item.js +29 -21
  219. package/build/components/more-menu/welcome-guide-menu-item.js.map +7 -1
  220. package/build/components/page-patterns/actions.js +82 -0
  221. package/build/components/page-patterns/actions.js.map +7 -0
  222. package/build/components/page-patterns/delete-category-menu-item.js +94 -82
  223. package/build/components/page-patterns/delete-category-menu-item.js.map +7 -1
  224. package/build/components/page-patterns/fields.js +135 -123
  225. package/build/components/page-patterns/fields.js.map +7 -1
  226. package/build/components/page-patterns/index.js +182 -148
  227. package/build/components/page-patterns/index.js.map +7 -1
  228. package/build/components/page-patterns/rename-category-menu-item.js +67 -62
  229. package/build/components/page-patterns/rename-category-menu-item.js.map +7 -1
  230. package/build/components/page-patterns/search-items.js +65 -89
  231. package/build/components/page-patterns/search-items.js.map +7 -1
  232. package/build/components/page-patterns/use-pattern-settings.js +45 -35
  233. package/build/components/page-patterns/use-pattern-settings.js.map +7 -1
  234. package/build/components/page-patterns/use-patterns.js +266 -200
  235. package/build/components/page-patterns/use-patterns.js.map +7 -1
  236. package/build/components/page-patterns/utils.js +27 -7
  237. package/build/components/page-patterns/utils.js.map +7 -1
  238. package/build/components/page-templates/fields.js +165 -159
  239. package/build/components/page-templates/fields.js.map +7 -1
  240. package/build/components/page-templates/hooks.js +66 -64
  241. package/build/components/page-templates/hooks.js.map +7 -1
  242. package/build/components/page-templates/index.js +211 -207
  243. package/build/components/page-templates/index.js.map +7 -1
  244. package/build/components/page-templates/view-utils.js +67 -0
  245. package/build/components/page-templates/view-utils.js.map +7 -0
  246. package/build/components/pagination/index.js +119 -82
  247. package/build/components/pagination/index.js.map +7 -1
  248. package/build/components/plugin-template-setting-panel/index.js +49 -56
  249. package/build/components/plugin-template-setting-panel/index.js.map +7 -1
  250. package/build/components/post-edit/index.js +171 -144
  251. package/build/components/post-edit/index.js.map +7 -1
  252. package/build/components/post-list/index.js +230 -301
  253. package/build/components/post-list/index.js.map +7 -1
  254. package/build/components/post-list/view-utils.js +167 -0
  255. package/build/components/post-list/view-utils.js.map +7 -0
  256. package/build/components/posts-app/index.js +44 -32
  257. package/build/components/posts-app/index.js.map +7 -1
  258. package/build/components/posts-app-routes/index.js +36 -25
  259. package/build/components/posts-app-routes/index.js.map +7 -1
  260. package/build/components/posts-app-routes/post-item.js +54 -35
  261. package/build/components/posts-app-routes/post-item.js.map +7 -1
  262. package/build/components/posts-app-routes/posts.js +91 -76
  263. package/build/components/posts-app-routes/posts.js.map +7 -1
  264. package/build/components/resizable-frame/index.js +200 -224
  265. package/build/components/resizable-frame/index.js.map +7 -1
  266. package/build/components/revisions/index.js +102 -71
  267. package/build/components/revisions/index.js.map +7 -1
  268. package/build/components/routes/use-title.js +45 -35
  269. package/build/components/routes/use-title.js.map +7 -1
  270. package/build/components/save-button/index.js +113 -111
  271. package/build/components/save-button/index.js.map +7 -1
  272. package/build/components/save-hub/index.js +52 -40
  273. package/build/components/save-hub/index.js.map +7 -1
  274. package/build/components/save-keyboard-shortcut/index.js +46 -52
  275. package/build/components/save-keyboard-shortcut/index.js.map +7 -1
  276. package/build/components/save-panel/index.js +155 -136
  277. package/build/components/save-panel/index.js.map +7 -1
  278. package/build/components/sidebar/index.js +81 -79
  279. package/build/components/sidebar/index.js.map +7 -1
  280. package/build/components/sidebar-button/index.js +43 -22
  281. package/build/components/sidebar-button/index.js.map +7 -1
  282. package/build/components/sidebar-dataviews/dataview-item.js +68 -55
  283. package/build/components/sidebar-dataviews/dataview-item.js.map +7 -1
  284. package/build/components/sidebar-dataviews/index.js +68 -54
  285. package/build/components/sidebar-dataviews/index.js.map +7 -1
  286. package/build/components/sidebar-global-styles-wrapper/index.js +125 -111
  287. package/build/components/sidebar-global-styles-wrapper/index.js.map +7 -1
  288. package/build/components/sidebar-navigation-item/index.js +79 -62
  289. package/build/components/sidebar-navigation-item/index.js.map +7 -1
  290. package/build/components/sidebar-navigation-screen/index.js +129 -104
  291. package/build/components/sidebar-navigation-screen/index.js.map +7 -1
  292. package/build/components/sidebar-navigation-screen-details-footer/index.js +63 -53
  293. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +7 -1
  294. package/build/components/sidebar-navigation-screen-global-styles/content.js +50 -33
  295. package/build/components/sidebar-navigation-screen-global-styles/content.js.map +7 -1
  296. package/build/components/sidebar-navigation-screen-global-styles/index.js +94 -81
  297. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +7 -1
  298. package/build/components/sidebar-navigation-screen-main/index.js +141 -90
  299. package/build/components/sidebar-navigation-screen-main/index.js.map +7 -1
  300. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +40 -29
  301. package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +7 -1
  302. package/build/components/sidebar-navigation-screen-navigation-menu/index.js +124 -91
  303. package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +7 -1
  304. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +116 -83
  305. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +7 -1
  306. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +57 -48
  307. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +7 -1
  308. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +80 -66
  309. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +7 -1
  310. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +64 -38
  311. package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +7 -1
  312. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +125 -96
  313. package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +7 -1
  314. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +33 -19
  315. package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +7 -1
  316. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +30 -16
  317. package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +7 -1
  318. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +119 -105
  319. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +7 -1
  320. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +130 -121
  321. package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +7 -1
  322. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +106 -88
  323. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +7 -1
  324. package/build/components/sidebar-navigation-screen-patterns/category-item.js +44 -21
  325. package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +7 -1
  326. package/build/components/sidebar-navigation-screen-patterns/index.js +129 -106
  327. package/build/components/sidebar-navigation-screen-patterns/index.js.map +7 -1
  328. package/build/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js +36 -25
  329. package/build/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +7 -1
  330. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +81 -70
  331. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +7 -1
  332. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +42 -32
  333. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +7 -1
  334. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +41 -28
  335. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +7 -1
  336. package/build/components/sidebar-navigation-screen-templates-browse/content.js +95 -76
  337. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +7 -1
  338. package/build/components/sidebar-navigation-screen-templates-browse/index.js +48 -27
  339. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +7 -1
  340. package/build/components/sidebar-navigation-screen-unsupported/index.js +28 -20
  341. package/build/components/sidebar-navigation-screen-unsupported/index.js.map +7 -1
  342. package/build/components/site-editor-routes/home.js +50 -32
  343. package/build/components/site-editor-routes/home.js.map +7 -1
  344. package/build/components/site-editor-routes/index.js +62 -36
  345. package/build/components/site-editor-routes/index.js.map +7 -1
  346. package/build/components/site-editor-routes/navigation-item.js +55 -49
  347. package/build/components/site-editor-routes/navigation-item.js.map +7 -1
  348. package/build/components/site-editor-routes/navigation.js +55 -49
  349. package/build/components/site-editor-routes/navigation.js.map +7 -1
  350. package/build/components/site-editor-routes/notfound.js +54 -34
  351. package/build/components/site-editor-routes/notfound.js.map +7 -1
  352. package/build/components/site-editor-routes/page-item.js +58 -41
  353. package/build/components/site-editor-routes/page-item.js.map +7 -1
  354. package/build/components/site-editor-routes/pages.js +96 -86
  355. package/build/components/site-editor-routes/pages.js.map +7 -1
  356. package/build/components/site-editor-routes/pattern-item.js +48 -26
  357. package/build/components/site-editor-routes/pattern-item.js.map +7 -1
  358. package/build/components/site-editor-routes/patterns.js +51 -36
  359. package/build/components/site-editor-routes/patterns.js.map +7 -1
  360. package/build/components/site-editor-routes/stylebook.js +60 -43
  361. package/build/components/site-editor-routes/stylebook.js.map +7 -1
  362. package/build/components/site-editor-routes/styles.js +58 -46
  363. package/build/components/site-editor-routes/styles.js.map +7 -1
  364. package/build/components/site-editor-routes/template-item.js +54 -34
  365. package/build/components/site-editor-routes/template-item.js.map +7 -1
  366. package/build/components/site-editor-routes/template-part-item.js +45 -21
  367. package/build/components/site-editor-routes/template-part-item.js.map +7 -1
  368. package/build/components/site-editor-routes/templates.js +69 -44
  369. package/build/components/site-editor-routes/templates.js.map +7 -1
  370. package/build/components/site-editor-routes/utils.js +27 -13
  371. package/build/components/site-editor-routes/utils.js.map +7 -1
  372. package/build/components/site-hub/index.js +233 -222
  373. package/build/components/site-hub/index.js.map +7 -1
  374. package/build/components/site-icon/index.js +61 -49
  375. package/build/components/site-icon/index.js.map +7 -1
  376. package/build/components/style-book/categories.js +61 -52
  377. package/build/components/style-book/categories.js.map +7 -1
  378. package/build/components/style-book/color-examples.js +54 -40
  379. package/build/components/style-book/color-examples.js.map +7 -1
  380. package/build/components/style-book/constants.js +218 -144
  381. package/build/components/style-book/constants.js.map +7 -1
  382. package/build/components/style-book/duotone-examples.js +54 -40
  383. package/build/components/style-book/duotone-examples.js.map +7 -1
  384. package/build/components/style-book/examples.js +145 -120
  385. package/build/components/style-book/examples.js.map +7 -1
  386. package/build/components/style-book/index.js +454 -409
  387. package/build/components/style-book/index.js.map +7 -1
  388. package/build/components/style-book/types.js +16 -5
  389. package/build/components/style-book/types.js.map +7 -1
  390. package/build/components/welcome-guide/editor.js +87 -60
  391. package/build/components/welcome-guide/editor.js.map +7 -1
  392. package/build/components/welcome-guide/image.js +34 -22
  393. package/build/components/welcome-guide/image.js.map +7 -1
  394. package/build/components/welcome-guide/index.js +44 -21
  395. package/build/components/welcome-guide/index.js.map +7 -1
  396. package/build/components/welcome-guide/page.js +76 -52
  397. package/build/components/welcome-guide/page.js.map +7 -1
  398. package/build/components/welcome-guide/styles.js +135 -102
  399. package/build/components/welcome-guide/styles.js.map +7 -1
  400. package/build/components/welcome-guide/template.js +71 -59
  401. package/build/components/welcome-guide/template.js.map +7 -1
  402. package/build/deprecated.js +56 -46
  403. package/build/deprecated.js.map +7 -1
  404. package/build/hooks/commands/use-common-commands.js +117 -119
  405. package/build/hooks/commands/use-common-commands.js.map +7 -1
  406. package/build/hooks/commands/use-set-command-context.js +40 -50
  407. package/build/hooks/commands/use-set-command-context.js.map +7 -1
  408. package/build/hooks/index.js +2 -3
  409. package/build/hooks/index.js.map +7 -1
  410. package/build/hooks/push-changes-to-global-styles/index.js +236 -251
  411. package/build/hooks/push-changes-to-global-styles/index.js.map +7 -1
  412. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +78 -111
  413. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +7 -1
  414. package/build/index.js +87 -112
  415. package/build/index.js.map +7 -1
  416. package/build/lock-unlock.js +31 -14
  417. package/build/lock-unlock.js.map +7 -1
  418. package/build/posts.js +67 -63
  419. package/build/posts.js.map +7 -1
  420. package/build/store/actions.js +199 -365
  421. package/build/store/actions.js.map +7 -1
  422. package/build/store/constants.js +27 -11
  423. package/build/store/constants.js.map +7 -1
  424. package/build/store/index.js +52 -30
  425. package/build/store/index.js.map +7 -1
  426. package/build/store/private-actions.js +34 -19
  427. package/build/store/private-actions.js.map +7 -1
  428. package/build/store/private-selectors.js +28 -13
  429. package/build/store/private-selectors.js.map +7 -1
  430. package/build/store/reducer.js +42 -57
  431. package/build/store/reducer.js.map +7 -1
  432. package/build/store/selectors.js +205 -301
  433. package/build/store/selectors.js.map +7 -1
  434. package/build/utils/constants.js +94 -53
  435. package/build/utils/constants.js.map +7 -1
  436. package/build/utils/get-filtered-template-parts.js +36 -42
  437. package/build/utils/get-filtered-template-parts.js.map +7 -1
  438. package/build/utils/is-previewing-theme.js +31 -13
  439. package/build/utils/is-previewing-theme.js.map +7 -1
  440. package/build/utils/is-template-removable.js +24 -17
  441. package/build/utils/is-template-removable.js.map +7 -1
  442. package/build/utils/is-template-revertable.js +24 -19
  443. package/build/utils/is-template-revertable.js.map +7 -1
  444. package/build/utils/set-nested-value.js +24 -25
  445. package/build/utils/set-nested-value.js.map +7 -1
  446. package/build/utils/template-part-create.js +1 -1
  447. package/build/utils/template-part-create.js.map +7 -1
  448. package/build/utils/use-activate-theme.js +40 -45
  449. package/build/utils/use-activate-theme.js.map +7 -1
  450. package/build/utils/use-actual-current-theme.js +47 -25
  451. package/build/utils/use-actual-current-theme.js.map +7 -1
  452. package/build-module/components/add-new-pattern/index.js +133 -127
  453. package/build-module/components/add-new-pattern/index.js.map +7 -1
  454. package/build-module/components/add-new-post/index.js +100 -82
  455. package/build-module/components/add-new-post/index.js.map +7 -1
  456. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js +63 -51
  457. package/build-module/components/add-new-template/add-custom-generic-template-modal-content.js.map +7 -1
  458. package/build-module/components/add-new-template/add-custom-template-modal-content.js +269 -196
  459. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +7 -1
  460. package/build-module/components/add-new-template/index.js +289 -219
  461. package/build-module/components/add-new-template/index.js.map +7 -1
  462. package/build-module/components/add-new-template/utils.js +430 -432
  463. package/build-module/components/add-new-template/utils.js.map +7 -1
  464. package/build-module/components/app/index.js +41 -51
  465. package/build-module/components/app/index.js.map +7 -1
  466. package/build-module/components/block-editor/use-editor-iframe-props.js +33 -58
  467. package/build-module/components/block-editor/use-editor-iframe-props.js.map +7 -1
  468. package/build-module/components/block-editor/use-navigate-to-entity-record.js +17 -18
  469. package/build-module/components/block-editor/use-navigate-to-entity-record.js.map +7 -1
  470. package/build-module/components/block-editor/use-site-editor-settings.js +28 -41
  471. package/build-module/components/block-editor/use-site-editor-settings.js.map +7 -1
  472. package/build-module/components/canvas-loader/index.js +25 -50
  473. package/build-module/components/canvas-loader/index.js.map +7 -1
  474. package/build-module/components/dataviews-actions/index.js +75 -78
  475. package/build-module/components/dataviews-actions/index.js.map +7 -1
  476. package/build-module/components/editor/index.js +261 -220
  477. package/build-module/components/editor/index.js.map +7 -1
  478. package/build-module/components/editor/site-preview.js +38 -38
  479. package/build-module/components/editor/site-preview.js.map +7 -1
  480. package/build-module/components/editor/use-adapt-editor-to-canvas.js +25 -24
  481. package/build-module/components/editor/use-adapt-editor-to-canvas.js.map +7 -1
  482. package/build-module/components/editor/use-editor-title.js +49 -53
  483. package/build-module/components/editor/use-editor-title.js.map +7 -1
  484. package/build-module/components/editor/use-resolve-edited-entity.js +89 -129
  485. package/build-module/components/editor/use-resolve-edited-entity.js.map +7 -1
  486. package/build-module/components/editor-canvas-container/index.js +79 -80
  487. package/build-module/components/editor-canvas-container/index.js.map +7 -1
  488. package/build-module/components/global-styles/background-panel.js +25 -35
  489. package/build-module/components/global-styles/background-panel.js.map +7 -1
  490. package/build-module/components/global-styles/block-preview-panel.js +36 -43
  491. package/build-module/components/global-styles/block-preview-panel.js.map +7 -1
  492. package/build-module/components/global-styles/color-indicator-wrapper.js +19 -20
  493. package/build-module/components/global-styles/color-indicator-wrapper.js.map +7 -1
  494. package/build-module/components/global-styles/color-palette-panel.js +105 -74
  495. package/build-module/components/global-styles/color-palette-panel.js.map +7 -1
  496. package/build-module/components/global-styles/confirm-reset-shadow-dialog.js +20 -17
  497. package/build-module/components/global-styles/confirm-reset-shadow-dialog.js.map +7 -1
  498. package/build-module/components/global-styles/dimensions-panel.js +26 -34
  499. package/build-module/components/global-styles/dimensions-panel.js.map +7 -1
  500. package/build-module/components/global-styles/font-families.js +86 -93
  501. package/build-module/components/global-styles/font-families.js.map +7 -1
  502. package/build-module/components/global-styles/font-family-item.js +26 -37
  503. package/build-module/components/global-styles/font-family-item.js.map +7 -1
  504. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +26 -32
  505. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +7 -1
  506. package/build-module/components/global-styles/font-library-modal/context.js +203 -224
  507. package/build-module/components/global-styles/font-library-modal/context.js.map +7 -1
  508. package/build-module/components/global-styles/font-library-modal/font-card.js +48 -52
  509. package/build-module/components/global-styles/font-library-modal/font-card.js.map +7 -1
  510. package/build-module/components/global-styles/font-library-modal/font-collection.js +397 -302
  511. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +7 -1
  512. package/build-module/components/global-styles/font-library-modal/font-demo.js +32 -38
  513. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +7 -1
  514. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +41 -39
  515. package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +7 -1
  516. package/build-module/components/global-styles/font-library-modal/index.js +65 -81
  517. package/build-module/components/global-styles/font-library-modal/index.js.map +7 -1
  518. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +354 -243
  519. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +7 -1
  520. package/build-module/components/global-styles/font-library-modal/library-font-details.js +35 -36
  521. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +7 -1
  522. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +35 -42
  523. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +7 -1
  524. package/build-module/components/global-styles/font-library-modal/resolvers.js +27 -20
  525. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +7 -1
  526. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +111 -135
  527. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +7 -1
  528. package/build-module/components/global-styles/font-library-modal/utils/constants.js +21 -19
  529. package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +7 -1
  530. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +13 -24
  531. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +7 -1
  532. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +20 -10
  533. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +7 -1
  534. package/build-module/components/global-styles/font-library-modal/utils/index.js +102 -154
  535. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +7 -1
  536. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +8 -14
  537. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +7 -1
  538. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +34 -71
  539. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +7 -1
  540. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js +11 -13
  541. package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +7 -1
  542. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +22 -69
  543. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +7 -1
  544. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +26 -18
  545. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +7 -1
  546. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +20 -17
  547. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +7 -1
  548. package/build-module/components/global-styles/font-sizes/font-size-preview.js +26 -29
  549. package/build-module/components/global-styles/font-sizes/font-size-preview.js.map +7 -1
  550. package/build-module/components/global-styles/font-sizes/font-size.js +185 -160
  551. package/build-module/components/global-styles/font-sizes/font-size.js.map +7 -1
  552. package/build-module/components/global-styles/font-sizes/font-sizes-count.js +23 -39
  553. package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +7 -1
  554. package/build-module/components/global-styles/font-sizes/font-sizes.js +184 -128
  555. package/build-module/components/global-styles/font-sizes/font-sizes.js.map +7 -1
  556. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js +68 -52
  557. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js.map +7 -1
  558. package/build-module/components/global-styles/gradients-palette-panel.js +117 -79
  559. package/build-module/components/global-styles/gradients-palette-panel.js.map +7 -1
  560. package/build-module/components/global-styles/header.js +40 -43
  561. package/build-module/components/global-styles/header.js.map +7 -1
  562. package/build-module/components/global-styles/highlighted-colors.js +31 -36
  563. package/build-module/components/global-styles/highlighted-colors.js.map +7 -1
  564. package/build-module/components/global-styles/hooks.js +56 -61
  565. package/build-module/components/global-styles/hooks.js.map +7 -1
  566. package/build-module/components/global-styles/icon-with-current-color.js +18 -19
  567. package/build-module/components/global-styles/icon-with-current-color.js.map +7 -1
  568. package/build-module/components/global-styles/index.js +5 -2
  569. package/build-module/components/global-styles/index.js.map +7 -1
  570. package/build-module/components/global-styles/navigation-button.js +23 -37
  571. package/build-module/components/global-styles/navigation-button.js.map +7 -1
  572. package/build-module/components/global-styles/palette.js +61 -67
  573. package/build-module/components/global-styles/palette.js.map +7 -1
  574. package/build-module/components/global-styles/preset-colors.js +19 -20
  575. package/build-module/components/global-styles/preset-colors.js.map +7 -1
  576. package/build-module/components/global-styles/preview-colors.js +43 -40
  577. package/build-module/components/global-styles/preview-colors.js.map +7 -1
  578. package/build-module/components/global-styles/preview-styles.js +158 -130
  579. package/build-module/components/global-styles/preview-styles.js.map +7 -1
  580. package/build-module/components/global-styles/preview-typography.js +37 -38
  581. package/build-module/components/global-styles/preview-typography.js.map +7 -1
  582. package/build-module/components/global-styles/preview-wrapper.js +51 -75
  583. package/build-module/components/global-styles/preview-wrapper.js.map +7 -1
  584. package/build-module/components/global-styles/root-menu.js +38 -44
  585. package/build-module/components/global-styles/root-menu.js.map +7 -1
  586. package/build-module/components/global-styles/screen-background.js +26 -29
  587. package/build-module/components/global-styles/screen-background.js.map +7 -1
  588. package/build-module/components/global-styles/screen-block-list.js +105 -105
  589. package/build-module/components/global-styles/screen-block-list.js.map +7 -1
  590. package/build-module/components/global-styles/screen-block.js +156 -169
  591. package/build-module/components/global-styles/screen-block.js.map +7 -1
  592. package/build-module/components/global-styles/screen-color-palette.js +33 -50
  593. package/build-module/components/global-styles/screen-color-palette.js.map +7 -1
  594. package/build-module/components/global-styles/screen-colors.js +35 -33
  595. package/build-module/components/global-styles/screen-colors.js.map +7 -1
  596. package/build-module/components/global-styles/screen-css.js +52 -44
  597. package/build-module/components/global-styles/screen-css.js.map +7 -1
  598. package/build-module/components/global-styles/screen-layout.js +17 -26
  599. package/build-module/components/global-styles/screen-layout.js.map +7 -1
  600. package/build-module/components/global-styles/screen-revisions/index.js +117 -105
  601. package/build-module/components/global-styles/screen-revisions/index.js.map +7 -1
  602. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +145 -158
  603. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +7 -1
  604. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +74 -75
  605. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +7 -1
  606. package/build-module/components/global-styles/screen-root.js +74 -77
  607. package/build-module/components/global-styles/screen-root.js.map +7 -1
  608. package/build-module/components/global-styles/screen-shadows.js +12 -11
  609. package/build-module/components/global-styles/screen-shadows.js.map +7 -1
  610. package/build-module/components/global-styles/screen-style-variations.js +38 -37
  611. package/build-module/components/global-styles/screen-style-variations.js.map +7 -1
  612. package/build-module/components/global-styles/screen-typography-element.js +122 -87
  613. package/build-module/components/global-styles/screen-typography-element.js.map +7 -1
  614. package/build-module/components/global-styles/screen-typography.js +36 -34
  615. package/build-module/components/global-styles/screen-typography.js.map +7 -1
  616. package/build-module/components/global-styles/shadow-utils.js +53 -176
  617. package/build-module/components/global-styles/shadow-utils.js.map +7 -1
  618. package/build-module/components/global-styles/shadows-edit-panel.js +426 -344
  619. package/build-module/components/global-styles/shadows-edit-panel.js.map +7 -1
  620. package/build-module/components/global-styles/shadows-panel.js +159 -124
  621. package/build-module/components/global-styles/shadows-panel.js.map +7 -1
  622. package/build-module/components/global-styles/size-control/index.js +57 -70
  623. package/build-module/components/global-styles/size-control/index.js.map +7 -1
  624. package/build-module/components/global-styles/style-variations-container.js +85 -95
  625. package/build-module/components/global-styles/style-variations-container.js.map +7 -1
  626. package/build-module/components/global-styles/subtitle.js +16 -16
  627. package/build-module/components/global-styles/subtitle.js.map +7 -1
  628. package/build-module/components/global-styles/typeset.js +50 -65
  629. package/build-module/components/global-styles/typeset.js.map +7 -1
  630. package/build-module/components/global-styles/typography-elements.js +86 -80
  631. package/build-module/components/global-styles/typography-elements.js.map +7 -1
  632. package/build-module/components/global-styles/typography-example.js +45 -57
  633. package/build-module/components/global-styles/typography-example.js.map +7 -1
  634. package/build-module/components/global-styles/typography-panel.js +38 -33
  635. package/build-module/components/global-styles/typography-panel.js.map +7 -1
  636. package/build-module/components/global-styles/typography-preview.js +55 -48
  637. package/build-module/components/global-styles/typography-preview.js.map +7 -1
  638. package/build-module/components/global-styles/ui.js +252 -295
  639. package/build-module/components/global-styles/ui.js.map +7 -1
  640. package/build-module/components/global-styles/utils.js +24 -28
  641. package/build-module/components/global-styles/utils.js.map +7 -1
  642. package/build-module/components/global-styles/variations/variation.js +59 -65
  643. package/build-module/components/global-styles/variations/variation.js.map +7 -1
  644. package/build-module/components/global-styles/variations/variations-color.js +26 -34
  645. package/build-module/components/global-styles/variations/variations-color.js.map +7 -1
  646. package/build-module/components/global-styles/variations/variations-panel.js +39 -46
  647. package/build-module/components/global-styles/variations/variations-panel.js.map +7 -1
  648. package/build-module/components/global-styles/variations/variations-typography.js +43 -42
  649. package/build-module/components/global-styles/variations/variations-typography.js.map +7 -1
  650. package/build-module/components/global-styles-renderer/index.js +16 -27
  651. package/build-module/components/global-styles-renderer/index.js.map +7 -1
  652. package/build-module/components/global-styles-sidebar/default-sidebar.js +36 -36
  653. package/build-module/components/global-styles-sidebar/default-sidebar.js.map +7 -1
  654. package/build-module/components/global-styles-sidebar/index.js +137 -133
  655. package/build-module/components/global-styles-sidebar/index.js.map +7 -1
  656. package/build-module/components/layout/animation.js +31 -69
  657. package/build-module/components/layout/animation.js.map +7 -1
  658. package/build-module/components/layout/hooks.js +16 -28
  659. package/build-module/components/layout/hooks.js.map +7 -1
  660. package/build-module/components/layout/index.js +199 -183
  661. package/build-module/components/layout/index.js.map +7 -1
  662. package/build-module/components/media/index.js +13 -21
  663. package/build-module/components/media/index.js.map +7 -1
  664. package/build-module/components/more-menu/index.js +18 -23
  665. package/build-module/components/more-menu/index.js.map +7 -1
  666. package/build-module/components/more-menu/site-export.js +41 -38
  667. package/build-module/components/more-menu/site-export.js.map +7 -1
  668. package/build-module/components/more-menu/welcome-guide-menu-item.js +12 -17
  669. package/build-module/components/more-menu/welcome-guide-menu-item.js.map +7 -1
  670. package/build-module/components/page-patterns/actions.js +52 -0
  671. package/build-module/components/page-patterns/actions.js.map +7 -0
  672. package/build-module/components/page-patterns/delete-category-menu-item.js +78 -76
  673. package/build-module/components/page-patterns/delete-category-menu-item.js.map +7 -1
  674. package/build-module/components/page-patterns/fields.js +103 -112
  675. package/build-module/components/page-patterns/fields.js.map +7 -1
  676. package/build-module/components/page-patterns/index.js +144 -120
  677. package/build-module/components/page-patterns/index.js.map +7 -1
  678. package/build-module/components/page-patterns/rename-category-menu-item.js +37 -53
  679. package/build-module/components/page-patterns/rename-category-menu-item.js.map +7 -1
  680. package/build-module/components/page-patterns/search-items.js +43 -77
  681. package/build-module/components/page-patterns/search-items.js.map +7 -1
  682. package/build-module/components/page-patterns/use-pattern-settings.js +27 -30
  683. package/build-module/components/page-patterns/use-pattern-settings.js.map +7 -1
  684. package/build-module/components/page-patterns/use-patterns.js +249 -192
  685. package/build-module/components/page-patterns/use-patterns.js.map +7 -1
  686. package/build-module/components/page-patterns/utils.js +5 -2
  687. package/build-module/components/page-patterns/utils.js.map +7 -1
  688. package/build-module/components/page-templates/fields.js +132 -147
  689. package/build-module/components/page-templates/fields.js.map +7 -1
  690. package/build-module/components/page-templates/hooks.js +44 -55
  691. package/build-module/components/page-templates/hooks.js.map +7 -1
  692. package/build-module/components/page-templates/index.js +189 -194
  693. package/build-module/components/page-templates/index.js.map +7 -1
  694. package/build-module/components/page-templates/view-utils.js +42 -0
  695. package/build-module/components/page-templates/view-utils.js.map +7 -0
  696. package/build-module/components/pagination/index.js +96 -77
  697. package/build-module/components/pagination/index.js.map +7 -1
  698. package/build-module/components/plugin-template-setting-panel/index.js +21 -50
  699. package/build-module/components/plugin-template-setting-panel/index.js.map +7 -1
  700. package/build-module/components/post-edit/index.js +136 -135
  701. package/build-module/components/post-edit/index.js.map +7 -1
  702. package/build-module/components/post-list/index.js +205 -291
  703. package/build-module/components/post-list/index.js.map +7 -1
  704. package/build-module/components/post-list/view-utils.js +149 -0
  705. package/build-module/components/post-list/view-utils.js.map +7 -0
  706. package/build-module/components/posts-app/index.js +15 -25
  707. package/build-module/components/posts-app/index.js.map +7 -1
  708. package/build-module/components/posts-app-routes/index.js +12 -18
  709. package/build-module/components/posts-app-routes/index.js.map +7 -1
  710. package/build-module/components/posts-app-routes/post-item.js +22 -29
  711. package/build-module/components/posts-app-routes/post-item.js.map +7 -1
  712. package/build-module/components/posts-app-routes/posts.js +59 -70
  713. package/build-module/components/posts-app-routes/posts.js.map +7 -1
  714. package/build-module/components/resizable-frame/index.js +169 -211
  715. package/build-module/components/resizable-frame/index.js.map +7 -1
  716. package/build-module/components/revisions/index.js +78 -64
  717. package/build-module/components/revisions/index.js.map +7 -1
  718. package/build-module/components/routes/use-title.js +25 -28
  719. package/build-module/components/routes/use-title.js.map +7 -1
  720. package/build-module/components/save-button/index.js +99 -104
  721. package/build-module/components/save-button/index.js.map +7 -1
  722. package/build-module/components/save-hub/index.js +23 -33
  723. package/build-module/components/save-hub/index.js.map +7 -1
  724. package/build-module/components/save-keyboard-shortcut/index.js +31 -47
  725. package/build-module/components/save-keyboard-shortcut/index.js.map +7 -1
  726. package/build-module/components/save-panel/index.js +125 -124
  727. package/build-module/components/save-panel/index.js.map +7 -1
  728. package/build-module/components/sidebar/index.js +47 -65
  729. package/build-module/components/sidebar/index.js.map +7 -1
  730. package/build-module/components/sidebar-button/index.js +16 -17
  731. package/build-module/components/sidebar-button/index.js.map +7 -1
  732. package/build-module/components/sidebar-dataviews/dataview-item.js +41 -50
  733. package/build-module/components/sidebar-dataviews/dataview-item.js.map +7 -1
  734. package/build-module/components/sidebar-dataviews/index.js +40 -48
  735. package/build-module/components/sidebar-dataviews/index.js.map +7 -1
  736. package/build-module/components/sidebar-global-styles-wrapper/index.js +100 -104
  737. package/build-module/components/sidebar-global-styles-wrapper/index.js.map +7 -1
  738. package/build-module/components/sidebar-navigation-item/index.js +56 -57
  739. package/build-module/components/sidebar-navigation-item/index.js.map +7 -1
  740. package/build-module/components/sidebar-navigation-screen/index.js +108 -98
  741. package/build-module/components/sidebar-navigation-screen/index.js.map +7 -1
  742. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +36 -48
  743. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +7 -1
  744. package/build-module/components/sidebar-navigation-screen-global-styles/content.js +23 -28
  745. package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +7 -1
  746. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +61 -73
  747. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +7 -1
  748. package/build-module/components/sidebar-navigation-screen-main/index.js +108 -82
  749. package/build-module/components/sidebar-navigation-screen-main/index.js.map +7 -1
  750. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js +22 -24
  751. package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.js.map +7 -1
  752. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +92 -84
  753. package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +7 -1
  754. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +87 -76
  755. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +7 -1
  756. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +28 -41
  757. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +7 -1
  758. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +67 -60
  759. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +7 -1
  760. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +37 -32
  761. package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +7 -1
  762. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +107 -91
  763. package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +7 -1
  764. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +14 -14
  765. package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js.map +7 -1
  766. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js +8 -12
  767. package/build-module/components/sidebar-navigation-screen-navigation-menus/constants.js.map +7 -1
  768. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +89 -98
  769. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +7 -1
  770. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js +113 -117
  771. package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.js.map +7 -1
  772. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +82 -82
  773. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +7 -1
  774. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js +17 -16
  775. package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +7 -1
  776. package/build-module/components/sidebar-navigation-screen-patterns/index.js +108 -99
  777. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +7 -1
  778. package/build-module/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js +19 -21
  779. package/build-module/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +7 -1
  780. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +53 -59
  781. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +7 -1
  782. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +27 -27
  783. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +7 -1
  784. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +24 -24
  785. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +7 -1
  786. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +67 -70
  787. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +7 -1
  788. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +20 -21
  789. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +7 -1
  790. package/build-module/components/sidebar-navigation-screen-unsupported/index.js +11 -16
  791. package/build-module/components/sidebar-navigation-screen-unsupported/index.js.map +7 -1
  792. package/build-module/components/site-editor-routes/home.js +18 -26
  793. package/build-module/components/site-editor-routes/home.js.map +7 -1
  794. package/build-module/components/site-editor-routes/index.js +39 -30
  795. package/build-module/components/site-editor-routes/index.js.map +7 -1
  796. package/build-module/components/site-editor-routes/navigation-item.js +23 -43
  797. package/build-module/components/site-editor-routes/navigation-item.js.map +7 -1
  798. package/build-module/components/site-editor-routes/navigation.js +23 -43
  799. package/build-module/components/site-editor-routes/navigation.js.map +7 -1
  800. package/build-module/components/site-editor-routes/notfound.js +22 -28
  801. package/build-module/components/site-editor-routes/notfound.js.map +7 -1
  802. package/build-module/components/site-editor-routes/page-item.js +26 -35
  803. package/build-module/components/site-editor-routes/page-item.js.map +7 -1
  804. package/build-module/components/site-editor-routes/pages.js +64 -80
  805. package/build-module/components/site-editor-routes/pages.js.map +7 -1
  806. package/build-module/components/site-editor-routes/pattern-item.js +16 -20
  807. package/build-module/components/site-editor-routes/pattern-item.js.map +7 -1
  808. package/build-module/components/site-editor-routes/patterns.js +19 -30
  809. package/build-module/components/site-editor-routes/patterns.js.map +7 -1
  810. package/build-module/components/site-editor-routes/stylebook.js +28 -37
  811. package/build-module/components/site-editor-routes/stylebook.js.map +7 -1
  812. package/build-module/components/site-editor-routes/styles.js +26 -40
  813. package/build-module/components/site-editor-routes/styles.js.map +7 -1
  814. package/build-module/components/site-editor-routes/template-item.js +21 -28
  815. package/build-module/components/site-editor-routes/template-item.js.map +7 -1
  816. package/build-module/components/site-editor-routes/template-part-item.js +13 -15
  817. package/build-module/components/site-editor-routes/template-part-item.js.map +7 -1
  818. package/build-module/components/site-editor-routes/templates.js +37 -38
  819. package/build-module/components/site-editor-routes/templates.js.map +7 -1
  820. package/build-module/components/site-editor-routes/utils.js +6 -10
  821. package/build-module/components/site-editor-routes/utils.js.map +7 -1
  822. package/build-module/components/site-hub/index.js +204 -215
  823. package/build-module/components/site-hub/index.js.map +7 -1
  824. package/build-module/components/site-icon/index.js +33 -43
  825. package/build-module/components/site-icon/index.js.map +7 -1
  826. package/build-module/components/style-book/categories.js +41 -48
  827. package/build-module/components/style-book/categories.js.map +7 -1
  828. package/build-module/components/style-book/color-examples.js +29 -37
  829. package/build-module/components/style-book/color-examples.js.map +7 -1
  830. package/build-module/components/style-book/constants.js +191 -140
  831. package/build-module/components/style-book/constants.js.map +7 -1
  832. package/build-module/components/style-book/duotone-examples.js +36 -35
  833. package/build-module/components/style-book/duotone-examples.js.map +7 -1
  834. package/build-module/components/style-book/examples.js +114 -116
  835. package/build-module/components/style-book/examples.js.map +7 -1
  836. package/build-module/components/style-book/index.js +431 -384
  837. package/build-module/components/style-book/index.js.map +7 -1
  838. package/build-module/components/style-book/types.js +1 -2
  839. package/build-module/components/style-book/types.js.map +7 -1
  840. package/build-module/components/welcome-guide/editor.js +59 -54
  841. package/build-module/components/welcome-guide/editor.js.map +7 -1
  842. package/build-module/components/welcome-guide/image.js +16 -18
  843. package/build-module/components/welcome-guide/image.js.map +7 -1
  844. package/build-module/components/welcome-guide/index.js +16 -15
  845. package/build-module/components/welcome-guide/index.js.map +7 -1
  846. package/build-module/components/welcome-guide/page.js +59 -48
  847. package/build-module/components/welcome-guide/page.js.map +7 -1
  848. package/build-module/components/welcome-guide/styles.js +108 -97
  849. package/build-module/components/welcome-guide/styles.js.map +7 -1
  850. package/build-module/components/welcome-guide/template.js +54 -55
  851. package/build-module/components/welcome-guide/template.js.map +7 -1
  852. package/build-module/deprecated.js +28 -40
  853. package/build-module/deprecated.js.map +7 -1
  854. package/build-module/hooks/commands/use-common-commands.js +89 -108
  855. package/build-module/hooks/commands/use-common-commands.js.map +7 -1
  856. package/build-module/hooks/commands/use-set-command-context.js +21 -44
  857. package/build-module/hooks/commands/use-set-command-context.js.map +7 -1
  858. package/build-module/hooks/index.js +2 -5
  859. package/build-module/hooks/index.js.map +7 -1
  860. package/build-module/hooks/push-changes-to-global-styles/index.js +218 -243
  861. package/build-module/hooks/push-changes-to-global-styles/index.js.map +7 -1
  862. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +56 -105
  863. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +7 -1
  864. package/build-module/index.js +55 -69
  865. package/build-module/index.js.map +7 -1
  866. package/build-module/lock-unlock.js +8 -7
  867. package/build-module/lock-unlock.js.map +7 -1
  868. package/build-module/posts.js +38 -54
  869. package/build-module/posts.js.map +7 -1
  870. package/build-module/store/actions.js +140 -320
  871. package/build-module/store/actions.js.map +7 -1
  872. package/build-module/store/constants.js +5 -7
  873. package/build-module/store/constants.js.map +7 -1
  874. package/build-module/store/index.js +15 -18
  875. package/build-module/store/index.js.map +7 -1
  876. package/build-module/store/private-actions.js +12 -14
  877. package/build-module/store/private-actions.js.map +7 -1
  878. package/build-module/store/private-selectors.js +7 -10
  879. package/build-module/store/private-selectors.js.map +7 -1
  880. package/build-module/store/reducer.js +21 -53
  881. package/build-module/store/reducer.js.map +7 -1
  882. package/build-module/store/selectors.js +151 -278
  883. package/build-module/store/selectors.js.map +7 -1
  884. package/build-module/utils/constants.js +53 -44
  885. package/build-module/utils/constants.js.map +7 -1
  886. package/build-module/utils/get-filtered-template-parts.js +18 -37
  887. package/build-module/utils/get-filtered-template-parts.js.map +7 -1
  888. package/build-module/utils/is-previewing-theme.js +10 -9
  889. package/build-module/utils/is-previewing-theme.js.map +7 -1
  890. package/build-module/utils/is-template-removable.js +6 -13
  891. package/build-module/utils/is-template-removable.js.map +7 -1
  892. package/build-module/utils/is-template-revertable.js +6 -15
  893. package/build-module/utils/is-template-revertable.js.map +7 -1
  894. package/build-module/utils/set-nested-value.js +7 -22
  895. package/build-module/utils/set-nested-value.js.map +7 -1
  896. package/build-module/utils/template-part-create.js +1 -2
  897. package/build-module/utils/template-part-create.js.map +7 -1
  898. package/build-module/utils/use-activate-theme.js +21 -40
  899. package/build-module/utils/use-activate-theme.js.map +7 -1
  900. package/build-module/utils/use-actual-current-theme.js +13 -17
  901. package/build-module/utils/use-actual-current-theme.js.map +7 -1
  902. package/build-style/posts-rtl.css +484 -214
  903. package/build-style/posts.css +484 -214
  904. package/build-style/style-rtl.css +629 -271
  905. package/build-style/style.css +629 -271
  906. package/package.json +52 -42
  907. package/src/components/add-new-post/index.js +2 -1
  908. package/src/components/add-new-template/index.js +7 -4
  909. package/src/components/add-new-template/style.scss +4 -0
  910. package/src/components/dataviews-actions/index.js +16 -9
  911. package/src/components/editor/index.js +1 -1
  912. package/src/components/editor/style.scss +3 -0
  913. package/src/components/editor/use-resolve-edited-entity.js +4 -18
  914. package/src/components/editor-canvas-container/style.scss +4 -1
  915. package/src/components/global-styles/font-library-modal/style.scss +4 -0
  916. package/src/components/global-styles/screen-revisions/style.scss +4 -0
  917. package/src/components/global-styles/style.scss +3 -0
  918. package/src/components/global-styles/variations/style.scss +3 -0
  919. package/src/components/global-styles-sidebar/style.scss +3 -0
  920. package/src/components/layout/index.js +2 -1
  921. package/src/components/layout/style.scss +5 -0
  922. package/src/components/page-patterns/actions.js +54 -0
  923. package/src/components/page-patterns/index.js +79 -32
  924. package/src/components/page-patterns/style.scss +4 -0
  925. package/src/components/page-templates/fields.js +22 -1
  926. package/src/components/page-templates/index.js +71 -104
  927. package/src/components/page-templates/style.scss +4 -0
  928. package/src/components/page-templates/view-utils.js +41 -0
  929. package/src/components/pagination/style.scss +2 -0
  930. package/src/components/post-edit/index.js +10 -4
  931. package/src/components/post-edit/style.scss +3 -6
  932. package/src/components/post-list/index.js +76 -188
  933. package/src/components/post-list/style.scss +3 -0
  934. package/src/components/post-list/view-utils.js +155 -0
  935. package/src/components/posts-app-routes/posts.js +29 -16
  936. package/src/components/resizable-frame/style.scss +3 -0
  937. package/src/components/save-hub/style.scss +3 -0
  938. package/src/components/save-panel/index.js +2 -2
  939. package/src/components/save-panel/style.scss +2 -0
  940. package/src/components/sidebar/style.scss +4 -0
  941. package/src/components/sidebar-button/style.scss +2 -0
  942. package/src/components/sidebar-dataviews/dataview-item.js +5 -11
  943. package/src/components/sidebar-dataviews/index.js +17 -17
  944. package/src/components/sidebar-dataviews/style.scss +2 -16
  945. package/src/components/sidebar-global-styles-wrapper/index.js +16 -21
  946. package/src/components/sidebar-global-styles-wrapper/style.scss +4 -30
  947. package/src/components/sidebar-navigation-item/style.scss +3 -0
  948. package/src/components/sidebar-navigation-screen/style.scss +5 -0
  949. package/src/components/sidebar-navigation-screen-main/style.scss +2 -0
  950. package/src/components/sidebar-navigation-screen-navigation-menu/style.scss +2 -0
  951. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +3 -0
  952. package/src/components/sidebar-navigation-screen-patterns/style.scss +3 -0
  953. package/src/components/sidebar-navigation-screen-templates-browse/style.scss +2 -0
  954. package/src/components/site-editor-routes/pages.js +29 -16
  955. package/src/components/site-editor-routes/templates.js +21 -4
  956. package/src/components/site-hub/style.scss +3 -0
  957. package/src/components/site-icon/style.scss +3 -0
  958. package/src/components/style-book/style.scss +3 -0
  959. package/src/components/welcome-guide/style.scss +2 -0
  960. package/src/posts.scss +14 -11
  961. package/src/style.scss +42 -39
  962. package/tsconfig.json +2 -0
  963. package/tsconfig.tsbuildinfo +1 -1
  964. package/build/components/page/header.js +0 -45
  965. package/build/components/page/header.js.map +0 -1
  966. package/build/components/page/index.js +0 -50
  967. package/build/components/page/index.js.map +0 -1
  968. package/build/components/page-patterns/header.js +0 -96
  969. package/build/components/page-patterns/header.js.map +0 -1
  970. package/build/components/sidebar-dataviews/add-new-view.js +0 -137
  971. package/build/components/sidebar-dataviews/add-new-view.js.map +0 -1
  972. package/build/components/sidebar-dataviews/custom-dataviews-list.js +0 -211
  973. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +0 -1
  974. package/build/components/sidebar-dataviews/default-views.js +0 -141
  975. package/build/components/sidebar-dataviews/default-views.js.map +0 -1
  976. package/build-module/components/page/header.js +0 -40
  977. package/build-module/components/page/header.js.map +0 -1
  978. package/build-module/components/page/index.js +0 -42
  979. package/build-module/components/page/index.js.map +0 -1
  980. package/build-module/components/page-patterns/header.js +0 -88
  981. package/build-module/components/page-patterns/header.js.map +0 -1
  982. package/build-module/components/sidebar-dataviews/add-new-view.js +0 -129
  983. package/build-module/components/sidebar-dataviews/add-new-view.js.map +0 -1
  984. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +0 -202
  985. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +0 -1
  986. package/build-module/components/sidebar-dataviews/default-views.js +0 -133
  987. package/build-module/components/sidebar-dataviews/default-views.js.map +0 -1
  988. package/src/components/page/header.js +0 -44
  989. package/src/components/page/index.js +0 -43
  990. package/src/components/page/style.scss +0 -56
  991. package/src/components/page-patterns/header.js +0 -120
  992. package/src/components/sidebar-dataviews/add-new-view.js +0 -143
  993. package/src/components/sidebar-dataviews/custom-dataviews-list.js +0 -233
  994. package/src/components/sidebar-dataviews/default-views.js +0 -168
@@ -1 +1,7 @@
1
- {"version":3,"names":["_hooks","require","_compose","_blockEditor","_components","_i18n","_blocks","_element","_data","_notices","_coreData","_hooks2","_lockUnlock","_setNestedValue","_interopRequireDefault","_jsxRuntime","cleanEmptyObject","GlobalStylesContext","unlock","blockEditorPrivateApis","STYLE_PROPERTY","__EXPERIMENTAL_STYLE_PROPERTY","blockGap","value","STYLE_PATH_TO_CSS_VAR_INFIX","STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE","SUPPORTED_STYLES","getValueFromObjectPath","object","path","forEach","fieldName","flatBorderProperties","sides","getBorderStyleChanges","border","presetColor","userStyle","changes","getFallbackBorderStyleChange","color","customColor","style","width","hasColorOrWidth","side","push","globalBorderStyle","useChangesToPush","name","attributes","userConfig","supports","useSupportedStyles","blockUserConfig","styles","blocks","useMemo","flatMap","key","presetAttributeKey","join","presetAttributeValue","linkChanges","hoverPath","hoverValue","includes","borderChanges","currentPath","splice","borderColor","change","PushChangesToGlobalStylesControl","setAttributes","user","setUserConfig","useContext","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","createSuccessNotice","noticesStore","pushChanges","useCallback","length","blockStyles","newBlockStyles","structuredClone","newUserConfig","setNestedValue","undefined","newBlockAttributes","backgroundColor","textColor","gradient","fontSize","fontFamily","undoIgnore","sprintf","__","getBlockType","title","type","actions","label","onClick","jsxs","BaseControl","__nextHasNoMarginBottom","className","help","children","jsx","VisualLabel","Button","__next40pxDefaultSize","variant","accessibleWhenDisabled","disabled","PushChangesToGlobalStyles","props","blockEditingMode","useBlockEditingMode","isBlockBasedTheme","useSelect","select","coreStore","getCurrentTheme","is_block_theme","supportsStyles","some","feature","hasBlockSupport","isDisplayed","InspectorAdvancedControls","withPushChangesToGlobalStyles","createHigherOrderComponent","BlockEdit","Fragment","isSelected","addFilter"],"sources":["@wordpress/edit-site/src/hooks/push-changes-to-global-styles/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport {\n\tInspectorAdvancedControls,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { BaseControl, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\nimport { useContext, useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useSupportedStyles } from '../../components/global-styles/hooks';\nimport { unlock } from '../../lock-unlock';\nimport setNestedValue from '../../utils/set-nested-value';\n\nconst { cleanEmptyObject, GlobalStylesContext } = unlock(\n\tblockEditorPrivateApis\n);\n\n// Block Gap is a special case and isn't defined within the blocks\n// style properties config. We'll add it here to allow it to be pushed\n// to global styles as well.\nconst STYLE_PROPERTY = {\n\t...__EXPERIMENTAL_STYLE_PROPERTY,\n\tblockGap: { value: [ 'spacing', 'blockGap' ] },\n};\n\n// TODO: Temporary duplication of constant in @wordpress/block-editor. Can be\n// removed by moving PushChangesToGlobalStylesControl to\n// @wordpress/block-editor.\nconst STYLE_PATH_TO_CSS_VAR_INFIX = {\n\t'border.color': 'color',\n\t'color.background': 'color',\n\t'color.text': 'color',\n\t'elements.link.color.text': 'color',\n\t'elements.link.:hover.color.text': 'color',\n\t'elements.link.typography.fontFamily': 'font-family',\n\t'elements.link.typography.fontSize': 'font-size',\n\t'elements.button.color.text': 'color',\n\t'elements.button.color.background': 'color',\n\t'elements.button.typography.fontFamily': 'font-family',\n\t'elements.button.typography.fontSize': 'font-size',\n\t'elements.caption.color.text': 'color',\n\t'elements.heading.color': 'color',\n\t'elements.heading.color.background': 'color',\n\t'elements.heading.typography.fontFamily': 'font-family',\n\t'elements.heading.gradient': 'gradient',\n\t'elements.heading.color.gradient': 'gradient',\n\t'elements.h1.color': 'color',\n\t'elements.h1.color.background': 'color',\n\t'elements.h1.typography.fontFamily': 'font-family',\n\t'elements.h1.color.gradient': 'gradient',\n\t'elements.h2.color': 'color',\n\t'elements.h2.color.background': 'color',\n\t'elements.h2.typography.fontFamily': 'font-family',\n\t'elements.h2.color.gradient': 'gradient',\n\t'elements.h3.color': 'color',\n\t'elements.h3.color.background': 'color',\n\t'elements.h3.typography.fontFamily': 'font-family',\n\t'elements.h3.color.gradient': 'gradient',\n\t'elements.h4.color': 'color',\n\t'elements.h4.color.background': 'color',\n\t'elements.h4.typography.fontFamily': 'font-family',\n\t'elements.h4.color.gradient': 'gradient',\n\t'elements.h5.color': 'color',\n\t'elements.h5.color.background': 'color',\n\t'elements.h5.typography.fontFamily': 'font-family',\n\t'elements.h5.color.gradient': 'gradient',\n\t'elements.h6.color': 'color',\n\t'elements.h6.color.background': 'color',\n\t'elements.h6.typography.fontFamily': 'font-family',\n\t'elements.h6.color.gradient': 'gradient',\n\t'color.gradient': 'gradient',\n\tblockGap: 'spacing',\n\t'typography.fontSize': 'font-size',\n\t'typography.fontFamily': 'font-family',\n};\n\n// TODO: Temporary duplication of constant in @wordpress/block-editor. Can be\n// removed by moving PushChangesToGlobalStylesControl to\n// @wordpress/block-editor.\nconst STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE = {\n\t'border.color': 'borderColor',\n\t'color.background': 'backgroundColor',\n\t'color.text': 'textColor',\n\t'color.gradient': 'gradient',\n\t'typography.fontSize': 'fontSize',\n\t'typography.fontFamily': 'fontFamily',\n};\n\nconst SUPPORTED_STYLES = [ 'border', 'color', 'spacing', 'typography' ];\n\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\nconst flatBorderProperties = [ 'borderColor', 'borderWidth', 'borderStyle' ];\nconst sides = [ 'top', 'right', 'bottom', 'left' ];\n\nfunction getBorderStyleChanges( border, presetColor, userStyle ) {\n\tif ( ! border && ! presetColor ) {\n\t\treturn [];\n\t}\n\n\tconst changes = [\n\t\t...getFallbackBorderStyleChange( 'top', border, userStyle ),\n\t\t...getFallbackBorderStyleChange( 'right', border, userStyle ),\n\t\t...getFallbackBorderStyleChange( 'bottom', border, userStyle ),\n\t\t...getFallbackBorderStyleChange( 'left', border, userStyle ),\n\t];\n\n\t// Handle a flat border i.e. all sides the same, CSS shorthand.\n\tconst { color: customColor, style, width } = border || {};\n\tconst hasColorOrWidth = presetColor || customColor || width;\n\n\tif ( hasColorOrWidth && ! style ) {\n\t\t// Global Styles need individual side configurations to overcome\n\t\t// theme.json configurations which are per side as well.\n\t\tsides.forEach( ( side ) => {\n\t\t\t// Only add fallback border-style if global styles don't already\n\t\t\t// have something set.\n\t\t\tif ( ! userStyle?.[ side ]?.style ) {\n\t\t\t\tchanges.push( {\n\t\t\t\t\tpath: [ 'border', side, 'style' ],\n\t\t\t\t\tvalue: 'solid',\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn changes;\n}\n\nfunction getFallbackBorderStyleChange( side, border, globalBorderStyle ) {\n\tif ( ! border?.[ side ] || globalBorderStyle?.[ side ]?.style ) {\n\t\treturn [];\n\t}\n\n\tconst { color, style, width } = border[ side ];\n\tconst hasColorOrWidth = color || width;\n\n\tif ( ! hasColorOrWidth || style ) {\n\t\treturn [];\n\t}\n\n\treturn [ { path: [ 'border', side, 'style' ], value: 'solid' } ];\n}\n\nfunction useChangesToPush( name, attributes, userConfig ) {\n\tconst supports = useSupportedStyles( name );\n\tconst blockUserConfig = userConfig?.styles?.blocks?.[ name ];\n\n\treturn useMemo( () => {\n\t\tconst changes = supports.flatMap( ( key ) => {\n\t\t\tif ( ! STYLE_PROPERTY[ key ] ) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tconst { value: path } = STYLE_PROPERTY[ key ];\n\t\t\tconst presetAttributeKey = path.join( '.' );\n\t\t\tconst presetAttributeValue =\n\t\t\t\tattributes[\n\t\t\t\t\tSTYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE[ presetAttributeKey ]\n\t\t\t\t];\n\t\t\tconst value = presetAttributeValue\n\t\t\t\t? `var:preset|${ STYLE_PATH_TO_CSS_VAR_INFIX[ presetAttributeKey ] }|${ presetAttributeValue }`\n\t\t\t\t: getValueFromObjectPath( attributes.style, path );\n\n\t\t\t// Links only have a single support entry but have two element\n\t\t\t// style properties, color and hover color. The following check\n\t\t\t// will add the hover color to the changes if required.\n\t\t\tif ( key === 'linkColor' ) {\n\t\t\t\tconst linkChanges = value ? [ { path, value } ] : [];\n\t\t\t\tconst hoverPath = [\n\t\t\t\t\t'elements',\n\t\t\t\t\t'link',\n\t\t\t\t\t':hover',\n\t\t\t\t\t'color',\n\t\t\t\t\t'text',\n\t\t\t\t];\n\t\t\t\tconst hoverValue = getValueFromObjectPath(\n\t\t\t\t\tattributes.style,\n\t\t\t\t\thoverPath\n\t\t\t\t);\n\n\t\t\t\tif ( hoverValue ) {\n\t\t\t\t\tlinkChanges.push( { path: hoverPath, value: hoverValue } );\n\t\t\t\t}\n\n\t\t\t\treturn linkChanges;\n\t\t\t}\n\n\t\t\t// The shorthand border styles can't be mapped directly as global\n\t\t\t// styles requires longhand config.\n\t\t\tif ( flatBorderProperties.includes( key ) && value ) {\n\t\t\t\t// The shorthand config path is included to clear the block attribute.\n\t\t\t\tconst borderChanges = [ { path, value } ];\n\t\t\t\tsides.forEach( ( side ) => {\n\t\t\t\t\tconst currentPath = [ ...path ];\n\t\t\t\t\tcurrentPath.splice( -1, 0, side );\n\t\t\t\t\tborderChanges.push( { path: currentPath, value } );\n\t\t\t\t} );\n\t\t\t\treturn borderChanges;\n\t\t\t}\n\n\t\t\treturn value ? [ { path, value } ] : [];\n\t\t} );\n\n\t\t// To ensure display of a visible border, global styles require a\n\t\t// default border style if a border color or width is present.\n\t\tgetBorderStyleChanges(\n\t\t\tattributes.style?.border,\n\t\t\tattributes.borderColor,\n\t\t\tblockUserConfig?.border\n\t\t).forEach( ( change ) => changes.push( change ) );\n\n\t\treturn changes;\n\t}, [ supports, attributes, blockUserConfig ] );\n}\n\nfunction PushChangesToGlobalStylesControl( {\n\tname,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { user: userConfig, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\n\n\tconst changes = useChangesToPush( name, attributes, userConfig );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst pushChanges = useCallback( () => {\n\t\tif ( changes.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( changes.length > 0 ) {\n\t\t\tconst { style: blockStyles } = attributes;\n\n\t\t\tconst newBlockStyles = structuredClone( blockStyles );\n\t\t\tconst newUserConfig = structuredClone( userConfig );\n\n\t\t\tfor ( const { path, value } of changes ) {\n\t\t\t\tsetNestedValue( newBlockStyles, path, undefined );\n\t\t\t\tsetNestedValue(\n\t\t\t\t\tnewUserConfig,\n\t\t\t\t\t[ 'styles', 'blocks', name, ...path ],\n\t\t\t\t\tvalue\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst newBlockAttributes = {\n\t\t\t\tborderColor: undefined,\n\t\t\t\tbackgroundColor: undefined,\n\t\t\t\ttextColor: undefined,\n\t\t\t\tgradient: undefined,\n\t\t\t\tfontSize: undefined,\n\t\t\t\tfontFamily: undefined,\n\t\t\t\tstyle: cleanEmptyObject( newBlockStyles ),\n\t\t\t};\n\n\t\t\t// @wordpress/core-data doesn't support editing multiple entity types in\n\t\t\t// a single undo level. So for now, we disable @wordpress/core-data undo\n\t\t\t// tracking and implement our own Undo button in the snackbar\n\t\t\t// notification.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( newBlockAttributes );\n\t\t\tsetUserConfig( newUserConfig, { undoIgnore: true } );\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the block e.g. 'Heading'.\n\t\t\t\t\t__( '%s styles applied.' ),\n\t\t\t\t\tgetBlockType( name ).title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\t\tsetAttributes( attributes );\n\t\t\t\t\t\t\t\tsetUserConfig( userConfig, {\n\t\t\t\t\t\t\t\t\tundoIgnore: true,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tattributes,\n\t\tchanges,\n\t\tcreateSuccessNotice,\n\t\tname,\n\t\tsetAttributes,\n\t\tsetUserConfig,\n\t\tuserConfig,\n\t] );\n\n\treturn (\n\t\t<BaseControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName=\"edit-site-push-changes-to-global-styles-control\"\n\t\t\thelp={ sprintf(\n\t\t\t\t// translators: %s: Title of the block e.g. 'Heading'.\n\t\t\t\t__(\n\t\t\t\t\t'Apply this block’s typography, spacing, dimensions, and color styles to all %s blocks.'\n\t\t\t\t),\n\t\t\t\tgetBlockType( name ).title\n\t\t\t) }\n\t\t>\n\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t{ __( 'Styles' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tdisabled={ changes.length === 0 }\n\t\t\t\tonClick={ pushChanges }\n\t\t\t>\n\t\t\t\t{ __( 'Apply globally' ) }\n\t\t\t</Button>\n\t\t</BaseControl>\n\t);\n}\n\nfunction PushChangesToGlobalStyles( props ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isBlockBasedTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n\tconst supportsStyles = SUPPORTED_STYLES.some( ( feature ) =>\n\t\thasBlockSupport( props.name, feature )\n\t);\n\tconst isDisplayed =\n\t\tblockEditingMode === 'default' && supportsStyles && isBlockBasedTheme;\n\n\tif ( ! isDisplayed ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorAdvancedControls>\n\t\t\t<PushChangesToGlobalStylesControl { ...props } />\n\t\t</InspectorAdvancedControls>\n\t);\n}\n\nconst withPushChangesToGlobalStyles = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => (\n\t\t<>\n\t\t\t<BlockEdit key=\"edit\" { ...props } />\n\t\t\t{ props.isSelected && <PushChangesToGlobalStyles { ...props } /> }\n\t\t</>\n\t)\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/edit-site/push-changes-to-global-styles',\n\twithPushChangesToGlobalStyles\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/push-changes-to-global-styles/index.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport {\n\tInspectorAdvancedControls,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { BaseControl, Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY,\n\tgetBlockType,\n\thasBlockSupport,\n} from '@wordpress/blocks';\nimport { useContext, useMemo, useCallback } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useSupportedStyles } from '../../components/global-styles/hooks';\nimport { unlock } from '../../lock-unlock';\nimport setNestedValue from '../../utils/set-nested-value';\n\nconst { cleanEmptyObject, GlobalStylesContext } = unlock(\n\tblockEditorPrivateApis\n);\n\n// Block Gap is a special case and isn't defined within the blocks\n// style properties config. We'll add it here to allow it to be pushed\n// to global styles as well.\nconst STYLE_PROPERTY = {\n\t...__EXPERIMENTAL_STYLE_PROPERTY,\n\tblockGap: { value: [ 'spacing', 'blockGap' ] },\n};\n\n// TODO: Temporary duplication of constant in @wordpress/block-editor. Can be\n// removed by moving PushChangesToGlobalStylesControl to\n// @wordpress/block-editor.\nconst STYLE_PATH_TO_CSS_VAR_INFIX = {\n\t'border.color': 'color',\n\t'color.background': 'color',\n\t'color.text': 'color',\n\t'elements.link.color.text': 'color',\n\t'elements.link.:hover.color.text': 'color',\n\t'elements.link.typography.fontFamily': 'font-family',\n\t'elements.link.typography.fontSize': 'font-size',\n\t'elements.button.color.text': 'color',\n\t'elements.button.color.background': 'color',\n\t'elements.button.typography.fontFamily': 'font-family',\n\t'elements.button.typography.fontSize': 'font-size',\n\t'elements.caption.color.text': 'color',\n\t'elements.heading.color': 'color',\n\t'elements.heading.color.background': 'color',\n\t'elements.heading.typography.fontFamily': 'font-family',\n\t'elements.heading.gradient': 'gradient',\n\t'elements.heading.color.gradient': 'gradient',\n\t'elements.h1.color': 'color',\n\t'elements.h1.color.background': 'color',\n\t'elements.h1.typography.fontFamily': 'font-family',\n\t'elements.h1.color.gradient': 'gradient',\n\t'elements.h2.color': 'color',\n\t'elements.h2.color.background': 'color',\n\t'elements.h2.typography.fontFamily': 'font-family',\n\t'elements.h2.color.gradient': 'gradient',\n\t'elements.h3.color': 'color',\n\t'elements.h3.color.background': 'color',\n\t'elements.h3.typography.fontFamily': 'font-family',\n\t'elements.h3.color.gradient': 'gradient',\n\t'elements.h4.color': 'color',\n\t'elements.h4.color.background': 'color',\n\t'elements.h4.typography.fontFamily': 'font-family',\n\t'elements.h4.color.gradient': 'gradient',\n\t'elements.h5.color': 'color',\n\t'elements.h5.color.background': 'color',\n\t'elements.h5.typography.fontFamily': 'font-family',\n\t'elements.h5.color.gradient': 'gradient',\n\t'elements.h6.color': 'color',\n\t'elements.h6.color.background': 'color',\n\t'elements.h6.typography.fontFamily': 'font-family',\n\t'elements.h6.color.gradient': 'gradient',\n\t'color.gradient': 'gradient',\n\tblockGap: 'spacing',\n\t'typography.fontSize': 'font-size',\n\t'typography.fontFamily': 'font-family',\n};\n\n// TODO: Temporary duplication of constant in @wordpress/block-editor. Can be\n// removed by moving PushChangesToGlobalStylesControl to\n// @wordpress/block-editor.\nconst STYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE = {\n\t'border.color': 'borderColor',\n\t'color.background': 'backgroundColor',\n\t'color.text': 'textColor',\n\t'color.gradient': 'gradient',\n\t'typography.fontSize': 'fontSize',\n\t'typography.fontFamily': 'fontFamily',\n};\n\nconst SUPPORTED_STYLES = [ 'border', 'color', 'spacing', 'typography' ];\n\nconst getValueFromObjectPath = ( object, path ) => {\n\tlet value = object;\n\tpath.forEach( ( fieldName ) => {\n\t\tvalue = value?.[ fieldName ];\n\t} );\n\treturn value;\n};\n\nconst flatBorderProperties = [ 'borderColor', 'borderWidth', 'borderStyle' ];\nconst sides = [ 'top', 'right', 'bottom', 'left' ];\n\nfunction getBorderStyleChanges( border, presetColor, userStyle ) {\n\tif ( ! border && ! presetColor ) {\n\t\treturn [];\n\t}\n\n\tconst changes = [\n\t\t...getFallbackBorderStyleChange( 'top', border, userStyle ),\n\t\t...getFallbackBorderStyleChange( 'right', border, userStyle ),\n\t\t...getFallbackBorderStyleChange( 'bottom', border, userStyle ),\n\t\t...getFallbackBorderStyleChange( 'left', border, userStyle ),\n\t];\n\n\t// Handle a flat border i.e. all sides the same, CSS shorthand.\n\tconst { color: customColor, style, width } = border || {};\n\tconst hasColorOrWidth = presetColor || customColor || width;\n\n\tif ( hasColorOrWidth && ! style ) {\n\t\t// Global Styles need individual side configurations to overcome\n\t\t// theme.json configurations which are per side as well.\n\t\tsides.forEach( ( side ) => {\n\t\t\t// Only add fallback border-style if global styles don't already\n\t\t\t// have something set.\n\t\t\tif ( ! userStyle?.[ side ]?.style ) {\n\t\t\t\tchanges.push( {\n\t\t\t\t\tpath: [ 'border', side, 'style' ],\n\t\t\t\t\tvalue: 'solid',\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn changes;\n}\n\nfunction getFallbackBorderStyleChange( side, border, globalBorderStyle ) {\n\tif ( ! border?.[ side ] || globalBorderStyle?.[ side ]?.style ) {\n\t\treturn [];\n\t}\n\n\tconst { color, style, width } = border[ side ];\n\tconst hasColorOrWidth = color || width;\n\n\tif ( ! hasColorOrWidth || style ) {\n\t\treturn [];\n\t}\n\n\treturn [ { path: [ 'border', side, 'style' ], value: 'solid' } ];\n}\n\nfunction useChangesToPush( name, attributes, userConfig ) {\n\tconst supports = useSupportedStyles( name );\n\tconst blockUserConfig = userConfig?.styles?.blocks?.[ name ];\n\n\treturn useMemo( () => {\n\t\tconst changes = supports.flatMap( ( key ) => {\n\t\t\tif ( ! STYLE_PROPERTY[ key ] ) {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tconst { value: path } = STYLE_PROPERTY[ key ];\n\t\t\tconst presetAttributeKey = path.join( '.' );\n\t\t\tconst presetAttributeValue =\n\t\t\t\tattributes[\n\t\t\t\t\tSTYLE_PATH_TO_PRESET_BLOCK_ATTRIBUTE[ presetAttributeKey ]\n\t\t\t\t];\n\t\t\tconst value = presetAttributeValue\n\t\t\t\t? `var:preset|${ STYLE_PATH_TO_CSS_VAR_INFIX[ presetAttributeKey ] }|${ presetAttributeValue }`\n\t\t\t\t: getValueFromObjectPath( attributes.style, path );\n\n\t\t\t// Links only have a single support entry but have two element\n\t\t\t// style properties, color and hover color. The following check\n\t\t\t// will add the hover color to the changes if required.\n\t\t\tif ( key === 'linkColor' ) {\n\t\t\t\tconst linkChanges = value ? [ { path, value } ] : [];\n\t\t\t\tconst hoverPath = [\n\t\t\t\t\t'elements',\n\t\t\t\t\t'link',\n\t\t\t\t\t':hover',\n\t\t\t\t\t'color',\n\t\t\t\t\t'text',\n\t\t\t\t];\n\t\t\t\tconst hoverValue = getValueFromObjectPath(\n\t\t\t\t\tattributes.style,\n\t\t\t\t\thoverPath\n\t\t\t\t);\n\n\t\t\t\tif ( hoverValue ) {\n\t\t\t\t\tlinkChanges.push( { path: hoverPath, value: hoverValue } );\n\t\t\t\t}\n\n\t\t\t\treturn linkChanges;\n\t\t\t}\n\n\t\t\t// The shorthand border styles can't be mapped directly as global\n\t\t\t// styles requires longhand config.\n\t\t\tif ( flatBorderProperties.includes( key ) && value ) {\n\t\t\t\t// The shorthand config path is included to clear the block attribute.\n\t\t\t\tconst borderChanges = [ { path, value } ];\n\t\t\t\tsides.forEach( ( side ) => {\n\t\t\t\t\tconst currentPath = [ ...path ];\n\t\t\t\t\tcurrentPath.splice( -1, 0, side );\n\t\t\t\t\tborderChanges.push( { path: currentPath, value } );\n\t\t\t\t} );\n\t\t\t\treturn borderChanges;\n\t\t\t}\n\n\t\t\treturn value ? [ { path, value } ] : [];\n\t\t} );\n\n\t\t// To ensure display of a visible border, global styles require a\n\t\t// default border style if a border color or width is present.\n\t\tgetBorderStyleChanges(\n\t\t\tattributes.style?.border,\n\t\t\tattributes.borderColor,\n\t\t\tblockUserConfig?.border\n\t\t).forEach( ( change ) => changes.push( change ) );\n\n\t\treturn changes;\n\t}, [ supports, attributes, blockUserConfig ] );\n}\n\nfunction PushChangesToGlobalStylesControl( {\n\tname,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { user: userConfig, setUserConfig } =\n\t\tuseContext( GlobalStylesContext );\n\n\tconst changes = useChangesToPush( name, attributes, userConfig );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst pushChanges = useCallback( () => {\n\t\tif ( changes.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( changes.length > 0 ) {\n\t\t\tconst { style: blockStyles } = attributes;\n\n\t\t\tconst newBlockStyles = structuredClone( blockStyles );\n\t\t\tconst newUserConfig = structuredClone( userConfig );\n\n\t\t\tfor ( const { path, value } of changes ) {\n\t\t\t\tsetNestedValue( newBlockStyles, path, undefined );\n\t\t\t\tsetNestedValue(\n\t\t\t\t\tnewUserConfig,\n\t\t\t\t\t[ 'styles', 'blocks', name, ...path ],\n\t\t\t\t\tvalue\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst newBlockAttributes = {\n\t\t\t\tborderColor: undefined,\n\t\t\t\tbackgroundColor: undefined,\n\t\t\t\ttextColor: undefined,\n\t\t\t\tgradient: undefined,\n\t\t\t\tfontSize: undefined,\n\t\t\t\tfontFamily: undefined,\n\t\t\t\tstyle: cleanEmptyObject( newBlockStyles ),\n\t\t\t};\n\n\t\t\t// @wordpress/core-data doesn't support editing multiple entity types in\n\t\t\t// a single undo level. So for now, we disable @wordpress/core-data undo\n\t\t\t// tracking and implement our own Undo button in the snackbar\n\t\t\t// notification.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( newBlockAttributes );\n\t\t\tsetUserConfig( newUserConfig, { undoIgnore: true } );\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the block e.g. 'Heading'.\n\t\t\t\t\t__( '%s styles applied.' ),\n\t\t\t\t\tgetBlockType( name ).title\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\t\tsetAttributes( attributes );\n\t\t\t\t\t\t\t\tsetUserConfig( userConfig, {\n\t\t\t\t\t\t\t\t\tundoIgnore: true,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tattributes,\n\t\tchanges,\n\t\tcreateSuccessNotice,\n\t\tname,\n\t\tsetAttributes,\n\t\tsetUserConfig,\n\t\tuserConfig,\n\t] );\n\n\treturn (\n\t\t<BaseControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName=\"edit-site-push-changes-to-global-styles-control\"\n\t\t\thelp={ sprintf(\n\t\t\t\t// translators: %s: Title of the block e.g. 'Heading'.\n\t\t\t\t__(\n\t\t\t\t\t'Apply this block\u2019s typography, spacing, dimensions, and color styles to all %s blocks.'\n\t\t\t\t),\n\t\t\t\tgetBlockType( name ).title\n\t\t\t) }\n\t\t>\n\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t{ __( 'Styles' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taccessibleWhenDisabled\n\t\t\t\tdisabled={ changes.length === 0 }\n\t\t\t\tonClick={ pushChanges }\n\t\t\t>\n\t\t\t\t{ __( 'Apply globally' ) }\n\t\t\t</Button>\n\t\t</BaseControl>\n\t);\n}\n\nfunction PushChangesToGlobalStyles( props ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst isBlockBasedTheme = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme()?.is_block_theme,\n\t\t[]\n\t);\n\tconst supportsStyles = SUPPORTED_STYLES.some( ( feature ) =>\n\t\thasBlockSupport( props.name, feature )\n\t);\n\tconst isDisplayed =\n\t\tblockEditingMode === 'default' && supportsStyles && isBlockBasedTheme;\n\n\tif ( ! isDisplayed ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorAdvancedControls>\n\t\t\t<PushChangesToGlobalStylesControl { ...props } />\n\t\t</InspectorAdvancedControls>\n\t);\n}\n\nconst withPushChangesToGlobalStyles = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => (\n\t\t<>\n\t\t\t<BlockEdit key=\"edit\" { ...props } />\n\t\t\t{ props.isSelected && <PushChangesToGlobalStyles { ...props } /> }\n\t\t</>\n\t)\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/edit-site/push-changes-to-global-styles',\n\twithPushChangesToGlobalStyles\n);\n"],
5
+ "mappings": "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",
6
+ "names": ["import_hooks", "blockEditorPrivateApis", "blockEditorStore", "noticesStore", "setNestedValue", "coreStore"]
7
+ }
@@ -1,140 +1,107 @@
1
- /* wp:polyfill */
2
1
  "use strict";
3
-
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var use_theme_style_variations_by_property_exports = {};
20
+ __export(use_theme_style_variations_by_property_exports, {
21
+ filterObjectByProperties: () => filterObjectByProperties,
22
+ isVariationWithProperties: () => isVariationWithProperties,
23
+ removePropertiesFromObject: () => removePropertiesFromObject,
24
+ useCurrentMergeThemeStyleVariationsWithUserConfig: () => useCurrentMergeThemeStyleVariationsWithUserConfig
6
25
  });
7
- exports.filterObjectByProperties = void 0;
8
- exports.isVariationWithProperties = isVariationWithProperties;
9
- exports.removePropertiesFromObject = removePropertiesFromObject;
10
- exports.useCurrentMergeThemeStyleVariationsWithUserConfig = useCurrentMergeThemeStyleVariationsWithUserConfig;
11
- var _data = require("@wordpress/data");
12
- var _coreData = require("@wordpress/core-data");
13
- var _element = require("@wordpress/element");
14
- var _blockEditor = require("@wordpress/block-editor");
15
- var _editor = require("@wordpress/editor");
16
- var _i18n = require("@wordpress/i18n");
17
- var _lockUnlock = require("../../lock-unlock");
18
- /**
19
- * WordPress dependencies
20
- */
21
-
22
- /**
23
- * Internal dependencies
24
- */
25
-
26
+ module.exports = __toCommonJS(use_theme_style_variations_by_property_exports);
27
+ var import_data = require("@wordpress/data");
28
+ var import_core_data = require("@wordpress/core-data");
29
+ var import_element = require("@wordpress/element");
30
+ var import_block_editor = require("@wordpress/block-editor");
31
+ var import_editor = require("@wordpress/editor");
32
+ var import_i18n = require("@wordpress/i18n");
33
+ var import_lock_unlock = require("../../lock-unlock");
26
34
  const EMPTY_ARRAY = [];
27
- const {
28
- GlobalStylesContext,
29
- areGlobalStyleConfigsEqual
30
- } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
31
- const {
32
- mergeBaseAndUserConfigs
33
- } = (0, _lockUnlock.unlock)(_editor.privateApis);
34
-
35
- /**
36
- * Removes all instances of properties from an object.
37
- *
38
- * @param {Object} object The object to remove the properties from.
39
- * @param {string[]} properties The properties to remove.
40
- * @return {Object} The modified object.
41
- */
35
+ const { GlobalStylesContext, areGlobalStyleConfigsEqual } = (0, import_lock_unlock.unlock)(
36
+ import_block_editor.privateApis
37
+ );
38
+ const { mergeBaseAndUserConfigs } = (0, import_lock_unlock.unlock)(import_editor.privateApis);
42
39
  function removePropertiesFromObject(object, properties) {
43
40
  if (!properties?.length) {
44
41
  return object;
45
42
  }
46
- if (typeof object !== 'object' || !object || !Object.keys(object).length) {
43
+ if (typeof object !== "object" || !object || !Object.keys(object).length) {
47
44
  return object;
48
45
  }
49
46
  for (const key in object) {
50
47
  if (properties.includes(key)) {
51
48
  delete object[key];
52
- } else if (typeof object[key] === 'object') {
49
+ } else if (typeof object[key] === "object") {
53
50
  removePropertiesFromObject(object[key], properties);
54
51
  }
55
52
  }
56
53
  return object;
57
54
  }
58
-
59
- /**
60
- * Checks whether a style variation is empty.
61
- *
62
- * @param {Object} variation A style variation object.
63
- * @param {string} variation.title The title of the variation.
64
- * @param {Object} variation.settings The settings of the variation.
65
- * @param {Object} variation.styles The styles of the variation.
66
- * @return {boolean} Whether the variation is empty.
67
- */
68
- function hasThemeVariation({
69
- title,
70
- settings,
71
- styles
72
- }) {
73
- return title === (0, _i18n.__)('Default') ||
74
- // Always preserve the default variation.
55
+ function hasThemeVariation({ title, settings, styles }) {
56
+ return title === (0, import_i18n.__)("Default") || // Always preserve the default variation.
75
57
  Object.keys(settings).length > 0 || Object.keys(styles).length > 0;
76
58
  }
77
-
78
- /**
79
- * Fetches the current theme style variations that contain only the specified properties
80
- * and merges them with the user config.
81
- *
82
- * @param {string[]} properties The properties to filter by.
83
- * @return {Object[]|*} The merged object.
84
- */
85
59
  function useCurrentMergeThemeStyleVariationsWithUserConfig(properties = []) {
86
- const {
87
- variationsFromTheme
88
- } = (0, _data.useSelect)(select => {
89
- const _variationsFromTheme = select(_coreData.store).__experimentalGetCurrentThemeGlobalStylesVariations();
60
+ const { variationsFromTheme } = (0, import_data.useSelect)((select) => {
61
+ const _variationsFromTheme = select(
62
+ import_core_data.store
63
+ ).__experimentalGetCurrentThemeGlobalStylesVariations();
90
64
  return {
91
65
  variationsFromTheme: _variationsFromTheme || EMPTY_ARRAY
92
66
  };
93
67
  }, []);
94
- const {
95
- user: userVariation
96
- } = (0, _element.useContext)(GlobalStylesContext);
68
+ const { user: userVariation } = (0, import_element.useContext)(GlobalStylesContext);
97
69
  const propertiesAsString = properties.toString();
98
- return (0, _element.useMemo)(() => {
70
+ return (0, import_element.useMemo)(() => {
99
71
  const clonedUserVariation = structuredClone(userVariation);
100
-
101
- // Get user variation and remove the settings for the given property.
102
- const userVariationWithoutProperties = removePropertiesFromObject(clonedUserVariation, properties);
103
- userVariationWithoutProperties.title = (0, _i18n.__)('Default');
104
- const variationsWithPropertiesAndBase = variationsFromTheme.filter(variation => {
72
+ const userVariationWithoutProperties = removePropertiesFromObject(
73
+ clonedUserVariation,
74
+ properties
75
+ );
76
+ userVariationWithoutProperties.title = (0, import_i18n.__)("Default");
77
+ const variationsWithPropertiesAndBase = variationsFromTheme.filter((variation) => {
105
78
  return isVariationWithProperties(variation, properties);
106
- }).map(variation => {
107
- return mergeBaseAndUserConfigs(userVariationWithoutProperties, variation);
79
+ }).map((variation) => {
80
+ return mergeBaseAndUserConfigs(
81
+ userVariationWithoutProperties,
82
+ variation
83
+ );
108
84
  });
109
- const variationsByProperties = [userVariationWithoutProperties, ...variationsWithPropertiesAndBase];
110
-
111
- /*
112
- * Filter out variations with no settings or styles.
113
- */
85
+ const variationsByProperties = [
86
+ userVariationWithoutProperties,
87
+ ...variationsWithPropertiesAndBase
88
+ ];
114
89
  return variationsByProperties?.length ? variationsByProperties.filter(hasThemeVariation) : [];
115
90
  }, [propertiesAsString, userVariation, variationsFromTheme]);
116
91
  }
117
-
118
- /**
119
- * Returns a new object, with properties specified in `properties` array.,
120
- * maintain the original object tree structure.
121
- * The function is recursive, so it will perform a deep search for the given properties.
122
- * E.g., the function will return `{ a: { b: { c: { test: 1 } } } }` if the properties are `[ 'test' ]`.
123
- *
124
- * @param {Object} object The object to filter
125
- * @param {string[]} properties The properties to filter by
126
- * @return {Object} The merged object.
127
- */
128
92
  const filterObjectByProperties = (object, properties) => {
129
93
  if (!object || !properties?.length) {
130
94
  return {};
131
95
  }
132
96
  const newObject = {};
133
- Object.keys(object).forEach(key => {
97
+ Object.keys(object).forEach((key) => {
134
98
  if (properties.includes(key)) {
135
99
  newObject[key] = object[key];
136
- } else if (typeof object[key] === 'object') {
137
- const newFilter = filterObjectByProperties(object[key], properties);
100
+ } else if (typeof object[key] === "object") {
101
+ const newFilter = filterObjectByProperties(
102
+ object[key],
103
+ properties
104
+ );
138
105
  if (Object.keys(newFilter).length) {
139
106
  newObject[key] = newFilter;
140
107
  }
@@ -142,18 +109,18 @@ const filterObjectByProperties = (object, properties) => {
142
109
  });
143
110
  return newObject;
144
111
  };
145
-
146
- /**
147
- * Compares a style variation to the same variation filtered by the specified properties.
148
- * Returns true if the variation contains only the properties specified.
149
- *
150
- * @param {Object} variation The variation to compare.
151
- * @param {string[]} properties The properties to compare.
152
- * @return {boolean} Whether the variation contains only the specified properties.
153
- */
154
- exports.filterObjectByProperties = filterObjectByProperties;
155
112
  function isVariationWithProperties(variation, properties) {
156
- const variationWithProperties = filterObjectByProperties(structuredClone(variation), properties);
113
+ const variationWithProperties = filterObjectByProperties(
114
+ structuredClone(variation),
115
+ properties
116
+ );
157
117
  return areGlobalStyleConfigsEqual(variationWithProperties, variation);
158
118
  }
159
- //# sourceMappingURL=use-theme-style-variations-by-property.js.map
119
+ // Annotate the CommonJS export names for ESM import in node:
120
+ 0 && (module.exports = {
121
+ filterObjectByProperties,
122
+ isVariationWithProperties,
123
+ removePropertiesFromObject,
124
+ useCurrentMergeThemeStyleVariationsWithUserConfig
125
+ });
126
+ //# sourceMappingURL=use-theme-style-variations-by-property.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["_data","require","_coreData","_element","_blockEditor","_editor","_i18n","_lockUnlock","EMPTY_ARRAY","GlobalStylesContext","areGlobalStyleConfigsEqual","unlock","blockEditorPrivateApis","mergeBaseAndUserConfigs","editorPrivateApis","removePropertiesFromObject","object","properties","length","Object","keys","key","includes","hasThemeVariation","title","settings","styles","__","useCurrentMergeThemeStyleVariationsWithUserConfig","variationsFromTheme","useSelect","select","_variationsFromTheme","coreStore","__experimentalGetCurrentThemeGlobalStylesVariations","user","userVariation","useContext","propertiesAsString","toString","useMemo","clonedUserVariation","structuredClone","userVariationWithoutProperties","variationsWithPropertiesAndBase","filter","variation","isVariationWithProperties","map","variationsByProperties","filterObjectByProperties","newObject","forEach","newFilter","exports","variationWithProperties"],"sources":["@wordpress/edit-site/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_ARRAY = [];\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\n/**\n * Removes all instances of properties from an object.\n *\n * @param {Object} object The object to remove the properties from.\n * @param {string[]} properties The properties to remove.\n * @return {Object} The modified object.\n */\nexport function removePropertiesFromObject( object, properties ) {\n\tif ( ! properties?.length ) {\n\t\treturn object;\n\t}\n\n\tif (\n\t\ttypeof object !== 'object' ||\n\t\t! object ||\n\t\t! Object.keys( object ).length\n\t) {\n\t\treturn object;\n\t}\n\n\tfor ( const key in object ) {\n\t\tif ( properties.includes( key ) ) {\n\t\t\tdelete object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tremovePropertiesFromObject( object[ key ], properties );\n\t\t}\n\t}\n\treturn object;\n}\n\n/**\n * Checks whether a style variation is empty.\n *\n * @param {Object} variation A style variation object.\n * @param {string} variation.title The title of the variation.\n * @param {Object} variation.settings The settings of the variation.\n * @param {Object} variation.styles The styles of the variation.\n * @return {boolean} Whether the variation is empty.\n */\nfunction hasThemeVariation( { title, settings, styles } ) {\n\treturn (\n\t\ttitle === __( 'Default' ) || // Always preserve the default variation.\n\t\tObject.keys( settings ).length > 0 ||\n\t\tObject.keys( styles ).length > 0\n\t);\n}\n\n/**\n * Fetches the current theme style variations that contain only the specified properties\n * and merges them with the user config.\n *\n * @param {string[]} properties The properties to filter by.\n * @return {Object[]|*} The merged object.\n */\nexport function useCurrentMergeThemeStyleVariationsWithUserConfig(\n\tproperties = []\n) {\n\tconst { variationsFromTheme } = useSelect( ( select ) => {\n\t\tconst _variationsFromTheme =\n\t\t\tselect(\n\t\t\t\tcoreStore\n\t\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\n\t\treturn {\n\t\t\tvariationsFromTheme: _variationsFromTheme || EMPTY_ARRAY,\n\t\t};\n\t}, [] );\n\tconst { user: userVariation } = useContext( GlobalStylesContext );\n\n\tconst propertiesAsString = properties.toString();\n\n\treturn useMemo( () => {\n\t\tconst clonedUserVariation = structuredClone( userVariation );\n\n\t\t// Get user variation and remove the settings for the given property.\n\t\tconst userVariationWithoutProperties = removePropertiesFromObject(\n\t\t\tclonedUserVariation,\n\t\t\tproperties\n\t\t);\n\t\tuserVariationWithoutProperties.title = __( 'Default' );\n\n\t\tconst variationsWithPropertiesAndBase = variationsFromTheme\n\t\t\t.filter( ( variation ) => {\n\t\t\t\treturn isVariationWithProperties( variation, properties );\n\t\t\t} )\n\t\t\t.map( ( variation ) => {\n\t\t\t\treturn mergeBaseAndUserConfigs(\n\t\t\t\t\tuserVariationWithoutProperties,\n\t\t\t\t\tvariation\n\t\t\t\t);\n\t\t\t} );\n\n\t\tconst variationsByProperties = [\n\t\t\tuserVariationWithoutProperties,\n\t\t\t...variationsWithPropertiesAndBase,\n\t\t];\n\n\t\t/*\n\t\t * Filter out variations with no settings or styles.\n\t\t */\n\t\treturn variationsByProperties?.length\n\t\t\t? variationsByProperties.filter( hasThemeVariation )\n\t\t\t: [];\n\t}, [ propertiesAsString, userVariation, variationsFromTheme ] );\n}\n\n/**\n * Returns a new object, with properties specified in `properties` array.,\n * maintain the original object tree structure.\n * The function is recursive, so it will perform a deep search for the given properties.\n * E.g., the function will return `{ a: { b: { c: { test: 1 } } } }` if the properties are `[ 'test' ]`.\n *\n * @param {Object} object The object to filter\n * @param {string[]} properties The properties to filter by\n * @return {Object} The merged object.\n */\nexport const filterObjectByProperties = ( object, properties ) => {\n\tif ( ! object || ! properties?.length ) {\n\t\treturn {};\n\t}\n\n\tconst newObject = {};\n\tObject.keys( object ).forEach( ( key ) => {\n\t\tif ( properties.includes( key ) ) {\n\t\t\tnewObject[ key ] = object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tconst newFilter = filterObjectByProperties(\n\t\t\t\tobject[ key ],\n\t\t\t\tproperties\n\t\t\t);\n\t\t\tif ( Object.keys( newFilter ).length ) {\n\t\t\t\tnewObject[ key ] = newFilter;\n\t\t\t}\n\t\t}\n\t} );\n\treturn newObject;\n};\n\n/**\n * Compares a style variation to the same variation filtered by the specified properties.\n * Returns true if the variation contains only the properties specified.\n *\n * @param {Object} variation The variation to compare.\n * @param {string[]} properties The properties to compare.\n * @return {boolean} Whether the variation contains only the specified properties.\n */\nexport function isVariationWithProperties( variation, properties ) {\n\tconst variationWithProperties = filterObjectByProperties(\n\t\tstructuredClone( variation ),\n\t\tproperties\n\t);\n\n\treturn areGlobalStyleConfigsEqual( variationWithProperties, variation );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useContext, useMemo } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst EMPTY_ARRAY = [];\nconst { GlobalStylesContext, areGlobalStyleConfigsEqual } = unlock(\n\tblockEditorPrivateApis\n);\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\n/**\n * Removes all instances of properties from an object.\n *\n * @param {Object} object The object to remove the properties from.\n * @param {string[]} properties The properties to remove.\n * @return {Object} The modified object.\n */\nexport function removePropertiesFromObject( object, properties ) {\n\tif ( ! properties?.length ) {\n\t\treturn object;\n\t}\n\n\tif (\n\t\ttypeof object !== 'object' ||\n\t\t! object ||\n\t\t! Object.keys( object ).length\n\t) {\n\t\treturn object;\n\t}\n\n\tfor ( const key in object ) {\n\t\tif ( properties.includes( key ) ) {\n\t\t\tdelete object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tremovePropertiesFromObject( object[ key ], properties );\n\t\t}\n\t}\n\treturn object;\n}\n\n/**\n * Checks whether a style variation is empty.\n *\n * @param {Object} variation A style variation object.\n * @param {string} variation.title The title of the variation.\n * @param {Object} variation.settings The settings of the variation.\n * @param {Object} variation.styles The styles of the variation.\n * @return {boolean} Whether the variation is empty.\n */\nfunction hasThemeVariation( { title, settings, styles } ) {\n\treturn (\n\t\ttitle === __( 'Default' ) || // Always preserve the default variation.\n\t\tObject.keys( settings ).length > 0 ||\n\t\tObject.keys( styles ).length > 0\n\t);\n}\n\n/**\n * Fetches the current theme style variations that contain only the specified properties\n * and merges them with the user config.\n *\n * @param {string[]} properties The properties to filter by.\n * @return {Object[]|*} The merged object.\n */\nexport function useCurrentMergeThemeStyleVariationsWithUserConfig(\n\tproperties = []\n) {\n\tconst { variationsFromTheme } = useSelect( ( select ) => {\n\t\tconst _variationsFromTheme =\n\t\t\tselect(\n\t\t\t\tcoreStore\n\t\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\n\t\treturn {\n\t\t\tvariationsFromTheme: _variationsFromTheme || EMPTY_ARRAY,\n\t\t};\n\t}, [] );\n\tconst { user: userVariation } = useContext( GlobalStylesContext );\n\n\tconst propertiesAsString = properties.toString();\n\n\treturn useMemo( () => {\n\t\tconst clonedUserVariation = structuredClone( userVariation );\n\n\t\t// Get user variation and remove the settings for the given property.\n\t\tconst userVariationWithoutProperties = removePropertiesFromObject(\n\t\t\tclonedUserVariation,\n\t\t\tproperties\n\t\t);\n\t\tuserVariationWithoutProperties.title = __( 'Default' );\n\n\t\tconst variationsWithPropertiesAndBase = variationsFromTheme\n\t\t\t.filter( ( variation ) => {\n\t\t\t\treturn isVariationWithProperties( variation, properties );\n\t\t\t} )\n\t\t\t.map( ( variation ) => {\n\t\t\t\treturn mergeBaseAndUserConfigs(\n\t\t\t\t\tuserVariationWithoutProperties,\n\t\t\t\t\tvariation\n\t\t\t\t);\n\t\t\t} );\n\n\t\tconst variationsByProperties = [\n\t\t\tuserVariationWithoutProperties,\n\t\t\t...variationsWithPropertiesAndBase,\n\t\t];\n\n\t\t/*\n\t\t * Filter out variations with no settings or styles.\n\t\t */\n\t\treturn variationsByProperties?.length\n\t\t\t? variationsByProperties.filter( hasThemeVariation )\n\t\t\t: [];\n\t}, [ propertiesAsString, userVariation, variationsFromTheme ] );\n}\n\n/**\n * Returns a new object, with properties specified in `properties` array.,\n * maintain the original object tree structure.\n * The function is recursive, so it will perform a deep search for the given properties.\n * E.g., the function will return `{ a: { b: { c: { test: 1 } } } }` if the properties are `[ 'test' ]`.\n *\n * @param {Object} object The object to filter\n * @param {string[]} properties The properties to filter by\n * @return {Object} The merged object.\n */\nexport const filterObjectByProperties = ( object, properties ) => {\n\tif ( ! object || ! properties?.length ) {\n\t\treturn {};\n\t}\n\n\tconst newObject = {};\n\tObject.keys( object ).forEach( ( key ) => {\n\t\tif ( properties.includes( key ) ) {\n\t\t\tnewObject[ key ] = object[ key ];\n\t\t} else if ( typeof object[ key ] === 'object' ) {\n\t\t\tconst newFilter = filterObjectByProperties(\n\t\t\t\tobject[ key ],\n\t\t\t\tproperties\n\t\t\t);\n\t\t\tif ( Object.keys( newFilter ).length ) {\n\t\t\t\tnewObject[ key ] = newFilter;\n\t\t\t}\n\t\t}\n\t} );\n\treturn newObject;\n};\n\n/**\n * Compares a style variation to the same variation filtered by the specified properties.\n * Returns true if the variation contains only the properties specified.\n *\n * @param {Object} variation The variation to compare.\n * @param {string[]} properties The properties to compare.\n * @return {boolean} Whether the variation contains only the specified properties.\n */\nexport function isVariationWithProperties( variation, properties ) {\n\tconst variationWithProperties = filterObjectByProperties(\n\t\tstructuredClone( variation ),\n\t\tproperties\n\t);\n\n\treturn areGlobalStyleConfigsEqual( variationWithProperties, variation );\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["blockEditorPrivateApis", "editorPrivateApis", "coreStore"]
7
+ }