@wordpress/block-library 8.18.0 → 8.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (393) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +1 -1
  3. package/build/block/edit.js +53 -2
  4. package/build/block/edit.js.map +1 -1
  5. package/build/button/edit.js +7 -4
  6. package/build/button/edit.js.map +1 -1
  7. package/build/button/index.js +11 -2
  8. package/build/button/index.js.map +1 -1
  9. package/build/button/save.js +10 -4
  10. package/build/button/save.js.map +1 -1
  11. package/build/buttons/edit.js +12 -3
  12. package/build/buttons/edit.js.map +1 -1
  13. package/build/code/edit.js +8 -2
  14. package/build/code/edit.js.map +1 -1
  15. package/build/code/index.js +7 -1
  16. package/build/code/index.js.map +1 -1
  17. package/build/column/edit.native.js +5 -5
  18. package/build/column/edit.native.js.map +1 -1
  19. package/build/column/index.js +1 -0
  20. package/build/column/index.js.map +1 -1
  21. package/build/columns/index.js +2 -0
  22. package/build/columns/index.js.map +1 -1
  23. package/build/file/edit.native.js +1 -1
  24. package/build/file/edit.native.js.map +1 -1
  25. package/build/file/index.js +2 -1
  26. package/build/file/index.js.map +1 -1
  27. package/build/file/utils/index.js +1 -15
  28. package/build/file/utils/index.js.map +1 -1
  29. package/build/file/view.js +14 -1
  30. package/build/file/view.js.map +1 -1
  31. package/build/footnotes/edit.js +14 -5
  32. package/build/footnotes/edit.js.map +1 -1
  33. package/build/gallery/edit.js +1 -1
  34. package/build/gallery/edit.js.map +1 -1
  35. package/build/group/edit.js +0 -1
  36. package/build/group/edit.js.map +1 -1
  37. package/build/group/index.js +5 -0
  38. package/build/group/index.js.map +1 -1
  39. package/build/heading/edit.js +0 -1
  40. package/build/heading/edit.js.map +1 -1
  41. package/build/heading/index.js +2 -0
  42. package/build/heading/index.js.map +1 -1
  43. package/build/heading/transforms.js +3 -6
  44. package/build/heading/transforms.js.map +1 -1
  45. package/build/image/deprecated.js +191 -7
  46. package/build/image/deprecated.js.map +1 -1
  47. package/build/image/edit.js +27 -12
  48. package/build/image/edit.js.map +1 -1
  49. package/build/image/image.js +75 -40
  50. package/build/image/image.js.map +1 -1
  51. package/build/image/index.js +7 -4
  52. package/build/image/index.js.map +1 -1
  53. package/build/image/{view-interactivity.js → view.js} +1 -1
  54. package/build/image/view.js.map +1 -0
  55. package/build/list/deprecated.js +93 -1
  56. package/build/list/deprecated.js.map +1 -1
  57. package/build/list/edit.js +10 -10
  58. package/build/list/edit.js.map +1 -1
  59. package/build/list/ordered-list-settings.js +10 -10
  60. package/build/list/ordered-list-settings.js.map +1 -1
  61. package/build/list/save.js +4 -2
  62. package/build/list/save.js.map +1 -1
  63. package/build/list/utils.js +21 -2
  64. package/build/list/utils.js.map +1 -1
  65. package/build/navigation/constants.js +1 -1
  66. package/build/navigation/constants.js.map +1 -1
  67. package/build/navigation/index.js +4 -2
  68. package/build/navigation/index.js.map +1 -1
  69. package/build/navigation/view.js +168 -82
  70. package/build/navigation/view.js.map +1 -1
  71. package/build/navigation-link/edit.js +3 -9
  72. package/build/navigation-link/edit.js.map +1 -1
  73. package/build/navigation-link/transforms.js +24 -0
  74. package/build/navigation-link/transforms.js.map +1 -1
  75. package/build/page-list/edit.js +2 -1
  76. package/build/page-list/edit.js.map +1 -1
  77. package/build/post-comments-form/edit.js +10 -2
  78. package/build/post-comments-form/edit.js.map +1 -1
  79. package/build/post-comments-form/form.js +5 -3
  80. package/build/post-comments-form/form.js.map +1 -1
  81. package/build/post-content/edit.js +8 -7
  82. package/build/post-content/edit.js.map +1 -1
  83. package/build/post-content/index.js +3 -0
  84. package/build/post-content/index.js.map +1 -1
  85. package/build/post-featured-image/overlay.js +2 -1
  86. package/build/post-featured-image/overlay.js.map +1 -1
  87. package/build/post-terms/use-post-terms.js +3 -2
  88. package/build/post-terms/use-post-terms.js.map +1 -1
  89. package/build/preformatted/edit.js +4 -1
  90. package/build/preformatted/edit.js.map +1 -1
  91. package/build/preformatted/index.js +1 -1
  92. package/build/preformatted/index.js.map +1 -1
  93. package/build/pullquote/deprecated.js +6 -7
  94. package/build/pullquote/deprecated.js.map +1 -1
  95. package/build/query/edit/enhanced-pagination-modal.js +56 -0
  96. package/build/query/edit/enhanced-pagination-modal.js.map +1 -0
  97. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +42 -0
  98. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -0
  99. package/build/query/edit/inspector-controls/index.js +8 -25
  100. package/build/query/edit/inspector-controls/index.js.map +1 -1
  101. package/build/query/edit/query-content.js +8 -2
  102. package/build/query/edit/query-content.js.map +1 -1
  103. package/build/query/utils.js +19 -0
  104. package/build/query/utils.js.map +1 -1
  105. package/build/query/view.js +4 -5
  106. package/build/query/view.js.map +1 -1
  107. package/build/search/index.js +1 -0
  108. package/build/search/index.js.map +1 -1
  109. package/build/search/view.js +81 -150
  110. package/build/search/view.js.map +1 -1
  111. package/build/social-link/edit.native.js +3 -1
  112. package/build/social-link/edit.native.js.map +1 -1
  113. package/build/table/edit.js +7 -7
  114. package/build/table/edit.js.map +1 -1
  115. package/build/table-of-contents/edit.js +2 -130
  116. package/build/table-of-contents/edit.js.map +1 -1
  117. package/build/table-of-contents/hooks.js +145 -0
  118. package/build/table-of-contents/hooks.js.map +1 -0
  119. package/build/table-of-contents/index.js +2 -1
  120. package/build/table-of-contents/index.js.map +1 -1
  121. package/build/verse/edit.js +4 -1
  122. package/build/verse/edit.js.map +1 -1
  123. package/build/verse/index.js +1 -1
  124. package/build/verse/index.js.map +1 -1
  125. package/build-module/block/edit.js +54 -3
  126. package/build-module/block/edit.js.map +1 -1
  127. package/build-module/button/edit.js +7 -4
  128. package/build-module/button/edit.js.map +1 -1
  129. package/build-module/button/index.js +11 -2
  130. package/build-module/button/index.js.map +1 -1
  131. package/build-module/button/save.js +10 -4
  132. package/build-module/button/save.js.map +1 -1
  133. package/build-module/buttons/edit.js +12 -3
  134. package/build-module/buttons/edit.js.map +1 -1
  135. package/build-module/code/edit.js +8 -2
  136. package/build-module/code/edit.js.map +1 -1
  137. package/build-module/code/index.js +7 -1
  138. package/build-module/code/index.js.map +1 -1
  139. package/build-module/column/edit.native.js +5 -5
  140. package/build-module/column/edit.native.js.map +1 -1
  141. package/build-module/column/index.js +1 -0
  142. package/build-module/column/index.js.map +1 -1
  143. package/build-module/columns/index.js +2 -0
  144. package/build-module/columns/index.js.map +1 -1
  145. package/build-module/file/edit.native.js +1 -1
  146. package/build-module/file/edit.native.js.map +1 -1
  147. package/build-module/file/index.js +2 -1
  148. package/build-module/file/index.js.map +1 -1
  149. package/build-module/file/utils/index.js +0 -13
  150. package/build-module/file/utils/index.js.map +1 -1
  151. package/build-module/file/view.js +14 -2
  152. package/build-module/file/view.js.map +1 -1
  153. package/build-module/footnotes/edit.js +14 -5
  154. package/build-module/footnotes/edit.js.map +1 -1
  155. package/build-module/gallery/edit.js +1 -1
  156. package/build-module/gallery/edit.js.map +1 -1
  157. package/build-module/group/edit.js +0 -1
  158. package/build-module/group/edit.js.map +1 -1
  159. package/build-module/group/index.js +5 -0
  160. package/build-module/group/index.js.map +1 -1
  161. package/build-module/heading/edit.js +0 -1
  162. package/build-module/heading/edit.js.map +1 -1
  163. package/build-module/heading/index.js +2 -0
  164. package/build-module/heading/index.js.map +1 -1
  165. package/build-module/heading/transforms.js +3 -6
  166. package/build-module/heading/transforms.js.map +1 -1
  167. package/build-module/image/deprecated.js +191 -7
  168. package/build-module/image/deprecated.js.map +1 -1
  169. package/build-module/image/edit.js +27 -12
  170. package/build-module/image/edit.js.map +1 -1
  171. package/build-module/image/image.js +77 -42
  172. package/build-module/image/image.js.map +1 -1
  173. package/build-module/image/index.js +7 -4
  174. package/build-module/image/index.js.map +1 -1
  175. package/build-module/image/{view-interactivity.js → view.js} +1 -1
  176. package/build-module/image/view.js.map +1 -0
  177. package/build-module/list/deprecated.js +95 -3
  178. package/build-module/list/deprecated.js.map +1 -1
  179. package/build-module/list/edit.js +10 -10
  180. package/build-module/list/edit.js.map +1 -1
  181. package/build-module/list/ordered-list-settings.js +10 -10
  182. package/build-module/list/ordered-list-settings.js.map +1 -1
  183. package/build-module/list/save.js +4 -2
  184. package/build-module/list/save.js.map +1 -1
  185. package/build-module/list/utils.js +20 -2
  186. package/build-module/list/utils.js.map +1 -1
  187. package/build-module/navigation/constants.js +1 -1
  188. package/build-module/navigation/constants.js.map +1 -1
  189. package/build-module/navigation/index.js +4 -2
  190. package/build-module/navigation/index.js.map +1 -1
  191. package/build-module/navigation/view.js +168 -83
  192. package/build-module/navigation/view.js.map +1 -1
  193. package/build-module/navigation-link/edit.js +3 -9
  194. package/build-module/navigation-link/edit.js.map +1 -1
  195. package/build-module/navigation-link/transforms.js +24 -0
  196. package/build-module/navigation-link/transforms.js.map +1 -1
  197. package/build-module/page-list/edit.js +2 -1
  198. package/build-module/page-list/edit.js.map +1 -1
  199. package/build-module/post-comments-form/edit.js +10 -2
  200. package/build-module/post-comments-form/edit.js.map +1 -1
  201. package/build-module/post-comments-form/form.js +5 -3
  202. package/build-module/post-comments-form/form.js.map +1 -1
  203. package/build-module/post-content/edit.js +8 -7
  204. package/build-module/post-content/edit.js.map +1 -1
  205. package/build-module/post-content/index.js +3 -0
  206. package/build-module/post-content/index.js.map +1 -1
  207. package/build-module/post-featured-image/overlay.js +2 -1
  208. package/build-module/post-featured-image/overlay.js.map +1 -1
  209. package/build-module/post-terms/use-post-terms.js +3 -2
  210. package/build-module/post-terms/use-post-terms.js.map +1 -1
  211. package/build-module/preformatted/edit.js +4 -1
  212. package/build-module/preformatted/edit.js.map +1 -1
  213. package/build-module/preformatted/index.js +1 -1
  214. package/build-module/preformatted/index.js.map +1 -1
  215. package/build-module/pullquote/deprecated.js +6 -7
  216. package/build-module/pullquote/deprecated.js.map +1 -1
  217. package/build-module/query/edit/enhanced-pagination-modal.js +50 -0
  218. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -0
  219. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +35 -0
  220. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -0
  221. package/build-module/query/edit/inspector-controls/index.js +9 -26
  222. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  223. package/build-module/query/edit/query-content.js +8 -2
  224. package/build-module/query/edit/query-content.js.map +1 -1
  225. package/build-module/query/utils.js +17 -0
  226. package/build-module/query/utils.js.map +1 -1
  227. package/build-module/query/view.js +4 -5
  228. package/build-module/query/view.js.map +1 -1
  229. package/build-module/search/index.js +1 -0
  230. package/build-module/search/index.js.map +1 -1
  231. package/build-module/search/view.js +81 -151
  232. package/build-module/search/view.js.map +1 -1
  233. package/build-module/social-link/edit.native.js +3 -1
  234. package/build-module/social-link/edit.native.js.map +1 -1
  235. package/build-module/table/edit.js +7 -7
  236. package/build-module/table/edit.js.map +1 -1
  237. package/build-module/table-of-contents/edit.js +3 -131
  238. package/build-module/table-of-contents/edit.js.map +1 -1
  239. package/build-module/table-of-contents/hooks.js +137 -0
  240. package/build-module/table-of-contents/hooks.js.map +1 -0
  241. package/build-module/table-of-contents/index.js +2 -1
  242. package/build-module/table-of-contents/index.js.map +1 -1
  243. package/build-module/verse/edit.js +4 -1
  244. package/build-module/verse/edit.js.map +1 -1
  245. package/build-module/verse/index.js +1 -1
  246. package/build-module/verse/index.js.map +1 -1
  247. package/build-style/cover/style-rtl.css +9 -0
  248. package/build-style/cover/style.css +9 -0
  249. package/build-style/editor-rtl.css +15 -9
  250. package/build-style/editor.css +15 -9
  251. package/build-style/file/style-rtl.css +5 -0
  252. package/build-style/file/style.css +5 -0
  253. package/build-style/heading/style-rtl.css +13 -0
  254. package/build-style/heading/style.css +13 -0
  255. package/build-style/navigation-link/editor-rtl.css +0 -9
  256. package/build-style/navigation-link/editor.css +0 -9
  257. package/build-style/paragraph/editor-rtl.css +5 -0
  258. package/build-style/paragraph/editor.css +5 -0
  259. package/build-style/paragraph/style-rtl.css +5 -0
  260. package/build-style/paragraph/style.css +5 -0
  261. package/build-style/post-navigation-link/style-rtl.css +3 -0
  262. package/build-style/post-navigation-link/style.css +3 -0
  263. package/build-style/query/editor-rtl.css +10 -0
  264. package/build-style/query/editor.css +10 -0
  265. package/build-style/query/style-rtl.css +1 -1
  266. package/build-style/query/style.css +1 -1
  267. package/build-style/reset-rtl.css +27 -27
  268. package/build-style/reset.css +27 -27
  269. package/build-style/style-rtl.css +35 -0
  270. package/build-style/style.css +35 -0
  271. package/package.json +32 -33
  272. package/src/audio/test/__snapshots__/edit.native.js.snap +78 -106
  273. package/src/avatar/index.php +2 -2
  274. package/src/block/edit.js +58 -2
  275. package/src/block/test/edit.native.js +2 -3
  276. package/src/button/block.json +11 -2
  277. package/src/button/edit.js +27 -11
  278. package/src/button/save.js +10 -4
  279. package/src/buttons/edit.js +13 -3
  280. package/src/buttons/test/edit.native.js +28 -24
  281. package/src/calendar/index.php +2 -2
  282. package/src/code/block.json +2 -1
  283. package/src/code/edit.js +13 -1
  284. package/src/code/index.js +5 -0
  285. package/src/column/block.json +1 -0
  286. package/src/column/edit.native.js +4 -4
  287. package/src/columns/block.json +2 -0
  288. package/src/columns/test/__snapshots__/edit.native.js.snap +14 -0
  289. package/src/columns/test/edit.native.js +47 -17
  290. package/src/comment-template/index.php +1 -1
  291. package/src/comments-pagination-next/index.php +1 -1
  292. package/src/comments-pagination-previous/index.php +1 -1
  293. package/src/cover/style.scss +12 -1
  294. package/src/cover/test/edit.js +7 -7
  295. package/src/cover/test/edit.native.js +18 -27
  296. package/src/embed/test/index.native.js +30 -45
  297. package/src/file/block.json +2 -1
  298. package/src/file/edit.native.js +1 -1
  299. package/src/file/index.php +19 -21
  300. package/src/file/style.scss +6 -1
  301. package/src/file/test/__snapshots__/edit.native.js.snap +162 -218
  302. package/src/file/utils/index.js +0 -15
  303. package/src/file/view.js +14 -5
  304. package/src/footnotes/edit.js +16 -2
  305. package/src/gallery/edit.js +1 -1
  306. package/src/gallery/index.php +1 -1
  307. package/src/group/block.json +5 -0
  308. package/src/group/edit.js +0 -1
  309. package/src/heading/block.json +2 -0
  310. package/src/heading/edit.js +0 -1
  311. package/src/heading/style.scss +4 -0
  312. package/src/heading/transforms.js +1 -6
  313. package/src/image/block.json +7 -4
  314. package/src/image/deprecated.js +210 -7
  315. package/src/image/edit.js +43 -29
  316. package/src/image/image.js +86 -43
  317. package/src/image/index.php +251 -28
  318. package/src/latest-posts/index.php +1 -1
  319. package/src/list/deprecated.js +84 -3
  320. package/src/list/edit.js +6 -3
  321. package/src/list/ordered-list-settings.js +20 -5
  322. package/src/list/save.js +10 -1
  323. package/src/list/test/edit.native.js +2 -4
  324. package/src/list/utils.js +22 -1
  325. package/src/navigation/block.json +4 -2
  326. package/src/navigation/constants.js +1 -0
  327. package/src/navigation/index.php +85 -123
  328. package/src/navigation/view.js +192 -96
  329. package/src/navigation-link/edit.js +21 -36
  330. package/src/navigation-link/editor.scss +0 -8
  331. package/src/navigation-link/transforms.js +22 -0
  332. package/src/page-list/edit.js +2 -1
  333. package/src/paragraph/editor.scss +5 -0
  334. package/src/paragraph/style.scss +5 -0
  335. package/src/pattern/index.php +2 -2
  336. package/src/post-comments-form/edit.js +10 -0
  337. package/src/post-comments-form/form.js +7 -1
  338. package/src/post-content/block.json +3 -0
  339. package/src/post-content/edit.js +14 -6
  340. package/src/post-excerpt/index.php +2 -2
  341. package/src/post-featured-image/index.php +2 -2
  342. package/src/post-featured-image/overlay.js +1 -0
  343. package/src/post-navigation-link/index.php +5 -1
  344. package/src/post-navigation-link/style.scss +4 -0
  345. package/src/post-template/index.php +1 -1
  346. package/src/post-terms/index.php +5 -2
  347. package/src/post-terms/use-post-terms.js +4 -2
  348. package/src/preformatted/edit.js +5 -0
  349. package/src/preformatted/index.js +1 -1
  350. package/src/pullquote/deprecated.js +8 -13
  351. package/src/query/edit/enhanced-pagination-modal.js +65 -0
  352. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +49 -0
  353. package/src/query/edit/inspector-controls/index.js +9 -45
  354. package/src/query/edit/query-content.js +8 -0
  355. package/src/query/editor.scss +10 -0
  356. package/src/query/index.php +29 -16
  357. package/src/query/style.scss +2 -2
  358. package/src/query/utils.js +22 -0
  359. package/src/query/view.js +5 -5
  360. package/src/query-pagination-next/index.php +1 -1
  361. package/src/query-pagination-previous/index.php +1 -1
  362. package/src/reset.scss +1 -1
  363. package/src/search/block.json +1 -0
  364. package/src/search/index.php +45 -4
  365. package/src/search/test/__snapshots__/edit.native.js.snap +265 -363
  366. package/src/search/view.js +70 -169
  367. package/src/social-link/edit.native.js +1 -1
  368. package/src/social-link/editor.native.scss +4 -0
  369. package/src/table/edit.js +21 -19
  370. package/src/table-of-contents/block.json +2 -1
  371. package/src/table-of-contents/edit.js +5 -162
  372. package/src/table-of-contents/hooks.js +156 -0
  373. package/src/verse/edit.js +5 -0
  374. package/src/verse/index.js +1 -1
  375. package/src/verse/test/edit.native.js +2 -3
  376. package/build/file/view-interactivity.js +0 -22
  377. package/build/file/view-interactivity.js.map +0 -1
  378. package/build/image/view-interactivity.js.map +0 -1
  379. package/build/navigation/view-interactivity.js +0 -172
  380. package/build/navigation/view-interactivity.js.map +0 -1
  381. package/build/navigation/view-modal.js +0 -115
  382. package/build/navigation/view-modal.js.map +0 -1
  383. package/build-module/file/view-interactivity.js +0 -18
  384. package/build-module/file/view-interactivity.js.map +0 -1
  385. package/build-module/image/view-interactivity.js.map +0 -1
  386. package/build-module/navigation/view-interactivity.js +0 -169
  387. package/build-module/navigation/view-interactivity.js.map +0 -1
  388. package/build-module/navigation/view-modal.js +0 -112
  389. package/build-module/navigation/view-modal.js.map +0 -1
  390. package/src/file/view-interactivity.js +0 -18
  391. package/src/navigation/view-interactivity.js +0 -196
  392. package/src/navigation/view-modal.js +0 -127
  393. /package/src/image/{view-interactivity.js → view.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["View","Dimensions","withSelect","compose","withPreferredColorScheme","useEffect","useState","useCallback","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","InspectorControls","store","blockEditorStore","useSetting","PanelBody","FooterMessageControl","UnitControl","getValueAndUnit","__experimentalUseCustomUnits","useCustomUnits","__","styles","ColumnsPreview","getWidths","getWidthWithUnit","isPercentageUnit","ColumnEdit","attributes","setAttributes","hasChildren","isSelected","getStylesFromColorScheme","contentStyle","columns","selectedColumnIndex","parentAlignment","clientId","blockWidth","verticalAlignment","width","valueUnit","screenWidth","Math","floor","get","widthUnit","setWidthUnit","units","availableUnits","updateAlignment","alignment","onChangeWidth","nextWidth","widthWithUnit","onChangeUnit","nextUnit","widthWithoutUnit","parseFloat","onChange","renderAppender","columnWidth","isFullWidth","createElement","style","columnAppender","fullwidthColumnAppender","fullwidthHasInnerColumnAppender","hasInnerColumnAppender","ButtonBlockAppender","columnPlaceholder","columnPlaceholderDark","parentWidth","Fragment","value","title","label","min","max","undefined","onComplete","onUnitChange","unit","preview","columnWidths","innerBlocksBottomSpace","ColumnEditWrapper","props","getVerticalAlignmentRemap","flexBase","select","getBlockCount","getBlockRootClientId","getSelectedBlockClientId","getBlocks","getBlockOrder","getBlockAttributes","selectedBlockClientId","parentId","blockOrder","indexOf"],"sources":["@wordpress/block-library/src/column/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport {\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport ColumnsPreview from './column-preview';\nimport {\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from '../columns/utils';\n\nfunction ColumnEdit( {\n\tattributes,\n\tsetAttributes,\n\thasChildren,\n\tisSelected,\n\tgetStylesFromColorScheme,\n\tcontentStyle,\n\tcolumns,\n\tselectedColumnIndex,\n\tparentAlignment,\n\tclientId,\n\tblockWidth,\n} ) {\n\tif ( ! contentStyle ) {\n\t\tcontentStyle = { [ clientId ]: {} };\n\t}\n\n\tconst { verticalAlignment, width } = attributes;\n\tconst { valueUnit = '%' } = getValueAndUnit( width ) || {};\n\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\n\tconst [ widthUnit, setWidthUnit ] = useState( valueUnit || '%' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst updateAlignment = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tuseEffect( () => {\n\t\tsetWidthUnit( valueUnit );\n\t}, [ valueUnit ] );\n\n\tuseEffect( () => {\n\t\tif ( ! verticalAlignment && parentAlignment ) {\n\t\t\tupdateAlignment( parentAlignment );\n\t\t}\n\t}, [] );\n\n\tconst onChangeWidth = ( nextWidth ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, widthUnit );\n\n\t\tsetAttributes( {\n\t\t\twidth: widthWithUnit,\n\t\t} );\n\t};\n\n\tconst onChangeUnit = ( nextUnit ) => {\n\t\tsetWidthUnit( nextUnit );\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\twidth || getWidths( columns )[ selectedColumnIndex ]\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\twidth: getWidthWithUnit( widthWithoutUnit, nextUnit ),\n\t\t} );\n\t};\n\n\tconst onChange = ( nextWidth ) => {\n\t\tif ( isPercentageUnit( widthUnit ) || ! widthUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth );\n\t};\n\n\tconst renderAppender = useCallback( () => {\n\t\tconst { width: columnWidth } = contentStyle[ clientId ];\n\t\tconst isFullWidth = columnWidth === screenWidth;\n\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles.columnAppender,\n\t\t\t\t\t\tisFullWidth && styles.fullwidthColumnAppender,\n\t\t\t\t\t\tisFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.fullwidthHasInnerColumnAppender,\n\t\t\t\t\t\t! isFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.hasInnerColumnAppender,\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}, [ contentStyle[ clientId ], screenWidth, isSelected, hasChildren ] );\n\n\tif ( ! isSelected && ! hasChildren ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\tstyles.columnPlaceholder,\n\t\t\t\t\t\tstyles.columnPlaceholderDark\n\t\t\t\t\t),\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst parentWidth =\n\t\tcontentStyle &&\n\t\tcontentStyle[ clientId ] &&\n\t\tcontentStyle[ clientId ].width;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Column settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonComplete={ onChangeWidth }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tgetWidths( columns )[ selectedColumnIndex ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tpreview={\n\t\t\t\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\t\t\t\tcolumnWidths={ getWidths(\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tselectedColumnIndex={\n\t\t\t\t\t\t\t\t\t\t\tselectedColumnIndex\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\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</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisSelected && hasChildren && styles.innerBlocksBottomSpace,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nfunction ColumnEditWrapper( props ) {\n\tconst { verticalAlignment } = props.attributes;\n\n\tconst getVerticalAlignmentRemap = ( alignment ) => {\n\t\tif ( ! alignment ) return styles.flexBase;\n\t\treturn {\n\t\t\t...styles.flexBase,\n\t\t\t...styles[ `is-vertically-aligned-${ alignment }` ],\n\t\t};\n\t};\n\n\treturn (\n\t\t<View style={ getVerticalAlignmentRemap( verticalAlignment ) }>\n\t\t\t<ColumnEdit { ...props } />\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockCount,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isSelected = selectedBlockClientId === clientId;\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst hasChildren = !! getBlockCount( clientId );\n\n\t\tconst blockOrder = getBlockOrder( parentId );\n\n\t\tconst selectedColumnIndex = blockOrder.indexOf( clientId );\n\t\tconst columns = getBlocks( parentId );\n\n\t\tconst parentAlignment =\n\t\t\tgetBlockAttributes( parentId )?.verticalAlignment;\n\n\t\treturn {\n\t\t\thasChildren,\n\t\t\tisSelected,\n\t\t\tselectedColumnIndex,\n\t\t\tcolumns,\n\t\t\tparentAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( ColumnEditWrapper );\n"],"mappings":"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"}
1
+ {"version":3,"names":["View","Dimensions","withSelect","compose","withPreferredColorScheme","useEffect","useState","useCallback","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","InspectorControls","store","blockEditorStore","useSetting","PanelBody","FooterMessageControl","UnitControl","getValueAndUnit","__experimentalUseCustomUnits","useCustomUnits","__","styles","ColumnsPreview","getWidths","getWidthWithUnit","isPercentageUnit","ColumnEdit","attributes","setAttributes","hasChildren","isSelected","getStylesFromColorScheme","contentStyle","columns","selectedColumnIndex","parentAlignment","clientId","blockWidth","verticalAlignment","width","valueUnit","screenWidth","Math","floor","get","widthUnit","setWidthUnit","units","availableUnits","updateAlignment","alignment","onChangeWidth","nextWidth","widthWithUnit","onChangeUnit","nextUnit","widthWithoutUnit","parseFloat","onChange","renderAppender","columnWidth","isFullWidth","createElement","style","columnAppender","fullwidthColumnAppender","fullwidthHasInnerColumnAppender","hasInnerColumnAppender","ButtonBlockAppender","columnPlaceholder","columnPlaceholderDark","parentWidth","Fragment","value","title","label","min","max","undefined","onComplete","onUnitChange","unit","preview","columnWidths","innerBlocksBottomSpace","ColumnEditWrapper","props","getVerticalAlignmentRemap","flexBase","select","getBlockCount","getBlockRootClientId","getSelectedBlockClientId","getBlocks","getBlockOrder","getBlockAttributes","selectedBlockClientId","parentId","blockOrder","indexOf"],"sources":["@wordpress/block-library/src/column/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport {\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport ColumnsPreview from './column-preview';\nimport {\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from '../columns/utils';\n\nfunction ColumnEdit( {\n\tattributes,\n\tsetAttributes,\n\thasChildren,\n\tisSelected,\n\tgetStylesFromColorScheme,\n\tcontentStyle,\n\tcolumns,\n\tselectedColumnIndex,\n\tparentAlignment,\n\tclientId,\n\tblockWidth,\n} ) {\n\tif ( ! contentStyle ) {\n\t\tcontentStyle = { [ clientId ]: {} };\n\t}\n\n\tconst { verticalAlignment, width } = attributes;\n\tconst { valueUnit = '%' } = getValueAndUnit( width ) || {};\n\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\n\tconst [ widthUnit, setWidthUnit ] = useState( valueUnit || '%' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst updateAlignment = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tuseEffect( () => {\n\t\tsetWidthUnit( valueUnit );\n\t}, [ valueUnit ] );\n\n\tuseEffect( () => {\n\t\tif ( ! verticalAlignment && parentAlignment ) {\n\t\t\tupdateAlignment( parentAlignment );\n\t\t}\n\t}, [] );\n\n\tconst onChangeWidth = ( nextWidth ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, widthUnit );\n\n\t\tsetAttributes( {\n\t\t\twidth: widthWithUnit,\n\t\t} );\n\t};\n\n\tconst onChangeUnit = ( nextUnit ) => {\n\t\tsetWidthUnit( nextUnit );\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\twidth || getWidths( columns )[ selectedColumnIndex ]\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\twidth: getWidthWithUnit( widthWithoutUnit, nextUnit ),\n\t\t} );\n\t};\n\n\tconst onChange = ( nextWidth ) => {\n\t\tif ( isPercentageUnit( widthUnit ) || ! widthUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth );\n\t};\n\n\tconst renderAppender = useCallback( () => {\n\t\tif ( isSelected ) {\n\t\t\tconst { width: columnWidth } = contentStyle[ clientId ] || {};\n\t\t\tconst isFullWidth = columnWidth === screenWidth;\n\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles.columnAppender,\n\t\t\t\t\t\tisFullWidth && styles.fullwidthColumnAppender,\n\t\t\t\t\t\tisFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.fullwidthHasInnerColumnAppender,\n\t\t\t\t\t\t! isFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.hasInnerColumnAppender,\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}, [ contentStyle, clientId, screenWidth, isSelected, hasChildren ] );\n\n\tif ( ! isSelected && ! hasChildren ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\tstyles.columnPlaceholder,\n\t\t\t\t\t\tstyles.columnPlaceholderDark\n\t\t\t\t\t),\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst parentWidth =\n\t\tcontentStyle &&\n\t\tcontentStyle[ clientId ] &&\n\t\tcontentStyle[ clientId ].width;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Column settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonComplete={ onChangeWidth }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tgetWidths( columns )[ selectedColumnIndex ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tpreview={\n\t\t\t\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\t\t\t\tcolumnWidths={ getWidths(\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tselectedColumnIndex={\n\t\t\t\t\t\t\t\t\t\t\tselectedColumnIndex\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\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</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisSelected && hasChildren && styles.innerBlocksBottomSpace,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nfunction ColumnEditWrapper( props ) {\n\tconst { verticalAlignment } = props.attributes;\n\n\tconst getVerticalAlignmentRemap = ( alignment ) => {\n\t\tif ( ! alignment ) return styles.flexBase;\n\t\treturn {\n\t\t\t...styles.flexBase,\n\t\t\t...styles[ `is-vertically-aligned-${ alignment }` ],\n\t\t};\n\t};\n\n\treturn (\n\t\t<View style={ getVerticalAlignmentRemap( verticalAlignment ) }>\n\t\t\t<ColumnEdit { ...props } />\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockCount,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isSelected = selectedBlockClientId === clientId;\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst hasChildren = !! getBlockCount( clientId );\n\n\t\tconst blockOrder = getBlockOrder( parentId );\n\n\t\tconst selectedColumnIndex = blockOrder.indexOf( clientId );\n\t\tconst columns = getBlocks( parentId );\n\n\t\tconst parentAlignment =\n\t\t\tgetBlockAttributes( parentId )?.verticalAlignment;\n\n\t\treturn {\n\t\t\thasChildren,\n\t\t\tisSelected,\n\t\t\tselectedColumnIndex,\n\t\t\tcolumns,\n\t\t\tparentAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( ColumnEditWrapper );\n"],"mappings":"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"}
@@ -41,6 +41,7 @@ const metadata = {
41
41
  color: {
42
42
  gradients: true,
43
43
  heading: true,
44
+ button: true,
44
45
  link: true,
45
46
  __experimentalDefaultControls: {
46
47
  background: true,
@@ -1 +1 @@
1
- {"version":3,"names":["column","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","parent","description","textdomain","attributes","verticalAlignment","type","width","allowedBlocks","templateLock","supports","__experimentalOnEnter","anchor","reusable","html","color","gradients","heading","link","__experimentalDefaultControls","background","text","spacing","blockGap","padding","__experimentalBorder","style","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","save","settings","init"],"sources":["@wordpress/block-library/src/column/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { column as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,IAAIC,IAAI,QAAQ,kBAAkB;;AAEjD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,MAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,iBAAA;MAAAC,IAAA;IAAA;IAAAC,KAAA;MAAAD,IAAA;IAAA;IAAAE,aAAA;MAAAF,IAAA;IAAA;IAAAG,YAAA;MAAAH,IAAA;MAAA;IAAA;EAAA;EAAAI,QAAA;IAAAC,qBAAA;IAAAC,MAAA;IAAAC,QAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,QAAA;MAAAC,OAAA;MAAAL,6BAAA;QAAAK,OAAA;QAAAD,QAAA;MAAA;IAAA;IAAAE,oBAAA;MAAAV,KAAA;MAAAW,KAAA;MAAAnB,KAAA;MAAAY,6BAAA;QAAAJ,KAAA;QAAAW,KAAA;QAAAnB,KAAA;MAAA;IAAA;IAAAoB,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAhB,6BAAA;QAAAS,QAAA;MAAA;IAAA;IAAAQ,MAAA;EAAA;AAAA;AAE1B,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAEvC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMwC,QAAQ,GAAG;EACvB/C,IAAI;EACJG,IAAI;EACJ2C,IAAI;EACJ5C;AACD,CAAC;AAED,OAAO,MAAM8C,IAAI,GAAGA,CAAA,KAAM/C,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAE2C;AAAS,CAAE,CAAC"}
1
+ {"version":3,"names":["column","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","parent","description","textdomain","attributes","verticalAlignment","type","width","allowedBlocks","templateLock","supports","__experimentalOnEnter","anchor","reusable","html","color","gradients","heading","button","link","__experimentalDefaultControls","background","text","spacing","blockGap","padding","__experimentalBorder","style","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","save","settings","init"],"sources":["@wordpress/block-library/src/column/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { column as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,IAAIC,IAAI,QAAQ,kBAAkB;;AAEjD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,MAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,iBAAA;MAAAC,IAAA;IAAA;IAAAC,KAAA;MAAAD,IAAA;IAAA;IAAAE,aAAA;MAAAF,IAAA;IAAA;IAAAG,YAAA;MAAAH,IAAA;MAAA;IAAA;EAAA;EAAAI,QAAA;IAAAC,qBAAA;IAAAC,MAAA;IAAAC,QAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,QAAA;MAAAC,OAAA;MAAAL,6BAAA;QAAAK,OAAA;QAAAD,QAAA;MAAA;IAAA;IAAAE,oBAAA;MAAAX,KAAA;MAAAY,KAAA;MAAApB,KAAA;MAAAa,6BAAA;QAAAL,KAAA;QAAAY,KAAA;QAAApB,KAAA;MAAA;IAAA;IAAAqB,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAhB,6BAAA;QAAAS,QAAA;MAAA;IAAA;IAAAQ,MAAA;EAAA;AAAA;AAE1B,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAExC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMyC,QAAQ,GAAG;EACvBhD,IAAI;EACJG,IAAI;EACJ4C,IAAI;EACJ7C;AACD,CAAC;AAED,OAAO,MAAM+C,IAAI,GAAGA,CAAA,KAAMhD,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAE4C;AAAS,CAAE,CAAC"}
@@ -38,6 +38,8 @@ const metadata = {
38
38
  color: {
39
39
  gradients: true,
40
40
  link: true,
41
+ heading: true,
42
+ button: true,
41
43
  __experimentalDefaultControls: {
42
44
  background: true,
43
45
  text: true
@@ -1 +1 @@
1
- {"version":3,"names":["__","columns","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","verticalAlignment","type","isStackedOnMobile","templateLock","supports","anchor","align","html","color","gradients","link","__experimentalDefaultControls","background","text","spacing","blockGap","__experimentalDefault","sides","margin","padding","layout","allowSwitching","allowInheriting","allowEditing","flexWrap","__experimentalBorder","radius","style","width","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","editorStyle","save","variations","transforms","settings","example","viewportWidth","innerBlocks","content","url","init"],"sources":["@wordpress/block-library/src/columns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { columns as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport variations from './variations';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tvariations,\n\texample: {\n\t\tviewportWidth: 600, // Columns collapse \"@media (max-width: 599px)\".\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.'\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{\n\t\t\t\t\t\tname: 'core/image',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Suspendisse commodo neque lacus, a dictum orci interdum et.'\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\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.'\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{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.'\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\tdeprecated,\n\tedit,\n\tsave,\n\ttransforms,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","columns","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","verticalAlignment","type","isStackedOnMobile","templateLock","supports","anchor","align","html","color","gradients","link","heading","button","__experimentalDefaultControls","background","text","spacing","blockGap","__experimentalDefault","sides","margin","padding","layout","allowSwitching","allowInheriting","allowEditing","flexWrap","__experimentalBorder","radius","style","width","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","editorStyle","save","variations","transforms","settings","example","viewportWidth","innerBlocks","content","url","init"],"sources":["@wordpress/block-library/src/columns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { columns as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport variations from './variations';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tvariations,\n\texample: {\n\t\tviewportWidth: 600, // Columns collapse \"@media (max-width: 599px)\".\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent et eros eu felis.'\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{\n\t\t\t\t\t\tname: 'core/image',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Suspendisse commodo neque lacus, a dictum orci interdum et.'\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\t{\n\t\t\t\tname: 'core/column',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Etiam et egestas lorem. Vivamus sagittis sit amet dolor quis lobortis. Integer sed fermentum arcu, id vulputate lacus. Etiam fermentum sem eu quam hendrerit.'\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{\n\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t/* translators: example text. */\n\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t'Nam risus massa, ullamcorper consectetur eros fermentum, porta aliquet ligula. Sed vel mauris nec enim.'\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\tdeprecated,\n\tedit,\n\tsave,\n\ttransforms,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
@@ -424,7 +424,7 @@ export class FileEdit extends Component {
424
424
  }),
425
425
  labels: {
426
426
  title: __('File'),
427
- instructions: __('CHOOSE A FILE')
427
+ instructions: __('Choose a file')
428
428
  },
429
429
  onSelect: this.onSelectFile,
430
430
  onFocus: this.props.onFocus,
@@ -1 +1 @@
1
- {"version":3,"names":["View","TouchableWithoutFeedback","Text","Clipboard","requestImageFailedRetryDialog","requestImageUploadCancelDialog","mediaUploadSync","BlockIcon","MediaPlaceholder","MediaUploadProgress","RichText","PlainText","BlockControls","MediaUpload","InspectorControls","MEDIA_TYPE_ANY","store","blockEditorStore","ToolbarButton","ToolbarGroup","PanelBody","ToggleControl","TextControl","SelectControl","Icon","file","icon","replace","button","external","link","warning","Component","__","_x","compose","withPreferredColorScheme","withDispatch","withSelect","getProtocol","coreStore","styles","URL_COPIED_NOTIFICATION_DURATION_MS","MIN_WIDTH","FileEdit","constructor","props","state","isUploadInProgress","isSidebarLinkSettings","placeholderTextWidth","maxWidth","timerRef","onLayout","bind","onSelectFile","onChangeFileName","onChangeDownloadButtonText","updateMediaProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","getFileComponent","onChangeDownloadButtonVisibility","onCopyURL","onChangeOpenInNewWindow","onChangeLinkDestinationOption","onShowLinkSettings","onFilePressed","mediaUploadStateReset","componentDidMount","attributes","setAttributes","downloadButtonText","undefined","id","url","componentWillUnmount","clearTimeout","componentDidUpdate","prevProps","isSidebarOpened","setState","media","href","fileName","title","textLinkHref","showDownloadButton","newHref","isUrlCopied","setString","setTimeout","newValue","textLinkTarget","payload","mediaUrl","mediaServerId","mediaId","openSidebar","getToolbarEditButton","open","createElement","onClick","getInspectorControls","isUploadFailed","linkDestinationOptions","value","label","attachmentPage","actionButtonStyle","getStylesFromColorScheme","actionButton","actionButtonDark","isCopyUrlDisabled","dimmedActionButtonStyle","dimmedActionButton","dimmedActionButtonDark","finalButtonStyle","onChange","options","hideCancelButton","checked","disabled","labelStyle","onPress","getStyleForAlignment","align","getFlexAlign","alignment","alignSelf","getTextAlignmentForAlignment","nativeEvent","width","layout","paddingLeft","paddingRight","defaultButton","getPlaceholderWidth","placeholderText","style","placeholder","onTextLayout","textWidth","lines","Math","min","openMediaOptions","getMediaOptions","isSelected","isButtonFocused","minWidth","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","renderContent","dimmedStyle","disabledButton","errorIconStyle","Object","assign","errorIcon","uploadFailed","accessible","testID","container","withoutInteractiveFormatting","__unstableMobileNoFocusOnMount","tagName","underlineColorAndroid","deleteEnter","textAlign","errorContainer","editable","buttonText","unstableOnFocus","onBlur","selectionColor","color","placeholderTextColor","render","wasBlockJustInserted","labels","instructions","onSelect","onFocus","allowedTypes","autoOpenMediaUpload","isReplacingMedia","select","clientId","isEditorSidebarOpened","isNotFileHref","getMedia","dispatch","openGeneralSidebar"],"sources":["@wordpress/block-library/src/file/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableWithoutFeedback, Text } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\tmediaUploadSync,\n} from '@wordpress/react-native-bridge';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaUploadProgress,\n\tRichText,\n\tPlainText,\n\tBlockControls,\n\tMediaUpload,\n\tInspectorControls,\n\tMEDIA_TYPE_ANY,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n\tTextControl,\n\tSelectControl,\n\tIcon,\n} from '@wordpress/components';\nimport {\n\tfile as icon,\n\treplace,\n\tbutton,\n\texternal,\n\tlink,\n\twarning,\n} from '@wordpress/icons';\nimport { Component } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { getProtocol } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst URL_COPIED_NOTIFICATION_DURATION_MS = 1500;\nconst MIN_WIDTH = 40;\n\nexport class FileEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t\tisSidebarLinkSettings: false,\n\t\t\tplaceholderTextWidth: 0,\n\t\t\tmaxWidth: 0,\n\t\t};\n\n\t\tthis.timerRef = null;\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\t\tthis.onSelectFile = this.onSelectFile.bind( this );\n\t\tthis.onChangeFileName = this.onChangeFileName.bind( this );\n\t\tthis.onChangeDownloadButtonText =\n\t\t\tthis.onChangeDownloadButtonText.bind( this );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess =\n\t\t\tthis.finishMediaUploadWithSuccess.bind( this );\n\t\tthis.finishMediaUploadWithFailure =\n\t\t\tthis.finishMediaUploadWithFailure.bind( this );\n\t\tthis.getFileComponent = this.getFileComponent.bind( this );\n\t\tthis.onChangeDownloadButtonVisibility =\n\t\t\tthis.onChangeDownloadButtonVisibility.bind( this );\n\t\tthis.onCopyURL = this.onCopyURL.bind( this );\n\t\tthis.onChangeOpenInNewWindow =\n\t\t\tthis.onChangeOpenInNewWindow.bind( this );\n\n\t\tthis.onChangeLinkDestinationOption =\n\t\t\tthis.onChangeLinkDestinationOption.bind( this );\n\t\tthis.onShowLinkSettings = this.onShowLinkSettings.bind( this );\n\t\tthis.onFilePressed = this.onFilePressed.bind( this );\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { downloadButtonText } = attributes;\n\n\t\tif ( downloadButtonText === undefined || downloadButtonText === '' ) {\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tattributes.id &&\n\t\t\tattributes.url &&\n\t\t\tgetProtocol( attributes.url ) === 'file:'\n\t\t) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timerRef );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif (\n\t\t\tprevProps.isSidebarOpened &&\n\t\t\t! this.props.isSidebarOpened &&\n\t\t\tthis.state.isSidebarLinkSettings\n\t\t) {\n\t\t\tthis.setState( { isSidebarLinkSettings: false } );\n\t\t}\n\t}\n\n\tonSelectFile( media ) {\n\t\tthis.props.setAttributes( {\n\t\t\thref: media.url,\n\t\t\tfileName: media.title,\n\t\t\ttextLinkHref: media.url,\n\t\t\tid: media.id,\n\t\t} );\n\t}\n\n\tonChangeFileName( fileName ) {\n\t\tthis.props.setAttributes( { fileName } );\n\t}\n\n\tonChangeDownloadButtonText( downloadButtonText ) {\n\t\tthis.props.setAttributes( { downloadButtonText } );\n\t}\n\n\tonChangeDownloadButtonVisibility( showDownloadButton ) {\n\t\tthis.props.setAttributes( { showDownloadButton } );\n\t}\n\n\tonChangeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library)\n\t\tthis.props.setAttributes( { textLinkHref: newHref } );\n\t}\n\n\tonCopyURL() {\n\t\tif ( this.state.isUrlCopied ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { href } = this.props.attributes;\n\t\tClipboard.setString( href );\n\n\t\tthis.setState( { isUrlCopied: true } );\n\t\tthis.timerRef = setTimeout( () => {\n\t\t\tthis.setState( { isUrlCopied: false } );\n\t\t}, URL_COPIED_NOTIFICATION_DURATION_MS );\n\t}\n\n\tonChangeOpenInNewWindow( newValue ) {\n\t\tthis.props.setAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : false,\n\t\t} );\n\t}\n\n\tupdateMediaProgress( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( payload.mediaUrl ) {\n\t\t\tsetAttributes( { url: payload.mediaUrl } );\n\t\t}\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\thref: payload.mediaUrl,\n\t\t\tid: payload.mediaServerId,\n\t\t\ttextLinkHref: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tthis.props.setAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tid: null,\n\t\t\thref: null,\n\t\t\ttextLinkHref: null,\n\t\t\tfileName: null,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonShowLinkSettings() {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tisSidebarLinkSettings: true,\n\t\t\t},\n\t\t\tthis.props.openSidebar\n\t\t);\n\t}\n\n\tgetToolbarEditButton( 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={ __( 'Edit file' ) }\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\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Link To' ) }\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tonClick={ this.onShowLinkSettings }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tgetInspectorControls(\n\t\t{ showDownloadButton, textLinkTarget, href, textLinkHref },\n\t\tmedia,\n\t\tisUploadInProgress,\n\t\tisUploadFailed\n\t) {\n\t\tlet linkDestinationOptions = [ { value: href, label: __( 'URL' ) } ];\n\t\tconst attachmentPage = media && media.link;\n\t\tconst { isSidebarLinkSettings } = this.state;\n\n\t\tif ( attachmentPage ) {\n\t\t\tlinkDestinationOptions = [\n\t\t\t\t{ value: href, label: __( 'Media file' ) },\n\t\t\t\t{ value: attachmentPage, label: __( 'Attachment page' ) },\n\t\t\t];\n\t\t}\n\n\t\tconst actionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.actionButton,\n\t\t\tstyles.actionButtonDark\n\t\t);\n\n\t\tconst isCopyUrlDisabled = isUploadFailed || isUploadInProgress;\n\n\t\tconst dimmedActionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.dimmedActionButton,\n\t\t\tstyles.dimmedActionButtonDark\n\t\t);\n\n\t\tconst finalButtonStyle = isCopyUrlDisabled\n\t\t\t? dimmedActionButtonStyle\n\t\t\t: actionButtonStyle;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t{ isSidebarLinkSettings || (\n\t\t\t\t\t<PanelBody title={ __( 'File block settings' ) } />\n\t\t\t\t) }\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ textLinkHref }\n\t\t\t\t\t\tonChange={ this.onChangeLinkDestinationOption }\n\t\t\t\t\t\toptions={ linkDestinationOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tchecked={ textLinkTarget === '_blank' }\n\t\t\t\t\t\tonChange={ this.onChangeOpenInNewWindow }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isSidebarLinkSettings && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\ticon={ button }\n\t\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\t\tchecked={ showDownloadButton }\n\t\t\t\t\t\t\tonChange={ this.onChangeDownloadButtonVisibility }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tdisabled={ isCopyUrlDisabled }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tthis.state.isUrlCopied\n\t\t\t\t\t\t\t\t? __( 'Copied!' )\n\t\t\t\t\t\t\t\t: __( 'Copy file URL' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabelStyle={\n\t\t\t\t\t\t\tthis.state.isUrlCopied || finalButtonStyle\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonPress={ this.onCopyURL }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\n\tgetStyleForAlignment( align ) {\n\t\tconst getFlexAlign = ( alignment ) => {\n\t\t\tswitch ( alignment ) {\n\t\t\t\tcase 'right':\n\t\t\t\t\treturn 'flex-end';\n\t\t\t\tcase 'center':\n\t\t\t\t\treturn 'center';\n\t\t\t\tdefault:\n\t\t\t\t\treturn 'flex-start';\n\t\t\t}\n\t\t};\n\t\treturn { alignSelf: getFlexAlign( align ) };\n\t}\n\n\tgetTextAlignmentForAlignment( align ) {\n\t\tswitch ( align ) {\n\t\t\tcase 'right':\n\t\t\t\treturn 'right';\n\t\t\tcase 'center':\n\t\t\t\treturn 'center';\n\t\t\tdefault:\n\t\t\t\treturn 'left';\n\t\t}\n\t}\n\n\tonFilePressed() {\n\t\tconst { attributes } = this.props;\n\n\t\tif ( this.state.isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.href ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { paddingLeft, paddingRight } = styles.defaultButton;\n\t\tthis.setState( {\n\t\t\tmaxWidth: width - ( paddingLeft + paddingRight ),\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\t// This should be fixed on RNAztec level. In the mean time,\n\t// We use the same strategy implemented in Button block.\n\tgetPlaceholderWidth( placeholderText ) {\n\t\tconst { maxWidth, placeholderTextWidth } = this.state;\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ ( { nativeEvent } ) => {\n\t\t\t\t\tconst textWidth =\n\t\t\t\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\t\t\t\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\tplaceholderTextWidth: Math.min(\n\t\t\t\t\t\t\t\ttextWidth,\n\t\t\t\t\t\t\t\tmaxWidth\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\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tgetFileComponent( openMediaOptions, getMediaOptions ) {\n\t\tconst { attributes, media, isSelected } = this.props;\n\t\tconst { isButtonFocused, placeholderTextWidth } = this.state;\n\n\t\tconst { fileName, downloadButtonText, id, showDownloadButton, align } =\n\t\t\tattributes;\n\n\t\tconst minWidth =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? MIN_WIDTH\n\t\t\t\t: placeholderTextWidth;\n\n\t\tconst placeholderText =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? ''\n\t\t\t\t: __( 'Add text…' );\n\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t}\n\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t}\n\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\trenderContent={ ( { isUploadInProgress, isUploadFailed } ) => {\n\t\t\t\t\tconst dimmedStyle =\n\t\t\t\t\t\t( this.state.isUploadInProgress || isUploadFailed ) &&\n\t\t\t\t\t\tstyles.disabledButton;\n\t\t\t\t\tconst finalButtonStyle = [\n\t\t\t\t\t\tstyles.defaultButton,\n\t\t\t\t\t\tdimmedStyle,\n\t\t\t\t\t];\n\n\t\t\t\t\tconst errorIconStyle = Object.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tstyles.errorIcon,\n\t\t\t\t\t\tstyles.uploadFailed\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\t\t\tonPress={ this.onFilePressed }\n\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tonLayout={ this.onLayout }\n\t\t\t\t\t\t\t\ttestID=\"file-edit-container\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ this.getPlaceholderWidth( placeholderText ) }\n\t\t\t\t\t\t\t\t{ isUploadInProgress ||\n\t\t\t\t\t\t\t\t\tthis.getToolbarEditButton(\n\t\t\t\t\t\t\t\t\t\topenMediaOptions\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t\t\tthis.getInspectorControls(\n\t\t\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t\t\tmedia,\n\t\t\t\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<View style={ styles.container }>\n\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\tonChange={ this.onChangeFileName }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'File name' ) }\n\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\t\t\t\t\ttextAlign={ this.getTextAlignmentForAlignment(\n\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<View style={ styles.errorContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ warning }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ errorIconStyle }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\t\t\teditable={ false }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ __( 'Error' ) }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.uploadFailed }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t{ showDownloadButton &&\n\t\t\t\t\t\t\t\t\tthis.state.maxWidth > 0 && (\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\t\t\tfinalButtonStyle,\n\t\t\t\t\t\t\t\t\t\t\t\tthis.getStyleForAlignment(\n\t\t\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\t\t\t\t\t\tminWidth={ minWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tmaxWidth={ this.state.maxWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.buttonText }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\t\t\t\t\t\t\t\tunstableOnFocus={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tselectionColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.buttonText.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.placeholderTextColor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.onChangeDownloadButtonText\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { attributes, wasBlockJustInserted, isSelected } = this.props;\n\t\tconst { href } = attributes;\n\n\t\tif ( ! href ) {\n\t\t\treturn (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __( 'CHOOSE A FILE' ),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\tisReplacingMedia={ true }\n\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn this.getFileComponent( open, getMediaOptions );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, props ) => {\n\t\tconst { attributes, isSelected, clientId } = props;\n\t\tconst { id, href } = attributes;\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\tconst isNotFileHref = id && getProtocol( href ) !== 'file:';\n\t\treturn {\n\t\t\tmedia: isNotFileHref\n\t\t\t\t? select( coreStore ).getMedia( id )\n\t\t\t\t: undefined,\n\t\t\tisSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\treturn {\n\t\t\topenSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( FileEdit );\n"],"mappings":"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"}
1
+ {"version":3,"names":["View","TouchableWithoutFeedback","Text","Clipboard","requestImageFailedRetryDialog","requestImageUploadCancelDialog","mediaUploadSync","BlockIcon","MediaPlaceholder","MediaUploadProgress","RichText","PlainText","BlockControls","MediaUpload","InspectorControls","MEDIA_TYPE_ANY","store","blockEditorStore","ToolbarButton","ToolbarGroup","PanelBody","ToggleControl","TextControl","SelectControl","Icon","file","icon","replace","button","external","link","warning","Component","__","_x","compose","withPreferredColorScheme","withDispatch","withSelect","getProtocol","coreStore","styles","URL_COPIED_NOTIFICATION_DURATION_MS","MIN_WIDTH","FileEdit","constructor","props","state","isUploadInProgress","isSidebarLinkSettings","placeholderTextWidth","maxWidth","timerRef","onLayout","bind","onSelectFile","onChangeFileName","onChangeDownloadButtonText","updateMediaProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","getFileComponent","onChangeDownloadButtonVisibility","onCopyURL","onChangeOpenInNewWindow","onChangeLinkDestinationOption","onShowLinkSettings","onFilePressed","mediaUploadStateReset","componentDidMount","attributes","setAttributes","downloadButtonText","undefined","id","url","componentWillUnmount","clearTimeout","componentDidUpdate","prevProps","isSidebarOpened","setState","media","href","fileName","title","textLinkHref","showDownloadButton","newHref","isUrlCopied","setString","setTimeout","newValue","textLinkTarget","payload","mediaUrl","mediaServerId","mediaId","openSidebar","getToolbarEditButton","open","createElement","onClick","getInspectorControls","isUploadFailed","linkDestinationOptions","value","label","attachmentPage","actionButtonStyle","getStylesFromColorScheme","actionButton","actionButtonDark","isCopyUrlDisabled","dimmedActionButtonStyle","dimmedActionButton","dimmedActionButtonDark","finalButtonStyle","onChange","options","hideCancelButton","checked","disabled","labelStyle","onPress","getStyleForAlignment","align","getFlexAlign","alignment","alignSelf","getTextAlignmentForAlignment","nativeEvent","width","layout","paddingLeft","paddingRight","defaultButton","getPlaceholderWidth","placeholderText","style","placeholder","onTextLayout","textWidth","lines","Math","min","openMediaOptions","getMediaOptions","isSelected","isButtonFocused","minWidth","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","renderContent","dimmedStyle","disabledButton","errorIconStyle","Object","assign","errorIcon","uploadFailed","accessible","testID","container","withoutInteractiveFormatting","__unstableMobileNoFocusOnMount","tagName","underlineColorAndroid","deleteEnter","textAlign","errorContainer","editable","buttonText","unstableOnFocus","onBlur","selectionColor","color","placeholderTextColor","render","wasBlockJustInserted","labels","instructions","onSelect","onFocus","allowedTypes","autoOpenMediaUpload","isReplacingMedia","select","clientId","isEditorSidebarOpened","isNotFileHref","getMedia","dispatch","openGeneralSidebar"],"sources":["@wordpress/block-library/src/file/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableWithoutFeedback, Text } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\tmediaUploadSync,\n} from '@wordpress/react-native-bridge';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaUploadProgress,\n\tRichText,\n\tPlainText,\n\tBlockControls,\n\tMediaUpload,\n\tInspectorControls,\n\tMEDIA_TYPE_ANY,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n\tTextControl,\n\tSelectControl,\n\tIcon,\n} from '@wordpress/components';\nimport {\n\tfile as icon,\n\treplace,\n\tbutton,\n\texternal,\n\tlink,\n\twarning,\n} from '@wordpress/icons';\nimport { Component } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { getProtocol } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst URL_COPIED_NOTIFICATION_DURATION_MS = 1500;\nconst MIN_WIDTH = 40;\n\nexport class FileEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t\tisSidebarLinkSettings: false,\n\t\t\tplaceholderTextWidth: 0,\n\t\t\tmaxWidth: 0,\n\t\t};\n\n\t\tthis.timerRef = null;\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\t\tthis.onSelectFile = this.onSelectFile.bind( this );\n\t\tthis.onChangeFileName = this.onChangeFileName.bind( this );\n\t\tthis.onChangeDownloadButtonText =\n\t\t\tthis.onChangeDownloadButtonText.bind( this );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess =\n\t\t\tthis.finishMediaUploadWithSuccess.bind( this );\n\t\tthis.finishMediaUploadWithFailure =\n\t\t\tthis.finishMediaUploadWithFailure.bind( this );\n\t\tthis.getFileComponent = this.getFileComponent.bind( this );\n\t\tthis.onChangeDownloadButtonVisibility =\n\t\t\tthis.onChangeDownloadButtonVisibility.bind( this );\n\t\tthis.onCopyURL = this.onCopyURL.bind( this );\n\t\tthis.onChangeOpenInNewWindow =\n\t\t\tthis.onChangeOpenInNewWindow.bind( this );\n\n\t\tthis.onChangeLinkDestinationOption =\n\t\t\tthis.onChangeLinkDestinationOption.bind( this );\n\t\tthis.onShowLinkSettings = this.onShowLinkSettings.bind( this );\n\t\tthis.onFilePressed = this.onFilePressed.bind( this );\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { downloadButtonText } = attributes;\n\n\t\tif ( downloadButtonText === undefined || downloadButtonText === '' ) {\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tattributes.id &&\n\t\t\tattributes.url &&\n\t\t\tgetProtocol( attributes.url ) === 'file:'\n\t\t) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.timerRef );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif (\n\t\t\tprevProps.isSidebarOpened &&\n\t\t\t! this.props.isSidebarOpened &&\n\t\t\tthis.state.isSidebarLinkSettings\n\t\t) {\n\t\t\tthis.setState( { isSidebarLinkSettings: false } );\n\t\t}\n\t}\n\n\tonSelectFile( media ) {\n\t\tthis.props.setAttributes( {\n\t\t\thref: media.url,\n\t\t\tfileName: media.title,\n\t\t\ttextLinkHref: media.url,\n\t\t\tid: media.id,\n\t\t} );\n\t}\n\n\tonChangeFileName( fileName ) {\n\t\tthis.props.setAttributes( { fileName } );\n\t}\n\n\tonChangeDownloadButtonText( downloadButtonText ) {\n\t\tthis.props.setAttributes( { downloadButtonText } );\n\t}\n\n\tonChangeDownloadButtonVisibility( showDownloadButton ) {\n\t\tthis.props.setAttributes( { showDownloadButton } );\n\t}\n\n\tonChangeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library)\n\t\tthis.props.setAttributes( { textLinkHref: newHref } );\n\t}\n\n\tonCopyURL() {\n\t\tif ( this.state.isUrlCopied ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { href } = this.props.attributes;\n\t\tClipboard.setString( href );\n\n\t\tthis.setState( { isUrlCopied: true } );\n\t\tthis.timerRef = setTimeout( () => {\n\t\t\tthis.setState( { isUrlCopied: false } );\n\t\t}, URL_COPIED_NOTIFICATION_DURATION_MS );\n\t}\n\n\tonChangeOpenInNewWindow( newValue ) {\n\t\tthis.props.setAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : false,\n\t\t} );\n\t}\n\n\tupdateMediaProgress( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( payload.mediaUrl ) {\n\t\t\tsetAttributes( { url: payload.mediaUrl } );\n\t\t}\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\thref: payload.mediaUrl,\n\t\t\tid: payload.mediaServerId,\n\t\t\ttextLinkHref: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tthis.props.setAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tid: null,\n\t\t\thref: null,\n\t\t\ttextLinkHref: null,\n\t\t\tfileName: null,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonShowLinkSettings() {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tisSidebarLinkSettings: true,\n\t\t\t},\n\t\t\tthis.props.openSidebar\n\t\t);\n\t}\n\n\tgetToolbarEditButton( 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={ __( 'Edit file' ) }\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\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Link To' ) }\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tonClick={ this.onShowLinkSettings }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tgetInspectorControls(\n\t\t{ showDownloadButton, textLinkTarget, href, textLinkHref },\n\t\tmedia,\n\t\tisUploadInProgress,\n\t\tisUploadFailed\n\t) {\n\t\tlet linkDestinationOptions = [ { value: href, label: __( 'URL' ) } ];\n\t\tconst attachmentPage = media && media.link;\n\t\tconst { isSidebarLinkSettings } = this.state;\n\n\t\tif ( attachmentPage ) {\n\t\t\tlinkDestinationOptions = [\n\t\t\t\t{ value: href, label: __( 'Media file' ) },\n\t\t\t\t{ value: attachmentPage, label: __( 'Attachment page' ) },\n\t\t\t];\n\t\t}\n\n\t\tconst actionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.actionButton,\n\t\t\tstyles.actionButtonDark\n\t\t);\n\n\t\tconst isCopyUrlDisabled = isUploadFailed || isUploadInProgress;\n\n\t\tconst dimmedActionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.dimmedActionButton,\n\t\t\tstyles.dimmedActionButtonDark\n\t\t);\n\n\t\tconst finalButtonStyle = isCopyUrlDisabled\n\t\t\t? dimmedActionButtonStyle\n\t\t\t: actionButtonStyle;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t{ isSidebarLinkSettings || (\n\t\t\t\t\t<PanelBody title={ __( 'File block settings' ) } />\n\t\t\t\t) }\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ textLinkHref }\n\t\t\t\t\t\tonChange={ this.onChangeLinkDestinationOption }\n\t\t\t\t\t\toptions={ linkDestinationOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tchecked={ textLinkTarget === '_blank' }\n\t\t\t\t\t\tonChange={ this.onChangeOpenInNewWindow }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isSidebarLinkSettings && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\ticon={ button }\n\t\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\t\tchecked={ showDownloadButton }\n\t\t\t\t\t\t\tonChange={ this.onChangeDownloadButtonVisibility }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tdisabled={ isCopyUrlDisabled }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tthis.state.isUrlCopied\n\t\t\t\t\t\t\t\t? __( 'Copied!' )\n\t\t\t\t\t\t\t\t: __( 'Copy file URL' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabelStyle={\n\t\t\t\t\t\t\tthis.state.isUrlCopied || finalButtonStyle\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonPress={ this.onCopyURL }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\n\tgetStyleForAlignment( align ) {\n\t\tconst getFlexAlign = ( alignment ) => {\n\t\t\tswitch ( alignment ) {\n\t\t\t\tcase 'right':\n\t\t\t\t\treturn 'flex-end';\n\t\t\t\tcase 'center':\n\t\t\t\t\treturn 'center';\n\t\t\t\tdefault:\n\t\t\t\t\treturn 'flex-start';\n\t\t\t}\n\t\t};\n\t\treturn { alignSelf: getFlexAlign( align ) };\n\t}\n\n\tgetTextAlignmentForAlignment( align ) {\n\t\tswitch ( align ) {\n\t\t\tcase 'right':\n\t\t\t\treturn 'right';\n\t\t\tcase 'center':\n\t\t\t\treturn 'center';\n\t\t\tdefault:\n\t\t\t\treturn 'left';\n\t\t}\n\t}\n\n\tonFilePressed() {\n\t\tconst { attributes } = this.props;\n\n\t\tif ( this.state.isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.href ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { paddingLeft, paddingRight } = styles.defaultButton;\n\t\tthis.setState( {\n\t\t\tmaxWidth: width - ( paddingLeft + paddingRight ),\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\t// This should be fixed on RNAztec level. In the mean time,\n\t// We use the same strategy implemented in Button block.\n\tgetPlaceholderWidth( placeholderText ) {\n\t\tconst { maxWidth, placeholderTextWidth } = this.state;\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ ( { nativeEvent } ) => {\n\t\t\t\t\tconst textWidth =\n\t\t\t\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\t\t\t\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\tplaceholderTextWidth: Math.min(\n\t\t\t\t\t\t\t\ttextWidth,\n\t\t\t\t\t\t\t\tmaxWidth\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\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tgetFileComponent( openMediaOptions, getMediaOptions ) {\n\t\tconst { attributes, media, isSelected } = this.props;\n\t\tconst { isButtonFocused, placeholderTextWidth } = this.state;\n\n\t\tconst { fileName, downloadButtonText, id, showDownloadButton, align } =\n\t\t\tattributes;\n\n\t\tconst minWidth =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? MIN_WIDTH\n\t\t\t\t: placeholderTextWidth;\n\n\t\tconst placeholderText =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? ''\n\t\t\t\t: __( 'Add text…' );\n\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t}\n\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t}\n\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\trenderContent={ ( { isUploadInProgress, isUploadFailed } ) => {\n\t\t\t\t\tconst dimmedStyle =\n\t\t\t\t\t\t( this.state.isUploadInProgress || isUploadFailed ) &&\n\t\t\t\t\t\tstyles.disabledButton;\n\t\t\t\t\tconst finalButtonStyle = [\n\t\t\t\t\t\tstyles.defaultButton,\n\t\t\t\t\t\tdimmedStyle,\n\t\t\t\t\t];\n\n\t\t\t\t\tconst errorIconStyle = Object.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tstyles.errorIcon,\n\t\t\t\t\t\tstyles.uploadFailed\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\t\t\tonPress={ this.onFilePressed }\n\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tonLayout={ this.onLayout }\n\t\t\t\t\t\t\t\ttestID=\"file-edit-container\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ this.getPlaceholderWidth( placeholderText ) }\n\t\t\t\t\t\t\t\t{ isUploadInProgress ||\n\t\t\t\t\t\t\t\t\tthis.getToolbarEditButton(\n\t\t\t\t\t\t\t\t\t\topenMediaOptions\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t\t\tthis.getInspectorControls(\n\t\t\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t\t\tmedia,\n\t\t\t\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<View style={ styles.container }>\n\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\tonChange={ this.onChangeFileName }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'File name' ) }\n\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\t\t\t\t\ttextAlign={ this.getTextAlignmentForAlignment(\n\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<View style={ styles.errorContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ warning }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ errorIconStyle }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\t\t\teditable={ false }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ __( 'Error' ) }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.uploadFailed }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t{ showDownloadButton &&\n\t\t\t\t\t\t\t\t\tthis.state.maxWidth > 0 && (\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\t\t\tfinalButtonStyle,\n\t\t\t\t\t\t\t\t\t\t\t\tthis.getStyleForAlignment(\n\t\t\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\t\t\t\t\t\tminWidth={ minWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tmaxWidth={ this.state.maxWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.buttonText }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\t\t\t\t\t\t\t\tunstableOnFocus={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tselectionColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.buttonText.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.placeholderTextColor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.onChangeDownloadButtonText\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { attributes, wasBlockJustInserted, isSelected } = this.props;\n\t\tconst { href } = attributes;\n\n\t\tif ( ! href ) {\n\t\t\treturn (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __( 'Choose a file' ),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\tisReplacingMedia={ true }\n\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn this.getFileComponent( open, getMediaOptions );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, props ) => {\n\t\tconst { attributes, isSelected, clientId } = props;\n\t\tconst { id, href } = attributes;\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\tconst isNotFileHref = id && getProtocol( href ) !== 'file:';\n\t\treturn {\n\t\t\tmedia: isNotFileHref\n\t\t\t\t? select( coreStore ).getMedia( id )\n\t\t\t\t: undefined,\n\t\t\tisSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\treturn {\n\t\t\topenSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( FileEdit );\n"],"mappings":"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"}
@@ -81,7 +81,8 @@ const metadata = {
81
81
  background: true,
82
82
  link: true
83
83
  }
84
- }
84
+ },
85
+ interactivity: true
85
86
  },
86
87
  viewScript: "file:./view.min.js",
87
88
  editorStyle: "wp-block-file-editor",
@@ -1 +1 @@
1
- {"version":3,"names":["_x","file","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","id","type","href","fileId","source","selector","attribute","fileName","textLinkHref","textLinkTarget","showDownloadButton","downloadButtonText","displayPreview","previewHeight","supports","anchor","align","spacing","margin","padding","color","gradients","link","text","__experimentalDefaultControls","background","viewScript","editorStyle","style","save","transforms","settings","example","init"],"sources":["@wordpress/block-library/src/file/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { file as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\thref: 'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg',\n\t\t\tfileName: _x( 'Armstrong_Small_Step', 'Name of the file' ),\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,IAAIC,IAAI,QAAQ,kBAAkB;;AAE/C;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,EAAA;MAAAC,IAAA;IAAA;IAAAC,IAAA;MAAAD,IAAA;IAAA;IAAAE,MAAA;MAAAF,IAAA;MAAAG,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAC,QAAA;MAAAN,IAAA;MAAAG,MAAA;MAAAC,QAAA;IAAA;IAAAG,YAAA;MAAAP,IAAA;MAAAG,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAG,cAAA;MAAAR,IAAA;MAAAG,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAI,kBAAA;MAAAT,IAAA;MAAA;IAAA;IAAAU,kBAAA;MAAAV,IAAA;MAAAG,MAAA;MAAAC,QAAA;IAAA;IAAAO,cAAA;MAAAX,IAAA;IAAA;IAAAY,aAAA;MAAAZ,IAAA;MAAA;IAAA;EAAA;EAAAa,QAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAH,IAAA;MAAA;IAAA;EAAA;EAAAI,UAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAE1B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAErC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMsC,QAAQ,GAAG;EACvB7C,IAAI;EACJ8C,OAAO,EAAE;IACRjC,UAAU,EAAE;MACXG,IAAI,EAAE,8EAA8E;MACpFK,QAAQ,EAAEvB,EAAE,CAAE,sBAAsB,EAAE,kBAAmB;IAC1D;EACD,CAAC;EACD8C,UAAU;EACV1C,UAAU;EACVC,IAAI;EACJwC;AACD,CAAC;AAED,OAAO,MAAMI,IAAI,GAAGA,CAAA,KAAM9C,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAEyC;AAAS,CAAE,CAAC"}
1
+ {"version":3,"names":["_x","file","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","id","type","href","fileId","source","selector","attribute","fileName","textLinkHref","textLinkTarget","showDownloadButton","downloadButtonText","displayPreview","previewHeight","supports","anchor","align","spacing","margin","padding","color","gradients","link","text","__experimentalDefaultControls","background","interactivity","viewScript","editorStyle","style","save","transforms","settings","example","init"],"sources":["@wordpress/block-library/src/file/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { file as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\thref: 'https://upload.wikimedia.org/wikipedia/commons/d/dd/Armstrong_Small_Step.ogg',\n\t\t\tfileName: _x( 'Armstrong_Small_Step', 'Name of the file' ),\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,IAAIC,IAAI,QAAQ,kBAAkB;;AAE/C;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,EAAA;MAAAC,IAAA;IAAA;IAAAC,IAAA;MAAAD,IAAA;IAAA;IAAAE,MAAA;MAAAF,IAAA;MAAAG,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAC,QAAA;MAAAN,IAAA;MAAAG,MAAA;MAAAC,QAAA;IAAA;IAAAG,YAAA;MAAAP,IAAA;MAAAG,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAG,cAAA;MAAAR,IAAA;MAAAG,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAI,kBAAA;MAAAT,IAAA;MAAA;IAAA;IAAAU,kBAAA;MAAAV,IAAA;MAAAG,MAAA;MAAAC,QAAA;IAAA;IAAAO,cAAA;MAAAX,IAAA;IAAA;IAAAY,aAAA;MAAAZ,IAAA;MAAA;IAAA;EAAA;EAAAa,QAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,aAAA;EAAA;EAAAC,UAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAE1B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAEtC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMuC,QAAQ,GAAG;EACvB9C,IAAI;EACJ+C,OAAO,EAAE;IACRlC,UAAU,EAAE;MACXG,IAAI,EAAE,8EAA8E;MACpFK,QAAQ,EAAEvB,EAAE,CAAE,sBAAsB,EAAE,kBAAmB;IAC1D;EACD,CAAC;EACD+C,UAAU;EACV3C,UAAU;EACVC,IAAI;EACJyC;AACD,CAAC;AAED,OAAO,MAAMI,IAAI,GAAGA,CAAA,KAAM/C,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAE0C;AAAS,CAAE,CAAC"}
@@ -43,17 +43,4 @@ const createActiveXObject = type => {
43
43
  }
44
44
  return ax;
45
45
  };
46
-
47
- /**
48
- * Hides all .wp-block-file__embed elements on the document. This function is only intended
49
- * to be run on the front-end, it may have weird side effects running in the block editor.
50
- */
51
- export const hidePdfEmbedsOnUnsupportedBrowsers = () => {
52
- if (!browserSupportsPdfs()) {
53
- const embeds = document.getElementsByClassName('wp-block-file__embed');
54
- Array.from(embeds).forEach(embed => {
55
- embed.style.display = 'none';
56
- });
57
- }
58
- };
59
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["browserSupportsPdfs","window","navigator","userAgent","indexOf","maxTouchPoints","ActiveXObject","createActiveXObject","type","ax","e","undefined","hidePdfEmbedsOnUnsupportedBrowsers","embeds","document","getElementsByClassName","Array","from","forEach","embed","style","display"],"sources":["@wordpress/block-library/src/file/utils/index.js"],"sourcesContent":["/**\n * Uses a combination of user agent matching and feature detection to determine whether\n * the current browser supports rendering PDFs inline.\n *\n * @return {boolean} Whether or not the browser supports inline PDFs.\n */\nexport const browserSupportsPdfs = () => {\n\t// Most mobile devices include \"Mobi\" in their UA.\n\tif ( window.navigator.userAgent.indexOf( 'Mobi' ) > -1 ) {\n\t\treturn false;\n\t}\n\n\t// Android tablets are the noteable exception.\n\tif ( window.navigator.userAgent.indexOf( 'Android' ) > -1 ) {\n\t\treturn false;\n\t}\n\n\t// iPad pretends to be a Mac.\n\tif (\n\t\twindow.navigator.userAgent.indexOf( 'Macintosh' ) > -1 &&\n\t\twindow.navigator.maxTouchPoints &&\n\t\twindow.navigator.maxTouchPoints > 2\n\t) {\n\t\treturn false;\n\t}\n\n\t// IE only supports PDFs when there's an ActiveX object available for it.\n\tif (\n\t\t!! ( window.ActiveXObject || 'ActiveXObject' in window ) &&\n\t\t! (\n\t\t\tcreateActiveXObject( 'AcroPDF.PDF' ) ||\n\t\t\tcreateActiveXObject( 'PDF.PdfCtrl' )\n\t\t)\n\t) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\n/**\n * Helper function for creating ActiveX objects, catching any errors that are thrown\n * when it's generated.\n *\n * @param {string} type The name of the ActiveX object to create.\n * @return {window.ActiveXObject|undefined} The generated ActiveXObject, or null if it failed.\n */\nconst createActiveXObject = ( type ) => {\n\tlet ax;\n\ttry {\n\t\tax = new window.ActiveXObject( type );\n\t} catch ( e ) {\n\t\tax = undefined;\n\t}\n\treturn ax;\n};\n\n/**\n * Hides all .wp-block-file__embed elements on the document. This function is only intended\n * to be run on the front-end, it may have weird side effects running in the block editor.\n */\nexport const hidePdfEmbedsOnUnsupportedBrowsers = () => {\n\tif ( ! browserSupportsPdfs() ) {\n\t\tconst embeds = document.getElementsByClassName(\n\t\t\t'wp-block-file__embed'\n\t\t);\n\t\tArray.from( embeds ).forEach( ( embed ) => {\n\t\t\tembed.style.display = 'none';\n\t\t} );\n\t}\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,mBAAmB,GAAGA,CAAA,KAAM;EACxC;EACA,IAAKC,MAAM,CAACC,SAAS,CAACC,SAAS,CAACC,OAAO,CAAE,MAAO,CAAC,GAAG,CAAC,CAAC,EAAG;IACxD,OAAO,KAAK;EACb;;EAEA;EACA,IAAKH,MAAM,CAACC,SAAS,CAACC,SAAS,CAACC,OAAO,CAAE,SAAU,CAAC,GAAG,CAAC,CAAC,EAAG;IAC3D,OAAO,KAAK;EACb;;EAEA;EACA,IACCH,MAAM,CAACC,SAAS,CAACC,SAAS,CAACC,OAAO,CAAE,WAAY,CAAC,GAAG,CAAC,CAAC,IACtDH,MAAM,CAACC,SAAS,CAACG,cAAc,IAC/BJ,MAAM,CAACC,SAAS,CAACG,cAAc,GAAG,CAAC,EAClC;IACD,OAAO,KAAK;EACb;;EAEA;EACA,IACC,CAAC,EAAIJ,MAAM,CAACK,aAAa,IAAI,eAAe,IAAIL,MAAM,CAAE,IACxD,EACCM,mBAAmB,CAAE,aAAc,CAAC,IACpCA,mBAAmB,CAAE,aAAc,CAAC,CACpC,EACA;IACD,OAAO,KAAK;EACb;EAEA,OAAO,IAAI;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,mBAAmB,GAAKC,IAAI,IAAM;EACvC,IAAIC,EAAE;EACN,IAAI;IACHA,EAAE,GAAG,IAAIR,MAAM,CAACK,aAAa,CAAEE,IAAK,CAAC;EACtC,CAAC,CAAC,OAAQE,CAAC,EAAG;IACbD,EAAE,GAAGE,SAAS;EACf;EACA,OAAOF,EAAE;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA,OAAO,MAAMG,kCAAkC,GAAGA,CAAA,KAAM;EACvD,IAAK,CAAEZ,mBAAmB,CAAC,CAAC,EAAG;IAC9B,MAAMa,MAAM,GAAGC,QAAQ,CAACC,sBAAsB,CAC7C,sBACD,CAAC;IACDC,KAAK,CAACC,IAAI,CAAEJ,MAAO,CAAC,CAACK,OAAO,CAAIC,KAAK,IAAM;MAC1CA,KAAK,CAACC,KAAK,CAACC,OAAO,GAAG,MAAM;IAC7B,CAAE,CAAC;EACJ;AACD,CAAC"}
1
+ {"version":3,"names":["browserSupportsPdfs","window","navigator","userAgent","indexOf","maxTouchPoints","ActiveXObject","createActiveXObject","type","ax","e","undefined"],"sources":["@wordpress/block-library/src/file/utils/index.js"],"sourcesContent":["/**\n * Uses a combination of user agent matching and feature detection to determine whether\n * the current browser supports rendering PDFs inline.\n *\n * @return {boolean} Whether or not the browser supports inline PDFs.\n */\nexport const browserSupportsPdfs = () => {\n\t// Most mobile devices include \"Mobi\" in their UA.\n\tif ( window.navigator.userAgent.indexOf( 'Mobi' ) > -1 ) {\n\t\treturn false;\n\t}\n\n\t// Android tablets are the noteable exception.\n\tif ( window.navigator.userAgent.indexOf( 'Android' ) > -1 ) {\n\t\treturn false;\n\t}\n\n\t// iPad pretends to be a Mac.\n\tif (\n\t\twindow.navigator.userAgent.indexOf( 'Macintosh' ) > -1 &&\n\t\twindow.navigator.maxTouchPoints &&\n\t\twindow.navigator.maxTouchPoints > 2\n\t) {\n\t\treturn false;\n\t}\n\n\t// IE only supports PDFs when there's an ActiveX object available for it.\n\tif (\n\t\t!! ( window.ActiveXObject || 'ActiveXObject' in window ) &&\n\t\t! (\n\t\t\tcreateActiveXObject( 'AcroPDF.PDF' ) ||\n\t\t\tcreateActiveXObject( 'PDF.PdfCtrl' )\n\t\t)\n\t) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n\n/**\n * Helper function for creating ActiveX objects, catching any errors that are thrown\n * when it's generated.\n *\n * @param {string} type The name of the ActiveX object to create.\n * @return {window.ActiveXObject|undefined} The generated ActiveXObject, or null if it failed.\n */\nconst createActiveXObject = ( type ) => {\n\tlet ax;\n\ttry {\n\t\tax = new window.ActiveXObject( type );\n\t} catch ( e ) {\n\t\tax = undefined;\n\t}\n\treturn ax;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,mBAAmB,GAAGA,CAAA,KAAM;EACxC;EACA,IAAKC,MAAM,CAACC,SAAS,CAACC,SAAS,CAACC,OAAO,CAAE,MAAO,CAAC,GAAG,CAAC,CAAC,EAAG;IACxD,OAAO,KAAK;EACb;;EAEA;EACA,IAAKH,MAAM,CAACC,SAAS,CAACC,SAAS,CAACC,OAAO,CAAE,SAAU,CAAC,GAAG,CAAC,CAAC,EAAG;IAC3D,OAAO,KAAK;EACb;;EAEA;EACA,IACCH,MAAM,CAACC,SAAS,CAACC,SAAS,CAACC,OAAO,CAAE,WAAY,CAAC,GAAG,CAAC,CAAC,IACtDH,MAAM,CAACC,SAAS,CAACG,cAAc,IAC/BJ,MAAM,CAACC,SAAS,CAACG,cAAc,GAAG,CAAC,EAClC;IACD,OAAO,KAAK;EACb;;EAEA;EACA,IACC,CAAC,EAAIJ,MAAM,CAACK,aAAa,IAAI,eAAe,IAAIL,MAAM,CAAE,IACxD,EACCM,mBAAmB,CAAE,aAAc,CAAC,IACpCA,mBAAmB,CAAE,aAAc,CAAC,CACpC,EACA;IACD,OAAO,KAAK;EACb;EAEA,OAAO,IAAI;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,mBAAmB,GAAKC,IAAI,IAAM;EACvC,IAAIC,EAAE;EACN,IAAI;IACHA,EAAE,GAAG,IAAIR,MAAM,CAACK,aAAa,CAAEE,IAAK,CAAC;EACtC,CAAC,CAAC,OAAQE,CAAC,EAAG;IACbD,EAAE,GAAGE,SAAS;EACf;EACA,OAAOF,EAAE;AACV,CAAC"}
@@ -1,6 +1,18 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { store } from '@wordpress/interactivity';
1
5
  /**
2
6
  * Internal dependencies
3
7
  */
4
- import { hidePdfEmbedsOnUnsupportedBrowsers } from './utils';
5
- document.addEventListener('DOMContentLoaded', hidePdfEmbedsOnUnsupportedBrowsers);
8
+ import { browserSupportsPdfs } from './utils';
9
+ store({
10
+ selectors: {
11
+ core: {
12
+ file: {
13
+ hasPdfPreview: browserSupportsPdfs() ? 'inherit' : 'none'
14
+ }
15
+ }
16
+ }
17
+ });
6
18
  //# sourceMappingURL=view.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["hidePdfEmbedsOnUnsupportedBrowsers","document","addEventListener"],"sources":["@wordpress/block-library/src/file/view.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { hidePdfEmbedsOnUnsupportedBrowsers } from './utils';\n\ndocument.addEventListener(\n\t'DOMContentLoaded',\n\thidePdfEmbedsOnUnsupportedBrowsers\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,kCAAkC,QAAQ,SAAS;AAE5DC,QAAQ,CAACC,gBAAgB,CACxB,kBAAkB,EAClBF,kCACD,CAAC"}
1
+ {"version":3,"names":["store","browserSupportsPdfs","selectors","core","file","hasPdfPreview"],"sources":["@wordpress/block-library/src/file/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store } from '@wordpress/interactivity';\n/**\n * Internal dependencies\n */\nimport { browserSupportsPdfs } from './utils';\n\nstore( {\n\tselectors: {\n\t\tcore: {\n\t\t\tfile: {\n\t\t\t\thasPdfPreview: browserSupportsPdfs() ? 'inherit' : 'none',\n\t\t\t},\n\t\t},\n\t},\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,QAAQ,0BAA0B;AAChD;AACA;AACA;AACA,SAASC,mBAAmB,QAAQ,SAAS;AAE7CD,KAAK,CAAE;EACNE,SAAS,EAAE;IACVC,IAAI,EAAE;MACLC,IAAI,EAAE;QACLC,aAAa,EAAEJ,mBAAmB,CAAC,CAAC,GAAG,SAAS,GAAG;MACpD;IACD;EACD;AACD,CAAE,CAAC"}
@@ -23,11 +23,10 @@ export default function FootnotesEdit({
23
23
  icon: createElement(BlockIcon, {
24
24
  icon: icon
25
25
  }),
26
- label: __('Footnotes')
27
- // To do: add instructions. We can't add new string in RC.
26
+ label: __('Footnotes'),
27
+ instructions: __('Footnotes are not supported here. Add this block to post or page content.')
28
28
  }));
29
29
  }
30
-
31
30
  if (!footnotes.length) {
32
31
  return createElement("div", {
33
32
  ...blockProps
@@ -44,8 +43,18 @@ export default function FootnotesEdit({
44
43
  }, footnotes.map(({
45
44
  id,
46
45
  content
47
- }) => createElement("li", {
48
- key: id
46
+ }) => /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */
47
+ createElement("li", {
48
+ key: id,
49
+ onMouseDown: event => {
50
+ // When clicking on the list item (not on descendants),
51
+ // focus the rich text element since it's only 1px wide when
52
+ // empty.
53
+ if (event.target === event.currentTarget) {
54
+ event.target.firstElementChild.focus();
55
+ event.preventDefault();
56
+ }
57
+ }
49
58
  }, createElement(RichText, {
50
59
  id: id,
51
60
  tagName: "span",
@@ -1 +1 @@
1
- {"version":3,"names":["BlockIcon","RichText","useBlockProps","useEntityProp","__","Placeholder","formatListNumbered","icon","FootnotesEdit","context","postType","postId","meta","updateMeta","footnotes","JSON","parse","blockProps","createElement","label","length","instructions","map","id","content","key","tagName","value","identifier","onFocus","event","target","textContent","trim","scrollIntoView","onChange","nextFootnote","stringify","footnote","href"],"sources":["@wordpress/block-library/src/footnotes/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockIcon, RichText, useBlockProps } from '@wordpress/block-editor';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { Placeholder } from '@wordpress/components';\nimport { formatListNumbered as icon } from '@wordpress/icons';\n\nexport default function FootnotesEdit( { context: { postType, postId } } ) {\n\tconst [ meta, updateMeta ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'meta',\n\t\tpostId\n\t);\n\tconst footnotes = meta?.footnotes ? JSON.parse( meta.footnotes ) : [];\n\tconst blockProps = useBlockProps();\n\n\tif ( postType !== 'post' && postType !== 'page' ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\t// To do: add instructions. We can't add new string in RC.\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( ! footnotes.length ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Footnotes found in blocks within this document will be displayed here.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ol { ...blockProps }>\n\t\t\t{ footnotes.map( ( { id, content } ) => (\n\t\t\t\t<li key={ id }>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\tidentifier={ id }\n\t\t\t\t\t\t// To do: figure out why the browser is not scrolling\n\t\t\t\t\t\t// into view when it receives focus.\n\t\t\t\t\t\tonFocus={ ( event ) => {\n\t\t\t\t\t\t\tif ( ! event.target.textContent.trim() ) {\n\t\t\t\t\t\t\t\tevent.target.scrollIntoView();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( nextFootnote ) => {\n\t\t\t\t\t\t\tupdateMeta( {\n\t\t\t\t\t\t\t\t...meta,\n\t\t\t\t\t\t\t\tfootnotes: JSON.stringify(\n\t\t\t\t\t\t\t\t\tfootnotes.map( ( footnote ) => {\n\t\t\t\t\t\t\t\t\t\treturn footnote.id === id\n\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: nextFootnote,\n\t\t\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: footnote;\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>{ ' ' }\n\t\t\t\t\t<a href={ `#${ id }-link` }>↩︎</a>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t</ol>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,QAAQ,EAAEC,aAAa,QAAQ,yBAAyB;AAC5E,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,WAAW,QAAQ,uBAAuB;AACnD,SAASC,kBAAkB,IAAIC,IAAI,QAAQ,kBAAkB;AAE7D,eAAe,SAASC,aAAaA,CAAE;EAAEC,OAAO,EAAE;IAAEC,QAAQ;IAAEC;EAAO;AAAE,CAAC,EAAG;EAC1E,MAAM,CAAEC,IAAI,EAAEC,UAAU,CAAE,GAAGV,aAAa,CACzC,UAAU,EACVO,QAAQ,EACR,MAAM,EACNC,MACD,CAAC;EACD,MAAMG,SAAS,GAAGF,IAAI,EAAEE,SAAS,GAAGC,IAAI,CAACC,KAAK,CAAEJ,IAAI,CAACE,SAAU,CAAC,GAAG,EAAE;EACrE,MAAMG,UAAU,GAAGf,aAAa,CAAC,CAAC;EAElC,IAAKQ,QAAQ,KAAK,MAAM,IAAIA,QAAQ,KAAK,MAAM,EAAG;IACjD,OACCQ,aAAA;MAAA,GAAUD;IAAU,GACnBC,aAAA,CAACb,WAAW;MACXE,IAAI,EAAGW,aAAA,CAAClB,SAAS;QAACO,IAAI,EAAGA;MAAM,CAAE,CAAG;MACpCY,KAAK,EAAGf,EAAE,CAAE,WAAY;MACxB;IAAA,CACA,CACG,CAAC;EAER;;EAEA,IAAK,CAAEU,SAAS,CAACM,MAAM,EAAG;IACzB,OACCF,aAAA;MAAA,GAAUD;IAAU,GACnBC,aAAA,CAACb,WAAW;MACXE,IAAI,EAAGW,aAAA,CAAClB,SAAS;QAACO,IAAI,EAAGA;MAAM,CAAE,CAAG;MACpCY,KAAK,EAAGf,EAAE,CAAE,WAAY,CAAG;MAC3BiB,YAAY,EAAGjB,EAAE,CAChB,wEACD;IAAG,CACH,CACG,CAAC;EAER;EAEA,OACCc,aAAA;IAAA,GAASD;EAAU,GAChBH,SAAS,CAACQ,GAAG,CAAE,CAAE;IAAEC,EAAE;IAAEC;EAAQ,CAAC,KACjCN,aAAA;IAAIO,GAAG,EAAGF;EAAI,GACbL,aAAA,CAACjB,QAAQ;IACRsB,EAAE,EAAGA,EAAI;IACTG,OAAO,EAAC,MAAM;IACdC,KAAK,EAAGH,OAAS;IACjBI,UAAU,EAAGL;IACb;IACA;IAAA;IACAM,OAAO,EAAKC,KAAK,IAAM;MACtB,IAAK,CAAEA,KAAK,CAACC,MAAM,CAACC,WAAW,CAACC,IAAI,CAAC,CAAC,EAAG;QACxCH,KAAK,CAACC,MAAM,CAACG,cAAc,CAAC,CAAC;MAC9B;IACD,CAAG;IACHC,QAAQ,EAAKC,YAAY,IAAM;MAC9BvB,UAAU,CAAE;QACX,GAAGD,IAAI;QACPE,SAAS,EAAEC,IAAI,CAACsB,SAAS,CACxBvB,SAAS,CAACQ,GAAG,CAAIgB,QAAQ,IAAM;UAC9B,OAAOA,QAAQ,CAACf,EAAE,KAAKA,EAAE,GACtB;YACAC,OAAO,EAAEY,YAAY;YACrBb;UACA,CAAC,GACDe,QAAQ;QACZ,CAAE,CACH;MACD,CAAE,CAAC;IACJ;EAAG,CACH,CAAC,EAAE,GAAG,EACPpB,aAAA;IAAGqB,IAAI,EAAI,IAAIhB,EAAI;EAAQ,GAAC,cAAK,CAC9B,CACH,CACC,CAAC;AAEP"}
1
+ {"version":3,"names":["BlockIcon","RichText","useBlockProps","useEntityProp","__","Placeholder","formatListNumbered","icon","FootnotesEdit","context","postType","postId","meta","updateMeta","footnotes","JSON","parse","blockProps","createElement","label","instructions","length","map","id","content","key","onMouseDown","event","target","currentTarget","firstElementChild","focus","preventDefault","tagName","value","identifier","onFocus","textContent","trim","scrollIntoView","onChange","nextFootnote","stringify","footnote","href"],"sources":["@wordpress/block-library/src/footnotes/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockIcon, RichText, useBlockProps } from '@wordpress/block-editor';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport { Placeholder } from '@wordpress/components';\nimport { formatListNumbered as icon } from '@wordpress/icons';\n\nexport default function FootnotesEdit( { context: { postType, postId } } ) {\n\tconst [ meta, updateMeta ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'meta',\n\t\tpostId\n\t);\n\tconst footnotes = meta?.footnotes ? JSON.parse( meta.footnotes ) : [];\n\tconst blockProps = useBlockProps();\n\n\tif ( postType !== 'post' && postType !== 'page' ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Footnotes are not supported here. Add this block to post or page content.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( ! footnotes.length ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabel={ __( 'Footnotes' ) }\n\t\t\t\t\tinstructions={ __(\n\t\t\t\t\t\t'Footnotes found in blocks within this document will be displayed here.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ol { ...blockProps }>\n\t\t\t{ footnotes.map( ( { id, content } ) => (\n\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t\t<li\n\t\t\t\t\tkey={ id }\n\t\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\t\t// When clicking on the list item (not on descendants),\n\t\t\t\t\t\t// focus the rich text element since it's only 1px wide when\n\t\t\t\t\t\t// empty.\n\t\t\t\t\t\tif ( event.target === event.currentTarget ) {\n\t\t\t\t\t\t\tevent.target.firstElementChild.focus();\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tid={ id }\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\tidentifier={ id }\n\t\t\t\t\t\t// To do: figure out why the browser is not scrolling\n\t\t\t\t\t\t// into view when it receives focus.\n\t\t\t\t\t\tonFocus={ ( event ) => {\n\t\t\t\t\t\t\tif ( ! event.target.textContent.trim() ) {\n\t\t\t\t\t\t\t\tevent.target.scrollIntoView();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ ( nextFootnote ) => {\n\t\t\t\t\t\t\tupdateMeta( {\n\t\t\t\t\t\t\t\t...meta,\n\t\t\t\t\t\t\t\tfootnotes: JSON.stringify(\n\t\t\t\t\t\t\t\t\tfootnotes.map( ( footnote ) => {\n\t\t\t\t\t\t\t\t\t\treturn footnote.id === id\n\t\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t\tcontent: nextFootnote,\n\t\t\t\t\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t\t: footnote;\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>{ ' ' }\n\t\t\t\t\t<a href={ `#${ id }-link` }>↩︎</a>\n\t\t\t\t</li>\n\t\t\t) ) }\n\t\t</ol>\n\t);\n}\n"],"mappings":"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"}
@@ -46,7 +46,7 @@ const linkOptions = [{
46
46
  }];
47
47
  const ALLOWED_MEDIA_TYPES = ['image'];
48
48
  const allowedBlocks = ['core/image'];
49
- const PLACEHOLDER_TEXT = Platform.isNative ? __('ADD MEDIA') : __('Drag images, upload new ones or select files from your library.');
49
+ const PLACEHOLDER_TEXT = Platform.isNative ? __('Add media') : __('Drag images, upload new ones or select files from your library.');
50
50
  const MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative ? {
51
51
  type: 'stepper'
52
52
  } : {};