@wordpress/edit-site 6.13.1-next.cd6172eb0.0 → 6.15.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 (480) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +1 -1
  3. package/build/components/add-new-pattern/index.js +7 -10
  4. package/build/components/add-new-pattern/index.js.map +1 -1
  5. package/build/components/add-new-post/index.js +1 -1
  6. package/build/components/add-new-post/index.js.map +1 -1
  7. package/build/components/add-new-template/add-custom-template-modal-content.js +1 -0
  8. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  9. package/build/components/add-new-template/index.js +1 -0
  10. package/build/components/add-new-template/index.js.map +1 -1
  11. package/build/components/add-new-template/utils.js +1 -0
  12. package/build/components/add-new-template/utils.js.map +1 -1
  13. package/build/components/editor/index.js +1 -9
  14. package/build/components/editor/index.js.map +1 -1
  15. package/build/components/editor-canvas-container/index.js +1 -0
  16. package/build/components/editor-canvas-container/index.js.map +1 -1
  17. package/build/components/global-styles/confirm-reset-shadow-dialog.js +39 -0
  18. package/build/components/global-styles/confirm-reset-shadow-dialog.js.map +1 -0
  19. package/build/components/global-styles/font-families.js +1 -0
  20. package/build/components/global-styles/font-families.js.map +1 -1
  21. package/build/components/global-styles/font-library-modal/context.js +1 -0
  22. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  23. package/build/components/global-styles/font-library-modal/font-collection.js +1 -0
  24. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  25. package/build/components/global-styles/font-library-modal/font-demo.js +1 -0
  26. package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  27. package/build/components/global-styles/font-library-modal/index.js +2 -1
  28. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  29. package/build/components/global-styles/font-library-modal/installed-fonts.js +1 -0
  30. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  31. package/build/components/global-styles/font-library-modal/library-font-details.js +1 -0
  32. package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  33. package/build/components/global-styles/font-library-modal/upload-fonts.js +1 -0
  34. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  35. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +1 -0
  36. package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
  37. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +1 -0
  38. package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
  39. package/build/components/global-styles/font-library-modal/utils/index.js +1 -0
  40. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  41. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +1 -0
  42. package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -1
  43. package/build/components/global-styles/font-library-modal/utils/preview-styles.js +1 -0
  44. package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  45. package/build/components/global-styles/font-library-modal/utils/toggleFont.js +1 -0
  46. package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -1
  47. package/build/components/global-styles/font-sizes/font-size.js +18 -14
  48. package/build/components/global-styles/font-sizes/font-size.js.map +1 -1
  49. package/build/components/global-styles/font-sizes/font-sizes.js +18 -20
  50. package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -1
  51. package/build/components/global-styles/highlighted-colors.js +1 -0
  52. package/build/components/global-styles/highlighted-colors.js.map +1 -1
  53. package/build/components/global-styles/hooks.js +1 -0
  54. package/build/components/global-styles/hooks.js.map +1 -1
  55. package/build/components/global-styles/palette.js +1 -0
  56. package/build/components/global-styles/palette.js.map +1 -1
  57. package/build/components/global-styles/preset-colors.js +1 -0
  58. package/build/components/global-styles/preset-colors.js.map +1 -1
  59. package/build/components/global-styles/preview-colors.js +2 -2
  60. package/build/components/global-styles/preview-colors.js.map +1 -1
  61. package/build/components/global-styles/preview-styles.js +3 -2
  62. package/build/components/global-styles/preview-styles.js.map +1 -1
  63. package/build/components/global-styles/preview-typography.js +2 -2
  64. package/build/components/global-styles/preview-typography.js.map +1 -1
  65. package/build/components/global-styles/{preview-iframe.js → preview-wrapper.js} +11 -29
  66. package/build/components/global-styles/preview-wrapper.js.map +1 -0
  67. package/build/components/global-styles/screen-block-list.js +1 -0
  68. package/build/components/global-styles/screen-block-list.js.map +1 -1
  69. package/build/components/global-styles/screen-block.js +1 -1
  70. package/build/components/global-styles/screen-block.js.map +1 -1
  71. package/build/components/global-styles/screen-revisions/revisions-buttons.js +1 -0
  72. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  73. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -0
  74. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  75. package/build/components/global-styles/shadow-utils.js +1 -0
  76. package/build/components/global-styles/shadow-utils.js.map +1 -1
  77. package/build/components/global-styles/shadows-edit-panel.js +36 -34
  78. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  79. package/build/components/global-styles/shadows-panel.js +44 -5
  80. package/build/components/global-styles/shadows-panel.js.map +1 -1
  81. package/build/components/global-styles/style-variations-container.js +1 -0
  82. package/build/components/global-styles/style-variations-container.js.map +1 -1
  83. package/build/components/global-styles/typeset.js +1 -0
  84. package/build/components/global-styles/typeset.js.map +1 -1
  85. package/build/components/global-styles/typography-example.js +8 -1
  86. package/build/components/global-styles/typography-example.js.map +1 -1
  87. package/build/components/global-styles/ui.js +1 -0
  88. package/build/components/global-styles/ui.js.map +1 -1
  89. package/build/components/global-styles/utils.js +1 -0
  90. package/build/components/global-styles/utils.js.map +1 -1
  91. package/build/components/global-styles/variations/variations-color.js +1 -0
  92. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  93. package/build/components/global-styles/variations/variations-panel.js +1 -0
  94. package/build/components/global-styles/variations/variations-panel.js.map +1 -1
  95. package/build/components/global-styles/variations/variations-typography.js +1 -0
  96. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  97. package/build/components/global-styles-renderer/index.js +1 -0
  98. package/build/components/global-styles-renderer/index.js.map +1 -1
  99. package/build/components/layout/index.js +24 -8
  100. package/build/components/layout/index.js.map +1 -1
  101. package/build/components/maybe-editor/index.js +65 -0
  102. package/build/components/maybe-editor/index.js.map +1 -0
  103. package/build/components/media/index.js +1 -0
  104. package/build/components/media/index.js.map +1 -1
  105. package/build/components/page-patterns/fields.js +8 -82
  106. package/build/components/page-patterns/fields.js.map +1 -1
  107. package/build/components/page-patterns/header.js +1 -0
  108. package/build/components/page-patterns/header.js.map +1 -1
  109. package/build/components/page-patterns/index.js +18 -14
  110. package/build/components/page-patterns/index.js.map +1 -1
  111. package/build/components/page-patterns/search-items.js +1 -0
  112. package/build/components/page-patterns/search-items.js.map +1 -1
  113. package/build/components/page-patterns/use-pattern-settings.js +1 -0
  114. package/build/components/page-patterns/use-pattern-settings.js.map +1 -1
  115. package/build/components/page-patterns/use-patterns.js +1 -0
  116. package/build/components/page-patterns/use-patterns.js.map +1 -1
  117. package/build/components/page-templates/fields.js +7 -39
  118. package/build/components/page-templates/fields.js.map +1 -1
  119. package/build/components/page-templates/index.js +38 -41
  120. package/build/components/page-templates/index.js.map +1 -1
  121. package/build/components/post-edit/index.js +16 -8
  122. package/build/components/post-edit/index.js.map +1 -1
  123. package/build/components/post-list/index.js +40 -21
  124. package/build/components/post-list/index.js.map +1 -1
  125. package/build/components/posts-app-routes/index.js +1 -0
  126. package/build/components/posts-app-routes/index.js.map +1 -1
  127. package/build/components/resizable-frame/index.js +9 -1
  128. package/build/components/resizable-frame/index.js.map +1 -1
  129. package/build/components/save-button/index.js +1 -0
  130. package/build/components/save-button/index.js.map +1 -1
  131. package/build/components/save-hub/index.js +1 -0
  132. package/build/components/save-hub/index.js.map +1 -1
  133. package/build/components/save-keyboard-shortcut/index.js +1 -0
  134. package/build/components/save-keyboard-shortcut/index.js.map +1 -1
  135. package/build/components/save-panel/index.js +1 -0
  136. package/build/components/save-panel/index.js.map +1 -1
  137. package/build/components/sidebar/index.js +1 -0
  138. package/build/components/sidebar/index.js.map +1 -1
  139. package/build/components/sidebar-dataviews/custom-dataviews-list.js +6 -7
  140. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  141. package/build/components/sidebar-dataviews/dataview-item.js +1 -0
  142. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  143. package/build/components/sidebar-dataviews/default-views.js +10 -26
  144. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  145. package/build/components/sidebar-dataviews/index.js +2 -0
  146. package/build/components/sidebar-dataviews/index.js.map +1 -1
  147. package/build/components/sidebar-global-styles-wrapper/index.js +40 -71
  148. package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -1
  149. package/build/components/sidebar-navigation-screen-global-styles/content.js +12 -38
  150. package/build/components/sidebar-navigation-screen-global-styles/content.js.map +1 -1
  151. package/build/components/sidebar-navigation-screen-main/index.js +38 -23
  152. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  153. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +1 -0
  154. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  155. package/build/components/sidebar-navigation-screen-patterns/index.js +1 -4
  156. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  157. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -0
  158. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  159. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +1 -0
  160. package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  161. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -0
  162. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  163. package/build/components/sidebar-navigation-screen-templates-browse/content.js +2 -0
  164. package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  165. package/build/components/site-editor-routes/home.js +4 -2
  166. package/build/components/site-editor-routes/home.js.map +1 -1
  167. package/build/components/site-editor-routes/index.js +3 -1
  168. package/build/components/site-editor-routes/index.js.map +1 -1
  169. package/build/components/site-editor-routes/stylebook.js +37 -0
  170. package/build/components/site-editor-routes/stylebook.js.map +1 -0
  171. package/build/components/site-editor-routes/styles.js +7 -1
  172. package/build/components/site-editor-routes/styles.js.map +1 -1
  173. package/build/components/site-editor-routes/template-item.js +3 -3
  174. package/build/components/site-editor-routes/template-item.js.map +1 -1
  175. package/build/components/site-editor-routes/template-part-item.js +3 -3
  176. package/build/components/site-editor-routes/template-part-item.js.map +1 -1
  177. package/build/components/style-book/categories.js +1 -0
  178. package/build/components/style-book/categories.js.map +1 -1
  179. package/build/components/style-book/color-examples.js +9 -3
  180. package/build/components/style-book/color-examples.js.map +1 -1
  181. package/build/components/style-book/constants.js +36 -3
  182. package/build/components/style-book/constants.js.map +1 -1
  183. package/build/components/style-book/duotone-examples.js +1 -0
  184. package/build/components/style-book/duotone-examples.js.map +1 -1
  185. package/build/components/style-book/examples.js +48 -30
  186. package/build/components/style-book/examples.js.map +1 -1
  187. package/build/components/style-book/index.js +185 -61
  188. package/build/components/style-book/index.js.map +1 -1
  189. package/build/components/style-book/types.js.map +1 -1
  190. package/build/index.js +1 -0
  191. package/build/index.js.map +1 -1
  192. package/build/posts.js +1 -0
  193. package/build/posts.js.map +1 -1
  194. package/build/store/reducer.js +1 -0
  195. package/build/store/reducer.js.map +1 -1
  196. package/build/utils/get-filtered-template-parts.js +1 -0
  197. package/build/utils/get-filtered-template-parts.js.map +1 -1
  198. package/build/utils/set-nested-value.js +1 -0
  199. package/build/utils/set-nested-value.js.map +1 -1
  200. package/build-module/components/add-new-pattern/index.js +7 -10
  201. package/build-module/components/add-new-pattern/index.js.map +1 -1
  202. package/build-module/components/add-new-post/index.js +1 -1
  203. package/build-module/components/add-new-post/index.js.map +1 -1
  204. package/build-module/components/add-new-template/add-custom-template-modal-content.js +1 -0
  205. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  206. package/build-module/components/add-new-template/index.js +1 -0
  207. package/build-module/components/add-new-template/index.js.map +1 -1
  208. package/build-module/components/add-new-template/utils.js +1 -0
  209. package/build-module/components/add-new-template/utils.js.map +1 -1
  210. package/build-module/components/editor/index.js +1 -9
  211. package/build-module/components/editor/index.js.map +1 -1
  212. package/build-module/components/editor-canvas-container/index.js +1 -0
  213. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  214. package/build-module/components/global-styles/confirm-reset-shadow-dialog.js +32 -0
  215. package/build-module/components/global-styles/confirm-reset-shadow-dialog.js.map +1 -0
  216. package/build-module/components/global-styles/font-families.js +1 -0
  217. package/build-module/components/global-styles/font-families.js.map +1 -1
  218. package/build-module/components/global-styles/font-library-modal/context.js +1 -0
  219. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  220. package/build-module/components/global-styles/font-library-modal/font-collection.js +1 -0
  221. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  222. package/build-module/components/global-styles/font-library-modal/font-demo.js +1 -0
  223. package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
  224. package/build-module/components/global-styles/font-library-modal/index.js +2 -1
  225. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  226. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +1 -0
  227. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  228. package/build-module/components/global-styles/font-library-modal/library-font-details.js +1 -0
  229. package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
  230. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +1 -0
  231. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  232. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +1 -0
  233. package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
  234. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +1 -0
  235. package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
  236. package/build-module/components/global-styles/font-library-modal/utils/index.js +1 -0
  237. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  238. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +1 -0
  239. package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -1
  240. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +1 -0
  241. package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
  242. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +1 -0
  243. package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -1
  244. package/build-module/components/global-styles/font-sizes/font-size.js +18 -14
  245. package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -1
  246. package/build-module/components/global-styles/font-sizes/font-sizes.js +25 -27
  247. package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -1
  248. package/build-module/components/global-styles/highlighted-colors.js +1 -0
  249. package/build-module/components/global-styles/highlighted-colors.js.map +1 -1
  250. package/build-module/components/global-styles/hooks.js +1 -0
  251. package/build-module/components/global-styles/hooks.js.map +1 -1
  252. package/build-module/components/global-styles/palette.js +1 -0
  253. package/build-module/components/global-styles/palette.js.map +1 -1
  254. package/build-module/components/global-styles/preset-colors.js +1 -0
  255. package/build-module/components/global-styles/preset-colors.js.map +1 -1
  256. package/build-module/components/global-styles/preview-colors.js +2 -2
  257. package/build-module/components/global-styles/preview-colors.js.map +1 -1
  258. package/build-module/components/global-styles/preview-styles.js +3 -2
  259. package/build-module/components/global-styles/preview-styles.js.map +1 -1
  260. package/build-module/components/global-styles/preview-typography.js +2 -2
  261. package/build-module/components/global-styles/preview-typography.js.map +1 -1
  262. package/build-module/components/global-styles/{preview-iframe.js → preview-wrapper.js} +13 -31
  263. package/build-module/components/global-styles/preview-wrapper.js.map +1 -0
  264. package/build-module/components/global-styles/screen-block-list.js +1 -0
  265. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  266. package/build-module/components/global-styles/screen-block.js +1 -1
  267. package/build-module/components/global-styles/screen-block.js.map +1 -1
  268. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +1 -0
  269. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  270. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -0
  271. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  272. package/build-module/components/global-styles/shadow-utils.js +1 -0
  273. package/build-module/components/global-styles/shadow-utils.js.map +1 -1
  274. package/build-module/components/global-styles/shadows-edit-panel.js +37 -35
  275. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  276. package/build-module/components/global-styles/shadows-panel.js +47 -8
  277. package/build-module/components/global-styles/shadows-panel.js.map +1 -1
  278. package/build-module/components/global-styles/style-variations-container.js +1 -0
  279. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  280. package/build-module/components/global-styles/typeset.js +1 -0
  281. package/build-module/components/global-styles/typeset.js.map +1 -1
  282. package/build-module/components/global-styles/typography-example.js +8 -1
  283. package/build-module/components/global-styles/typography-example.js.map +1 -1
  284. package/build-module/components/global-styles/ui.js +1 -0
  285. package/build-module/components/global-styles/ui.js.map +1 -1
  286. package/build-module/components/global-styles/utils.js +1 -0
  287. package/build-module/components/global-styles/utils.js.map +1 -1
  288. package/build-module/components/global-styles/variations/variations-color.js +1 -0
  289. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  290. package/build-module/components/global-styles/variations/variations-panel.js +1 -0
  291. package/build-module/components/global-styles/variations/variations-panel.js.map +1 -1
  292. package/build-module/components/global-styles/variations/variations-typography.js +1 -0
  293. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  294. package/build-module/components/global-styles-renderer/index.js +1 -0
  295. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  296. package/build-module/components/layout/index.js +25 -9
  297. package/build-module/components/layout/index.js.map +1 -1
  298. package/build-module/components/maybe-editor/index.js +59 -0
  299. package/build-module/components/maybe-editor/index.js.map +1 -0
  300. package/build-module/components/media/index.js +1 -0
  301. package/build-module/components/media/index.js.map +1 -1
  302. package/build-module/components/page-patterns/fields.js +10 -84
  303. package/build-module/components/page-patterns/fields.js.map +1 -1
  304. package/build-module/components/page-patterns/header.js +1 -0
  305. package/build-module/components/page-patterns/header.js.map +1 -1
  306. package/build-module/components/page-patterns/index.js +16 -12
  307. package/build-module/components/page-patterns/index.js.map +1 -1
  308. package/build-module/components/page-patterns/search-items.js +1 -0
  309. package/build-module/components/page-patterns/search-items.js.map +1 -1
  310. package/build-module/components/page-patterns/use-pattern-settings.js +1 -0
  311. package/build-module/components/page-patterns/use-pattern-settings.js.map +1 -1
  312. package/build-module/components/page-patterns/use-patterns.js +1 -0
  313. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  314. package/build-module/components/page-templates/fields.js +6 -38
  315. package/build-module/components/page-templates/fields.js.map +1 -1
  316. package/build-module/components/page-templates/index.js +37 -40
  317. package/build-module/components/page-templates/index.js.map +1 -1
  318. package/build-module/components/post-edit/index.js +16 -8
  319. package/build-module/components/post-edit/index.js.map +1 -1
  320. package/build-module/components/post-list/index.js +41 -22
  321. package/build-module/components/post-list/index.js.map +1 -1
  322. package/build-module/components/posts-app-routes/index.js +1 -0
  323. package/build-module/components/posts-app-routes/index.js.map +1 -1
  324. package/build-module/components/resizable-frame/index.js +9 -1
  325. package/build-module/components/resizable-frame/index.js.map +1 -1
  326. package/build-module/components/save-button/index.js +1 -0
  327. package/build-module/components/save-button/index.js.map +1 -1
  328. package/build-module/components/save-hub/index.js +1 -0
  329. package/build-module/components/save-hub/index.js.map +1 -1
  330. package/build-module/components/save-keyboard-shortcut/index.js +1 -0
  331. package/build-module/components/save-keyboard-shortcut/index.js.map +1 -1
  332. package/build-module/components/save-panel/index.js +1 -0
  333. package/build-module/components/save-panel/index.js.map +1 -1
  334. package/build-module/components/sidebar/index.js +1 -0
  335. package/build-module/components/sidebar/index.js.map +1 -1
  336. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +6 -7
  337. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  338. package/build-module/components/sidebar-dataviews/dataview-item.js +1 -0
  339. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  340. package/build-module/components/sidebar-dataviews/default-views.js +10 -26
  341. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  342. package/build-module/components/sidebar-dataviews/index.js +2 -0
  343. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  344. package/build-module/components/sidebar-global-styles-wrapper/index.js +41 -74
  345. package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -1
  346. package/build-module/components/sidebar-navigation-screen-global-styles/content.js +12 -38
  347. package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +1 -1
  348. package/build-module/components/sidebar-navigation-screen-main/index.js +40 -25
  349. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  350. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +1 -0
  351. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  352. package/build-module/components/sidebar-navigation-screen-patterns/index.js +1 -4
  353. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  354. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -0
  355. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  356. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +1 -0
  357. package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
  358. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -0
  359. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  360. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +2 -0
  361. package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
  362. package/build-module/components/site-editor-routes/home.js +4 -2
  363. package/build-module/components/site-editor-routes/home.js.map +1 -1
  364. package/build-module/components/site-editor-routes/index.js +3 -1
  365. package/build-module/components/site-editor-routes/index.js.map +1 -1
  366. package/build-module/components/site-editor-routes/stylebook.js +29 -0
  367. package/build-module/components/site-editor-routes/stylebook.js.map +1 -0
  368. package/build-module/components/site-editor-routes/styles.js +7 -1
  369. package/build-module/components/site-editor-routes/styles.js.map +1 -1
  370. package/build-module/components/site-editor-routes/template-item.js +3 -3
  371. package/build-module/components/site-editor-routes/template-item.js.map +1 -1
  372. package/build-module/components/site-editor-routes/template-part-item.js +3 -3
  373. package/build-module/components/site-editor-routes/template-part-item.js.map +1 -1
  374. package/build-module/components/style-book/categories.js +1 -0
  375. package/build-module/components/style-book/categories.js.map +1 -1
  376. package/build-module/components/style-book/color-examples.js +9 -3
  377. package/build-module/components/style-book/color-examples.js.map +1 -1
  378. package/build-module/components/style-book/constants.js +35 -2
  379. package/build-module/components/style-book/constants.js.map +1 -1
  380. package/build-module/components/style-book/duotone-examples.js +1 -0
  381. package/build-module/components/style-book/duotone-examples.js.map +1 -1
  382. package/build-module/components/style-book/examples.js +48 -30
  383. package/build-module/components/style-book/examples.js.map +1 -1
  384. package/build-module/components/style-book/index.js +185 -64
  385. package/build-module/components/style-book/index.js.map +1 -1
  386. package/build-module/components/style-book/types.js.map +1 -1
  387. package/build-module/index.js +1 -0
  388. package/build-module/index.js.map +1 -1
  389. package/build-module/posts.js +1 -0
  390. package/build-module/posts.js.map +1 -1
  391. package/build-module/store/reducer.js +1 -0
  392. package/build-module/store/reducer.js.map +1 -1
  393. package/build-module/utils/get-filtered-template-parts.js +1 -0
  394. package/build-module/utils/get-filtered-template-parts.js.map +1 -1
  395. package/build-module/utils/set-nested-value.js +1 -0
  396. package/build-module/utils/set-nested-value.js.map +1 -1
  397. package/build-style/posts-rtl.css +151 -182
  398. package/build-style/posts.css +151 -182
  399. package/build-style/style-rtl.css +343 -354
  400. package/build-style/style.css +343 -354
  401. package/package.json +42 -41
  402. package/src/components/add-new-pattern/index.js +10 -7
  403. package/src/components/add-new-post/index.js +1 -1
  404. package/src/components/canvas-loader/style.scss +4 -3
  405. package/src/components/editor/index.js +1 -7
  406. package/src/components/editor/style.scss +4 -2
  407. package/src/components/editor-canvas-container/style.scss +7 -1
  408. package/src/components/global-styles/confirm-reset-shadow-dialog.js +37 -0
  409. package/src/components/global-styles/font-library-modal/index.js +1 -1
  410. package/src/components/global-styles/font-library-modal/style.scss +4 -2
  411. package/src/components/global-styles/font-sizes/font-size.js +28 -19
  412. package/src/components/global-styles/font-sizes/font-sizes.js +37 -35
  413. package/src/components/global-styles/preview-colors.js +3 -3
  414. package/src/components/global-styles/preview-styles.js +3 -3
  415. package/src/components/global-styles/preview-typography.js +3 -3
  416. package/src/components/global-styles/{preview-iframe.js → preview-wrapper.js} +9 -35
  417. package/src/components/global-styles/screen-block.js +3 -2
  418. package/src/components/global-styles/shadows-edit-panel.js +58 -49
  419. package/src/components/global-styles/shadows-panel.js +64 -5
  420. package/src/components/global-styles/style.scss +40 -18
  421. package/src/components/global-styles/typography-example.js +12 -1
  422. package/src/components/global-styles/variations/style.scss +4 -3
  423. package/src/components/layout/index.js +20 -7
  424. package/src/components/layout/style.scss +8 -3
  425. package/src/components/maybe-editor/index.js +58 -0
  426. package/src/components/page/style.scss +8 -5
  427. package/src/components/page-patterns/fields.js +13 -100
  428. package/src/components/page-patterns/index.js +23 -11
  429. package/src/components/page-patterns/style.scss +4 -53
  430. package/src/components/page-templates/fields.js +6 -33
  431. package/src/components/page-templates/index.js +38 -55
  432. package/src/components/page-templates/style.scss +4 -20
  433. package/src/components/post-edit/index.js +22 -18
  434. package/src/components/post-list/index.js +59 -44
  435. package/src/components/post-list/style.scss +0 -36
  436. package/src/components/resizable-frame/index.js +10 -1
  437. package/src/components/sidebar-dataviews/custom-dataviews-list.js +7 -6
  438. package/src/components/sidebar-dataviews/default-views.js +10 -26
  439. package/src/components/sidebar-dataviews/index.js +1 -1
  440. package/src/components/sidebar-dataviews/style.scss +9 -1
  441. package/src/components/sidebar-global-styles-wrapper/index.js +37 -83
  442. package/src/components/sidebar-global-styles-wrapper/style.scss +22 -0
  443. package/src/components/sidebar-navigation-item/style.scss +6 -0
  444. package/src/components/sidebar-navigation-screen/style.scss +0 -5
  445. package/src/components/sidebar-navigation-screen-global-styles/content.js +7 -35
  446. package/src/components/sidebar-navigation-screen-main/index.js +67 -38
  447. package/src/components/sidebar-navigation-screen-main/style.scss +4 -0
  448. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +1 -1
  449. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +5 -0
  450. package/src/components/sidebar-navigation-screen-patterns/index.js +0 -7
  451. package/src/components/sidebar-navigation-screen-patterns/style.scss +2 -0
  452. package/src/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
  453. package/src/components/sidebar-navigation-screen-templates-browse/style.scss +4 -0
  454. package/src/components/site-editor-routes/home.js +2 -2
  455. package/src/components/site-editor-routes/index.js +2 -0
  456. package/src/components/site-editor-routes/stylebook.js +28 -0
  457. package/src/components/site-editor-routes/styles.js +5 -1
  458. package/src/components/site-editor-routes/template-item.js +3 -3
  459. package/src/components/site-editor-routes/template-part-item.js +3 -3
  460. package/src/components/site-hub/style.scss +4 -2
  461. package/src/components/style-book/color-examples.tsx +21 -3
  462. package/src/components/style-book/constants.ts +49 -2
  463. package/src/components/style-book/examples.tsx +55 -31
  464. package/src/components/style-book/index.js +268 -87
  465. package/src/components/style-book/style.scss +4 -0
  466. package/src/components/style-book/types.ts +1 -1
  467. package/src/style.scss +4 -1
  468. package/build/components/error-boundary/index.js +0 -47
  469. package/build/components/error-boundary/index.js.map +0 -1
  470. package/build/components/error-boundary/warning.js +0 -42
  471. package/build/components/error-boundary/warning.js.map +0 -1
  472. package/build/components/global-styles/preview-iframe.js.map +0 -1
  473. package/build-module/components/error-boundary/index.js +0 -38
  474. package/build-module/components/error-boundary/index.js.map +0 -1
  475. package/build-module/components/error-boundary/warning.js +0 -35
  476. package/build-module/components/error-boundary/warning.js.map +0 -1
  477. package/build-module/components/global-styles/preview-iframe.js.map +0 -1
  478. package/src/components/error-boundary/index.js +0 -44
  479. package/src/components/error-boundary/test/error-boundary.js +0 -40
  480. package/src/components/error-boundary/warning.js +0 -30
@@ -1,19 +1,19 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
4
- import { __unstableIframe as Iframe, __unstableEditorStyles as EditorStyles, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
5
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
5
6
  import { __unstableMotion as motion } from '@wordpress/components';
6
7
  import { useThrottle, useReducedMotion, useResizeObserver } from '@wordpress/compose';
7
- import { useLayoutEffect, useState, useMemo } from '@wordpress/element';
8
+ import { useLayoutEffect, useState } from '@wordpress/element';
8
9
 
9
10
  /**
10
11
  * Internal dependencies
11
12
  */
12
13
  import { unlock } from '../../lock-unlock';
13
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
14
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
14
15
  const {
15
- useGlobalStyle,
16
- useGlobalStylesOutput
16
+ useGlobalStyle
17
17
  } = unlock(blockEditorPrivateApis);
18
18
  const normalizedWidth = 248;
19
19
  const normalizedHeight = 152;
@@ -24,7 +24,7 @@ const THROTTLE_OPTIONS = {
24
24
  leading: true,
25
25
  trailing: true
26
26
  };
27
- export default function PreviewIframe({
27
+ export default function PreviewWrapper({
28
28
  children,
29
29
  label,
30
30
  isFocused,
@@ -32,7 +32,6 @@ export default function PreviewIframe({
32
32
  }) {
33
33
  const [backgroundColor = 'white'] = useGlobalStyle('color.background');
34
34
  const [gradientValue] = useGlobalStyle('color.gradient');
35
- const [styles] = useGlobalStylesOutput();
36
35
  const disableMotion = useReducedMotion();
37
36
  const [isHovered, setIsHovered] = useState(false);
38
37
  const [containerResizeListener, {
@@ -42,7 +41,7 @@ export default function PreviewIframe({
42
41
  const [ratioState, setRatioState] = useState();
43
42
  const setThrottledWidth = useThrottle(setThrottledWidthState, 250, THROTTLE_OPTIONS);
44
43
 
45
- // Must use useLayoutEffect to avoid a flash of the iframe at the wrong
44
+ // Must use useLayoutEffect to avoid a flash of the container at the wrong
46
45
  // size before the width is set.
47
46
  useLayoutEffect(() => {
48
47
  if (width) {
@@ -50,7 +49,7 @@ export default function PreviewIframe({
50
49
  }
51
50
  }, [width, setThrottledWidth]);
52
51
 
53
- // Must use useLayoutEffect to avoid a flash of the iframe at the wrong
52
+ // Must use useLayoutEffect to avoid a flash of the container at the wrong
54
53
  // size before the width is set.
55
54
  useLayoutEffect(() => {
56
55
  const newRatio = throttledWidth ? throttledWidth / normalizedWidth : 1;
@@ -75,21 +74,6 @@ export default function PreviewIframe({
75
74
  * See: https://github.com/WordPress/gutenberg/issues/55112
76
75
  */
77
76
  const ratio = ratioState ? ratioState : fallbackRatio;
78
-
79
- /*
80
- * Reset leaked styles from WP common.css and remove main content layout padding and border.
81
- * Add pointer cursor to the body to indicate the iframe is interactive,
82
- * similar to Typography variation previews.
83
- */
84
- const editorStyles = useMemo(() => {
85
- if (styles) {
86
- return [...styles, {
87
- css: 'html{overflow:hidden}body{min-width: 0;padding: 0;border: none;cursor: pointer;}',
88
- isGlobalStyles: true
89
- }];
90
- }
91
- return styles;
92
- }, [styles]);
93
77
  const isReady = !!width;
94
78
  return /*#__PURE__*/_jsxs(_Fragment, {
95
79
  children: [/*#__PURE__*/_jsx("div", {
@@ -97,17 +81,15 @@ export default function PreviewIframe({
97
81
  position: 'relative'
98
82
  },
99
83
  children: containerResizeListener
100
- }), isReady && /*#__PURE__*/_jsxs(Iframe, {
101
- className: "edit-site-global-styles-preview__iframe",
84
+ }), isReady && /*#__PURE__*/_jsx("div", {
85
+ className: "edit-site-global-styles-preview__wrapper",
102
86
  style: {
103
87
  height: normalizedHeight * ratio
104
88
  },
105
89
  onMouseEnter: () => setIsHovered(true),
106
90
  onMouseLeave: () => setIsHovered(false),
107
91
  tabIndex: -1,
108
- children: [/*#__PURE__*/_jsx(EditorStyles, {
109
- styles: editorStyles
110
- }), /*#__PURE__*/_jsx(motion.div, {
92
+ children: /*#__PURE__*/_jsx(motion.div, {
111
93
  style: {
112
94
  height: normalizedHeight * ratio,
113
95
  width: '100%',
@@ -121,8 +103,8 @@ export default function PreviewIframe({
121
103
  ratio,
122
104
  key
123
105
  }))
124
- })]
106
+ })
125
107
  })]
126
108
  });
127
109
  }
128
- //# sourceMappingURL=preview-iframe.js.map
110
+ //# sourceMappingURL=preview-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["privateApis","blockEditorPrivateApis","__unstableMotion","motion","useThrottle","useReducedMotion","useResizeObserver","useLayoutEffect","useState","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useGlobalStyle","normalizedWidth","normalizedHeight","THROTTLE_OPTIONS","leading","trailing","PreviewWrapper","children","label","isFocused","withHoverView","backgroundColor","gradientValue","disableMotion","isHovered","setIsHovered","containerResizeListener","width","throttledWidth","setThrottledWidthState","ratioState","setRatioState","setThrottledWidth","newRatio","ratioDiff","isRatioDiffBigEnough","Math","abs","fallbackRatio","ratio","isReady","style","position","className","height","onMouseEnter","onMouseLeave","tabIndex","div","background","cursor","undefined","initial","animate","concat","map","child","key"],"sources":["@wordpress/edit-site/src/components/global-styles/preview-wrapper.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport {\n\tuseThrottle,\n\tuseReducedMotion,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport { useLayoutEffect, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst normalizedWidth = 248;\nconst normalizedHeight = 152;\n\n// Throttle options for useThrottle. Must be defined outside of the component,\n// so that the object reference is the same on each render.\nconst THROTTLE_OPTIONS = {\n\tleading: true,\n\ttrailing: true,\n};\n\nexport default function PreviewWrapper( {\n\tchildren,\n\tlabel,\n\tisFocused,\n\twithHoverView,\n} ) {\n\tconst [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );\n\tconst [ gradientValue ] = useGlobalStyle( 'color.gradient' );\n\tconst disableMotion = useReducedMotion();\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ containerResizeListener, { width } ] = useResizeObserver();\n\tconst [ throttledWidth, setThrottledWidthState ] = useState( width );\n\tconst [ ratioState, setRatioState ] = useState();\n\n\tconst setThrottledWidth = useThrottle(\n\t\tsetThrottledWidthState,\n\t\t250,\n\t\tTHROTTLE_OPTIONS\n\t);\n\n\t// Must use useLayoutEffect to avoid a flash of the container at the wrong\n\t// size before the width is set.\n\tuseLayoutEffect( () => {\n\t\tif ( width ) {\n\t\t\tsetThrottledWidth( width );\n\t\t}\n\t}, [ width, setThrottledWidth ] );\n\n\t// Must use useLayoutEffect to avoid a flash of the container at the wrong\n\t// size before the width is set.\n\tuseLayoutEffect( () => {\n\t\tconst newRatio = throttledWidth ? throttledWidth / normalizedWidth : 1;\n\t\tconst ratioDiff = newRatio - ( ratioState || 0 );\n\n\t\t// Only update the ratio state if the difference is big enough\n\t\t// or if the ratio state is not yet set. This is to avoid an\n\t\t// endless loop of updates at particular viewport heights when the\n\t\t// presence of a scrollbar causes the width to change slightly.\n\t\tconst isRatioDiffBigEnough = Math.abs( ratioDiff ) > 0.1;\n\n\t\tif ( isRatioDiffBigEnough || ! ratioState ) {\n\t\t\tsetRatioState( newRatio );\n\t\t}\n\t}, [ throttledWidth, ratioState ] );\n\n\t// Set a fallbackRatio to use before the throttled ratio has been set.\n\tconst fallbackRatio = width ? width / normalizedWidth : 1;\n\t/*\n\t * Use the throttled ratio if it has been calculated, otherwise\n\t * use the fallback ratio. The throttled ratio is used to avoid\n\t * an endless loop of updates at particular viewport heights.\n\t * See: https://github.com/WordPress/gutenberg/issues/55112\n\t */\n\tconst ratio = ratioState ? ratioState : fallbackRatio;\n\n\tconst isReady = !! width;\n\n\treturn (\n\t\t<>\n\t\t\t<div style={ { position: 'relative' } }>\n\t\t\t\t{ containerResizeListener }\n\t\t\t</div>\n\t\t\t{ isReady && (\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"edit-site-global-styles-preview__wrapper\"\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\theight: normalizedHeight * ratio,\n\t\t\t\t\t} }\n\t\t\t\t\tonMouseEnter={ () => setIsHovered( true ) }\n\t\t\t\t\tonMouseLeave={ () => setIsHovered( false ) }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\theight: normalizedHeight * ratio,\n\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\tbackground: gradientValue ?? backgroundColor,\n\t\t\t\t\t\t\tcursor: withHoverView ? 'pointer' : undefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tinitial=\"start\"\n\t\t\t\t\t\tanimate={\n\t\t\t\t\t\t\t( isHovered || isFocused ) &&\n\t\t\t\t\t\t\t! disableMotion &&\n\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t? 'hover'\n\t\t\t\t\t\t\t\t: 'start'\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ []\n\t\t\t\t\t\t\t.concat( children ) // This makes sure children is always an array.\n\t\t\t\t\t\t\t.map( ( child, key ) => child( { ratio, key } ) ) }\n\t\t\t\t\t</motion.div>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["store","blocksStore","__","sprintf","_n","FlexItem","SearchControl","__experimentalHStack","HStack","useSelect","useState","useEffect","useRef","useDeferredValue","memo","BlockIcon","privateApis","blockEditorPrivateApis","useDebounce","speak","useBlockVariations","ScreenHeader","NavigationButtonAsItem","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useSortedBlockTypes","blockItems","select","getBlockTypes","groupByType","blocks","block","core","noncore","type","name","startsWith","push","coreItems","nonCoreItems","reduce","useBlockHasGlobalStyles","blockName","rawSettings","settings","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasLayoutPanel","hasVariationsPanel","length","hasGlobalStyles","BlockMenuItem","hasBlockMenuItem","path","encodeURIComponent","children","justify","icon","title","BlockList","filterValue","sortedBlockTypes","debouncedSpeak","isMatchingSearchTerm","filteredBlockTypes","filter","blockType","blockTypesListRef","count","current","childElementCount","resultsFoundMessage","ref","className","map","MemoizedBlockList","ScreenBlockList","setFilterValue","deferredFilterValue","description","__nextHasNoMarginBottom","onChange","value","label","placeholder"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-block-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport {\n\tFlexItem,\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseDeferredValue,\n\tmemo,\n} from '@wordpress/element';\nimport {\n\tBlockIcon,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useDebounce } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport { useBlockVariations } from './variations/variations-panel';\nimport ScreenHeader from './header';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasBorderPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tuseHasColorPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction useSortedBlockTypes() {\n\tconst blockItems = useSelect(\n\t\t( select ) => select( blocksStore ).getBlockTypes(),\n\t\t[]\n\t);\n\t// Ensure core blocks are prioritized in the returned results,\n\t// because third party blocks can be registered earlier than\n\t// the core blocks (usually by using the `init` action),\n\t// thus affecting the display order.\n\t// We don't sort reusable blocks as they are handled differently.\n\tconst groupByType = ( blocks, block ) => {\n\t\tconst { core, noncore } = blocks;\n\t\tconst type = block.name.startsWith( 'core/' ) ? core : noncore;\n\t\ttype.push( block );\n\t\treturn blocks;\n\t};\n\tconst { core: coreItems, noncore: nonCoreItems } = blockItems.reduce(\n\t\tgroupByType,\n\t\t{ core: [], noncore: [] }\n\t);\n\treturn [ ...coreItems, ...nonCoreItems ];\n}\n\nexport function useBlockHasGlobalStyles( blockName ) {\n\tconst [ rawSettings ] = useGlobalSetting( '', blockName );\n\tconst settings = useSettingsForBlockElement( rawSettings, blockName );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasLayoutPanel = hasBorderPanel || hasDimensionsPanel;\n\tconst hasVariationsPanel = !! useBlockVariations( blockName )?.length;\n\tconst hasGlobalStyles =\n\t\thasTypographyPanel ||\n\t\thasColorPanel ||\n\t\thasLayoutPanel ||\n\t\thasVariationsPanel;\n\treturn hasGlobalStyles;\n}\n\nfunction BlockMenuItem( { block } ) {\n\tconst hasBlockMenuItem = useBlockHasGlobalStyles( block.name );\n\tif ( ! hasBlockMenuItem ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<NavigationButtonAsItem\n\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<BlockIcon icon={ block.icon } />\n\t\t\t\t<FlexItem>{ block.title }</FlexItem>\n\t\t\t</HStack>\n\t\t</NavigationButtonAsItem>\n\t);\n}\n\nfunction BlockList( { filterValue } ) {\n\tconst sortedBlockTypes = useSortedBlockTypes();\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst { isMatchingSearchTerm } = useSelect( blocksStore );\n\n\tconst filteredBlockTypes = ! filterValue\n\t\t? sortedBlockTypes\n\t\t: sortedBlockTypes.filter( ( blockType ) =>\n\t\t\t\tisMatchingSearchTerm( blockType, filterValue )\n\t\t );\n\n\tconst blockTypesListRef = useRef();\n\n\t// Announce search results on change\n\tuseEffect( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn;\n\t\t}\n\t\t// We extract the results from the wrapper div's `ref` because\n\t\t// filtered items can contain items that will eventually not\n\t\t// render and there is no reliable way to detect when a child\n\t\t// will return `null`.\n\t\t// TODO: We should find a better way of handling this as it's\n\t\t// fragile and depends on the number of rendered elements of `BlockMenuItem`,\n\t\t// which is now one.\n\t\t// @see https://github.com/WordPress/gutenberg/pull/39117#discussion_r816022116\n\t\tconst count = blockTypesListRef.current.childElementCount;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage, count );\n\t}, [ filterValue, debouncedSpeak ] );\n\n\treturn (\n\t\t<div\n\t\t\tref={ blockTypesListRef }\n\t\t\tclassName=\"edit-site-block-types-item-list\"\n\t\t>\n\t\t\t{ filteredBlockTypes.map( ( block ) => (\n\t\t\t\t<BlockMenuItem\n\t\t\t\t\tblock={ block }\n\t\t\t\t\tkey={ 'menu-itemblock-' + block.name }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</div>\n\t);\n}\n\nconst MemoizedBlockList = memo( BlockList );\n\nfunction ScreenBlockList() {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst deferredFilterValue = useDeferredValue( filterValue );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Blocks' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Customize the appearance of specific blocks and for the whole site.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<SearchControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tclassName=\"edit-site-block-types-search\"\n\t\t\t\tonChange={ setFilterValue }\n\t\t\t\tvalue={ filterValue }\n\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t/>\n\t\t\t<MemoizedBlockList filterValue={ deferredFilterValue } />\n\t\t</>\n\t);\n}\n\nexport default ScreenBlockList;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["store","blocksStore","__","sprintf","_n","FlexItem","SearchControl","__experimentalHStack","HStack","useSelect","useState","useEffect","useRef","useDeferredValue","memo","BlockIcon","privateApis","blockEditorPrivateApis","useDebounce","speak","useBlockVariations","ScreenHeader","NavigationButtonAsItem","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useSortedBlockTypes","blockItems","select","getBlockTypes","groupByType","blocks","block","core","noncore","type","name","startsWith","push","coreItems","nonCoreItems","reduce","useBlockHasGlobalStyles","blockName","rawSettings","settings","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasLayoutPanel","hasVariationsPanel","length","hasGlobalStyles","BlockMenuItem","hasBlockMenuItem","path","encodeURIComponent","children","justify","icon","title","BlockList","filterValue","sortedBlockTypes","debouncedSpeak","isMatchingSearchTerm","filteredBlockTypes","filter","blockType","blockTypesListRef","count","current","childElementCount","resultsFoundMessage","ref","className","map","MemoizedBlockList","ScreenBlockList","setFilterValue","deferredFilterValue","description","__nextHasNoMarginBottom","onChange","value","label","placeholder"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-block-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport {\n\tFlexItem,\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseDeferredValue,\n\tmemo,\n} from '@wordpress/element';\nimport {\n\tBlockIcon,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useDebounce } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport { useBlockVariations } from './variations/variations-panel';\nimport ScreenHeader from './header';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasBorderPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tuseHasColorPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction useSortedBlockTypes() {\n\tconst blockItems = useSelect(\n\t\t( select ) => select( blocksStore ).getBlockTypes(),\n\t\t[]\n\t);\n\t// Ensure core blocks are prioritized in the returned results,\n\t// because third party blocks can be registered earlier than\n\t// the core blocks (usually by using the `init` action),\n\t// thus affecting the display order.\n\t// We don't sort reusable blocks as they are handled differently.\n\tconst groupByType = ( blocks, block ) => {\n\t\tconst { core, noncore } = blocks;\n\t\tconst type = block.name.startsWith( 'core/' ) ? core : noncore;\n\t\ttype.push( block );\n\t\treturn blocks;\n\t};\n\tconst { core: coreItems, noncore: nonCoreItems } = blockItems.reduce(\n\t\tgroupByType,\n\t\t{ core: [], noncore: [] }\n\t);\n\treturn [ ...coreItems, ...nonCoreItems ];\n}\n\nexport function useBlockHasGlobalStyles( blockName ) {\n\tconst [ rawSettings ] = useGlobalSetting( '', blockName );\n\tconst settings = useSettingsForBlockElement( rawSettings, blockName );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasLayoutPanel = hasBorderPanel || hasDimensionsPanel;\n\tconst hasVariationsPanel = !! useBlockVariations( blockName )?.length;\n\tconst hasGlobalStyles =\n\t\thasTypographyPanel ||\n\t\thasColorPanel ||\n\t\thasLayoutPanel ||\n\t\thasVariationsPanel;\n\treturn hasGlobalStyles;\n}\n\nfunction BlockMenuItem( { block } ) {\n\tconst hasBlockMenuItem = useBlockHasGlobalStyles( block.name );\n\tif ( ! hasBlockMenuItem ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<NavigationButtonAsItem\n\t\t\tpath={ '/blocks/' + encodeURIComponent( block.name ) }\n\t\t>\n\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t<BlockIcon icon={ block.icon } />\n\t\t\t\t<FlexItem>{ block.title }</FlexItem>\n\t\t\t</HStack>\n\t\t</NavigationButtonAsItem>\n\t);\n}\n\nfunction BlockList( { filterValue } ) {\n\tconst sortedBlockTypes = useSortedBlockTypes();\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst { isMatchingSearchTerm } = useSelect( blocksStore );\n\n\tconst filteredBlockTypes = ! filterValue\n\t\t? sortedBlockTypes\n\t\t: sortedBlockTypes.filter( ( blockType ) =>\n\t\t\t\tisMatchingSearchTerm( blockType, filterValue )\n\t\t );\n\n\tconst blockTypesListRef = useRef();\n\n\t// Announce search results on change\n\tuseEffect( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn;\n\t\t}\n\t\t// We extract the results from the wrapper div's `ref` because\n\t\t// filtered items can contain items that will eventually not\n\t\t// render and there is no reliable way to detect when a child\n\t\t// will return `null`.\n\t\t// TODO: We should find a better way of handling this as it's\n\t\t// fragile and depends on the number of rendered elements of `BlockMenuItem`,\n\t\t// which is now one.\n\t\t// @see https://github.com/WordPress/gutenberg/pull/39117#discussion_r816022116\n\t\tconst count = blockTypesListRef.current.childElementCount;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage, count );\n\t}, [ filterValue, debouncedSpeak ] );\n\n\treturn (\n\t\t<div\n\t\t\tref={ blockTypesListRef }\n\t\t\tclassName=\"edit-site-block-types-item-list\"\n\t\t>\n\t\t\t{ filteredBlockTypes.map( ( block ) => (\n\t\t\t\t<BlockMenuItem\n\t\t\t\t\tblock={ block }\n\t\t\t\t\tkey={ 'menu-itemblock-' + block.name }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</div>\n\t);\n}\n\nconst MemoizedBlockList = memo( BlockList );\n\nfunction ScreenBlockList() {\n\tconst [ filterValue, setFilterValue ] = useState( '' );\n\tconst deferredFilterValue = useDeferredValue( filterValue );\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Blocks' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Customize the appearance of specific blocks and for the whole site.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<SearchControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tclassName=\"edit-site-block-types-search\"\n\t\t\t\tonChange={ setFilterValue }\n\t\t\t\tvalue={ filterValue }\n\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t/>\n\t\t\t<MemoizedBlockList filterValue={ deferredFilterValue } />\n\t\t</>\n\t);\n}\n\nexport default ScreenBlockList;\n"],"mappings":"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","ignoreList":[]}
@@ -97,7 +97,7 @@ function ScreenBlock({
97
97
 
98
98
  // Only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.
99
99
  let disableBlockGap = false;
100
- if (settingsForBlockElement?.spacing?.blockGap && blockType?.supports?.spacing?.blockGap && (blockType?.supports?.spacing?.skipSerialization === true || blockType?.supports?.spacing?.skipSerialization?.some?.(spacingType => spacingType === 'blockGap'))) {
100
+ if (settingsForBlockElement?.spacing?.blockGap && blockType?.supports?.spacing?.blockGap && (blockType?.supports?.spacing?.__experimentalSkipSerialization === true || blockType?.supports?.spacing?.__experimentalSkipSerialization?.some?.(spacingType => spacingType === 'blockGap'))) {
101
101
  disableBlockGap = true;
102
102
  }
103
103
 
@@ -1 +1 @@
1
- {"version":3,"names":["getBlockType","privateApis","blockEditorPrivateApis","useMemo","useSelect","store","coreStore","PanelBody","__experimentalVStack","VStack","__experimentalHasSplitBorders","hasSplitBorders","__","sprintf","ScreenHeader","BlockPreviewPanel","unlock","Subtitle","useBlockVariations","VariationsPanel","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BACKGROUND_BLOCK_DEFAULT_VALUES","backgroundSize","backgroundPosition","applyFallbackStyle","border","hasColorOrWidth","color","width","style","undefined","applyAllFallbackStyles","top","right","bottom","left","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useHasFiltersPanel","useHasImageSettingsPanel","useGlobalStyle","useHasBackgroundPanel","BackgroundPanel","StylesBackgroundPanel","BorderPanel","StylesBorderPanel","ColorPanel","StylesColorPanel","TypographyPanel","StylesTypographyPanel","DimensionsPanel","StylesDimensionsPanel","FiltersPanel","StylesFiltersPanel","ImageSettingsPanel","AdvancedPanel","StylesAdvancedPanel","ScreenBlock","name","variation","prefixParts","concat","prefix","join","shouldDecodeEncode","inheritedStyle","setStyle","userSettings","rawSettings","setSettings","settingsForBlockElement","blockType","disableBlockGap","spacing","blockGap","supports","skipSerialization","some","spacingType","disableAspectRatio","dimensions","aspectRatio","settings","updatedSettings","structuredClone","blockVariations","hasBackgroundPanel","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasFiltersPanel","hasImageSettingsPanel","hasVariationsPanel","length","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","_links","currentBlockStyle","find","s","inheritedStyleWithLayout","layout","styleWithLayout","onChangeDimensions","newStyle","updatedStyle","onChangeLightbox","newSetting","lightbox","onChangeBorders","radius","newBorder","updatedBorder","children","title","label","className","inheritedValue","value","onChange","defaultValues","includeLayoutControls","initialOpen"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-block.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tPanelBody,\n\t__experimentalVStack as VStack,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport BlockPreviewPanel from './block-preview-panel';\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport {\n\tuseBlockVariations,\n\tVariationsPanel,\n} from './variations/variations-panel';\n\n// Initial control values.\nconst BACKGROUND_BLOCK_DEFAULT_VALUES = {\n\tbackgroundSize: 'cover',\n\tbackgroundPosition: '50% 50%', // used only when backgroundSize is 'contain'.\n};\n\nfunction applyFallbackStyle( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tconst hasColorOrWidth = border.color || border.width;\n\n\tif ( ! border.style && hasColorOrWidth ) {\n\t\treturn { ...border, style: 'solid' };\n\t}\n\n\tif ( border.style && ! hasColorOrWidth ) {\n\t\treturn undefined;\n\t}\n\n\treturn border;\n}\n\nfunction applyAllFallbackStyles( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tif ( hasSplitBorders( border ) ) {\n\t\treturn {\n\t\t\ttop: applyFallbackStyle( border.top ),\n\t\t\tright: applyFallbackStyle( border.right ),\n\t\t\tbottom: applyFallbackStyle( border.bottom ),\n\t\t\tleft: applyFallbackStyle( border.left ),\n\t\t};\n\t}\n\n\treturn applyFallbackStyle( border );\n}\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasBorderPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tuseHasColorPanel,\n\tuseHasFiltersPanel,\n\tuseHasImageSettingsPanel,\n\tuseGlobalStyle,\n\tuseHasBackgroundPanel,\n\tBackgroundPanel: StylesBackgroundPanel,\n\tBorderPanel: StylesBorderPanel,\n\tColorPanel: StylesColorPanel,\n\tTypographyPanel: StylesTypographyPanel,\n\tDimensionsPanel: StylesDimensionsPanel,\n\tFiltersPanel: StylesFiltersPanel,\n\tImageSettingsPanel,\n\tAdvancedPanel: StylesAdvancedPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction ScreenBlock( { name, variation } ) {\n\tlet prefixParts = [];\n\tif ( variation ) {\n\t\tprefixParts = [ 'variations', variation ].concat( prefixParts );\n\t}\n\tconst prefix = prefixParts.join( '.' );\n\n\tconst [ style ] = useGlobalStyle( prefix, name, 'user', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ userSettings ] = useGlobalSetting( '', name, 'user' );\n\tconst [ rawSettings, setSettings ] = useGlobalSetting( '', name );\n\tconst settingsForBlockElement = useSettingsForBlockElement(\n\t\trawSettings,\n\t\tname\n\t);\n\tconst blockType = getBlockType( name );\n\n\t// Only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.\n\tlet disableBlockGap = false;\n\tif (\n\t\tsettingsForBlockElement?.spacing?.blockGap &&\n\t\tblockType?.supports?.spacing?.blockGap &&\n\t\t( blockType?.supports?.spacing?.skipSerialization === true ||\n\t\t\tblockType?.supports?.spacing?.skipSerialization?.some?.(\n\t\t\t\t( spacingType ) => spacingType === 'blockGap'\n\t\t\t) )\n\t) {\n\t\tdisableBlockGap = true;\n\t}\n\n\t// Only allow `aspectRatio` support if the block is not the grouping block.\n\t// The grouping block allows the user to use Group, Row and Stack variations,\n\t// and it is highly likely that the user will not want to set an aspect ratio\n\t// for all three at once. Until there is the ability to set a different aspect\n\t// ratio for each variation, we disable the aspect ratio controls for the\n\t// grouping block in global styles.\n\tlet disableAspectRatio = false;\n\tif (\n\t\tsettingsForBlockElement?.dimensions?.aspectRatio &&\n\t\tname === 'core/group'\n\t) {\n\t\tdisableAspectRatio = true;\n\t}\n\n\tconst settings = useMemo( () => {\n\t\tconst updatedSettings = structuredClone( settingsForBlockElement );\n\t\tif ( disableBlockGap ) {\n\t\t\tupdatedSettings.spacing.blockGap = false;\n\t\t}\n\t\tif ( disableAspectRatio ) {\n\t\t\tupdatedSettings.dimensions.aspectRatio = false;\n\t\t}\n\t\treturn updatedSettings;\n\t}, [ settingsForBlockElement, disableBlockGap, disableAspectRatio ] );\n\n\tconst blockVariations = useBlockVariations( name );\n\tconst hasBackgroundPanel = useHasBackgroundPanel( settings );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasFiltersPanel = useHasFiltersPanel( settings );\n\tconst hasImageSettingsPanel = useHasImageSettingsPanel(\n\t\tname,\n\t\tuserSettings,\n\t\tsettings\n\t);\n\tconst hasVariationsPanel = !! blockVariations?.length && ! variation;\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t};\n\t}, [] );\n\tconst currentBlockStyle = variation\n\t\t? blockVariations.find( ( s ) => s.name === variation )\n\t\t: null;\n\n\t// These intermediary objects are needed because the \"layout\" property is stored\n\t// in settings rather than styles.\n\tconst inheritedStyleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...inheritedStyle,\n\t\t\tlayout: settings.layout,\n\t\t};\n\t}, [ inheritedStyle, settings.layout ] );\n\tconst styleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...style,\n\t\t\tlayout: userSettings.layout,\n\t\t};\n\t}, [ style, userSettings.layout ] );\n\tconst onChangeDimensions = ( newStyle ) => {\n\t\tconst updatedStyle = { ...newStyle };\n\t\tdelete updatedStyle.layout;\n\t\tsetStyle( updatedStyle );\n\n\t\tif ( newStyle.layout !== userSettings.layout ) {\n\t\t\tsetSettings( {\n\t\t\t\t...userSettings,\n\t\t\t\tlayout: newStyle.layout,\n\t\t\t} );\n\t\t}\n\t};\n\tconst onChangeLightbox = ( newSetting ) => {\n\t\t// If the newSetting is undefined, this means that the user has deselected\n\t\t// (reset) the lightbox setting.\n\t\tif ( newSetting === undefined ) {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\n\t\t\t// Otherwise, we simply set the lightbox setting to the new value but\n\t\t\t// taking care of not overriding the other lightbox settings.\n\t\t} else {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlightbox: {\n\t\t\t\t\t...rawSettings.lightbox,\n\t\t\t\t\t...newSetting,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t};\n\tconst onChangeBorders = ( newStyle ) => {\n\t\tif ( ! newStyle?.border ) {\n\t\t\tsetStyle( newStyle );\n\t\t\treturn;\n\t\t}\n\n\t\t// As Global Styles can't conditionally generate styles based on if\n\t\t// other style properties have been set, we need to force split\n\t\t// border definitions for user set global border styles. Border\n\t\t// radius is derived from the same property i.e. `border.radius` if\n\t\t// it is a string that is used. The longhand border radii styles are\n\t\t// only generated if that property is an object.\n\t\t//\n\t\t// For borders (color, style, and width) those are all properties on\n\t\t// the `border` style property. This means if the theme.json defined\n\t\t// split borders and the user condenses them into a flat border or\n\t\t// vice-versa we'd get both sets of styles which would conflict.\n\t\tconst { radius, ...newBorder } = newStyle.border;\n\t\tconst border = applyAllFallbackStyles( newBorder );\n\t\tconst updatedBorder = ! hasSplitBorders( border )\n\t\t\t? {\n\t\t\t\t\ttop: border,\n\t\t\t\t\tright: border,\n\t\t\t\t\tbottom: border,\n\t\t\t\t\tleft: border,\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tcolor: null,\n\t\t\t\t\tstyle: null,\n\t\t\t\t\twidth: null,\n\t\t\t\t\t...border,\n\t\t\t };\n\n\t\tsetStyle( { ...newStyle, border: { ...updatedBorder, radius } } );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ variation ? currentBlockStyle?.label : blockType.title }\n\t\t\t/>\n\t\t\t<BlockPreviewPanel name={ name } variation={ variation } />\n\t\t\t{ hasVariationsPanel && (\n\t\t\t\t<div className=\"edit-site-global-styles-screen-variations\">\n\t\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t\t<Subtitle>{ __( 'Style Variations' ) }</Subtitle>\n\t\t\t\t\t\t<VariationsPanel name={ name } />\n\t\t\t\t\t</VStack>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasColorPanel && (\n\t\t\t\t<StylesColorPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBackgroundPanel && (\n\t\t\t\t<StylesBackgroundPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tdefaultValues={ BACKGROUND_BLOCK_DEFAULT_VALUES }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasTypographyPanel && (\n\t\t\t\t<StylesTypographyPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasDimensionsPanel && (\n\t\t\t\t<StylesDimensionsPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ onChangeDimensions }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBorderPanel && (\n\t\t\t\t<StylesBorderPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ onChangeBorders }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasFiltersPanel && (\n\t\t\t\t<StylesFiltersPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasImageSettingsPanel && (\n\t\t\t\t<ImageSettingsPanel\n\t\t\t\t\tonChange={ onChangeLightbox }\n\t\t\t\t\tvalue={ userSettings }\n\t\t\t\t\tinheritedValue={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ canEditCSS && (\n\t\t\t\t<PanelBody title={ __( 'Advanced' ) } initialOpen={ false }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: is the name of a block e.g., 'Image' or 'Table'.\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Add your own CSS to customize the appearance of the %s block. You do not need to include a CSS selector, just add the property and value.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tblockType?.title\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<StylesAdvancedPanel\n\t\t\t\t\t\tvalue={ style }\n\t\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenBlock;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getBlockType","privateApis","blockEditorPrivateApis","useMemo","useSelect","store","coreStore","PanelBody","__experimentalVStack","VStack","__experimentalHasSplitBorders","hasSplitBorders","__","sprintf","ScreenHeader","BlockPreviewPanel","unlock","Subtitle","useBlockVariations","VariationsPanel","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","BACKGROUND_BLOCK_DEFAULT_VALUES","backgroundSize","backgroundPosition","applyFallbackStyle","border","hasColorOrWidth","color","width","style","undefined","applyAllFallbackStyles","top","right","bottom","left","useHasDimensionsPanel","useHasTypographyPanel","useHasBorderPanel","useGlobalSetting","useSettingsForBlockElement","useHasColorPanel","useHasFiltersPanel","useHasImageSettingsPanel","useGlobalStyle","useHasBackgroundPanel","BackgroundPanel","StylesBackgroundPanel","BorderPanel","StylesBorderPanel","ColorPanel","StylesColorPanel","TypographyPanel","StylesTypographyPanel","DimensionsPanel","StylesDimensionsPanel","FiltersPanel","StylesFiltersPanel","ImageSettingsPanel","AdvancedPanel","StylesAdvancedPanel","ScreenBlock","name","variation","prefixParts","concat","prefix","join","shouldDecodeEncode","inheritedStyle","setStyle","userSettings","rawSettings","setSettings","settingsForBlockElement","blockType","disableBlockGap","spacing","blockGap","supports","__experimentalSkipSerialization","some","spacingType","disableAspectRatio","dimensions","aspectRatio","settings","updatedSettings","structuredClone","blockVariations","hasBackgroundPanel","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasFiltersPanel","hasImageSettingsPanel","hasVariationsPanel","length","canEditCSS","select","getEntityRecord","__experimentalGetCurrentGlobalStylesId","globalStylesId","globalStyles","_links","currentBlockStyle","find","s","inheritedStyleWithLayout","layout","styleWithLayout","onChangeDimensions","newStyle","updatedStyle","onChangeLightbox","newSetting","lightbox","onChangeBorders","radius","newBorder","updatedBorder","children","title","label","className","inheritedValue","value","onChange","defaultValues","includeLayoutControls","initialOpen"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-block.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockType } from '@wordpress/blocks';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tPanelBody,\n\t__experimentalVStack as VStack,\n\t__experimentalHasSplitBorders as hasSplitBorders,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ScreenHeader from './header';\nimport BlockPreviewPanel from './block-preview-panel';\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport {\n\tuseBlockVariations,\n\tVariationsPanel,\n} from './variations/variations-panel';\n\n// Initial control values.\nconst BACKGROUND_BLOCK_DEFAULT_VALUES = {\n\tbackgroundSize: 'cover',\n\tbackgroundPosition: '50% 50%', // used only when backgroundSize is 'contain'.\n};\n\nfunction applyFallbackStyle( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tconst hasColorOrWidth = border.color || border.width;\n\n\tif ( ! border.style && hasColorOrWidth ) {\n\t\treturn { ...border, style: 'solid' };\n\t}\n\n\tif ( border.style && ! hasColorOrWidth ) {\n\t\treturn undefined;\n\t}\n\n\treturn border;\n}\n\nfunction applyAllFallbackStyles( border ) {\n\tif ( ! border ) {\n\t\treturn border;\n\t}\n\n\tif ( hasSplitBorders( border ) ) {\n\t\treturn {\n\t\t\ttop: applyFallbackStyle( border.top ),\n\t\t\tright: applyFallbackStyle( border.right ),\n\t\t\tbottom: applyFallbackStyle( border.bottom ),\n\t\t\tleft: applyFallbackStyle( border.left ),\n\t\t};\n\t}\n\n\treturn applyFallbackStyle( border );\n}\n\nconst {\n\tuseHasDimensionsPanel,\n\tuseHasTypographyPanel,\n\tuseHasBorderPanel,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tuseHasColorPanel,\n\tuseHasFiltersPanel,\n\tuseHasImageSettingsPanel,\n\tuseGlobalStyle,\n\tuseHasBackgroundPanel,\n\tBackgroundPanel: StylesBackgroundPanel,\n\tBorderPanel: StylesBorderPanel,\n\tColorPanel: StylesColorPanel,\n\tTypographyPanel: StylesTypographyPanel,\n\tDimensionsPanel: StylesDimensionsPanel,\n\tFiltersPanel: StylesFiltersPanel,\n\tImageSettingsPanel,\n\tAdvancedPanel: StylesAdvancedPanel,\n} = unlock( blockEditorPrivateApis );\n\nfunction ScreenBlock( { name, variation } ) {\n\tlet prefixParts = [];\n\tif ( variation ) {\n\t\tprefixParts = [ 'variations', variation ].concat( prefixParts );\n\t}\n\tconst prefix = prefixParts.join( '.' );\n\n\tconst [ style ] = useGlobalStyle( prefix, name, 'user', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ userSettings ] = useGlobalSetting( '', name, 'user' );\n\tconst [ rawSettings, setSettings ] = useGlobalSetting( '', name );\n\tconst settingsForBlockElement = useSettingsForBlockElement(\n\t\trawSettings,\n\t\tname\n\t);\n\tconst blockType = getBlockType( name );\n\n\t// Only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.\n\tlet disableBlockGap = false;\n\tif (\n\t\tsettingsForBlockElement?.spacing?.blockGap &&\n\t\tblockType?.supports?.spacing?.blockGap &&\n\t\t( blockType?.supports?.spacing?.__experimentalSkipSerialization ===\n\t\t\ttrue ||\n\t\t\tblockType?.supports?.spacing?.__experimentalSkipSerialization?.some?.(\n\t\t\t\t( spacingType ) => spacingType === 'blockGap'\n\t\t\t) )\n\t) {\n\t\tdisableBlockGap = true;\n\t}\n\n\t// Only allow `aspectRatio` support if the block is not the grouping block.\n\t// The grouping block allows the user to use Group, Row and Stack variations,\n\t// and it is highly likely that the user will not want to set an aspect ratio\n\t// for all three at once. Until there is the ability to set a different aspect\n\t// ratio for each variation, we disable the aspect ratio controls for the\n\t// grouping block in global styles.\n\tlet disableAspectRatio = false;\n\tif (\n\t\tsettingsForBlockElement?.dimensions?.aspectRatio &&\n\t\tname === 'core/group'\n\t) {\n\t\tdisableAspectRatio = true;\n\t}\n\n\tconst settings = useMemo( () => {\n\t\tconst updatedSettings = structuredClone( settingsForBlockElement );\n\t\tif ( disableBlockGap ) {\n\t\t\tupdatedSettings.spacing.blockGap = false;\n\t\t}\n\t\tif ( disableAspectRatio ) {\n\t\t\tupdatedSettings.dimensions.aspectRatio = false;\n\t\t}\n\t\treturn updatedSettings;\n\t}, [ settingsForBlockElement, disableBlockGap, disableAspectRatio ] );\n\n\tconst blockVariations = useBlockVariations( name );\n\tconst hasBackgroundPanel = useHasBackgroundPanel( settings );\n\tconst hasTypographyPanel = useHasTypographyPanel( settings );\n\tconst hasColorPanel = useHasColorPanel( settings );\n\tconst hasBorderPanel = useHasBorderPanel( settings );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( settings );\n\tconst hasFiltersPanel = useHasFiltersPanel( settings );\n\tconst hasImageSettingsPanel = useHasImageSettingsPanel(\n\t\tname,\n\t\tuserSettings,\n\t\tsettings\n\t);\n\tconst hasVariationsPanel = !! blockVariations?.length && ! variation;\n\tconst { canEditCSS } = useSelect( ( select ) => {\n\t\tconst { getEntityRecord, __experimentalGetCurrentGlobalStylesId } =\n\t\t\tselect( coreStore );\n\n\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\tconst globalStyles = globalStylesId\n\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t: undefined;\n\n\t\treturn {\n\t\t\tcanEditCSS: !! globalStyles?._links?.[ 'wp:action-edit-css' ],\n\t\t};\n\t}, [] );\n\tconst currentBlockStyle = variation\n\t\t? blockVariations.find( ( s ) => s.name === variation )\n\t\t: null;\n\n\t// These intermediary objects are needed because the \"layout\" property is stored\n\t// in settings rather than styles.\n\tconst inheritedStyleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...inheritedStyle,\n\t\t\tlayout: settings.layout,\n\t\t};\n\t}, [ inheritedStyle, settings.layout ] );\n\tconst styleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...style,\n\t\t\tlayout: userSettings.layout,\n\t\t};\n\t}, [ style, userSettings.layout ] );\n\tconst onChangeDimensions = ( newStyle ) => {\n\t\tconst updatedStyle = { ...newStyle };\n\t\tdelete updatedStyle.layout;\n\t\tsetStyle( updatedStyle );\n\n\t\tif ( newStyle.layout !== userSettings.layout ) {\n\t\t\tsetSettings( {\n\t\t\t\t...userSettings,\n\t\t\t\tlayout: newStyle.layout,\n\t\t\t} );\n\t\t}\n\t};\n\tconst onChangeLightbox = ( newSetting ) => {\n\t\t// If the newSetting is undefined, this means that the user has deselected\n\t\t// (reset) the lightbox setting.\n\t\tif ( newSetting === undefined ) {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\n\t\t\t// Otherwise, we simply set the lightbox setting to the new value but\n\t\t\t// taking care of not overriding the other lightbox settings.\n\t\t} else {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlightbox: {\n\t\t\t\t\t...rawSettings.lightbox,\n\t\t\t\t\t...newSetting,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t};\n\tconst onChangeBorders = ( newStyle ) => {\n\t\tif ( ! newStyle?.border ) {\n\t\t\tsetStyle( newStyle );\n\t\t\treturn;\n\t\t}\n\n\t\t// As Global Styles can't conditionally generate styles based on if\n\t\t// other style properties have been set, we need to force split\n\t\t// border definitions for user set global border styles. Border\n\t\t// radius is derived from the same property i.e. `border.radius` if\n\t\t// it is a string that is used. The longhand border radii styles are\n\t\t// only generated if that property is an object.\n\t\t//\n\t\t// For borders (color, style, and width) those are all properties on\n\t\t// the `border` style property. This means if the theme.json defined\n\t\t// split borders and the user condenses them into a flat border or\n\t\t// vice-versa we'd get both sets of styles which would conflict.\n\t\tconst { radius, ...newBorder } = newStyle.border;\n\t\tconst border = applyAllFallbackStyles( newBorder );\n\t\tconst updatedBorder = ! hasSplitBorders( border )\n\t\t\t? {\n\t\t\t\t\ttop: border,\n\t\t\t\t\tright: border,\n\t\t\t\t\tbottom: border,\n\t\t\t\t\tleft: border,\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tcolor: null,\n\t\t\t\t\tstyle: null,\n\t\t\t\t\twidth: null,\n\t\t\t\t\t...border,\n\t\t\t };\n\n\t\tsetStyle( { ...newStyle, border: { ...updatedBorder, radius } } );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ variation ? currentBlockStyle?.label : blockType.title }\n\t\t\t/>\n\t\t\t<BlockPreviewPanel name={ name } variation={ variation } />\n\t\t\t{ hasVariationsPanel && (\n\t\t\t\t<div className=\"edit-site-global-styles-screen-variations\">\n\t\t\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t\t\t<Subtitle>{ __( 'Style Variations' ) }</Subtitle>\n\t\t\t\t\t\t<VariationsPanel name={ name } />\n\t\t\t\t\t</VStack>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasColorPanel && (\n\t\t\t\t<StylesColorPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBackgroundPanel && (\n\t\t\t\t<StylesBackgroundPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tdefaultValues={ BACKGROUND_BLOCK_DEFAULT_VALUES }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasTypographyPanel && (\n\t\t\t\t<StylesTypographyPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasDimensionsPanel && (\n\t\t\t\t<StylesDimensionsPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ onChangeDimensions }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBorderPanel && (\n\t\t\t\t<StylesBorderPanel\n\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\tvalue={ style }\n\t\t\t\t\tonChange={ onChangeBorders }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasFiltersPanel && (\n\t\t\t\t<StylesFiltersPanel\n\t\t\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\t\t\tvalue={ styleWithLayout }\n\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\tsettings={ settings }\n\t\t\t\t\tincludeLayoutControls\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasImageSettingsPanel && (\n\t\t\t\t<ImageSettingsPanel\n\t\t\t\t\tonChange={ onChangeLightbox }\n\t\t\t\t\tvalue={ userSettings }\n\t\t\t\t\tinheritedValue={ settings }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ canEditCSS && (\n\t\t\t\t<PanelBody title={ __( 'Advanced' ) } initialOpen={ false }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: is the name of a block e.g., 'Image' or 'Table'.\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Add your own CSS to customize the appearance of the %s block. You do not need to include a CSS selector, just add the property and value.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tblockType?.title\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<StylesAdvancedPanel\n\t\t\t\t\t\tvalue={ style }\n\t\t\t\t\t\tonChange={ setStyle }\n\t\t\t\t\t\tinheritedValue={ inheritedStyle }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default ScreenBlock;\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","Button","Composite","dateI18n","getDate","humanTimeDiff","getSettings","store","coreStore","useSelect","privateApis","blockEditorPrivateApis","ENTER","SPACE","unlock","jsx","_jsx","jsxs","_jsxs","DAY_IN_MILLISECONDS","getGlobalStylesChanges","ChangesSummary","revision","previousRevision","changes","maxResults","length","className","children","map","change","getRevisionLabel","id","authorDisplayName","formattedModifiedDate","areStylesEqual","RevisionsButtons","userRevisions","selectedRevisionId","onChange","canApplyRevision","onApplyRevision","currentThemeName","currentUser","select","getCurrentTheme","getCurrentUser","currentTheme","name","rendered","stylesheet","dateNowInMs","getTime","datetimeAbbreviated","formats","orientation","role","index","author","modified","isUnsaved","revisionAuthor","authorAvatar","avatar_urls","isFirstItem","isSelected","isReset","modifiedDate","displayDate","revisionLabel","Item","onKeyDown","event","keyCode","onClick","preventDefault","render","dateTime","alt","src","size","variant"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/revisions-buttons.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button, Composite } from '@wordpress/components';\nimport { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst DAY_IN_MILLISECONDS = 60 * 60 * 1000 * 24;\nconst { getGlobalStylesChanges } = unlock( blockEditorPrivateApis );\n\nfunction ChangesSummary( { revision, previousRevision } ) {\n\tconst changes = getGlobalStylesChanges( revision, previousRevision, {\n\t\tmaxResults: 7,\n\t} );\n\n\tif ( ! changes.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ul\n\t\t\tdata-testid=\"global-styles-revision-changes\"\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__changes\"\n\t\t>\n\t\t\t{ changes.map( ( change ) => (\n\t\t\t\t<li key={ change }>{ change }</li>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n\n/**\n * Returns a button label for the revision.\n *\n * @param {string|number} id A revision object.\n * @param {string} authorDisplayName Author name.\n * @param {string} formattedModifiedDate Revision modified date formatted.\n * @param {boolean} areStylesEqual Whether the revision matches the current editor styles.\n * @return {string} Translated label.\n */\nfunction getRevisionLabel(\n\tid,\n\tauthorDisplayName,\n\tformattedModifiedDate,\n\tareStylesEqual\n) {\n\tif ( 'parent' === id ) {\n\t\treturn __( 'Reset the styles to the theme defaults' );\n\t}\n\n\tif ( 'unsaved' === id ) {\n\t\treturn sprintf(\n\t\t\t/* translators: %s: author display name */\n\t\t\t__( 'Unsaved changes by %s' ),\n\t\t\tauthorDisplayName\n\t\t);\n\t}\n\n\treturn areStylesEqual\n\t\t? sprintf(\n\t\t\t\t// translators: 1: author display name. 2: revision creation date.\n\t\t\t\t__(\n\t\t\t\t\t'Changes saved by %1$s on %2$s. This revision matches current editor styles.'\n\t\t\t\t),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: 1: author display name. 2: revision creation date.\n\t\t\t\t__( 'Changes saved by %1$s on %2$s' ),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t );\n}\n\n/**\n * Returns a rendered list of revisions buttons.\n *\n * @typedef {Object} props\n * @property {Array<Object>} userRevisions A collection of user revisions.\n * @property {number} selectedRevisionId The id of the currently-selected revision.\n * @property {Function} onChange Callback fired when a revision is selected.\n *\n * @param {props} Component props.\n * @return {JSX.Element} The modal component.\n */\nfunction RevisionsButtons( {\n\tuserRevisions,\n\tselectedRevisionId,\n\tonChange,\n\tcanApplyRevision,\n\tonApplyRevision,\n} ) {\n\tconst { currentThemeName, currentUser } = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getCurrentUser } = select( coreStore );\n\t\tconst currentTheme = getCurrentTheme();\n\t\treturn {\n\t\t\tcurrentThemeName:\n\t\t\t\tcurrentTheme?.name?.rendered || currentTheme?.stylesheet,\n\t\t\tcurrentUser: getCurrentUser(),\n\t\t};\n\t}, [] );\n\tconst dateNowInMs = getDate().getTime();\n\tconst { datetimeAbbreviated } = getSettings().formats;\n\n\treturn (\n\t\t<Composite\n\t\t\torientation=\"vertical\"\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revisions-list\"\n\t\t\taria-label={ __( 'Global styles revisions list' ) }\n\t\t\trole=\"listbox\"\n\t\t>\n\t\t\t{ userRevisions.map( ( revision, index ) => {\n\t\t\t\tconst { id, author, modified } = revision;\n\t\t\t\tconst isUnsaved = 'unsaved' === id;\n\t\t\t\t// Unsaved changes are created by the current user.\n\t\t\t\tconst revisionAuthor = isUnsaved ? currentUser : author;\n\t\t\t\tconst authorDisplayName = revisionAuthor?.name || __( 'User' );\n\t\t\t\tconst authorAvatar = revisionAuthor?.avatar_urls?.[ '48' ];\n\t\t\t\tconst isFirstItem = index === 0;\n\t\t\t\tconst isSelected = selectedRevisionId\n\t\t\t\t\t? selectedRevisionId === id\n\t\t\t\t\t: isFirstItem;\n\t\t\t\tconst areStylesEqual = ! canApplyRevision && isSelected;\n\t\t\t\tconst isReset = 'parent' === id;\n\t\t\t\tconst modifiedDate = getDate( modified );\n\t\t\t\tconst displayDate =\n\t\t\t\t\tmodified &&\n\t\t\t\t\tdateNowInMs - modifiedDate.getTime() > DAY_IN_MILLISECONDS\n\t\t\t\t\t\t? dateI18n( datetimeAbbreviated, modifiedDate )\n\t\t\t\t\t\t: humanTimeDiff( modified );\n\t\t\t\tconst revisionLabel = getRevisionLabel(\n\t\t\t\t\tid,\n\t\t\t\t\tauthorDisplayName,\n\t\t\t\t\tdateI18n( datetimeAbbreviated, modifiedDate ),\n\t\t\t\t\tareStylesEqual\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revision-item\"\n\t\t\t\t\t\taria-current={ isSelected }\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\tconst { keyCode } = event;\n\t\t\t\t\t\t\tif ( keyCode === ENTER || keyCode === SPACE ) {\n\t\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\taria-selected={ isSelected }\n\t\t\t\t\t\taria-label={ revisionLabel }\n\t\t\t\t\t\trender={ <div /> }\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__revision-item-wrapper\">\n\t\t\t\t\t\t\t{ isReset ? (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ __( 'Default styles' ) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t{ currentThemeName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ isUnsaved ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__date\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( '(Unsaved)' ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__date\"\n\t\t\t\t\t\t\t\t\t\t\tdateTime={ modified }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ displayDate }\n\t\t\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\talt={ authorDisplayName }\n\t\t\t\t\t\t\t\t\t\t\tsrc={ authorAvatar }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ authorDisplayName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t\t\t\t<ChangesSummary\n\t\t\t\t\t\t\t\t\t\t\trevision={ revision }\n\t\t\t\t\t\t\t\t\t\t\tpreviousRevision={\n\t\t\t\t\t\t\t\t\t\t\t\tindex < userRevisions.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t? userRevisions[ index + 1 ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t( areStylesEqual ? (\n\t\t\t\t\t\t\t\t<p className=\"edit-site-global-styles-screen-revisions__applied-text\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'These styles are already applied to your site.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__apply-button\"\n\t\t\t\t\t\t\t\t\tonClick={ onApplyRevision }\n\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t'Apply the selected revision to your site.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ isReset\n\t\t\t\t\t\t\t\t\t\t? __( 'Reset to defaults' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Apply' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Composite.Item>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n\nexport default RevisionsButtons;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","sprintf","Button","Composite","dateI18n","getDate","humanTimeDiff","getSettings","store","coreStore","useSelect","privateApis","blockEditorPrivateApis","ENTER","SPACE","unlock","jsx","_jsx","jsxs","_jsxs","DAY_IN_MILLISECONDS","getGlobalStylesChanges","ChangesSummary","revision","previousRevision","changes","maxResults","length","className","children","map","change","getRevisionLabel","id","authorDisplayName","formattedModifiedDate","areStylesEqual","RevisionsButtons","userRevisions","selectedRevisionId","onChange","canApplyRevision","onApplyRevision","currentThemeName","currentUser","select","getCurrentTheme","getCurrentUser","currentTheme","name","rendered","stylesheet","dateNowInMs","getTime","datetimeAbbreviated","formats","orientation","role","index","author","modified","isUnsaved","revisionAuthor","authorAvatar","avatar_urls","isFirstItem","isSelected","isReset","modifiedDate","displayDate","revisionLabel","Item","onKeyDown","event","keyCode","onClick","preventDefault","render","dateTime","alt","src","size","variant"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/revisions-buttons.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button, Composite } from '@wordpress/components';\nimport { dateI18n, getDate, humanTimeDiff, getSettings } from '@wordpress/date';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst DAY_IN_MILLISECONDS = 60 * 60 * 1000 * 24;\nconst { getGlobalStylesChanges } = unlock( blockEditorPrivateApis );\n\nfunction ChangesSummary( { revision, previousRevision } ) {\n\tconst changes = getGlobalStylesChanges( revision, previousRevision, {\n\t\tmaxResults: 7,\n\t} );\n\n\tif ( ! changes.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ul\n\t\t\tdata-testid=\"global-styles-revision-changes\"\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__changes\"\n\t\t>\n\t\t\t{ changes.map( ( change ) => (\n\t\t\t\t<li key={ change }>{ change }</li>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n\n/**\n * Returns a button label for the revision.\n *\n * @param {string|number} id A revision object.\n * @param {string} authorDisplayName Author name.\n * @param {string} formattedModifiedDate Revision modified date formatted.\n * @param {boolean} areStylesEqual Whether the revision matches the current editor styles.\n * @return {string} Translated label.\n */\nfunction getRevisionLabel(\n\tid,\n\tauthorDisplayName,\n\tformattedModifiedDate,\n\tareStylesEqual\n) {\n\tif ( 'parent' === id ) {\n\t\treturn __( 'Reset the styles to the theme defaults' );\n\t}\n\n\tif ( 'unsaved' === id ) {\n\t\treturn sprintf(\n\t\t\t/* translators: %s: author display name */\n\t\t\t__( 'Unsaved changes by %s' ),\n\t\t\tauthorDisplayName\n\t\t);\n\t}\n\n\treturn areStylesEqual\n\t\t? sprintf(\n\t\t\t\t// translators: 1: author display name. 2: revision creation date.\n\t\t\t\t__(\n\t\t\t\t\t'Changes saved by %1$s on %2$s. This revision matches current editor styles.'\n\t\t\t\t),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: 1: author display name. 2: revision creation date.\n\t\t\t\t__( 'Changes saved by %1$s on %2$s' ),\n\t\t\t\tauthorDisplayName,\n\t\t\t\tformattedModifiedDate\n\t\t );\n}\n\n/**\n * Returns a rendered list of revisions buttons.\n *\n * @typedef {Object} props\n * @property {Array<Object>} userRevisions A collection of user revisions.\n * @property {number} selectedRevisionId The id of the currently-selected revision.\n * @property {Function} onChange Callback fired when a revision is selected.\n *\n * @param {props} Component props.\n * @return {JSX.Element} The modal component.\n */\nfunction RevisionsButtons( {\n\tuserRevisions,\n\tselectedRevisionId,\n\tonChange,\n\tcanApplyRevision,\n\tonApplyRevision,\n} ) {\n\tconst { currentThemeName, currentUser } = useSelect( ( select ) => {\n\t\tconst { getCurrentTheme, getCurrentUser } = select( coreStore );\n\t\tconst currentTheme = getCurrentTheme();\n\t\treturn {\n\t\t\tcurrentThemeName:\n\t\t\t\tcurrentTheme?.name?.rendered || currentTheme?.stylesheet,\n\t\t\tcurrentUser: getCurrentUser(),\n\t\t};\n\t}, [] );\n\tconst dateNowInMs = getDate().getTime();\n\tconst { datetimeAbbreviated } = getSettings().formats;\n\n\treturn (\n\t\t<Composite\n\t\t\torientation=\"vertical\"\n\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revisions-list\"\n\t\t\taria-label={ __( 'Global styles revisions list' ) }\n\t\t\trole=\"listbox\"\n\t\t>\n\t\t\t{ userRevisions.map( ( revision, index ) => {\n\t\t\t\tconst { id, author, modified } = revision;\n\t\t\t\tconst isUnsaved = 'unsaved' === id;\n\t\t\t\t// Unsaved changes are created by the current user.\n\t\t\t\tconst revisionAuthor = isUnsaved ? currentUser : author;\n\t\t\t\tconst authorDisplayName = revisionAuthor?.name || __( 'User' );\n\t\t\t\tconst authorAvatar = revisionAuthor?.avatar_urls?.[ '48' ];\n\t\t\t\tconst isFirstItem = index === 0;\n\t\t\t\tconst isSelected = selectedRevisionId\n\t\t\t\t\t? selectedRevisionId === id\n\t\t\t\t\t: isFirstItem;\n\t\t\t\tconst areStylesEqual = ! canApplyRevision && isSelected;\n\t\t\t\tconst isReset = 'parent' === id;\n\t\t\t\tconst modifiedDate = getDate( modified );\n\t\t\t\tconst displayDate =\n\t\t\t\t\tmodified &&\n\t\t\t\t\tdateNowInMs - modifiedDate.getTime() > DAY_IN_MILLISECONDS\n\t\t\t\t\t\t? dateI18n( datetimeAbbreviated, modifiedDate )\n\t\t\t\t\t\t: humanTimeDiff( modified );\n\t\t\t\tconst revisionLabel = getRevisionLabel(\n\t\t\t\t\tid,\n\t\t\t\t\tauthorDisplayName,\n\t\t\t\t\tdateI18n( datetimeAbbreviated, modifiedDate ),\n\t\t\t\t\tareStylesEqual\n\t\t\t\t);\n\n\t\t\t\treturn (\n\t\t\t\t\t<Composite.Item\n\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__revision-item\"\n\t\t\t\t\t\taria-current={ isSelected }\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\tconst { keyCode } = event;\n\t\t\t\t\t\t\tif ( keyCode === ENTER || keyCode === SPACE ) {\n\t\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tonChange( revision );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\taria-selected={ isSelected }\n\t\t\t\t\t\taria-label={ revisionLabel }\n\t\t\t\t\t\trender={ <div /> }\n\t\t\t\t\t>\n\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__revision-item-wrapper\">\n\t\t\t\t\t\t\t{ isReset ? (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ __( 'Default styles' ) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t{ currentThemeName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__description\">\n\t\t\t\t\t\t\t\t\t{ isUnsaved ? (\n\t\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__date\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( '(Unsaved)' ) }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__date\"\n\t\t\t\t\t\t\t\t\t\t\tdateTime={ modified }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ displayDate }\n\t\t\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t<span className=\"edit-site-global-styles-screen-revisions__meta\">\n\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\talt={ authorDisplayName }\n\t\t\t\t\t\t\t\t\t\t\tsrc={ authorAvatar }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ authorDisplayName }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t\t\t\t\t<ChangesSummary\n\t\t\t\t\t\t\t\t\t\t\trevision={ revision }\n\t\t\t\t\t\t\t\t\t\t\tpreviousRevision={\n\t\t\t\t\t\t\t\t\t\t\t\tindex < userRevisions.length\n\t\t\t\t\t\t\t\t\t\t\t\t\t? userRevisions[ index + 1 ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t: {}\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t( areStylesEqual ? (\n\t\t\t\t\t\t\t\t<p className=\"edit-site-global-styles-screen-revisions__applied-text\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'These styles are already applied to your site.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-screen-revisions__apply-button\"\n\t\t\t\t\t\t\t\t\tonClick={ onApplyRevision }\n\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t'Apply the selected revision to your site.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ isReset\n\t\t\t\t\t\t\t\t\t\t? __( 'Reset to defaults' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Apply' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Composite.Item>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Composite>\n\t);\n}\n\nexport default RevisionsButtons;\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","store","coreStore","useContext","useMemo","privateApis","blockEditorPrivateApis","unlock","SITE_EDITOR_AUTHORS_QUERY","per_page","_fields","context","capabilities","DEFAULT_QUERY","page","EMPTY_ARRAY","GlobalStylesContext","useGlobalStylesRevisions","query","user","userConfig","_query","authors","currentUser","isDirty","revisions","isLoadingGlobalStylesRevisions","revisionsCount","select","_globalStyles$_links$","__experimentalGetDirtyEntityRecords","getCurrentUser","getUsers","getRevisions","__experimentalGetCurrentGlobalStylesId","getEntityRecord","isResolving","dirtyEntityRecords","_currentUser","_isDirty","length","globalStylesId","globalStyles","undefined","_revisionsCount","_links","count","globalStylesRevisions","_authors","_isResolving","hasUnsavedChanges","isLoading","_modifiedRevisions","map","revision","author","find","id","fetchedRevisionsCount","isLatest","Object","keys","unsavedRevision","styles","settings","name","avatar_urls","modified","Date","unshift","Math","ceil","push"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/use-global-styles-revisions.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';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst SITE_EDITOR_AUTHORS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,avatar_urls',\n\tcontext: 'view',\n\tcapabilities: [ 'edit_theme_options' ],\n};\nconst DEFAULT_QUERY = { per_page: 100, page: 1 };\nconst EMPTY_ARRAY = [];\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nexport default function useGlobalStylesRevisions( { query } = {} ) {\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst _query = { ...DEFAULT_QUERY, ...query };\n\tconst {\n\t\tauthors,\n\t\tcurrentUser,\n\t\tisDirty,\n\t\trevisions,\n\t\tisLoadingGlobalStylesRevisions,\n\t\trevisionsCount,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tgetCurrentUser,\n\t\t\t\tgetUsers,\n\t\t\t\tgetRevisions,\n\t\t\t\t__experimentalGetCurrentGlobalStylesId,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tisResolving,\n\t\t\t} = select( coreStore );\n\t\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\t\tconst _currentUser = getCurrentUser();\n\t\t\tconst _isDirty = dirtyEntityRecords.length > 0;\n\t\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\t\tconst globalStyles = globalStylesId\n\t\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t\t: undefined;\n\t\t\tconst _revisionsCount =\n\t\t\t\tglobalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\t\tconst globalStylesRevisions =\n\t\t\t\tgetRevisions(\n\t\t\t\t\t'root',\n\t\t\t\t\t'globalStyles',\n\t\t\t\t\tglobalStylesId,\n\t\t\t\t\t_query\n\t\t\t\t) || EMPTY_ARRAY;\n\t\t\tconst _authors =\n\t\t\t\tgetUsers( SITE_EDITOR_AUTHORS_QUERY ) || EMPTY_ARRAY;\n\t\t\tconst _isResolving = isResolving( 'getRevisions', [\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t_query,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\tauthors: _authors,\n\t\t\t\tcurrentUser: _currentUser,\n\t\t\t\tisDirty: _isDirty,\n\t\t\t\trevisions: globalStylesRevisions,\n\t\t\t\tisLoadingGlobalStylesRevisions: _isResolving,\n\t\t\t\trevisionsCount: _revisionsCount,\n\t\t\t};\n\t\t},\n\t\t[ query ]\n\t);\n\treturn useMemo( () => {\n\t\tif ( ! authors.length || isLoadingGlobalStylesRevisions ) {\n\t\t\treturn {\n\t\t\t\trevisions: EMPTY_ARRAY,\n\t\t\t\thasUnsavedChanges: isDirty,\n\t\t\t\tisLoading: true,\n\t\t\t\trevisionsCount,\n\t\t\t};\n\t\t}\n\n\t\t// Adds author details to each revision.\n\t\tconst _modifiedRevisions = revisions.map( ( revision ) => {\n\t\t\treturn {\n\t\t\t\t...revision,\n\t\t\t\tauthor: authors.find(\n\t\t\t\t\t( author ) => author.id === revision.author\n\t\t\t\t),\n\t\t\t};\n\t\t} );\n\n\t\tconst fetchedRevisionsCount = revisions.length;\n\n\t\tif ( fetchedRevisionsCount ) {\n\t\t\t// Flags the most current saved revision.\n\t\t\tif (\n\t\t\t\t_modifiedRevisions[ 0 ].id !== 'unsaved' &&\n\t\t\t\t_query.page === 1\n\t\t\t) {\n\t\t\t\t_modifiedRevisions[ 0 ].isLatest = true;\n\t\t\t}\n\n\t\t\t// Adds an item for unsaved changes.\n\t\t\tif (\n\t\t\t\tisDirty &&\n\t\t\t\tuserConfig &&\n\t\t\t\tObject.keys( userConfig ).length > 0 &&\n\t\t\t\tcurrentUser &&\n\t\t\t\t_query.page === 1\n\t\t\t) {\n\t\t\t\tconst unsavedRevision = {\n\t\t\t\t\tid: 'unsaved',\n\t\t\t\t\tstyles: userConfig?.styles,\n\t\t\t\t\tsettings: userConfig?.settings,\n\t\t\t\t\t_links: userConfig?._links,\n\t\t\t\t\tauthor: {\n\t\t\t\t\t\tname: currentUser?.name,\n\t\t\t\t\t\tavatar_urls: currentUser?.avatar_urls,\n\t\t\t\t\t},\n\t\t\t\t\tmodified: new Date(),\n\t\t\t\t};\n\n\t\t\t\t_modifiedRevisions.unshift( unsavedRevision );\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t_query.page === Math.ceil( revisionsCount / _query.per_page )\n\t\t\t) {\n\t\t\t\t// Adds an item for the default theme styles.\n\t\t\t\t_modifiedRevisions.push( {\n\t\t\t\t\tid: 'parent',\n\t\t\t\t\tstyles: {},\n\t\t\t\t\tsettings: {},\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\trevisions: _modifiedRevisions,\n\t\t\thasUnsavedChanges: isDirty,\n\t\t\tisLoading: false,\n\t\t\trevisionsCount,\n\t\t};\n\t}, [\n\t\tisDirty,\n\t\trevisions,\n\t\tcurrentUser,\n\t\tauthors,\n\t\tuserConfig,\n\t\tisLoadingGlobalStylesRevisions,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","store","coreStore","useContext","useMemo","privateApis","blockEditorPrivateApis","unlock","SITE_EDITOR_AUTHORS_QUERY","per_page","_fields","context","capabilities","DEFAULT_QUERY","page","EMPTY_ARRAY","GlobalStylesContext","useGlobalStylesRevisions","query","user","userConfig","_query","authors","currentUser","isDirty","revisions","isLoadingGlobalStylesRevisions","revisionsCount","select","_globalStyles$_links$","__experimentalGetDirtyEntityRecords","getCurrentUser","getUsers","getRevisions","__experimentalGetCurrentGlobalStylesId","getEntityRecord","isResolving","dirtyEntityRecords","_currentUser","_isDirty","length","globalStylesId","globalStyles","undefined","_revisionsCount","_links","count","globalStylesRevisions","_authors","_isResolving","hasUnsavedChanges","isLoading","_modifiedRevisions","map","revision","author","find","id","fetchedRevisionsCount","isLatest","Object","keys","unsavedRevision","styles","settings","name","avatar_urls","modified","Date","unshift","Math","ceil","push"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-revisions/use-global-styles-revisions.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';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\n\nconst SITE_EDITOR_AUTHORS_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name,avatar_urls',\n\tcontext: 'view',\n\tcapabilities: [ 'edit_theme_options' ],\n};\nconst DEFAULT_QUERY = { per_page: 100, page: 1 };\nconst EMPTY_ARRAY = [];\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nexport default function useGlobalStylesRevisions( { query } = {} ) {\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst _query = { ...DEFAULT_QUERY, ...query };\n\tconst {\n\t\tauthors,\n\t\tcurrentUser,\n\t\tisDirty,\n\t\trevisions,\n\t\tisLoadingGlobalStylesRevisions,\n\t\trevisionsCount,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tgetCurrentUser,\n\t\t\t\tgetUsers,\n\t\t\t\tgetRevisions,\n\t\t\t\t__experimentalGetCurrentGlobalStylesId,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tisResolving,\n\t\t\t} = select( coreStore );\n\t\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\t\tconst _currentUser = getCurrentUser();\n\t\t\tconst _isDirty = dirtyEntityRecords.length > 0;\n\t\t\tconst globalStylesId = __experimentalGetCurrentGlobalStylesId();\n\t\t\tconst globalStyles = globalStylesId\n\t\t\t\t? getEntityRecord( 'root', 'globalStyles', globalStylesId )\n\t\t\t\t: undefined;\n\t\t\tconst _revisionsCount =\n\t\t\t\tglobalStyles?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\t\tconst globalStylesRevisions =\n\t\t\t\tgetRevisions(\n\t\t\t\t\t'root',\n\t\t\t\t\t'globalStyles',\n\t\t\t\t\tglobalStylesId,\n\t\t\t\t\t_query\n\t\t\t\t) || EMPTY_ARRAY;\n\t\t\tconst _authors =\n\t\t\t\tgetUsers( SITE_EDITOR_AUTHORS_QUERY ) || EMPTY_ARRAY;\n\t\t\tconst _isResolving = isResolving( 'getRevisions', [\n\t\t\t\t'root',\n\t\t\t\t'globalStyles',\n\t\t\t\tglobalStylesId,\n\t\t\t\t_query,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\tauthors: _authors,\n\t\t\t\tcurrentUser: _currentUser,\n\t\t\t\tisDirty: _isDirty,\n\t\t\t\trevisions: globalStylesRevisions,\n\t\t\t\tisLoadingGlobalStylesRevisions: _isResolving,\n\t\t\t\trevisionsCount: _revisionsCount,\n\t\t\t};\n\t\t},\n\t\t[ query ]\n\t);\n\treturn useMemo( () => {\n\t\tif ( ! authors.length || isLoadingGlobalStylesRevisions ) {\n\t\t\treturn {\n\t\t\t\trevisions: EMPTY_ARRAY,\n\t\t\t\thasUnsavedChanges: isDirty,\n\t\t\t\tisLoading: true,\n\t\t\t\trevisionsCount,\n\t\t\t};\n\t\t}\n\n\t\t// Adds author details to each revision.\n\t\tconst _modifiedRevisions = revisions.map( ( revision ) => {\n\t\t\treturn {\n\t\t\t\t...revision,\n\t\t\t\tauthor: authors.find(\n\t\t\t\t\t( author ) => author.id === revision.author\n\t\t\t\t),\n\t\t\t};\n\t\t} );\n\n\t\tconst fetchedRevisionsCount = revisions.length;\n\n\t\tif ( fetchedRevisionsCount ) {\n\t\t\t// Flags the most current saved revision.\n\t\t\tif (\n\t\t\t\t_modifiedRevisions[ 0 ].id !== 'unsaved' &&\n\t\t\t\t_query.page === 1\n\t\t\t) {\n\t\t\t\t_modifiedRevisions[ 0 ].isLatest = true;\n\t\t\t}\n\n\t\t\t// Adds an item for unsaved changes.\n\t\t\tif (\n\t\t\t\tisDirty &&\n\t\t\t\tuserConfig &&\n\t\t\t\tObject.keys( userConfig ).length > 0 &&\n\t\t\t\tcurrentUser &&\n\t\t\t\t_query.page === 1\n\t\t\t) {\n\t\t\t\tconst unsavedRevision = {\n\t\t\t\t\tid: 'unsaved',\n\t\t\t\t\tstyles: userConfig?.styles,\n\t\t\t\t\tsettings: userConfig?.settings,\n\t\t\t\t\t_links: userConfig?._links,\n\t\t\t\t\tauthor: {\n\t\t\t\t\t\tname: currentUser?.name,\n\t\t\t\t\t\tavatar_urls: currentUser?.avatar_urls,\n\t\t\t\t\t},\n\t\t\t\t\tmodified: new Date(),\n\t\t\t\t};\n\n\t\t\t\t_modifiedRevisions.unshift( unsavedRevision );\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t_query.page === Math.ceil( revisionsCount / _query.per_page )\n\t\t\t) {\n\t\t\t\t// Adds an item for the default theme styles.\n\t\t\t\t_modifiedRevisions.push( {\n\t\t\t\t\tid: 'parent',\n\t\t\t\t\tstyles: {},\n\t\t\t\t\tsettings: {},\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\trevisions: _modifiedRevisions,\n\t\t\thasUnsavedChanges: isDirty,\n\t\t\tisLoading: false,\n\t\t\trevisionsCount,\n\t\t};\n\t}, [\n\t\tisDirty,\n\t\trevisions,\n\t\tcurrentUser,\n\t\tauthors,\n\t\tuserConfig,\n\t\tisLoadingGlobalStylesRevisions,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  export const CUSTOM_VALUE_SETTINGS = {
2
3
  px: {
3
4
  max: 20,
@@ -1 +1 @@
1
- {"version":3,"names":["CUSTOM_VALUE_SETTINGS","px","max","step","vw","vh","em","rm","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","getShadowParts","shadow","shadowValues","match","map","value","trim","shadowStringToObject","shadowValue","defaultShadow","x","y","blur","spread","color","inset","includes","lengthsRegex","matches","length","lengths","split","filter","insets","hasInset","colorString","replace","colorRegex","colorMatches","shadowObjectToString","shadowObj","shadowString"],"sources":["@wordpress/edit-site/src/components/global-styles/shadow-utils.js"],"sourcesContent":["export const CUSTOM_VALUE_SETTINGS = {\n\tpx: { max: 20, step: 1 },\n\t'%': { max: 100, step: 1 },\n\tvw: { max: 100, step: 1 },\n\tvh: { max: 100, step: 1 },\n\tem: { max: 10, step: 0.1 },\n\trm: { max: 10, step: 0.1 },\n\tsvw: { max: 100, step: 1 },\n\tlvw: { max: 100, step: 1 },\n\tdvw: { max: 100, step: 1 },\n\tsvh: { max: 100, step: 1 },\n\tlvh: { max: 100, step: 1 },\n\tdvh: { max: 100, step: 1 },\n\tvi: { max: 100, step: 1 },\n\tsvi: { max: 100, step: 1 },\n\tlvi: { max: 100, step: 1 },\n\tdvi: { max: 100, step: 1 },\n\tvb: { max: 100, step: 1 },\n\tsvb: { max: 100, step: 1 },\n\tlvb: { max: 100, step: 1 },\n\tdvb: { max: 100, step: 1 },\n\tvmin: { max: 100, step: 1 },\n\tsvmin: { max: 100, step: 1 },\n\tlvmin: { max: 100, step: 1 },\n\tdvmin: { max: 100, step: 1 },\n\tvmax: { max: 100, step: 1 },\n\tsvmax: { max: 100, step: 1 },\n\tlvmax: { max: 100, step: 1 },\n\tdvmax: { max: 100, step: 1 },\n};\n\nexport function getShadowParts( shadow ) {\n\tconst shadowValues = shadow.match( /(?:[^,(]|\\([^)]*\\))+/g ) || [];\n\treturn shadowValues.map( ( value ) => value.trim() );\n}\n\nexport function shadowStringToObject( shadowValue ) {\n\t/*\n\t * Shadow spec: https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow\n\t * Shadow string format: <offset-x> <offset-y> <blur-radius> <spread-radius> <color> [inset]\n\t *\n\t * A shadow to be valid it must satisfy the following.\n\t *\n\t * 1. Should not contain \"none\" keyword.\n\t * 2. Values x, y, blur, spread should be in the order. Color and inset can be anywhere in the string except in between x, y, blur, spread values.\n\t * 3. Should not contain more than one set of x, y, blur, spread values.\n\t * 4. Should contain at least x and y values. Others are optional.\n\t * 5. Should not contain more than one \"inset\" (case insensitive) keyword.\n\t * 6. Should not contain more than one color value.\n\t */\n\n\tconst defaultShadow = {\n\t\tx: '0',\n\t\ty: '0',\n\t\tblur: '0',\n\t\tspread: '0',\n\t\tcolor: '#000',\n\t\tinset: false,\n\t};\n\n\tif ( ! shadowValue ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 1: Should not contain \"none\" keyword.\n\t// if the shadow has \"none\" keyword, it is not a valid shadow string\n\tif ( shadowValue.includes( 'none' ) ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 2: Values x, y, blur, spread should be in the order.\n\t//\t\t Color and inset can be anywhere in the string except in between x, y, blur, spread values.\n\t// Extract length values (x, y, blur, spread) from shadow string\n\t// Regex match groups of 1 to 4 length values.\n\tconst lengthsRegex =\n\t\t/((?:^|\\s+)(-?\\d*\\.?\\d+(?:px|%|in|cm|mm|em|rem|ex|pt|pc|vh|vw|vmin|vmax|ch|lh)?)(?=\\s|$)(?![^(]*\\))){1,4}/g;\n\tconst matches = shadowValue.match( lengthsRegex ) || [];\n\n\t// Rule 3: Should not contain more than one set of x, y, blur, spread values.\n\t// if the string doesn't contain exactly 1 set of x, y, blur, spread values,\n\t// it is not a valid shadow string\n\tif ( matches.length !== 1 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Extract length values (x, y, blur, spread) from shadow string\n\tconst lengths = matches[ 0 ]\n\t\t.split( ' ' )\n\t\t.map( ( value ) => value.trim() )\n\t\t.filter( ( value ) => value );\n\n\t// Rule 4: Should contain at least x and y values. Others are optional.\n\tif ( lengths.length < 2 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 5: Should not contain more than one \"inset\" (case insensitive) keyword.\n\t// check if the shadow string contains \"inset\" keyword\n\tconst insets = shadowValue.match( /inset/gi ) || [];\n\tif ( insets.length > 1 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Strip lengths and inset from shadow string, leaving just color.\n\tconst hasInset = insets.length === 1;\n\tlet colorString = shadowValue.replace( lengthsRegex, '' ).trim();\n\tif ( hasInset ) {\n\t\tcolorString = colorString\n\t\t\t.replace( 'inset', '' )\n\t\t\t.replace( 'INSET', '' )\n\t\t\t.trim();\n\t}\n\n\t// Rule 6: Should not contain more than one color value.\n\t// validate color string with regular expression\n\t// check if color has matching hex, rgb or hsl values\n\tconst colorRegex =\n\t\t/^#([0-9a-f]{3}){1,2}$|^#([0-9a-f]{4}){1,2}$|^(?:rgb|hsl)a?\\(?[\\d*\\.?\\d+%?,?\\/?\\s]*\\)$/gi;\n\tlet colorMatches = ( colorString.match( colorRegex ) || [] )\n\t\t.map( ( value ) => value?.trim() )\n\t\t.filter( ( value ) => value );\n\n\t// If color string has more than one color values, it is not a valid\n\tif ( colorMatches.length > 1 ) {\n\t\treturn defaultShadow;\n\t} else if ( colorMatches.length === 0 ) {\n\t\t// check if color string has multiple named color values separated by space\n\t\tcolorMatches = colorString\n\t\t\t.trim()\n\t\t\t.split( ' ' )\n\t\t\t.filter( ( value ) => value );\n\t\t// If color string has more than one color values, it is not a valid\n\t\tif ( colorMatches.length > 1 ) {\n\t\t\treturn defaultShadow;\n\t\t}\n\t}\n\n\t// Return parsed shadow object.\n\tconst [ x, y, blur, spread ] = lengths;\n\treturn {\n\t\tx,\n\t\ty,\n\t\tblur: blur || defaultShadow.blur,\n\t\tspread: spread || defaultShadow.spread,\n\t\tinset: hasInset,\n\t\tcolor: colorString || defaultShadow.color,\n\t};\n}\n\nexport function shadowObjectToString( shadowObj ) {\n\tconst shadowString = `${ shadowObj.x || '0px' } ${ shadowObj.y || '0px' } ${\n\t\tshadowObj.blur || '0px'\n\t} ${ shadowObj.spread || '0px' }`;\n\n\treturn `${ shadowObj.inset ? 'inset' : '' } ${ shadowString } ${\n\t\tshadowObj.color || ''\n\t}`.trim();\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CUSTOM_VALUE_SETTINGS","px","max","step","vw","vh","em","rm","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","getShadowParts","shadow","shadowValues","match","map","value","trim","shadowStringToObject","shadowValue","defaultShadow","x","y","blur","spread","color","inset","includes","lengthsRegex","matches","length","lengths","split","filter","insets","hasInset","colorString","replace","colorRegex","colorMatches","shadowObjectToString","shadowObj","shadowString"],"sources":["@wordpress/edit-site/src/components/global-styles/shadow-utils.js"],"sourcesContent":["export const CUSTOM_VALUE_SETTINGS = {\n\tpx: { max: 20, step: 1 },\n\t'%': { max: 100, step: 1 },\n\tvw: { max: 100, step: 1 },\n\tvh: { max: 100, step: 1 },\n\tem: { max: 10, step: 0.1 },\n\trm: { max: 10, step: 0.1 },\n\tsvw: { max: 100, step: 1 },\n\tlvw: { max: 100, step: 1 },\n\tdvw: { max: 100, step: 1 },\n\tsvh: { max: 100, step: 1 },\n\tlvh: { max: 100, step: 1 },\n\tdvh: { max: 100, step: 1 },\n\tvi: { max: 100, step: 1 },\n\tsvi: { max: 100, step: 1 },\n\tlvi: { max: 100, step: 1 },\n\tdvi: { max: 100, step: 1 },\n\tvb: { max: 100, step: 1 },\n\tsvb: { max: 100, step: 1 },\n\tlvb: { max: 100, step: 1 },\n\tdvb: { max: 100, step: 1 },\n\tvmin: { max: 100, step: 1 },\n\tsvmin: { max: 100, step: 1 },\n\tlvmin: { max: 100, step: 1 },\n\tdvmin: { max: 100, step: 1 },\n\tvmax: { max: 100, step: 1 },\n\tsvmax: { max: 100, step: 1 },\n\tlvmax: { max: 100, step: 1 },\n\tdvmax: { max: 100, step: 1 },\n};\n\nexport function getShadowParts( shadow ) {\n\tconst shadowValues = shadow.match( /(?:[^,(]|\\([^)]*\\))+/g ) || [];\n\treturn shadowValues.map( ( value ) => value.trim() );\n}\n\nexport function shadowStringToObject( shadowValue ) {\n\t/*\n\t * Shadow spec: https://developer.mozilla.org/en-US/docs/Web/CSS/box-shadow\n\t * Shadow string format: <offset-x> <offset-y> <blur-radius> <spread-radius> <color> [inset]\n\t *\n\t * A shadow to be valid it must satisfy the following.\n\t *\n\t * 1. Should not contain \"none\" keyword.\n\t * 2. Values x, y, blur, spread should be in the order. Color and inset can be anywhere in the string except in between x, y, blur, spread values.\n\t * 3. Should not contain more than one set of x, y, blur, spread values.\n\t * 4. Should contain at least x and y values. Others are optional.\n\t * 5. Should not contain more than one \"inset\" (case insensitive) keyword.\n\t * 6. Should not contain more than one color value.\n\t */\n\n\tconst defaultShadow = {\n\t\tx: '0',\n\t\ty: '0',\n\t\tblur: '0',\n\t\tspread: '0',\n\t\tcolor: '#000',\n\t\tinset: false,\n\t};\n\n\tif ( ! shadowValue ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 1: Should not contain \"none\" keyword.\n\t// if the shadow has \"none\" keyword, it is not a valid shadow string\n\tif ( shadowValue.includes( 'none' ) ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 2: Values x, y, blur, spread should be in the order.\n\t//\t\t Color and inset can be anywhere in the string except in between x, y, blur, spread values.\n\t// Extract length values (x, y, blur, spread) from shadow string\n\t// Regex match groups of 1 to 4 length values.\n\tconst lengthsRegex =\n\t\t/((?:^|\\s+)(-?\\d*\\.?\\d+(?:px|%|in|cm|mm|em|rem|ex|pt|pc|vh|vw|vmin|vmax|ch|lh)?)(?=\\s|$)(?![^(]*\\))){1,4}/g;\n\tconst matches = shadowValue.match( lengthsRegex ) || [];\n\n\t// Rule 3: Should not contain more than one set of x, y, blur, spread values.\n\t// if the string doesn't contain exactly 1 set of x, y, blur, spread values,\n\t// it is not a valid shadow string\n\tif ( matches.length !== 1 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Extract length values (x, y, blur, spread) from shadow string\n\tconst lengths = matches[ 0 ]\n\t\t.split( ' ' )\n\t\t.map( ( value ) => value.trim() )\n\t\t.filter( ( value ) => value );\n\n\t// Rule 4: Should contain at least x and y values. Others are optional.\n\tif ( lengths.length < 2 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Rule 5: Should not contain more than one \"inset\" (case insensitive) keyword.\n\t// check if the shadow string contains \"inset\" keyword\n\tconst insets = shadowValue.match( /inset/gi ) || [];\n\tif ( insets.length > 1 ) {\n\t\treturn defaultShadow;\n\t}\n\n\t// Strip lengths and inset from shadow string, leaving just color.\n\tconst hasInset = insets.length === 1;\n\tlet colorString = shadowValue.replace( lengthsRegex, '' ).trim();\n\tif ( hasInset ) {\n\t\tcolorString = colorString\n\t\t\t.replace( 'inset', '' )\n\t\t\t.replace( 'INSET', '' )\n\t\t\t.trim();\n\t}\n\n\t// Rule 6: Should not contain more than one color value.\n\t// validate color string with regular expression\n\t// check if color has matching hex, rgb or hsl values\n\tconst colorRegex =\n\t\t/^#([0-9a-f]{3}){1,2}$|^#([0-9a-f]{4}){1,2}$|^(?:rgb|hsl)a?\\(?[\\d*\\.?\\d+%?,?\\/?\\s]*\\)$/gi;\n\tlet colorMatches = ( colorString.match( colorRegex ) || [] )\n\t\t.map( ( value ) => value?.trim() )\n\t\t.filter( ( value ) => value );\n\n\t// If color string has more than one color values, it is not a valid\n\tif ( colorMatches.length > 1 ) {\n\t\treturn defaultShadow;\n\t} else if ( colorMatches.length === 0 ) {\n\t\t// check if color string has multiple named color values separated by space\n\t\tcolorMatches = colorString\n\t\t\t.trim()\n\t\t\t.split( ' ' )\n\t\t\t.filter( ( value ) => value );\n\t\t// If color string has more than one color values, it is not a valid\n\t\tif ( colorMatches.length > 1 ) {\n\t\t\treturn defaultShadow;\n\t\t}\n\t}\n\n\t// Return parsed shadow object.\n\tconst [ x, y, blur, spread ] = lengths;\n\treturn {\n\t\tx,\n\t\ty,\n\t\tblur: blur || defaultShadow.blur,\n\t\tspread: spread || defaultShadow.spread,\n\t\tinset: hasInset,\n\t\tcolor: colorString || defaultShadow.color,\n\t};\n}\n\nexport function shadowObjectToString( shadowObj ) {\n\tconst shadowString = `${ shadowObj.x || '0px' } ${ shadowObj.y || '0px' } ${\n\t\tshadowObj.blur || '0px'\n\t} ${ shadowObj.spread || '0px' }`;\n\n\treturn `${ shadowObj.inset ? 'inset' : '' } ${ shadowString } ${\n\t\tshadowObj.color || ''\n\t}`.trim();\n}\n"],"mappings":"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","ignoreList":[]}