@wordpress/block-library 7.3.5 → 7.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 (400) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/archives/edit.js +1 -1
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/audio/edit.js +4 -16
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/audio/edit.native.js +1 -1
  7. package/build/audio/edit.native.js.map +1 -1
  8. package/build/button/edit.native.js +7 -3
  9. package/build/button/edit.native.js.map +1 -1
  10. package/build/categories/edit.js +8 -3
  11. package/build/categories/edit.js.map +1 -1
  12. package/build/categories/index.js +4 -0
  13. package/build/categories/index.js.map +1 -1
  14. package/build/column/index.js +10 -0
  15. package/build/column/index.js.map +1 -1
  16. package/build/comment-template/edit.js +1 -3
  17. package/build/comment-template/edit.js.map +1 -1
  18. package/build/{comments-query-loop → comments}/edit/comments-inspector-controls.js +0 -0
  19. package/{build-module/comments-query-loop → build/comments}/edit/comments-inspector-controls.js.map +1 -1
  20. package/build/{comments-query-loop → comments}/edit.js +2 -2
  21. package/build/comments/edit.js.map +1 -0
  22. package/build/{comments-query-loop → comments}/index.js +1 -1
  23. package/build/comments/index.js.map +1 -0
  24. package/build/{comments-query-loop → comments}/save.js +2 -2
  25. package/build/comments/save.js.map +1 -0
  26. package/build/cover/edit.js +4 -71
  27. package/build/cover/edit.js.map +1 -1
  28. package/build/cover/edit.native.js +36 -15
  29. package/build/cover/edit.native.js.map +1 -1
  30. package/build/cover/transforms.js +77 -6
  31. package/build/cover/transforms.js.map +1 -1
  32. package/build/cover/use-cover-is-dark.js +81 -0
  33. package/build/cover/use-cover-is-dark.js.map +1 -0
  34. package/build/cover/use-cover-is-dark.native.js +60 -0
  35. package/build/cover/use-cover-is-dark.native.js.map +1 -0
  36. package/build/embed/edit.js +12 -18
  37. package/build/embed/edit.js.map +1 -1
  38. package/build/embed/edit.native.js +1 -7
  39. package/build/embed/edit.native.js.map +1 -1
  40. package/build/embed/util.js +29 -4
  41. package/build/embed/util.js.map +1 -1
  42. package/build/file/inspector.js +2 -4
  43. package/build/file/inspector.js.map +1 -1
  44. package/build/gallery/edit.js +1 -1
  45. package/build/gallery/edit.js.map +1 -1
  46. package/build/gallery/v1/edit.js +1 -1
  47. package/build/gallery/v1/edit.js.map +1 -1
  48. package/build/group/index.js +1 -0
  49. package/build/group/index.js.map +1 -1
  50. package/build/heading/transforms.js +8 -4
  51. package/build/heading/transforms.js.map +1 -1
  52. package/build/html/edit.js +2 -2
  53. package/build/html/edit.js.map +1 -1
  54. package/build/image/edit.js +4 -6
  55. package/build/image/edit.js.map +1 -1
  56. package/build/image/edit.native.js +1 -1
  57. package/build/image/edit.native.js.map +1 -1
  58. package/build/image/image.js +1 -1
  59. package/build/image/image.js.map +1 -1
  60. package/build/index.js +4 -6
  61. package/build/index.js.map +1 -1
  62. package/build/index.native.js +14 -3
  63. package/build/index.native.js.map +1 -1
  64. package/build/latest-comments/edit.js +1 -1
  65. package/build/latest-comments/edit.js.map +1 -1
  66. package/build/latest-posts/edit.native.js +49 -0
  67. package/build/latest-posts/edit.native.js.map +1 -1
  68. package/build/loginout/edit.js +1 -1
  69. package/build/loginout/edit.js.map +1 -1
  70. package/build/media-text/edit.js +1 -2
  71. package/build/media-text/edit.js.map +1 -1
  72. package/build/media-text/edit.native.js +1 -1
  73. package/build/media-text/edit.native.js.map +1 -1
  74. package/build/navigation/edit/index.js +5 -28
  75. package/build/navigation/edit/index.js.map +1 -1
  76. package/build/navigation/edit/unsaved-inner-blocks.js +5 -4
  77. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  78. package/build/navigation/index.js +1 -2
  79. package/build/navigation/index.js.map +1 -1
  80. package/build/navigation/view-modal.js +62 -0
  81. package/build/navigation/view-modal.js.map +1 -0
  82. package/build/navigation/view.js +1 -34
  83. package/build/navigation/view.js.map +1 -1
  84. package/build/navigation-link/edit.js +1 -1
  85. package/build/navigation-link/edit.js.map +1 -1
  86. package/build/paragraph/edit.js +10 -0
  87. package/build/paragraph/edit.js.map +1 -1
  88. package/build/paragraph/edit.native.js +6 -2
  89. package/build/paragraph/edit.native.js.map +1 -1
  90. package/build/paragraph/use-enter.js +94 -0
  91. package/build/paragraph/use-enter.js.map +1 -0
  92. package/build/post-author/edit.js +1 -1
  93. package/build/post-author/edit.js.map +1 -1
  94. package/build/post-comment/index.js +1 -1
  95. package/build/post-comments/edit.js +13 -34
  96. package/build/post-comments/edit.js.map +1 -1
  97. package/build/post-comments/index.js +1 -1
  98. package/build/post-comments-form/edit.js +37 -24
  99. package/build/post-comments-form/edit.js.map +1 -1
  100. package/build/post-comments-form/form.js +48 -0
  101. package/build/post-comments-form/form.js.map +1 -0
  102. package/build/post-excerpt/edit.js +1 -1
  103. package/build/post-excerpt/edit.js.map +1 -1
  104. package/build/post-terms/edit.js +25 -3
  105. package/build/post-terms/edit.js.map +1 -1
  106. package/build/post-terms/index.js +8 -0
  107. package/build/post-terms/index.js.map +1 -1
  108. package/build/quote/index.js +7 -0
  109. package/build/quote/index.js.map +1 -1
  110. package/build/quote/v2/edit.js +11 -3
  111. package/build/quote/v2/edit.js.map +1 -1
  112. package/build/rss/edit.js +1 -1
  113. package/build/rss/edit.js.map +1 -1
  114. package/build/search/edit.js +11 -9
  115. package/build/search/edit.js.map +1 -1
  116. package/build/separator/index.js +3 -0
  117. package/build/separator/index.js.map +1 -1
  118. package/build/spacer/constants.js +9 -0
  119. package/build/spacer/constants.js.map +1 -0
  120. package/build/spacer/controls.js +3 -3
  121. package/build/spacer/controls.js.map +1 -1
  122. package/build/spacer/controls.native.js +2 -2
  123. package/build/spacer/controls.native.js.map +1 -1
  124. package/build/spacer/edit.js +5 -6
  125. package/build/spacer/edit.js.map +1 -1
  126. package/build/table/edit.js +8 -2
  127. package/build/table/edit.js.map +1 -1
  128. package/build/tag-cloud/edit.js +1 -1
  129. package/build/tag-cloud/edit.js.map +1 -1
  130. package/build/video/edit.js +4 -8
  131. package/build/video/edit.js.map +1 -1
  132. package/build/video/edit.native.js +1 -1
  133. package/build/video/edit.native.js.map +1 -1
  134. package/build-module/archives/edit.js +1 -1
  135. package/build-module/archives/edit.js.map +1 -1
  136. package/build-module/audio/edit.js +4 -16
  137. package/build-module/audio/edit.js.map +1 -1
  138. package/build-module/audio/edit.native.js +1 -1
  139. package/build-module/audio/edit.native.js.map +1 -1
  140. package/build-module/button/edit.native.js +7 -3
  141. package/build-module/button/edit.native.js.map +1 -1
  142. package/build-module/categories/edit.js +8 -3
  143. package/build-module/categories/edit.js.map +1 -1
  144. package/build-module/categories/index.js +4 -0
  145. package/build-module/categories/index.js.map +1 -1
  146. package/build-module/column/index.js +10 -0
  147. package/build-module/column/index.js.map +1 -1
  148. package/build-module/comment-template/edit.js +1 -3
  149. package/build-module/comment-template/edit.js.map +1 -1
  150. package/build-module/{comments-query-loop → comments}/edit/comments-inspector-controls.js +0 -0
  151. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -0
  152. package/build-module/{comments-query-loop → comments}/edit.js +1 -1
  153. package/build-module/comments/edit.js.map +1 -0
  154. package/build-module/{comments-query-loop → comments}/index.js +1 -1
  155. package/build-module/comments/index.js.map +1 -0
  156. package/build-module/{comments-query-loop → comments}/save.js +1 -1
  157. package/build-module/comments/save.js.map +1 -0
  158. package/build-module/cover/edit.js +4 -71
  159. package/build-module/cover/edit.js.map +1 -1
  160. package/build-module/cover/edit.native.js +35 -16
  161. package/build-module/cover/edit.native.js.map +1 -1
  162. package/build-module/cover/transforms.js +74 -6
  163. package/build-module/cover/transforms.js.map +1 -1
  164. package/build-module/cover/use-cover-is-dark.js +70 -0
  165. package/build-module/cover/use-cover-is-dark.js.map +1 -0
  166. package/build-module/cover/use-cover-is-dark.native.js +51 -0
  167. package/build-module/cover/use-cover-is-dark.native.js.map +1 -0
  168. package/build-module/embed/edit.js +13 -19
  169. package/build-module/embed/edit.js.map +1 -1
  170. package/build-module/embed/edit.native.js +2 -8
  171. package/build-module/embed/edit.native.js.map +1 -1
  172. package/build-module/embed/util.js +25 -3
  173. package/build-module/embed/util.js.map +1 -1
  174. package/build-module/file/inspector.js +2 -4
  175. package/build-module/file/inspector.js.map +1 -1
  176. package/build-module/gallery/edit.js +1 -1
  177. package/build-module/gallery/edit.js.map +1 -1
  178. package/build-module/gallery/v1/edit.js +1 -1
  179. package/build-module/gallery/v1/edit.js.map +1 -1
  180. package/build-module/group/index.js +1 -0
  181. package/build-module/group/index.js.map +1 -1
  182. package/build-module/heading/transforms.js +8 -4
  183. package/build-module/heading/transforms.js.map +1 -1
  184. package/build-module/html/edit.js +2 -2
  185. package/build-module/html/edit.js.map +1 -1
  186. package/build-module/image/edit.js +4 -6
  187. package/build-module/image/edit.js.map +1 -1
  188. package/build-module/image/edit.native.js +1 -1
  189. package/build-module/image/edit.native.js.map +1 -1
  190. package/build-module/image/image.js +1 -1
  191. package/build-module/image/image.js.map +1 -1
  192. package/build-module/index.js +3 -4
  193. package/build-module/index.js.map +1 -1
  194. package/build-module/index.native.js +14 -3
  195. package/build-module/index.native.js.map +1 -1
  196. package/build-module/latest-comments/edit.js +1 -1
  197. package/build-module/latest-comments/edit.js.map +1 -1
  198. package/build-module/latest-posts/edit.native.js +51 -2
  199. package/build-module/latest-posts/edit.native.js.map +1 -1
  200. package/build-module/loginout/edit.js +1 -1
  201. package/build-module/loginout/edit.js.map +1 -1
  202. package/build-module/media-text/edit.js +1 -2
  203. package/build-module/media-text/edit.js.map +1 -1
  204. package/build-module/media-text/edit.native.js +1 -1
  205. package/build-module/media-text/edit.native.js.map +1 -1
  206. package/build-module/navigation/edit/index.js +6 -28
  207. package/build-module/navigation/edit/index.js.map +1 -1
  208. package/build-module/navigation/edit/unsaved-inner-blocks.js +5 -4
  209. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  210. package/build-module/navigation/index.js +1 -2
  211. package/build-module/navigation/index.js.map +1 -1
  212. package/build-module/navigation/view-modal.js +56 -0
  213. package/build-module/navigation/view-modal.js.map +1 -0
  214. package/build-module/navigation/view.js +1 -30
  215. package/build-module/navigation/view.js.map +1 -1
  216. package/build-module/navigation-link/edit.js +1 -1
  217. package/build-module/navigation-link/edit.js.map +1 -1
  218. package/build-module/paragraph/edit.js +9 -0
  219. package/build-module/paragraph/edit.js.map +1 -1
  220. package/build-module/paragraph/edit.native.js +6 -2
  221. package/build-module/paragraph/edit.native.js.map +1 -1
  222. package/build-module/paragraph/use-enter.js +81 -0
  223. package/build-module/paragraph/use-enter.js.map +1 -0
  224. package/build-module/post-author/edit.js +1 -1
  225. package/build-module/post-author/edit.js.map +1 -1
  226. package/build-module/post-comment/index.js +1 -1
  227. package/build-module/post-comments/edit.js +13 -35
  228. package/build-module/post-comments/edit.js.map +1 -1
  229. package/build-module/post-comments/index.js +1 -1
  230. package/build-module/post-comments-form/edit.js +38 -26
  231. package/build-module/post-comments-form/edit.js.map +1 -1
  232. package/build-module/post-comments-form/form.js +39 -0
  233. package/build-module/post-comments-form/form.js.map +1 -0
  234. package/build-module/post-excerpt/edit.js +1 -1
  235. package/build-module/post-excerpt/edit.js.map +1 -1
  236. package/build-module/post-terms/edit.js +26 -4
  237. package/build-module/post-terms/edit.js.map +1 -1
  238. package/build-module/post-terms/index.js +8 -0
  239. package/build-module/post-terms/index.js.map +1 -1
  240. package/build-module/quote/index.js +2 -1
  241. package/build-module/quote/index.js.map +1 -1
  242. package/build-module/quote/v2/edit.js +10 -3
  243. package/build-module/quote/v2/edit.js.map +1 -1
  244. package/build-module/rss/edit.js +1 -1
  245. package/build-module/rss/edit.js.map +1 -1
  246. package/build-module/search/edit.js +11 -9
  247. package/build-module/search/edit.js.map +1 -1
  248. package/build-module/separator/index.js +3 -0
  249. package/build-module/separator/index.js.map +1 -1
  250. package/build-module/spacer/constants.js +2 -0
  251. package/build-module/spacer/constants.js.map +1 -0
  252. package/build-module/spacer/controls.js +2 -2
  253. package/build-module/spacer/controls.js.map +1 -1
  254. package/build-module/spacer/controls.native.js +1 -1
  255. package/build-module/spacer/controls.native.js.map +1 -1
  256. package/build-module/spacer/edit.js +1 -1
  257. package/build-module/spacer/edit.js.map +1 -1
  258. package/build-module/table/edit.js +9 -3
  259. package/build-module/table/edit.js.map +1 -1
  260. package/build-module/tag-cloud/edit.js +1 -1
  261. package/build-module/tag-cloud/edit.js.map +1 -1
  262. package/build-module/video/edit.js +4 -8
  263. package/build-module/video/edit.js.map +1 -1
  264. package/build-module/video/edit.native.js +1 -1
  265. package/build-module/video/edit.native.js.map +1 -1
  266. package/build-style/{comments-query-loop → comments}/editor-rtl.css +0 -0
  267. package/build-style/{comments-query-loop → comments}/editor.css +0 -0
  268. package/build-style/common-rtl.css +32 -0
  269. package/build-style/common.css +32 -0
  270. package/build-style/cover/style-rtl.css +0 -4
  271. package/build-style/cover/style.css +0 -4
  272. package/build-style/editor-rtl.css +12 -4
  273. package/build-style/editor.css +12 -4
  274. package/build-style/navigation/style-rtl.css +3 -0
  275. package/build-style/navigation/style.css +3 -0
  276. package/build-style/style-rtl.css +73 -4
  277. package/build-style/style.css +73 -4
  278. package/build-style/table/editor-rtl.css +8 -0
  279. package/build-style/table/editor.css +8 -0
  280. package/build-style/table/style-rtl.css +38 -0
  281. package/build-style/table/style.css +38 -0
  282. package/package.json +28 -28
  283. package/src/archives/edit.js +1 -1
  284. package/src/audio/edit.js +3 -8
  285. package/src/audio/edit.native.js +1 -1
  286. package/src/button/edit.native.js +6 -3
  287. package/src/categories/block.json +4 -0
  288. package/src/categories/edit.js +8 -2
  289. package/src/categories/index.php +1 -0
  290. package/src/column/block.json +10 -0
  291. package/src/comment-template/edit.js +1 -5
  292. package/src/comment-template/index.php +4 -0
  293. package/src/{comments-query-loop → comments}/block.json +1 -1
  294. package/src/{comments-query-loop → comments}/edit/comments-inspector-controls.js +0 -0
  295. package/src/{comments-query-loop → comments}/edit.js +1 -1
  296. package/src/{comments-query-loop → comments}/editor.scss +0 -0
  297. package/src/{comments-query-loop → comments}/index.js +0 -0
  298. package/src/{comments-query-loop → comments}/save.js +1 -3
  299. package/src/comments-pagination/index.php +4 -0
  300. package/src/comments-title/index.php +4 -0
  301. package/src/common.scss +24 -1
  302. package/src/cover/edit.js +2 -67
  303. package/src/cover/edit.native.js +40 -13
  304. package/src/cover/style.native.scss +4 -0
  305. package/src/cover/style.scss +0 -4
  306. package/src/cover/test/__snapshots__/edit.native.js.snap +6 -6
  307. package/src/cover/test/transforms.js +301 -0
  308. package/src/cover/transforms.js +112 -7
  309. package/src/cover/use-cover-is-dark.js +71 -0
  310. package/src/cover/use-cover-is-dark.native.js +51 -0
  311. package/src/editor.scss +1 -1
  312. package/src/embed/edit.js +19 -24
  313. package/src/embed/edit.native.js +9 -14
  314. package/src/embed/util.js +34 -2
  315. package/src/file/inspector.js +1 -3
  316. package/src/gallery/edit.js +1 -1
  317. package/src/gallery/v1/edit.js +1 -1
  318. package/src/group/block.json +1 -0
  319. package/src/heading/transforms.js +4 -3
  320. package/src/html/edit.js +2 -2
  321. package/src/image/edit.js +2 -4
  322. package/src/image/edit.native.js +1 -1
  323. package/src/image/image.js +1 -1
  324. package/src/index.js +2 -5
  325. package/src/index.native.js +12 -2
  326. package/src/latest-comments/edit.js +1 -1
  327. package/src/latest-posts/edit.native.js +56 -1
  328. package/src/loginout/edit.js +1 -1
  329. package/src/media-text/edit.js +1 -2
  330. package/src/media-text/edit.native.js +1 -1
  331. package/src/navigation/block.json +1 -2
  332. package/src/navigation/edit/index.js +6 -36
  333. package/src/navigation/edit/unsaved-inner-blocks.js +5 -4
  334. package/src/navigation/index.php +5 -0
  335. package/src/navigation/style.scss +3 -0
  336. package/src/navigation/view-modal.js +68 -0
  337. package/src/navigation/view.js +0 -35
  338. package/src/navigation-link/edit.js +1 -1
  339. package/src/paragraph/edit.js +6 -0
  340. package/src/paragraph/edit.native.js +13 -1
  341. package/src/paragraph/use-enter.js +103 -0
  342. package/src/post-author/edit.js +1 -1
  343. package/src/post-author/index.php +1 -1
  344. package/src/post-comment/block.json +1 -1
  345. package/src/post-comments/block.json +1 -1
  346. package/src/post-comments/edit.js +13 -43
  347. package/src/post-comments/index.php +2 -0
  348. package/src/post-comments-form/edit.js +50 -58
  349. package/src/post-comments-form/form.js +43 -0
  350. package/src/post-comments-form/index.php +5 -1
  351. package/src/post-excerpt/edit.js +1 -1
  352. package/src/post-terms/block.json +8 -0
  353. package/src/post-terms/edit.js +28 -1
  354. package/src/post-terms/index.php +12 -2
  355. package/src/quote/block.json +1 -0
  356. package/src/quote/index.js +1 -1
  357. package/src/quote/v2/edit.js +3 -0
  358. package/src/rss/edit.js +1 -1
  359. package/src/search/edit.js +13 -7
  360. package/src/search/index.php +84 -33
  361. package/src/separator/block.json +3 -0
  362. package/src/spacer/constants.js +1 -0
  363. package/src/spacer/controls.js +2 -2
  364. package/src/spacer/controls.native.js +1 -1
  365. package/src/spacer/edit.js +1 -2
  366. package/src/table/edit.js +11 -2
  367. package/src/table/editor.scss +13 -0
  368. package/src/table/style.scss +52 -0
  369. package/src/tag-cloud/edit.js +1 -1
  370. package/src/video/edit.js +4 -5
  371. package/src/video/edit.native.js +1 -1
  372. package/build/comments-query-loop/edit/comments-inspector-controls.js.map +0 -1
  373. package/build/comments-query-loop/edit.js.map +0 -1
  374. package/build/comments-query-loop/index.js.map +0 -1
  375. package/build/comments-query-loop/save.js.map +0 -1
  376. package/build/navigation-area/edit.js +0 -110
  377. package/build/navigation-area/edit.js.map +0 -1
  378. package/build/navigation-area/index.js +0 -62
  379. package/build/navigation-area/index.js.map +0 -1
  380. package/build/navigation-area/inner-blocks.js +0 -34
  381. package/build/navigation-area/inner-blocks.js.map +0 -1
  382. package/build/navigation-area/save.js +0 -18
  383. package/build/navigation-area/save.js.map +0 -1
  384. package/build-module/comments-query-loop/edit.js.map +0 -1
  385. package/build-module/comments-query-loop/index.js.map +0 -1
  386. package/build-module/comments-query-loop/save.js.map +0 -1
  387. package/build-module/navigation-area/edit.js +0 -94
  388. package/build-module/navigation-area/edit.js.map +0 -1
  389. package/build-module/navigation-area/index.js +0 -48
  390. package/build-module/navigation-area/index.js.map +0 -1
  391. package/build-module/navigation-area/inner-blocks.js +0 -26
  392. package/build-module/navigation-area/inner-blocks.js.map +0 -1
  393. package/build-module/navigation-area/save.js +0 -10
  394. package/build-module/navigation-area/save.js.map +0 -1
  395. package/src/navigation-area/block.json +0 -23
  396. package/src/navigation-area/edit.js +0 -111
  397. package/src/navigation-area/index.js +0 -26
  398. package/src/navigation-area/index.php +0 -22
  399. package/src/navigation-area/inner-blocks.js +0 -24
  400. package/src/navigation-area/save.js +0 -8
package/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 7.5.0 (2022-05-04)
6
+
7
+ ## 7.4.0 (2022-04-21)
8
+
5
9
  ## 7.3.0 (2022-04-08)
6
10
 
7
11
  ## 7.2.0 (2022-03-23)
@@ -31,7 +31,7 @@ function ArchivesEdit(_ref) {
31
31
  type
32
32
  } = attributes;
33
33
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
34
- title: (0, _i18n.__)('Archives settings')
34
+ title: (0, _i18n.__)('Settings')
35
35
  }, (0, _element.createElement)(_components.ToggleControl, {
36
36
  label: (0, _i18n.__)('Display as dropdown'),
37
37
  checked: displayAsDropdown,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/archives/edit.js"],"names":["ArchivesEdit","attributes","setAttributes","showPostCounts","displayAsDropdown","type","label","value"],"mappings":";;;;;;;;;;;AAGA;;AAMA;;AACA;;AACA;;AAXA;AACA;AACA;AAWe,SAASA,YAAT,OAAuD;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACrE,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,iBAAlB;AAAqCC,IAAAA;AAArC,MAA8CJ,UAApD;AAEA,SACC,qDACC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,mBAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,qBAAJ,CADT;AAEC,IAAA,OAAO,EAAGG,iBAFX;AAGC,IAAA,QAAQ,EAAG,MACVF,aAAa,CAAE;AACdE,MAAAA,iBAAiB,EAAE,CAAEA;AADP,KAAF;AAJf,IADD,EAUC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,kBAAJ,CADT;AAEC,IAAA,OAAO,EAAGD,cAFX;AAGC,IAAA,QAAQ,EAAG,MACVD,aAAa,CAAE;AACdC,MAAAA,cAAc,EAAE,CAAEA;AADJ,KAAF;AAJf,IAVD,EAmBC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,WAAJ,CADT;AAEC,IAAA,OAAO,EAAG,CACT;AAAEG,MAAAA,KAAK,EAAE,cAAI,MAAJ,CAAT;AAAuBC,MAAAA,KAAK,EAAE;AAA9B,KADS,EAET;AAAED,MAAAA,KAAK,EAAE,cAAI,OAAJ,CAAT;AAAwBC,MAAAA,KAAK,EAAE;AAA/B,KAFS,EAGT;AAAED,MAAAA,KAAK,EAAE,cAAI,MAAJ,CAAT;AAAuBC,MAAAA,KAAK,EAAE;AAA9B,KAHS,EAIT;AAAED,MAAAA,KAAK,EAAE,cAAI,KAAJ,CAAT;AAAsBC,MAAAA,KAAK,EAAE;AAA7B,KAJS,CAFX;AAQC,IAAA,KAAK,EAAGF,IART;AASC,IAAA,QAAQ,EAAKE,KAAF,IACVL,aAAa,CAAE;AAAEG,MAAAA,IAAI,EAAEE;AAAR,KAAF;AAVf,IAnBD,CADD,CADD,EAoCC,mCAAU,iCAAV,EACC,4BAAC,oBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAC,eADP;AAEC,IAAA,UAAU,EAAGN;AAFd,IADD,CADD,CApCD,CADD;AA+CA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n\tDisabled,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport ServerSideRender from '@wordpress/server-side-render';\n\nexport default function ArchivesEdit( { attributes, setAttributes } ) {\n\tconst { showPostCounts, displayAsDropdown, type } = attributes;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Archives settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayAsDropdown: ! displayAsDropdown,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowPostCounts: ! showPostCounts,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Group by:' ) }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Year' ), value: 'yearly' },\n\t\t\t\t\t\t\t{ label: __( 'Month' ), value: 'monthly' },\n\t\t\t\t\t\t\t{ label: __( 'Week' ), value: 'weekly' },\n\t\t\t\t\t\t\t{ label: __( 'Day' ), value: 'daily' },\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tvalue={ type }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { type: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t<Disabled>\n\t\t\t\t\t<ServerSideRender\n\t\t\t\t\t\tblock=\"core/archives\"\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/archives/edit.js"],"names":["ArchivesEdit","attributes","setAttributes","showPostCounts","displayAsDropdown","type","label","value"],"mappings":";;;;;;;;;;;AAGA;;AAMA;;AACA;;AACA;;AAXA;AACA;AACA;AAWe,SAASA,YAAT,OAAuD;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACrE,QAAM;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,iBAAlB;AAAqCC,IAAAA;AAArC,MAA8CJ,UAApD;AAEA,SACC,qDACC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,qBAAJ,CADT;AAEC,IAAA,OAAO,EAAGG,iBAFX;AAGC,IAAA,QAAQ,EAAG,MACVF,aAAa,CAAE;AACdE,MAAAA,iBAAiB,EAAE,CAAEA;AADP,KAAF;AAJf,IADD,EAUC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,kBAAJ,CADT;AAEC,IAAA,OAAO,EAAGD,cAFX;AAGC,IAAA,QAAQ,EAAG,MACVD,aAAa,CAAE;AACdC,MAAAA,cAAc,EAAE,CAAEA;AADJ,KAAF;AAJf,IAVD,EAmBC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,WAAJ,CADT;AAEC,IAAA,OAAO,EAAG,CACT;AAAEG,MAAAA,KAAK,EAAE,cAAI,MAAJ,CAAT;AAAuBC,MAAAA,KAAK,EAAE;AAA9B,KADS,EAET;AAAED,MAAAA,KAAK,EAAE,cAAI,OAAJ,CAAT;AAAwBC,MAAAA,KAAK,EAAE;AAA/B,KAFS,EAGT;AAAED,MAAAA,KAAK,EAAE,cAAI,MAAJ,CAAT;AAAuBC,MAAAA,KAAK,EAAE;AAA9B,KAHS,EAIT;AAAED,MAAAA,KAAK,EAAE,cAAI,KAAJ,CAAT;AAAsBC,MAAAA,KAAK,EAAE;AAA7B,KAJS,CAFX;AAQC,IAAA,KAAK,EAAGF,IART;AASC,IAAA,QAAQ,EAAKE,KAAF,IACVL,aAAa,CAAE;AAAEG,MAAAA,IAAI,EAAEE;AAAR,KAAF;AAVf,IAnBD,CADD,CADD,EAoCC,mCAAU,iCAAV,EACC,4BAAC,oBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAC,eADP;AAEC,IAAA,UAAU,EAAGN;AAFd,IADD,CADD,CApCD,CADD;AA+CA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n\tDisabled,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport ServerSideRender from '@wordpress/server-side-render';\n\nexport default function ArchivesEdit( { attributes, setAttributes } ) {\n\tconst { showPostCounts, displayAsDropdown, type } = attributes;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayAsDropdown: ! displayAsDropdown,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowPostCounts: ! showPostCounts,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Group by:' ) }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Year' ), value: 'yearly' },\n\t\t\t\t\t\t\t{ label: __( 'Month' ), value: 'monthly' },\n\t\t\t\t\t\t\t{ label: __( 'Week' ), value: 'weekly' },\n\t\t\t\t\t\t\t{ label: __( 'Day' ), value: 'daily' },\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tvalue={ type }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { type: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t<Disabled>\n\t\t\t\t\t<ServerSideRender\n\t\t\t\t\t\tblock=\"core/archives\"\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -74,22 +74,10 @@ function AudioEdit(_ref) {
74
74
  mediaUpload({
75
75
  filesList: [file],
76
76
  onFileChange: _ref2 => {
77
- let [{
78
- id: mediaId,
79
- url
80
- }] = _ref2;
81
- setAttributes({
82
- id: mediaId,
83
- src: url
84
- });
85
- },
86
- onError: e => {
87
- setAttributes({
88
- src: undefined,
89
- id: undefined
90
- });
91
- noticeOperations.createErrorNotice(e);
77
+ let [media] = _ref2;
78
+ return onSelectAudio(media);
92
79
  },
80
+ onError: e => onUploadError(e),
93
81
  allowedTypes: ALLOWED_MEDIA_TYPES
94
82
  });
95
83
  }
@@ -188,7 +176,7 @@ function AudioEdit(_ref) {
188
176
  onSelectURL: onSelectURL,
189
177
  onError: onUploadError
190
178
  })), (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
191
- title: (0, _i18n.__)('Audio settings')
179
+ title: (0, _i18n.__)('Settings')
192
180
  }, (0, _element.createElement)(_components.ToggleControl, {
193
181
  label: (0, _i18n.__)('Autoplay'),
194
182
  onChange: toggleAttribute('autoplay'),
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/audio/edit.js"],"names":["ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","noticeOperations","setAttributes","onReplace","isSelected","noticeUI","insertBlocksAfter","id","autoplay","caption","loop","preload","src","isTemporaryAudio","mediaUpload","select","getSettings","blockEditorStore","file","filesList","onFileChange","mediaId","url","onError","e","undefined","createErrorNotice","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","onUploadError","message","removeAllNotices","getAutoplayHelp","checked","onSelectAudio","media","classes","blockProps","icon","value","label","RichText","isEmpty"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\twithNotices,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tnoticeOperations,\n\tsetAttributes,\n\tonReplace,\n\tisSelected,\n\tnoticeUI,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, caption, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ { id: mediaId, url } ] ) => {\n\t\t\t\t\t\tsetAttributes( { id: mediaId, src: url } );\n\t\t\t\t\t},\n\t\t\t\t\tonError: ( e ) => {\n\t\t\t\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\t\t\t\tnoticeOperations.createErrorNotice( e );\n\t\t\t\t\t},\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tnotices={ noticeUI }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Audio settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\taria-label={ __( 'Audio caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter( createBlock( 'core/paragraph' ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\nexport default withNotices( AudioEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/audio/edit.js"],"names":["ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","noticeOperations","setAttributes","onReplace","isSelected","noticeUI","insertBlocksAfter","id","autoplay","caption","loop","preload","src","isTemporaryAudio","mediaUpload","select","getSettings","blockEditorStore","file","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","url","undefined","message","removeAllNotices","createErrorNotice","getAutoplayHelp","checked","classes","blockProps","icon","value","label","RichText","isEmpty"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\twithNotices,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tnoticeOperations,\n\tsetAttributes,\n\tonReplace,\n\tisSelected,\n\tnoticeUI,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, caption, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tnotices={ noticeUI }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\taria-label={ __( 'Audio caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter( createBlock( 'core/paragraph' ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\nexport default withNotices( AudioEdit );\n"]}
@@ -186,7 +186,7 @@ function AudioEdit(_ref) {
186
186
  onPress: onAudioPress,
187
187
  disabled: !isSelected
188
188
  }, (0, _element.createElement)(_primitives.View, null, (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
189
- title: (0, _i18n.__)('Audio settings')
189
+ title: (0, _i18n.__)('Settings')
190
190
  }, (0, _element.createElement)(_components.ToggleControl, {
191
191
  label: (0, _i18n.__)('Autoplay'),
192
192
  onChange: toggleAttribute('autoplay'),
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/audio/edit.native.js"],"names":["ALLOWED_MEDIA_TYPES","AudioEdit","attributes","setAttributes","isSelected","insertBlocksAfter","onFocus","onBlur","clientId","id","autoplay","loop","preload","src","isCaptionSelected","setIsCaptionSelected","onFileChange","mediaId","mediaUrl","wasBlockJustInserted","select","blockEditorStore","createErrorNotice","noticesStore","toggleAttribute","attribute","newValue","onSelectURL","newSrc","undefined","onSelectAudio","media","url","onAudioPress","onFocusCaption","icon","getBlockControls","open","replace","getBlockUI","getMediaOptions","styles","progressContainer","progressBar","spinner","isUploadInProgress","isUploadFailed","retryMessage","value","label","caption"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n\tAudioPlayer,\n} from '@wordpress/components';\nimport {\n\tBlockCaption,\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { audio as icon, replace } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tonFocus,\n\tonBlur,\n\tclientId,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\n\tconst onFileChange = ( { mediaId, mediaUrl } ) => {\n\t\tsetAttributes( { id: mediaId, src: mediaUrl } );\n\t};\n\n\tconst { wasBlockJustInserted } = useSelect( ( select ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\tif ( isURL( newSrc ) ) {\n\t\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t\t} else {\n\t\t\t\tcreateErrorNotice( __( 'Invalid URL. Audio file not found.' ) );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tfunction onAudioPress() {\n\t\tsetIsCaptionSelected( false );\n\t}\n\n\tfunction onFocusCaption() {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t}\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction getBlockControls( open ) {\n\t\treturn (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Replace audio' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tfunction getBlockUI( open, getMediaOptions ) {\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonFinishMediaUploadWithSuccess={ onFileChange }\n\t\t\t\tonMediaUploadStateReset={ onFileChange }\n\t\t\t\tcontainerStyle={ styles.progressContainer }\n\t\t\t\tprogressBarStyle={ styles.progressBar }\n\t\t\t\tspinnerStyle={ styles.spinner }\n\t\t\t\trenderContent={ ( {\n\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\tisUploadFailed,\n\t\t\t\t\tretryMessage,\n\t\t\t\t} ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isCaptionSelected &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\tgetBlockControls( open ) }\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<AudioPlayer\n\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isSelected }\n\t\t\tonPress={ onAudioPress }\n\t\t\tdisabled={ ! isSelected }\n\t\t>\n\t\t\t<View>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Audio settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Autoplay may cause usability issues for some users.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Preload',\n\t\t\t\t\t\t\t\t'noun; Audio block parameter'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\t\tlabel: _x( 'None', '\"Preload\" value' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\treturn getBlockUI( open, getMediaOptions );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<BlockCaption\n\t\t\t\t\taccessible={ true }\n\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\tisEmpty( caption )\n\t\t\t\t\t\t\t? /* translators: accessibility text. Empty Audio caption. */\n\t\t\t\t\t\t\t __( 'Audio caption. Empty' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: Audio caption. */\n\t\t\t\t\t\t\t\t\t__( 'Audio caption. %s' ),\n\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\t\tonFocus={ onFocusCaption }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\nexport default AudioEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/audio/edit.native.js"],"names":["ALLOWED_MEDIA_TYPES","AudioEdit","attributes","setAttributes","isSelected","insertBlocksAfter","onFocus","onBlur","clientId","id","autoplay","loop","preload","src","isCaptionSelected","setIsCaptionSelected","onFileChange","mediaId","mediaUrl","wasBlockJustInserted","select","blockEditorStore","createErrorNotice","noticesStore","toggleAttribute","attribute","newValue","onSelectURL","newSrc","undefined","onSelectAudio","media","url","onAudioPress","onFocusCaption","icon","getBlockControls","open","replace","getBlockUI","getMediaOptions","styles","progressContainer","progressBar","spinner","isUploadInProgress","isUploadFailed","retryMessage","value","label","caption"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n\tAudioPlayer,\n} from '@wordpress/components';\nimport {\n\tBlockCaption,\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { audio as icon, replace } from '@wordpress/icons';\nimport { useState } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isURL } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tonFocus,\n\tonBlur,\n\tclientId,\n} ) {\n\tconst { id, autoplay, loop, preload, src } = attributes;\n\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\n\tconst onFileChange = ( { mediaId, mediaUrl } ) => {\n\t\tsetAttributes( { id: mediaId, src: mediaUrl } );\n\t};\n\n\tconst { wasBlockJustInserted } = useSelect( ( select ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\tif ( isURL( newSrc ) ) {\n\t\t\t\tsetAttributes( { src: newSrc, id: undefined } );\n\t\t\t} else {\n\t\t\t\tcreateErrorNotice( __( 'Invalid URL. Audio file not found.' ) );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tfunction onAudioPress() {\n\t\tsetIsCaptionSelected( false );\n\t}\n\n\tfunction onFocusCaption() {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t}\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<View>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\tfunction getBlockControls( open ) {\n\t\treturn (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Replace audio' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tfunction getBlockUI( open, getMediaOptions ) {\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonFinishMediaUploadWithSuccess={ onFileChange }\n\t\t\t\tonMediaUploadStateReset={ onFileChange }\n\t\t\t\tcontainerStyle={ styles.progressContainer }\n\t\t\t\tprogressBarStyle={ styles.progressBar }\n\t\t\t\tspinnerStyle={ styles.spinner }\n\t\t\t\trenderContent={ ( {\n\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\tisUploadFailed,\n\t\t\t\t\tretryMessage,\n\t\t\t\t} ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isCaptionSelected &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\tgetBlockControls( open ) }\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<AudioPlayer\n\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isSelected }\n\t\t\tonPress={ onAudioPress }\n\t\t\tdisabled={ ! isSelected }\n\t\t>\n\t\t\t<View>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Autoplay may cause usability issues for some users.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Preload',\n\t\t\t\t\t\t\t\t'noun; Audio block parameter'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\t\tlabel: _x( 'None', '\"Preload\" value' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\treturn getBlockUI( open, getMediaOptions );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<BlockCaption\n\t\t\t\t\taccessible={ true }\n\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\tisEmpty( caption )\n\t\t\t\t\t\t\t? /* translators: accessibility text. Empty Audio caption. */\n\t\t\t\t\t\t\t __( 'Audio caption. Empty' )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: Audio caption. */\n\t\t\t\t\t\t\t\t\t__( 'Audio caption. %s' ),\n\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t )\n\t\t\t\t\t}\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\t\tonFocus={ onFocusCaption }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n}\nexport default AudioEdit;\n"]}
@@ -146,10 +146,14 @@ function ButtonEdit(props) {
146
146
  (0, _element.useEffect)(() => {
147
147
  // Blur `RichText` on Android when link settings sheet or button settings sheet is opened,
148
148
  // to avoid flashing caret after closing one of them
149
- if (editorSidebarOpened || isLinkSheetVisible) {
150
- if (_reactNative.Platform.OS === 'android' && richTextRef !== null && richTextRef !== void 0 && richTextRef.current) {
151
- richTextRef.current.blur();
149
+ const richText = richTextRef === null || richTextRef === void 0 ? void 0 : richTextRef.current;
150
+
151
+ if (_reactNative.Platform.OS === 'android' && richText) {
152
+ if (editorSidebarOpened || isLinkSheetVisible) {
153
+ richText.blur();
152
154
  onToggleButtonFocus(false);
155
+ } else {
156
+ onToggleButtonFocus(true);
153
157
  }
154
158
  }
155
159
  }, [editorSidebarOpened, isLinkSheetVisible]);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/button/edit.native.js"],"names":["MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","styles","button75","marginLeft","button50","button25","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","options","value","label","ButtonEdit","props","isSelected","parentWidth","initialBorderRadius","attributes","style","border","radius","valueUnit","editorSidebarOpened","numOfButtons","select","isEditorSidebarOpened","editPostStore","getBlockCount","getBlockRootClientId","blockEditorStore","parentId","clientId","blockCount","currentIsEditorSidebarOpened","closeGeneralSidebar","maxWidth","setMaxWidth","isLinkSheetVisible","setIsLinkSheetVisible","isButtonFocused","setIsButtonFocused","placeholderTextWidth","setPlaceholderTextWidth","borderRadiusUnit","setBorderRadiusUnit","richTextRef","colors","gradients","onToggleButtonFocus","onSetMaxWidth","Platform","OS","current","blur","AccessibilityInfo","isScreenReaderEnabled","then","enabled","focus","linkSettingsActions","onPress","onClearSettings","linkSettingsOptions","url","placeholder","autoFocus","autoFill","openInNewTab","linkRel","noFocusLinkSettingOptions","getBackgroundColor","backgroundColor","gradient","gradientValue","colorProps","colorObject","color","background","defaultButton","getTextColor","textColor","onChangeText","text","onChangeBorderRadius","newRadius","newStyle","getNewStyle","onChangeBorderRadiusUnit","newRadiusUnit","newBorderRadius","getBorderRadiusValue","radiusUnit","onShowLinkSettings","onHideLinkSettings","rel","linkTarget","onLayout","nativeEvent","layout","isParentWidthDidChange","marginRight","spacing","isParentWidthChanged","isWidthChanged","onRemove","onDeleteBlock","onReplace","onPlaceholderTextWidth","textWidth","lines","Math","min","onSetRef","ref","onUnstableOnFocus","onBlur","dismissSheet","getLinkSettings","isCompatibleWithSettings","getPlaceholderWidth","placeholderText","currentBorderRadius","defaultBorderRadius","valueAndUnit","Number","isInteger","parseInt","valueToConvert","parseFloat","mergeBlocks","buttonStyle","align","paddingTop","borderWidth","borderRadiusValue","borderRadius","buttonBorderRadiusValue","floor","outlineBorderRadius","minWidth","isFixedWidth","outLineStyles","outline","borderColor","textStyles","richTextStyle","richText","paddingLeft","paddingRight","placeholderTextColor","fontSize","link","CSS_UNITS"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo, Platform, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tInspectorControls,\n\tBlockControls,\n\tstore as blockEditorStore,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n\tUnitControl,\n\tgetValueAndUnit,\n\tBottomSheetSelectControl,\n\tCSS_UNITS,\n\tfilterUnitsWithSettings,\n\tuseMobileGlobalStylesColors,\n} from '@wordpress/components';\nimport { link } from '@wordpress/icons';\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport richTextStyle from './rich-text.scss';\nimport styles from './editor.scss';\nimport ColorBackground from './color-background';\n\nconst MIN_BORDER_RADIUS_VALUE = 0;\nconst MAX_BORDER_RADIUS_VALUE = 50;\nconst INITIAL_MAX_WIDTH = 108;\nconst MIN_WIDTH = 40;\n// Map of the percentage width to pixel subtraction that make the buttons fit nicely into columns.\nconst MIN_WIDTH_MARGINS = {\n\t100: 0,\n\t75: styles.button75?.marginLeft,\n\t50: styles.button50?.marginLeft,\n\t25: styles.button25?.marginLeft,\n};\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tlet width = selectedWidth === newWidth ? undefined : newWidth;\n\t\tif ( newWidth === 'auto' ) {\n\t\t\twidth = undefined;\n\t\t}\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\tconst options = [\n\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t{ value: 25, label: '25%' },\n\t\t{ value: 50, label: '50%' },\n\t\t{ value: 75, label: '75%' },\n\t\t{ value: 100, label: '100%' },\n\t];\n\n\tif ( ! selectedWidth ) {\n\t\tselectedWidth = 'auto';\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width Settings' ) }>\n\t\t\t<BottomSheetSelectControl\n\t\t\t\tlabel={ __( 'Button width' ) }\n\t\t\t\tvalue={ selectedWidth }\n\t\t\t\tonChange={ handleChange }\n\t\t\t\toptions={ options }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst { isSelected, parentWidth } = props;\n\tconst initialBorderRadius = props?.attributes?.style?.border?.radius;\n\tconst { valueUnit = 'px' } = getValueAndUnit( initialBorderRadius ) || {};\n\n\tconst { editorSidebarOpened, numOfButtons } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorSidebarOpened } = select( editPostStore );\n\t\t\tconst { getBlockCount, getBlockRootClientId } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\tconst blockCount = getBlockCount( parentId );\n\t\t\tconst currentIsEditorSidebarOpened = isEditorSidebarOpened();\n\n\t\t\treturn {\n\t\t\t\teditorSidebarOpened: isSelected && currentIsEditorSidebarOpened,\n\t\t\t\tnumOfButtons: blockCount,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst { closeGeneralSidebar } = useDispatch( editPostStore );\n\tconst [ maxWidth, setMaxWidth ] = useState( INITIAL_MAX_WIDTH );\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ isButtonFocused, setIsButtonFocused ] = useState( true );\n\tconst [ placeholderTextWidth, setPlaceholderTextWidth ] = useState( 0 );\n\tconst [ borderRadiusUnit, setBorderRadiusUnit ] = useState( valueUnit );\n\n\tconst richTextRef = useRef();\n\tconst colors = useMobileGlobalStylesColors();\n\tconst gradients = useMobileGlobalStylesColors( 'gradients' );\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\tonToggleButtonFocus( true );\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tonSetMaxWidth( null, true );\n\t}, [ parentWidth ] );\n\n\tuseEffect( () => {\n\t\t// Blur `RichText` on Android when link settings sheet or button settings sheet is opened,\n\t\t// to avoid flashing caret after closing one of them\n\t\tif ( editorSidebarOpened || isLinkSheetVisible ) {\n\t\t\tif ( Platform.OS === 'android' && richTextRef?.current ) {\n\t\t\t\trichTextRef.current.blur();\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t}\n\t\t}\n\t}, [ editorSidebarOpened, isLinkSheetVisible ] );\n\n\tuseEffect( () => {\n\t\tif ( richTextRef?.current ) {\n\t\t\tif ( ! isSelected && isButtonFocused ) {\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t}\n\n\t\t\tif ( isSelected && ! isButtonFocused ) {\n\t\t\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( enabled ) => {\n\t\t\t\t\tif ( enabled ) {\n\t\t\t\t\t\tonToggleButtonFocus( true );\n\t\t\t\t\t\trichTextRef?.current.focus();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [ isSelected, isButtonFocused ] );\n\n\tconst linkSettingsActions = [\n\t\t{\n\t\t\tlabel: __( 'Remove link' ),\n\t\t\tonPress: onClearSettings,\n\t\t},\n\t];\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tlabel: __( 'Button Link URL' ),\n\t\t\tplaceholder: __( 'Add URL' ),\n\t\t\tautoFocus: true,\n\t\t\tautoFill: false,\n\t\t},\n\t\topenInNewTab: {\n\t\t\tlabel: __( 'Open in new tab' ),\n\t\t},\n\t\tlinkRel: {\n\t\t\tlabel: __( 'Link Rel' ),\n\t\t\tplaceholder: _x( 'None', 'Link rel attribute value placeholder' ),\n\t\t},\n\t};\n\n\tconst noFocusLinkSettingOptions = {\n\t\t...linkSettingsOptions,\n\t\turl: {\n\t\t\t...linkSettingsOptions.url,\n\t\t\tautoFocus: false,\n\t\t},\n\t};\n\n\tfunction getBackgroundColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst { backgroundColor, gradient } = attributes;\n\n\t\t// Return named gradient value if available.\n\t\tconst gradientValue = getGradientValueBySlug( gradients, gradient );\n\n\t\tif ( gradientValue ) {\n\t\t\treturn gradientValue;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tbackgroundColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.backgroundColor ||\n\t\t\tcolorProps.style?.background ||\n\t\t\tstyle?.backgroundColor ||\n\t\t\tstyles.defaultButton.backgroundColor\n\t\t);\n\t}\n\n\tfunction getTextColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tattributes.textColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.color ||\n\t\t\tstyle?.color ||\n\t\t\tstyles.defaultButton.color\n\t\t);\n\t}\n\n\tfunction onChangeText( value ) {\n\t\tconst { setAttributes } = props;\n\t\tsetAttributes( { text: value } );\n\t}\n\n\tfunction onChangeBorderRadius( newRadius ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newStyle = getNewStyle( style, newRadius, borderRadiusUnit );\n\n\t\tsetAttributes( { style: newStyle } );\n\t}\n\n\tfunction onChangeBorderRadiusUnit( newRadiusUnit ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newBorderRadius = getBorderRadiusValue(\n\t\t\tattributes?.style?.border?.radius\n\t\t);\n\t\tconst newStyle = getNewStyle( style, newBorderRadius, newRadiusUnit );\n\t\tsetAttributes( { style: newStyle } );\n\t\tsetBorderRadiusUnit( newRadiusUnit );\n\t}\n\n\tfunction getNewStyle( style, radius, radiusUnit ) {\n\t\treturn {\n\t\t\t...style,\n\t\t\tborder: {\n\t\t\t\t...style?.border,\n\t\t\t\tradius: `${ radius }${ radiusUnit }`, // Store the value with the unit so that it works as expected.\n\t\t\t},\n\t\t};\n\t}\n\n\tfunction onShowLinkSettings() {\n\t\tsetIsLinkSheetVisible( true );\n\t}\n\n\tfunction onHideLinkSettings() {\n\t\tsetIsLinkSheetVisible( false );\n\t}\n\n\tfunction onToggleButtonFocus( value ) {\n\t\tif ( value !== isButtonFocused ) {\n\t\t\tsetIsButtonFocused( value );\n\t\t}\n\t}\n\n\tfunction onClearSettings() {\n\t\tconst { setAttributes } = props;\n\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\trel: '',\n\t\t\tlinkTarget: '',\n\t\t} );\n\n\t\tonHideLinkSettings();\n\t}\n\n\tfunction onLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tonSetMaxWidth( width );\n\t}\n\n\tconst onSetMaxWidth = useCallback(\n\t\t( width, isParentWidthDidChange = false ) => {\n\t\t\tconst { marginRight: spacing } = styles.defaultButton;\n\n\t\t\tconst isParentWidthChanged = isParentWidthDidChange\n\t\t\t\t? isParentWidthDidChange\n\t\t\t\t: maxWidth !== parentWidth;\n\t\t\tconst isWidthChanged = maxWidth !== width;\n\n\t\t\tif ( parentWidth && ! width && isParentWidthChanged ) {\n\t\t\t\tsetMaxWidth( parentWidth - spacing );\n\t\t\t} else if ( ! parentWidth && width && isWidthChanged ) {\n\t\t\t\tsetMaxWidth( width - spacing );\n\t\t\t}\n\t\t},\n\t\t[ maxWidth, parentWidth ]\n\t);\n\n\tfunction onRemove() {\n\t\tconst { onDeleteBlock, onReplace } = props;\n\n\t\tif ( numOfButtons === 1 ) {\n\t\t\tonDeleteBlock();\n\t\t} else {\n\t\t\tonReplace( [] );\n\t\t}\n\t}\n\n\tfunction onPlaceholderTextWidth( { nativeEvent } ) {\n\t\tconst textWidth =\n\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\n\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\tsetPlaceholderTextWidth( Math.min( textWidth, maxWidth ) );\n\t\t}\n\t}\n\n\tconst onSetRef = useCallback(\n\t\t( ref ) => {\n\t\t\trichTextRef.current = ref;\n\t\t},\n\t\t[ richTextRef ]\n\t);\n\n\tconst onUnstableOnFocus = useCallback( () => {\n\t\tonToggleButtonFocus( true );\n\t}, [] );\n\n\tconst onBlur = useCallback( () => {\n\t\tonSetMaxWidth();\n\t}, [] );\n\n\tfunction dismissSheet() {\n\t\tonHideLinkSettings();\n\t\tcloseGeneralSidebar();\n\t}\n\n\tfunction getLinkSettings( isCompatibleWithSettings ) {\n\t\tconst { attributes, setAttributes } = props;\n\t\treturn (\n\t\t\t<LinkSettingsNavigation\n\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\turl={ attributes.url }\n\t\t\t\trel={ attributes.rel }\n\t\t\t\tlinkTarget={ attributes.linkTarget }\n\t\t\t\tonClose={ dismissSheet }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\twithBottomSheet={ ! isCompatibleWithSettings }\n\t\t\t\thasPicker\n\t\t\t\tactions={ linkSettingsActions }\n\t\t\t\toptions={\n\t\t\t\t\tisCompatibleWithSettings\n\t\t\t\t\t\t? linkSettingsOptions\n\t\t\t\t\t\t: noFocusLinkSettingOptions\n\t\t\t\t}\n\t\t\t\tshowIcon={ ! isCompatibleWithSettings }\n\t\t\t/>\n\t\t);\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\tfunction getPlaceholderWidth( placeholderText ) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ onPlaceholderTextWidth }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tfunction getBorderRadiusValue( currentBorderRadius, defaultBorderRadius ) {\n\t\tconst valueAndUnit = getValueAndUnit( currentBorderRadius );\n\t\tif ( Number.isInteger( parseInt( valueAndUnit?.valueToConvert ) ) ) {\n\t\t\treturn parseFloat( valueAndUnit.valueToConvert );\n\t\t}\n\t\treturn defaultBorderRadius;\n\t}\n\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tsetAttributes,\n\t\tstyle,\n\t} = props;\n\tconst {\n\t\tplaceholder,\n\t\ttext,\n\t\tstyle: buttonStyle,\n\t\turl,\n\t\talign = 'center',\n\t\twidth,\n\t} = attributes;\n\tconst { paddingTop: spacing, borderWidth } = styles.defaultButton;\n\n\tif ( parentWidth === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst currentBorderRadius = buttonStyle?.border?.radius;\n\tconst borderRadiusValue = getBorderRadiusValue(\n\t\tcurrentBorderRadius,\n\t\tstyles.defaultButton.borderRadius\n\t);\n\n\tconst buttonBorderRadiusValue =\n\t\tborderRadiusUnit === 'px' || borderRadiusUnit === '%'\n\t\t\t? borderRadiusValue\n\t\t\t: Math.floor( 14 * borderRadiusValue ); // Lets assume that the font size is set to 14px; TO get a nicer preview.\n\tconst outlineBorderRadius =\n\t\tbuttonBorderRadiusValue > 0\n\t\t\t? buttonBorderRadiusValue + spacing + borderWidth\n\t\t\t: 0;\n\n\t// To achieve proper expanding and shrinking `RichText` on iOS, there is a need to set a `minWidth`\n\t// value at least on 1 when `RichText` is focused or when is not focused, but `RichText` value is\n\t// different than empty string.\n\tlet minWidth =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? MIN_WIDTH\n\t\t\t: placeholderTextWidth;\n\tif ( width ) {\n\t\t// Set the width of the button.\n\t\tminWidth = Math.floor(\n\t\t\tmaxWidth * ( width / 100 ) - MIN_WIDTH_MARGINS[ width ]\n\t\t);\n\t}\n\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t// a `placeholder` as an empty string when `RichText` is focused,\n\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\tconst placeholderText =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? ''\n\t\t\t: placeholder || __( 'Add text…' );\n\n\tconst backgroundColor = getBackgroundColor();\n\tconst textColor = getTextColor();\n\tconst isFixedWidth = !! width;\n\tconst outLineStyles = [\n\t\tstyles.outline,\n\t\t{\n\t\t\tborderRadius: outlineBorderRadius,\n\t\t\tborderColor: backgroundColor,\n\t\t},\n\t];\n\tconst textStyles = {\n\t\t...richTextStyle.richText,\n\t\tpaddingLeft: isFixedWidth ? 0 : richTextStyle.richText.paddingLeft,\n\t\tpaddingRight: isFixedWidth ? 0 : richTextStyle.richText.paddingRight,\n\t\tcolor: textColor,\n\t};\n\n\treturn (\n\t\t<View onLayout={ onLayout }>\n\t\t\t{ getPlaceholderWidth( placeholderText ) }\n\t\t\t<ColorBackground\n\t\t\t\tborderRadiusValue={ buttonBorderRadiusValue }\n\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t>\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<View pointerEvents=\"none\" style={ outLineStyles } />\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\tsetRef={ onSetRef }\n\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ onChangeText }\n\t\t\t\t\tstyle={ textStyles }\n\t\t\t\t\ttextAlign={ align }\n\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\tstyle?.color || styles.placeholderTextColor.color\n\t\t\t\t\t}\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\tminWidth={ minWidth } // The minimum Button size.\n\t\t\t\t\tmaxWidth={ isFixedWidth ? minWidth : maxWidth } // The width of the screen.\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tisSelected={ isButtonFocused }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tunstableOnFocus={ onUnstableOnFocus }\n\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\tselectionColor={ textColor }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonRemove={ onRemove }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tfontSize={ style?.fontSize }\n\t\t\t\t/>\n\t\t\t</ColorBackground>\n\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\ttitle={ __( 'Edit link' ) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onShowLinkSettings }\n\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ getLinkSettings( false ) }\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Border Settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Border Radius' ) }\n\t\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tmax={ MAX_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tvalue={ borderRadiusValue }\n\t\t\t\t\t\t\t\tonChange={ onChangeBorderRadius }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeBorderRadiusUnit }\n\t\t\t\t\t\t\t\tunit={ borderRadiusUnit }\n\t\t\t\t\t\t\t\tunits={ filterUnitsWithSettings(\n\t\t\t\t\t\t\t\t\t[ 'px', 'em', 'rem' ],\n\t\t\t\t\t\t\t\t\tCSS_UNITS\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<WidthPanel\n\t\t\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PanelBody title={ __( 'Link Settings' ) }>\n\t\t\t\t\t\t\t{ getLinkSettings( true ) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/button/edit.native.js"],"names":["MIN_BORDER_RADIUS_VALUE","MAX_BORDER_RADIUS_VALUE","INITIAL_MAX_WIDTH","MIN_WIDTH","MIN_WIDTH_MARGINS","styles","button75","marginLeft","button50","button25","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","options","value","label","ButtonEdit","props","isSelected","parentWidth","initialBorderRadius","attributes","style","border","radius","valueUnit","editorSidebarOpened","numOfButtons","select","isEditorSidebarOpened","editPostStore","getBlockCount","getBlockRootClientId","blockEditorStore","parentId","clientId","blockCount","currentIsEditorSidebarOpened","closeGeneralSidebar","maxWidth","setMaxWidth","isLinkSheetVisible","setIsLinkSheetVisible","isButtonFocused","setIsButtonFocused","placeholderTextWidth","setPlaceholderTextWidth","borderRadiusUnit","setBorderRadiusUnit","richTextRef","colors","gradients","onToggleButtonFocus","onSetMaxWidth","richText","current","Platform","OS","blur","AccessibilityInfo","isScreenReaderEnabled","then","enabled","focus","linkSettingsActions","onPress","onClearSettings","linkSettingsOptions","url","placeholder","autoFocus","autoFill","openInNewTab","linkRel","noFocusLinkSettingOptions","getBackgroundColor","backgroundColor","gradient","gradientValue","colorProps","colorObject","color","background","defaultButton","getTextColor","textColor","onChangeText","text","onChangeBorderRadius","newRadius","newStyle","getNewStyle","onChangeBorderRadiusUnit","newRadiusUnit","newBorderRadius","getBorderRadiusValue","radiusUnit","onShowLinkSettings","onHideLinkSettings","rel","linkTarget","onLayout","nativeEvent","layout","isParentWidthDidChange","marginRight","spacing","isParentWidthChanged","isWidthChanged","onRemove","onDeleteBlock","onReplace","onPlaceholderTextWidth","textWidth","lines","Math","min","onSetRef","ref","onUnstableOnFocus","onBlur","dismissSheet","getLinkSettings","isCompatibleWithSettings","getPlaceholderWidth","placeholderText","currentBorderRadius","defaultBorderRadius","valueAndUnit","Number","isInteger","parseInt","valueToConvert","parseFloat","mergeBlocks","buttonStyle","align","paddingTop","borderWidth","borderRadiusValue","borderRadius","buttonBorderRadiusValue","floor","outlineBorderRadius","minWidth","isFixedWidth","outLineStyles","outline","borderColor","textStyles","richTextStyle","paddingLeft","paddingRight","placeholderTextColor","fontSize","link","CSS_UNITS"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo, Platform, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useState, useRef } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tInspectorControls,\n\tBlockControls,\n\tstore as blockEditorStore,\n\tgetColorObjectByAttributeValues,\n\tgetGradientValueBySlug,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n\tUnitControl,\n\tgetValueAndUnit,\n\tBottomSheetSelectControl,\n\tCSS_UNITS,\n\tfilterUnitsWithSettings,\n\tuseMobileGlobalStylesColors,\n} from '@wordpress/components';\nimport { link } from '@wordpress/icons';\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport richTextStyle from './rich-text.scss';\nimport styles from './editor.scss';\nimport ColorBackground from './color-background';\n\nconst MIN_BORDER_RADIUS_VALUE = 0;\nconst MAX_BORDER_RADIUS_VALUE = 50;\nconst INITIAL_MAX_WIDTH = 108;\nconst MIN_WIDTH = 40;\n// Map of the percentage width to pixel subtraction that make the buttons fit nicely into columns.\nconst MIN_WIDTH_MARGINS = {\n\t100: 0,\n\t75: styles.button75?.marginLeft,\n\t50: styles.button50?.marginLeft,\n\t25: styles.button25?.marginLeft,\n};\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tlet width = selectedWidth === newWidth ? undefined : newWidth;\n\t\tif ( newWidth === 'auto' ) {\n\t\t\twidth = undefined;\n\t\t}\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\tconst options = [\n\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t{ value: 25, label: '25%' },\n\t\t{ value: 50, label: '50%' },\n\t\t{ value: 75, label: '75%' },\n\t\t{ value: 100, label: '100%' },\n\t];\n\n\tif ( ! selectedWidth ) {\n\t\tselectedWidth = 'auto';\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width Settings' ) }>\n\t\t\t<BottomSheetSelectControl\n\t\t\t\tlabel={ __( 'Button width' ) }\n\t\t\t\tvalue={ selectedWidth }\n\t\t\t\tonChange={ handleChange }\n\t\t\t\toptions={ options }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst { isSelected, parentWidth } = props;\n\tconst initialBorderRadius = props?.attributes?.style?.border?.radius;\n\tconst { valueUnit = 'px' } = getValueAndUnit( initialBorderRadius ) || {};\n\n\tconst { editorSidebarOpened, numOfButtons } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isEditorSidebarOpened } = select( editPostStore );\n\t\t\tconst { getBlockCount, getBlockRootClientId } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\tconst blockCount = getBlockCount( parentId );\n\t\t\tconst currentIsEditorSidebarOpened = isEditorSidebarOpened();\n\n\t\t\treturn {\n\t\t\t\teditorSidebarOpened: isSelected && currentIsEditorSidebarOpened,\n\t\t\t\tnumOfButtons: blockCount,\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSelected ]\n\t);\n\n\tconst { closeGeneralSidebar } = useDispatch( editPostStore );\n\tconst [ maxWidth, setMaxWidth ] = useState( INITIAL_MAX_WIDTH );\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ isButtonFocused, setIsButtonFocused ] = useState( true );\n\tconst [ placeholderTextWidth, setPlaceholderTextWidth ] = useState( 0 );\n\tconst [ borderRadiusUnit, setBorderRadiusUnit ] = useState( valueUnit );\n\n\tconst richTextRef = useRef();\n\tconst colors = useMobileGlobalStylesColors();\n\tconst gradients = useMobileGlobalStylesColors( 'gradients' );\n\n\tuseEffect( () => {\n\t\tif ( isSelected ) {\n\t\t\tonToggleButtonFocus( true );\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tonSetMaxWidth( null, true );\n\t}, [ parentWidth ] );\n\n\tuseEffect( () => {\n\t\t// Blur `RichText` on Android when link settings sheet or button settings sheet is opened,\n\t\t// to avoid flashing caret after closing one of them\n\t\tconst richText = richTextRef?.current;\n\t\tif ( Platform.OS === 'android' && richText ) {\n\t\t\tif ( editorSidebarOpened || isLinkSheetVisible ) {\n\t\t\t\trichText.blur();\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t} else {\n\t\t\t\tonToggleButtonFocus( true );\n\t\t\t}\n\t\t}\n\t}, [ editorSidebarOpened, isLinkSheetVisible ] );\n\n\tuseEffect( () => {\n\t\tif ( richTextRef?.current ) {\n\t\t\tif ( ! isSelected && isButtonFocused ) {\n\t\t\t\tonToggleButtonFocus( false );\n\t\t\t}\n\n\t\t\tif ( isSelected && ! isButtonFocused ) {\n\t\t\t\tAccessibilityInfo.isScreenReaderEnabled().then( ( enabled ) => {\n\t\t\t\t\tif ( enabled ) {\n\t\t\t\t\t\tonToggleButtonFocus( true );\n\t\t\t\t\t\trichTextRef?.current.focus();\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [ isSelected, isButtonFocused ] );\n\n\tconst linkSettingsActions = [\n\t\t{\n\t\t\tlabel: __( 'Remove link' ),\n\t\t\tonPress: onClearSettings,\n\t\t},\n\t];\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tlabel: __( 'Button Link URL' ),\n\t\t\tplaceholder: __( 'Add URL' ),\n\t\t\tautoFocus: true,\n\t\t\tautoFill: false,\n\t\t},\n\t\topenInNewTab: {\n\t\t\tlabel: __( 'Open in new tab' ),\n\t\t},\n\t\tlinkRel: {\n\t\t\tlabel: __( 'Link Rel' ),\n\t\t\tplaceholder: _x( 'None', 'Link rel attribute value placeholder' ),\n\t\t},\n\t};\n\n\tconst noFocusLinkSettingOptions = {\n\t\t...linkSettingsOptions,\n\t\turl: {\n\t\t\t...linkSettingsOptions.url,\n\t\t\tautoFocus: false,\n\t\t},\n\t};\n\n\tfunction getBackgroundColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst { backgroundColor, gradient } = attributes;\n\n\t\t// Return named gradient value if available.\n\t\tconst gradientValue = getGradientValueBySlug( gradients, gradient );\n\n\t\tif ( gradientValue ) {\n\t\t\treturn gradientValue;\n\t\t}\n\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tbackgroundColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.backgroundColor ||\n\t\t\tcolorProps.style?.background ||\n\t\t\tstyle?.backgroundColor ||\n\t\t\tstyles.defaultButton.backgroundColor\n\t\t);\n\t}\n\n\tfunction getTextColor() {\n\t\tconst { attributes, style } = props;\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\n\t\t// Retrieve named color object to force inline styles for themes that\n\t\t// do not load their color stylesheets in the editor.\n\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tattributes.textColor\n\t\t);\n\n\t\treturn (\n\t\t\tcolorObject?.color ||\n\t\t\tcolorProps.style?.color ||\n\t\t\tstyle?.color ||\n\t\t\tstyles.defaultButton.color\n\t\t);\n\t}\n\n\tfunction onChangeText( value ) {\n\t\tconst { setAttributes } = props;\n\t\tsetAttributes( { text: value } );\n\t}\n\n\tfunction onChangeBorderRadius( newRadius ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newStyle = getNewStyle( style, newRadius, borderRadiusUnit );\n\n\t\tsetAttributes( { style: newStyle } );\n\t}\n\n\tfunction onChangeBorderRadiusUnit( newRadiusUnit ) {\n\t\tconst { setAttributes, attributes } = props;\n\t\tconst { style } = attributes;\n\t\tconst newBorderRadius = getBorderRadiusValue(\n\t\t\tattributes?.style?.border?.radius\n\t\t);\n\t\tconst newStyle = getNewStyle( style, newBorderRadius, newRadiusUnit );\n\t\tsetAttributes( { style: newStyle } );\n\t\tsetBorderRadiusUnit( newRadiusUnit );\n\t}\n\n\tfunction getNewStyle( style, radius, radiusUnit ) {\n\t\treturn {\n\t\t\t...style,\n\t\t\tborder: {\n\t\t\t\t...style?.border,\n\t\t\t\tradius: `${ radius }${ radiusUnit }`, // Store the value with the unit so that it works as expected.\n\t\t\t},\n\t\t};\n\t}\n\n\tfunction onShowLinkSettings() {\n\t\tsetIsLinkSheetVisible( true );\n\t}\n\n\tfunction onHideLinkSettings() {\n\t\tsetIsLinkSheetVisible( false );\n\t}\n\n\tfunction onToggleButtonFocus( value ) {\n\t\tif ( value !== isButtonFocused ) {\n\t\t\tsetIsButtonFocused( value );\n\t\t}\n\t}\n\n\tfunction onClearSettings() {\n\t\tconst { setAttributes } = props;\n\n\t\tsetAttributes( {\n\t\t\turl: '',\n\t\t\trel: '',\n\t\t\tlinkTarget: '',\n\t\t} );\n\n\t\tonHideLinkSettings();\n\t}\n\n\tfunction onLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tonSetMaxWidth( width );\n\t}\n\n\tconst onSetMaxWidth = useCallback(\n\t\t( width, isParentWidthDidChange = false ) => {\n\t\t\tconst { marginRight: spacing } = styles.defaultButton;\n\n\t\t\tconst isParentWidthChanged = isParentWidthDidChange\n\t\t\t\t? isParentWidthDidChange\n\t\t\t\t: maxWidth !== parentWidth;\n\t\t\tconst isWidthChanged = maxWidth !== width;\n\n\t\t\tif ( parentWidth && ! width && isParentWidthChanged ) {\n\t\t\t\tsetMaxWidth( parentWidth - spacing );\n\t\t\t} else if ( ! parentWidth && width && isWidthChanged ) {\n\t\t\t\tsetMaxWidth( width - spacing );\n\t\t\t}\n\t\t},\n\t\t[ maxWidth, parentWidth ]\n\t);\n\n\tfunction onRemove() {\n\t\tconst { onDeleteBlock, onReplace } = props;\n\n\t\tif ( numOfButtons === 1 ) {\n\t\t\tonDeleteBlock();\n\t\t} else {\n\t\t\tonReplace( [] );\n\t\t}\n\t}\n\n\tfunction onPlaceholderTextWidth( { nativeEvent } ) {\n\t\tconst textWidth =\n\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\n\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\tsetPlaceholderTextWidth( Math.min( textWidth, maxWidth ) );\n\t\t}\n\t}\n\n\tconst onSetRef = useCallback(\n\t\t( ref ) => {\n\t\t\trichTextRef.current = ref;\n\t\t},\n\t\t[ richTextRef ]\n\t);\n\n\tconst onUnstableOnFocus = useCallback( () => {\n\t\tonToggleButtonFocus( true );\n\t}, [] );\n\n\tconst onBlur = useCallback( () => {\n\t\tonSetMaxWidth();\n\t}, [] );\n\n\tfunction dismissSheet() {\n\t\tonHideLinkSettings();\n\t\tcloseGeneralSidebar();\n\t}\n\n\tfunction getLinkSettings( isCompatibleWithSettings ) {\n\t\tconst { attributes, setAttributes } = props;\n\t\treturn (\n\t\t\t<LinkSettingsNavigation\n\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\turl={ attributes.url }\n\t\t\t\trel={ attributes.rel }\n\t\t\t\tlinkTarget={ attributes.linkTarget }\n\t\t\t\tonClose={ dismissSheet }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\twithBottomSheet={ ! isCompatibleWithSettings }\n\t\t\t\thasPicker\n\t\t\t\tactions={ linkSettingsActions }\n\t\t\t\toptions={\n\t\t\t\t\tisCompatibleWithSettings\n\t\t\t\t\t\t? linkSettingsOptions\n\t\t\t\t\t\t: noFocusLinkSettingOptions\n\t\t\t\t}\n\t\t\t\tshowIcon={ ! isCompatibleWithSettings }\n\t\t\t/>\n\t\t);\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\tfunction getPlaceholderWidth( placeholderText ) {\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ onPlaceholderTextWidth }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tfunction getBorderRadiusValue( currentBorderRadius, defaultBorderRadius ) {\n\t\tconst valueAndUnit = getValueAndUnit( currentBorderRadius );\n\t\tif ( Number.isInteger( parseInt( valueAndUnit?.valueToConvert ) ) ) {\n\t\t\treturn parseFloat( valueAndUnit.valueToConvert );\n\t\t}\n\t\treturn defaultBorderRadius;\n\t}\n\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tsetAttributes,\n\t\tstyle,\n\t} = props;\n\tconst {\n\t\tplaceholder,\n\t\ttext,\n\t\tstyle: buttonStyle,\n\t\turl,\n\t\talign = 'center',\n\t\twidth,\n\t} = attributes;\n\tconst { paddingTop: spacing, borderWidth } = styles.defaultButton;\n\n\tif ( parentWidth === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst currentBorderRadius = buttonStyle?.border?.radius;\n\tconst borderRadiusValue = getBorderRadiusValue(\n\t\tcurrentBorderRadius,\n\t\tstyles.defaultButton.borderRadius\n\t);\n\n\tconst buttonBorderRadiusValue =\n\t\tborderRadiusUnit === 'px' || borderRadiusUnit === '%'\n\t\t\t? borderRadiusValue\n\t\t\t: Math.floor( 14 * borderRadiusValue ); // Lets assume that the font size is set to 14px; TO get a nicer preview.\n\tconst outlineBorderRadius =\n\t\tbuttonBorderRadiusValue > 0\n\t\t\t? buttonBorderRadiusValue + spacing + borderWidth\n\t\t\t: 0;\n\n\t// To achieve proper expanding and shrinking `RichText` on iOS, there is a need to set a `minWidth`\n\t// value at least on 1 when `RichText` is focused or when is not focused, but `RichText` value is\n\t// different than empty string.\n\tlet minWidth =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? MIN_WIDTH\n\t\t\t: placeholderTextWidth;\n\tif ( width ) {\n\t\t// Set the width of the button.\n\t\tminWidth = Math.floor(\n\t\t\tmaxWidth * ( width / 100 ) - MIN_WIDTH_MARGINS[ width ]\n\t\t);\n\t}\n\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t// a `placeholder` as an empty string when `RichText` is focused,\n\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\tconst placeholderText =\n\t\tisButtonFocused || ( ! isButtonFocused && text && text !== '' )\n\t\t\t? ''\n\t\t\t: placeholder || __( 'Add text…' );\n\n\tconst backgroundColor = getBackgroundColor();\n\tconst textColor = getTextColor();\n\tconst isFixedWidth = !! width;\n\tconst outLineStyles = [\n\t\tstyles.outline,\n\t\t{\n\t\t\tborderRadius: outlineBorderRadius,\n\t\t\tborderColor: backgroundColor,\n\t\t},\n\t];\n\tconst textStyles = {\n\t\t...richTextStyle.richText,\n\t\tpaddingLeft: isFixedWidth ? 0 : richTextStyle.richText.paddingLeft,\n\t\tpaddingRight: isFixedWidth ? 0 : richTextStyle.richText.paddingRight,\n\t\tcolor: textColor,\n\t};\n\n\treturn (\n\t\t<View onLayout={ onLayout }>\n\t\t\t{ getPlaceholderWidth( placeholderText ) }\n\t\t\t<ColorBackground\n\t\t\t\tborderRadiusValue={ buttonBorderRadiusValue }\n\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t>\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<View pointerEvents=\"none\" style={ outLineStyles } />\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\tsetRef={ onSetRef }\n\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ onChangeText }\n\t\t\t\t\tstyle={ textStyles }\n\t\t\t\t\ttextAlign={ align }\n\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\tstyle?.color || styles.placeholderTextColor.color\n\t\t\t\t\t}\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\tminWidth={ minWidth } // The minimum Button size.\n\t\t\t\t\tmaxWidth={ isFixedWidth ? minWidth : maxWidth } // The width of the screen.\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tisSelected={ isButtonFocused }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tunstableOnFocus={ onUnstableOnFocus }\n\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\tselectionColor={ textColor }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonRemove={ onRemove }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tfontSize={ style?.fontSize }\n\t\t\t\t/>\n\t\t\t</ColorBackground>\n\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\ttitle={ __( 'Edit link' ) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onShowLinkSettings }\n\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t{ getLinkSettings( false ) }\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Border Settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Border Radius' ) }\n\t\t\t\t\t\t\t\tmin={ MIN_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tmax={ MAX_BORDER_RADIUS_VALUE }\n\t\t\t\t\t\t\t\tvalue={ borderRadiusValue }\n\t\t\t\t\t\t\t\tonChange={ onChangeBorderRadius }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeBorderRadiusUnit }\n\t\t\t\t\t\t\t\tunit={ borderRadiusUnit }\n\t\t\t\t\t\t\t\tunits={ filterUnitsWithSettings(\n\t\t\t\t\t\t\t\t\t[ 'px', 'em', 'rem' ],\n\t\t\t\t\t\t\t\t\tCSS_UNITS\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<WidthPanel\n\t\t\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<PanelBody title={ __( 'Link Settings' ) }>\n\t\t\t\t\t\t\t{ getLinkSettings( true ) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</View>\n\t);\n}\n\nexport default ButtonEdit;\n"]}
@@ -34,14 +34,15 @@ function CategoriesEdit(_ref) {
34
34
  displayAsDropdown,
35
35
  showHierarchy,
36
36
  showPostCounts,
37
- showOnlyTopLevel
37
+ showOnlyTopLevel,
38
+ showEmpty
38
39
  },
39
40
  setAttributes
40
41
  } = _ref;
41
42
  const selectId = (0, _compose.useInstanceId)(CategoriesEdit, 'blocks-category-select');
42
43
  const query = {
43
44
  per_page: -1,
44
- hide_empty: true,
45
+ hide_empty: !showEmpty,
45
46
  context: 'view'
46
47
  };
47
48
 
@@ -135,7 +136,7 @@ function CategoriesEdit(_ref) {
135
136
  };
136
137
 
137
138
  return (0, _element.createElement)("div", (0, _blockEditor.useBlockProps)(), (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
138
- title: (0, _i18n.__)('Categories settings')
139
+ title: (0, _i18n.__)('Settings')
139
140
  }, (0, _element.createElement)(_components.ToggleControl, {
140
141
  label: (0, _i18n.__)('Display as dropdown'),
141
142
  checked: displayAsDropdown,
@@ -148,6 +149,10 @@ function CategoriesEdit(_ref) {
148
149
  label: (0, _i18n.__)('Show only top level categories'),
149
150
  checked: showOnlyTopLevel,
150
151
  onChange: toggleAttribute('showOnlyTopLevel')
152
+ }), (0, _element.createElement)(_components.ToggleControl, {
153
+ label: (0, _i18n.__)('Show empty categories'),
154
+ checked: showEmpty,
155
+ onChange: toggleAttribute('showEmpty')
151
156
  }), !showOnlyTopLevel && (0, _element.createElement)(_components.ToggleControl, {
152
157
  label: (0, _i18n.__)('Show hierarchy'),
153
158
  checked: showHierarchy,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/categories/edit.js"],"names":["CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","setAttributes","selectId","query","per_page","hide_empty","context","parent","records","categories","isResolving","getCategoriesList","parentId","length","filter","getCategoryListClassName","level","toggleAttribute","attributeName","newValue","renderCategoryName","name","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","childCategory","renderCategoryDropdown","renderCategoryDropdownItem","pin"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { times, unescape } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { __experimentalUseEntityRecords as useEntityRecords } from '@wordpress/core-data';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t},\n\tsetAttributes,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\tconst query = { per_page: -1, hide_empty: true, context: 'view' };\n\tif ( showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\t'category',\n\t\tquery\n\t);\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\tconst getCategoryListClassName = ( level ) => {\n\t\treturn `wp-block-categories__list wp-block-categories__list-level-${ level }`;\n\t};\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : unescape( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<ul className={ getCategoryListClassName( 0 ) }>\n\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\trenderCategoryListItem( category, 0 )\n\t\t\t\t) }\n\t\t\t</ul>\n\t\t);\n\t};\n\tconst renderCategoryListItem = ( category, level ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id }>\n\t\t\t\t<a href={ link } target=\"_blank\" rel=\"noreferrer noopener\">\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && (\n\t\t\t\t\t<span className=\"wp-block-categories__post-count\">\n\t\t\t\t\t\t{ ` (${ count })` }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ showHierarchy && !! childCategories.length && (\n\t\t\t\t\t<ul className={ getCategoryListClassName( level + 1 ) }>\n\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\trenderCategoryListItem( childCategory, level + 1 )\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ul>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ selectId }>\n\t\t\t\t\t{ __( 'Categories' ) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<select\n\t\t\t\t\tid={ selectId }\n\t\t\t\t\tclassName=\"wp-block-categories__dropdown\"\n\t\t\t\t>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id }>\n\t\t\t\t{ times( level * 3, () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\treturn (\n\t\t<div { ...useBlockProps() }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Categories settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show only top level categories' ) }\n\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showOnlyTopLevel' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Categories' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isResolving && categories?.length === 0 && (\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Your site does not have any posts, so there is nothing to display here at the moment.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ ! isResolving &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/categories/edit.js"],"names":["CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","setAttributes","selectId","query","per_page","hide_empty","context","parent","records","categories","isResolving","getCategoriesList","parentId","length","filter","getCategoryListClassName","level","toggleAttribute","attributeName","newValue","renderCategoryName","name","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","childCategory","renderCategoryDropdown","renderCategoryDropdownItem","pin"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { times, unescape } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { __experimentalUseEntityRecords as useEntityRecords } from '@wordpress/core-data';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t\tshowEmpty,\n\t},\n\tsetAttributes,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\t'category',\n\t\tquery\n\t);\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\tconst getCategoryListClassName = ( level ) => {\n\t\treturn `wp-block-categories__list wp-block-categories__list-level-${ level }`;\n\t};\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : unescape( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<ul className={ getCategoryListClassName( 0 ) }>\n\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\trenderCategoryListItem( category, 0 )\n\t\t\t\t) }\n\t\t\t</ul>\n\t\t);\n\t};\n\tconst renderCategoryListItem = ( category, level ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id }>\n\t\t\t\t<a href={ link } target=\"_blank\" rel=\"noreferrer noopener\">\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && (\n\t\t\t\t\t<span className=\"wp-block-categories__post-count\">\n\t\t\t\t\t\t{ ` (${ count })` }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ showHierarchy && !! childCategories.length && (\n\t\t\t\t\t<ul className={ getCategoryListClassName( level + 1 ) }>\n\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\trenderCategoryListItem( childCategory, level + 1 )\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ul>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ selectId }>\n\t\t\t\t\t{ __( 'Categories' ) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<select\n\t\t\t\t\tid={ selectId }\n\t\t\t\t\tclassName=\"wp-block-categories__dropdown\"\n\t\t\t\t>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id }>\n\t\t\t\t{ times( level * 3, () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\treturn (\n\t\t<div { ...useBlockProps() }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show only top level categories' ) }\n\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showOnlyTopLevel' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show empty categories' ) }\n\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! showOnlyTopLevel && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Categories' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isResolving && categories?.length === 0 && (\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Your site does not have any posts, so there is nothing to display here at the moment.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ ! isResolving &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</div>\n\t);\n}\n"]}
@@ -42,6 +42,10 @@ const metadata = {
42
42
  showOnlyTopLevel: {
43
43
  type: "boolean",
44
44
  "default": false
45
+ },
46
+ showEmpty: {
47
+ type: "boolean",
48
+ "default": false
45
49
  }
46
50
  },
47
51
  supports: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/categories/index.js"],"names":["name","metadata","settings","icon","example","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,eADuB;AAEvBC,EAAAA,OAAO,EAAE,EAFc;AAGvBC,EAAAA,IAAI,EAAJA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { category as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/categories/index.js"],"names":["name","metadata","settings","icon","example","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,eADuB;AAEvBC,EAAAA,OAAO,EAAE,EAFc;AAGvBC,EAAAA,IAAI,EAAJA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { category as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n};\n"]}
@@ -65,6 +65,16 @@ const metadata = {
65
65
  padding: true
66
66
  }
67
67
  },
68
+ __experimentalBorder: {
69
+ color: true,
70
+ style: true,
71
+ width: true,
72
+ __experimentalDefaultControls: {
73
+ color: true,
74
+ style: true,
75
+ width: true
76
+ }
77
+ },
68
78
  __experimentalLayout: true
69
79
  }
70
80
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/column/index.js"],"names":["name","metadata","settings","icon","edit","save","deprecated"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AAEA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,IAAI,EAAJA,aAFuB;AAGvBC,EAAAA,IAAI,EAAJA,aAHuB;AAIvBC,EAAAA,UAAU,EAAVA;AAJuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { column as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/column/index.js"],"names":["name","metadata","settings","icon","edit","save","deprecated"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AAEA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,IAAI,EAAJA,aAFuB;AAGvBC,EAAAA,IAAI,EAAJA,aAHuB;AAIvBC,EAAAA,UAAU,EAAVA;AAJuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { column as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
@@ -275,9 +275,7 @@ function CommentTemplateEdit(_ref6) {
275
275
  }
276
276
 
277
277
  if (!commentTree.length) {
278
- return (0, _element.createElement)("p", (0, _extends2.default)({}, blockProps, {
279
- "data-testid": "noresults"
280
- }), (0, _i18n.__)('No results found.'));
278
+ return (0, _element.createElement)("p", blockProps, (0, _i18n.__)('No results found.'));
281
279
  }
282
280
 
283
281
  return (0, _element.createElement)(CommentsList, {