@wordpress/edit-site 6.3.0 → 6.5.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 (334) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-pattern/index.js +14 -3
  3. package/build/components/add-new-pattern/index.js.map +1 -1
  4. package/build/components/add-new-post/index.js +2 -1
  5. package/build/components/add-new-post/index.js.map +1 -1
  6. package/build/components/add-new-template/index.js +3 -1
  7. package/build/components/add-new-template/index.js.map +1 -1
  8. package/build/components/add-new-template/utils.js +2 -2
  9. package/build/components/add-new-template/utils.js.map +1 -1
  10. package/build/components/block-editor/use-site-editor-settings.js +1 -82
  11. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  12. package/build/components/editor/index.js +71 -20
  13. package/build/components/editor/index.js.map +1 -1
  14. package/build/components/global-styles/block-preview-panel.js +14 -5
  15. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  16. package/build/components/global-styles/font-families.js +40 -22
  17. package/build/components/global-styles/font-families.js.map +1 -1
  18. package/build/components/global-styles/font-library-modal/context.js +0 -5
  19. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  20. package/build/components/global-styles/font-library-modal/font-collection.js +25 -5
  21. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  22. package/build/components/global-styles/font-library-modal/index.js +5 -12
  23. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  24. package/build/components/global-styles/font-library-modal/installed-fonts.js +78 -15
  25. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  26. package/build/components/global-styles/font-library-modal/upload-fonts.js +2 -3
  27. package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  28. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +39 -0
  29. package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
  30. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +39 -0
  31. package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
  32. package/build/components/global-styles/font-sizes/font-size-preview.js +44 -0
  33. package/build/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
  34. package/build/components/global-styles/font-sizes/font-size.js +213 -0
  35. package/build/components/global-styles/font-sizes/font-size.js.map +1 -0
  36. package/build/components/global-styles/font-sizes/font-sizes-count.js +50 -0
  37. package/build/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
  38. package/build/components/global-styles/font-sizes/font-sizes.js +163 -0
  39. package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -0
  40. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js +67 -0
  41. package/build/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
  42. package/build/components/global-styles/screen-block.js +10 -8
  43. package/build/components/global-styles/screen-block.js.map +1 -1
  44. package/build/components/global-styles/screen-style-variations.js +2 -2
  45. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  46. package/build/components/global-styles/screen-typeset.js +40 -0
  47. package/build/components/global-styles/screen-typeset.js.map +1 -0
  48. package/build/components/global-styles/screen-typography-element.js +14 -0
  49. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  50. package/build/components/global-styles/screen-typography.js +5 -6
  51. package/build/components/global-styles/screen-typography.js.map +1 -1
  52. package/build/components/global-styles/shadows-edit-panel.js +50 -59
  53. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  54. package/build/components/global-styles/size-control/index.js +85 -0
  55. package/build/components/global-styles/size-control/index.js.map +1 -0
  56. package/build/components/global-styles/style-variations-container.js +3 -0
  57. package/build/components/global-styles/style-variations-container.js.map +1 -1
  58. package/build/components/global-styles/typeset-button.js +97 -0
  59. package/build/components/global-styles/typeset-button.js.map +1 -0
  60. package/build/components/global-styles/typeset.js +80 -0
  61. package/build/components/global-styles/typeset.js.map +1 -0
  62. package/build/components/global-styles/ui.js +12 -0
  63. package/build/components/global-styles/ui.js.map +1 -1
  64. package/build/components/global-styles/utils.js +10 -1
  65. package/build/components/global-styles/utils.js.map +1 -1
  66. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  67. package/build/components/global-styles/variations/variations-typography.js +1 -1
  68. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  69. package/build/components/layout/index.js +6 -0
  70. package/build/components/layout/index.js.map +1 -1
  71. package/build/components/layout/router.js +14 -6
  72. package/build/components/layout/router.js.map +1 -1
  73. package/build/components/page-patterns/fields.js +230 -0
  74. package/build/components/page-patterns/fields.js.map +1 -0
  75. package/build/components/page-patterns/header.js +1 -1
  76. package/build/components/page-patterns/header.js.map +1 -1
  77. package/build/components/page-patterns/index.js +21 -227
  78. package/build/components/page-patterns/index.js.map +1 -1
  79. package/build/components/page-patterns/use-patterns.js +26 -1
  80. package/build/components/page-patterns/use-patterns.js.map +1 -1
  81. package/build/components/page-templates/fields.js +169 -0
  82. package/build/components/page-templates/fields.js.map +1 -0
  83. package/build/components/page-templates/index.js +38 -198
  84. package/build/components/page-templates/index.js.map +1 -1
  85. package/build/components/post-edit/index.js +117 -0
  86. package/build/components/post-edit/index.js.map +1 -0
  87. package/build/components/post-fields/index.js +318 -0
  88. package/build/components/post-fields/index.js.map +1 -0
  89. package/build/components/post-list/index.js +339 -0
  90. package/build/components/post-list/index.js.map +1 -0
  91. package/build/components/posts-app/router.js +3 -3
  92. package/build/components/posts-app/router.js.map +1 -1
  93. package/build/components/sidebar-dataviews/add-new-view.js +2 -2
  94. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
  95. package/build/components/sidebar-dataviews/dataview-item.js +2 -3
  96. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  97. package/build/components/sidebar-dataviews/default-views.js +103 -91
  98. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  99. package/build/components/sidebar-dataviews/index.js +2 -2
  100. package/build/components/sidebar-dataviews/index.js.map +1 -1
  101. package/build/components/sidebar-navigation-screen-global-styles/content.js +64 -0
  102. package/build/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
  103. package/build/components/sidebar-navigation-screen-global-styles/index.js +2 -47
  104. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  105. package/build/components/site-hub/index.js +6 -3
  106. package/build/components/site-hub/index.js.map +1 -1
  107. package/build/components/style-book/index.js +22 -25
  108. package/build/components/style-book/index.js.map +1 -1
  109. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
  110. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  111. package/build/hooks/push-changes-to-global-styles/index.js +3 -4
  112. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  113. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -4
  114. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  115. package/build/index.js +4 -2
  116. package/build/index.js.map +1 -1
  117. package/build/store/selectors.js +34 -6
  118. package/build/store/selectors.js.map +1 -1
  119. package/build/utils/get-filtered-template-parts.js +64 -0
  120. package/build/utils/get-filtered-template-parts.js.map +1 -0
  121. package/build-module/components/add-new-pattern/index.js +14 -3
  122. package/build-module/components/add-new-pattern/index.js.map +1 -1
  123. package/build-module/components/add-new-post/index.js +2 -1
  124. package/build-module/components/add-new-post/index.js.map +1 -1
  125. package/build-module/components/add-new-template/index.js +3 -1
  126. package/build-module/components/add-new-template/index.js.map +1 -1
  127. package/build-module/components/add-new-template/utils.js +2 -2
  128. package/build-module/components/add-new-template/utils.js.map +1 -1
  129. package/build-module/components/block-editor/use-site-editor-settings.js +1 -82
  130. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  131. package/build-module/components/editor/index.js +73 -22
  132. package/build-module/components/editor/index.js.map +1 -1
  133. package/build-module/components/global-styles/block-preview-panel.js +14 -5
  134. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  135. package/build-module/components/global-styles/font-families.js +42 -24
  136. package/build-module/components/global-styles/font-families.js.map +1 -1
  137. package/build-module/components/global-styles/font-library-modal/context.js +0 -5
  138. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  139. package/build-module/components/global-styles/font-library-modal/font-collection.js +26 -6
  140. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  141. package/build-module/components/global-styles/font-library-modal/index.js +5 -12
  142. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  143. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +81 -18
  144. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  145. package/build-module/components/global-styles/font-library-modal/upload-fonts.js +2 -3
  146. package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
  147. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +32 -0
  148. package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
  149. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +32 -0
  150. package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
  151. package/build-module/components/global-styles/font-sizes/font-size-preview.js +37 -0
  152. package/build-module/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
  153. package/build-module/components/global-styles/font-sizes/font-size.js +207 -0
  154. package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -0
  155. package/build-module/components/global-styles/font-sizes/font-sizes-count.js +43 -0
  156. package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
  157. package/build-module/components/global-styles/font-sizes/font-sizes.js +157 -0
  158. package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -0
  159. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js +61 -0
  160. package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
  161. package/build-module/components/global-styles/screen-block.js +10 -8
  162. package/build-module/components/global-styles/screen-block.js.map +1 -1
  163. package/build-module/components/global-styles/screen-style-variations.js +2 -2
  164. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  165. package/build-module/components/global-styles/screen-typeset.js +34 -0
  166. package/build-module/components/global-styles/screen-typeset.js.map +1 -0
  167. package/build-module/components/global-styles/screen-typography-element.js +14 -0
  168. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  169. package/build-module/components/global-styles/screen-typography.js +5 -6
  170. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  171. package/build-module/components/global-styles/shadows-edit-panel.js +51 -60
  172. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  173. package/build-module/components/global-styles/size-control/index.js +79 -0
  174. package/build-module/components/global-styles/size-control/index.js.map +1 -0
  175. package/build-module/components/global-styles/style-variations-container.js +3 -0
  176. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  177. package/build-module/components/global-styles/typeset-button.js +89 -0
  178. package/build-module/components/global-styles/typeset-button.js.map +1 -0
  179. package/build-module/components/global-styles/typeset.js +71 -0
  180. package/build-module/components/global-styles/typeset.js.map +1 -0
  181. package/build-module/components/global-styles/ui.js +12 -0
  182. package/build-module/components/global-styles/ui.js.map +1 -1
  183. package/build-module/components/global-styles/utils.js +10 -1
  184. package/build-module/components/global-styles/utils.js.map +1 -1
  185. package/build-module/components/global-styles/variations/variations-color.js +1 -1
  186. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  187. package/build-module/components/global-styles/variations/variations-typography.js +1 -2
  188. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  189. package/build-module/components/layout/index.js +6 -0
  190. package/build-module/components/layout/index.js.map +1 -1
  191. package/build-module/components/layout/router.js +14 -6
  192. package/build-module/components/layout/router.js.map +1 -1
  193. package/build-module/components/page-patterns/fields.js +223 -0
  194. package/build-module/components/page-patterns/fields.js.map +1 -0
  195. package/build-module/components/page-patterns/header.js +1 -1
  196. package/build-module/components/page-patterns/header.js.map +1 -1
  197. package/build-module/components/page-patterns/index.js +24 -230
  198. package/build-module/components/page-patterns/index.js.map +1 -1
  199. package/build-module/components/page-patterns/use-patterns.js +26 -1
  200. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  201. package/build-module/components/page-templates/fields.js +160 -0
  202. package/build-module/components/page-templates/fields.js.map +1 -0
  203. package/build-module/components/page-templates/index.js +39 -199
  204. package/build-module/components/page-templates/index.js.map +1 -1
  205. package/build-module/components/post-edit/index.js +110 -0
  206. package/build-module/components/post-edit/index.js.map +1 -0
  207. package/build-module/components/post-fields/index.js +310 -0
  208. package/build-module/components/post-fields/index.js.map +1 -0
  209. package/build-module/components/post-list/index.js +333 -0
  210. package/build-module/components/post-list/index.js.map +1 -0
  211. package/build-module/components/posts-app/router.js +3 -3
  212. package/build-module/components/posts-app/router.js.map +1 -1
  213. package/build-module/components/sidebar-dataviews/add-new-view.js +2 -2
  214. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
  215. package/build-module/components/sidebar-dataviews/dataview-item.js +2 -3
  216. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  217. package/build-module/components/sidebar-dataviews/default-views.js +102 -90
  218. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  219. package/build-module/components/sidebar-dataviews/index.js +5 -5
  220. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  221. package/build-module/components/sidebar-navigation-screen-global-styles/content.js +57 -0
  222. package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
  223. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +2 -47
  224. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  225. package/build-module/components/site-hub/index.js +7 -4
  226. package/build-module/components/site-hub/index.js.map +1 -1
  227. package/build-module/components/style-book/index.js +23 -26
  228. package/build-module/components/style-book/index.js.map +1 -1
  229. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
  230. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  231. package/build-module/hooks/push-changes-to-global-styles/index.js +3 -4
  232. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  233. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -3
  234. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  235. package/build-module/index.js +4 -2
  236. package/build-module/index.js.map +1 -1
  237. package/build-module/store/selectors.js +35 -7
  238. package/build-module/store/selectors.js.map +1 -1
  239. package/build-module/utils/get-filtered-template-parts.js +57 -0
  240. package/build-module/utils/get-filtered-template-parts.js.map +1 -0
  241. package/build-style/posts-rtl.css +749 -492
  242. package/build-style/posts.css +749 -492
  243. package/build-style/style-rtl.css +956 -613
  244. package/build-style/style.css +956 -613
  245. package/package.json +41 -41
  246. package/src/components/add-new-pattern/index.js +16 -5
  247. package/src/components/add-new-post/index.js +2 -1
  248. package/src/components/add-new-template/index.js +4 -1
  249. package/src/components/add-new-template/style.scss +4 -6
  250. package/src/components/add-new-template/utils.js +10 -6
  251. package/src/components/block-editor/use-site-editor-settings.js +15 -111
  252. package/src/components/editor/index.js +80 -22
  253. package/src/components/editor/style.scss +59 -1
  254. package/src/components/global-styles/block-preview-panel.js +22 -9
  255. package/src/components/global-styles/font-families.js +65 -32
  256. package/src/components/global-styles/font-library-modal/context.js +0 -5
  257. package/src/components/global-styles/font-library-modal/font-collection.js +34 -10
  258. package/src/components/global-styles/font-library-modal/index.js +6 -9
  259. package/src/components/global-styles/font-library-modal/installed-fonts.js +115 -16
  260. package/src/components/global-styles/font-library-modal/style.scss +9 -0
  261. package/src/components/global-styles/font-library-modal/upload-fonts.js +2 -2
  262. package/src/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +43 -0
  263. package/src/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +37 -0
  264. package/src/components/global-styles/font-sizes/font-size-preview.js +43 -0
  265. package/src/components/global-styles/font-sizes/font-size.js +250 -0
  266. package/src/components/global-styles/font-sizes/font-sizes-count.js +40 -0
  267. package/src/components/global-styles/font-sizes/font-sizes.js +263 -0
  268. package/src/components/global-styles/font-sizes/rename-font-size-dialog.js +70 -0
  269. package/src/components/global-styles/screen-block.js +12 -14
  270. package/src/components/global-styles/screen-style-variations.js +2 -2
  271. package/src/components/global-styles/screen-typeset.js +42 -0
  272. package/src/components/global-styles/screen-typography-element.js +14 -0
  273. package/src/components/global-styles/screen-typography.js +7 -6
  274. package/src/components/global-styles/shadows-edit-panel.js +66 -73
  275. package/src/components/global-styles/size-control/index.js +86 -0
  276. package/src/components/global-styles/style-variations-container.js +4 -0
  277. package/src/components/global-styles/style.scss +17 -10
  278. package/src/components/global-styles/typeset-button.js +93 -0
  279. package/src/components/global-styles/typeset.js +73 -0
  280. package/src/components/global-styles/ui.js +15 -0
  281. package/src/components/global-styles/utils.js +13 -1
  282. package/src/components/global-styles/variations/variations-color.js +1 -1
  283. package/src/components/global-styles/variations/variations-typography.js +1 -2
  284. package/src/components/layout/index.js +11 -0
  285. package/src/components/layout/router.js +13 -5
  286. package/src/components/layout/style.scss +34 -8
  287. package/src/components/page-patterns/fields.js +251 -0
  288. package/src/components/page-patterns/header.js +1 -1
  289. package/src/components/page-patterns/index.js +24 -246
  290. package/src/components/page-patterns/style.scss +82 -85
  291. package/src/components/page-patterns/use-patterns.js +31 -1
  292. package/src/components/page-templates/fields.js +157 -0
  293. package/src/components/page-templates/index.js +46 -192
  294. package/src/components/page-templates/style.scss +19 -8
  295. package/src/components/post-edit/index.js +115 -0
  296. package/src/components/post-edit/style.scss +9 -0
  297. package/src/components/post-fields/index.js +357 -0
  298. package/src/components/post-list/index.js +386 -0
  299. package/src/components/{posts-app → post-list}/style.scss +12 -9
  300. package/src/components/posts-app/router.js +3 -3
  301. package/src/components/sidebar-dataviews/add-new-view.js +2 -4
  302. package/src/components/sidebar-dataviews/dataview-item.js +2 -2
  303. package/src/components/sidebar-dataviews/default-views.js +116 -104
  304. package/src/components/sidebar-dataviews/index.js +4 -3
  305. package/src/components/sidebar-navigation-screen-global-styles/content.js +55 -0
  306. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -55
  307. package/src/components/site-hub/index.js +11 -2
  308. package/src/components/site-icon/style.scss +4 -1
  309. package/src/components/style-book/index.js +27 -32
  310. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
  311. package/src/hooks/push-changes-to-global-styles/index.js +3 -4
  312. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -3
  313. package/src/index.js +6 -2
  314. package/src/posts.scss +1 -1
  315. package/src/store/selectors.js +53 -14
  316. package/src/store/test/selectors.js +1 -26
  317. package/src/style.scss +2 -1
  318. package/src/utils/get-filtered-template-parts.js +61 -0
  319. package/src/utils/test/get-filtered-template-parts.js +127 -0
  320. package/build/components/global-styles/screen-background.js +0 -36
  321. package/build/components/global-styles/screen-background.js.map +0 -1
  322. package/build/components/posts-app/posts-list.js +0 -568
  323. package/build/components/posts-app/posts-list.js.map +0 -1
  324. package/build/utils/clone-deep.js +0 -15
  325. package/build/utils/clone-deep.js.map +0 -1
  326. package/build-module/components/global-styles/screen-background.js +0 -30
  327. package/build-module/components/global-styles/screen-background.js.map +0 -1
  328. package/build-module/components/posts-app/posts-list.js +0 -560
  329. package/build-module/components/posts-app/posts-list.js.map +0 -1
  330. package/build-module/utils/clone-deep.js +0 -9
  331. package/build-module/utils/clone-deep.js.map +0 -1
  332. package/src/components/global-styles/screen-background.js +0 -29
  333. package/src/components/posts-app/posts-list.js +0 -651
  334. package/src/utils/clone-deep.js +0 -8
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalSpacer","Spacer","__experimentalItemGroup","ItemGroup","__experimentalHeading","Heading","__experimentalInputControl","InputControl","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","__experimentalGrid","Grid","__experimentalDropdownContentWrapper","DropdownContentWrapper","__experimentalUseNavigator","useNavigator","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalConfirmDialog","ConfirmDialog","Dropdown","RangeControl","Button","Flex","FlexItem","ColorPalette","Modal","privateApis","componentsPrivateApis","__","sprintf","blockEditorPrivateApis","plus","shadow","shadowIcon","reset","settings","moreVertical","useState","useMemo","unlock","Subtitle","ScreenHeader","defaultShadow","getShadowParts","shadowStringToObject","shadowObjectToString","CUSTOM_VALUE_SETTINGS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useGlobalSetting","DropdownMenuV2","DropdownMenu","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","customShadowMenuItems","label","action","presetShadowMenuItems","ShadowsEditPanel","params","category","slug","goTo","shadows","setShadows","baseShadows","undefined","selectedShadow","setSelectedShadow","find","baseSelectedShadow","b","isConfirmDialogVisible","setIsConfirmDialogVisible","isRenameModalVisible","setIsRenameModalVisible","shadowName","setShadowName","name","onShadowChange","updatedShadows","map","s","onMenuClick","handleShadowDelete","filter","handleShadowRename","newName","title","children","justify","marginTop","marginBottom","paddingX","trigger","size","icon","item","onClick","disabled","className","ShadowsPreview","ShadowEditor","onChange","isOpen","onConfirm","onCancel","confirmButtonText","onRequestClose","onSubmit","event","preventDefault","autoComplete","placeholder","value","expanded","variant","type","shadowStyle","boxShadow","align","style","shadowParts","onChangeShadowPart","index","part","join","onAddShadowPart","push","onRemoveShadowPart","splice","spacing","level","isBordered","isSeparated","ShadowItem","canRemove","length","onRemove","popoverProps","placement","offset","shift","shadowObj","newShadow","renderToggle","onToggle","toggleProps","removeButtonProps","flexGrow","inset","renderContent","paddingSize","ShadowPopover","__experimentalIsRenderedInSidebar","enableAlpha","key","clearable","color","isBlock","hideLabelFromVision","__next40pxDefaultSize","columns","gap","ShadowInputControl","x","hasNegativeRange","y","blur","spread","_CUSTOM_VALUE_SETTING","_CUSTOM_VALUE_SETTING2","_CUSTOM_VALUE_SETTING3","isCustomInput","setIsCustomInput","parsedQuantity","parsedUnit","sliderOnChange","next","onValueChange","isNumeric","isNaN","parseFloat","nextValue","isPressed","withInputField","__nextHasNoMarginBottom","min","max","step"],"sources":["@wordpress/edit-site/src/components/global-styles/shadows-edit-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHeading as Heading,\n\t__experimentalInputControl as InputControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\t__experimentalGrid as Grid,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdown,\n\tRangeControl,\n\tButton,\n\tFlex,\n\tFlexItem,\n\tColorPalette,\n\tModal,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport {\n\tplus,\n\tshadow as shadowIcon,\n\treset,\n\tsettings,\n\tmoreVertical,\n} from '@wordpress/icons';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport ScreenHeader from './header';\nimport { defaultShadow } from './shadows-panel';\nimport {\n\tgetShadowParts,\n\tshadowStringToObject,\n\tshadowObjectToString,\n\tCUSTOM_VALUE_SETTINGS,\n} from './shadow-utils';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\n\nconst customShadowMenuItems = [\n\t{\n\t\tlabel: __( 'Rename' ),\n\t\taction: 'rename',\n\t},\n\t{\n\t\tlabel: __( 'Delete' ),\n\t\taction: 'delete',\n\t},\n];\n\nconst presetShadowMenuItems = [\n\t{\n\t\tlabel: __( 'Reset' ),\n\t\taction: 'reset',\n\t},\n];\n\nexport default function ShadowsEditPanel() {\n\tconst {\n\t\tparams: { category, slug },\n\t\tgoTo,\n\t} = useNavigator();\n\tconst [ shadows, setShadows ] = useGlobalSetting(\n\t\t`shadow.presets.${ category }`\n\t);\n\tconst [ baseShadows ] = useGlobalSetting(\n\t\t`shadow.presets.${ category }`,\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst [ selectedShadow, setSelectedShadow ] = useState( () =>\n\t\t( shadows || [] ).find( ( shadow ) => shadow.slug === slug )\n\t);\n\tconst baseSelectedShadow = useMemo(\n\t\t() => ( baseShadows || [] ).find( ( b ) => b.slug === slug ),\n\t\t[ baseShadows, slug ]\n\t);\n\tconst [ isConfirmDialogVisible, setIsConfirmDialogVisible ] =\n\t\tuseState( false );\n\tconst [ isRenameModalVisible, setIsRenameModalVisible ] = useState( false );\n\tconst [ shadowName, setShadowName ] = useState( selectedShadow.name );\n\n\tconst onShadowChange = ( shadow ) => {\n\t\tsetSelectedShadow( { ...selectedShadow, shadow } );\n\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\ts.slug === slug ? { ...selectedShadow, shadow } : s\n\t\t);\n\t\tsetShadows( updatedShadows );\n\t};\n\n\tconst onMenuClick = ( action ) => {\n\t\tif ( action === 'reset' ) {\n\t\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\t\ts.slug === slug ? baseSelectedShadow : s\n\t\t\t);\n\t\t\tsetSelectedShadow( baseSelectedShadow );\n\t\t\tsetShadows( updatedShadows );\n\t\t} else if ( action === 'delete' ) {\n\t\t\tsetIsConfirmDialogVisible( true );\n\t\t} else if ( action === 'rename' ) {\n\t\t\tsetIsRenameModalVisible( true );\n\t\t}\n\t};\n\n\tconst handleShadowDelete = () => {\n\t\tconst updatedShadows = shadows.filter( ( s ) => s.slug !== slug );\n\t\tsetShadows( updatedShadows );\n\t\tgoTo( `/shadows` );\n\t};\n\n\tconst handleShadowRename = ( newName ) => {\n\t\tif ( ! newName ) {\n\t\t\treturn;\n\t\t}\n\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\ts.slug === slug ? { ...selectedShadow, name: newName } : s\n\t\t);\n\t\tsetSelectedShadow( { ...selectedShadow, name: newName } );\n\t\tsetShadows( updatedShadows );\n\t};\n\n\treturn ! selectedShadow ? (\n\t\t<ScreenHeader title=\"\" />\n\t) : (\n\t\t<>\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<ScreenHeader title={ selectedShadow.name } />\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Spacer marginTop={ 2 } marginBottom={ 0 } paddingX={ 4 }>\n\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( category === 'custom'\n\t\t\t\t\t\t\t\t? customShadowMenuItems\n\t\t\t\t\t\t\t\t: presetShadowMenuItems\n\t\t\t\t\t\t\t).map( ( item ) => (\n\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\tkey={ item.action }\n\t\t\t\t\t\t\t\t\tonClick={ () => onMenuClick( item.action ) }\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\titem.action === 'reset' &&\n\t\t\t\t\t\t\t\t\t\tselectedShadow.shadow ===\n\t\t\t\t\t\t\t\t\t\t\tbaseSelectedShadow.shadow\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<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ item.label }\n\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t</Spacer>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t\t<div className=\"edit-site-global-styles-screen\">\n\t\t\t\t<ShadowsPreview shadow={ selectedShadow.shadow } />\n\t\t\t\t<ShadowEditor\n\t\t\t\t\tshadow={ selectedShadow.shadow }\n\t\t\t\t\tonChange={ onShadowChange }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ isConfirmDialogVisible && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen\n\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\thandleShadowDelete();\n\t\t\t\t\t\tsetIsConfirmDialogVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonCancel={ () => {\n\t\t\t\t\t\tsetIsConfirmDialogVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s: name of the shadow\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\"?',\n\t\t\t\t\t\tselectedShadow.name\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t\t{ isRenameModalVisible && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Rename' ) }\n\t\t\t\t\tonRequestClose={ () => setIsRenameModalVisible( false ) }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\thandleShadowRename( shadowName );\n\t\t\t\t\t\t\tsetIsRenameModalVisible( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Shadow name' ) }\n\t\t\t\t\t\t\tvalue={ shadowName }\n\t\t\t\t\t\t\tonChange={ ( value ) => setShadowName( value ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Spacer marginBottom={ 6 } />\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tclassName=\"block-editor-shadow-edit-modal__actions\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tsetIsRenameModalVisible( false )\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{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction ShadowsPreview( { shadow } ) {\n\tconst shadowStyle = {\n\t\tboxShadow: shadow,\n\t};\n\n\treturn (\n\t\t<Spacer marginBottom={ 4 } marginTop={ -2 }>\n\t\t\t<HStack\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tclassName=\"edit-site-global-styles__shadow-preview-panel\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadow-preview-block\"\n\t\t\t\t\tstyle={ shadowStyle }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</Spacer>\n\t);\n}\n\nfunction ShadowEditor( { shadow, onChange } ) {\n\tconst shadowParts = useMemo( () => getShadowParts( shadow ), [ shadow ] );\n\n\tconst onChangeShadowPart = ( index, part ) => {\n\t\tshadowParts[ index ] = part;\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\tconst onAddShadowPart = () => {\n\t\tshadowParts.push( defaultShadow );\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\tconst onRemoveShadowPart = ( index ) => {\n\t\tshadowParts.splice( index, 1 );\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<VStack spacing={ 2 }>\n\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t<Flex\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tclassName=\"edit-site-global-styles__shadows-panel__title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Shadows' ) }</Subtitle>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t<FlexItem className=\"edit-site-global-styles__shadows-panel__options-container\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={ __( 'Add shadow' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonAddShadowPart();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t\t<Spacer />\n\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t{ shadowParts.map( ( part, index ) => (\n\t\t\t\t\t<ShadowItem\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\tshadow={ part }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tonChangeShadowPart( index, value )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcanRemove={ shadowParts.length > 1 }\n\t\t\t\t\t\tonRemove={ () => onRemoveShadowPart( index ) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nfunction ShadowItem( { shadow, onChange, canRemove, onRemove } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\tconst shadowObj = useMemo(\n\t\t() => shadowStringToObject( shadow ),\n\t\t[ shadow ]\n\t);\n\tconst onShadowChange = ( newShadow ) => {\n\t\tonChange( shadowObjectToString( newShadow ) );\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"edit-site-global-styles__shadow-editor__dropdown\"\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\tconst toggleProps = {\n\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t'edit-site-global-styles__shadow-editor__dropdown-toggle',\n\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t),\n\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t};\n\t\t\t\tconst removeButtonProps = {\n\t\t\t\t\tonClick: onRemove,\n\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t'edit-site-global-styles__shadow-editor__remove-button',\n\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t),\n\t\t\t\t\tlabel: __( 'Remove shadow' ),\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<HStack align=\"center\" justify=\"flex-start\" spacing={ 0 }>\n\t\t\t\t\t\t<FlexItem style={ { flexGrow: 1 } }>\n\t\t\t\t\t\t\t<Button icon={ shadowIcon } { ...toggleProps }>\n\t\t\t\t\t\t\t\t{ shadowObj.inset\n\t\t\t\t\t\t\t\t\t? __( 'Inner shadow' )\n\t\t\t\t\t\t\t\t\t: __( 'Drop shadow' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</HStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"none\">\n\t\t\t\t\t<div className=\"edit-site-global-styles__shadow-editor__dropdown-content\">\n\t\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\t\tshadowObj={ shadowObj }\n\t\t\t\t\t\t\tonChange={ onShadowChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction ShadowPopover( { shadowObj, onChange } ) {\n\tconst __experimentalIsRenderedInSidebar = true;\n\tconst enableAlpha = true;\n\n\tconst onShadowChange = ( key, value ) => {\n\t\tconst newShadow = {\n\t\t\t...shadowObj,\n\t\t\t[ key ]: value,\n\t\t};\n\t\tonChange( newShadow );\n\t};\n\n\treturn (\n\t\t<div className=\"edit-site-global-styles__shadow-editor-panel\">\n\t\t\t<VStack spacing={ 2 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Shadow' ) }</Heading>\n\t\t\t\t<div className=\"edit-site-global-styles__shadow-editor-color-palette\">\n\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ shadowObj.color }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tonShadowChange( 'color', value )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<ToggleGroupControl\n\t\t\t\t\tvalue={ shadowObj.inset ? 'inset' : 'outset' }\n\t\t\t\t\tisBlock\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tonShadowChange( 'inset', value === 'inset' )\n\t\t\t\t\t}\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tvalue=\"outset\"\n\t\t\t\t\t\tlabel={ __( 'Outset' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\tvalue=\"inset\"\n\t\t\t\t\t\tlabel={ __( 'Inset' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToggleGroupControl>\n\t\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t\t<ShadowInputControl\n\t\t\t\t\t\tlabel={ __( 'X Position' ) }\n\t\t\t\t\t\tvalue={ shadowObj.x }\n\t\t\t\t\t\thasNegativeRange\n\t\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'x', value ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ShadowInputControl\n\t\t\t\t\t\tlabel={ __( 'Y Position' ) }\n\t\t\t\t\t\tvalue={ shadowObj.y }\n\t\t\t\t\t\thasNegativeRange\n\t\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'y', value ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ShadowInputControl\n\t\t\t\t\t\tlabel={ __( 'Blur' ) }\n\t\t\t\t\t\tvalue={ shadowObj.blur }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tonShadowChange( 'blur', value )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ShadowInputControl\n\t\t\t\t\t\tlabel={ __( 'Spread' ) }\n\t\t\t\t\t\tvalue={ shadowObj.spread }\n\t\t\t\t\t\thasNegativeRange\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tonShadowChange( 'spread', value )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Grid>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nfunction ShadowInputControl( { label, value, onChange, hasNegativeRange } ) {\n\tconst [ isCustomInput, setIsCustomInput ] = useState( false );\n\tconst [ parsedQuantity, parsedUnit ] =\n\t\tparseQuantityAndUnitFromRawValue( value );\n\n\tconst sliderOnChange = ( next ) => {\n\t\tonChange(\n\t\t\tnext !== undefined ? [ next, parsedUnit || 'px' ].join( '' ) : '0px'\n\t\t);\n\t};\n\tconst onValueChange = ( next ) => {\n\t\tconst isNumeric = next !== undefined && ! isNaN( parseFloat( next ) );\n\t\tconst nextValue = isNumeric ? next : '0px';\n\t\tonChange( nextValue );\n\t};\n\n\treturn (\n\t\t<VStack justify=\"flex-start\">\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<Subtitle>{ label }</Subtitle>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Use custom size' ) }\n\t\t\t\t\ticon={ settings }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetIsCustomInput( ! isCustomInput );\n\t\t\t\t\t} }\n\t\t\t\t\tisPressed={ isCustomInput }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t{ isCustomInput ? (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onValueChange }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<RangeControl\n\t\t\t\t\tvalue={ parsedQuantity ?? 0 }\n\t\t\t\t\tonChange={ sliderOnChange }\n\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tmin={\n\t\t\t\t\t\thasNegativeRange\n\t\t\t\t\t\t\t? -(\n\t\t\t\t\t\t\t\t\tCUSTOM_VALUE_SETTINGS[ parsedUnit ?? 'px' ]\n\t\t\t\t\t\t\t\t\t\t?.max ?? 10\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: 0\n\t\t\t\t\t}\n\t\t\t\t\tmax={\n\t\t\t\t\t\tCUSTOM_VALUE_SETTINGS[ parsedUnit ?? 'px' ]?.max ?? 10\n\t\t\t\t\t}\n\t\t\t\t\tstep={\n\t\t\t\t\t\tCUSTOM_VALUE_SETTINGS[ parsedUnit ?? 'px' ]?.step ?? 0.1\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,uBAAuB,IAAIC,SAAS,EACpCC,qBAAqB,IAAIC,OAAO,EAChCC,0BAA0B,IAAIC,YAAY,EAC1CC,yBAAyB,IAAIC,WAAW,EACxCC,8CAA8C,IAAIC,gCAAgC,EAClFC,kBAAkB,IAAIC,IAAI,EAC1BC,oCAAoC,IAAIC,sBAAsB,EAC9DC,0BAA0B,IAAIC,YAAY,EAC1CC,gCAAgC,IAAIC,kBAAkB,EACtDC,sCAAsC,IAAIC,wBAAwB,EAClEC,2BAA2B,IAAIC,aAAa,EAC5CC,QAAQ,EACRC,YAAY,EACZC,MAAM,EACNC,IAAI,EACJC,QAAQ,EACRC,YAAY,EACZC,KAAK,EACLC,WAAW,IAAIC,qBAAqB,QAC9B,uBAAuB;AAC9B,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASH,WAAW,IAAII,sBAAsB,QAAQ,yBAAyB;AAC/E,SACCC,IAAI,EACJC,MAAM,IAAIC,UAAU,EACpBC,KAAK,EACLC,QAAQ,EACRC,YAAY,QACN,kBAAkB;AACzB,SAASC,QAAQ,EAAEC,OAAO,QAAQ,oBAAoB;;AAEtD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,QAAQ,MAAM,YAAY;AACjC,OAAOC,YAAY,MAAM,UAAU;AACnC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SACCC,cAAc,EACdC,oBAAoB,EACpBC,oBAAoB,EACpBC,qBAAqB,QACf,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAExB,MAAM;EAAEC;AAAiB,CAAC,GAAGd,MAAM,CAAET,sBAAuB,CAAC;AAC7D,MAAM;EACLwB,cAAc,EAAEC,YAAY;EAC5BC,kBAAkB,EAAEC,gBAAgB;EACpCC,uBAAuB,EAAEC;AAC1B,CAAC,GAAGpB,MAAM,CAAEZ,qBAAsB,CAAC;AAEnC,MAAMiC,qBAAqB,GAAG,CAC7B;EACCC,KAAK,EAAEjC,EAAE,CAAE,QAAS,CAAC;EACrBkC,MAAM,EAAE;AACT,CAAC,EACD;EACCD,KAAK,EAAEjC,EAAE,CAAE,QAAS,CAAC;EACrBkC,MAAM,EAAE;AACT,CAAC,CACD;AAED,MAAMC,qBAAqB,GAAG,CAC7B;EACCF,KAAK,EAAEjC,EAAE,CAAE,OAAQ,CAAC;EACpBkC,MAAM,EAAE;AACT,CAAC,CACD;AAED,eAAe,SAASE,gBAAgBA,CAAA,EAAG;EAC1C,MAAM;IACLC,MAAM,EAAE;MAAEC,QAAQ;MAAEC;IAAK,CAAC;IAC1BC;EACD,CAAC,GAAGxD,YAAY,CAAC,CAAC;EAClB,MAAM,CAAEyD,OAAO,EAAEC,UAAU,CAAE,GAAGjB,gBAAgB,CAC9C,kBAAkBa,QAAU,EAC9B,CAAC;EACD,MAAM,CAAEK,WAAW,CAAE,GAAGlB,gBAAgB,CACtC,kBAAkBa,QAAU,EAAC,EAC9BM,SAAS,EACT,MACD,CAAC;EACD,MAAM,CAAEC,cAAc,EAAEC,iBAAiB,CAAE,GAAGrC,QAAQ,CAAE,MACvD,CAAEgC,OAAO,IAAI,EAAE,EAAGM,IAAI,CAAI3C,MAAM,IAAMA,MAAM,CAACmC,IAAI,KAAKA,IAAK,CAC5D,CAAC;EACD,MAAMS,kBAAkB,GAAGtC,OAAO,CACjC,MAAM,CAAEiC,WAAW,IAAI,EAAE,EAAGI,IAAI,CAAIE,CAAC,IAAMA,CAAC,CAACV,IAAI,KAAKA,IAAK,CAAC,EAC5D,CAAEI,WAAW,EAAEJ,IAAI,CACpB,CAAC;EACD,MAAM,CAAEW,sBAAsB,EAAEC,yBAAyB,CAAE,GAC1D1C,QAAQ,CAAE,KAAM,CAAC;EAClB,MAAM,CAAE2C,oBAAoB,EAAEC,uBAAuB,CAAE,GAAG5C,QAAQ,CAAE,KAAM,CAAC;EAC3E,MAAM,CAAE6C,UAAU,EAAEC,aAAa,CAAE,GAAG9C,QAAQ,CAAEoC,cAAc,CAACW,IAAK,CAAC;EAErE,MAAMC,cAAc,GAAKrD,MAAM,IAAM;IACpC0C,iBAAiB,CAAE;MAAE,GAAGD,cAAc;MAAEzC;IAAO,CAAE,CAAC;IAClD,MAAMsD,cAAc,GAAGjB,OAAO,CAACkB,GAAG,CAAIC,CAAC,IACtCA,CAAC,CAACrB,IAAI,KAAKA,IAAI,GAAG;MAAE,GAAGM,cAAc;MAAEzC;IAAO,CAAC,GAAGwD,CACnD,CAAC;IACDlB,UAAU,CAAEgB,cAAe,CAAC;EAC7B,CAAC;EAED,MAAMG,WAAW,GAAK3B,MAAM,IAAM;IACjC,IAAKA,MAAM,KAAK,OAAO,EAAG;MACzB,MAAMwB,cAAc,GAAGjB,OAAO,CAACkB,GAAG,CAAIC,CAAC,IACtCA,CAAC,CAACrB,IAAI,KAAKA,IAAI,GAAGS,kBAAkB,GAAGY,CACxC,CAAC;MACDd,iBAAiB,CAAEE,kBAAmB,CAAC;MACvCN,UAAU,CAAEgB,cAAe,CAAC;IAC7B,CAAC,MAAM,IAAKxB,MAAM,KAAK,QAAQ,EAAG;MACjCiB,yBAAyB,CAAE,IAAK,CAAC;IAClC,CAAC,MAAM,IAAKjB,MAAM,KAAK,QAAQ,EAAG;MACjCmB,uBAAuB,CAAE,IAAK,CAAC;IAChC;EACD,CAAC;EAED,MAAMS,kBAAkB,GAAGA,CAAA,KAAM;IAChC,MAAMJ,cAAc,GAAGjB,OAAO,CAACsB,MAAM,CAAIH,CAAC,IAAMA,CAAC,CAACrB,IAAI,KAAKA,IAAK,CAAC;IACjEG,UAAU,CAAEgB,cAAe,CAAC;IAC5BlB,IAAI,CAAG,UAAU,CAAC;EACnB,CAAC;EAED,MAAMwB,kBAAkB,GAAKC,OAAO,IAAM;IACzC,IAAK,CAAEA,OAAO,EAAG;MAChB;IACD;IACA,MAAMP,cAAc,GAAGjB,OAAO,CAACkB,GAAG,CAAIC,CAAC,IACtCA,CAAC,CAACrB,IAAI,KAAKA,IAAI,GAAG;MAAE,GAAGM,cAAc;MAAEW,IAAI,EAAES;IAAQ,CAAC,GAAGL,CAC1D,CAAC;IACDd,iBAAiB,CAAE;MAAE,GAAGD,cAAc;MAAEW,IAAI,EAAES;IAAQ,CAAE,CAAC;IACzDvB,UAAU,CAAEgB,cAAe,CAAC;EAC7B,CAAC;EAED,OAAO,CAAEb,cAAc,gBACtBzB,IAAA,CAACP,YAAY;IAACqD,KAAK,EAAC;EAAE,CAAE,CAAC,gBAEzB5C,KAAA,CAAAE,SAAA;IAAA2C,QAAA,gBACC7C,KAAA,CAAC1D,MAAM;MAACwG,OAAO,EAAC,eAAe;MAAAD,QAAA,gBAC9B/C,IAAA,CAACP,YAAY;QAACqD,KAAK,EAAGrB,cAAc,CAACW;MAAM,CAAE,CAAC,eAC9CpC,IAAA,CAACzB,QAAQ;QAAAwE,QAAA,eACR/C,IAAA,CAACpD,MAAM;UAACqG,SAAS,EAAG,CAAG;UAACC,YAAY,EAAG,CAAG;UAACC,QAAQ,EAAG,CAAG;UAAAJ,QAAA,eACxD/C,IAAA,CAACO,YAAY;YACZ6C,OAAO,eACNpD,IAAA,CAAC3B,MAAM;cACNgF,IAAI,EAAC,OAAO;cACZC,IAAI,EAAGlE,YAAc;cACrByB,KAAK,EAAGjC,EAAE,CAAE,MAAO;YAAG,CACtB,CACD;YAAAmE,QAAA,EAEC,CAAE7B,QAAQ,KAAK,QAAQ,GACtBN,qBAAqB,GACrBG,qBAAqB,EACtBwB,GAAG,CAAIgB,IAAI,iBACZvD,IAAA,CAACS,gBAAgB;cAEhB+C,OAAO,EAAGA,CAAA,KAAMf,WAAW,CAAEc,IAAI,CAACzC,MAAO,CAAG;cAC5C2C,QAAQ,EACPF,IAAI,CAACzC,MAAM,KAAK,OAAO,IACvBW,cAAc,CAACzC,MAAM,KACpB4C,kBAAkB,CAAC5C,MACpB;cAAA+D,QAAA,eAED/C,IAAA,CAACW,qBAAqB;gBAAAoC,QAAA,EACnBQ,IAAI,CAAC1C;cAAK,CACU;YAAC,GAVlB0C,IAAI,CAACzC,MAWM,CACjB;UAAC,CACU;QAAC,CACR;MAAC,CACA,CAAC;IAAA,CACJ,CAAC,eACTZ,KAAA;MAAKwD,SAAS,EAAC,gCAAgC;MAAAX,QAAA,gBAC9C/C,IAAA,CAAC2D,cAAc;QAAC3E,MAAM,EAAGyC,cAAc,CAACzC;MAAQ,CAAE,CAAC,eACnDgB,IAAA,CAAC4D,YAAY;QACZ5E,MAAM,EAAGyC,cAAc,CAACzC,MAAQ;QAChC6E,QAAQ,EAAGxB;MAAgB,CAC3B,CAAC;IAAA,CACE,CAAC,EACJP,sBAAsB,iBACvB9B,IAAA,CAAC9B,aAAa;MACb4F,MAAM;MACNC,SAAS,EAAGA,CAAA,KAAM;QACjBrB,kBAAkB,CAAC,CAAC;QACpBX,yBAAyB,CAAE,KAAM,CAAC;MACnC,CAAG;MACHiC,QAAQ,EAAGA,CAAA,KAAM;QAChBjC,yBAAyB,CAAE,KAAM,CAAC;MACnC,CAAG;MACHkC,iBAAiB,EAAGrF,EAAE,CAAE,QAAS,CAAG;MACpCyE,IAAI,EAAC,QAAQ;MAAAN,QAAA,EAEXlE,OAAO;MACR;MACA,uCAAuC,EACvC4C,cAAc,CAACW,IAChB;IAAC,CACa,CACf,EACCJ,oBAAoB,iBACrBhC,IAAA,CAACvB,KAAK;MACLqE,KAAK,EAAGlE,EAAE,CAAE,QAAS,CAAG;MACxBsF,cAAc,EAAGA,CAAA,KAAMjC,uBAAuB,CAAE,KAAM,CAAG;MACzDoB,IAAI,EAAC,OAAO;MAAAN,QAAA,eAEZ7C,KAAA;QACCiE,QAAQ,EAAKC,KAAK,IAAM;UACvBA,KAAK,CAACC,cAAc,CAAC,CAAC;UACtBzB,kBAAkB,CAAEV,UAAW,CAAC;UAChCD,uBAAuB,CAAE,KAAM,CAAC;QACjC,CAAG;QAAAc,QAAA,gBAEH/C,IAAA,CAAC9C,YAAY;UACZoH,YAAY,EAAC,KAAK;UAClBzD,KAAK,EAAGjC,EAAE,CAAE,MAAO,CAAG;UACtB2F,WAAW,EAAG3F,EAAE,CAAE,aAAc,CAAG;UACnC4F,KAAK,EAAGtC,UAAY;UACpB2B,QAAQ,EAAKW,KAAK,IAAMrC,aAAa,CAAEqC,KAAM;QAAG,CAChD,CAAC,eACFxE,IAAA,CAACpD,MAAM;UAACsG,YAAY,EAAG;QAAG,CAAE,CAAC,eAC7BhD,KAAA,CAAC5B,IAAI;UACJoF,SAAS,EAAC,yCAAyC;UACnDV,OAAO,EAAC,UAAU;UAClByB,QAAQ,EAAG,KAAO;UAAA1B,QAAA,gBAElB/C,IAAA,CAACzB,QAAQ;YAAAwE,QAAA,eACR/C,IAAA,CAAC3B,MAAM;cACNqG,OAAO,EAAC,UAAU;cAClBlB,OAAO,EAAGA,CAAA,KACTvB,uBAAuB,CAAE,KAAM,CAC/B;cAAAc,QAAA,EAECnE,EAAE,CAAE,QAAS;YAAC,CACT;UAAC,CACA,CAAC,eACXoB,IAAA,CAACzB,QAAQ;YAAAwE,QAAA,eACR/C,IAAA,CAAC3B,MAAM;cAACqG,OAAO,EAAC,SAAS;cAACC,IAAI,EAAC,QAAQ;cAAA5B,QAAA,EACpCnE,EAAE,CAAE,MAAO;YAAC,CACP;UAAC,CACA,CAAC;QAAA,CACN,CAAC;MAAA,CACF;IAAC,CACD,CACP;EAAA,CACA,CACF;AACF;AAEA,SAAS+E,cAAcA,CAAE;EAAE3E;AAAO,CAAC,EAAG;EACrC,MAAM4F,WAAW,GAAG;IACnBC,SAAS,EAAE7F;EACZ,CAAC;EAED,oBACCgB,IAAA,CAACpD,MAAM;IAACsG,YAAY,EAAG,CAAG;IAACD,SAAS,EAAG,CAAC,CAAG;IAAAF,QAAA,eAC1C/C,IAAA,CAACxD,MAAM;MACNsI,KAAK,EAAC,QAAQ;MACd9B,OAAO,EAAC,QAAQ;MAChBU,SAAS,EAAC,+CAA+C;MAAAX,QAAA,eAEzD/C,IAAA;QACC0D,SAAS,EAAC,+CAA+C;QACzDqB,KAAK,EAAGH;MAAa,CACrB;IAAC,CACK;EAAC,CACF,CAAC;AAEX;AAEA,SAAShB,YAAYA,CAAE;EAAE5E,MAAM;EAAE6E;AAAS,CAAC,EAAG;EAC7C,MAAMmB,WAAW,GAAG1F,OAAO,CAAE,MAAMK,cAAc,CAAEX,MAAO,CAAC,EAAE,CAAEA,MAAM,CAAG,CAAC;EAEzE,MAAMiG,kBAAkB,GAAGA,CAAEC,KAAK,EAAEC,IAAI,KAAM;IAC7CH,WAAW,CAAEE,KAAK,CAAE,GAAGC,IAAI;IAC3BtB,QAAQ,CAAEmB,WAAW,CAACI,IAAI,CAAE,IAAK,CAAE,CAAC;EACrC,CAAC;EAED,MAAMC,eAAe,GAAGA,CAAA,KAAM;IAC7BL,WAAW,CAACM,IAAI,CAAE5F,aAAc,CAAC;IACjCmE,QAAQ,CAAEmB,WAAW,CAACI,IAAI,CAAE,IAAK,CAAE,CAAC;EACrC,CAAC;EAED,MAAMG,kBAAkB,GAAKL,KAAK,IAAM;IACvCF,WAAW,CAACQ,MAAM,CAAEN,KAAK,EAAE,CAAE,CAAC;IAC9BrB,QAAQ,CAAEmB,WAAW,CAACI,IAAI,CAAE,IAAK,CAAE,CAAC;EACrC,CAAC;EAED,oBACClF,KAAA,CAAAE,SAAA;IAAA2C,QAAA,gBACC/C,IAAA,CAACtD,MAAM;MAAC+I,OAAO,EAAG,CAAG;MAAA1C,QAAA,eACpB7C,KAAA,CAAC1D,MAAM;QAACwG,OAAO,EAAC,eAAe;QAAAD,QAAA,gBAC9B/C,IAAA,CAAC1B,IAAI;UACJwG,KAAK,EAAC,QAAQ;UACdpB,SAAS,EAAC,+CAA+C;UAAAX,QAAA,eAEzD/C,IAAA,CAACR,QAAQ;YAACkG,KAAK,EAAG,CAAG;YAAA3C,QAAA,EAAGnE,EAAE,CAAE,SAAU;UAAC,CAAY;QAAC,CAC/C,CAAC,eACPoB,IAAA,CAACzB,QAAQ;UAACmF,SAAS,EAAC,2DAA2D;UAAAX,QAAA,eAC9E/C,IAAA,CAAC3B,MAAM;YACNgF,IAAI,EAAC,OAAO;YACZC,IAAI,EAAGvE,IAAM;YACb8B,KAAK,EAAGjC,EAAE,CAAE,YAAa,CAAG;YAC5B4E,OAAO,EAAGA,CAAA,KAAM;cACf6B,eAAe,CAAC,CAAC;YAClB;UAAG,CACH;QAAC,CACO,CAAC;MAAA,CACJ;IAAC,CACF,CAAC,eACTrF,IAAA,CAACpD,MAAM,IAAE,CAAC,eACVoD,IAAA,CAAClD,SAAS;MAAC6I,UAAU;MAACC,WAAW;MAAA7C,QAAA,EAC9BiC,WAAW,CAACzC,GAAG,CAAE,CAAE4C,IAAI,EAAED,KAAK,kBAC/BlF,IAAA,CAAC6F,UAAU;QAEV7G,MAAM,EAAGmG,IAAM;QACftB,QAAQ,EAAKW,KAAK,IACjBS,kBAAkB,CAAEC,KAAK,EAAEV,KAAM,CACjC;QACDsB,SAAS,EAAGd,WAAW,CAACe,MAAM,GAAG,CAAG;QACpCC,QAAQ,EAAGA,CAAA,KAAMT,kBAAkB,CAAEL,KAAM;MAAG,GANxCA,KAON,CACA;IAAC,CACO,CAAC;EAAA,CACX,CAAC;AAEL;AAEA,SAASW,UAAUA,CAAE;EAAE7G,MAAM;EAAE6E,QAAQ;EAAEiC,SAAS;EAAEE;AAAS,CAAC,EAAG;EAChE,MAAMC,YAAY,GAAG;IACpBC,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC;EACD,MAAMC,SAAS,GAAG/G,OAAO,CACxB,MAAMM,oBAAoB,CAAEZ,MAAO,CAAC,EACpC,CAAEA,MAAM,CACT,CAAC;EACD,MAAMqD,cAAc,GAAKiE,SAAS,IAAM;IACvCzC,QAAQ,CAAEhE,oBAAoB,CAAEyG,SAAU,CAAE,CAAC;EAC9C,CAAC;EAED,oBACCtG,IAAA,CAAC7B,QAAQ;IACR8H,YAAY,EAAGA,YAAc;IAC7BvC,SAAS,EAAC,kDAAkD;IAC5D6C,YAAY,EAAGA,CAAE;MAAEC,QAAQ;MAAE1C;IAAO,CAAC,KAAM;MAC1C,MAAM2C,WAAW,GAAG;QACnBjD,OAAO,EAAEgD,QAAQ;QACjB9C,SAAS,EAAEpH,IAAI,CACd,yDAAyD,EACzD;UAAE,SAAS,EAAEwH;QAAO,CACrB,CAAC;QACD,eAAe,EAAEA;MAClB,CAAC;MACD,MAAM4C,iBAAiB,GAAG;QACzBlD,OAAO,EAAEwC,QAAQ;QACjBtC,SAAS,EAAEpH,IAAI,CACd,uDAAuD,EACvD;UAAE,SAAS,EAAEwH;QAAO,CACrB,CAAC;QACDjD,KAAK,EAAEjC,EAAE,CAAE,eAAgB;MAC5B,CAAC;MAED,oBACCsB,KAAA,CAAC1D,MAAM;QAACsI,KAAK,EAAC,QAAQ;QAAC9B,OAAO,EAAC,YAAY;QAACyC,OAAO,EAAG,CAAG;QAAA1C,QAAA,gBACxD/C,IAAA,CAACzB,QAAQ;UAACwG,KAAK,EAAG;YAAE4B,QAAQ,EAAE;UAAE,CAAG;UAAA5D,QAAA,eAClC/C,IAAA,CAAC3B,MAAM;YAACiF,IAAI,EAAGrE,UAAY;YAAA,GAAMwH,WAAW;YAAA1D,QAAA,EACzCsD,SAAS,CAACO,KAAK,GACdhI,EAAE,CAAE,cAAe,CAAC,GACpBA,EAAE,CAAE,aAAc;UAAC,CACf;QAAC,CACA,CAAC,EACTkH,SAAS,iBACV9F,IAAA,CAACzB,QAAQ;UAAAwE,QAAA,eACR/C,IAAA,CAAC3B,MAAM;YACNiF,IAAI,EAAGpE,KAAO;YAAA,GACTwH;UAAiB,CACtB;QAAC,CACO,CACV;MAAA,CACM,CAAC;IAEX,CAAG;IACHG,aAAa,EAAGA,CAAA,kBACf7G,IAAA,CAACtC,sBAAsB;MAACoJ,WAAW,EAAC,MAAM;MAAA/D,QAAA,eACzC/C,IAAA;QAAK0D,SAAS,EAAC,0DAA0D;QAAAX,QAAA,eACxE/C,IAAA,CAAC+G,aAAa;UACbV,SAAS,EAAGA,SAAW;UACvBxC,QAAQ,EAAGxB;QAAgB,CAC3B;MAAC,CACE;IAAC,CACiB;EACtB,CACH,CAAC;AAEJ;AAEA,SAAS0E,aAAaA,CAAE;EAAEV,SAAS;EAAExC;AAAS,CAAC,EAAG;EACjD,MAAMmD,iCAAiC,GAAG,IAAI;EAC9C,MAAMC,WAAW,GAAG,IAAI;EAExB,MAAM5E,cAAc,GAAGA,CAAE6E,GAAG,EAAE1C,KAAK,KAAM;IACxC,MAAM8B,SAAS,GAAG;MACjB,GAAGD,SAAS;MACZ,CAAEa,GAAG,GAAI1C;IACV,CAAC;IACDX,QAAQ,CAAEyC,SAAU,CAAC;EACtB,CAAC;EAED,oBACCtG,IAAA;IAAK0D,SAAS,EAAC,8CAA8C;IAAAX,QAAA,eAC5D7C,KAAA,CAACxD,MAAM;MAAC+I,OAAO,EAAG,CAAG;MAAA1C,QAAA,gBACpB/C,IAAA,CAAChD,OAAO;QAAC0I,KAAK,EAAG,CAAG;QAAA3C,QAAA,EAAGnE,EAAE,CAAE,QAAS;MAAC,CAAW,CAAC,eACjDoB,IAAA;QAAK0D,SAAS,EAAC,sDAAsD;QAAAX,QAAA,eACpE/C,IAAA,CAACxB,YAAY;UACZ2I,SAAS,EAAG,KAAO;UACnBF,WAAW,EAAGA,WAAa;UAC3BD,iCAAiC,EAChCA,iCACA;UACDxC,KAAK,EAAG6B,SAAS,CAACe,KAAO;UACzBvD,QAAQ,EAAKW,KAAK,IACjBnC,cAAc,CAAE,OAAO,EAAEmC,KAAM;QAC/B,CACD;MAAC,CACE,CAAC,eACNtE,KAAA,CAACpC,kBAAkB;QAClB0G,KAAK,EAAG6B,SAAS,CAACO,KAAK,GAAG,OAAO,GAAG,QAAU;QAC9CS,OAAO;QACPxD,QAAQ,EAAKW,KAAK,IACjBnC,cAAc,CAAE,OAAO,EAAEmC,KAAK,KAAK,OAAQ,CAC3C;QACD8C,mBAAmB;QACnBC,qBAAqB;QAAAxE,QAAA,gBAErB/C,IAAA,CAAChC,wBAAwB;UACxBwG,KAAK,EAAC,QAAQ;UACd3D,KAAK,EAAGjC,EAAE,CAAE,QAAS;QAAG,CACxB,CAAC,eACFoB,IAAA,CAAChC,wBAAwB;UACxBwG,KAAK,EAAC,OAAO;UACb3D,KAAK,EAAGjC,EAAE,CAAE,OAAQ;QAAG,CACvB,CAAC;MAAA,CACiB,CAAC,eACrBsB,KAAA,CAAC1C,IAAI;QAACgK,OAAO,EAAG,CAAG;QAACC,GAAG,EAAG,CAAG;QAAA1E,QAAA,gBAC5B/C,IAAA,CAAC0H,kBAAkB;UAClB7G,KAAK,EAAGjC,EAAE,CAAE,YAAa,CAAG;UAC5B4F,KAAK,EAAG6B,SAAS,CAACsB,CAAG;UACrBC,gBAAgB;UAChB/D,QAAQ,EAAKW,KAAK,IAAMnC,cAAc,CAAE,GAAG,EAAEmC,KAAM;QAAG,CACtD,CAAC,eACFxE,IAAA,CAAC0H,kBAAkB;UAClB7G,KAAK,EAAGjC,EAAE,CAAE,YAAa,CAAG;UAC5B4F,KAAK,EAAG6B,SAAS,CAACwB,CAAG;UACrBD,gBAAgB;UAChB/D,QAAQ,EAAKW,KAAK,IAAMnC,cAAc,CAAE,GAAG,EAAEmC,KAAM;QAAG,CACtD,CAAC,eACFxE,IAAA,CAAC0H,kBAAkB;UAClB7G,KAAK,EAAGjC,EAAE,CAAE,MAAO,CAAG;UACtB4F,KAAK,EAAG6B,SAAS,CAACyB,IAAM;UACxBjE,QAAQ,EAAKW,KAAK,IACjBnC,cAAc,CAAE,MAAM,EAAEmC,KAAM;QAC9B,CACD,CAAC,eACFxE,IAAA,CAAC0H,kBAAkB;UAClB7G,KAAK,EAAGjC,EAAE,CAAE,QAAS,CAAG;UACxB4F,KAAK,EAAG6B,SAAS,CAAC0B,MAAQ;UAC1BH,gBAAgB;UAChB/D,QAAQ,EAAKW,KAAK,IACjBnC,cAAc,CAAE,QAAQ,EAAEmC,KAAM;QAChC,CACD,CAAC;MAAA,CACG,CAAC;IAAA,CACA;EAAC,CACL,CAAC;AAER;AAEA,SAASkD,kBAAkBA,CAAE;EAAE7G,KAAK;EAAE2D,KAAK;EAAEX,QAAQ;EAAE+D;AAAiB,CAAC,EAAG;EAAA,IAAAI,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EAC3E,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG/I,QAAQ,CAAE,KAAM,CAAC;EAC7D,MAAM,CAAEgJ,cAAc,EAAEC,UAAU,CAAE,GACnChL,gCAAgC,CAAEkH,KAAM,CAAC;EAE1C,MAAM+D,cAAc,GAAKC,IAAI,IAAM;IAClC3E,QAAQ,CACP2E,IAAI,KAAKhH,SAAS,GAAG,CAAEgH,IAAI,EAAEF,UAAU,IAAI,IAAI,CAAE,CAAClD,IAAI,CAAE,EAAG,CAAC,GAAG,KAChE,CAAC;EACF,CAAC;EACD,MAAMqD,aAAa,GAAKD,IAAI,IAAM;IACjC,MAAME,SAAS,GAAGF,IAAI,KAAKhH,SAAS,IAAI,CAAEmH,KAAK,CAAEC,UAAU,CAAEJ,IAAK,CAAE,CAAC;IACrE,MAAMK,SAAS,GAAGH,SAAS,GAAGF,IAAI,GAAG,KAAK;IAC1C3E,QAAQ,CAAEgF,SAAU,CAAC;EACtB,CAAC;EAED,oBACC3I,KAAA,CAACxD,MAAM;IAACsG,OAAO,EAAC,YAAY;IAAAD,QAAA,gBAC3B7C,KAAA,CAAC1D,MAAM;MAACwG,OAAO,EAAC,eAAe;MAAAD,QAAA,gBAC9B/C,IAAA,CAACR,QAAQ;QAAAuD,QAAA,EAAGlC;MAAK,CAAY,CAAC,eAC9Bb,IAAA,CAAC3B,MAAM;QACNwC,KAAK,EAAGjC,EAAE,CAAE,iBAAkB,CAAG;QACjC0E,IAAI,EAAGnE,QAAU;QACjBqE,OAAO,EAAGA,CAAA,KAAM;UACf4E,gBAAgB,CAAE,CAAED,aAAc,CAAC;QACpC,CAAG;QACHW,SAAS,EAAGX,aAAe;QAC3B9E,IAAI,EAAC;MAAO,CACZ,CAAC;IAAA,CACK,CAAC,EACP8E,aAAa,gBACdnI,IAAA,CAAC5C,WAAW;MACXyD,KAAK,EAAGA,KAAO;MACfyG,mBAAmB;MACnBC,qBAAqB;MACrB/C,KAAK,EAAGA,KAAO;MACfX,QAAQ,EAAG4E;IAAe,CAC1B,CAAC,gBAEFzI,IAAA,CAAC5B,YAAY;MACZoG,KAAK,EAAG6D,cAAc,aAAdA,cAAc,cAAdA,cAAc,GAAI,CAAG;MAC7BxE,QAAQ,EAAG0E,cAAgB;MAC3BQ,cAAc,EAAG,KAAO;MACxBxB,qBAAqB;MACrByB,uBAAuB;MACvBC,GAAG,EACFrB,gBAAgB,GACb,GAAAI,qBAAA,GACAlI,qBAAqB,CAAEwI,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,IAAI,CAAE,EACxCY,GAAG,cAAAlB,qBAAA,cAAAA,qBAAA,GAAI,EAAE,CACX,GACD,CACH;MACDkB,GAAG,GAAAjB,sBAAA,GACFnI,qBAAqB,CAAEwI,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,IAAI,CAAE,EAAEY,GAAG,cAAAjB,sBAAA,cAAAA,sBAAA,GAAI,EACpD;MACDkB,IAAI,GAAAjB,sBAAA,GACHpI,qBAAqB,CAAEwI,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,IAAI,CAAE,EAAEa,IAAI,cAAAjB,sBAAA,cAAAA,sBAAA,GAAI;IACrD,CACD,CACD;EAAA,CACM,CAAC;AAEX","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalSpacer","Spacer","__experimentalItemGroup","ItemGroup","__experimentalInputControl","InputControl","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","__experimentalGrid","Grid","__experimentalDropdownContentWrapper","DropdownContentWrapper","__experimentalUseNavigator","useNavigator","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalConfirmDialog","ConfirmDialog","Dropdown","RangeControl","Button","Flex","FlexItem","ColorPalette","Modal","privateApis","componentsPrivateApis","__","sprintf","blockEditorPrivateApis","plus","shadow","shadowIcon","reset","settings","moreVertical","useState","useMemo","unlock","Subtitle","ScreenHeader","defaultShadow","getShadowParts","shadowStringToObject","shadowObjectToString","CUSTOM_VALUE_SETTINGS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useGlobalSetting","DropdownMenuV2","DropdownMenu","DropdownMenuItemV2","DropdownMenuItem","DropdownMenuItemLabelV2","DropdownMenuItemLabel","customShadowMenuItems","label","action","presetShadowMenuItems","ShadowsEditPanel","params","category","slug","goTo","shadows","setShadows","baseShadows","undefined","selectedShadow","setSelectedShadow","find","baseSelectedShadow","b","isConfirmDialogVisible","setIsConfirmDialogVisible","isRenameModalVisible","setIsRenameModalVisible","shadowName","setShadowName","name","onShadowChange","updatedShadows","map","s","onMenuClick","handleShadowDelete","filter","handleShadowRename","newName","title","children","justify","marginTop","marginBottom","paddingX","trigger","size","icon","item","onClick","disabled","className","ShadowsPreview","ShadowEditor","onChange","isOpen","onConfirm","onCancel","confirmButtonText","onRequestClose","onSubmit","event","preventDefault","autoComplete","placeholder","value","expanded","variant","type","shadowStyle","boxShadow","align","style","shadowParts","onChangeShadowPart","index","part","join","onAddShadowPart","push","onRemoveShadowPart","splice","spacing","level","isBordered","isSeparated","ShadowItem","canRemove","length","onRemove","popoverProps","placement","offset","shift","shadowObj","newShadow","renderToggle","onToggle","toggleProps","removeButtonProps","flexGrow","inset","renderContent","paddingSize","ShadowPopover","__experimentalIsRenderedInSidebar","enableAlpha","key","clearable","color","__nextHasNoMarginBottom","isBlock","hideLabelFromVision","__next40pxDefaultSize","columns","gap","ShadowInputControl","x","hasNegativeRange","y","blur","spread","_CUSTOM_VALUE_SETTING","_CUSTOM_VALUE_SETTING2","_CUSTOM_VALUE_SETTING3","isCustomInput","setIsCustomInput","parsedQuantity","parsedUnit","sliderOnChange","next","onValueChange","isNumeric","isNaN","parseFloat","nextValue","isPressed","withInputField","min","max","step"],"sources":["@wordpress/edit-site/src/components/global-styles/shadows-edit-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalInputControl as InputControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\t__experimentalGrid as Grid,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tDropdown,\n\tRangeControl,\n\tButton,\n\tFlex,\n\tFlexItem,\n\tColorPalette,\n\tModal,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport {\n\tplus,\n\tshadow as shadowIcon,\n\treset,\n\tsettings,\n\tmoreVertical,\n} from '@wordpress/icons';\nimport { useState, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport Subtitle from './subtitle';\nimport ScreenHeader from './header';\nimport { defaultShadow } from './shadows-panel';\nimport {\n\tgetShadowParts,\n\tshadowStringToObject,\n\tshadowObjectToString,\n\tCUSTOM_VALUE_SETTINGS,\n} from './shadow-utils';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nconst {\n\tDropdownMenuV2: DropdownMenu,\n\tDropdownMenuItemV2: DropdownMenuItem,\n\tDropdownMenuItemLabelV2: DropdownMenuItemLabel,\n} = unlock( componentsPrivateApis );\n\nconst customShadowMenuItems = [\n\t{\n\t\tlabel: __( 'Rename' ),\n\t\taction: 'rename',\n\t},\n\t{\n\t\tlabel: __( 'Delete' ),\n\t\taction: 'delete',\n\t},\n];\n\nconst presetShadowMenuItems = [\n\t{\n\t\tlabel: __( 'Reset' ),\n\t\taction: 'reset',\n\t},\n];\n\nexport default function ShadowsEditPanel() {\n\tconst {\n\t\tparams: { category, slug },\n\t\tgoTo,\n\t} = useNavigator();\n\tconst [ shadows, setShadows ] = useGlobalSetting(\n\t\t`shadow.presets.${ category }`\n\t);\n\tconst [ baseShadows ] = useGlobalSetting(\n\t\t`shadow.presets.${ category }`,\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst [ selectedShadow, setSelectedShadow ] = useState( () =>\n\t\t( shadows || [] ).find( ( shadow ) => shadow.slug === slug )\n\t);\n\tconst baseSelectedShadow = useMemo(\n\t\t() => ( baseShadows || [] ).find( ( b ) => b.slug === slug ),\n\t\t[ baseShadows, slug ]\n\t);\n\tconst [ isConfirmDialogVisible, setIsConfirmDialogVisible ] =\n\t\tuseState( false );\n\tconst [ isRenameModalVisible, setIsRenameModalVisible ] = useState( false );\n\tconst [ shadowName, setShadowName ] = useState( selectedShadow.name );\n\n\tconst onShadowChange = ( shadow ) => {\n\t\tsetSelectedShadow( { ...selectedShadow, shadow } );\n\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\ts.slug === slug ? { ...selectedShadow, shadow } : s\n\t\t);\n\t\tsetShadows( updatedShadows );\n\t};\n\n\tconst onMenuClick = ( action ) => {\n\t\tif ( action === 'reset' ) {\n\t\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\t\ts.slug === slug ? baseSelectedShadow : s\n\t\t\t);\n\t\t\tsetSelectedShadow( baseSelectedShadow );\n\t\t\tsetShadows( updatedShadows );\n\t\t} else if ( action === 'delete' ) {\n\t\t\tsetIsConfirmDialogVisible( true );\n\t\t} else if ( action === 'rename' ) {\n\t\t\tsetIsRenameModalVisible( true );\n\t\t}\n\t};\n\n\tconst handleShadowDelete = () => {\n\t\tconst updatedShadows = shadows.filter( ( s ) => s.slug !== slug );\n\t\tsetShadows( updatedShadows );\n\t\tgoTo( `/shadows` );\n\t};\n\n\tconst handleShadowRename = ( newName ) => {\n\t\tif ( ! newName ) {\n\t\t\treturn;\n\t\t}\n\t\tconst updatedShadows = shadows.map( ( s ) =>\n\t\t\ts.slug === slug ? { ...selectedShadow, name: newName } : s\n\t\t);\n\t\tsetSelectedShadow( { ...selectedShadow, name: newName } );\n\t\tsetShadows( updatedShadows );\n\t};\n\n\treturn ! selectedShadow ? (\n\t\t<ScreenHeader title=\"\" />\n\t) : (\n\t\t<>\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<ScreenHeader title={ selectedShadow.name } />\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Spacer marginTop={ 2 } marginBottom={ 0 } paddingX={ 4 }>\n\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\ttrigger={\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( category === 'custom'\n\t\t\t\t\t\t\t\t? customShadowMenuItems\n\t\t\t\t\t\t\t\t: presetShadowMenuItems\n\t\t\t\t\t\t\t).map( ( item ) => (\n\t\t\t\t\t\t\t\t<DropdownMenuItem\n\t\t\t\t\t\t\t\t\tkey={ item.action }\n\t\t\t\t\t\t\t\t\tonClick={ () => onMenuClick( item.action ) }\n\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\titem.action === 'reset' &&\n\t\t\t\t\t\t\t\t\t\tselectedShadow.shadow ===\n\t\t\t\t\t\t\t\t\t\t\tbaseSelectedShadow.shadow\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<DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t\t\t{ item.label }\n\t\t\t\t\t\t\t\t\t</DropdownMenuItemLabel>\n\t\t\t\t\t\t\t\t</DropdownMenuItem>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</DropdownMenu>\n\t\t\t\t\t</Spacer>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t\t<div className=\"edit-site-global-styles-screen\">\n\t\t\t\t<ShadowsPreview shadow={ selectedShadow.shadow } />\n\t\t\t\t<ShadowEditor\n\t\t\t\t\tshadow={ selectedShadow.shadow }\n\t\t\t\t\tonChange={ onShadowChange }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ isConfirmDialogVisible && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen\n\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\thandleShadowDelete();\n\t\t\t\t\t\tsetIsConfirmDialogVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonCancel={ () => {\n\t\t\t\t\t\tsetIsConfirmDialogVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s: name of the shadow\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\"?',\n\t\t\t\t\t\tselectedShadow.name\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t\t{ isRenameModalVisible && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Rename' ) }\n\t\t\t\t\tonRequestClose={ () => setIsRenameModalVisible( false ) }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t>\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\thandleShadowRename( shadowName );\n\t\t\t\t\t\t\tsetIsRenameModalVisible( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Shadow name' ) }\n\t\t\t\t\t\t\tvalue={ shadowName }\n\t\t\t\t\t\t\tonChange={ ( value ) => setShadowName( value ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Spacer marginBottom={ 6 } />\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tclassName=\"block-editor-shadow-edit-modal__actions\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tsetIsRenameModalVisible( false )\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{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t</form>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction ShadowsPreview( { shadow } ) {\n\tconst shadowStyle = {\n\t\tboxShadow: shadow,\n\t};\n\n\treturn (\n\t\t<Spacer marginBottom={ 4 } marginTop={ -2 }>\n\t\t\t<HStack\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tclassName=\"edit-site-global-styles__shadow-preview-panel\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadow-preview-block\"\n\t\t\t\t\tstyle={ shadowStyle }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</Spacer>\n\t);\n}\n\nfunction ShadowEditor( { shadow, onChange } ) {\n\tconst shadowParts = useMemo( () => getShadowParts( shadow ), [ shadow ] );\n\n\tconst onChangeShadowPart = ( index, part ) => {\n\t\tshadowParts[ index ] = part;\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\tconst onAddShadowPart = () => {\n\t\tshadowParts.push( defaultShadow );\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\tconst onRemoveShadowPart = ( index ) => {\n\t\tshadowParts.splice( index, 1 );\n\t\tonChange( shadowParts.join( ', ' ) );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<VStack spacing={ 2 }>\n\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t<Flex\n\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\tclassName=\"edit-site-global-styles__shadows-panel__title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Shadows' ) }</Subtitle>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t<FlexItem className=\"edit-site-global-styles__shadows-panel__options-container\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\tlabel={ __( 'Add shadow' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tonAddShadowPart();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t\t<Spacer />\n\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t{ shadowParts.map( ( part, index ) => (\n\t\t\t\t\t<ShadowItem\n\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\tshadow={ part }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tonChangeShadowPart( index, value )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcanRemove={ shadowParts.length > 1 }\n\t\t\t\t\t\tonRemove={ () => onRemoveShadowPart( index ) }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nfunction ShadowItem( { shadow, onChange, canRemove, onRemove } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\tconst shadowObj = useMemo(\n\t\t() => shadowStringToObject( shadow ),\n\t\t[ shadow ]\n\t);\n\tconst onShadowChange = ( newShadow ) => {\n\t\tonChange( shadowObjectToString( newShadow ) );\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"edit-site-global-styles__shadow-editor__dropdown\"\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\tconst toggleProps = {\n\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t'edit-site-global-styles__shadow-editor__dropdown-toggle',\n\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t),\n\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t};\n\t\t\t\tconst removeButtonProps = {\n\t\t\t\t\tonClick: onRemove,\n\t\t\t\t\tclassName: clsx(\n\t\t\t\t\t\t'edit-site-global-styles__shadow-editor__remove-button',\n\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t),\n\t\t\t\t\tlabel: __( 'Remove shadow' ),\n\t\t\t\t};\n\n\t\t\t\treturn (\n\t\t\t\t\t<HStack align=\"center\" justify=\"flex-start\" spacing={ 0 }>\n\t\t\t\t\t\t<FlexItem style={ { flexGrow: 1 } }>\n\t\t\t\t\t\t\t<Button icon={ shadowIcon } { ...toggleProps }>\n\t\t\t\t\t\t\t\t{ shadowObj.inset\n\t\t\t\t\t\t\t\t\t? __( 'Inner shadow' )\n\t\t\t\t\t\t\t\t\t: __( 'Drop shadow' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t{ canRemove && (\n\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={ reset }\n\t\t\t\t\t\t\t\t\t{ ...removeButtonProps }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</HStack>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tpaddingSize=\"medium\"\n\t\t\t\t\tclassName=\"edit-site-global-styles__shadow-editor__dropdown-content\"\n\t\t\t\t>\n\t\t\t\t\t<ShadowPopover\n\t\t\t\t\t\tshadowObj={ shadowObj }\n\t\t\t\t\t\tonChange={ onShadowChange }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction ShadowPopover( { shadowObj, onChange } ) {\n\tconst __experimentalIsRenderedInSidebar = true;\n\tconst enableAlpha = true;\n\n\tconst onShadowChange = ( key, value ) => {\n\t\tconst newShadow = {\n\t\t\t...shadowObj,\n\t\t\t[ key ]: value,\n\t\t};\n\t\tonChange( newShadow );\n\t};\n\n\treturn (\n\t\t<VStack\n\t\t\tspacing={ 4 }\n\t\t\tclassName=\"edit-site-global-styles__shadow-editor-panel\"\n\t\t>\n\t\t\t<ColorPalette\n\t\t\t\tclearable={ false }\n\t\t\t\tenableAlpha={ enableAlpha }\n\t\t\t\t__experimentalIsRenderedInSidebar={\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t}\n\t\t\t\tvalue={ shadowObj.color }\n\t\t\t\tonChange={ ( value ) => onShadowChange( 'color', value ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tvalue={ shadowObj.inset ? 'inset' : 'outset' }\n\t\t\t\tisBlock\n\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\tonShadowChange( 'inset', value === 'inset' )\n\t\t\t\t}\n\t\t\t\thideLabelFromVision\n\t\t\t\t__next40pxDefaultSize\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"outset\"\n\t\t\t\t\tlabel={ __( 'Outset' ) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"inset\"\n\t\t\t\t\tlabel={ __( 'Inset' ) }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t\t<Grid columns={ 2 } gap={ 4 }>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'X Position' ) }\n\t\t\t\t\tvalue={ shadowObj.x }\n\t\t\t\t\thasNegativeRange\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'x', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Y Position' ) }\n\t\t\t\t\tvalue={ shadowObj.y }\n\t\t\t\t\thasNegativeRange\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'y', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Blur' ) }\n\t\t\t\t\tvalue={ shadowObj.blur }\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'blur', value ) }\n\t\t\t\t/>\n\t\t\t\t<ShadowInputControl\n\t\t\t\t\tlabel={ __( 'Spread' ) }\n\t\t\t\t\tvalue={ shadowObj.spread }\n\t\t\t\t\thasNegativeRange\n\t\t\t\t\tonChange={ ( value ) => onShadowChange( 'spread', value ) }\n\t\t\t\t/>\n\t\t\t</Grid>\n\t\t</VStack>\n\t);\n}\n\nfunction ShadowInputControl( { label, value, onChange, hasNegativeRange } ) {\n\tconst [ isCustomInput, setIsCustomInput ] = useState( false );\n\tconst [ parsedQuantity, parsedUnit ] =\n\t\tparseQuantityAndUnitFromRawValue( value );\n\n\tconst sliderOnChange = ( next ) => {\n\t\tonChange(\n\t\t\tnext !== undefined ? [ next, parsedUnit || 'px' ].join( '' ) : '0px'\n\t\t);\n\t};\n\tconst onValueChange = ( next ) => {\n\t\tconst isNumeric = next !== undefined && ! isNaN( parseFloat( next ) );\n\t\tconst nextValue = isNumeric ? next : '0px';\n\t\tonChange( nextValue );\n\t};\n\n\treturn (\n\t\t<VStack justify=\"flex-start\">\n\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t<Subtitle>{ label }</Subtitle>\n\t\t\t\t<Button\n\t\t\t\t\tlabel={ __( 'Use custom size' ) }\n\t\t\t\t\ticon={ settings }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetIsCustomInput( ! isCustomInput );\n\t\t\t\t\t} }\n\t\t\t\t\tisPressed={ isCustomInput }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t{ isCustomInput ? (\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onValueChange }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<RangeControl\n\t\t\t\t\tvalue={ parsedQuantity ?? 0 }\n\t\t\t\t\tonChange={ sliderOnChange }\n\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tmin={\n\t\t\t\t\t\thasNegativeRange\n\t\t\t\t\t\t\t? -(\n\t\t\t\t\t\t\t\t\tCUSTOM_VALUE_SETTINGS[ parsedUnit ?? 'px' ]\n\t\t\t\t\t\t\t\t\t\t?.max ?? 10\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: 0\n\t\t\t\t\t}\n\t\t\t\t\tmax={\n\t\t\t\t\t\tCUSTOM_VALUE_SETTINGS[ parsedUnit ?? 'px' ]?.max ?? 10\n\t\t\t\t\t}\n\t\t\t\t\tstep={\n\t\t\t\t\t\tCUSTOM_VALUE_SETTINGS[ parsedUnit ?? 'px' ]?.step ?? 0.1\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import { BaseControl, RangeControl, Flex, FlexItem, useBaseControlProps, __experimentalUseCustomUnits as useCustomUnits, __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue, __experimentalUnitControl as UnitControl, __experimentalSpacer as Spacer } from '@wordpress/components';
10
+ import { jsx as _jsx } from "react/jsx-runtime";
11
+ import { jsxs as _jsxs } from "react/jsx-runtime";
12
+ const DEFAULT_UNITS = ['px', 'em', 'rem', 'vw', 'vh'];
13
+ function SizeControl(props) {
14
+ const {
15
+ baseControlProps
16
+ } = useBaseControlProps(props);
17
+ const {
18
+ value,
19
+ onChange,
20
+ fallbackValue,
21
+ disabled
22
+ } = props;
23
+ const units = useCustomUnits({
24
+ availableUnits: DEFAULT_UNITS
25
+ });
26
+ const [valueQuantity, valueUnit = 'px'] = parseQuantityAndUnitFromRawValue(value, units);
27
+ const isValueUnitRelative = !!valueUnit && ['em', 'rem', 'vw', 'vh'].includes(valueUnit);
28
+
29
+ // Receives the new value from the UnitControl component as a string containing the value and unit.
30
+ const handleUnitControlChange = newValue => {
31
+ onChange(newValue);
32
+ };
33
+
34
+ // Receives the new value from the RangeControl component as a number.
35
+ const handleRangeControlChange = newValue => {
36
+ onChange?.(newValue + valueUnit);
37
+ };
38
+ return /*#__PURE__*/_jsx(BaseControl, {
39
+ ...baseControlProps,
40
+ children: /*#__PURE__*/_jsxs(Flex, {
41
+ children: [/*#__PURE__*/_jsx(FlexItem, {
42
+ isBlock: true,
43
+ children: /*#__PURE__*/_jsx(UnitControl, {
44
+ __next40pxDefaultSize: true,
45
+ __nextHasNoMarginBottom: true,
46
+ label: __('Custom'),
47
+ hideLabelFromVision: true,
48
+ value: value,
49
+ onChange: handleUnitControlChange,
50
+ units: units,
51
+ min: 0,
52
+ disabled: disabled
53
+ })
54
+ }), /*#__PURE__*/_jsx(FlexItem, {
55
+ isBlock: true,
56
+ children: /*#__PURE__*/_jsx(Spacer, {
57
+ marginX: 2,
58
+ marginBottom: 0,
59
+ children: /*#__PURE__*/_jsx(RangeControl, {
60
+ __next40pxDefaultSize: true,
61
+ __nextHasNoMarginBottom: true,
62
+ label: __('Custom Size'),
63
+ hideLabelFromVision: true,
64
+ value: valueQuantity,
65
+ initialPosition: fallbackValue,
66
+ withInputField: false,
67
+ onChange: handleRangeControlChange,
68
+ min: 0,
69
+ max: isValueUnitRelative ? 10 : 100,
70
+ step: isValueUnitRelative ? 0.1 : 1,
71
+ disabled: disabled
72
+ })
73
+ })
74
+ })]
75
+ })
76
+ });
77
+ }
78
+ export default SizeControl;
79
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__","BaseControl","RangeControl","Flex","FlexItem","useBaseControlProps","__experimentalUseCustomUnits","useCustomUnits","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","__experimentalUnitControl","UnitControl","__experimentalSpacer","Spacer","jsx","_jsx","jsxs","_jsxs","DEFAULT_UNITS","SizeControl","props","baseControlProps","value","onChange","fallbackValue","disabled","units","availableUnits","valueQuantity","valueUnit","isValueUnitRelative","includes","handleUnitControlChange","newValue","handleRangeControlChange","children","isBlock","__next40pxDefaultSize","__nextHasNoMarginBottom","label","hideLabelFromVision","min","marginX","marginBottom","initialPosition","withInputField","max","step"],"sources":["@wordpress/edit-site/src/components/global-styles/size-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tBaseControl,\n\tRangeControl,\n\tFlex,\n\tFlexItem,\n\tuseBaseControlProps,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\nconst DEFAULT_UNITS = [ 'px', 'em', 'rem', 'vw', 'vh' ];\n\nfunction SizeControl( props ) {\n\tconst { baseControlProps } = useBaseControlProps( props );\n\tconst { value, onChange, fallbackValue, disabled } = props;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: DEFAULT_UNITS,\n\t} );\n\n\tconst [ valueQuantity, valueUnit = 'px' ] =\n\t\tparseQuantityAndUnitFromRawValue( value, units );\n\n\tconst isValueUnitRelative =\n\t\t!! valueUnit && [ 'em', 'rem', 'vw', 'vh' ].includes( valueUnit );\n\n\t// Receives the new value from the UnitControl component as a string containing the value and unit.\n\tconst handleUnitControlChange = ( newValue ) => {\n\t\tonChange( newValue );\n\t};\n\n\t// Receives the new value from the RangeControl component as a number.\n\tconst handleRangeControlChange = ( newValue ) => {\n\t\tonChange?.( newValue + valueUnit );\n\t};\n\n\treturn (\n\t\t<BaseControl { ...baseControlProps }>\n\t\t\t<Flex>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Custom' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ handleUnitControlChange }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<Spacer marginX={ 2 } marginBottom={ 0 }>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Custom Size' ) }\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tvalue={ valueQuantity }\n\t\t\t\t\t\t\tinitialPosition={ fallbackValue }\n\t\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\t\tonChange={ handleRangeControlChange }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ isValueUnitRelative ? 10 : 100 }\n\t\t\t\t\t\t\tstep={ isValueUnitRelative ? 0.1 : 1 }\n\t\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Spacer>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</BaseControl>\n\t);\n}\n\nexport default SizeControl;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SACCC,WAAW,EACXC,YAAY,EACZC,IAAI,EACJC,QAAQ,EACRC,mBAAmB,EACnBC,4BAA4B,IAAIC,cAAc,EAC9CC,8CAA8C,IAAIC,gCAAgC,EAClFC,yBAAyB,IAAIC,WAAW,EACxCC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE/B,MAAMC,aAAa,GAAG,CAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAE;AAEvD,SAASC,WAAWA,CAAEC,KAAK,EAAG;EAC7B,MAAM;IAAEC;EAAiB,CAAC,GAAGhB,mBAAmB,CAAEe,KAAM,CAAC;EACzD,MAAM;IAAEE,KAAK;IAAEC,QAAQ;IAAEC,aAAa;IAAEC;EAAS,CAAC,GAAGL,KAAK;EAE1D,MAAMM,KAAK,GAAGnB,cAAc,CAAE;IAC7BoB,cAAc,EAAET;EACjB,CAAE,CAAC;EAEH,MAAM,CAAEU,aAAa,EAAEC,SAAS,GAAG,IAAI,CAAE,GACxCpB,gCAAgC,CAAEa,KAAK,EAAEI,KAAM,CAAC;EAEjD,MAAMI,mBAAmB,GACxB,CAAC,CAAED,SAAS,IAAI,CAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAE,CAACE,QAAQ,CAAEF,SAAU,CAAC;;EAElE;EACA,MAAMG,uBAAuB,GAAKC,QAAQ,IAAM;IAC/CV,QAAQ,CAAEU,QAAS,CAAC;EACrB,CAAC;;EAED;EACA,MAAMC,wBAAwB,GAAKD,QAAQ,IAAM;IAChDV,QAAQ,GAAIU,QAAQ,GAAGJ,SAAU,CAAC;EACnC,CAAC;EAED,oBACCd,IAAA,CAACd,WAAW;IAAA,GAAMoB,gBAAgB;IAAAc,QAAA,eACjClB,KAAA,CAACd,IAAI;MAAAgC,QAAA,gBACJpB,IAAA,CAACX,QAAQ;QAACgC,OAAO;QAAAD,QAAA,eAChBpB,IAAA,CAACJ,WAAW;UACX0B,qBAAqB;UACrBC,uBAAuB;UACvBC,KAAK,EAAGvC,EAAE,CAAE,QAAS,CAAG;UACxBwC,mBAAmB;UACnBlB,KAAK,EAAGA,KAAO;UACfC,QAAQ,EAAGS,uBAAyB;UACpCN,KAAK,EAAGA,KAAO;UACfe,GAAG,EAAG,CAAG;UACThB,QAAQ,EAAGA;QAAU,CACrB;MAAC,CACO,CAAC,eACXV,IAAA,CAACX,QAAQ;QAACgC,OAAO;QAAAD,QAAA,eAChBpB,IAAA,CAACF,MAAM;UAAC6B,OAAO,EAAG,CAAG;UAACC,YAAY,EAAG,CAAG;UAAAR,QAAA,eACvCpB,IAAA,CAACb,YAAY;YACZmC,qBAAqB;YACrBC,uBAAuB;YACvBC,KAAK,EAAGvC,EAAE,CAAE,aAAc,CAAG;YAC7BwC,mBAAmB;YACnBlB,KAAK,EAAGM,aAAe;YACvBgB,eAAe,EAAGpB,aAAe;YACjCqB,cAAc,EAAG,KAAO;YACxBtB,QAAQ,EAAGW,wBAA0B;YACrCO,GAAG,EAAG,CAAG;YACTK,GAAG,EAAGhB,mBAAmB,GAAG,EAAE,GAAG,GAAK;YACtCiB,IAAI,EAAGjB,mBAAmB,GAAG,GAAG,GAAG,CAAG;YACtCL,QAAQ,EAAGA;UAAU,CACrB;QAAC,CACK;MAAC,CACA,CAAC;IAAA,CACN;EAAC,CACK,CAAC;AAEhB;AAEA,eAAeN,WAAW","ignoreList":[]}
@@ -87,6 +87,9 @@ export default function StyleVariationsContainer({
87
87
  };
88
88
  })];
89
89
  }, [fullStyleVariations, userStyles?.blocks, userStyles?.css]);
90
+ if (!fullStyleVariations || fullStyleVariations?.length < 1) {
91
+ return null;
92
+ }
90
93
  return /*#__PURE__*/_jsx(Grid, {
91
94
  columns: 2,
92
95
  className: "edit-site-global-styles-style-variations-container",
@@ -1 +1 @@
1
- {"version":3,"names":["store","coreStore","useSelect","useContext","useEffect","useMemo","useState","__experimentalGrid","Grid","__","privateApis","blockEditorPrivateApis","PreviewStyles","Variation","isVariationWithProperties","unlock","jsx","_jsx","GlobalStylesContext","StyleVariationsContainer","gap","user","currentUserStyles","setCurrentUserStyles","userStyles","styles","variations","select","__experimentalGetCurrentThemeGlobalStylesVariations","fullStyleVariations","filter","variation","themeVariations","withEmptyVariation","title","settings","map","_variation$settings","blockStyles","blocks","Object","keys","forEach","blockName","css","variationBlockStyles","customCSS","trim","length","columns","className","children","index","isFocused","label","withHoverView"],"sources":["@wordpress/edit-site/src/components/global-styles/style-variations-container.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useMemo, useState } from '@wordpress/element';\nimport { __experimentalGrid as Grid } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport PreviewStyles from './preview-styles';\nimport Variation from './variations/variation';\nimport { isVariationWithProperties } from '../../hooks/use-theme-style-variations/use-theme-style-variations-by-property';\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\n\nexport default function StyleVariationsContainer( { gap = 2 } ) {\n\tconst { user } = useContext( GlobalStylesContext );\n\tconst [ currentUserStyles, setCurrentUserStyles ] = useState( user );\n\tconst userStyles = currentUserStyles?.styles;\n\n\tuseEffect( () => {\n\t\tsetCurrentUserStyles( user );\n\t}, [ user ] );\n\n\tconst variations = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\t}, [] );\n\n\t// Filter out variations that are color or typography variations.\n\tconst fullStyleVariations = variations?.filter( ( variation ) => {\n\t\treturn (\n\t\t\t! isVariationWithProperties( variation, [ 'color' ] ) &&\n\t\t\t! isVariationWithProperties( variation, [\n\t\t\t\t'typography',\n\t\t\t\t'spacing',\n\t\t\t] )\n\t\t);\n\t} );\n\n\tconst themeVariations = useMemo( () => {\n\t\tconst withEmptyVariation = [\n\t\t\t{\n\t\t\t\ttitle: __( 'Default' ),\n\t\t\t\tsettings: {},\n\t\t\t\tstyles: {},\n\t\t\t},\n\t\t\t...( fullStyleVariations ?? [] ),\n\t\t];\n\t\treturn [\n\t\t\t...withEmptyVariation.map( ( variation ) => {\n\t\t\t\tconst blockStyles = { ...variation?.styles?.blocks } || {};\n\n\t\t\t\t// We need to copy any user custom CSS to the variation to prevent it being lost\n\t\t\t\t// when switching variations.\n\t\t\t\tif ( userStyles?.blocks ) {\n\t\t\t\t\tObject.keys( userStyles.blocks ).forEach( ( blockName ) => {\n\t\t\t\t\t\t// First get any block specific custom CSS from the current user styles and merge with any custom CSS for\n\t\t\t\t\t\t// that block in the variation.\n\t\t\t\t\t\tif ( userStyles.blocks[ blockName ].css ) {\n\t\t\t\t\t\t\tconst variationBlockStyles =\n\t\t\t\t\t\t\t\tblockStyles[ blockName ] || {};\n\t\t\t\t\t\t\tconst customCSS = {\n\t\t\t\t\t\t\t\tcss: `${\n\t\t\t\t\t\t\t\t\tblockStyles[ blockName ]?.css || ''\n\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\tuserStyles.blocks[ blockName ].css.trim() ||\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};\n\t\t\t\t\t\t\tblockStyles[ blockName ] = {\n\t\t\t\t\t\t\t\t...variationBlockStyles,\n\t\t\t\t\t\t\t\t...customCSS,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\t// Now merge any global custom CSS from current user styles with global custom CSS in the variation.\n\t\t\t\tconst css =\n\t\t\t\t\tuserStyles?.css || variation.styles?.css\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tcss: `${ variation.styles?.css || '' } ${\n\t\t\t\t\t\t\t\t\tuserStyles?.css || ''\n\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {};\n\n\t\t\t\tconst blocks =\n\t\t\t\t\tObject.keys( blockStyles ).length > 0\n\t\t\t\t\t\t? { blocks: blockStyles }\n\t\t\t\t\t\t: {};\n\n\t\t\t\tconst styles = {\n\t\t\t\t\t...variation.styles,\n\t\t\t\t\t...css,\n\t\t\t\t\t...blocks,\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\t...variation,\n\t\t\t\t\tsettings: variation.settings ?? {},\n\t\t\t\t\tstyles,\n\t\t\t\t};\n\t\t\t} ),\n\t\t];\n\t}, [ fullStyleVariations, userStyles?.blocks, userStyles?.css ] );\n\n\treturn (\n\t\t<Grid\n\t\t\tcolumns={ 2 }\n\t\t\tclassName=\"edit-site-global-styles-style-variations-container\"\n\t\t\tgap={ gap }\n\t\t>\n\t\t\t{ themeVariations.map( ( variation, index ) => (\n\t\t\t\t<Variation key={ index } variation={ variation }>\n\t\t\t\t\t{ ( isFocused ) => (\n\t\t\t\t\t\t<PreviewStyles\n\t\t\t\t\t\t\tlabel={ variation?.title }\n\t\t\t\t\t\t\twithHoverView\n\t\t\t\t\t\t\tisFocused={ isFocused }\n\t\t\t\t\t\t\tvariation={ variation }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Variation>\n\t\t\t) ) }\n\t\t</Grid>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,UAAU,EAAEC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,oBAAoB;AAC7E,SAASC,kBAAkB,IAAIC,IAAI,QAAQ,uBAAuB;AAClE,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAE/E;AACA;AACA;AACA,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,SAAS,MAAM,wBAAwB;AAC9C,SAASC,yBAAyB,QAAQ,+EAA+E;AACzH,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,MAAM;EAAEC;AAAoB,CAAC,GAAGH,MAAM,CAAEJ,sBAAuB,CAAC;AAEhE,eAAe,SAASQ,wBAAwBA,CAAE;EAAEC,GAAG,GAAG;AAAE,CAAC,EAAG;EAC/D,MAAM;IAAEC;EAAK,CAAC,GAAGlB,UAAU,CAAEe,mBAAoB,CAAC;EAClD,MAAM,CAAEI,iBAAiB,EAAEC,oBAAoB,CAAE,GAAGjB,QAAQ,CAAEe,IAAK,CAAC;EACpE,MAAMG,UAAU,GAAGF,iBAAiB,EAAEG,MAAM;EAE5CrB,SAAS,CAAE,MAAM;IAChBmB,oBAAoB,CAAEF,IAAK,CAAC;EAC7B,CAAC,EAAE,CAAEA,IAAI,CAAG,CAAC;EAEb,MAAMK,UAAU,GAAGxB,SAAS,CAAIyB,MAAM,IAAM;IAC3C,OAAOA,MAAM,CACZ1B,SACD,CAAC,CAAC2B,mDAAmD,CAAC,CAAC;EACxD,CAAC,EAAE,EAAG,CAAC;;EAEP;EACA,MAAMC,mBAAmB,GAAGH,UAAU,EAAEI,MAAM,CAAIC,SAAS,IAAM;IAChE,OACC,CAAEjB,yBAAyB,CAAEiB,SAAS,EAAE,CAAE,OAAO,CAAG,CAAC,IACrD,CAAEjB,yBAAyB,CAAEiB,SAAS,EAAE,CACvC,YAAY,EACZ,SAAS,CACR,CAAC;EAEL,CAAE,CAAC;EAEH,MAAMC,eAAe,GAAG3B,OAAO,CAAE,MAAM;IACtC,MAAM4B,kBAAkB,GAAG,CAC1B;MACCC,KAAK,EAAEzB,EAAE,CAAE,SAAU,CAAC;MACtB0B,QAAQ,EAAE,CAAC,CAAC;MACZV,MAAM,EAAE,CAAC;IACV,CAAC,EACD,IAAKI,mBAAmB,aAAnBA,mBAAmB,cAAnBA,mBAAmB,GAAI,EAAE,CAAE,CAChC;IACD,OAAO,CACN,GAAGI,kBAAkB,CAACG,GAAG,CAAIL,SAAS,IAAM;MAAA,IAAAM,mBAAA;MAC3C,MAAMC,WAAW,GAAG;QAAE,GAAGP,SAAS,EAAEN,MAAM,EAAEc;MAAO,CAAC,IAAI,CAAC,CAAC;;MAE1D;MACA;MACA,IAAKf,UAAU,EAAEe,MAAM,EAAG;QACzBC,MAAM,CAACC,IAAI,CAAEjB,UAAU,CAACe,MAAO,CAAC,CAACG,OAAO,CAAIC,SAAS,IAAM;UAC1D;UACA;UACA,IAAKnB,UAAU,CAACe,MAAM,CAAEI,SAAS,CAAE,CAACC,GAAG,EAAG;YACzC,MAAMC,oBAAoB,GACzBP,WAAW,CAAEK,SAAS,CAAE,IAAI,CAAC,CAAC;YAC/B,MAAMG,SAAS,GAAG;cACjBF,GAAG,EAAG,GACLN,WAAW,CAAEK,SAAS,CAAE,EAAEC,GAAG,IAAI,EACjC,IACApB,UAAU,CAACe,MAAM,CAAEI,SAAS,CAAE,CAACC,GAAG,CAACG,IAAI,CAAC,CAAC,IACzC,EACA;YACF,CAAC;YACDT,WAAW,CAAEK,SAAS,CAAE,GAAG;cAC1B,GAAGE,oBAAoB;cACvB,GAAGC;YACJ,CAAC;UACF;QACD,CAAE,CAAC;MACJ;MACA;MACA,MAAMF,GAAG,GACRpB,UAAU,EAAEoB,GAAG,IAAIb,SAAS,CAACN,MAAM,EAAEmB,GAAG,GACrC;QACAA,GAAG,EAAG,GAAGb,SAAS,CAACN,MAAM,EAAEmB,GAAG,IAAI,EAAI,IACrCpB,UAAU,EAAEoB,GAAG,IAAI,EACnB;MACD,CAAC,GACD,CAAC,CAAC;MAEN,MAAML,MAAM,GACXC,MAAM,CAACC,IAAI,CAAEH,WAAY,CAAC,CAACU,MAAM,GAAG,CAAC,GAClC;QAAET,MAAM,EAAED;MAAY,CAAC,GACvB,CAAC,CAAC;MAEN,MAAMb,MAAM,GAAG;QACd,GAAGM,SAAS,CAACN,MAAM;QACnB,GAAGmB,GAAG;QACN,GAAGL;MACJ,CAAC;MACD,OAAO;QACN,GAAGR,SAAS;QACZI,QAAQ,GAAAE,mBAAA,GAAEN,SAAS,CAACI,QAAQ,cAAAE,mBAAA,cAAAA,mBAAA,GAAI,CAAC,CAAC;QAClCZ;MACD,CAAC;IACF,CAAE,CAAC,CACH;EACF,CAAC,EAAE,CAAEI,mBAAmB,EAAEL,UAAU,EAAEe,MAAM,EAAEf,UAAU,EAAEoB,GAAG,CAAG,CAAC;EAEjE,oBACC3B,IAAA,CAACT,IAAI;IACJyC,OAAO,EAAG,CAAG;IACbC,SAAS,EAAC,oDAAoD;IAC9D9B,GAAG,EAAGA,GAAK;IAAA+B,QAAA,EAETnB,eAAe,CAACI,GAAG,CAAE,CAAEL,SAAS,EAAEqB,KAAK,kBACxCnC,IAAA,CAACJ,SAAS;MAAekB,SAAS,EAAGA,SAAW;MAAAoB,QAAA,EAC3CE,SAAS,iBACZpC,IAAA,CAACL,aAAa;QACb0C,KAAK,EAAGvB,SAAS,EAAEG,KAAO;QAC1BqB,aAAa;QACbF,SAAS,EAAGA,SAAW;QACvBtB,SAAS,EAAGA;MAAW,CACvB;IACD,GAReqB,KASN,CACV;EAAC,CACE,CAAC;AAET","ignoreList":[]}
1
+ {"version":3,"names":["store","coreStore","useSelect","useContext","useEffect","useMemo","useState","__experimentalGrid","Grid","__","privateApis","blockEditorPrivateApis","PreviewStyles","Variation","isVariationWithProperties","unlock","jsx","_jsx","GlobalStylesContext","StyleVariationsContainer","gap","user","currentUserStyles","setCurrentUserStyles","userStyles","styles","variations","select","__experimentalGetCurrentThemeGlobalStylesVariations","fullStyleVariations","filter","variation","themeVariations","withEmptyVariation","title","settings","map","_variation$settings","blockStyles","blocks","Object","keys","forEach","blockName","css","variationBlockStyles","customCSS","trim","length","columns","className","children","index","isFocused","label","withHoverView"],"sources":["@wordpress/edit-site/src/components/global-styles/style-variations-container.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useMemo, useState } from '@wordpress/element';\nimport { __experimentalGrid as Grid } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport PreviewStyles from './preview-styles';\nimport Variation from './variations/variation';\nimport { isVariationWithProperties } from '../../hooks/use-theme-style-variations/use-theme-style-variations-by-property';\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\n\nexport default function StyleVariationsContainer( { gap = 2 } ) {\n\tconst { user } = useContext( GlobalStylesContext );\n\tconst [ currentUserStyles, setCurrentUserStyles ] = useState( user );\n\tconst userStyles = currentUserStyles?.styles;\n\n\tuseEffect( () => {\n\t\tsetCurrentUserStyles( user );\n\t}, [ user ] );\n\n\tconst variations = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\t}, [] );\n\n\t// Filter out variations that are color or typography variations.\n\tconst fullStyleVariations = variations?.filter( ( variation ) => {\n\t\treturn (\n\t\t\t! isVariationWithProperties( variation, [ 'color' ] ) &&\n\t\t\t! isVariationWithProperties( variation, [\n\t\t\t\t'typography',\n\t\t\t\t'spacing',\n\t\t\t] )\n\t\t);\n\t} );\n\n\tconst themeVariations = useMemo( () => {\n\t\tconst withEmptyVariation = [\n\t\t\t{\n\t\t\t\ttitle: __( 'Default' ),\n\t\t\t\tsettings: {},\n\t\t\t\tstyles: {},\n\t\t\t},\n\t\t\t...( fullStyleVariations ?? [] ),\n\t\t];\n\t\treturn [\n\t\t\t...withEmptyVariation.map( ( variation ) => {\n\t\t\t\tconst blockStyles = { ...variation?.styles?.blocks } || {};\n\n\t\t\t\t// We need to copy any user custom CSS to the variation to prevent it being lost\n\t\t\t\t// when switching variations.\n\t\t\t\tif ( userStyles?.blocks ) {\n\t\t\t\t\tObject.keys( userStyles.blocks ).forEach( ( blockName ) => {\n\t\t\t\t\t\t// First get any block specific custom CSS from the current user styles and merge with any custom CSS for\n\t\t\t\t\t\t// that block in the variation.\n\t\t\t\t\t\tif ( userStyles.blocks[ blockName ].css ) {\n\t\t\t\t\t\t\tconst variationBlockStyles =\n\t\t\t\t\t\t\t\tblockStyles[ blockName ] || {};\n\t\t\t\t\t\t\tconst customCSS = {\n\t\t\t\t\t\t\t\tcss: `${\n\t\t\t\t\t\t\t\t\tblockStyles[ blockName ]?.css || ''\n\t\t\t\t\t\t\t\t} ${\n\t\t\t\t\t\t\t\t\tuserStyles.blocks[ blockName ].css.trim() ||\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};\n\t\t\t\t\t\t\tblockStyles[ blockName ] = {\n\t\t\t\t\t\t\t\t...variationBlockStyles,\n\t\t\t\t\t\t\t\t...customCSS,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\t// Now merge any global custom CSS from current user styles with global custom CSS in the variation.\n\t\t\t\tconst css =\n\t\t\t\t\tuserStyles?.css || variation.styles?.css\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tcss: `${ variation.styles?.css || '' } ${\n\t\t\t\t\t\t\t\t\tuserStyles?.css || ''\n\t\t\t\t\t\t\t\t}`,\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {};\n\n\t\t\t\tconst blocks =\n\t\t\t\t\tObject.keys( blockStyles ).length > 0\n\t\t\t\t\t\t? { blocks: blockStyles }\n\t\t\t\t\t\t: {};\n\n\t\t\t\tconst styles = {\n\t\t\t\t\t...variation.styles,\n\t\t\t\t\t...css,\n\t\t\t\t\t...blocks,\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\t...variation,\n\t\t\t\t\tsettings: variation.settings ?? {},\n\t\t\t\t\tstyles,\n\t\t\t\t};\n\t\t\t} ),\n\t\t];\n\t}, [ fullStyleVariations, userStyles?.blocks, userStyles?.css ] );\n\n\tif ( ! fullStyleVariations || fullStyleVariations?.length < 1 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Grid\n\t\t\tcolumns={ 2 }\n\t\t\tclassName=\"edit-site-global-styles-style-variations-container\"\n\t\t\tgap={ gap }\n\t\t>\n\t\t\t{ themeVariations.map( ( variation, index ) => (\n\t\t\t\t<Variation key={ index } variation={ variation }>\n\t\t\t\t\t{ ( isFocused ) => (\n\t\t\t\t\t\t<PreviewStyles\n\t\t\t\t\t\t\tlabel={ variation?.title }\n\t\t\t\t\t\t\twithHoverView\n\t\t\t\t\t\t\tisFocused={ isFocused }\n\t\t\t\t\t\t\tvariation={ variation }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Variation>\n\t\t\t) ) }\n\t\t</Grid>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { isRTL, __ } from '@wordpress/i18n';
5
+ import { __experimentalItemGroup as ItemGroup, __experimentalVStack as VStack, __experimentalHStack as HStack, FlexItem } from '@wordpress/components';
6
+ import { store as coreStore } from '@wordpress/core-data';
7
+ import { useSelect } from '@wordpress/data';
8
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
9
+ import { privateApis as editorPrivateApis } from '@wordpress/editor';
10
+ import { useMemo, useContext } from '@wordpress/element';
11
+ import { Icon, chevronLeft, chevronRight } from '@wordpress/icons';
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import FontLibraryProvider from './font-library-modal/context';
17
+ import { getFontFamilies } from './utils';
18
+ import { NavigationButtonAsItem } from './navigation-button';
19
+ import Subtitle from './subtitle';
20
+ import { unlock } from '../../lock-unlock';
21
+ import { filterObjectByProperties } from '../../hooks/use-theme-style-variations/use-theme-style-variations-by-property';
22
+ import { jsx as _jsx } from "react/jsx-runtime";
23
+ import { jsxs as _jsxs } from "react/jsx-runtime";
24
+ const {
25
+ GlobalStylesContext
26
+ } = unlock(blockEditorPrivateApis);
27
+ const {
28
+ mergeBaseAndUserConfigs
29
+ } = unlock(editorPrivateApis);
30
+ function TypesetButton() {
31
+ const {
32
+ base
33
+ } = useContext(GlobalStylesContext);
34
+ const {
35
+ user: userConfig
36
+ } = useContext(GlobalStylesContext);
37
+ const config = mergeBaseAndUserConfigs(base, userConfig);
38
+ const allFontFamilies = getFontFamilies(config);
39
+ const hasFonts = allFontFamilies.filter(font => font !== null).length > 0;
40
+ const variations = useSelect(select => {
41
+ return select(coreStore).__experimentalGetCurrentThemeGlobalStylesVariations();
42
+ }, []);
43
+ const userTypographyConfig = filterObjectByProperties(userConfig, 'typography');
44
+ const title = useMemo(() => {
45
+ if (Object.keys(userTypographyConfig).length === 0) {
46
+ return __('Default');
47
+ }
48
+ const activeVariation = variations?.find(variation => {
49
+ return JSON.stringify(filterObjectByProperties(variation, 'typography')) === JSON.stringify(userTypographyConfig);
50
+ });
51
+ if (activeVariation) {
52
+ return activeVariation.title;
53
+ }
54
+ return allFontFamilies.map(font => font?.name).join(', ');
55
+ }, [allFontFamilies, userTypographyConfig, variations]);
56
+ return hasFonts && /*#__PURE__*/_jsxs(VStack, {
57
+ spacing: 2,
58
+ children: [/*#__PURE__*/_jsx(HStack, {
59
+ justify: "space-between",
60
+ children: /*#__PURE__*/_jsx(Subtitle, {
61
+ level: 3,
62
+ children: __('Typeset')
63
+ })
64
+ }), /*#__PURE__*/_jsx(ItemGroup, {
65
+ isBordered: true,
66
+ isSeparated: true,
67
+ children: /*#__PURE__*/_jsx(NavigationButtonAsItem, {
68
+ path: "/typography/typeset",
69
+ "aria-label": __('Typeset'),
70
+ children: /*#__PURE__*/_jsxs(HStack, {
71
+ direction: "row",
72
+ children: [/*#__PURE__*/_jsx(FlexItem, {
73
+ children: title
74
+ }), /*#__PURE__*/_jsx(Icon, {
75
+ icon: isRTL() ? chevronLeft : chevronRight
76
+ })]
77
+ })
78
+ })
79
+ })]
80
+ });
81
+ }
82
+ export default (({
83
+ ...props
84
+ }) => /*#__PURE__*/_jsx(FontLibraryProvider, {
85
+ children: /*#__PURE__*/_jsx(TypesetButton, {
86
+ ...props
87
+ })
88
+ }));
89
+ //# sourceMappingURL=typeset-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["isRTL","__","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","FlexItem","store","coreStore","useSelect","privateApis","blockEditorPrivateApis","editorPrivateApis","useMemo","useContext","Icon","chevronLeft","chevronRight","FontLibraryProvider","getFontFamilies","NavigationButtonAsItem","Subtitle","unlock","filterObjectByProperties","jsx","_jsx","jsxs","_jsxs","GlobalStylesContext","mergeBaseAndUserConfigs","TypesetButton","base","user","userConfig","config","allFontFamilies","hasFonts","filter","font","length","variations","select","__experimentalGetCurrentThemeGlobalStylesVariations","userTypographyConfig","title","Object","keys","activeVariation","find","variation","JSON","stringify","map","name","join","spacing","children","justify","level","isBordered","isSeparated","path","direction","icon","props"],"sources":["@wordpress/edit-site/src/components/global-styles/typeset-button.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { isRTL, __ } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useMemo, useContext } from '@wordpress/element';\nimport { Icon, chevronLeft, chevronRight } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport FontLibraryProvider from './font-library-modal/context';\nimport { getFontFamilies } from './utils';\nimport { NavigationButtonAsItem } from './navigation-button';\nimport Subtitle from './subtitle';\nimport { unlock } from '../../lock-unlock';\nimport { filterObjectByProperties } from '../../hooks/use-theme-style-variations/use-theme-style-variations-by-property';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\nfunction TypesetButton() {\n\tconst { base } = useContext( GlobalStylesContext );\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst config = mergeBaseAndUserConfigs( base, userConfig );\n\tconst allFontFamilies = getFontFamilies( config );\n\tconst hasFonts =\n\t\tallFontFamilies.filter( ( font ) => font !== null ).length > 0;\n\tconst variations = useSelect( ( select ) => {\n\t\treturn select(\n\t\t\tcoreStore\n\t\t).__experimentalGetCurrentThemeGlobalStylesVariations();\n\t}, [] );\n\tconst userTypographyConfig = filterObjectByProperties(\n\t\tuserConfig,\n\t\t'typography'\n\t);\n\n\tconst title = useMemo( () => {\n\t\tif ( Object.keys( userTypographyConfig ).length === 0 ) {\n\t\t\treturn __( 'Default' );\n\t\t}\n\t\tconst activeVariation = variations?.find( ( variation ) => {\n\t\t\treturn (\n\t\t\t\tJSON.stringify(\n\t\t\t\t\tfilterObjectByProperties( variation, 'typography' )\n\t\t\t\t) === JSON.stringify( userTypographyConfig )\n\t\t\t);\n\t\t} );\n\t\tif ( activeVariation ) {\n\t\t\treturn activeVariation.title;\n\t\t}\n\t\treturn allFontFamilies.map( ( font ) => font?.name ).join( ', ' );\n\t}, [ allFontFamilies, userTypographyConfig, variations ] );\n\n\treturn (\n\t\thasFonts && (\n\t\t\t<VStack spacing={ 2 }>\n\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Typeset' ) }</Subtitle>\n\t\t\t\t</HStack>\n\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t<NavigationButtonAsItem\n\t\t\t\t\t\tpath=\"/typography/typeset\"\n\t\t\t\t\t\taria-label={ __( 'Typeset' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack direction=\"row\">\n\t\t\t\t\t\t\t<FlexItem>{ title }</FlexItem>\n\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\ticon={ isRTL() ? chevronLeft : chevronRight }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</NavigationButtonAsItem>\n\t\t\t\t</ItemGroup>\n\t\t\t</VStack>\n\t\t)\n\t);\n}\n\nexport default ( { ...props } ) => (\n\t<FontLibraryProvider>\n\t\t<TypesetButton { ...props } />\n\t</FontLibraryProvider>\n);\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+ import { __experimentalItemGroup as ItemGroup, __experimentalVStack as VStack, __experimentalHStack as HStack } from '@wordpress/components';
6
+ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
7
+ import { privateApis as editorPrivateApis } from '@wordpress/editor';
8
+ import { useContext } from '@wordpress/element';
9
+
10
+ /**
11
+ * Internal dependencies
12
+ */
13
+ import FontLibraryProvider, { FontLibraryContext } from './font-library-modal/context';
14
+ import FontLibraryModal from './font-library-modal';
15
+ import FontFamilyItem from './font-family-item';
16
+ import Subtitle from './subtitle';
17
+ import { getFontFamilies } from './utils';
18
+ import { unlock } from '../../lock-unlock';
19
+ import { jsx as _jsx } from "react/jsx-runtime";
20
+ import { jsxs as _jsxs } from "react/jsx-runtime";
21
+ import { Fragment as _Fragment } from "react/jsx-runtime";
22
+ const {
23
+ GlobalStylesContext
24
+ } = unlock(blockEditorPrivateApis);
25
+ const {
26
+ mergeBaseAndUserConfigs
27
+ } = unlock(editorPrivateApis);
28
+ function Typesets() {
29
+ const {
30
+ modalTabOpen,
31
+ setModalTabOpen
32
+ } = useContext(FontLibraryContext);
33
+ const {
34
+ base
35
+ } = useContext(GlobalStylesContext);
36
+ const {
37
+ user: userConfig
38
+ } = useContext(GlobalStylesContext);
39
+ const config = mergeBaseAndUserConfigs(base, userConfig);
40
+ const allFontFamilies = getFontFamilies(config);
41
+ const hasFonts = allFontFamilies.filter(font => font !== null).length > 0;
42
+ return hasFonts && /*#__PURE__*/_jsxs(_Fragment, {
43
+ children: [!!modalTabOpen && /*#__PURE__*/_jsx(FontLibraryModal, {
44
+ onRequestClose: () => setModalTabOpen(null),
45
+ defaultTabId: modalTabOpen
46
+ }), /*#__PURE__*/_jsxs(VStack, {
47
+ spacing: 2,
48
+ children: [/*#__PURE__*/_jsx(HStack, {
49
+ justify: "space-between",
50
+ children: /*#__PURE__*/_jsx(Subtitle, {
51
+ level: 3,
52
+ children: __('Fonts')
53
+ })
54
+ }), /*#__PURE__*/_jsx(ItemGroup, {
55
+ isBordered: true,
56
+ isSeparated: true,
57
+ children: allFontFamilies.map(font => font && /*#__PURE__*/_jsx(FontFamilyItem, {
58
+ font: font
59
+ }, font.slug))
60
+ })]
61
+ })]
62
+ });
63
+ }
64
+ export default (({
65
+ ...props
66
+ }) => /*#__PURE__*/_jsx(FontLibraryProvider, {
67
+ children: /*#__PURE__*/_jsx(Typesets, {
68
+ ...props
69
+ })
70
+ }));
71
+ //# sourceMappingURL=typeset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__","__experimentalItemGroup","ItemGroup","__experimentalVStack","VStack","__experimentalHStack","HStack","privateApis","blockEditorPrivateApis","editorPrivateApis","useContext","FontLibraryProvider","FontLibraryContext","FontLibraryModal","FontFamilyItem","Subtitle","getFontFamilies","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","GlobalStylesContext","mergeBaseAndUserConfigs","Typesets","modalTabOpen","setModalTabOpen","base","user","userConfig","config","allFontFamilies","hasFonts","filter","font","length","children","onRequestClose","defaultTabId","spacing","justify","level","isBordered","isSeparated","map","slug","props"],"sources":["@wordpress/edit-site/src/components/global-styles/typeset.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalVStack as VStack,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontLibraryProvider, {\n\tFontLibraryContext,\n} from './font-library-modal/context';\nimport FontLibraryModal from './font-library-modal';\nimport FontFamilyItem from './font-family-item';\nimport Subtitle from './subtitle';\nimport { getFontFamilies } from './utils';\nimport { unlock } from '../../lock-unlock';\n\nconst { GlobalStylesContext } = unlock( blockEditorPrivateApis );\nconst { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );\n\nfunction Typesets() {\n\tconst { modalTabOpen, setModalTabOpen } = useContext( FontLibraryContext );\n\tconst { base } = useContext( GlobalStylesContext );\n\tconst { user: userConfig } = useContext( GlobalStylesContext );\n\tconst config = mergeBaseAndUserConfigs( base, userConfig );\n\tconst allFontFamilies = getFontFamilies( config );\n\tconst hasFonts =\n\t\tallFontFamilies.filter( ( font ) => font !== null ).length > 0;\n\n\treturn (\n\t\thasFonts && (\n\t\t\t<>\n\t\t\t\t{ !! modalTabOpen && (\n\t\t\t\t\t<FontLibraryModal\n\t\t\t\t\t\tonRequestClose={ () => setModalTabOpen( null ) }\n\t\t\t\t\t\tdefaultTabId={ modalTabOpen }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t<VStack spacing={ 2 }>\n\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t<Subtitle level={ 3 }>{ __( 'Fonts' ) }</Subtitle>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t{ allFontFamilies.map(\n\t\t\t\t\t\t\t( font ) =>\n\t\t\t\t\t\t\t\tfont && (\n\t\t\t\t\t\t\t\t\t<FontFamilyItem\n\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\t\tfont={ font }\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) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</VStack>\n\t\t\t</>\n\t\t)\n\t);\n}\n\nexport default ( { ...props } ) => (\n\t<FontLibraryProvider>\n\t\t<Typesets { ...props } />\n\t</FontLibraryProvider>\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,uBAAuB,IAAIC,SAAS,EACpCC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,WAAW,IAAIC,sBAAsB,QAAQ,yBAAyB;AAC/E,SAASD,WAAW,IAAIE,iBAAiB,QAAQ,mBAAmB;AACpE,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,mBAAmB,IACzBC,kBAAkB,QACZ,8BAA8B;AACrC,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,cAAc,MAAM,oBAAoB;AAC/C,OAAOC,QAAQ,MAAM,YAAY;AACjC,SAASC,eAAe,QAAQ,SAAS;AACzC,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAE3C,MAAM;EAAEC;AAAoB,CAAC,GAAGP,MAAM,CAAET,sBAAuB,CAAC;AAChE,MAAM;EAAEiB;AAAwB,CAAC,GAAGR,MAAM,CAAER,iBAAkB,CAAC;AAE/D,SAASiB,QAAQA,CAAA,EAAG;EACnB,MAAM;IAAEC,YAAY;IAAEC;EAAgB,CAAC,GAAGlB,UAAU,CAAEE,kBAAmB,CAAC;EAC1E,MAAM;IAAEiB;EAAK,CAAC,GAAGnB,UAAU,CAAEc,mBAAoB,CAAC;EAClD,MAAM;IAAEM,IAAI,EAAEC;EAAW,CAAC,GAAGrB,UAAU,CAAEc,mBAAoB,CAAC;EAC9D,MAAMQ,MAAM,GAAGP,uBAAuB,CAAEI,IAAI,EAAEE,UAAW,CAAC;EAC1D,MAAME,eAAe,GAAGjB,eAAe,CAAEgB,MAAO,CAAC;EACjD,MAAME,QAAQ,GACbD,eAAe,CAACE,MAAM,CAAIC,IAAI,IAAMA,IAAI,KAAK,IAAK,CAAC,CAACC,MAAM,GAAG,CAAC;EAE/D,OACCH,QAAQ,iBACPb,KAAA,CAAAE,SAAA;IAAAe,QAAA,GACG,CAAC,CAAEX,YAAY,iBAChBR,IAAA,CAACN,gBAAgB;MAChB0B,cAAc,EAAGA,CAAA,KAAMX,eAAe,CAAE,IAAK,CAAG;MAChDY,YAAY,EAAGb;IAAc,CAC7B,CACD,eAEDN,KAAA,CAACjB,MAAM;MAACqC,OAAO,EAAG,CAAG;MAAAH,QAAA,gBACpBnB,IAAA,CAACb,MAAM;QAACoC,OAAO,EAAC,eAAe;QAAAJ,QAAA,eAC9BnB,IAAA,CAACJ,QAAQ;UAAC4B,KAAK,EAAG,CAAG;UAAAL,QAAA,EAAGtC,EAAE,CAAE,OAAQ;QAAC,CAAY;MAAC,CAC3C,CAAC,eACTmB,IAAA,CAACjB,SAAS;QAAC0C,UAAU;QAACC,WAAW;QAAAP,QAAA,EAC9BL,eAAe,CAACa,GAAG,CAClBV,IAAI,IACLA,IAAI,iBACHjB,IAAA,CAACL,cAAc;UAEdsB,IAAI,EAAGA;QAAM,GADPA,IAAI,CAACW,IAEX,CAEJ;MAAC,CACS,CAAC;IAAA,CACL,CAAC;EAAA,CACR,CACF;AAEH;AAEA,gBAAe,CAAE;EAAE,GAAGC;AAAM,CAAC,kBAC5B7B,IAAA,CAACR,mBAAmB;EAAA2B,QAAA,eACnBnB,IAAA,CAACO,QAAQ;IAAA,GAAMsB;EAAK,CAAI;AAAC,CACL,CACrB","ignoreList":[]}
@@ -18,7 +18,10 @@ import ScreenRoot from './screen-root';
18
18
  import { useBlockHasGlobalStyles, default as ScreenBlockList } from './screen-block-list';
19
19
  import ScreenBlock from './screen-block';
20
20
  import ScreenTypography from './screen-typography';
21
+ import ScreenTypeset from './screen-typeset';
21
22
  import ScreenTypographyElement from './screen-typography-element';
23
+ import FontSize from './font-sizes/font-size';
24
+ import FontSizes from './font-sizes/font-sizes';
22
25
  import ScreenColors from './screen-colors';
23
26
  import ScreenColorPalette from './screen-color-palette';
24
27
  import { ScreenShadows, ScreenShadowsEdit } from './screen-shadows';
@@ -268,6 +271,15 @@ function GlobalStylesUI() {
268
271
  }), /*#__PURE__*/_jsx(GlobalStylesNavigationScreen, {
269
272
  path: "/typography",
270
273
  children: /*#__PURE__*/_jsx(ScreenTypography, {})
274
+ }), /*#__PURE__*/_jsx(GlobalStylesNavigationScreen, {
275
+ path: "/typography/font-sizes/",
276
+ children: /*#__PURE__*/_jsx(FontSizes, {})
277
+ }), /*#__PURE__*/_jsx(GlobalStylesNavigationScreen, {
278
+ path: "/typography/font-sizes/:origin/:slug",
279
+ children: /*#__PURE__*/_jsx(FontSize, {})
280
+ }), /*#__PURE__*/_jsx(GlobalStylesNavigationScreen, {
281
+ path: "/typography/typeset",
282
+ children: /*#__PURE__*/_jsx(ScreenTypeset, {})
271
283
  }), /*#__PURE__*/_jsx(GlobalStylesNavigationScreen, {
272
284
  path: "/typography/text",
273
285
  children: /*#__PURE__*/_jsx(ScreenTypographyElement, {