@wordpress/block-library 8.29.0 → 8.31.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 (527) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/audio/edit.js +7 -17
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/edit.native.js.map +1 -1
  5. package/build/avatar/edit.js.map +1 -1
  6. package/build/block/deprecated.js +71 -11
  7. package/build/block/deprecated.js.map +1 -1
  8. package/build/block/edit.js +65 -31
  9. package/build/block/edit.js.map +1 -1
  10. package/build/button/edit.js +2 -2
  11. package/build/button/edit.js.map +1 -1
  12. package/build/buttons/edit.native.js.map +1 -1
  13. package/build/buttons/transforms.js +16 -2
  14. package/build/buttons/transforms.js.map +1 -1
  15. package/build/code/save.js +3 -1
  16. package/build/code/save.js.map +1 -1
  17. package/build/code/transforms.js +17 -6
  18. package/build/code/transforms.js.map +1 -1
  19. package/build/columns/edit.js +3 -2
  20. package/build/columns/edit.js.map +1 -1
  21. package/build/comment-author-avatar/edit.js +1 -1
  22. package/build/comment-author-avatar/edit.js.map +1 -1
  23. package/build/cover/edit/block-controls.js +14 -3
  24. package/build/cover/edit/block-controls.js.map +1 -1
  25. package/build/cover/edit/index.js +2 -1
  26. package/build/cover/edit/index.js.map +1 -1
  27. package/build/cover/edit/inspector-controls.js.map +1 -1
  28. package/build/cover/edit/resizable-cover-popover.js +0 -6
  29. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  30. package/build/cover/edit.native.js.map +1 -1
  31. package/build/details/edit.js +1 -0
  32. package/build/details/edit.js.map +1 -1
  33. package/build/file/deprecated.js.map +1 -1
  34. package/build/file/edit.js +8 -13
  35. package/build/file/edit.js.map +1 -1
  36. package/build/file/edit.native.js.map +1 -1
  37. package/build/file/save.js.map +1 -1
  38. package/build/form-input/edit.js +1 -1
  39. package/build/form-input/edit.js.map +1 -1
  40. package/build/gallery/edit.js.map +1 -1
  41. package/build/gallery/gallery.native.js.map +1 -1
  42. package/build/gallery/v1/edit.js.map +1 -1
  43. package/build/gallery/v1/gallery.native.js.map +1 -1
  44. package/build/heading/index.js +4 -3
  45. package/build/heading/index.js.map +1 -1
  46. package/build/heading/transforms.js +17 -4
  47. package/build/heading/transforms.js.map +1 -1
  48. package/build/image/edit.js +8 -4
  49. package/build/image/edit.js.map +1 -1
  50. package/build/image/edit.native.js.map +1 -1
  51. package/build/image/image.js +22 -8
  52. package/build/image/image.js.map +1 -1
  53. package/build/latest-posts/edit.native.js.map +1 -1
  54. package/build/list/ordered-list-settings.js +1 -1
  55. package/build/list/ordered-list-settings.js.map +1 -1
  56. package/build/list-item/edit.js +1 -3
  57. package/build/list-item/edit.js.map +1 -1
  58. package/build/list-item/edit.native.js.map +1 -1
  59. package/build/list-item/hooks/index.js +0 -7
  60. package/build/list-item/hooks/index.js.map +1 -1
  61. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  62. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  63. package/build/list-item/hooks/use-outdent-list-item.js +1 -0
  64. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  65. package/build/list-item/hooks/use-space.js +16 -7
  66. package/build/list-item/hooks/use-space.js.map +1 -1
  67. package/build/list-item/index.js +4 -1
  68. package/build/list-item/index.js.map +1 -1
  69. package/build/media-text/edit.js +33 -9
  70. package/build/media-text/edit.js.map +1 -1
  71. package/build/media-text/index.js +5 -0
  72. package/build/media-text/index.js.map +1 -1
  73. package/build/media-text/media-container.js +30 -11
  74. package/build/media-text/media-container.js.map +1 -1
  75. package/build/media-text/media-container.native.js +1 -1
  76. package/build/media-text/media-container.native.js.map +1 -1
  77. package/build/media-text/save.js +2 -2
  78. package/build/media-text/save.js.map +1 -1
  79. package/build/navigation/edit/index.js +23 -29
  80. package/build/navigation/edit/index.js.map +1 -1
  81. package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
  82. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  83. package/build/navigation/edit/navigation-menu-selector.js +24 -23
  84. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  85. package/build/navigation/edit/placeholder/index.js +4 -4
  86. package/build/navigation/edit/placeholder/index.js.map +1 -1
  87. package/build/navigation/use-navigation-menu.js +15 -12
  88. package/build/navigation/use-navigation-menu.js.map +1 -1
  89. package/build/navigation-link/edit.js +12 -10
  90. package/build/navigation-link/edit.js.map +1 -1
  91. package/build/navigation-link/link-ui.js.map +1 -1
  92. package/build/navigation-submenu/edit.js +4 -0
  93. package/build/navigation-submenu/edit.js.map +1 -1
  94. package/build/paragraph/edit.native.js.map +1 -1
  95. package/build/pattern/edit.js +11 -0
  96. package/build/pattern/edit.js.map +1 -1
  97. package/build/post-author/edit.js +1 -0
  98. package/build/post-author/edit.js.map +1 -1
  99. package/build/post-excerpt/edit.js +1 -0
  100. package/build/post-excerpt/edit.js.map +1 -1
  101. package/build/post-featured-image/dimension-controls.js.map +1 -1
  102. package/build/post-featured-image/edit.js +12 -12
  103. package/build/post-featured-image/edit.js.map +1 -1
  104. package/build/post-featured-image/index.js +6 -0
  105. package/build/post-featured-image/index.js.map +1 -1
  106. package/build/post-navigation-link/edit.js +1 -0
  107. package/build/post-navigation-link/edit.js.map +1 -1
  108. package/build/post-terms/edit.js +2 -0
  109. package/build/post-terms/edit.js.map +1 -1
  110. package/build/post-title/edit.js +2 -2
  111. package/build/post-title/edit.js.map +1 -1
  112. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  113. package/build/query/utils.js +7 -5
  114. package/build/query/utils.js.map +1 -1
  115. package/build/query-pagination-next/edit.js.map +1 -1
  116. package/build/query-pagination-previous/edit.js.map +1 -1
  117. package/build/quote/deprecated.js +111 -12
  118. package/build/quote/deprecated.js.map +1 -1
  119. package/build/quote/edit.js +7 -7
  120. package/build/quote/edit.js.map +1 -1
  121. package/build/quote/index.js +1 -1
  122. package/build/quote/index.js.map +1 -1
  123. package/build/quote/save.js +2 -2
  124. package/build/quote/save.js.map +1 -1
  125. package/build/read-more/edit.js +1 -0
  126. package/build/read-more/edit.js.map +1 -1
  127. package/build/search/edit.js +3 -1
  128. package/build/search/edit.js.map +1 -1
  129. package/build/search/edit.native.js +2 -2
  130. package/build/search/edit.native.js.map +1 -1
  131. package/build/site-logo/edit.js +7 -2
  132. package/build/site-logo/edit.js.map +1 -1
  133. package/build/site-title/{edit/index.js → edit.js} +1 -1
  134. package/build/site-title/edit.js.map +1 -0
  135. package/build/social-link/edit.js +1 -1
  136. package/build/social-link/edit.js.map +1 -1
  137. package/build/social-link/icons/medium.js +1 -1
  138. package/build/social-link/icons/medium.js.map +1 -1
  139. package/build/social-link/icons/reddit.js +1 -1
  140. package/build/social-link/icons/reddit.js.map +1 -1
  141. package/build/social-links/edit.native.js.map +1 -1
  142. package/build/spacer/edit.js.map +1 -1
  143. package/build/table/deprecated.js +285 -175
  144. package/build/table/deprecated.js.map +1 -1
  145. package/build/table/index.js +1 -1
  146. package/build/table-of-contents/edit.js.map +1 -1
  147. package/build/template-part/edit/index.js +53 -1
  148. package/build/template-part/edit/index.js.map +1 -1
  149. package/build/template-part/edit/selection-modal.js +2 -8
  150. package/build/template-part/edit/selection-modal.js.map +1 -1
  151. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
  152. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  153. package/build/utils/caption.js +15 -5
  154. package/build/utils/caption.js.map +1 -1
  155. package/build/utils/get-transformed-metadata.js +57 -0
  156. package/build/utils/get-transformed-metadata.js.map +1 -0
  157. package/build/utils/hooks.js +55 -4
  158. package/build/utils/hooks.js.map +1 -1
  159. package/build/video/edit-common-settings.js.map +1 -1
  160. package/build/video/edit.js +7 -16
  161. package/build/video/edit.js.map +1 -1
  162. package/build/video/edit.native.js +3 -8
  163. package/build/video/edit.native.js.map +1 -1
  164. package/build-module/audio/edit.js +10 -20
  165. package/build-module/audio/edit.js.map +1 -1
  166. package/build-module/audio/edit.native.js.map +1 -1
  167. package/build-module/avatar/edit.js.map +1 -1
  168. package/build-module/block/deprecated.js +71 -11
  169. package/build-module/block/deprecated.js.map +1 -1
  170. package/build-module/block/edit.js +66 -32
  171. package/build-module/block/edit.js.map +1 -1
  172. package/build-module/button/edit.js +3 -3
  173. package/build-module/button/edit.js.map +1 -1
  174. package/build-module/buttons/edit.native.js.map +1 -1
  175. package/build-module/buttons/transforms.js +16 -2
  176. package/build-module/buttons/transforms.js.map +1 -1
  177. package/build-module/code/save.js +3 -1
  178. package/build-module/code/save.js.map +1 -1
  179. package/build-module/code/transforms.js +17 -6
  180. package/build-module/code/transforms.js.map +1 -1
  181. package/build-module/columns/edit.js +3 -2
  182. package/build-module/columns/edit.js.map +1 -1
  183. package/build-module/comment-author-avatar/edit.js +1 -1
  184. package/build-module/comment-author-avatar/edit.js.map +1 -1
  185. package/build-module/cover/edit/block-controls.js +15 -4
  186. package/build-module/cover/edit/block-controls.js.map +1 -1
  187. package/build-module/cover/edit/index.js +2 -1
  188. package/build-module/cover/edit/index.js.map +1 -1
  189. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  190. package/build-module/cover/edit/resizable-cover-popover.js +1 -7
  191. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  192. package/build-module/cover/edit.native.js.map +1 -1
  193. package/build-module/details/edit.js +1 -0
  194. package/build-module/details/edit.js.map +1 -1
  195. package/build-module/file/deprecated.js.map +1 -1
  196. package/build-module/file/edit.js +9 -14
  197. package/build-module/file/edit.js.map +1 -1
  198. package/build-module/file/edit.native.js.map +1 -1
  199. package/build-module/file/save.js.map +1 -1
  200. package/build-module/form-input/edit.js +1 -1
  201. package/build-module/form-input/edit.js.map +1 -1
  202. package/build-module/gallery/edit.js.map +1 -1
  203. package/build-module/gallery/gallery.native.js.map +1 -1
  204. package/build-module/gallery/v1/edit.js.map +1 -1
  205. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  206. package/build-module/heading/index.js +4 -3
  207. package/build-module/heading/index.js.map +1 -1
  208. package/build-module/heading/transforms.js +17 -4
  209. package/build-module/heading/transforms.js.map +1 -1
  210. package/build-module/image/edit.js +9 -5
  211. package/build-module/image/edit.js.map +1 -1
  212. package/build-module/image/edit.native.js.map +1 -1
  213. package/build-module/image/image.js +23 -9
  214. package/build-module/image/image.js.map +1 -1
  215. package/build-module/latest-posts/edit.native.js.map +1 -1
  216. package/build-module/list/ordered-list-settings.js +1 -1
  217. package/build-module/list/ordered-list-settings.js.map +1 -1
  218. package/build-module/list-item/edit.js +2 -4
  219. package/build-module/list-item/edit.js.map +1 -1
  220. package/build-module/list-item/edit.native.js.map +1 -1
  221. package/build-module/list-item/hooks/index.js +0 -1
  222. package/build-module/list-item/hooks/index.js.map +1 -1
  223. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  224. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  225. package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
  226. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  227. package/build-module/list-item/hooks/use-space.js +17 -8
  228. package/build-module/list-item/hooks/use-space.js.map +1 -1
  229. package/build-module/list-item/index.js +4 -1
  230. package/build-module/list-item/index.js.map +1 -1
  231. package/build-module/media-text/edit.js +34 -10
  232. package/build-module/media-text/edit.js.map +1 -1
  233. package/build-module/media-text/index.js +5 -0
  234. package/build-module/media-text/index.js.map +1 -1
  235. package/build-module/media-text/media-container.js +31 -12
  236. package/build-module/media-text/media-container.js.map +1 -1
  237. package/build-module/media-text/media-container.native.js +1 -1
  238. package/build-module/media-text/media-container.native.js.map +1 -1
  239. package/build-module/media-text/save.js +2 -2
  240. package/build-module/media-text/save.js.map +1 -1
  241. package/build-module/navigation/edit/index.js +24 -30
  242. package/build-module/navigation/edit/index.js.map +1 -1
  243. package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
  244. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  245. package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
  246. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  247. package/build-module/navigation/edit/placeholder/index.js +4 -4
  248. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  249. package/build-module/navigation/use-navigation-menu.js +15 -12
  250. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  251. package/build-module/navigation-link/edit.js +13 -11
  252. package/build-module/navigation-link/edit.js.map +1 -1
  253. package/build-module/navigation-link/link-ui.js.map +1 -1
  254. package/build-module/navigation-submenu/edit.js +4 -0
  255. package/build-module/navigation-submenu/edit.js.map +1 -1
  256. package/build-module/paragraph/edit.native.js.map +1 -1
  257. package/build-module/pattern/edit.js +11 -0
  258. package/build-module/pattern/edit.js.map +1 -1
  259. package/build-module/post-author/edit.js +1 -0
  260. package/build-module/post-author/edit.js.map +1 -1
  261. package/build-module/post-excerpt/edit.js +1 -0
  262. package/build-module/post-excerpt/edit.js.map +1 -1
  263. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  264. package/build-module/post-featured-image/edit.js +13 -13
  265. package/build-module/post-featured-image/edit.js.map +1 -1
  266. package/build-module/post-featured-image/index.js +6 -0
  267. package/build-module/post-featured-image/index.js.map +1 -1
  268. package/build-module/post-navigation-link/edit.js +1 -0
  269. package/build-module/post-navigation-link/edit.js.map +1 -1
  270. package/build-module/post-terms/edit.js +2 -0
  271. package/build-module/post-terms/edit.js.map +1 -1
  272. package/build-module/post-title/edit.js +2 -2
  273. package/build-module/post-title/edit.js.map +1 -1
  274. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  275. package/build-module/query/utils.js +7 -5
  276. package/build-module/query/utils.js.map +1 -1
  277. package/build-module/query-pagination-next/edit.js.map +1 -1
  278. package/build-module/query-pagination-previous/edit.js.map +1 -1
  279. package/build-module/quote/deprecated.js +112 -13
  280. package/build-module/quote/deprecated.js.map +1 -1
  281. package/build-module/quote/edit.js +7 -7
  282. package/build-module/quote/edit.js.map +1 -1
  283. package/build-module/quote/index.js +1 -1
  284. package/build-module/quote/index.js.map +1 -1
  285. package/build-module/quote/save.js +2 -2
  286. package/build-module/quote/save.js.map +1 -1
  287. package/build-module/read-more/edit.js +1 -0
  288. package/build-module/read-more/edit.js.map +1 -1
  289. package/build-module/search/edit.js +3 -1
  290. package/build-module/search/edit.js.map +1 -1
  291. package/build-module/search/edit.native.js +2 -2
  292. package/build-module/search/edit.native.js.map +1 -1
  293. package/build-module/site-logo/edit.js +7 -2
  294. package/build-module/site-logo/edit.js.map +1 -1
  295. package/build-module/site-title/{edit/index.js → edit.js} +1 -1
  296. package/build-module/site-title/edit.js.map +1 -0
  297. package/build-module/social-link/edit.js +1 -1
  298. package/build-module/social-link/edit.js.map +1 -1
  299. package/build-module/social-link/icons/medium.js +1 -1
  300. package/build-module/social-link/icons/medium.js.map +1 -1
  301. package/build-module/social-link/icons/reddit.js +1 -1
  302. package/build-module/social-link/icons/reddit.js.map +1 -1
  303. package/build-module/social-links/edit.native.js.map +1 -1
  304. package/build-module/spacer/edit.js.map +1 -1
  305. package/build-module/table/deprecated.js +286 -176
  306. package/build-module/table/deprecated.js.map +1 -1
  307. package/build-module/table/index.js +1 -1
  308. package/build-module/table-of-contents/edit.js.map +1 -1
  309. package/build-module/template-part/edit/index.js +57 -5
  310. package/build-module/template-part/edit/index.js.map +1 -1
  311. package/build-module/template-part/edit/selection-modal.js +2 -8
  312. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  313. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
  314. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  315. package/build-module/utils/caption.js +13 -3
  316. package/build-module/utils/caption.js.map +1 -1
  317. package/build-module/utils/get-transformed-metadata.js +51 -0
  318. package/build-module/utils/get-transformed-metadata.js.map +1 -0
  319. package/build-module/utils/hooks.js +54 -3
  320. package/build-module/utils/hooks.js.map +1 -1
  321. package/build-module/video/edit-common-settings.js.map +1 -1
  322. package/build-module/video/edit.js +10 -19
  323. package/build-module/video/edit.js.map +1 -1
  324. package/build-module/video/edit.native.js +3 -8
  325. package/build-module/video/edit.native.js.map +1 -1
  326. package/build-style/common-rtl.css +1 -0
  327. package/build-style/common.css +1 -0
  328. package/build-style/cover/style-rtl.css +2 -1
  329. package/build-style/cover/style.css +2 -1
  330. package/build-style/editor-rtl.css +11 -2
  331. package/build-style/editor.css +11 -2
  332. package/build-style/file/editor-rtl.css +3 -0
  333. package/build-style/file/editor.css +3 -0
  334. package/build-style/group/editor-rtl.css +1 -1
  335. package/build-style/group/editor.css +1 -1
  336. package/build-style/media-text/editor-rtl.css +7 -1
  337. package/build-style/media-text/editor.css +7 -1
  338. package/build-style/search/style-rtl.css +2 -0
  339. package/build-style/search/style.css +2 -0
  340. package/build-style/social-links/style-rtl.css +2 -2
  341. package/build-style/social-links/style.css +2 -2
  342. package/build-style/style-rtl.css +6 -3
  343. package/build-style/style.css +6 -3
  344. package/package.json +34 -34
  345. package/src/archives/index.php +4 -0
  346. package/src/audio/edit.js +9 -19
  347. package/src/audio/edit.native.js +3 -3
  348. package/src/avatar/edit.js +1 -1
  349. package/src/avatar/index.php +6 -0
  350. package/src/block/deprecated.js +76 -11
  351. package/src/block/edit.js +100 -32
  352. package/src/block/index.php +27 -12
  353. package/src/block/test/edit.native.js +67 -0
  354. package/src/button/edit.js +4 -3
  355. package/src/buttons/edit.native.js +1 -1
  356. package/src/buttons/transforms.js +14 -4
  357. package/src/calendar/index.php +17 -0
  358. package/src/categories/index.php +6 -0
  359. package/src/code/save.js +7 -1
  360. package/src/code/transforms.js +20 -5
  361. package/src/columns/edit.js +3 -2
  362. package/src/comment-author-avatar/edit.js +1 -1
  363. package/src/comment-author-name/index.php +4 -0
  364. package/src/comment-content/index.php +4 -0
  365. package/src/comment-date/index.php +4 -0
  366. package/src/comment-edit-link/index.php +4 -0
  367. package/src/comment-reply-link/index.php +4 -0
  368. package/src/comment-template/index.php +4 -0
  369. package/src/comments/index.php +12 -0
  370. package/src/comments-pagination/index.php +4 -0
  371. package/src/comments-pagination-next/index.php +4 -0
  372. package/src/comments-pagination-numbers/index.php +4 -0
  373. package/src/comments-pagination-previous/index.php +4 -0
  374. package/src/comments-title/index.php +4 -0
  375. package/src/cover/edit/block-controls.js +16 -2
  376. package/src/cover/edit/index.js +6 -3
  377. package/src/cover/edit/inspector-controls.js +1 -1
  378. package/src/cover/edit/resizable-cover-popover.js +1 -6
  379. package/src/cover/edit.native.js +1 -1
  380. package/src/cover/index.php +4 -0
  381. package/src/cover/style.scss +3 -2
  382. package/src/details/edit.js +1 -0
  383. package/src/file/deprecated.js +3 -3
  384. package/src/file/edit.js +10 -15
  385. package/src/file/edit.native.js +4 -4
  386. package/src/file/editor.scss +3 -0
  387. package/src/file/index.php +4 -0
  388. package/src/file/save.js +1 -1
  389. package/src/footnotes/index.php +1 -1
  390. package/src/form-input/edit.js +1 -1
  391. package/src/gallery/edit.js +3 -3
  392. package/src/gallery/gallery.native.js +1 -1
  393. package/src/gallery/index.php +6 -0
  394. package/src/gallery/test/index.native.js +1 -1
  395. package/src/gallery/v1/edit.js +2 -2
  396. package/src/gallery/v1/gallery.native.js +1 -1
  397. package/src/group/editor.scss +1 -1
  398. package/src/heading/index.js +4 -3
  399. package/src/heading/index.php +4 -0
  400. package/src/heading/transforms.js +27 -8
  401. package/src/home-link/index.php +10 -0
  402. package/src/image/edit.js +13 -5
  403. package/src/image/edit.native.js +1 -1
  404. package/src/image/editor.scss +1 -0
  405. package/src/image/image.js +34 -22
  406. package/src/image/index.php +12 -1
  407. package/src/latest-comments/index.php +4 -0
  408. package/src/latest-posts/edit.native.js +1 -1
  409. package/src/latest-posts/index.php +8 -0
  410. package/src/list/ordered-list-settings.js +1 -1
  411. package/src/list-item/edit.js +1 -2
  412. package/src/list-item/edit.native.js +1 -1
  413. package/src/list-item/hooks/index.js +0 -1
  414. package/src/list-item/hooks/use-indent-list-item.js +2 -0
  415. package/src/list-item/hooks/use-outdent-list-item.js +2 -0
  416. package/src/list-item/hooks/use-space.js +16 -9
  417. package/src/list-item/index.js +3 -0
  418. package/src/loginout/index.php +4 -0
  419. package/src/media-text/block.json +5 -0
  420. package/src/media-text/edit.js +70 -19
  421. package/src/media-text/editor.scss +7 -1
  422. package/src/media-text/index.php +70 -0
  423. package/src/media-text/media-container.js +49 -9
  424. package/src/media-text/media-container.native.js +5 -3
  425. package/src/media-text/save.js +2 -2
  426. package/src/media-text/test/edit.native.js +58 -0
  427. package/src/missing/test/edit-integration.native.js +2 -1
  428. package/src/navigation/edit/index.js +68 -72
  429. package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
  430. package/src/navigation/edit/navigation-menu-selector.js +39 -21
  431. package/src/navigation/edit/placeholder/index.js +4 -4
  432. package/src/navigation/edit/test/navigation-menu-selector.js +77 -55
  433. package/src/navigation/index.php +118 -34
  434. package/src/navigation/test/use-navigation-menu.js +21 -21
  435. package/src/navigation/use-navigation-menu.js +23 -9
  436. package/src/navigation-link/edit.js +12 -13
  437. package/src/navigation-link/index.php +14 -0
  438. package/src/navigation-link/link-ui.js +2 -2
  439. package/src/navigation-submenu/edit.js +4 -0
  440. package/src/navigation-submenu/index.php +8 -0
  441. package/src/page-list/index.php +12 -0
  442. package/src/page-list-item/index.php +2 -0
  443. package/src/paragraph/edit.native.js +1 -1
  444. package/src/paragraph/test/edit.native.js +36 -0
  445. package/src/pattern/edit.js +14 -0
  446. package/src/pattern/index.php +2 -0
  447. package/src/post-author/edit.js +1 -0
  448. package/src/post-author/index.php +4 -0
  449. package/src/post-author-biography/index.php +4 -0
  450. package/src/post-author-name/index.php +4 -0
  451. package/src/post-comments-form/index.php +6 -0
  452. package/src/post-content/index.php +4 -0
  453. package/src/post-date/index.php +4 -0
  454. package/src/post-excerpt/edit.js +2 -1
  455. package/src/post-excerpt/index.php +4 -0
  456. package/src/post-featured-image/block.json +6 -0
  457. package/src/post-featured-image/dimension-controls.js +4 -4
  458. package/src/post-featured-image/edit.js +14 -12
  459. package/src/post-featured-image/index.php +15 -0
  460. package/src/post-navigation-link/edit.js +2 -1
  461. package/src/post-navigation-link/index.php +4 -0
  462. package/src/post-template/index.php +6 -0
  463. package/src/post-terms/edit.js +2 -0
  464. package/src/post-terms/index.php +6 -0
  465. package/src/post-title/edit.js +49 -43
  466. package/src/post-title/index.php +2 -0
  467. package/src/query/edit/pattern-selection-modal.js +1 -1
  468. package/src/query/index.php +2 -0
  469. package/src/query/utils.js +6 -4
  470. package/src/query-no-results/index.php +4 -0
  471. package/src/query-pagination/index.php +4 -0
  472. package/src/query-pagination-next/edit.js +1 -1
  473. package/src/query-pagination-next/index.php +4 -0
  474. package/src/query-pagination-numbers/index.php +4 -0
  475. package/src/query-pagination-previous/edit.js +1 -1
  476. package/src/query-pagination-previous/index.php +4 -0
  477. package/src/query-title/index.php +4 -0
  478. package/src/quote/block.json +1 -1
  479. package/src/quote/deprecated.js +110 -15
  480. package/src/quote/edit.js +16 -10
  481. package/src/quote/save.js +2 -2
  482. package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
  483. package/src/read-more/edit.js +2 -1
  484. package/src/read-more/index.php +4 -0
  485. package/src/rss/index.php +4 -0
  486. package/src/search/edit.js +3 -1
  487. package/src/search/edit.native.js +6 -6
  488. package/src/search/index.php +20 -2
  489. package/src/search/style.scss +2 -0
  490. package/src/shortcode/index.php +4 -0
  491. package/src/site-logo/edit.js +11 -6
  492. package/src/site-logo/index.php +20 -0
  493. package/src/site-tagline/index.php +4 -0
  494. package/src/site-title/index.php +4 -0
  495. package/src/social-link/edit.js +2 -2
  496. package/src/social-link/icons/medium.js +1 -1
  497. package/src/social-link/icons/reddit.js +1 -1
  498. package/src/social-link/index.php +22 -9
  499. package/src/social-link/socials-with-bg.scss +1 -1
  500. package/src/social-link/socials-without-bg.scss +1 -1
  501. package/src/social-links/edit.native.js +1 -1
  502. package/src/spacer/edit.js +1 -1
  503. package/src/table/block.json +1 -1
  504. package/src/table/deprecated.js +308 -175
  505. package/src/table-of-contents/edit.js +1 -1
  506. package/src/tag-cloud/index.php +4 -0
  507. package/src/template-part/edit/index.js +91 -4
  508. package/src/template-part/edit/selection-modal.js +4 -8
  509. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
  510. package/src/template-part/index.php +10 -0
  511. package/src/term-description/index.php +4 -0
  512. package/src/utils/caption.js +10 -1
  513. package/src/utils/get-transformed-metadata.js +65 -0
  514. package/src/utils/hooks.js +53 -3
  515. package/src/video/edit-common-settings.js +1 -1
  516. package/src/video/edit.js +10 -18
  517. package/src/video/edit.native.js +7 -8
  518. package/src/video/test/edit.native.js +0 -14
  519. package/tsconfig.json +1 -0
  520. package/build/list-item/hooks/use-copy.js +0 -39
  521. package/build/list-item/hooks/use-copy.js.map +0 -1
  522. package/build/site-title/edit/index.js.map +0 -1
  523. package/build-module/list-item/hooks/use-copy.js +0 -32
  524. package/build-module/list-item/hooks/use-copy.js.map +0 -1
  525. package/build-module/site-title/edit/index.js.map +0 -1
  526. package/src/list-item/hooks/use-copy.js +0 -38
  527. /package/src/site-title/{edit/index.js → edit.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_clipboard","_interopRequireDefault","_reactNativeBridge","_blockEditor","_components","_icons","_element","_i18n","_compose","_data","_url","_coreData","_style","URL_COPIED_NOTIFICATION_DURATION_MS","MIN_WIDTH","FileEdit","Component","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","RichText","isEmpty","_x","id","url","getProtocol","mediaUploadSync","componentWillUnmount","clearTimeout","componentDidUpdate","prevProps","isSidebarOpened","setState","media","href","fileName","title","textLinkHref","showDownloadButton","newHref","isUrlCopied","Clipboard","setString","setTimeout","newValue","textLinkTarget","payload","mediaUrl","mediaServerId","mediaId","openSidebar","getToolbarEditButton","open","_react","createElement","BlockControls","ToolbarGroup","ToolbarButton","__","icon","replace","onClick","link","getInspectorControls","isUploadFailed","linkDestinationOptions","value","label","attachmentPage","actionButtonStyle","getStylesFromColorScheme","styles","actionButton","actionButtonDark","isCopyUrlDisabled","dimmedActionButtonStyle","dimmedActionButton","dimmedActionButtonDark","finalButtonStyle","InspectorControls","PanelBody","SelectControl","onChange","options","hideCancelButton","ToggleControl","external","checked","button","TextControl","disabled","labelStyle","onPress","getStyleForAlignment","align","getFlexAlign","alignment","alignSelf","getTextAlignmentForAlignment","requestImageUploadCancelDialog","requestImageFailedRetryDialog","nativeEvent","width","layout","paddingLeft","paddingRight","defaultButton","getPlaceholderWidth","placeholderText","Text","style","placeholder","onTextLayout","textWidth","lines","Math","min","openMediaOptions","getMediaOptions","isSelected","isButtonFocused","minWidth","MediaUploadProgress","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","renderContent","dimmedStyle","disabledButton","errorIconStyle","Object","assign","errorIcon","uploadFailed","TouchableWithoutFeedback","accessible","View","testID","container","withoutInteractiveFormatting","__unstableMobileNoFocusOnMount","tagName","underlineColorAndroid","deleteEnter","textAlign","errorContainer","Icon","warning","PlainText","editable","buttonText","unstableOnFocus","onBlur","selectionColor","color","placeholderTextColor","render","wasBlockJustInserted","MediaPlaceholder","BlockIcon","labels","instructions","onSelect","onFocus","allowedTypes","MEDIA_TYPE_ANY","autoOpenMediaUpload","MediaUpload","isReplacingMedia","exports","_default","default","compose","withSelect","select","clientId","isEditorSidebarOpened","isNotFileHref","coreStore","getMedia","undefined","blockEditorStore","withDispatch","dispatch","openGeneralSidebar","withPreferredColorScheme"],"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 ( RichText.isEmpty( 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":["_reactNative","require","_clipboard","_interopRequireDefault","_reactNativeBridge","_blockEditor","_components","_icons","_element","_i18n","_compose","_data","_url","_coreData","_style","URL_COPIED_NOTIFICATION_DURATION_MS","MIN_WIDTH","FileEdit","Component","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","RichText","isEmpty","_x","id","url","getProtocol","mediaUploadSync","componentWillUnmount","clearTimeout","componentDidUpdate","prevProps","isSidebarOpened","setState","media","href","fileName","title","textLinkHref","showDownloadButton","newHref","isUrlCopied","Clipboard","setString","setTimeout","newValue","textLinkTarget","payload","mediaUrl","mediaServerId","mediaId","openSidebar","getToolbarEditButton","open","_react","createElement","BlockControls","ToolbarGroup","ToolbarButton","__","icon","replace","onClick","link","getInspectorControls","isUploadFailed","linkDestinationOptions","value","label","attachmentPage","actionButtonStyle","getStylesFromColorScheme","styles","actionButton","actionButtonDark","isCopyUrlDisabled","dimmedActionButtonStyle","dimmedActionButton","dimmedActionButtonDark","finalButtonStyle","InspectorControls","PanelBody","SelectControl","onChange","options","hideCancelButton","ToggleControl","external","checked","button","TextControl","disabled","labelStyle","onPress","getStyleForAlignment","align","getFlexAlign","alignment","alignSelf","getTextAlignmentForAlignment","requestImageUploadCancelDialog","requestImageFailedRetryDialog","nativeEvent","width","layout","paddingLeft","paddingRight","defaultButton","getPlaceholderWidth","placeholderText","Text","style","placeholder","onTextLayout","textWidth","lines","Math","min","openMediaOptions","getMediaOptions","isSelected","isButtonFocused","minWidth","MediaUploadProgress","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","renderContent","dimmedStyle","disabledButton","errorIconStyle","Object","assign","errorIcon","uploadFailed","TouchableWithoutFeedback","accessible","View","testID","container","withoutInteractiveFormatting","__unstableMobileNoFocusOnMount","tagName","underlineColorAndroid","deleteEnter","textAlign","errorContainer","Icon","warning","PlainText","editable","buttonText","unstableOnFocus","onBlur","selectionColor","color","placeholderTextColor","render","wasBlockJustInserted","MediaPlaceholder","BlockIcon","labels","instructions","onSelect","onFocus","allowedTypes","MEDIA_TYPE_ANY","autoOpenMediaUpload","MediaUpload","isReplacingMedia","exports","_default","default","compose","withSelect","select","clientId","isEditorSidebarOpened","isNotFileHref","coreStore","getMedia","undefined","blockEditorStore","withDispatch","dispatch","openGeneralSidebar","withPreferredColorScheme"],"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 ( RichText.isEmpty( 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\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\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\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\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":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,kBAAA,GAAAH,OAAA;AAKA,IAAAI,YAAA,GAAAJ,OAAA;AAYA,IAAAK,WAAA,GAAAL,OAAA;AASA,IAAAM,MAAA,GAAAN,OAAA;AAQA,IAAAO,QAAA,GAAAP,OAAA;AACA,IAAAQ,KAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAV,OAAA;AACA,IAAAW,IAAA,GAAAX,OAAA;AACA,IAAAY,SAAA,GAAAZ,OAAA;AAKA,IAAAa,MAAA,GAAAX,sBAAA,CAAAF,OAAA;AArDA;AACA;AACA;;AAIA;AACA;AACA;;AA0CA;AACA;AACA;;AAGA,MAAMc,mCAAmC,GAAG,IAAI;AAChD,MAAMC,SAAS,GAAG,EAAE;AAEb,MAAMC,QAAQ,SAASC,kBAAS,CAAC;EACvCC,WAAWA,CAAEC,KAAK,EAAG;IACpB,KAAK,CAAEA,KAAM,CAAC;IAEd,IAAI,CAACC,KAAK,GAAG;MACZC,kBAAkB,EAAE,KAAK;MACzBC,qBAAqB,EAAE,KAAK;MAC5BC,oBAAoB,EAAE,CAAC;MACvBC,QAAQ,EAAE;IACX,CAAC;IAED,IAAI,CAACC,QAAQ,GAAG,IAAI;IAEpB,IAAI,CAACC,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAACC,IAAI,CAAE,IAAK,CAAC;IAC1C,IAAI,CAACC,YAAY,GAAG,IAAI,CAACA,YAAY,CAACD,IAAI,CAAE,IAAK,CAAC;IAClD,IAAI,CAACE,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACF,IAAI,CAAE,IAAK,CAAC;IAC1D,IAAI,CAACG,0BAA0B,GAC9B,IAAI,CAACA,0BAA0B,CAACH,IAAI,CAAE,IAAK,CAAC;IAC7C,IAAI,CAACI,mBAAmB,GAAG,IAAI,CAACA,mBAAmB,CAACJ,IAAI,CAAE,IAAK,CAAC;IAChE,IAAI,CAACK,4BAA4B,GAChC,IAAI,CAACA,4BAA4B,CAACL,IAAI,CAAE,IAAK,CAAC;IAC/C,IAAI,CAACM,4BAA4B,GAChC,IAAI,CAACA,4BAA4B,CAACN,IAAI,CAAE,IAAK,CAAC;IAC/C,IAAI,CAACO,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAACP,IAAI,CAAE,IAAK,CAAC;IAC1D,IAAI,CAACQ,gCAAgC,GACpC,IAAI,CAACA,gCAAgC,CAACR,IAAI,CAAE,IAAK,CAAC;IACnD,IAAI,CAACS,SAAS,GAAG,IAAI,CAACA,SAAS,CAACT,IAAI,CAAE,IAAK,CAAC;IAC5C,IAAI,CAACU,uBAAuB,GAC3B,IAAI,CAACA,uBAAuB,CAACV,IAAI,CAAE,IAAK,CAAC;IAE1C,IAAI,CAACW,6BAA6B,GACjC,IAAI,CAACA,6BAA6B,CAACX,IAAI,CAAE,IAAK,CAAC;IAChD,IAAI,CAACY,kBAAkB,GAAG,IAAI,CAACA,kBAAkB,CAACZ,IAAI,CAAE,IAAK,CAAC;IAC9D,IAAI,CAACa,aAAa,GAAG,IAAI,CAACA,aAAa,CAACb,IAAI,CAAE,IAAK,CAAC;IACpD,IAAI,CAACc,qBAAqB,GAAG,IAAI,CAACA,qBAAqB,CAACd,IAAI,CAAE,IAAK,CAAC;EACrE;EAEAe,iBAAiBA,CAAA,EAAG;IACnB,MAAM;MAAEC,UAAU;MAAEC;IAAc,CAAC,GAAG,IAAI,CAACzB,KAAK;IAChD,MAAM;MAAE0B;IAAmB,CAAC,GAAGF,UAAU;IAEzC,IAAKG,qBAAQ,CAACC,OAAO,CAAEF,kBAAmB,CAAC,EAAG;MAC7CD,aAAa,CAAE;QACdC,kBAAkB,EAAE,IAAAG,QAAE,EAAE,UAAU,EAAE,cAAe;MACpD,CAAE,CAAC;IACJ;IAEA,IACCL,UAAU,CAACM,EAAE,IACbN,UAAU,CAACO,GAAG,IACd,IAAAC,gBAAW,EAAER,UAAU,CAACO,GAAI,CAAC,KAAK,OAAO,EACxC;MACD,IAAAE,kCAAe,EAAC,CAAC;IAClB;EACD;EAEAC,oBAAoBA,CAAA,EAAG;IACtBC,YAAY,CAAE,IAAI,CAAC7B,QAAS,CAAC;EAC9B;EAEA8B,kBAAkBA,CAAEC,SAAS,EAAG;IAC/B,IACCA,SAAS,CAACC,eAAe,IACzB,CAAE,IAAI,CAACtC,KAAK,CAACsC,eAAe,IAC5B,IAAI,CAACrC,KAAK,CAACE,qBAAqB,EAC/B;MACD,IAAI,CAACoC,QAAQ,CAAE;QAAEpC,qBAAqB,EAAE;MAAM,CAAE,CAAC;IAClD;EACD;EAEAM,YAAYA,CAAE+B,KAAK,EAAG;IACrB,IAAI,CAACxC,KAAK,CAACyB,aAAa,CAAE;MACzBgB,IAAI,EAAED,KAAK,CAACT,GAAG;MACfW,QAAQ,EAAEF,KAAK,CAACG,KAAK;MACrBC,YAAY,EAAEJ,KAAK,CAACT,GAAG;MACvBD,EAAE,EAAEU,KAAK,CAACV;IACX,CAAE,CAAC;EACJ;EAEApB,gBAAgBA,CAAEgC,QAAQ,EAAG;IAC5B,IAAI,CAAC1C,KAAK,CAACyB,aAAa,CAAE;MAAEiB;IAAS,CAAE,CAAC;EACzC;EAEA/B,0BAA0BA,CAAEe,kBAAkB,EAAG;IAChD,IAAI,CAAC1B,KAAK,CAACyB,aAAa,CAAE;MAAEC;IAAmB,CAAE,CAAC;EACnD;EAEAV,gCAAgCA,CAAE6B,kBAAkB,EAAG;IACtD,IAAI,CAAC7C,KAAK,CAACyB,aAAa,CAAE;MAAEoB;IAAmB,CAAE,CAAC;EACnD;EAEA1B,6BAA6BA,CAAE2B,OAAO,EAAG;IACxC;IACA,IAAI,CAAC9C,KAAK,CAACyB,aAAa,CAAE;MAAEmB,YAAY,EAAEE;IAAQ,CAAE,CAAC;EACtD;EAEA7B,SAASA,CAAA,EAAG;IACX,IAAK,IAAI,CAAChB,KAAK,CAAC8C,WAAW,EAAG;MAC7B;IACD;IACA,MAAM;MAAEN;IAAK,CAAC,GAAG,IAAI,CAACzC,KAAK,CAACwB,UAAU;IACtCwB,kBAAS,CAACC,SAAS,CAAER,IAAK,CAAC;IAE3B,IAAI,CAACF,QAAQ,CAAE;MAAEQ,WAAW,EAAE;IAAK,CAAE,CAAC;IACtC,IAAI,CAACzC,QAAQ,GAAG4C,UAAU,CAAE,MAAM;MACjC,IAAI,CAACX,QAAQ,CAAE;QAAEQ,WAAW,EAAE;MAAM,CAAE,CAAC;IACxC,CAAC,EAAEpD,mCAAoC,CAAC;EACzC;EAEAuB,uBAAuBA,CAAEiC,QAAQ,EAAG;IACnC,IAAI,CAACnD,KAAK,CAACyB,aAAa,CAAE;MACzB2B,cAAc,EAAED,QAAQ,GAAG,QAAQ,GAAG;IACvC,CAAE,CAAC;EACJ;EAEAvC,mBAAmBA,CAAEyC,OAAO,EAAG;IAC9B,MAAM;MAAE5B;IAAc,CAAC,GAAG,IAAI,CAACzB,KAAK;IACpC,IAAKqD,OAAO,CAACC,QAAQ,EAAG;MACvB7B,aAAa,CAAE;QAAEM,GAAG,EAAEsB,OAAO,CAACC;MAAS,CAAE,CAAC;IAC3C;IACA,IAAK,CAAE,IAAI,CAACrD,KAAK,CAACC,kBAAkB,EAAG;MACtC,IAAI,CAACqC,QAAQ,CAAE;QAAErC,kBAAkB,EAAE;MAAK,CAAE,CAAC;IAC9C;EACD;EAEAW,4BAA4BA,CAAEwC,OAAO,EAAG;IACvC,MAAM;MAAE5B;IAAc,CAAC,GAAG,IAAI,CAACzB,KAAK;IAEpCyB,aAAa,CAAE;MACdgB,IAAI,EAAEY,OAAO,CAACC,QAAQ;MACtBxB,EAAE,EAAEuB,OAAO,CAACE,aAAa;MACzBX,YAAY,EAAES,OAAO,CAACC;IACvB,CAAE,CAAC;IACH,IAAI,CAACf,QAAQ,CAAE;MAAErC,kBAAkB,EAAE;IAAM,CAAE,CAAC;EAC/C;EAEAY,4BAA4BA,CAAEuC,OAAO,EAAG;IACvC,IAAI,CAACrD,KAAK,CAACyB,aAAa,CAAE;MAAEK,EAAE,EAAEuB,OAAO,CAACG;IAAQ,CAAE,CAAC;IACnD,IAAI,CAACjB,QAAQ,CAAE;MAAErC,kBAAkB,EAAE;IAAM,CAAE,CAAC;EAC/C;EAEAoB,qBAAqBA,CAAA,EAAG;IACvB,MAAM;MAAEG;IAAc,CAAC,GAAG,IAAI,CAACzB,KAAK;IAEpCyB,aAAa,CAAE;MACdK,EAAE,EAAE,IAAI;MACRW,IAAI,EAAE,IAAI;MACVG,YAAY,EAAE,IAAI;MAClBF,QAAQ,EAAE;IACX,CAAE,CAAC;IACH,IAAI,CAACH,QAAQ,CAAE;MAAErC,kBAAkB,EAAE;IAAM,CAAE,CAAC;EAC/C;EAEAkB,kBAAkBA,CAAA,EAAG;IACpB,IAAI,CAACmB,QAAQ,CACZ;MACCpC,qBAAqB,EAAE;IACxB,CAAC,EACD,IAAI,CAACH,KAAK,CAACyD,WACZ,CAAC;EACF;EAEAC,oBAAoBA,CAAEC,IAAI,EAAG;IAC5B,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAC5E,YAAA,CAAA6E,aAAa,QACb,IAAAF,MAAA,CAAAC,aAAA,EAAC3E,WAAA,CAAA6E,YAAY,QACZ,IAAAH,MAAA,CAAAC,aAAA,EAAC3E,WAAA,CAAA8E,aAAa;MACbrB,KAAK,EAAG,IAAAsB,QAAE,EAAE,WAAY,CAAG;MAC3BC,IAAI,EAAGC,cAAS;MAChBC,OAAO,EAAGT;IAAM,CAChB,CAAC,EACF,IAAAC,MAAA,CAAAC,aAAA,EAAC3E,WAAA,CAAA8E,aAAa;MACbrB,KAAK,EAAG,IAAAsB,QAAE,EAAE,SAAU,CAAG;MACzBC,IAAI,EAAGG,WAAM;MACbD,OAAO,EAAG,IAAI,CAAChD;IAAoB,CACnC,CACY,CACA,CAAC;EAElB;EAEAkD,oBAAoBA,CACnB;IAAEzB,kBAAkB;IAAEO,cAAc;IAAEX,IAAI;IAAEG;EAAa,CAAC,EAC1DJ,KAAK,EACLtC,kBAAkB,EAClBqE,cAAc,EACb;IACD,IAAIC,sBAAsB,GAAG,CAAE;MAAEC,KAAK,EAAEhC,IAAI;MAAEiC,KAAK,EAAE,IAAAT,QAAE,EAAE,KAAM;IAAE,CAAC,CAAE;IACpE,MAAMU,cAAc,GAAGnC,KAAK,IAAIA,KAAK,CAAC6B,IAAI;IAC1C,MAAM;MAAElE;IAAsB,CAAC,GAAG,IAAI,CAACF,KAAK;IAE5C,IAAK0E,cAAc,EAAG;MACrBH,sBAAsB,GAAG,CACxB;QAAEC,KAAK,EAAEhC,IAAI;QAAEiC,KAAK,EAAE,IAAAT,QAAE,EAAE,YAAa;MAAE,CAAC,EAC1C;QAAEQ,KAAK,EAAEE,cAAc;QAAED,KAAK,EAAE,IAAAT,QAAE,EAAE,iBAAkB;MAAE,CAAC,CACzD;IACF;IAEA,MAAMW,iBAAiB,GAAG,IAAI,CAAC5E,KAAK,CAAC6E,wBAAwB,CAC5DC,cAAM,CAACC,YAAY,EACnBD,cAAM,CAACE,gBACR,CAAC;IAED,MAAMC,iBAAiB,GAAGV,cAAc,IAAIrE,kBAAkB;IAE9D,MAAMgF,uBAAuB,GAAG,IAAI,CAAClF,KAAK,CAAC6E,wBAAwB,CAClEC,cAAM,CAACK,kBAAkB,EACzBL,cAAM,CAACM,sBACR,CAAC;IAED,MAAMC,gBAAgB,GAAGJ,iBAAiB,GACvCC,uBAAuB,GACvBN,iBAAiB;IAEpB,OACC,IAAAhB,MAAA,CAAAC,aAAA,EAAC5E,YAAA,CAAAqG,iBAAiB,QACfnF,qBAAqB,IACtB,IAAAyD,MAAA,CAAAC,aAAA,EAAC3E,WAAA,CAAAqG,SAAS;MAAC5C,KAAK,EAAG,IAAAsB,QAAE,EAAE,qBAAsB;IAAG,CAAE,CAClD,EACD,IAAAL,MAAA,CAAAC,aAAA,EAAC3E,WAAA,CAAAqG,SAAS,QACT,IAAA3B,MAAA,CAAAC,aAAA,EAAC3E,WAAA,CAAAsG,aAAa;MACbtB,IAAI,EAAGG,WAAM;MACbK,KAAK,EAAG,IAAAT,QAAE,EAAE,SAAU,CAAG;MACzBQ,KAAK,EAAG7B,YAAc;MACtB6C,QAAQ,EAAG,IAAI,CAACtE,6BAA+B;MAC/CuE,OAAO,EAAGlB,sBAAwB;MAClCmB,gBAAgB;IAAA,CAChB,CAAC,EACF,IAAA/B,MAAA,CAAAC,aAAA,EAAC3E,WAAA,CAAA0G,aAAa;MACb1B,IAAI,EAAG2B,eAAU;MACjBnB,KAAK,EAAG,IAAAT,QAAE,EAAE,iBAAkB,CAAG;MACjC6B,OAAO,EAAG1C,cAAc,KAAK,QAAU;MACvCqC,QAAQ,EAAG,IAAI,CAACvE;IAAyB,CACzC,CAAC,EACA,CAAEf,qBAAqB,IACxB,IAAAyD,MAAA,CAAAC,aAAA,EAAC3E,WAAA,CAAA0G,aAAa;MACb1B,IAAI,EAAG6B,aAAQ;MACfrB,KAAK,EAAG,IAAAT,QAAE,EAAE,sBAAuB,CAAG;MACtC6B,OAAO,EAAGjD,kBAAoB;MAC9B4C,QAAQ,EAAG,IAAI,CAACzE;IAAkC,CAClD,CACD,EACD,IAAA4C,MAAA,CAAAC,aAAA,EAAC3E,WAAA,CAAA8G,WAAW;MACXC,QAAQ,EAAGhB,iBAAmB;MAC9BP,KAAK,EACJ,IAAI,CAACzE,KAAK,CAAC8C,WAAW,GACnB,IAAAkB,QAAE,EAAE,SAAU,CAAC,GACf,IAAAA,QAAE,EAAE,eAAgB,CACvB;MACDiC,UAAU,EACT,IAAI,CAACjG,KAAK,CAAC8C,WAAW,IAAIsC,gBAC1B;MACDc,OAAO,EAAG,IAAI,CAAClF;IAAW,CAC1B,CACS,CACO,CAAC;EAEtB;EAEAmF,oBAAoBA,CAAEC,KAAK,EAAG;IAC7B,MAAMC,YAAY,GAAKC,SAAS,IAAM;MACrC,QAASA,SAAS;QACjB,KAAK,OAAO;UACX,OAAO,UAAU;QAClB,KAAK,QAAQ;UACZ,OAAO,QAAQ;QAChB;UACC,OAAO,YAAY;MACrB;IACD,CAAC;IACD,OAAO;MAAEC,SAAS,EAAEF,YAAY,CAAED,KAAM;IAAE,CAAC;EAC5C;EAEAI,4BAA4BA,CAAEJ,KAAK,EAAG;IACrC,QAASA,KAAK;MACb,KAAK,OAAO;QACX,OAAO,OAAO;MACf,KAAK,QAAQ;QACZ,OAAO,QAAQ;MAChB;QACC,OAAO,MAAM;IACf;EACD;EAEAhF,aAAaA,CAAA,EAAG;IACf,MAAM;MAAEG;IAAW,CAAC,GAAG,IAAI,CAACxB,KAAK;IAEjC,IAAK,IAAI,CAACC,KAAK,CAACC,kBAAkB,EAAG;MACpC,IAAAwG,iDAA8B,EAAElF,UAAU,CAACM,EAAG,CAAC;IAChD,CAAC,MAAM,IACNN,UAAU,CAACM,EAAE,IACb,IAAAE,gBAAW,EAAER,UAAU,CAACiB,IAAK,CAAC,KAAK,OAAO,EACzC;MACD,IAAAkE,gDAA6B,EAAEnF,UAAU,CAACM,EAAG,CAAC;IAC/C;EACD;EAEAvB,QAAQA,CAAE;IAAEqG;EAAY,CAAC,EAAG;IAC3B,MAAM;MAAEC;IAAM,CAAC,GAAGD,WAAW,CAACE,MAAM;IACpC,MAAM;MAAEC,WAAW;MAAEC;IAAa,CAAC,GAAGlC,cAAM,CAACmC,aAAa;IAC1D,IAAI,CAAC1E,QAAQ,CAAE;MACdlC,QAAQ,EAAEwG,KAAK,IAAKE,WAAW,GAAGC,YAAY;IAC/C,CAAE,CAAC;EACJ;;EAEA;EACA;EACA;EACA;EACAE,mBAAmBA,CAAEC,eAAe,EAAG;IACtC,MAAM;MAAE9G,QAAQ;MAAED;IAAqB,CAAC,GAAG,IAAI,CAACH,KAAK;IACrD,OACC,IAAA2D,MAAA,CAAAC,aAAA,EAACjF,YAAA,CAAAwI,IAAI;MACJC,KAAK,EAAGvC,cAAM,CAACwC,WAAa;MAC5BC,YAAY,EAAGA,CAAE;QAAEX;MAAY,CAAC,KAAM;QACrC,MAAMY,SAAS,GACdZ,WAAW,CAACa,KAAK,CAAE,CAAC,CAAE,IAAIb,WAAW,CAACa,KAAK,CAAE,CAAC,CAAE,CAACZ,KAAK;QACvD,IAAKW,SAAS,IAAIA,SAAS,KAAKpH,oBAAoB,EAAG;UACtD,IAAI,CAACmC,QAAQ,CAAE;YACdnC,oBAAoB,EAAEsH,IAAI,CAACC,GAAG,CAC7BH,SAAS,EACTnH,QACD;UACD,CAAE,CAAC;QACJ;MACD;IAAG,GAED8G,eACG,CAAC;EAET;EAEApG,gBAAgBA,CAAE6G,gBAAgB,EAAEC,eAAe,EAAG;IACrD,MAAM;MAAErG,UAAU;MAAEgB,KAAK;MAAEsF;IAAW,CAAC,GAAG,IAAI,CAAC9H,KAAK;IACpD,MAAM;MAAE+H,eAAe;MAAE3H;IAAqB,CAAC,GAAG,IAAI,CAACH,KAAK;IAE5D,MAAM;MAAEyC,QAAQ;MAAEhB,kBAAkB;MAAEI,EAAE;MAAEe,kBAAkB;MAAEwD;IAAM,CAAC,GACpE7E,UAAU;IAEX,MAAMwG,QAAQ,GACbD,eAAe,IACb,CAAEA,eAAe,IAClBrG,kBAAkB,IAClBA,kBAAkB,KAAK,EAAI,GACzB9B,SAAS,GACTQ,oBAAoB;IAExB,MAAM+G,eAAe,GACpBY,eAAe,IACb,CAAEA,eAAe,IAClBrG,kBAAkB,IAClBA,kBAAkB,KAAK,EAAI,GACzB,EAAE,GACF,IAAAuC,QAAE,EAAE,WAAY,CAAC;IAErB,OACC,IAAAL,MAAA,CAAAC,aAAA,EAAC5E,YAAA,CAAAgJ,mBAAmB;MACnBzE,OAAO,EAAG1B,EAAI;MACdoG,qBAAqB,EAAG,IAAI,CAACtH,mBAAqB;MAClDuH,8BAA8B,EAC7B,IAAI,CAACtH,4BACL;MACDuH,8BAA8B,EAC7B,IAAI,CAACtH,4BACL;MACDuH,uBAAuB,EAAG,IAAI,CAAC/G,qBAAuB;MACtDgH,aAAa,EAAGA,CAAE;QAAEpI,kBAAkB;QAAEqE;MAAe,CAAC,KAAM;QAC7D,MAAMgE,WAAW,GAChB,CAAE,IAAI,CAACtI,KAAK,CAACC,kBAAkB,IAAIqE,cAAc,KACjDO,cAAM,CAAC0D,cAAc;QACtB,MAAMnD,gBAAgB,GAAG,CACxBP,cAAM,CAACmC,aAAa,EACpBsB,WAAW,CACX;QAED,MAAME,cAAc,GAAGC,MAAM,CAACC,MAAM,CACnC,CAAC,CAAC,EACF7D,cAAM,CAAC8D,SAAS,EAChB9D,cAAM,CAAC+D,YACR,CAAC;QAED,OACC,IAAAjF,MAAA,CAAAC,aAAA,EAACjF,YAAA,CAAAkK,wBAAwB;UACxBC,UAAU,EAAG,CAAEjB,UAAY;UAC3B3B,OAAO,EAAG,IAAI,CAAC9E,aAAe;UAC9B4E,QAAQ,EAAG,CAAE6B;QAAY,GAEzB,IAAAlE,MAAA,CAAAC,aAAA,EAACjF,YAAA,CAAAoK,IAAI;UACJzI,QAAQ,EAAG,IAAI,CAACA,QAAU;UAC1B0I,MAAM,EAAC;QAAqB,GAE1B,IAAI,CAAC/B,mBAAmB,CAAEC,eAAgB,CAAC,EAC3CjH,kBAAkB,IACnB,IAAI,CAACwD,oBAAoB,CACxBkE,gBACD,CAAC,EACAC,eAAe,CAAC,CAAC,EACjBC,UAAU,IACX,IAAI,CAACxD,oBAAoB,CACxB9C,UAAU,EACVgB,KAAK,EACLtC,kBAAkB,EAClBqE,cACD,CAAC,EACF,IAAAX,MAAA,CAAAC,aAAA,EAACjF,YAAA,CAAAoK,IAAI;UAAC3B,KAAK,EAAGvC,cAAM,CAACoE;QAAW,GAC/B,IAAAtF,MAAA,CAAAC,aAAA,EAAC5E,YAAA,CAAA0C,QAAQ;UACRwH,4BAA4B;UAC5BC,8BAA8B;UAC9B3D,QAAQ,EAAG,IAAI,CAAC/E,gBAAkB;UAClC4G,WAAW,EAAG,IAAArD,QAAE,EAAE,WAAY,CAAG;UACjCoF,OAAO,EAAC,GAAG;UACXC,qBAAqB,EAAC,aAAa;UACnC7E,KAAK,EAAG/B,QAAU;UAClB6G,WAAW;UACXC,SAAS,EAAG,IAAI,CAAC/C,4BAA4B,CAC5CJ,KACD;QAAG,CACH,CAAC,EACA9B,cAAc,IACf,IAAAX,MAAA,CAAAC,aAAA,EAACjF,YAAA,CAAAoK,IAAI;UAAC3B,KAAK,EAAGvC,cAAM,CAAC2E;QAAgB,GACpC,IAAA7F,MAAA,CAAAC,aAAA,EAAC3E,WAAA,CAAAwK,IAAI;UACJxF,IAAI,EAAGyF,cAAS;UAChBtC,KAAK,EAAGoB;QAAgB,CACxB,CAAC,EACF,IAAA7E,MAAA,CAAAC,aAAA,EAAC5E,YAAA,CAAA2K,SAAS;UACTC,QAAQ,EAAG,KAAO;UAClBpF,KAAK,EAAG,IAAAR,QAAE,EAAE,OAAQ,CAAG;UACvBoD,KAAK,EAAGvC,cAAM,CAAC+D;QAAc,CAC7B,CACI,CAEF,CAAC,EACLhG,kBAAkB,IACnB,IAAI,CAAC5C,KAAK,CAACI,QAAQ,GAAG,CAAC,IACtB,IAAAuD,MAAA,CAAAC,aAAA,EAACjF,YAAA,CAAAoK,IAAI;UACJ3B,KAAK,EAAG,CACPhC,gBAAgB,EAChB,IAAI,CAACe,oBAAoB,CACxBC,KACD,CAAC;QACC,GAEH,IAAAzC,MAAA,CAAAC,aAAA,EAAC5E,YAAA,CAAA0C,QAAQ;UACRwH,4BAA4B;UAC5BC,8BAA8B;UAC9BC,OAAO,EAAC,GAAG;UACXG,SAAS,EAAC,QAAQ;UAClBxB,QAAQ,EAAGA,QAAU;UACrB3H,QAAQ,EAAG,IAAI,CAACJ,KAAK,CAACI,QAAU;UAChCkJ,WAAW;UACXlC,KAAK,EAAGvC,cAAM,CAACgF,UAAY;UAC3BrF,KAAK,EAAG/C,kBAAoB;UAC5B4F,WAAW,EAAGH,eAAiB;UAC/B4C,eAAe,EAAGA,CAAA,KACjB,IAAI,CAACxH,QAAQ,CAAE;YACdwF,eAAe,EAAE;UAClB,CAAE,CACF;UACDiC,MAAM,EAAGA,CAAA,KACR,IAAI,CAACzH,QAAQ,CAAE;YACdwF,eAAe,EAAE;UAClB,CAAE,CACF;UACDkC,cAAc,EACbnF,cAAM,CAACgF,UAAU,CAACI,KAClB;UACDC,oBAAoB,EACnBrF,cAAM,CAACqF,oBAAoB,CACzBD,KACF;UACDZ,qBAAqB,EAAC,aAAa;UACnC7D,QAAQ,EACP,IAAI,CACF9E;QACF,CACD,CACI,CAEH,CACmB,CAAC;MAE7B;IAAG,CACH,CAAC;EAEJ;EAEAyJ,MAAMA,CAAA,EAAG;IACR,MAAM;MAAE5I,UAAU;MAAE6I,oBAAoB;MAAEvC;IAAW,CAAC,GAAG,IAAI,CAAC9H,KAAK;IACnE,MAAM;MAAEyC;IAAK,CAAC,GAAGjB,UAAU;IAE3B,IAAK,CAAEiB,IAAI,EAAG;MACb,OACC,IAAAmB,MAAA,CAAAC,aAAA,EAAC5E,YAAA,CAAAqL,gBAAgB;QAChBpG,IAAI,EAAG,IAAAN,MAAA,CAAAC,aAAA,EAAC5E,YAAA,CAAAsL,SAAS;UAACrG,IAAI,EAAGA;QAAM,CAAE,CAAG;QACpCsG,MAAM,EAAG;UACR7H,KAAK,EAAE,IAAAsB,QAAE,EAAE,MAAO,CAAC;UACnBwG,YAAY,EAAE,IAAAxG,QAAE,EAAE,eAAgB;QACnC,CAAG;QACHyG,QAAQ,EAAG,IAAI,CAACjK,YAAc;QAC9BkK,OAAO,EAAG,IAAI,CAAC3K,KAAK,CAAC2K,OAAS;QAC9BC,YAAY,EAAG,CAAEC,2BAAc,CAAI;QACnCC,mBAAmB,EAAGhD,UAAU,IAAIuC;MAAsB,CAC1D,CAAC;IAEJ;IAEA,OACC,IAAAzG,MAAA,CAAAC,aAAA,EAAC5E,YAAA,CAAA8L,WAAW;MACXH,YAAY,EAAG,CAAEC,2BAAc,CAAI;MACnCG,gBAAgB;MAChBN,QAAQ,EAAG,IAAI,CAACjK,YAAc;MAC9B2J,MAAM,EAAGA,CAAE;QAAEzG,IAAI;QAAEkE;MAAgB,CAAC,KAAM;QACzC,OAAO,IAAI,CAAC9G,gBAAgB,CAAE4C,IAAI,EAAEkE,eAAgB,CAAC;MACtD;IAAG,CACH,CAAC;EAEJ;AACD;AAACoD,OAAA,CAAApL,QAAA,GAAAA,QAAA;AAAA,IAAAqL,QAAA,GAAAD,OAAA,CAAAE,OAAA,GAEc,IAAAC,gBAAO,EAAE,CACvB,IAAAC,gBAAU,EAAE,CAAEC,MAAM,EAAEtL,KAAK,KAAM;EAChC,MAAM;IAAEwB,UAAU;IAAEsG,UAAU;IAAEyD;EAAS,CAAC,GAAGvL,KAAK;EAClD,MAAM;IAAE8B,EAAE;IAAEW;EAAK,CAAC,GAAGjB,UAAU;EAC/B,MAAM;IAAEgK;EAAsB,CAAC,GAAGF,MAAM,CAAE,gBAAiB,CAAC;EAC5D,MAAMG,aAAa,GAAG3J,EAAE,IAAI,IAAAE,gBAAW,EAAES,IAAK,CAAC,KAAK,OAAO;EAC3D,OAAO;IACND,KAAK,EAAEiJ,aAAa,GACjBH,MAAM,CAAEI,eAAU,CAAC,CAACC,QAAQ,CAAE7J,EAAG,CAAC,GAClC8J,SAAS;IACZtJ,eAAe,EAAEwF,UAAU,IAAI0D,qBAAqB,CAAC,CAAC;IACtDnB,oBAAoB,EAAEiB,MAAM,CAC3BO,kBACD,CAAC,CAACxB,oBAAoB,CAAEkB,QAAQ,EAAE,eAAgB;EACnD,CAAC;AACF,CAAE,CAAC,EACH,IAAAO,kBAAY,EAAIC,QAAQ,IAAM;EAC7B,MAAM;IAAEC;EAAmB,CAAC,GAAGD,QAAQ,CAAE,gBAAiB,CAAC;EAC3D,OAAO;IACNtI,WAAW,EAAEA,CAAA,KAAMuI,kBAAkB,CAAE,iBAAkB;EAC1D,CAAC;AACF,CAAE,CAAC,EACHC,iCAAwB,CACvB,CAAC,CAAEpM,QAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","save","attributes","href","fileId","fileName","textLinkHref","textLinkTarget","showDownloadButton","downloadButtonText","displayPreview","previewHeight","pdfEmbedLabel","RichText","isEmpty","toString","hasFilename","describedById","undefined","_react","createElement","useBlockProps","Fragment","className","data","type","style","width","height","id","target","rel","Content","value","classnames","__experimentalGetElementClassName","download"],"sources":["@wordpress/block-library/src/file/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\thref,\n\t\tfileId,\n\t\tfileName,\n\t\ttextLinkHref,\n\t\ttextLinkTarget,\n\t\tshowDownloadButton,\n\t\tdownloadButtonText,\n\t\tdisplayPreview,\n\t\tpreviewHeight,\n\t} = attributes;\n\n\tconst pdfEmbedLabel = RichText.isEmpty( fileName )\n\t\t? 'PDF embed'\n\t\t: // To do: use toPlainText, but we need ensure it's RichTextData. See\n\t\t // https://github.com/WordPress/gutenberg/pull/56710.\n\t\t fileName.toString();\n\n\tconst hasFilename = ! RichText.isEmpty( fileName );\n\n\t// Only output an `aria-describedby` when the element it's referring to is\n\t// actually rendered.\n\tconst describedById = hasFilename ? fileId : undefined;\n\n\treturn (\n\t\thref && (\n\t\t\t<div { ...useBlockProps.save() }>\n\t\t\t\t{ displayPreview && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<object\n\t\t\t\t\t\t\tclassName=\"wp-block-file__embed\"\n\t\t\t\t\t\t\tdata={ href }\n\t\t\t\t\t\t\ttype=\"application/pdf\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\theight: `${ previewHeight }px`,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-label={ pdfEmbedLabel }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ hasFilename && (\n\t\t\t\t\t<a\n\t\t\t\t\t\tid={ describedById }\n\t\t\t\t\t\thref={ textLinkHref }\n\t\t\t\t\t\ttarget={ textLinkTarget }\n\t\t\t\t\t\trel={\n\t\t\t\t\t\t\ttextLinkTarget ? 'noreferrer noopener' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RichText.Content value={ fileName } />\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t\t{ showDownloadButton && (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-file__button',\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tdownload={ true }\n\t\t\t\t\t\taria-describedby={ describedById }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RichText.Content value={ downloadButtonText } />\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t)\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAOe,SAASE,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAM;IACLC,IAAI;IACJC,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC,cAAc;IACdC,kBAAkB;IAClBC,kBAAkB;IAClBC,cAAc;IACdC;EACD,CAAC,GAAGT,UAAU;EAEd,MAAMU,aAAa,GAAGC,qBAAQ,CAACC,OAAO,CAAET,QAAS,CAAC,GAC/C,WAAW;EACX;EACA;EACAA,QAAQ,CAACU,QAAQ,CAAC,CAAC;EAEtB,MAAMC,WAAW,GAAG,CAAEH,qBAAQ,CAACC,OAAO,CAAET,QAAS,CAAC;;EAElD;EACA;EACA,MAAMY,aAAa,GAAGD,WAAW,GAAGZ,MAAM,GAAGc,SAAS;EAEtD,OACCf,IAAI,IACH,IAAAgB,MAAA,CAAAC,aAAA;IAAA,GAAUC,0BAAa,CAACpB,IAAI,CAAC;EAAC,GAC3BS,cAAc,IACf,IAAAS,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAG,QAAA,QACC,IAAAH,MAAA,CAAAC,aAAA;IACCG,SAAS,EAAC,sBAAsB;IAChCC,IAAI,EAAGrB,IAAM;IACbsB,IAAI,EAAC,iBAAiB;IACtBC,KAAK,EAAG;MACPC,KAAK,EAAE,MAAM;MACbC,MAAM,EAAG,GAAGjB,aAAe;IAC5B,CAAG;IACH,cAAaC;EAAe,CAC5B,CACA,CACF,EACCI,WAAW,IACZ,IAAAG,MAAA,CAAAC,aAAA;IACCS,EAAE,EAAGZ,aAAe;IACpBd,IAAI,EAAGG,YAAc;IACrBwB,MAAM,EAAGvB,cAAgB;IACzBwB,GAAG,EACFxB,cAAc,GAAG,qBAAqB,GAAGW;EACzC,GAED,IAAAC,MAAA,CAAAC,aAAA,EAACpB,YAAA,CAAAa,QAAQ,CAACmB,OAAO;IAACC,KAAK,EAAG5B;EAAU,CAAE,CACpC,CACH,EACCG,kBAAkB,IACnB,IAAAW,MAAA,CAAAC,aAAA;IACCjB,IAAI,EAAGA,IAAM;IACboB,SAAS,EAAG,IAAAW,mBAAU,EACrB,uBAAuB,EACvB,IAAAC,8CAAiC,EAAE,QAAS,CAC7C,CAAG;IACHC,QAAQ,EAAG,IAAM;IACjB,oBAAmBnB;EAAe,GAElC,IAAAE,MAAA,CAAAC,aAAA,EAACpB,YAAA,CAAAa,QAAQ,CAACmB,OAAO;IAACC,KAAK,EAAGxB;EAAoB,CAAE,CAC9C,CAEA,CACL;AAEH"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","save","attributes","href","fileId","fileName","textLinkHref","textLinkTarget","showDownloadButton","downloadButtonText","displayPreview","previewHeight","pdfEmbedLabel","RichText","isEmpty","toString","hasFilename","describedById","undefined","_react","createElement","useBlockProps","Fragment","className","data","type","style","width","height","id","target","rel","Content","value","classnames","__experimentalGetElementClassName","download"],"sources":["@wordpress/block-library/src/file/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\thref,\n\t\tfileId,\n\t\tfileName,\n\t\ttextLinkHref,\n\t\ttextLinkTarget,\n\t\tshowDownloadButton,\n\t\tdownloadButtonText,\n\t\tdisplayPreview,\n\t\tpreviewHeight,\n\t} = attributes;\n\n\tconst pdfEmbedLabel = RichText.isEmpty( fileName )\n\t\t? 'PDF embed'\n\t\t: // To do: use toPlainText, but we need ensure it's RichTextData. See\n\t\t // https://github.com/WordPress/gutenberg/pull/56710.\n\t\t fileName.toString();\n\n\tconst hasFilename = ! RichText.isEmpty( fileName );\n\n\t// Only output an `aria-describedby` when the element it's referring to is\n\t// actually rendered.\n\tconst describedById = hasFilename ? fileId : undefined;\n\n\treturn (\n\t\thref && (\n\t\t\t<div { ...useBlockProps.save() }>\n\t\t\t\t{ displayPreview && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<object\n\t\t\t\t\t\t\tclassName=\"wp-block-file__embed\"\n\t\t\t\t\t\t\tdata={ href }\n\t\t\t\t\t\t\ttype=\"application/pdf\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\theight: `${ previewHeight }px`,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-label={ pdfEmbedLabel }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ hasFilename && (\n\t\t\t\t\t<a\n\t\t\t\t\t\tid={ describedById }\n\t\t\t\t\t\thref={ textLinkHref }\n\t\t\t\t\t\ttarget={ textLinkTarget }\n\t\t\t\t\t\trel={\n\t\t\t\t\t\t\ttextLinkTarget ? 'noreferrer noopener' : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RichText.Content value={ fileName } />\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t\t{ showDownloadButton && (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-file__button',\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tdownload\n\t\t\t\t\t\taria-describedby={ describedById }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RichText.Content value={ downloadButtonText } />\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t)\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAOe,SAASE,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAM;IACLC,IAAI;IACJC,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC,cAAc;IACdC,kBAAkB;IAClBC,kBAAkB;IAClBC,cAAc;IACdC;EACD,CAAC,GAAGT,UAAU;EAEd,MAAMU,aAAa,GAAGC,qBAAQ,CAACC,OAAO,CAAET,QAAS,CAAC,GAC/C,WAAW;EACX;EACA;EACAA,QAAQ,CAACU,QAAQ,CAAC,CAAC;EAEtB,MAAMC,WAAW,GAAG,CAAEH,qBAAQ,CAACC,OAAO,CAAET,QAAS,CAAC;;EAElD;EACA;EACA,MAAMY,aAAa,GAAGD,WAAW,GAAGZ,MAAM,GAAGc,SAAS;EAEtD,OACCf,IAAI,IACH,IAAAgB,MAAA,CAAAC,aAAA;IAAA,GAAUC,0BAAa,CAACpB,IAAI,CAAC;EAAC,GAC3BS,cAAc,IACf,IAAAS,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAG,QAAA,QACC,IAAAH,MAAA,CAAAC,aAAA;IACCG,SAAS,EAAC,sBAAsB;IAChCC,IAAI,EAAGrB,IAAM;IACbsB,IAAI,EAAC,iBAAiB;IACtBC,KAAK,EAAG;MACPC,KAAK,EAAE,MAAM;MACbC,MAAM,EAAG,GAAGjB,aAAe;IAC5B,CAAG;IACH,cAAaC;EAAe,CAC5B,CACA,CACF,EACCI,WAAW,IACZ,IAAAG,MAAA,CAAAC,aAAA;IACCS,EAAE,EAAGZ,aAAe;IACpBd,IAAI,EAAGG,YAAc;IACrBwB,MAAM,EAAGvB,cAAgB;IACzBwB,GAAG,EACFxB,cAAc,GAAG,qBAAqB,GAAGW;EACzC,GAED,IAAAC,MAAA,CAAAC,aAAA,EAACpB,YAAA,CAAAa,QAAQ,CAACmB,OAAO;IAACC,KAAK,EAAG5B;EAAU,CAAE,CACpC,CACH,EACCG,kBAAkB,IACnB,IAAAW,MAAA,CAAAC,aAAA;IACCjB,IAAI,EAAGA,IAAM;IACboB,SAAS,EAAG,IAAAW,mBAAU,EACrB,uBAAuB,EACvB,IAAAC,8CAAiC,EAAE,QAAS,CAC7C,CAAG;IACHC,QAAQ;IACR,oBAAmBnB;EAAe,GAElC,IAAAE,MAAA,CAAAC,aAAA,EAACpB,YAAA,CAAAa,QAAQ,CAACmB,OAAO;IAACC,KAAK,EAAGxB;EAAoB,CAAE,CAC9C,CAEA,CACL;AAEH"}
@@ -42,7 +42,7 @@ function InputFieldBlock({
42
42
  ref.current.focus();
43
43
  }
44
44
  const controls = (0, _react.createElement)(_react.Fragment, null, 'hidden' !== type && (0, _react.createElement)(_blockEditor.InspectorControls, null, (0, _react.createElement)(_components.PanelBody, {
45
- title: (0, _i18n.__)('Input settings')
45
+ title: (0, _i18n.__)('Settings')
46
46
  }, 'checkbox' !== type && (0, _react.createElement)(_components.CheckboxControl, {
47
47
  label: (0, _i18n.__)('Inline label'),
48
48
  checked: inlineLabel,
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_blockEditor","_components","_element","InputFieldBlock","attributes","setAttributes","className","type","name","label","inlineLabel","required","placeholder","value","blockProps","useBlockProps","ref","useRef","TagName","borderProps","useBorderProps","colorProps","useColorProps","current","focus","controls","_react","createElement","Fragment","InspectorControls","PanelBody","title","__","CheckboxControl","checked","onChange","newVal","group","TextControl","autoComplete","help","classNames","event","target","RichText","tagName","newLabel","undefined","style","_default","exports","default"],"sources":["@wordpress/block-library/src/form-input/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, TextControl, CheckboxControl } from '@wordpress/components';\n\nimport { useRef } from '@wordpress/element';\n\nfunction InputFieldBlock( { attributes, setAttributes, className } ) {\n\tconst { type, name, label, inlineLabel, required, placeholder, value } =\n\t\tattributes;\n\tconst blockProps = useBlockProps();\n\tconst ref = useRef();\n\tconst TagName = type === 'textarea' ? 'textarea' : 'input';\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tif ( ref.current ) {\n\t\tref.current.focus();\n\t}\n\n\tconst controls = (\n\t\t<>\n\t\t\t{ 'hidden' !== type && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Input settings' ) }>\n\t\t\t\t\t\t{ 'checkbox' !== type && (\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Inline label' ) }\n\t\t\t\t\t\t\t\tchecked={ inlineLabel }\n\t\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tinlineLabel: newVal,\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\t<CheckboxControl\n\t\t\t\t\t\t\tlabel={ __( 'Required' ) }\n\t\t\t\t\t\t\tchecked={ required }\n\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\trequired: newVal,\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</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ name }\n\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tname: newVal,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Affects the \"name\" atribute of the input element, and is used as a name for the form submission results.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tif ( 'hidden' === type ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<input\n\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\tclassName={ classNames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-form-input__input',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ __( 'Value' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\tsetAttributes( { value: event.target.value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t<span\n\t\t\t\tclassName={ classNames( 'wp-block-form-input__label', {\n\t\t\t\t\t'is-label-inline': inlineLabel || 'checkbox' === type,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\tclassName=\"wp-block-form-input__label-content\"\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t\t}\n\t\t\t\t\taria-label={ label ? __( 'Label' ) : __( 'Empty label' ) }\n\t\t\t\t\tdata-empty={ label ? false : true }\n\t\t\t\t\tplaceholder={ __( 'Type the label for this input' ) }\n\t\t\t\t/>\n\t\t\t\t<TagName\n\t\t\t\t\ttype={ 'textarea' === type ? undefined : type }\n\t\t\t\t\tclassName={ classNames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-form-input__input',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t\t// which is confusing.\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ placeholder }\n\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t\t}\n\t\t\t\t\taria-required={ required }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n\nexport default InputFieldBlock;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_blockEditor","_components","_element","InputFieldBlock","attributes","setAttributes","className","type","name","label","inlineLabel","required","placeholder","value","blockProps","useBlockProps","ref","useRef","TagName","borderProps","useBorderProps","colorProps","useColorProps","current","focus","controls","_react","createElement","Fragment","InspectorControls","PanelBody","title","__","CheckboxControl","checked","onChange","newVal","group","TextControl","autoComplete","help","classNames","event","target","RichText","tagName","newLabel","undefined","style","_default","exports","default"],"sources":["@wordpress/block-library/src/form-input/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, TextControl, CheckboxControl } from '@wordpress/components';\n\nimport { useRef } from '@wordpress/element';\n\nfunction InputFieldBlock( { attributes, setAttributes, className } ) {\n\tconst { type, name, label, inlineLabel, required, placeholder, value } =\n\t\tattributes;\n\tconst blockProps = useBlockProps();\n\tconst ref = useRef();\n\tconst TagName = type === 'textarea' ? 'textarea' : 'input';\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tif ( ref.current ) {\n\t\tref.current.focus();\n\t}\n\n\tconst controls = (\n\t\t<>\n\t\t\t{ 'hidden' !== type && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ 'checkbox' !== type && (\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Inline label' ) }\n\t\t\t\t\t\t\t\tchecked={ inlineLabel }\n\t\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tinlineLabel: newVal,\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\t<CheckboxControl\n\t\t\t\t\t\t\tlabel={ __( 'Required' ) }\n\t\t\t\t\t\t\tchecked={ required }\n\t\t\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\trequired: newVal,\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</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ name }\n\t\t\t\t\tonChange={ ( newVal ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tname: newVal,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Affects the \"name\" atribute of the input element, and is used as a name for the form submission results.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tif ( 'hidden' === type ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<input\n\t\t\t\t\ttype=\"hidden\"\n\t\t\t\t\tclassName={ classNames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-form-input__input',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ __( 'Value' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\tsetAttributes( { value: event.target.value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t<span\n\t\t\t\tclassName={ classNames( 'wp-block-form-input__label', {\n\t\t\t\t\t'is-label-inline': inlineLabel || 'checkbox' === type,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\tclassName=\"wp-block-form-input__label-content\"\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t\t}\n\t\t\t\t\taria-label={ label ? __( 'Label' ) : __( 'Empty label' ) }\n\t\t\t\t\tdata-empty={ label ? false : true }\n\t\t\t\t\tplaceholder={ __( 'Type the label for this input' ) }\n\t\t\t\t/>\n\t\t\t\t<TagName\n\t\t\t\t\ttype={ 'textarea' === type ? undefined : type }\n\t\t\t\t\tclassName={ classNames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-form-input__input',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t\t// which is confusing.\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ placeholder }\n\t\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t\t}\n\t\t\t\t\taria-required={ required }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</span>\n\t\t</div>\n\t);\n}\n\nexport default InputFieldBlock;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_compose","_components","_blockEditor","_element","_i18n","_data","_viewport","_primitives","_blocks","_blob","_notices","_sharedIcon","_shared","_utils","_utils2","_gallery","_constants","_useImageSizes","_useGetNewImages","_useGetMedia","_gapStyles","MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","__","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","_x","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","DEFAULT_BLOCK","name","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","useDispatch","blockEditorStore","createSuccessNotice","createErrorNotice","noticesStore","getBlock","getSettings","innerBlockImages","blockWasJustInserted","multiGallerySelection","useSelect","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","useMemo","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","useGetMedia","newImages","useGetNewImages","useEffect","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","useImageSizes","imageAttributes","image","find","newClassName","newLinkTarget","rel","getUpdatedLinkTargetSettings","pickRelevantMediaFiles","getHrefAndDestination","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","createBlobURL","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","createBlock","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","sprintf","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","getImageSizeAttributes","imageSize","size","window","wp","media","view","settings","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","_react","createElement","MediaPlaceholder","handleUpload","icon","sharedIcon","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","useBlockProps","classnames","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","View","children","hasLinkTo","Fragment","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","defaultColumnsNumber","onChange","min","max","Math","required","__next40pxDefaultSize","SelectControl","help","options","hideCancelButton","ToggleControl","checked","isWeb","BaseControl","VisualLabel","Spinner","BlockControls","group","MediaReplaceFlow","mediaIds","default","blockGap","style","spacing","_default","exports","compose","withViewportMatch","isNarrow"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && blockWasJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple={ true }\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAQA,IAAAG,YAAA,GAAAH,OAAA;AASA,IAAAI,QAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,KAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AAKA,IAAAY,WAAA,GAAAZ,OAAA;AACA,IAAAa,OAAA,GAAAb,OAAA;AACA,IAAAc,MAAA,GAAAd,OAAA;AACA,IAAAe,OAAA,GAAAf,OAAA;AAIA,IAAAgB,QAAA,GAAAjB,sBAAA,CAAAC,OAAA;AACA,IAAAiB,UAAA,GAAAjB,OAAA;AAKA,IAAAkB,cAAA,GAAAnB,sBAAA,CAAAC,OAAA;AACA,IAAAmB,gBAAA,GAAApB,sBAAA,CAAAC,OAAA;AACA,IAAAoB,YAAA,GAAArB,sBAAA,CAAAC,OAAA;AACA,IAAAqB,UAAA,GAAAtB,sBAAA,CAAAC,OAAA;AAtDA;AACA;AACA;;AAGA;AACA;AACA;;AA4BA;AACA;AACA;;AAmBA,MAAMsB,WAAW,GAAG,CAAC;AACrB,MAAMC,WAAW,GAAG,CACnB;EAAEC,KAAK,EAAEC,sCAA2B;EAAEC,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB;AAAE,CAAC,EACtE;EAAEH,KAAK,EAAEI,iCAAsB;EAAEF,KAAK,EAAE,IAAAC,QAAE,EAAE,YAAa;AAAE,CAAC,EAC5D;EACCH,KAAK,EAAEK,gCAAqB;EAC5BH,KAAK,EAAE,IAAAI,QAAE,EAAE,MAAM,EAAE,wBAAyB;AAC7C,CAAC,CACD;AACD,MAAMC,mBAAmB,GAAG,CAAE,OAAO,CAAE;AAEvC,MAAMC,gBAAgB,GAAGC,iBAAQ,CAACC,QAAQ,GACvC,IAAAP,QAAE,EAAE,WAAY,CAAC,GACjB,IAAAA,QAAE,EAAE,iEAAkE,CAAC;AAE1E,MAAMQ,kCAAkC,GAAGF,iBAAQ,CAACC,QAAQ,GACzD;EAAEE,IAAI,EAAE;AAAU,CAAC,GACnB,CAAC,CAAC;AAEL,MAAMC,aAAa,GAAG;EAAEC,IAAI,EAAE;AAAa,CAAC;AAC5C,MAAMC,WAAW,GAAG,EAAE;AAEtB,SAASC,WAAWA,CAAEC,KAAK,EAAG;EAC7B,MAAM;IACLC,aAAa;IACbC,UAAU;IACVC,SAAS;IACTC,QAAQ;IACRC,UAAU;IACVC,iBAAiB;IACjBC,eAAe;IACfC;EACD,CAAC,GAAGR,KAAK;EAET,MAAM;IAAES,OAAO;IAAEC,SAAS;IAAEC,WAAW;IAAEC,UAAU;IAAEC,MAAM;IAAEC;EAAS,CAAC,GACtEZ,UAAU;EAEX,MAAM;IACLa,uCAAuC;IACvCC,kBAAkB;IAClBC,qBAAqB;IACrBC;EACD,CAAC,GAAG,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EACnC,MAAM;IAAEC,mBAAmB;IAAEC;EAAkB,CAAC,GAC/C,IAAAH,iBAAW,EAAEI,cAAa,CAAC;EAE5B,MAAM;IACLC,QAAQ;IACRC,WAAW;IACXC,gBAAgB;IAChBC,oBAAoB;IACpBC;EACD,CAAC,GAAG,IAAAC,eAAS,EACVC,MAAM,IAAM;IAAA,IAAAC,qBAAA;IACb,MAAM;MACLC,YAAY;MACZC,8BAA8B;MAC9BR,WAAW,EAAES,YAAY;MACzBV,QAAQ,EAAEW,SAAS;MACnBC;IACD,CAAC,GAAGN,MAAM,CAAEV,kBAAiB,CAAC;IAC9B,MAAMiB,sBAAsB,GAAGJ,8BAA8B,CAAC,CAAC;IAE/D,OAAO;MACNT,QAAQ,EAAEW,SAAS;MACnBV,WAAW,EAAES,YAAY;MACzBR,gBAAgB,GAAAK,qBAAA,GACfI,SAAS,CAAE/B,QAAS,CAAC,EAAEkC,WAAW,cAAAP,qBAAA,cAAAA,qBAAA,GAAIjC,WAAW;MAClD6B,oBAAoB,EAAES,oBAAoB,CACzChC,QAAQ,EACR,eACD,CAAC;MACDwB,qBAAqB,EACpBS,sBAAsB,CAACE,MAAM,IAC7BF,sBAAsB,CAACG,KAAK,CACzBC,SAAS,IACVT,YAAY,CAAES,SAAU,CAAC,KAAK,cAChC;IACF,CAAC;EACF,CAAC,EACD,CAAErC,QAAQ,CACX,CAAC;EAED,MAAMsC,MAAM,GAAG,IAAAC,gBAAO,EACrB,MACCjB,gBAAgB,EAAEkB,GAAG,CAAIC,KAAK,KAAQ;IACrCzC,QAAQ,EAAEyC,KAAK,CAACzC,QAAQ;IACxB0C,EAAE,EAAED,KAAK,CAAC3C,UAAU,CAAC4C,EAAE;IACvBC,GAAG,EAAEF,KAAK,CAAC3C,UAAU,CAAC6C,GAAG;IACzB7C,UAAU,EAAE2C,KAAK,CAAC3C,UAAU;IAC5B8C,gBAAgB,EAAEC,OAAO,CAAEJ,KAAK,CAACK,eAAgB;EAClD,CAAC,CAAG,CAAC,EACN,CAAExB,gBAAgB,CACnB,CAAC;EAED,MAAMyB,SAAS,GAAG,IAAAC,oBAAW,EAAE1B,gBAAiB,CAAC;EAEjD,MAAM2B,SAAS,GAAG,IAAAC,wBAAe,EAAEZ,MAAM,EAAES,SAAU,CAAC;EAEtD,IAAAI,kBAAS,EAAE,MAAM;IAChBF,SAAS,EAAEG,OAAO,CAAIC,QAAQ,IAAM;MACnC;MACA1C,uCAAuC,CAAC,CAAC;MACzCE,qBAAqB,CAAEwC,QAAQ,CAACrD,QAAQ,EAAE;QACzC,GAAGsD,oBAAoB,CAAED,QAAQ,CAACvD,UAAW,CAAC;QAC9C4C,EAAE,EAAEW,QAAQ,CAACX,EAAE;QACfa,KAAK,EAAEC;MACR,CAAE,CAAC;IACJ,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEP,SAAS,CAAG,CAAC;EAElB,MAAMQ,gBAAgB,GAAG,IAAAC,sBAAa,EACrCX,SAAS,EACT9C,UAAU,EACVoB,WACD,CAAC;;EAED;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,SAASiC,oBAAoBA,CAAEK,eAAe,EAAG;IAChD,MAAMC,KAAK,GAAGD,eAAe,CAACjB,EAAE,GAC7BK,SAAS,CAACc,IAAI,CAAE,CAAE;MAAEnB;IAAG,CAAC,KAAMA,EAAE,KAAKiB,eAAe,CAACjB,EAAG,CAAC,GACzD,IAAI;IAEP,IAAIoB,YAAY;IAChB,IAAKH,eAAe,CAAC5D,SAAS,IAAI4D,eAAe,CAAC5D,SAAS,KAAK,EAAE,EAAG;MACpE+D,YAAY,GAAGH,eAAe,CAAC5D,SAAS;IACzC;IAEA,IAAIgE,aAAa;IACjB,IAAKJ,eAAe,CAACnD,UAAU,IAAImD,eAAe,CAACK,GAAG,EAAG;MACxD;MACAD,aAAa,GAAG;QACfvD,UAAU,EAAEmD,eAAe,CAACnD,UAAU;QACtCwD,GAAG,EAAEL,eAAe,CAACK;MACtB,CAAC;IACF,CAAC,MAAM;MACN;MACAD,aAAa,GAAG,IAAAE,oCAA4B,EAC3CzD,UAAU,EACVV,UACD,CAAC;IACF;IAEA,OAAO;MACN,GAAG,IAAAoE,8BAAsB,EAAEN,KAAK,EAAElD,QAAS,CAAC;MAC5C,GAAG,IAAAyD,4BAAqB,EACvBP,KAAK,EACLnD,MAAM,EACNkD,eAAe,EAAES,eAClB,CAAC;MACD,GAAGL,aAAa;MAChBhE,SAAS,EAAE+D,YAAY;MACvBpD,QAAQ;MACR2D,OAAO,EAAEV,eAAe,CAACU,OAAO,IAAIT,KAAK,CAACS,OAAO,EAAEC,GAAG;MACtDC,GAAG,EAAEZ,eAAe,CAACY,GAAG,IAAIX,KAAK,CAACY;IACnC,CAAC;EACF;EAEA,SAASC,eAAeA,CAAEC,IAAI,EAAG;IAChC;IACA,MAAMC,cAAc,GACnBvF,iBAAQ,CAACC,QAAQ,IAAIqF,IAAI,CAAChC,EAAE,GACzBK,SAAS,CAACc,IAAI,CAAE,CAAE;MAAEnB;IAAG,CAAC,KAAMA,EAAE,KAAKgC,IAAI,CAAChC,EAAG,CAAC,GAC9C,IAAI;IAER,MAAMkC,iBAAiB,GAAGD,cAAc,GACrCA,cAAc,EAAEE,UAAU,GAC1BH,IAAI,CAACnF,IAAI;IAEZ,OACCL,mBAAmB,CAAC4F,IAAI,CACrBC,SAAS,IAAMH,iBAAiB,EAAEI,OAAO,CAAED,SAAU,CAAC,KAAK,CAC9D,CAAC,IAAIL,IAAI,CAAC/B,GAAG,EAAEqC,OAAO,CAAE,OAAQ,CAAC,KAAK,CAAC;EAEzC;EAEA,SAASC,YAAYA,CAAEC,cAAc,EAAG;IACvC,MAAMC,cAAc,GACnBC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAAEL,cAAe,CAAC,KAChD,mBAAmB;IAEpB,MAAMM,UAAU,GAAGL,cAAc,GAC9BM,KAAK,CAACC,IAAI,CAAER,cAAe,CAAC,CAAC1C,GAAG,CAAIkC,IAAI,IAAM;MAC9C,IAAK,CAAEA,IAAI,CAAC/B,GAAG,EAAG;QACjB,OAAO,IAAAuB,8BAAsB,EAAE;UAC9BvB,GAAG,EAAE,IAAAgD,mBAAa,EAAEjB,IAAK;QAC1B,CAAE,CAAC;MACJ;MAEA,OAAOA,IAAI;IACX,CAAE,CAAC,GACHQ,cAAc;IAEjB,IAAK,CAAEM,UAAU,CAACpD,KAAK,CAAEqC,eAAgB,CAAC,EAAG;MAC5CvD,iBAAiB,CAChB,IAAApC,QAAE,EACD,8DACD,CAAC,EACD;QAAE4D,EAAE,EAAE,6BAA6B;QAAEnD,IAAI,EAAE;MAAW,CACvD,CAAC;IACF;IAEA,MAAMqG,eAAe,GAAGJ,UAAU,CAChCK,MAAM,CAAInB,IAAI,IAAMA,IAAI,CAAC/B,GAAG,IAAI8B,eAAe,CAAEC,IAAK,CAAE,CAAC,CACzDlC,GAAG,CAAIkC,IAAI,IAAM;MACjB,IAAK,CAAEA,IAAI,CAAC/B,GAAG,EAAG;QACjB,OAAO,IAAAuB,8BAAsB,EAAE;UAC9BvB,GAAG,EAAE,IAAAgD,mBAAa,EAAEjB,IAAK;QAC1B,CAAE,CAAC;MACJ;MAEA,OAAOA,IAAI;IACZ,CAAE,CAAC;;IAEJ;IACA;IACA;IACA,MAAMoB,WAAW,GAAGF,eAAe,CAACG,MAAM,CACzC,CAAEC,MAAM,EAAEpC,KAAK,EAAEqC,KAAK,MACnBD,MAAM,CAAEpC,KAAK,CAAClB,EAAE,CAAE,GAAGuD,KAAK,EAAID,MAAM,CACtC,EACD,CAAC,CACF,CAAC;IAED,MAAME,mBAAmB,GAAG,CAAEf,cAAc,GACzC7D,gBAAgB,CAACuE,MAAM,CAAIpD,KAAK,IAChCmD,eAAe,CAAC/B,IAAI,CACjBsC,GAAG,IAAMA,GAAG,CAACzD,EAAE,KAAKD,KAAK,CAAC3C,UAAU,CAAC4C,EACxC,CACA,CAAC,GACDpB,gBAAgB;IAEnB,MAAM8E,YAAY,GAAGR,eAAe,CAACC,MAAM,CACxCM,GAAG,IACJ,CAAED,mBAAmB,CAACrC,IAAI,CACvBwC,WAAW,IAAMF,GAAG,CAACzD,EAAE,KAAK2D,WAAW,CAACvG,UAAU,CAAC4C,EACtD,CACF,CAAC;IAED,MAAM4D,SAAS,GAAGF,YAAY,CAAC5D,GAAG,CAAIoB,KAAK,IAAM;MAChD,OAAO,IAAA2C,mBAAW,EAAE,YAAY,EAAE;QACjC7D,EAAE,EAAEkB,KAAK,CAAClB,EAAE;QACZC,GAAG,EAAEiB,KAAK,CAACjB,GAAG;QACd0B,OAAO,EAAET,KAAK,CAACS,OAAO;QACtBE,GAAG,EAAEX,KAAK,CAACW;MACZ,CAAE,CAAC;IACJ,CAAE,CAAC;IAEH3D,kBAAkB,CACjBZ,QAAQ,EACRkG,mBAAmB,CACjBM,MAAM,CAAEF,SAAU,CAAC,CACnBG,IAAI,CACJ,CAAEC,CAAC,EAAEC,CAAC,KACLb,WAAW,CAAEY,CAAC,CAAC5G,UAAU,CAAC4C,EAAE,CAAE,GAC9BoD,WAAW,CAAEa,CAAC,CAAC7G,UAAU,CAAC4C,EAAE,CAC9B,CACF,CAAC;;IAED;IACA,IAAK4D,SAAS,EAAEnE,MAAM,GAAG,CAAC,EAAG;MAC5BrB,WAAW,CAAEwF,SAAS,CAAE,CAAC,CAAE,CAACtG,QAAS,CAAC;IACvC;EACD;EAEA,SAAS4G,aAAaA,CAAEC,OAAO,EAAG;IACjC3F,iBAAiB,CAAE2F,OAAO,EAAE;MAAEtH,IAAI,EAAE;IAAW,CAAE,CAAC;EACnD;EAEA,SAASuH,SAASA,CAAEnI,KAAK,EAAG;IAC3BkB,aAAa,CAAE;MAAEY,MAAM,EAAE9B;IAAM,CAAE,CAAC;IAClC,MAAMoI,iBAAiB,GAAG,CAAC,CAAC;IAC5B,MAAMC,MAAM,GAAG,EAAE;IACjB5F,QAAQ,CAAEpB,QAAS,CAAC,CAACkC,WAAW,CAACkB,OAAO,CAAIX,KAAK,IAAM;MACtDuE,MAAM,CAACC,IAAI,CAAExE,KAAK,CAACzC,QAAS,CAAC;MAC7B,MAAM4D,KAAK,GAAGnB,KAAK,CAAC3C,UAAU,CAAC4C,EAAE,GAC9BK,SAAS,CAACc,IAAI,CAAE,CAAE;QAAEnB;MAAG,CAAC,KAAMA,EAAE,KAAKD,KAAK,CAAC3C,UAAU,CAAC4C,EAAG,CAAC,GAC1D,IAAI;MACPqE,iBAAiB,CAAEtE,KAAK,CAACzC,QAAQ,CAAE,GAAG,IAAAmE,4BAAqB,EAC1DP,KAAK,EACLjF,KACD,CAAC;IACF,CAAE,CAAC;IACHkC,qBAAqB,CAAEmG,MAAM,EAAED,iBAAiB,EAAE,IAAK,CAAC;IACxD,MAAMG,UAAU,GAAG,CAAE,GAAGxI,WAAW,CAAE,CAACmF,IAAI,CACvCsD,QAAQ,IAAMA,QAAQ,CAACxI,KAAK,KAAKA,KACpC,CAAC;IAEDsC,mBAAmB,CAClB,IAAAmG,aAAO,GACN;IACA,IAAAtI,QAAE,EAAE,wCAAyC,CAAC,EAC9CoI,UAAU,CAACrI,KACZ,CAAC,EACD;MACC6D,EAAE,EAAE,2BAA2B;MAC/BnD,IAAI,EAAE;IACP,CACD,CAAC;EACF;EAEA,SAAS8H,gBAAgBA,CAAE1I,KAAK,EAAG;IAClCkB,aAAa,CAAE;MAAEQ,OAAO,EAAE1B;IAAM,CAAE,CAAC;EACpC;EAEA,SAAS2I,eAAeA,CAAA,EAAG;IAC1BzH,aAAa,CAAE;MAAES,SAAS,EAAE,CAAEA;IAAU,CAAE,CAAC;EAC5C;EAEA,SAASiH,iBAAiBA,CAAA,EAAG;IAC5B1H,aAAa,CAAE;MAAEU,WAAW,EAAE,CAAEA;IAAY,CAAE,CAAC;EAChD;EAEA,SAASiH,kBAAkBA,CAAEC,YAAY,EAAG;IAC3C,MAAM1D,aAAa,GAAG0D,YAAY,GAAG,QAAQ,GAAGjE,SAAS;IACzD3D,aAAa,CAAE;MAAEW,UAAU,EAAEuD;IAAc,CAAE,CAAC;IAC9C,MAAMgD,iBAAiB,GAAG,CAAC,CAAC;IAC5B,MAAMC,MAAM,GAAG,EAAE;IACjB5F,QAAQ,CAAEpB,QAAS,CAAC,CAACkC,WAAW,CAACkB,OAAO,CAAIX,KAAK,IAAM;MACtDuE,MAAM,CAACC,IAAI,CAAExE,KAAK,CAACzC,QAAS,CAAC;MAC7B+G,iBAAiB,CAAEtE,KAAK,CAACzC,QAAQ,CAAE,GAAG,IAAAiE,oCAA4B,EACjEF,aAAa,EACbtB,KAAK,CAAC3C,UACP,CAAC;IACF,CAAE,CAAC;IACHe,qBAAqB,CAAEmG,MAAM,EAAED,iBAAiB,EAAE,IAAK,CAAC;IACxD,MAAMW,UAAU,GAAGD,YAAY,GAC5B,IAAA3I,QAAE,EAAE,+CAAgD,CAAC,GACrD,IAAAA,QAAE,EAAE,mDAAoD,CAAC;IAC5DmC,mBAAmB,CAAEyG,UAAU,EAAE;MAChChF,EAAE,EAAE,iCAAiC;MACrCnD,IAAI,EAAE;IACP,CAAE,CAAC;EACJ;EAEA,SAASoI,gBAAgBA,CAAEC,WAAW,EAAG;IACxC/H,aAAa,CAAE;MAAEa,QAAQ,EAAEkH;IAAY,CAAE,CAAC;IAC1C,MAAMb,iBAAiB,GAAG,CAAC,CAAC;IAC5B,MAAMC,MAAM,GAAG,EAAE;IACjB5F,QAAQ,CAAEpB,QAAS,CAAC,CAACkC,WAAW,CAACkB,OAAO,CAAIX,KAAK,IAAM;MACtDuE,MAAM,CAACC,IAAI,CAAExE,KAAK,CAACzC,QAAS,CAAC;MAC7B,MAAM4D,KAAK,GAAGnB,KAAK,CAAC3C,UAAU,CAAC4C,EAAE,GAC9BK,SAAS,CAACc,IAAI,CAAE,CAAE;QAAEnB;MAAG,CAAC,KAAMA,EAAE,KAAKD,KAAK,CAAC3C,UAAU,CAAC4C,EAAG,CAAC,GAC1D,IAAI;MACPqE,iBAAiB,CAAEtE,KAAK,CAACzC,QAAQ,CAAE,GAAG,IAAA6H,8BAAsB,EAC3DjE,KAAK,EACLgE,WACD,CAAC;IACF,CAAE,CAAC;IACH/G,qBAAqB,CAAEmG,MAAM,EAAED,iBAAiB,EAAE,IAAK,CAAC;IACxD,MAAMe,SAAS,GAAGrE,gBAAgB,CAACI,IAAI,CACpCkE,IAAI,IAAMA,IAAI,CAACpJ,KAAK,KAAKiJ,WAC5B,CAAC;IAED3G,mBAAmB,CAClB,IAAAmG,aAAO,GACN;IACA,IAAAtI,QAAE,EAAE,wCAAyC,CAAC,EAC9CgJ,SAAS,CAACjJ,KACX,CAAC,EACD;MACC6D,EAAE,EAAE,6BAA6B;MACjCnD,IAAI,EAAE;IACP,CACD,CAAC;EACF;EAEA,IAAA4D,kBAAS,EAAE,MAAM;IAChB;IACA,IAAK,CAAE1C,MAAM,EAAG;MACfE,uCAAuC,CAAC,CAAC;MACzCd,aAAa,CAAE;QACdY,MAAM,EACLuH,MAAM,EAAEC,EAAE,EAAEC,KAAK,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,IAAI,IACrDtJ;MACF,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAEyB,MAAM,CAAG,CAAC;EAEf,MAAM8H,SAAS,GAAG,CAAC,CAAEjG,MAAM,CAACH,MAAM;EAClC,MAAMqG,WAAW,GAAGD,SAAS,IAAIjG,MAAM,CAACwC,IAAI,CAAIlB,KAAK,IAAM,CAAC,CAAEA,KAAK,CAAClB,EAAG,CAAC;EACxE,MAAM+F,eAAe,GAAGnG,MAAM,CAACwC,IAAI,CAAIqB,GAAG,IACzC,CAAE/G,iBAAQ,CAACC,QAAQ,GAChB,CAAE8G,GAAG,CAACzD,EAAE,IAAIyD,GAAG,CAACxD,GAAG,EAAEqC,OAAO,CAAE,OAAQ,CAAC,KAAK,CAAC,GAC7CmB,GAAG,CAACxD,GAAG,EAAEqC,OAAO,CAAE,OAAQ,CAAC,KAAK,CACpC,CAAC;;EAED;EACA,MAAM0D,qBAAqB,GAAGtJ,iBAAQ,CAACsC,MAAM,CAAE;IAC9CiH,GAAG,EAAE;MACJC,YAAY,EAAE,KAAK;MACnBC,mBAAmB,EAAEJ,eAAe;MACpC9J,KAAK,EAAE,CAAC;IACT,CAAC;IACDmK,MAAM,EAAE;MACPF,YAAY,EAAEJ,WAAW;MACzBO,UAAU,EAAER,SAAS;MACrBM,mBAAmB,EAChBN,SAAS,IAAI,CAAEtI,UAAU,IAAMwI,eAAe;MACjD9J,KAAK,EAAE6J,WAAW,GAAGlG,MAAM,GAAG,CAAC,CAAC;MAChC0G,mBAAmB,EAClB,CAAET,SAAS,IAAItI,UAAU,IAAIsB,oBAAoB;MAClDnB;IACD;EACD,CAAE,CAAC;EACH,MAAM6I,gBAAgB,GACrB,IAAAC,MAAA,CAAAC,aAAA,EAAC7L,YAAA,CAAA8L,gBAAgB;IAChBC,YAAY,EAAG,KAAO;IACtBC,IAAI,EAAGC,sBAAY;IACnBC,MAAM,EAAG;MACRC,KAAK,EAAE,IAAA3K,QAAE,EAAE,SAAU,CAAC;MACtB4K,YAAY,EAAEvK;IACf,CAAG;IACHwK,QAAQ,EAAG1E,YAAc;IACzB2E,MAAM,EAAC,SAAS;IAChBC,YAAY,EAAG3K,mBAAqB;IACpC4K,QAAQ;IACRC,OAAO,EAAGnD,aAAe;IAAA,GACpB8B;EAAqB,CAC1B,CACD;EAED,MAAMsB,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjClK,SAAS,EAAE,IAAAmK,mBAAU,EAAEnK,SAAS,EAAE,mBAAoB;EACvD,CAAE,CAAC;EAEH,MAAMoK,qBAAqB,GAAG/K,iBAAQ,CAACC,QAAQ,IAAI;IAClD+K,gBAAgB,EAAE,CAAC;IACnBC,cAAc,EAAE;EACjB,CAAC;EAED,MAAMC,gBAAgB,GAAG,IAAAC,gCAAmB,EAAEP,UAAU,EAAE;IACzDQ,YAAY,EAAEhL,aAAa;IAC3BiL,YAAY,EAAE,IAAI;IAClBC,WAAW,EAAE,YAAY;IACzBC,cAAc,EAAE,KAAK;IACrB,GAAGR;EACJ,CAAE,CAAC;EAEH,IAAK,CAAE5B,SAAS,EAAG;IAClB,OACC,IAAAW,MAAA,CAAAC,aAAA,EAACxL,WAAA,CAAAiN,IAAI;MAAA,GAAMN;IAAgB,GACxBA,gBAAgB,CAACO,QAAQ,EACzB5B,gBACG,CAAC;EAET;EAEA,MAAM6B,SAAS,GAAGrK,MAAM,IAAIA,MAAM,KAAK,MAAM;EAE7C,OACC,IAAAyI,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAA6B,QAAA,QACC,IAAA7B,MAAA,CAAAC,aAAA,EAAC7L,YAAA,CAAA0N,iBAAiB,QACjB,IAAA9B,MAAA,CAAAC,aAAA,EAAC9L,WAAA,CAAA4N,SAAS;IAACxB,KAAK,EAAG,IAAA3K,QAAE,EAAE,UAAW;EAAG,GAClCwD,MAAM,CAACH,MAAM,GAAG,CAAC,IAClB,IAAA+G,MAAA,CAAAC,aAAA,EAAC9L,WAAA,CAAA6N,YAAY;IACZC,uBAAuB;IACvBtM,KAAK,EAAG,IAAAC,QAAE,EAAE,SAAU,CAAG;IACzBH,KAAK,EACJ0B,OAAO,GACJA,OAAO,GACP,IAAA+K,4BAAoB,EAAE9I,MAAM,CAACH,MAAO,CACvC;IACDkJ,QAAQ,EAAGhE,gBAAkB;IAC7BiE,GAAG,EAAG,CAAG;IACTC,GAAG,EAAGC,IAAI,CAACF,GAAG,CAAE7M,WAAW,EAAE6D,MAAM,CAACH,MAAO,CAAG;IAAA,GACzC7C,kCAAkC;IACvCmM,QAAQ;IACRC,qBAAqB;EAAA,CACrB,CACD,EACCjI,gBAAgB,EAAEtB,MAAM,GAAG,CAAC,IAC7B,IAAA+G,MAAA,CAAAC,aAAA,EAAC9L,WAAA,CAAAsO,aAAa;IACbR,uBAAuB;IACvBtM,KAAK,EAAG,IAAAC,QAAE,EAAE,YAAa,CAAG;IAC5B8M,IAAI,EAAG,IAAA9M,QAAE,EACR,uCACD,CAAG;IACHH,KAAK,EAAG+B,QAAU;IAClBmL,OAAO,EAAGpI,gBAAkB;IAC5B4H,QAAQ,EAAG1D,gBAAkB;IAC7BmE,gBAAgB,EAAG,IAAM;IACzB/D,IAAI,EAAC;EAAkB,CACvB,CACD,EACD,IAAAmB,MAAA,CAAAC,aAAA,EAAC9L,WAAA,CAAAsO,aAAa;IACbR,uBAAuB;IACvBtM,KAAK,EAAG,IAAAC,QAAE,EAAE,SAAU,CAAG;IACzBH,KAAK,EAAG8B,MAAQ;IAChB4K,QAAQ,EAAGvE,SAAW;IACtB+E,OAAO,EAAGnN,WAAa;IACvBoN,gBAAgB,EAAG,IAAM;IACzB/D,IAAI,EAAC;EAAkB,CACvB,CAAC,EACF,IAAAmB,MAAA,CAAAC,aAAA,EAAC9L,WAAA,CAAA0O,aAAa;IACbZ,uBAAuB;IACvBtM,KAAK,EAAG,IAAAC,QAAE,EAAE,oBAAqB,CAAG;IACpCkN,OAAO,EAAG,CAAC,CAAE1L,SAAW;IACxB+K,QAAQ,EAAG/D;EAAiB,CAC5B,CAAC,EACF,IAAA4B,MAAA,CAAAC,aAAA,EAAC9L,WAAA,CAAA0O,aAAa;IACbZ,uBAAuB;IACvBtM,KAAK,EAAG,IAAAC,QAAE,EAAE,iBAAkB,CAAG;IACjCkN,OAAO,EAAG,CAAC,CAAEzL,WAAa;IAC1B8K,QAAQ,EAAG9D;EAAmB,CAC9B,CAAC,EACAuD,SAAS,IACV,IAAA5B,MAAA,CAAAC,aAAA,EAAC9L,WAAA,CAAA0O,aAAa;IACbZ,uBAAuB;IACvBtM,KAAK,EAAG,IAAAC,QAAE,EAAE,wBAAyB,CAAG;IACxCkN,OAAO,EAAGxL,UAAU,KAAK,QAAU;IACnC6K,QAAQ,EAAG7D;EAAoB,CAC/B,CACD,EACCpI,iBAAQ,CAAC6M,KAAK,IAAI,CAAExI,gBAAgB,IAAI+E,WAAW,IACpD,IAAAU,MAAA,CAAAC,aAAA,EAAC9L,WAAA,CAAA6O,WAAW;IAACnM,SAAS,EAAG;EAAuB,GAC/C,IAAAmJ,MAAA,CAAAC,aAAA,EAAC9L,WAAA,CAAA6O,WAAW,CAACC,WAAW,QACrB,IAAArN,QAAE,EAAE,YAAa,CACK,CAAC,EAC1B,IAAAoK,MAAA,CAAAC,aAAA,EAACxL,WAAA,CAAAiN,IAAI;IAAC7K,SAAS,EAAG;EAAgC,GACjD,IAAAmJ,MAAA,CAAAC,aAAA,EAAC9L,WAAA,CAAA+O,OAAO,MAAE,CAAC,EACT,IAAAtN,QAAE,EAAE,kBAAmB,CACpB,CACM,CAEJ,CACO,CAAC,EAClBM,iBAAQ,CAAC6M,KAAK,IACf,IAAA/C,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAA6B,QAAA,QACG,CAAEvJ,qBAAqB,IACxB,IAAA0H,MAAA,CAAAC,aAAA,EAAC7L,YAAA,CAAA+O,aAAa;IAACC,KAAK,EAAC;EAAO,GAC3B,IAAApD,MAAA,CAAAC,aAAA,EAAC7L,YAAA,CAAAiP,gBAAgB;IAChB1C,YAAY,EAAG3K,mBAAqB;IACpC0K,MAAM,EAAC,SAAS;IAChBP,YAAY,EAAG,KAAO;IACtBM,QAAQ,EAAG1E,YAAc;IACzBxF,IAAI,EAAG,IAAAX,QAAE,EAAE,KAAM,CAAG;IACpBgL,QAAQ,EAAG,IAAM;IACjB0C,QAAQ,EAAGlK,MAAM,CACfuD,MAAM,CAAIjC,KAAK,IAAMA,KAAK,CAAClB,EAAG,CAAC,CAC/BF,GAAG,CAAIoB,KAAK,IAAMA,KAAK,CAAClB,EAAG,CAAG;IAChCkG,YAAY,EAAGJ;EAAa,CAC5B,CACa,CACf,EACD,IAAAU,MAAA,CAAAC,aAAA,EAAC3K,UAAA,CAAAiO,OAAS;IACTC,QAAQ,EAAG5M,UAAU,CAAC6M,KAAK,EAAEC,OAAO,EAAEF,QAAU;IAChD1M,QAAQ,EAAGA;EAAU,CACrB,CACA,CACF,EACD,IAAAkJ,MAAA,CAAAC,aAAA,EAAChL,QAAA,CAAAsO,OAAO;IAAA,GACF7M,KAAK;IACVO,eAAe,EAAGA,eAAiB;IACnCmC,MAAM,EAAGA,MAAQ;IACjB2G,gBAAgB,EACf,CAAEV,SAAS,IAAInJ,iBAAQ,CAACC,QAAQ,GAC7B4J,gBAAgB,GAChBzF,SACH;IACDwG,UAAU,EAAGM,gBAAkB;IAC/BpK,iBAAiB,EAAGA,iBAAmB;IACvCsB,qBAAqB,EAAGA;EAAuB,CAC/C,CACA,CAAC;AAEL;AAAC,IAAAqL,QAAA,GAAAC,OAAA,CAAAL,OAAA,GACc,IAAAM,gBAAO,EAAE,CAAE,IAAAC,2BAAiB,EAAE;EAAEC,QAAQ,EAAE;AAAU,CAAE,CAAC,CAAG,CAAC,CACzEtN,WACD,CAAC"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_compose","_components","_blockEditor","_element","_i18n","_data","_viewport","_primitives","_blocks","_blob","_notices","_sharedIcon","_shared","_utils","_utils2","_gallery","_constants","_useImageSizes","_useGetNewImages","_useGetMedia","_gapStyles","MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","__","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","_x","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","DEFAULT_BLOCK","name","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","useDispatch","blockEditorStore","createSuccessNotice","createErrorNotice","noticesStore","getBlock","getSettings","innerBlockImages","blockWasJustInserted","multiGallerySelection","useSelect","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","useMemo","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","useGetMedia","newImages","useGetNewImages","useEffect","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","useImageSizes","imageAttributes","image","find","newClassName","newLinkTarget","rel","getUpdatedLinkTargetSettings","pickRelevantMediaFiles","getHrefAndDestination","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","createBlobURL","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","createBlock","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","sprintf","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","getImageSizeAttributes","imageSize","size","window","wp","media","view","settings","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","_react","createElement","MediaPlaceholder","handleUpload","icon","sharedIcon","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","useBlockProps","classnames","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","View","children","hasLinkTo","Fragment","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","defaultColumnsNumber","onChange","min","max","Math","required","__next40pxDefaultSize","SelectControl","help","options","hideCancelButton","ToggleControl","checked","isWeb","BaseControl","VisualLabel","Spinner","BlockControls","group","MediaReplaceFlow","mediaIds","default","blockGap","style","spacing","_default","exports","compose","withViewportMatch","isNarrow"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && blockWasJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_shared","_galleryStyles","_interopRequireDefault","_i18n","_blockEditor","_element","_reactNativeBridge","_components","_compose","TILE_SPACING","MAX_DISPLAYED_COLUMNS","MAX_DISPLAYED_COLUMNS_NARROW","Gallery","props","isCaptionSelected","setIsCaptionSelected","useState","resizeObserver","sizes","useResizeObserver","maxWidth","setMaxWidth","useEffect","mediaUploadSync","mediaPlaceholder","attributes","images","isNarrow","onBlur","insertBlocksAfter","clientId","width","align","columns","defaultColumnsNumber","length","displayedColumns","Math","min","innerBlocksProps","useInnerBlocksProps","contentResizeMode","orientation","renderAppender","numColumns","marginHorizontal","marginVertical","layout","type","alignments","gridProperties","parentWidth","focusGalleryCaption","isFullWidth","WIDE_ALIGNMENTS","full","_react","createElement","View","style","styles","fullWidth","galleryAppender","BlockCaption","isSelected","accessible","accessibilityLabelCreator","caption","RichText","isEmpty","sprintf","__","onFocus","exports","_default","default"],"sources":["@wordpress/block-library/src/gallery/gallery.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport { defaultColumnsNumber } from './shared';\nimport styles from './gallery-styles.scss';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockCaption,\n\tRichText,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { useState, useEffect } from '@wordpress/element';\nimport { mediaUploadSync } from '@wordpress/react-native-bridge';\nimport { WIDE_ALIGNMENTS } from '@wordpress/components';\nimport { useResizeObserver } from '@wordpress/compose';\n\nconst TILE_SPACING = 8;\n\n// we must limit displayed columns since readable content max-width is 580px\nconst MAX_DISPLAYED_COLUMNS = 4;\nconst MAX_DISPLAYED_COLUMNS_NARROW = 2;\n\nexport const Gallery = ( props ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ maxWidth, setMaxWidth ] = useState( 0 );\n\tuseEffect( mediaUploadSync, [] );\n\n\tconst {\n\t\tmediaPlaceholder,\n\t\tattributes,\n\t\timages,\n\t\tisNarrow,\n\t\tonBlur,\n\t\tinsertBlocksAfter,\n\t\tclientId,\n\t} = props;\n\n\tuseEffect( () => {\n\t\tconst { width } = sizes || {};\n\t\tif ( width ) {\n\t\t\tsetMaxWidth( width );\n\t\t}\n\t}, [ sizes ] );\n\n\tconst { align, columns = defaultColumnsNumber( images.length ) } =\n\t\tattributes;\n\n\tconst displayedColumns = Math.min(\n\t\tcolumns,\n\t\tisNarrow ? MAX_DISPLAYED_COLUMNS_NARROW : MAX_DISPLAYED_COLUMNS\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{},\n\t\t{\n\t\t\tcontentResizeMode: 'stretch',\n\t\t\torientation: 'horizontal',\n\t\t\trenderAppender: false,\n\t\t\tnumColumns: displayedColumns,\n\t\t\tmarginHorizontal: TILE_SPACING,\n\t\t\tmarginVertical: TILE_SPACING,\n\t\t\tlayout: { type: 'default', alignments: [] },\n\t\t\tgridProperties: {\n\t\t\t\tnumColumns: displayedColumns,\n\t\t\t},\n\t\t\tparentWidth: maxWidth + 2 * TILE_SPACING,\n\t\t}\n\t);\n\n\tconst focusGalleryCaption = () => {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t};\n\n\tconst isFullWidth = align === WIDE_ALIGNMENTS.alignments.full;\n\n\treturn (\n\t\t<View style={ isFullWidth && styles.fullWidth }>\n\t\t\t{ resizeObserver }\n\t\t\t<View { ...innerBlocksProps } />\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisFullWidth && styles.fullWidth,\n\t\t\t\t\tstyles.galleryAppender,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t\t<BlockCaption\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\taccessible={ true }\n\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t? /* translators: accessibility text. Empty gallery caption. */\n\n\t\t\t\t\t\t 'Gallery caption. Empty'\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: gallery caption. */\n\t\t\t\t\t\t\t\t__( 'Gallery caption. %s' ),\n\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tonFocus={ focusGalleryCaption }\n\t\t\t\tonBlur={ onBlur } // Always assign onBlur as props.\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default Gallery;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_shared","_galleryStyles","_interopRequireDefault","_i18n","_blockEditor","_element","_reactNativeBridge","_components","_compose","TILE_SPACING","MAX_DISPLAYED_COLUMNS","MAX_DISPLAYED_COLUMNS_NARROW","Gallery","props","isCaptionSelected","setIsCaptionSelected","useState","resizeObserver","sizes","useResizeObserver","maxWidth","setMaxWidth","useEffect","mediaUploadSync","mediaPlaceholder","attributes","images","isNarrow","onBlur","insertBlocksAfter","clientId","width","align","columns","defaultColumnsNumber","length","displayedColumns","Math","min","innerBlocksProps","useInnerBlocksProps","contentResizeMode","orientation","renderAppender","numColumns","marginHorizontal","marginVertical","layout","type","alignments","gridProperties","parentWidth","focusGalleryCaption","isFullWidth","WIDE_ALIGNMENTS","full","_react","createElement","View","style","styles","fullWidth","galleryAppender","BlockCaption","isSelected","accessible","accessibilityLabelCreator","caption","RichText","isEmpty","sprintf","__","onFocus","exports","_default","default"],"sources":["@wordpress/block-library/src/gallery/gallery.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport { defaultColumnsNumber } from './shared';\nimport styles from './gallery-styles.scss';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockCaption,\n\tRichText,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { useState, useEffect } from '@wordpress/element';\nimport { mediaUploadSync } from '@wordpress/react-native-bridge';\nimport { WIDE_ALIGNMENTS } from '@wordpress/components';\nimport { useResizeObserver } from '@wordpress/compose';\n\nconst TILE_SPACING = 8;\n\n// we must limit displayed columns since readable content max-width is 580px\nconst MAX_DISPLAYED_COLUMNS = 4;\nconst MAX_DISPLAYED_COLUMNS_NARROW = 2;\n\nexport const Gallery = ( props ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ maxWidth, setMaxWidth ] = useState( 0 );\n\tuseEffect( mediaUploadSync, [] );\n\n\tconst {\n\t\tmediaPlaceholder,\n\t\tattributes,\n\t\timages,\n\t\tisNarrow,\n\t\tonBlur,\n\t\tinsertBlocksAfter,\n\t\tclientId,\n\t} = props;\n\n\tuseEffect( () => {\n\t\tconst { width } = sizes || {};\n\t\tif ( width ) {\n\t\t\tsetMaxWidth( width );\n\t\t}\n\t}, [ sizes ] );\n\n\tconst { align, columns = defaultColumnsNumber( images.length ) } =\n\t\tattributes;\n\n\tconst displayedColumns = Math.min(\n\t\tcolumns,\n\t\tisNarrow ? MAX_DISPLAYED_COLUMNS_NARROW : MAX_DISPLAYED_COLUMNS\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{},\n\t\t{\n\t\t\tcontentResizeMode: 'stretch',\n\t\t\torientation: 'horizontal',\n\t\t\trenderAppender: false,\n\t\t\tnumColumns: displayedColumns,\n\t\t\tmarginHorizontal: TILE_SPACING,\n\t\t\tmarginVertical: TILE_SPACING,\n\t\t\tlayout: { type: 'default', alignments: [] },\n\t\t\tgridProperties: {\n\t\t\t\tnumColumns: displayedColumns,\n\t\t\t},\n\t\t\tparentWidth: maxWidth + 2 * TILE_SPACING,\n\t\t}\n\t);\n\n\tconst focusGalleryCaption = () => {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t};\n\n\tconst isFullWidth = align === WIDE_ALIGNMENTS.alignments.full;\n\n\treturn (\n\t\t<View style={ isFullWidth && styles.fullWidth }>\n\t\t\t{ resizeObserver }\n\t\t\t<View { ...innerBlocksProps } />\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisFullWidth && styles.fullWidth,\n\t\t\t\t\tstyles.galleryAppender,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t\t<BlockCaption\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\taccessible\n\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t? /* translators: accessibility text. Empty gallery caption. */\n\n\t\t\t\t\t\t 'Gallery caption. Empty'\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: gallery caption. */\n\t\t\t\t\t\t\t\t__( 'Gallery caption. %s' ),\n\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tonFocus={ focusGalleryCaption }\n\t\t\t\tonBlur={ onBlur } // Always assign onBlur as props.\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default Gallery;\n"],"mappings":"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"}