@wordpress/block-library 8.29.0 → 8.30.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 (347) hide show
  1. package/CHANGELOG.md +2 -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 +49 -24
  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/transforms.js +17 -6
  16. package/build/code/transforms.js.map +1 -1
  17. package/build/columns/edit.js +3 -2
  18. package/build/columns/edit.js.map +1 -1
  19. package/build/comment-author-avatar/edit.js +1 -1
  20. package/build/comment-author-avatar/edit.js.map +1 -1
  21. package/build/cover/edit/block-controls.js +14 -3
  22. package/build/cover/edit/block-controls.js.map +1 -1
  23. package/build/cover/edit/index.js.map +1 -1
  24. package/build/cover/edit/inspector-controls.js.map +1 -1
  25. package/build/cover/edit/resizable-cover-popover.js +0 -6
  26. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  27. package/build/cover/edit.native.js.map +1 -1
  28. package/build/file/deprecated.js.map +1 -1
  29. package/build/file/edit.js +6 -13
  30. package/build/file/edit.js.map +1 -1
  31. package/build/file/edit.native.js.map +1 -1
  32. package/build/file/save.js.map +1 -1
  33. package/build/form-input/edit.js +1 -1
  34. package/build/form-input/edit.js.map +1 -1
  35. package/build/gallery/edit.js.map +1 -1
  36. package/build/gallery/gallery.native.js.map +1 -1
  37. package/build/gallery/v1/edit.js.map +1 -1
  38. package/build/gallery/v1/gallery.native.js.map +1 -1
  39. package/build/heading/transforms.js +17 -4
  40. package/build/heading/transforms.js.map +1 -1
  41. package/build/image/edit.js +8 -4
  42. package/build/image/edit.js.map +1 -1
  43. package/build/image/edit.native.js.map +1 -1
  44. package/build/image/image.js +22 -8
  45. package/build/image/image.js.map +1 -1
  46. package/build/latest-posts/edit.native.js.map +1 -1
  47. package/build/list/ordered-list-settings.js +1 -1
  48. package/build/list/ordered-list-settings.js.map +1 -1
  49. package/build/list-item/edit.js +1 -3
  50. package/build/list-item/edit.js.map +1 -1
  51. package/build/list-item/edit.native.js.map +1 -1
  52. package/build/list-item/hooks/index.js +0 -7
  53. package/build/list-item/hooks/index.js.map +1 -1
  54. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  55. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  56. package/build/list-item/hooks/use-outdent-list-item.js +1 -0
  57. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  58. package/build/list-item/hooks/use-space.js +16 -7
  59. package/build/list-item/hooks/use-space.js.map +1 -1
  60. package/build/list-item/index.js +4 -1
  61. package/build/list-item/index.js.map +1 -1
  62. package/build/media-text/media-container.native.js +1 -1
  63. package/build/media-text/media-container.native.js.map +1 -1
  64. package/build/navigation/edit/index.js.map +1 -1
  65. package/build/navigation-link/link-ui.js.map +1 -1
  66. package/build/paragraph/edit.native.js.map +1 -1
  67. package/build/pattern/edit.js +11 -0
  68. package/build/pattern/edit.js.map +1 -1
  69. package/build/post-excerpt/edit.js.map +1 -1
  70. package/build/post-featured-image/dimension-controls.js.map +1 -1
  71. package/build/post-featured-image/edit.js +8 -11
  72. package/build/post-featured-image/edit.js.map +1 -1
  73. package/build/post-navigation-link/edit.js.map +1 -1
  74. package/build/post-title/edit.js +2 -2
  75. package/build/post-title/edit.js.map +1 -1
  76. package/build/query/edit/pattern-selection-modal.js.map +1 -1
  77. package/build/query/utils.js +7 -5
  78. package/build/query/utils.js.map +1 -1
  79. package/build/query-pagination-next/edit.js.map +1 -1
  80. package/build/query-pagination-previous/edit.js.map +1 -1
  81. package/build/quote/deprecated.js +111 -12
  82. package/build/quote/deprecated.js.map +1 -1
  83. package/build/quote/edit.js +5 -5
  84. package/build/quote/edit.js.map +1 -1
  85. package/build/quote/index.js +1 -1
  86. package/build/quote/index.js.map +1 -1
  87. package/build/quote/save.js +2 -2
  88. package/build/quote/save.js.map +1 -1
  89. package/build/read-more/edit.js.map +1 -1
  90. package/build/search/edit.js +1 -1
  91. package/build/search/edit.js.map +1 -1
  92. package/build/search/edit.native.js.map +1 -1
  93. package/build/site-logo/edit.js +7 -2
  94. package/build/site-logo/edit.js.map +1 -1
  95. package/build/site-title/{edit/index.js → edit.js} +1 -1
  96. package/build/site-title/edit.js.map +1 -0
  97. package/build/social-link/edit.js.map +1 -1
  98. package/build/social-links/edit.native.js.map +1 -1
  99. package/build/spacer/edit.js.map +1 -1
  100. package/build/table-of-contents/edit.js.map +1 -1
  101. package/build/template-part/edit/index.js +53 -1
  102. package/build/template-part/edit/index.js.map +1 -1
  103. package/build/template-part/edit/selection-modal.js +2 -8
  104. package/build/template-part/edit/selection-modal.js.map +1 -1
  105. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
  106. package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  107. package/build/utils/caption.js +15 -5
  108. package/build/utils/caption.js.map +1 -1
  109. package/build/utils/get-transformed-metadata.js +57 -0
  110. package/build/utils/get-transformed-metadata.js.map +1 -0
  111. package/build/utils/hooks.js +55 -4
  112. package/build/utils/hooks.js.map +1 -1
  113. package/build/video/edit-common-settings.js.map +1 -1
  114. package/build/video/edit.js +7 -16
  115. package/build/video/edit.js.map +1 -1
  116. package/build/video/edit.native.js +2 -7
  117. package/build/video/edit.native.js.map +1 -1
  118. package/build-module/audio/edit.js +10 -20
  119. package/build-module/audio/edit.js.map +1 -1
  120. package/build-module/audio/edit.native.js.map +1 -1
  121. package/build-module/avatar/edit.js.map +1 -1
  122. package/build-module/block/deprecated.js +71 -11
  123. package/build-module/block/deprecated.js.map +1 -1
  124. package/build-module/block/edit.js +49 -24
  125. package/build-module/block/edit.js.map +1 -1
  126. package/build-module/button/edit.js +3 -3
  127. package/build-module/button/edit.js.map +1 -1
  128. package/build-module/buttons/edit.native.js.map +1 -1
  129. package/build-module/buttons/transforms.js +16 -2
  130. package/build-module/buttons/transforms.js.map +1 -1
  131. package/build-module/code/transforms.js +17 -6
  132. package/build-module/code/transforms.js.map +1 -1
  133. package/build-module/columns/edit.js +3 -2
  134. package/build-module/columns/edit.js.map +1 -1
  135. package/build-module/comment-author-avatar/edit.js +1 -1
  136. package/build-module/comment-author-avatar/edit.js.map +1 -1
  137. package/build-module/cover/edit/block-controls.js +15 -4
  138. package/build-module/cover/edit/block-controls.js.map +1 -1
  139. package/build-module/cover/edit/index.js.map +1 -1
  140. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  141. package/build-module/cover/edit/resizable-cover-popover.js +1 -7
  142. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  143. package/build-module/cover/edit.native.js.map +1 -1
  144. package/build-module/file/deprecated.js.map +1 -1
  145. package/build-module/file/edit.js +7 -14
  146. package/build-module/file/edit.js.map +1 -1
  147. package/build-module/file/edit.native.js.map +1 -1
  148. package/build-module/file/save.js.map +1 -1
  149. package/build-module/form-input/edit.js +1 -1
  150. package/build-module/form-input/edit.js.map +1 -1
  151. package/build-module/gallery/edit.js.map +1 -1
  152. package/build-module/gallery/gallery.native.js.map +1 -1
  153. package/build-module/gallery/v1/edit.js.map +1 -1
  154. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  155. package/build-module/heading/transforms.js +17 -4
  156. package/build-module/heading/transforms.js.map +1 -1
  157. package/build-module/image/edit.js +9 -5
  158. package/build-module/image/edit.js.map +1 -1
  159. package/build-module/image/edit.native.js.map +1 -1
  160. package/build-module/image/image.js +23 -9
  161. package/build-module/image/image.js.map +1 -1
  162. package/build-module/latest-posts/edit.native.js.map +1 -1
  163. package/build-module/list/ordered-list-settings.js +1 -1
  164. package/build-module/list/ordered-list-settings.js.map +1 -1
  165. package/build-module/list-item/edit.js +2 -4
  166. package/build-module/list-item/edit.js.map +1 -1
  167. package/build-module/list-item/edit.native.js.map +1 -1
  168. package/build-module/list-item/hooks/index.js +0 -1
  169. package/build-module/list-item/hooks/index.js.map +1 -1
  170. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  171. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  172. package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
  173. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  174. package/build-module/list-item/hooks/use-space.js +17 -8
  175. package/build-module/list-item/hooks/use-space.js.map +1 -1
  176. package/build-module/list-item/index.js +4 -1
  177. package/build-module/list-item/index.js.map +1 -1
  178. package/build-module/media-text/media-container.native.js +1 -1
  179. package/build-module/media-text/media-container.native.js.map +1 -1
  180. package/build-module/navigation/edit/index.js.map +1 -1
  181. package/build-module/navigation-link/link-ui.js.map +1 -1
  182. package/build-module/paragraph/edit.native.js.map +1 -1
  183. package/build-module/pattern/edit.js +11 -0
  184. package/build-module/pattern/edit.js.map +1 -1
  185. package/build-module/post-excerpt/edit.js.map +1 -1
  186. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  187. package/build-module/post-featured-image/edit.js +9 -12
  188. package/build-module/post-featured-image/edit.js.map +1 -1
  189. package/build-module/post-navigation-link/edit.js.map +1 -1
  190. package/build-module/post-title/edit.js +2 -2
  191. package/build-module/post-title/edit.js.map +1 -1
  192. package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
  193. package/build-module/query/utils.js +7 -5
  194. package/build-module/query/utils.js.map +1 -1
  195. package/build-module/query-pagination-next/edit.js.map +1 -1
  196. package/build-module/query-pagination-previous/edit.js.map +1 -1
  197. package/build-module/quote/deprecated.js +112 -13
  198. package/build-module/quote/deprecated.js.map +1 -1
  199. package/build-module/quote/edit.js +5 -5
  200. package/build-module/quote/edit.js.map +1 -1
  201. package/build-module/quote/index.js +1 -1
  202. package/build-module/quote/index.js.map +1 -1
  203. package/build-module/quote/save.js +2 -2
  204. package/build-module/quote/save.js.map +1 -1
  205. package/build-module/read-more/edit.js.map +1 -1
  206. package/build-module/search/edit.js +1 -1
  207. package/build-module/search/edit.js.map +1 -1
  208. package/build-module/search/edit.native.js.map +1 -1
  209. package/build-module/site-logo/edit.js +7 -2
  210. package/build-module/site-logo/edit.js.map +1 -1
  211. package/build-module/site-title/{edit/index.js → edit.js} +1 -1
  212. package/build-module/site-title/edit.js.map +1 -0
  213. package/build-module/social-link/edit.js.map +1 -1
  214. package/build-module/social-links/edit.native.js.map +1 -1
  215. package/build-module/spacer/edit.js.map +1 -1
  216. package/build-module/table-of-contents/edit.js.map +1 -1
  217. package/build-module/template-part/edit/index.js +57 -5
  218. package/build-module/template-part/edit/index.js.map +1 -1
  219. package/build-module/template-part/edit/selection-modal.js +2 -8
  220. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  221. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
  222. package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
  223. package/build-module/utils/caption.js +13 -3
  224. package/build-module/utils/caption.js.map +1 -1
  225. package/build-module/utils/get-transformed-metadata.js +51 -0
  226. package/build-module/utils/get-transformed-metadata.js.map +1 -0
  227. package/build-module/utils/hooks.js +54 -3
  228. package/build-module/utils/hooks.js.map +1 -1
  229. package/build-module/video/edit-common-settings.js.map +1 -1
  230. package/build-module/video/edit.js +10 -19
  231. package/build-module/video/edit.js.map +1 -1
  232. package/build-module/video/edit.native.js +2 -7
  233. package/build-module/video/edit.native.js.map +1 -1
  234. package/build-style/common-rtl.css +1 -0
  235. package/build-style/common.css +1 -0
  236. package/build-style/cover/style-rtl.css +2 -1
  237. package/build-style/cover/style.css +2 -1
  238. package/build-style/editor-rtl.css +4 -1
  239. package/build-style/editor.css +4 -1
  240. package/build-style/group/editor-rtl.css +1 -1
  241. package/build-style/group/editor.css +1 -1
  242. package/build-style/image/editor-rtl.css +3 -0
  243. package/build-style/image/editor.css +3 -0
  244. package/build-style/search/style-rtl.css +2 -0
  245. package/build-style/search/style.css +2 -0
  246. package/build-style/style-rtl.css +4 -1
  247. package/build-style/style.css +4 -1
  248. package/package.json +34 -34
  249. package/src/audio/edit.js +9 -19
  250. package/src/audio/edit.native.js +3 -3
  251. package/src/avatar/edit.js +1 -1
  252. package/src/block/deprecated.js +76 -11
  253. package/src/block/edit.js +64 -19
  254. package/src/block/index.php +23 -12
  255. package/src/button/edit.js +4 -3
  256. package/src/buttons/edit.native.js +1 -1
  257. package/src/buttons/transforms.js +14 -4
  258. package/src/calendar/index.php +5 -0
  259. package/src/code/transforms.js +20 -5
  260. package/src/columns/edit.js +3 -2
  261. package/src/comment-author-avatar/edit.js +1 -1
  262. package/src/comments/index.php +2 -0
  263. package/src/cover/edit/block-controls.js +16 -2
  264. package/src/cover/edit/index.js +2 -2
  265. package/src/cover/edit/inspector-controls.js +1 -1
  266. package/src/cover/edit/resizable-cover-popover.js +1 -6
  267. package/src/cover/edit.native.js +1 -1
  268. package/src/cover/style.scss +3 -2
  269. package/src/file/deprecated.js +3 -3
  270. package/src/file/edit.js +8 -15
  271. package/src/file/edit.native.js +4 -4
  272. package/src/file/save.js +1 -1
  273. package/src/footnotes/index.php +1 -1
  274. package/src/form-input/edit.js +1 -1
  275. package/src/gallery/edit.js +3 -3
  276. package/src/gallery/gallery.native.js +1 -1
  277. package/src/gallery/test/index.native.js +1 -1
  278. package/src/gallery/v1/edit.js +2 -2
  279. package/src/gallery/v1/gallery.native.js +1 -1
  280. package/src/group/editor.scss +1 -1
  281. package/src/heading/transforms.js +27 -8
  282. package/src/image/edit.js +13 -5
  283. package/src/image/edit.native.js +1 -1
  284. package/src/image/editor.scss +6 -0
  285. package/src/image/image.js +34 -22
  286. package/src/latest-posts/edit.native.js +1 -1
  287. package/src/list/ordered-list-settings.js +1 -1
  288. package/src/list-item/edit.js +1 -2
  289. package/src/list-item/edit.native.js +1 -1
  290. package/src/list-item/hooks/index.js +0 -1
  291. package/src/list-item/hooks/use-indent-list-item.js +2 -0
  292. package/src/list-item/hooks/use-outdent-list-item.js +2 -0
  293. package/src/list-item/hooks/use-space.js +16 -9
  294. package/src/list-item/index.js +3 -0
  295. package/src/media-text/media-container.native.js +5 -3
  296. package/src/media-text/test/edit.native.js +58 -0
  297. package/src/missing/test/edit-integration.native.js +2 -1
  298. package/src/navigation/edit/index.js +1 -1
  299. package/src/navigation/edit/test/navigation-menu-selector.js +3 -3
  300. package/src/navigation/index.php +26 -17
  301. package/src/navigation-link/link-ui.js +2 -2
  302. package/src/paragraph/edit.native.js +1 -1
  303. package/src/paragraph/test/edit.native.js +36 -0
  304. package/src/pattern/edit.js +14 -0
  305. package/src/post-excerpt/edit.js +1 -1
  306. package/src/post-featured-image/dimension-controls.js +4 -4
  307. package/src/post-featured-image/edit.js +10 -12
  308. package/src/post-navigation-link/edit.js +1 -1
  309. package/src/post-template/index.php +2 -0
  310. package/src/post-title/edit.js +49 -43
  311. package/src/query/edit/pattern-selection-modal.js +1 -1
  312. package/src/query/utils.js +6 -4
  313. package/src/query-pagination-next/edit.js +1 -1
  314. package/src/query-pagination-previous/edit.js +1 -1
  315. package/src/quote/block.json +1 -1
  316. package/src/quote/deprecated.js +110 -15
  317. package/src/quote/edit.js +5 -5
  318. package/src/quote/save.js +2 -2
  319. package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
  320. package/src/read-more/edit.js +1 -1
  321. package/src/search/edit.js +1 -1
  322. package/src/search/edit.native.js +4 -4
  323. package/src/search/index.php +1 -1
  324. package/src/search/style.scss +2 -0
  325. package/src/site-logo/edit.js +11 -6
  326. package/src/social-link/edit.js +1 -1
  327. package/src/social-links/edit.native.js +1 -1
  328. package/src/spacer/edit.js +1 -1
  329. package/src/table-of-contents/edit.js +1 -1
  330. package/src/template-part/edit/index.js +91 -4
  331. package/src/template-part/edit/selection-modal.js +4 -8
  332. package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
  333. package/src/utils/caption.js +10 -1
  334. package/src/utils/get-transformed-metadata.js +65 -0
  335. package/src/utils/hooks.js +53 -3
  336. package/src/video/edit-common-settings.js +1 -1
  337. package/src/video/edit.js +10 -18
  338. package/src/video/edit.native.js +5 -8
  339. package/src/video/test/edit.native.js +0 -14
  340. package/build/list-item/hooks/use-copy.js +0 -39
  341. package/build/list-item/hooks/use-copy.js.map +0 -1
  342. package/build/site-title/edit/index.js.map +0 -1
  343. package/build-module/list-item/hooks/use-copy.js +0 -32
  344. package/build-module/list-item/hooks/use-copy.js.map +0 -1
  345. package/build-module/site-title/edit/index.js.map +0 -1
  346. package/src/list-item/hooks/use-copy.js +0 -38
  347. /package/src/site-title/{edit/index.js → edit.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_blob","require","_components","_compose","_data","_blockEditor","_element","_i18n","_keycodes","_url","_blocks","_icons","_notices","_coreData","_lockUnlock","_util","_useClientWidth","_interopRequireDefault","_edit","_caption","_constants","_constants2","_utils","DimensionsTool","ResolutionTool","unlock","blockEditorPrivateApis","scaleOptions","value","label","_x","help","__","ImageWrapper","href","children","_react","createElement","onClick","event","preventDefault","style","pointerEvents","cursor","display","Image","temporaryURL","attributes","setAttributes","isSingleSelected","insertBlocksAfter","onReplace","onSelectImage","onSelectURL","onUploadError","containerRef","context","clientId","blockEditingMode","url","alt","align","id","rel","linkClass","linkDestination","title","width","height","aspectRatio","scale","linkTarget","sizeSlug","lightbox","metadata","numericWidth","parseInt","undefined","numericHeight","imageRef","useRef","allowResize","getBlock","getSettings","useSelect","blockEditorStore","image","select","coreStore","getMedia","canInsertCover","imageEditing","imageSizes","maxWidth","getBlockRootClientId","canInsertBlockType","rootClientId","settings","replaceBlocks","toggleSelection","useDispatch","createErrorNotice","createSuccessNotice","noticesStore","isLargeViewport","useViewportMatch","isWideAligned","includes","loadedNaturalWidth","loadedNaturalHeight","setLoadedNaturalSize","useState","isEditingImage","setIsEditingImage","externalBlob","setExternalBlob","clientWidth","useClientWidth","hasNonContentControls","isContentOnlyMode","isResizable","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","useEffect","isExternalImage","mediaUpload","window","fetch","then","response","blob","catch","naturalWidth","naturalHeight","useMemo","current","complete","onResizeStart","onResizeStop","onImageError","embedBlock","createUpgradedEmbedBlock","onSetHref","props","onSetLightbox","enable","lightboxSetting","enabled","onSetTitle","updateAlt","newAlt","updateImage","newSizeSlug","newUrl","uploadExternal","filesList","onFileChange","img","isBlobURL","type","allowedTypes","ALLOWED_MEDIA_TYPES","onError","message","canEditImage","allowCrop","switchToCover","switchToBlockType","dimensionsUnitsOptions","useCustomUnits","availableUnits","useSettings","showLightboxSetting","allowEditing","lightboxChecked","dimensionsControl","onChange","newWidth","newHeight","newScale","newAspectRatio","defaultScale","defaultAspectRatio","unitsOptions","resetAll","sizeControls","InspectorControls","__experimentalToolsPanel","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","lockUrlControls","lockHrefControls","lockAltControls","lockTitleControls","getBlockBindingsSource","getBlockParentsByBlockName","urlBinding","altBinding","titleBinding","bindings","hasParentPattern","length","urlBindingSource","source","altBindingSource","titleBindingSource","lockAttributesEditing","controls","Fragment","BlockControls","group","__experimentalImageURLInputUI","onChangeUrl","mediaUrl","mediaLink","link","lightboxEnabled","ToolbarButton","icon","crop","overlayText","MediaReplaceFlow","mediaId","mediaURL","accept","onSelect","ToolbarGroup","upload","Dropdown","popoverProps","position","renderToggle","isOpen","onToggle","onKeyDown","keyCode","DOWN","renderContent","TextareaControl","className","disabled","ExternalLink","__nextHasNoMarginBottom","TextControl","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","readOnly","options","filename","getFilename","defaultedAlt","sprintf","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","isRounded","src","onLoad","target","ref","objectFit","Spinner","fallbackClientWidth","__experimentalImageEditor","onSaveImage","imageAttributes","onFinishEditing","numericRatio","evalAspectRatio","customRatio","naturalRatio","ratio","currentWidth","currentHeight","minWidth","MIN_SIZE","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","isRTL","ResizableBox","size","showHandle","maxHeight","lockAspectRatio","top","right","bottom","left","direction","elt","offsetWidth","String","resizeRatio","Caption","isSelected","showToolbarButton"],"sources":["@wordpress/block-library/src/image/image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tExternalLink,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tTextControl,\n\tToolbarButton,\n\tToolbarGroup,\n\tDropdown,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n\tuseSettings,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useEffect, useMemo, useState, useRef } from '@wordpress/element';\nimport { __, _x, sprintf, isRTL } from '@wordpress/i18n';\nimport { DOWN } from '@wordpress/keycodes';\nimport { getFilename } from '@wordpress/url';\nimport { switchToBlockType } from '@wordpress/blocks';\nimport { crop, overlayText, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport useClientWidth from './use-client-width';\nimport { isExternalImage } from './edit';\nimport { Caption } from '../utils/caption';\n\n/**\n * Module constants\n */\nimport { TOOLSPANEL_DROPDOWNMENU_PROPS } from '../utils/constants';\nimport { MIN_SIZE, ALLOWED_MEDIA_TYPES } from './constants';\nimport { evalAspectRatio } from './utils';\n\nconst { DimensionsTool, ResolutionTool } = unlock( blockEditorPrivateApis );\n\nconst scaleOptions = [\n\t{\n\t\tvalue: 'cover',\n\t\tlabel: _x( 'Cover', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Image covers the space evenly.' ),\n\t},\n\t{\n\t\tvalue: 'contain',\n\t\tlabel: _x( 'Contain', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Image is contained without distortion.' ),\n\t},\n];\n\n// If the image has a href, wrap in an <a /> tag to trigger any inherited link element styles.\nconst ImageWrapper = ( { href, children } ) => {\n\tif ( ! href ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<a\n\t\t\thref={ href }\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\taria-disabled={ true }\n\t\t\tstyle={ {\n\t\t\t\t// When the Image block is linked,\n\t\t\t\t// it's wrapped with a disabled <a /> tag.\n\t\t\t\t// Restore cursor style so it doesn't appear 'clickable'\n\t\t\t\t// and remove pointer events. Safari needs the display property.\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\tcursor: 'default',\n\t\t\t\tdisplay: 'inline',\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</a>\n\t);\n};\n\nexport default function Image( {\n\ttemporaryURL,\n\tattributes,\n\tsetAttributes,\n\tisSingleSelected,\n\tinsertBlocksAfter,\n\tonReplace,\n\tonSelectImage,\n\tonSelectURL,\n\tonUploadError,\n\tcontainerRef,\n\tcontext,\n\tclientId,\n\tblockEditingMode,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\talign,\n\t\tid,\n\t\thref,\n\t\trel,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\ttitle,\n\t\twidth,\n\t\theight,\n\t\taspectRatio,\n\t\tscale,\n\t\tlinkTarget,\n\t\tsizeSlug,\n\t\tlightbox,\n\t\tmetadata,\n\t} = attributes;\n\n\t// The only supported unit is px, so we can parseInt to strip the px here.\n\tconst numericWidth = width ? parseInt( width, 10 ) : undefined;\n\tconst numericHeight = height ? parseInt( height, 10 ) : undefined;\n\n\tconst imageRef = useRef();\n\tconst { allowResize = true } = context;\n\tconst { getBlock, getSettings } = useSelect( blockEditorStore );\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tid && isSingleSelected\n\t\t\t\t? select( coreStore ).getMedia( id, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ id, isSingleSelected ]\n\t);\n\n\tconst { canInsertCover, imageEditing, imageSizes, maxWidth } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst settings = getSettings();\n\n\t\t\treturn {\n\t\t\t\timageEditing: settings.imageEditing,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmaxWidth: settings.maxWidth,\n\t\t\t\tcanInsertCover: canInsertBlockType(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks, toggleSelection } = useDispatch( blockEditorStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst [\n\t\t{ loadedNaturalWidth, loadedNaturalHeight },\n\t\tsetLoadedNaturalSize,\n\t] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst [ externalBlob, setExternalBlob ] = useState();\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\tconst isResizable =\n\t\tallowResize &&\n\t\thasNonContentControls &&\n\t\t! isWideAligned &&\n\t\tisLargeViewport;\n\tconst imageSizeOptions = imageSizes\n\t\t.filter(\n\t\t\t( { slug } ) => image?.media_details?.sizes?.[ slug ]?.source_url\n\t\t)\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\t// If an image is externally hosted, try to fetch the image data. This may\n\t// fail if the image host doesn't allow CORS with the domain. If it works,\n\t// we can enable a button in the toolbar to upload the image.\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! isExternalImage( id, url ) ||\n\t\t\t! isSingleSelected ||\n\t\t\t! getSettings().mediaUpload\n\t\t) {\n\t\t\tsetExternalBlob();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( externalBlob ) return;\n\n\t\twindow\n\t\t\t// Avoid cache, which seems to help avoid CORS problems.\n\t\t\t.fetch( url.includes( '?' ) ? url : url + '?' )\n\t\t\t.then( ( response ) => response.blob() )\n\t\t\t.then( ( blob ) => setExternalBlob( blob ) )\n\t\t\t// Do nothing, cannot upload.\n\t\t\t.catch( () => {} );\n\t}, [ id, url, isSingleSelected, externalBlob ] );\n\n\t// Get naturalWidth and naturalHeight from image ref, and fall back to loaded natural\n\t// width and height. This resolves an issue in Safari where the loaded natural\n\t// width and height is otherwise lost when switching between alignments.\n\t// See: https://github.com/WordPress/gutenberg/pull/37210.\n\tconst { naturalWidth, naturalHeight } = useMemo( () => {\n\t\treturn {\n\t\t\tnaturalWidth:\n\t\t\t\timageRef.current?.naturalWidth ||\n\t\t\t\tloadedNaturalWidth ||\n\t\t\t\tundefined,\n\t\t\tnaturalHeight:\n\t\t\t\timageRef.current?.naturalHeight ||\n\t\t\t\tloadedNaturalHeight ||\n\t\t\t\tundefined,\n\t\t};\n\t}, [\n\t\tloadedNaturalWidth,\n\t\tloadedNaturalHeight,\n\t\timageRef.current?.complete,\n\t] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tfunction onImageError() {\n\t\t// Check if there's an embed block that handles this URL, e.g., instagram URL.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/11472\n\t\tconst embedBlock = createUpgradedEmbedBlock( { attributes: { url } } );\n\n\t\tif ( undefined !== embedBlock ) {\n\t\t\tonReplace( embedBlock );\n\t\t}\n\t}\n\n\tfunction onSetHref( props ) {\n\t\tsetAttributes( props );\n\t}\n\n\tfunction onSetLightbox( enable ) {\n\t\tif ( enable && ! lightboxSetting?.enabled ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: true },\n\t\t\t} );\n\t\t} else if ( ! enable && lightboxSetting?.enabled ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: false },\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction onSetTitle( value ) {\n\t\t// This is the HTML title attribute, separate from the media object\n\t\t// title.\n\t\tsetAttributes( { title: value } );\n\t}\n\n\tfunction updateAlt( newAlt ) {\n\t\tsetAttributes( { alt: newAlt } );\n\t}\n\n\tfunction updateImage( newSizeSlug ) {\n\t\tconst newUrl = image?.media_details?.sizes?.[ newSizeSlug ]?.source_url;\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\turl: newUrl,\n\t\t\tsizeSlug: newSizeSlug,\n\t\t} );\n\t}\n\n\tfunction uploadExternal() {\n\t\tconst { mediaUpload } = getSettings();\n\t\tif ( ! mediaUpload ) {\n\t\t\treturn;\n\t\t}\n\t\tmediaUpload( {\n\t\t\tfilesList: [ externalBlob ],\n\t\t\tonFileChange( [ img ] ) {\n\t\t\t\tonSelectImage( img );\n\n\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetExternalBlob();\n\t\t\t\tcreateSuccessNotice( __( 'Image uploaded.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t},\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tonError( message ) {\n\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSingleSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSingleSelected ] );\n\n\tconst canEditImage = id && naturalWidth && naturalHeight && imageEditing;\n\tconst allowCrop = isSingleSelected && canEditImage && ! isEditingImage;\n\n\tfunction switchToCover() {\n\t\treplaceBlocks(\n\t\t\tclientId,\n\t\t\tswitchToBlockType( getBlock( clientId ), 'core/cover' )\n\t\t);\n\t}\n\n\t// TODO: Can allow more units after figuring out how they should interact\n\t// with the ResizableBox and ImageEditor components. Calculations later on\n\t// for those components are currently assuming px units.\n\tconst dimensionsUnitsOptions = useCustomUnits( {\n\t\tavailableUnits: [ 'px' ],\n\t} );\n\n\tconst [ lightboxSetting ] = useSettings( 'lightbox' );\n\n\tconst showLightboxSetting =\n\t\t!! lightbox || lightboxSetting?.allowEditing === true;\n\n\tconst lightboxChecked =\n\t\t!! lightbox?.enabled || ( ! lightbox && !! lightboxSetting?.enabled );\n\n\tconst dimensionsControl = (\n\t\t<DimensionsTool\n\t\t\tvalue={ { width, height, scale, aspectRatio } }\n\t\t\tonChange={ ( {\n\t\t\t\twidth: newWidth,\n\t\t\t\theight: newHeight,\n\t\t\t\tscale: newScale,\n\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t} ) => {\n\t\t\t\t// Rebuilding the object forces setting `undefined`\n\t\t\t\t// for values that are removed since setAttributes\n\t\t\t\t// doesn't do anything with keys that aren't set.\n\t\t\t\tsetAttributes( {\n\t\t\t\t\t// CSS includes `height: auto`, but we need\n\t\t\t\t\t// `width: auto` to fix the aspect ratio when\n\t\t\t\t\t// only height is set due to the width and\n\t\t\t\t\t// height attributes set via the server.\n\t\t\t\t\twidth: ! newWidth && newHeight ? 'auto' : newWidth,\n\t\t\t\t\theight: newHeight,\n\t\t\t\t\tscale: newScale,\n\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdefaultScale=\"cover\"\n\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\tscaleOptions={ scaleOptions }\n\t\t\tunitsOptions={ dimensionsUnitsOptions }\n\t\t/>\n\t);\n\n\tconst resetAll = () => {\n\t\tsetAttributes( {\n\t\t\talt: undefined,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t\tscale: undefined,\n\t\t\taspectRatio: undefined,\n\t\t\tlightbox: undefined,\n\t\t} );\n\t};\n\n\tconst sizeControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ resetAll }\n\t\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t\t>\n\t\t\t\t{ isResizable && dimensionsControl }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\tconst {\n\t\tlockUrlControls = false,\n\t\tlockHrefControls = false,\n\t\tlockAltControls = false,\n\t\tlockTitleControls = false,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst { getBlockBindingsSource, getBlockParentsByBlockName } =\n\t\t\t\tunlock( select( blockEditorStore ) );\n\t\t\tconst {\n\t\t\t\turl: urlBinding,\n\t\t\t\talt: altBinding,\n\t\t\t\ttitle: titleBinding,\n\t\t\t} = metadata?.bindings || {};\n\t\t\tconst hasParentPattern =\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/block' ).length > 0;\n\t\t\tconst urlBindingSource = getBlockBindingsSource(\n\t\t\t\turlBinding?.source\n\t\t\t);\n\t\t\tconst altBindingSource = getBlockBindingsSource(\n\t\t\t\taltBinding?.source\n\t\t\t);\n\t\t\tconst titleBindingSource = getBlockBindingsSource(\n\t\t\t\ttitleBinding?.source\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! urlBinding &&\n\t\t\t\t\t( ! urlBindingSource ||\n\t\t\t\t\t\turlBindingSource?.lockAttributesEditing ),\n\t\t\t\tlockHrefControls:\n\t\t\t\t\t// Disable editing the link of the URL if the image is inside a pattern instance.\n\t\t\t\t\t// This is a temporary solution until we support overriding the link on the frontend.\n\t\t\t\t\thasParentPattern,\n\t\t\t\tlockAltControls:\n\t\t\t\t\t!! altBinding &&\n\t\t\t\t\t( ! altBindingSource ||\n\t\t\t\t\t\taltBindingSource?.lockAttributesEditing ),\n\t\t\t\tlockTitleControls:\n\t\t\t\t\t!! titleBinding &&\n\t\t\t\t\t( ! titleBindingSource ||\n\t\t\t\t\t\ttitleBindingSource?.lockAttributesEditing ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSingleSelected, metadata?.bindings ]\n\t);\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ isSingleSelected &&\n\t\t\t\t\t! isEditingImage &&\n\t\t\t\t\t! lockHrefControls &&\n\t\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\t\tmediaUrl={ ( image && image.source_url ) || url }\n\t\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t\t\tshowLightboxSetting={ showLightboxSetting }\n\t\t\t\t\t\t\tlightboxEnabled={ lightboxChecked }\n\t\t\t\t\t\t\tonSetLightbox={ onSetLightbox }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t{ allowCrop && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isSingleSelected && canInsertCover && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ overlayText }\n\t\t\t\t\t\tlabel={ __( 'Add text over image' ) }\n\t\t\t\t\t\tonClick={ switchToCover }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isSingleSelected && ! isEditingImage && ! lockUrlControls && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isSingleSelected && externalBlob && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ uploadExternal }\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tlabel={ __( 'Upload to Media Library' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isContentOnlyMode && (\n\t\t\t\t// Add some extra controls for content attributes when content only mode is active.\n\t\t\t\t// With content only mode active, the inspector is hidden, so users need another way\n\t\t\t\t// to edit these attributes.\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ { position: 'bottom right' } }\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tonToggle();\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\t\t{ _x(\n\t\t\t\t\t\t\t\t\t'Alt',\n\t\t\t\t\t\t\t\t\t'Alternative text for an image. Block toolbar label, a low character count is preferred.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-image__toolbar_content_textarea\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt || '' }\n\t\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\t\tdisabled={ lockAltControls }\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlockAltControls ? (\n\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\t\t'Connected to a custom field'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\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\t\t'Describe the purpose of the image.'\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</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ { position: 'bottom right' } }\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tonToggle();\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\t\t{ __( 'Title' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-image__toolbar_content_textarea\"\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\t\t\t\tonChange={ onSetTitle }\n\t\t\t\t\t\t\t\tdisabled={ lockTitleControls }\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlockTitleControls ? (\n\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\t\t'Connected to a custom field'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\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\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\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\t\t'(Note: many devices and browsers do not display this text.)'\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</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ resetAll }\n\t\t\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t\t\t>\n\t\t\t\t\t{ isSingleSelected && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\t\t\thasValue={ () => !! alt }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { alt: undefined } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt || '' }\n\t\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\t\treadOnly={ lockAltControls }\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlockAltControls ? (\n\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\t\t'Connected to a custom field'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\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\t\t'Describe the purpose of the image.'\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</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isResizable && dimensionsControl }\n\t\t\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t\t\t<ResolutionTool\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ onSetTitle }\n\t\t\t\t\treadOnly={ lockTitleControls }\n\t\t\t\t\thelp={\n\t\t\t\t\t\tlockTitleControls ? (\n\t\t\t\t\t\t\t<>{ __( 'Connected to a custom field' ) }</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ExternalLink>\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</InspectorControls>\n\t\t</>\n\t);\n\n\tconst filename = getFilename( url );\n\tlet defaultedAlt;\n\n\tif ( alt ) {\n\t\tdefaultedAlt = alt;\n\t} else if ( filename ) {\n\t\tdefaultedAlt = sprintf(\n\t\t\t/* translators: %s: file name */\n\t\t\t__( 'This image has an empty alt attribute; its file name is %s' ),\n\t\t\tfilename\n\t\t);\n\t} else {\n\t\tdefaultedAlt = __( 'This image has an empty alt attribute' );\n\t}\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst isRounded = attributes.className?.includes( 'is-style-rounded' );\n\n\tlet img = (\n\t\t// Disable reason: Image itself is not meant to be interactive, but\n\t\t// should direct focus to block.\n\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t<>\n\t\t\t<img\n\t\t\t\tsrc={ temporaryURL || url }\n\t\t\t\talt={ defaultedAlt }\n\t\t\t\tonError={ () => onImageError() }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetLoadedNaturalSize( {\n\t\t\t\t\t\tloadedNaturalWidth: event.target?.naturalWidth,\n\t\t\t\t\t\tloadedNaturalHeight: event.target?.naturalHeight,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tref={ imageRef }\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth:\n\t\t\t\t\t\t( width && height ) || aspectRatio ? '100%' : undefined,\n\t\t\t\t\theight:\n\t\t\t\t\t\t( width && height ) || aspectRatio ? '100%' : undefined,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ temporaryURL && <Spinner /> }\n\t\t</>\n\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t);\n\n\t// clientWidth needs to be a number for the image Cropper to work, but sometimes it's 0\n\t// So we try using the imageRef width first and fallback to clientWidth.\n\tconst fallbackClientWidth = imageRef.current?.width || clientWidth;\n\n\tif ( canEditImage && isEditingImage ) {\n\t\timg = (\n\t\t\t<ImageWrapper href={ href }>\n\t\t\t\t<ImageEditor\n\t\t\t\t\tid={ id }\n\t\t\t\t\turl={ url }\n\t\t\t\t\twidth={ numericWidth }\n\t\t\t\t\theight={ numericHeight }\n\t\t\t\t\tclientWidth={ fallbackClientWidth }\n\t\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\t\tonSaveImage={ ( imageAttributes ) =>\n\t\t\t\t\t\tsetAttributes( imageAttributes )\n\t\t\t\t\t}\n\t\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t\t} }\n\t\t\t\t\tborderProps={ isRounded ? undefined : borderProps }\n\t\t\t\t/>\n\t\t\t</ImageWrapper>\n\t\t);\n\t} else if ( ! isResizable ) {\n\t\timg = (\n\t\t\t<div style={ { width, height, aspectRatio } }>\n\t\t\t\t<ImageWrapper href={ href }>{ img }</ImageWrapper>\n\t\t\t</div>\n\t\t);\n\t} else {\n\t\tconst numericRatio = aspectRatio && evalAspectRatio( aspectRatio );\n\t\tconst customRatio = numericWidth / numericHeight;\n\t\tconst naturalRatio = naturalWidth / naturalHeight;\n\t\tconst ratio = numericRatio || customRatio || naturalRatio || 1;\n\t\tconst currentWidth =\n\t\t\t! numericWidth && numericHeight\n\t\t\t\t? numericHeight * ratio\n\t\t\t\t: numericWidth;\n\t\tconst currentHeight =\n\t\t\t! numericHeight && numericWidth\n\t\t\t\t? numericWidth / ratio\n\t\t\t\t: numericHeight;\n\n\t\tconst minWidth =\n\t\t\tnaturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\t\tconst minHeight =\n\t\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t\t// With the current implementation of ResizableBox, an image needs an\n\t\t// explicit pixel value for the max-width. In absence of being able to\n\t\t// set the content-width, this max-width is currently dictated by the\n\t\t// vanilla editor style. The following variable adds a buffer to this\n\t\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t\t// in most cases, allow you to scale the image beyond the width of the\n\t\t// main column, though not infinitely.\n\t\t// @todo It would be good to revisit this once a content-width variable\n\t\t// becomes available.\n\t\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\t\tlet showRightHandle = false;\n\t\tlet showLeftHandle = false;\n\n\t\t/* eslint-disable no-lonely-if */\n\t\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\t\tif ( align === 'center' ) {\n\t\t\t// When the image is centered, show both handles.\n\t\t\tshowRightHandle = true;\n\t\t\tshowLeftHandle = true;\n\t\t} else if ( isRTL() ) {\n\t\t\t// In RTL mode the image is on the right by default.\n\t\t\t// Show the right handle and hide the left handle only when it is\n\t\t\t// aligned left. Otherwise always show the left handle.\n\t\t\tif ( align === 'left' ) {\n\t\t\t\tshowRightHandle = true;\n\t\t\t} else {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the left handle and hide the right handle only when the\n\t\t\t// image is aligned right. Otherwise always show the right handle.\n\t\t\tif ( align === 'right' ) {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t} else {\n\t\t\t\tshowRightHandle = true;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-lonely-if */\n\t\timg = (\n\t\t\t<ResizableBox\n\t\t\t\tstyle={ {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! width && ! height && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t} }\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth ?? 'auto',\n\t\t\t\t\theight: currentHeight ?? 'auto',\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSingleSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio={ ratio }\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\t// Since the aspect ratio is locked when resizing, we can\n\t\t\t\t\t// use the width of the resized element to calculate the\n\t\t\t\t\t// height in CSS to prevent stretching when the max-width\n\t\t\t\t\t// is reached.\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: `${ elt.offsetWidth }px`,\n\t\t\t\t\t\theight: 'auto',\n\t\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t\tratio === naturalRatio\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: String( ratio ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tresizeRatio={ align === 'center' ? 2 : 1 }\n\t\t\t>\n\t\t\t\t<ImageWrapper href={ href }>{ img }</ImageWrapper>\n\t\t\t</ResizableBox>\n\t\t);\n\t}\n\n\tif ( ! url && ! temporaryURL ) {\n\t\t// Add all controls if the image attributes are connected.\n\t\treturn metadata?.bindings ? controls : sizeControls;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ /* Hide controls during upload to avoid component remount,\n\t\t\t\twhich causes duplicated image upload. */ }\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ img }\n\t\t\t<Caption\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tlabel={ __( 'Image caption text' ) }\n\t\t\t\tshowToolbarButton={ isSingleSelected && hasNonContentControls }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_blob","require","_components","_compose","_data","_blockEditor","_element","_i18n","_keycodes","_url","_blocks","_icons","_notices","_coreData","_lockUnlock","_util","_useClientWidth","_interopRequireDefault","_edit","_caption","_constants","_constants2","_utils","DimensionsTool","ResolutionTool","unlock","blockEditorPrivateApis","scaleOptions","value","label","_x","help","__","ImageWrapper","href","children","_react","createElement","onClick","event","preventDefault","style","pointerEvents","cursor","display","Image","temporaryURL","attributes","setAttributes","isSingleSelected","insertBlocksAfter","onReplace","onSelectImage","onSelectURL","onUploadError","containerRef","context","clientId","blockEditingMode","url","alt","align","id","rel","linkClass","linkDestination","title","width","height","aspectRatio","scale","linkTarget","sizeSlug","lightbox","metadata","numericWidth","parseInt","undefined","numericHeight","imageRef","useRef","allowResize","getBlock","getSettings","useSelect","blockEditorStore","image","select","coreStore","getMedia","canInsertCover","imageEditing","imageSizes","maxWidth","getBlockRootClientId","canInsertBlockType","rootClientId","settings","replaceBlocks","toggleSelection","useDispatch","createErrorNotice","createSuccessNotice","noticesStore","isLargeViewport","useViewportMatch","isWideAligned","includes","loadedNaturalWidth","loadedNaturalHeight","setLoadedNaturalSize","useState","isEditingImage","setIsEditingImage","externalBlob","setExternalBlob","clientWidth","useClientWidth","hasNonContentControls","isContentOnlyMode","isResizable","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","useEffect","isExternalImage","mediaUpload","window","fetch","then","response","blob","catch","naturalWidth","naturalHeight","useMemo","current","complete","onResizeStart","onResizeStop","onImageError","embedBlock","createUpgradedEmbedBlock","onSetHref","props","onSetLightbox","enable","lightboxSetting","enabled","onSetTitle","updateAlt","newAlt","updateImage","newSizeSlug","newUrl","uploadExternal","filesList","onFileChange","img","isBlobURL","type","allowedTypes","ALLOWED_MEDIA_TYPES","onError","message","canEditImage","allowCrop","switchToCover","switchToBlockType","dimensionsUnitsOptions","useCustomUnits","availableUnits","useSettings","showLightboxSetting","allowEditing","lightboxChecked","dimensionsControl","onChange","newWidth","newHeight","newScale","newAspectRatio","defaultScale","defaultAspectRatio","unitsOptions","resetAll","sizeControls","InspectorControls","__experimentalToolsPanel","dropdownMenuProps","TOOLSPANEL_DROPDOWNMENU_PROPS","lockUrlControls","lockHrefControls","lockAltControls","lockAltControlsMessage","lockTitleControls","lockTitleControlsMessage","lockCaption","getBlockBindingsSource","blocksStore","getBlockParentsByBlockName","urlBinding","altBinding","titleBinding","bindings","hasParentPattern","length","urlBindingSource","source","altBindingSource","titleBindingSource","lockAttributesEditing","sprintf","controls","Fragment","BlockControls","group","__experimentalImageURLInputUI","onChangeUrl","mediaUrl","mediaLink","link","lightboxEnabled","ToolbarButton","icon","crop","overlayText","MediaReplaceFlow","mediaId","mediaURL","accept","onSelect","ToolbarGroup","upload","Dropdown","popoverProps","position","renderToggle","isOpen","onToggle","onKeyDown","keyCode","DOWN","renderContent","TextareaControl","className","disabled","ExternalLink","__nextHasNoMarginBottom","TextControl","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","readOnly","options","filename","getFilename","defaultedAlt","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","isRounded","src","onLoad","target","ref","objectFit","Spinner","fallbackClientWidth","__experimentalImageEditor","onSaveImage","imageAttributes","onFinishEditing","numericRatio","evalAspectRatio","customRatio","naturalRatio","ratio","currentWidth","currentHeight","minWidth","MIN_SIZE","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","isRTL","ResizableBox","size","showHandle","maxHeight","lockAspectRatio","top","right","bottom","left","direction","elt","offsetWidth","String","resizeRatio","Caption","isSelected","showToolbarButton","disableEditing"],"sources":["@wordpress/block-library/src/image/image.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tExternalLink,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tTextControl,\n\tToolbarButton,\n\tToolbarGroup,\n\tDropdown,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n\tuseSettings,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useEffect, useMemo, useState, useRef } from '@wordpress/element';\nimport { __, _x, sprintf, isRTL } from '@wordpress/i18n';\nimport { DOWN } from '@wordpress/keycodes';\nimport { getFilename } from '@wordpress/url';\nimport { switchToBlockType, store as blocksStore } from '@wordpress/blocks';\nimport { crop, overlayText, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport useClientWidth from './use-client-width';\nimport { isExternalImage } from './edit';\nimport { Caption } from '../utils/caption';\n\n/**\n * Module constants\n */\nimport { TOOLSPANEL_DROPDOWNMENU_PROPS } from '../utils/constants';\nimport { MIN_SIZE, ALLOWED_MEDIA_TYPES } from './constants';\nimport { evalAspectRatio } from './utils';\n\nconst { DimensionsTool, ResolutionTool } = unlock( blockEditorPrivateApis );\n\nconst scaleOptions = [\n\t{\n\t\tvalue: 'cover',\n\t\tlabel: _x( 'Cover', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Image covers the space evenly.' ),\n\t},\n\t{\n\t\tvalue: 'contain',\n\t\tlabel: _x( 'Contain', 'Scale option for dimensions control' ),\n\t\thelp: __( 'Image is contained without distortion.' ),\n\t},\n];\n\n// If the image has a href, wrap in an <a /> tag to trigger any inherited link element styles.\nconst ImageWrapper = ( { href, children } ) => {\n\tif ( ! href ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<a\n\t\t\thref={ href }\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\taria-disabled\n\t\t\tstyle={ {\n\t\t\t\t// When the Image block is linked,\n\t\t\t\t// it's wrapped with a disabled <a /> tag.\n\t\t\t\t// Restore cursor style so it doesn't appear 'clickable'\n\t\t\t\t// and remove pointer events. Safari needs the display property.\n\t\t\t\tpointerEvents: 'none',\n\t\t\t\tcursor: 'default',\n\t\t\t\tdisplay: 'inline',\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</a>\n\t);\n};\n\nexport default function Image( {\n\ttemporaryURL,\n\tattributes,\n\tsetAttributes,\n\tisSingleSelected,\n\tinsertBlocksAfter,\n\tonReplace,\n\tonSelectImage,\n\tonSelectURL,\n\tonUploadError,\n\tcontainerRef,\n\tcontext,\n\tclientId,\n\tblockEditingMode,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\talign,\n\t\tid,\n\t\thref,\n\t\trel,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\ttitle,\n\t\twidth,\n\t\theight,\n\t\taspectRatio,\n\t\tscale,\n\t\tlinkTarget,\n\t\tsizeSlug,\n\t\tlightbox,\n\t\tmetadata,\n\t} = attributes;\n\n\t// The only supported unit is px, so we can parseInt to strip the px here.\n\tconst numericWidth = width ? parseInt( width, 10 ) : undefined;\n\tconst numericHeight = height ? parseInt( height, 10 ) : undefined;\n\n\tconst imageRef = useRef();\n\tconst { allowResize = true } = context;\n\tconst { getBlock, getSettings } = useSelect( blockEditorStore );\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tid && isSingleSelected\n\t\t\t\t? select( coreStore ).getMedia( id, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ id, isSingleSelected ]\n\t);\n\n\tconst { canInsertCover, imageEditing, imageSizes, maxWidth } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockRootClientId, canInsertBlockType } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst settings = getSettings();\n\n\t\t\treturn {\n\t\t\t\timageEditing: settings.imageEditing,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmaxWidth: settings.maxWidth,\n\t\t\t\tcanInsertCover: canInsertBlockType(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { replaceBlocks, toggleSelection } = useDispatch( blockEditorStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst [\n\t\t{ loadedNaturalWidth, loadedNaturalHeight },\n\t\tsetLoadedNaturalSize,\n\t] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst [ externalBlob, setExternalBlob ] = useState();\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\tconst isContentOnlyMode = blockEditingMode === 'contentOnly';\n\tconst isResizable =\n\t\tallowResize &&\n\t\thasNonContentControls &&\n\t\t! isWideAligned &&\n\t\tisLargeViewport;\n\tconst imageSizeOptions = imageSizes\n\t\t.filter(\n\t\t\t( { slug } ) => image?.media_details?.sizes?.[ slug ]?.source_url\n\t\t)\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\t// If an image is externally hosted, try to fetch the image data. This may\n\t// fail if the image host doesn't allow CORS with the domain. If it works,\n\t// we can enable a button in the toolbar to upload the image.\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! isExternalImage( id, url ) ||\n\t\t\t! isSingleSelected ||\n\t\t\t! getSettings().mediaUpload\n\t\t) {\n\t\t\tsetExternalBlob();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( externalBlob ) return;\n\n\t\twindow\n\t\t\t// Avoid cache, which seems to help avoid CORS problems.\n\t\t\t.fetch( url.includes( '?' ) ? url : url + '?' )\n\t\t\t.then( ( response ) => response.blob() )\n\t\t\t.then( ( blob ) => setExternalBlob( blob ) )\n\t\t\t// Do nothing, cannot upload.\n\t\t\t.catch( () => {} );\n\t}, [ id, url, isSingleSelected, externalBlob ] );\n\n\t// Get naturalWidth and naturalHeight from image ref, and fall back to loaded natural\n\t// width and height. This resolves an issue in Safari where the loaded natural\n\t// width and height is otherwise lost when switching between alignments.\n\t// See: https://github.com/WordPress/gutenberg/pull/37210.\n\tconst { naturalWidth, naturalHeight } = useMemo( () => {\n\t\treturn {\n\t\t\tnaturalWidth:\n\t\t\t\timageRef.current?.naturalWidth ||\n\t\t\t\tloadedNaturalWidth ||\n\t\t\t\tundefined,\n\t\t\tnaturalHeight:\n\t\t\t\timageRef.current?.naturalHeight ||\n\t\t\t\tloadedNaturalHeight ||\n\t\t\t\tundefined,\n\t\t};\n\t}, [\n\t\tloadedNaturalWidth,\n\t\tloadedNaturalHeight,\n\t\timageRef.current?.complete,\n\t] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tfunction onImageError() {\n\t\t// Check if there's an embed block that handles this URL, e.g., instagram URL.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/11472\n\t\tconst embedBlock = createUpgradedEmbedBlock( { attributes: { url } } );\n\n\t\tif ( undefined !== embedBlock ) {\n\t\t\tonReplace( embedBlock );\n\t\t}\n\t}\n\n\tfunction onSetHref( props ) {\n\t\tsetAttributes( props );\n\t}\n\n\tfunction onSetLightbox( enable ) {\n\t\tif ( enable && ! lightboxSetting?.enabled ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: true },\n\t\t\t} );\n\t\t} else if ( ! enable && lightboxSetting?.enabled ) {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: { enabled: false },\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( {\n\t\t\t\tlightbox: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction onSetTitle( value ) {\n\t\t// This is the HTML title attribute, separate from the media object\n\t\t// title.\n\t\tsetAttributes( { title: value } );\n\t}\n\n\tfunction updateAlt( newAlt ) {\n\t\tsetAttributes( { alt: newAlt } );\n\t}\n\n\tfunction updateImage( newSizeSlug ) {\n\t\tconst newUrl = image?.media_details?.sizes?.[ newSizeSlug ]?.source_url;\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\turl: newUrl,\n\t\t\tsizeSlug: newSizeSlug,\n\t\t} );\n\t}\n\n\tfunction uploadExternal() {\n\t\tconst { mediaUpload } = getSettings();\n\t\tif ( ! mediaUpload ) {\n\t\t\treturn;\n\t\t}\n\t\tmediaUpload( {\n\t\t\tfilesList: [ externalBlob ],\n\t\t\tonFileChange( [ img ] ) {\n\t\t\t\tonSelectImage( img );\n\n\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetExternalBlob();\n\t\t\t\tcreateSuccessNotice( __( 'Image uploaded.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t},\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tonError( message ) {\n\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSingleSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSingleSelected ] );\n\n\tconst canEditImage = id && naturalWidth && naturalHeight && imageEditing;\n\tconst allowCrop = isSingleSelected && canEditImage && ! isEditingImage;\n\n\tfunction switchToCover() {\n\t\treplaceBlocks(\n\t\t\tclientId,\n\t\t\tswitchToBlockType( getBlock( clientId ), 'core/cover' )\n\t\t);\n\t}\n\n\t// TODO: Can allow more units after figuring out how they should interact\n\t// with the ResizableBox and ImageEditor components. Calculations later on\n\t// for those components are currently assuming px units.\n\tconst dimensionsUnitsOptions = useCustomUnits( {\n\t\tavailableUnits: [ 'px' ],\n\t} );\n\n\tconst [ lightboxSetting ] = useSettings( 'lightbox' );\n\n\tconst showLightboxSetting =\n\t\t!! lightbox || lightboxSetting?.allowEditing === true;\n\n\tconst lightboxChecked =\n\t\t!! lightbox?.enabled || ( ! lightbox && !! lightboxSetting?.enabled );\n\n\tconst dimensionsControl = (\n\t\t<DimensionsTool\n\t\t\tvalue={ { width, height, scale, aspectRatio } }\n\t\t\tonChange={ ( {\n\t\t\t\twidth: newWidth,\n\t\t\t\theight: newHeight,\n\t\t\t\tscale: newScale,\n\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t} ) => {\n\t\t\t\t// Rebuilding the object forces setting `undefined`\n\t\t\t\t// for values that are removed since setAttributes\n\t\t\t\t// doesn't do anything with keys that aren't set.\n\t\t\t\tsetAttributes( {\n\t\t\t\t\t// CSS includes `height: auto`, but we need\n\t\t\t\t\t// `width: auto` to fix the aspect ratio when\n\t\t\t\t\t// only height is set due to the width and\n\t\t\t\t\t// height attributes set via the server.\n\t\t\t\t\twidth: ! newWidth && newHeight ? 'auto' : newWidth,\n\t\t\t\t\theight: newHeight,\n\t\t\t\t\tscale: newScale,\n\t\t\t\t\taspectRatio: newAspectRatio,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdefaultScale=\"cover\"\n\t\t\tdefaultAspectRatio=\"auto\"\n\t\t\tscaleOptions={ scaleOptions }\n\t\t\tunitsOptions={ dimensionsUnitsOptions }\n\t\t/>\n\t);\n\n\tconst resetAll = () => {\n\t\tsetAttributes( {\n\t\t\talt: undefined,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t\tscale: undefined,\n\t\t\taspectRatio: undefined,\n\t\t\tlightbox: undefined,\n\t\t} );\n\t};\n\n\tconst sizeControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\tresetAll={ resetAll }\n\t\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t\t>\n\t\t\t\t{ isResizable && dimensionsControl }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\tconst {\n\t\tlockUrlControls = false,\n\t\tlockHrefControls = false,\n\t\tlockAltControls = false,\n\t\tlockAltControlsMessage,\n\t\tlockTitleControls = false,\n\t\tlockTitleControlsMessage,\n\t\tlockCaption = false,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst { getBlockBindingsSource } = unlock( select( blocksStore ) );\n\t\t\tconst { getBlockParentsByBlockName } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\tconst {\n\t\t\t\turl: urlBinding,\n\t\t\t\talt: altBinding,\n\t\t\t\ttitle: titleBinding,\n\t\t\t} = metadata?.bindings || {};\n\t\t\tconst hasParentPattern =\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/block' ).length > 0;\n\t\t\tconst urlBindingSource = getBlockBindingsSource(\n\t\t\t\turlBinding?.source\n\t\t\t);\n\t\t\tconst altBindingSource = getBlockBindingsSource(\n\t\t\t\taltBinding?.source\n\t\t\t);\n\t\t\tconst titleBindingSource = getBlockBindingsSource(\n\t\t\t\ttitleBinding?.source\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! urlBinding &&\n\t\t\t\t\t( ! urlBindingSource ||\n\t\t\t\t\t\turlBindingSource?.lockAttributesEditing ),\n\t\t\t\tlockHrefControls:\n\t\t\t\t\t// Disable editing the link of the URL if the image is inside a pattern instance.\n\t\t\t\t\t// This is a temporary solution until we support overriding the link on the frontend.\n\t\t\t\t\thasParentPattern,\n\t\t\t\tlockCaption:\n\t\t\t\t\t// Disable editing the caption if the image is inside a pattern instance.\n\t\t\t\t\t// This is a temporary solution until we support overriding the caption on the frontend.\n\t\t\t\t\thasParentPattern,\n\t\t\t\tlockAltControls:\n\t\t\t\t\t!! altBinding &&\n\t\t\t\t\t( ! altBindingSource ||\n\t\t\t\t\t\taltBindingSource?.lockAttributesEditing ),\n\t\t\t\tlockAltControlsMessage: altBindingSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\taltBindingSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t\tlockTitleControls:\n\t\t\t\t\t!! titleBinding &&\n\t\t\t\t\t( ! titleBindingSource ||\n\t\t\t\t\t\ttitleBindingSource?.lockAttributesEditing ),\n\t\t\t\tlockTitleControlsMessage: titleBindingSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\ttitleBindingSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, isSingleSelected, metadata?.bindings ]\n\t);\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ isSingleSelected &&\n\t\t\t\t\t! isEditingImage &&\n\t\t\t\t\t! lockHrefControls &&\n\t\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\t\tmediaUrl={ ( image && image.source_url ) || url }\n\t\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t\t\tshowLightboxSetting={ showLightboxSetting }\n\t\t\t\t\t\t\tlightboxEnabled={ lightboxChecked }\n\t\t\t\t\t\t\tonSetLightbox={ onSetLightbox }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t{ allowCrop && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isSingleSelected && canInsertCover && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ overlayText }\n\t\t\t\t\t\tlabel={ __( 'Add text over image' ) }\n\t\t\t\t\t\tonClick={ switchToCover }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isSingleSelected && ! isEditingImage && ! lockUrlControls && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isSingleSelected && externalBlob && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ uploadExternal }\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tlabel={ __( 'Upload to Media Library' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isContentOnlyMode && (\n\t\t\t\t// Add some extra controls for content attributes when content only mode is active.\n\t\t\t\t// With content only mode active, the inspector is hidden, so users need another way\n\t\t\t\t// to edit these attributes.\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ { position: 'bottom right' } }\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tonToggle();\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\t\t{ _x(\n\t\t\t\t\t\t\t\t\t'Alt',\n\t\t\t\t\t\t\t\t\t'Alternative text for an image. Block toolbar label, a low character count is preferred.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-image__toolbar_content_textarea\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt || '' }\n\t\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\t\tdisabled={ lockAltControls }\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlockAltControls ? (\n\t\t\t\t\t\t\t\t\t\t<>{ lockAltControlsMessage }</>\n\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<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\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\t\t'Describe the purpose of the image.'\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</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ { position: 'bottom right' } }\n\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tonToggle();\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\t\t{ __( 'Title' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tclassName=\"wp-block-image__toolbar_content_textarea\"\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\t\t\t\tonChange={ onSetTitle }\n\t\t\t\t\t\t\t\tdisabled={ lockTitleControls }\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlockTitleControls ? (\n\t\t\t\t\t\t\t\t\t\t<>{ lockTitleControlsMessage }</>\n\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{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\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\t\t'(Note: many devices and browsers do not display this text.)'\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</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ resetAll }\n\t\t\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t\t\t>\n\t\t\t\t\t{ isSingleSelected && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! alt }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { alt: undefined } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt || '' }\n\t\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\t\treadOnly={ lockAltControls }\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlockAltControls ? (\n\t\t\t\t\t\t\t\t\t\t<>{ lockAltControlsMessage }</>\n\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<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\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\t\t'Describe the purpose of the image.'\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</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isResizable && dimensionsControl }\n\t\t\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t\t\t<ResolutionTool\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ onSetTitle }\n\t\t\t\t\treadOnly={ lockTitleControls }\n\t\t\t\t\thelp={\n\t\t\t\t\t\tlockTitleControls ? (\n\t\t\t\t\t\t\t<>{ lockTitleControlsMessage }</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ExternalLink>\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</InspectorControls>\n\t\t</>\n\t);\n\n\tconst filename = getFilename( url );\n\tlet defaultedAlt;\n\n\tif ( alt ) {\n\t\tdefaultedAlt = alt;\n\t} else if ( filename ) {\n\t\tdefaultedAlt = sprintf(\n\t\t\t/* translators: %s: file name */\n\t\t\t__( 'This image has an empty alt attribute; its file name is %s' ),\n\t\t\tfilename\n\t\t);\n\t} else {\n\t\tdefaultedAlt = __( 'This image has an empty alt attribute' );\n\t}\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst isRounded = attributes.className?.includes( 'is-style-rounded' );\n\n\tlet img = (\n\t\t// Disable reason: Image itself is not meant to be interactive, but\n\t\t// should direct focus to block.\n\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t<>\n\t\t\t<img\n\t\t\t\tsrc={ temporaryURL || url }\n\t\t\t\talt={ defaultedAlt }\n\t\t\t\tonError={ () => onImageError() }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetLoadedNaturalSize( {\n\t\t\t\t\t\tloadedNaturalWidth: event.target?.naturalWidth,\n\t\t\t\t\t\tloadedNaturalHeight: event.target?.naturalHeight,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tref={ imageRef }\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth:\n\t\t\t\t\t\t( width && height ) || aspectRatio ? '100%' : undefined,\n\t\t\t\t\theight:\n\t\t\t\t\t\t( width && height ) || aspectRatio ? '100%' : undefined,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ temporaryURL && <Spinner /> }\n\t\t</>\n\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t);\n\n\t// clientWidth needs to be a number for the image Cropper to work, but sometimes it's 0\n\t// So we try using the imageRef width first and fallback to clientWidth.\n\tconst fallbackClientWidth = imageRef.current?.width || clientWidth;\n\n\tif ( canEditImage && isEditingImage ) {\n\t\timg = (\n\t\t\t<ImageWrapper href={ href }>\n\t\t\t\t<ImageEditor\n\t\t\t\t\tid={ id }\n\t\t\t\t\turl={ url }\n\t\t\t\t\twidth={ numericWidth }\n\t\t\t\t\theight={ numericHeight }\n\t\t\t\t\tclientWidth={ fallbackClientWidth }\n\t\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\t\tonSaveImage={ ( imageAttributes ) =>\n\t\t\t\t\t\tsetAttributes( imageAttributes )\n\t\t\t\t\t}\n\t\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t\t} }\n\t\t\t\t\tborderProps={ isRounded ? undefined : borderProps }\n\t\t\t\t/>\n\t\t\t</ImageWrapper>\n\t\t);\n\t} else if ( ! isResizable ) {\n\t\timg = (\n\t\t\t<div style={ { width, height, aspectRatio } }>\n\t\t\t\t<ImageWrapper href={ href }>{ img }</ImageWrapper>\n\t\t\t</div>\n\t\t);\n\t} else {\n\t\tconst numericRatio = aspectRatio && evalAspectRatio( aspectRatio );\n\t\tconst customRatio = numericWidth / numericHeight;\n\t\tconst naturalRatio = naturalWidth / naturalHeight;\n\t\tconst ratio = numericRatio || customRatio || naturalRatio || 1;\n\t\tconst currentWidth =\n\t\t\t! numericWidth && numericHeight\n\t\t\t\t? numericHeight * ratio\n\t\t\t\t: numericWidth;\n\t\tconst currentHeight =\n\t\t\t! numericHeight && numericWidth\n\t\t\t\t? numericWidth / ratio\n\t\t\t\t: numericHeight;\n\n\t\tconst minWidth =\n\t\t\tnaturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\t\tconst minHeight =\n\t\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t\t// With the current implementation of ResizableBox, an image needs an\n\t\t// explicit pixel value for the max-width. In absence of being able to\n\t\t// set the content-width, this max-width is currently dictated by the\n\t\t// vanilla editor style. The following variable adds a buffer to this\n\t\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t\t// in most cases, allow you to scale the image beyond the width of the\n\t\t// main column, though not infinitely.\n\t\t// @todo It would be good to revisit this once a content-width variable\n\t\t// becomes available.\n\t\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\t\tlet showRightHandle = false;\n\t\tlet showLeftHandle = false;\n\n\t\t/* eslint-disable no-lonely-if */\n\t\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\t\tif ( align === 'center' ) {\n\t\t\t// When the image is centered, show both handles.\n\t\t\tshowRightHandle = true;\n\t\t\tshowLeftHandle = true;\n\t\t} else if ( isRTL() ) {\n\t\t\t// In RTL mode the image is on the right by default.\n\t\t\t// Show the right handle and hide the left handle only when it is\n\t\t\t// aligned left. Otherwise always show the left handle.\n\t\t\tif ( align === 'left' ) {\n\t\t\t\tshowRightHandle = true;\n\t\t\t} else {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the left handle and hide the right handle only when the\n\t\t\t// image is aligned right. Otherwise always show the right handle.\n\t\t\tif ( align === 'right' ) {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t} else {\n\t\t\t\tshowRightHandle = true;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-lonely-if */\n\t\timg = (\n\t\t\t<ResizableBox\n\t\t\t\tstyle={ {\n\t\t\t\t\tdisplay: 'block',\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! width && ! height && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t} }\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth ?? 'auto',\n\t\t\t\t\theight: currentHeight ?? 'auto',\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSingleSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio={ ratio }\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\t// Since the aspect ratio is locked when resizing, we can\n\t\t\t\t\t// use the width of the resized element to calculate the\n\t\t\t\t\t// height in CSS to prevent stretching when the max-width\n\t\t\t\t\t// is reached.\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: `${ elt.offsetWidth }px`,\n\t\t\t\t\t\theight: 'auto',\n\t\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t\tratio === naturalRatio\n\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t: String( ratio ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tresizeRatio={ align === 'center' ? 2 : 1 }\n\t\t\t>\n\t\t\t\t<ImageWrapper href={ href }>{ img }</ImageWrapper>\n\t\t\t</ResizableBox>\n\t\t);\n\t}\n\n\tif ( ! url && ! temporaryURL ) {\n\t\t// Add all controls if the image attributes are connected.\n\t\treturn metadata?.bindings ? controls : sizeControls;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ /* Hide controls during upload to avoid component remount,\n\t\t\t\twhich causes duplicated image upload. */ }\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ img }\n\n\t\t\t<Caption\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tlabel={ __( 'Image caption text' ) }\n\t\t\t\tshowToolbarButton={ isSingleSelected && hasNonContentControls }\n\t\t\t\tdisableEditing={ lockCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_element","_compose","_data","_i18n","_icons","_blockEditor","_apiFetch","_interopRequireDefault","_components","_blocks","_style","_constants","LatestPostsEdit","Component","constructor","arguments","state","categoriesList","onSetDisplayPostContent","bind","onSetDisplayPostContentRadio","onSetExcerptLength","onSetDisplayPostDate","onSetDisplayFeaturedImage","onSetFeaturedImageAlign","onSetAddLinkToFeaturedImage","onSetOrder","onSetOrderBy","onSetPostsToShow","onSetCategories","getInspectorControls","componentDidMount","isStillMounted","fetchRequest","apiFetch","path","then","setState","catch","componentWillUnmount","value","setAttributes","props","displayPostContent","displayPostContentRadio","excerptLength","displayPostDate","displayFeaturedImage","addLinkToFeaturedImage","featuredImageAlign","order","orderBy","postsToShow","categories","toString","undefined","attributes","displayExcerptPostContent","_react","createElement","InspectorControls","PanelBody","title","__","ToggleControl","label","checked","onChange","RangeControl","min","MIN_EXCERPT_LENGTH","max","MAX_EXCERPT_LENGTH","Fragment","BlockAlignmentControl","controls","isBottomSheetControl","separatorType","QueryControls","numberOfItems","selectedCategoryId","Number","onOrderChange","onOrderByChange","onCategoryChange","__DEV__","onNumberOfItemsChange","render","blockTitle","getStylesFromColorScheme","openGeneralSidebar","isSelected","blockStyle","styles","latestPostBlock","latestPostBlockDark","iconStyle","latestPostBlockIcon","latestPostBlockIconDark","titleStyle","latestPostBlockMessage","latestPostBlockMessageDark","TouchableWithoutFeedback","accessible","disabled","onPress","View","style","Icon","icon","Text","latestPostBlockSubtitle","_default","exports","default","compose","withSelect","select","name","blockType","blocksStore","getBlockType","withDispatch","dispatch","withPreferredColorScheme"],"sources":["@wordpress/block-library/src/latest-posts/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback, View, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { postList as icon } from '@wordpress/icons';\nimport {\n\tInspectorControls,\n\tBlockAlignmentControl,\n} from '@wordpress/block-editor';\nimport apiFetch from '@wordpress/api-fetch';\nimport {\n\tIcon,\n\tPanelBody,\n\tToggleControl,\n\tRangeControl,\n\tQueryControls,\n} from '@wordpress/components';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport { MIN_EXCERPT_LENGTH, MAX_EXCERPT_LENGTH } from './constants';\n\nclass LatestPostsEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tcategoriesList: [],\n\t\t};\n\t\tthis.onSetDisplayPostContent =\n\t\t\tthis.onSetDisplayPostContent.bind( this );\n\t\tthis.onSetDisplayPostContentRadio =\n\t\t\tthis.onSetDisplayPostContentRadio.bind( this );\n\t\tthis.onSetExcerptLength = this.onSetExcerptLength.bind( this );\n\t\tthis.onSetDisplayPostDate = this.onSetDisplayPostDate.bind( this );\n\t\tthis.onSetDisplayFeaturedImage =\n\t\t\tthis.onSetDisplayFeaturedImage.bind( this );\n\t\tthis.onSetFeaturedImageAlign =\n\t\t\tthis.onSetFeaturedImageAlign.bind( this );\n\t\tthis.onSetAddLinkToFeaturedImage =\n\t\t\tthis.onSetAddLinkToFeaturedImage.bind( this );\n\t\tthis.onSetOrder = this.onSetOrder.bind( this );\n\t\tthis.onSetOrderBy = this.onSetOrderBy.bind( this );\n\t\tthis.onSetPostsToShow = this.onSetPostsToShow.bind( this );\n\t\tthis.onSetCategories = this.onSetCategories.bind( this );\n\t\tthis.getInspectorControls = this.getInspectorControls.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.isStillMounted = true;\n\t\tthis.fetchRequest = apiFetch( { path: '/wp/v2/categories' } )\n\t\t\t.then( ( categoriesList ) => {\n\t\t\t\tif ( this.isStillMounted ) {\n\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\tcategoriesList,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tif ( this.isStillMounted ) {\n\t\t\t\t\tthis.setState( { categoriesList: [] } );\n\t\t\t\t}\n\t\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isStillMounted = false;\n\t}\n\n\tonSetDisplayPostContent( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { displayPostContent: value } );\n\t}\n\n\tonSetDisplayPostContentRadio( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( {\n\t\t\tdisplayPostContentRadio: value ? 'excerpt' : 'full_post',\n\t\t} );\n\t}\n\n\tonSetExcerptLength( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { excerptLength: value } );\n\t}\n\n\tonSetDisplayPostDate( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { displayPostDate: value } );\n\t}\n\n\tonSetDisplayFeaturedImage( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { displayFeaturedImage: value } );\n\t}\n\n\tonSetAddLinkToFeaturedImage( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { addLinkToFeaturedImage: value } );\n\t}\n\n\tonSetFeaturedImageAlign( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { featuredImageAlign: value } );\n\t}\n\n\tonSetOrder( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { order: value } );\n\t}\n\n\tonSetOrderBy( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { orderBy: value } );\n\t}\n\n\tonSetPostsToShow( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { postsToShow: value } );\n\t}\n\n\tonSetCategories( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( {\n\t\t\tcategories: '' !== value ? value.toString() : undefined,\n\t\t} );\n\t}\n\n\tgetInspectorControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst {\n\t\t\tdisplayPostContent,\n\t\t\tdisplayPostContentRadio,\n\t\t\texcerptLength,\n\t\t\tdisplayPostDate,\n\t\t\tdisplayFeaturedImage,\n\t\t\tfeaturedImageAlign,\n\t\t\taddLinkToFeaturedImage,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tpostsToShow,\n\t\t\tcategories,\n\t\t} = attributes;\n\n\t\tconst { categoriesList } = this.state;\n\t\tconst displayExcerptPostContent = displayPostContentRadio === 'excerpt';\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Post content' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post content' ) }\n\t\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\t\tonChange={ this.onSetDisplayPostContent }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Only show excerpt' ) }\n\t\t\t\t\t\t\tchecked={ displayExcerptPostContent }\n\t\t\t\t\t\t\tonChange={ this.onSetDisplayPostContentRadio }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ displayPostContent && displayExcerptPostContent && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Excerpt length (words)' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ this.onSetExcerptLength }\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\n\t\t\t\t<PanelBody title={ __( 'Post meta' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\t\tonChange={ this.onSetDisplayPostDate }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\n\t\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\t\tonChange={ this.onSetDisplayFeaturedImage }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign }\n\t\t\t\t\t\t\t\tonChange={ this.onSetFeaturedImageAlign }\n\t\t\t\t\t\t\t\tcontrols={ [ 'left', 'center', 'right' ] }\n\t\t\t\t\t\t\t\tisBottomSheetControl={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\t\tonChange={ this.onSetAddLinkToFeaturedImage }\n\t\t\t\t\t\t\t\tseparatorType={ 'topFullWidth' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\n\t\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t\t<QueryControls\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\t\tcategoriesList={ categoriesList }\n\t\t\t\t\t\tselectedCategoryId={\n\t\t\t\t\t\t\tundefined !== categories ? Number( categories ) : ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonOrderChange={ this.onSetOrder }\n\t\t\t\t\t\tonOrderByChange={ this.onSetOrderBy }\n\t\t\t\t\t\tonCategoryChange={\n\t\t\t\t\t\t\t// eslint-disable-next-line no-undef\n\t\t\t\t\t\t\t__DEV__ ? this.onSetCategories : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonNumberOfItemsChange={ this.onSetPostsToShow }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tblockTitle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\topenGeneralSidebar,\n\t\t\tisSelected,\n\t\t} = this.props;\n\n\t\tconst blockStyle = getStylesFromColorScheme(\n\t\t\tstyles.latestPostBlock,\n\t\t\tstyles.latestPostBlockDark\n\t\t);\n\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles.latestPostBlockIcon,\n\t\t\tstyles.latestPostBlockIconDark\n\t\t);\n\n\t\tconst titleStyle = getStylesFromColorScheme(\n\t\t\tstyles.latestPostBlockMessage,\n\t\t\tstyles.latestPostBlockMessageDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessible={ ! isSelected }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\tonPress={ openGeneralSidebar }\n\t\t\t>\n\t\t\t\t<View style={ blockStyle }>\n\t\t\t\t\t{ isSelected && this.getInspectorControls() }\n\t\t\t\t\t<Icon icon={ icon } { ...iconStyle } />\n\t\t\t\t\t<Text style={ titleStyle }>{ blockTitle }</Text>\n\t\t\t\t\t<Text style={ styles.latestPostBlockSubtitle }>\n\t\t\t\t\t\t{ __( 'CUSTOMIZE' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { name } ) => {\n\t\tconst blockType = select( blocksStore ).getBlockType( name );\n\t\treturn {\n\t\t\tblockTitle: blockType?.title || name,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\n\t\treturn {\n\t\t\topenGeneralSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( LatestPostsEdit );\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_element","_compose","_data","_i18n","_icons","_blockEditor","_apiFetch","_interopRequireDefault","_components","_blocks","_style","_constants","LatestPostsEdit","Component","constructor","arguments","state","categoriesList","onSetDisplayPostContent","bind","onSetDisplayPostContentRadio","onSetExcerptLength","onSetDisplayPostDate","onSetDisplayFeaturedImage","onSetFeaturedImageAlign","onSetAddLinkToFeaturedImage","onSetOrder","onSetOrderBy","onSetPostsToShow","onSetCategories","getInspectorControls","componentDidMount","isStillMounted","fetchRequest","apiFetch","path","then","setState","catch","componentWillUnmount","value","setAttributes","props","displayPostContent","displayPostContentRadio","excerptLength","displayPostDate","displayFeaturedImage","addLinkToFeaturedImage","featuredImageAlign","order","orderBy","postsToShow","categories","toString","undefined","attributes","displayExcerptPostContent","_react","createElement","InspectorControls","PanelBody","title","__","ToggleControl","label","checked","onChange","RangeControl","min","MIN_EXCERPT_LENGTH","max","MAX_EXCERPT_LENGTH","Fragment","BlockAlignmentControl","controls","isBottomSheetControl","separatorType","QueryControls","numberOfItems","selectedCategoryId","Number","onOrderChange","onOrderByChange","onCategoryChange","__DEV__","onNumberOfItemsChange","render","blockTitle","getStylesFromColorScheme","openGeneralSidebar","isSelected","blockStyle","styles","latestPostBlock","latestPostBlockDark","iconStyle","latestPostBlockIcon","latestPostBlockIconDark","titleStyle","latestPostBlockMessage","latestPostBlockMessageDark","TouchableWithoutFeedback","accessible","disabled","onPress","View","style","Icon","icon","Text","latestPostBlockSubtitle","_default","exports","default","compose","withSelect","select","name","blockType","blocksStore","getBlockType","withDispatch","dispatch","withPreferredColorScheme"],"sources":["@wordpress/block-library/src/latest-posts/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback, View, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { postList as icon } from '@wordpress/icons';\nimport {\n\tInspectorControls,\n\tBlockAlignmentControl,\n} from '@wordpress/block-editor';\nimport apiFetch from '@wordpress/api-fetch';\nimport {\n\tIcon,\n\tPanelBody,\n\tToggleControl,\n\tRangeControl,\n\tQueryControls,\n} from '@wordpress/components';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport { MIN_EXCERPT_LENGTH, MAX_EXCERPT_LENGTH } from './constants';\n\nclass LatestPostsEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tcategoriesList: [],\n\t\t};\n\t\tthis.onSetDisplayPostContent =\n\t\t\tthis.onSetDisplayPostContent.bind( this );\n\t\tthis.onSetDisplayPostContentRadio =\n\t\t\tthis.onSetDisplayPostContentRadio.bind( this );\n\t\tthis.onSetExcerptLength = this.onSetExcerptLength.bind( this );\n\t\tthis.onSetDisplayPostDate = this.onSetDisplayPostDate.bind( this );\n\t\tthis.onSetDisplayFeaturedImage =\n\t\t\tthis.onSetDisplayFeaturedImage.bind( this );\n\t\tthis.onSetFeaturedImageAlign =\n\t\t\tthis.onSetFeaturedImageAlign.bind( this );\n\t\tthis.onSetAddLinkToFeaturedImage =\n\t\t\tthis.onSetAddLinkToFeaturedImage.bind( this );\n\t\tthis.onSetOrder = this.onSetOrder.bind( this );\n\t\tthis.onSetOrderBy = this.onSetOrderBy.bind( this );\n\t\tthis.onSetPostsToShow = this.onSetPostsToShow.bind( this );\n\t\tthis.onSetCategories = this.onSetCategories.bind( this );\n\t\tthis.getInspectorControls = this.getInspectorControls.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.isStillMounted = true;\n\t\tthis.fetchRequest = apiFetch( { path: '/wp/v2/categories' } )\n\t\t\t.then( ( categoriesList ) => {\n\t\t\t\tif ( this.isStillMounted ) {\n\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\tcategoriesList,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tif ( this.isStillMounted ) {\n\t\t\t\t\tthis.setState( { categoriesList: [] } );\n\t\t\t\t}\n\t\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isStillMounted = false;\n\t}\n\n\tonSetDisplayPostContent( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { displayPostContent: value } );\n\t}\n\n\tonSetDisplayPostContentRadio( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( {\n\t\t\tdisplayPostContentRadio: value ? 'excerpt' : 'full_post',\n\t\t} );\n\t}\n\n\tonSetExcerptLength( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { excerptLength: value } );\n\t}\n\n\tonSetDisplayPostDate( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { displayPostDate: value } );\n\t}\n\n\tonSetDisplayFeaturedImage( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { displayFeaturedImage: value } );\n\t}\n\n\tonSetAddLinkToFeaturedImage( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { addLinkToFeaturedImage: value } );\n\t}\n\n\tonSetFeaturedImageAlign( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { featuredImageAlign: value } );\n\t}\n\n\tonSetOrder( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { order: value } );\n\t}\n\n\tonSetOrderBy( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { orderBy: value } );\n\t}\n\n\tonSetPostsToShow( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { postsToShow: value } );\n\t}\n\n\tonSetCategories( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( {\n\t\t\tcategories: '' !== value ? value.toString() : undefined,\n\t\t} );\n\t}\n\n\tgetInspectorControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst {\n\t\t\tdisplayPostContent,\n\t\t\tdisplayPostContentRadio,\n\t\t\texcerptLength,\n\t\t\tdisplayPostDate,\n\t\t\tdisplayFeaturedImage,\n\t\t\tfeaturedImageAlign,\n\t\t\taddLinkToFeaturedImage,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tpostsToShow,\n\t\t\tcategories,\n\t\t} = attributes;\n\n\t\tconst { categoriesList } = this.state;\n\t\tconst displayExcerptPostContent = displayPostContentRadio === 'excerpt';\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Post content' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post content' ) }\n\t\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\t\tonChange={ this.onSetDisplayPostContent }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Only show excerpt' ) }\n\t\t\t\t\t\t\tchecked={ displayExcerptPostContent }\n\t\t\t\t\t\t\tonChange={ this.onSetDisplayPostContentRadio }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ displayPostContent && displayExcerptPostContent && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Excerpt length (words)' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ this.onSetExcerptLength }\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\n\t\t\t\t<PanelBody title={ __( 'Post meta' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\t\tonChange={ this.onSetDisplayPostDate }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\n\t\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\t\tonChange={ this.onSetDisplayFeaturedImage }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign }\n\t\t\t\t\t\t\t\tonChange={ this.onSetFeaturedImageAlign }\n\t\t\t\t\t\t\t\tcontrols={ [ 'left', 'center', 'right' ] }\n\t\t\t\t\t\t\t\tisBottomSheetControl\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\t\tonChange={ this.onSetAddLinkToFeaturedImage }\n\t\t\t\t\t\t\t\tseparatorType={ 'topFullWidth' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\n\t\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t\t<QueryControls\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\t\tcategoriesList={ categoriesList }\n\t\t\t\t\t\tselectedCategoryId={\n\t\t\t\t\t\t\tundefined !== categories ? Number( categories ) : ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonOrderChange={ this.onSetOrder }\n\t\t\t\t\t\tonOrderByChange={ this.onSetOrderBy }\n\t\t\t\t\t\tonCategoryChange={\n\t\t\t\t\t\t\t// eslint-disable-next-line no-undef\n\t\t\t\t\t\t\t__DEV__ ? this.onSetCategories : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonNumberOfItemsChange={ this.onSetPostsToShow }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tblockTitle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\topenGeneralSidebar,\n\t\t\tisSelected,\n\t\t} = this.props;\n\n\t\tconst blockStyle = getStylesFromColorScheme(\n\t\t\tstyles.latestPostBlock,\n\t\t\tstyles.latestPostBlockDark\n\t\t);\n\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles.latestPostBlockIcon,\n\t\t\tstyles.latestPostBlockIconDark\n\t\t);\n\n\t\tconst titleStyle = getStylesFromColorScheme(\n\t\t\tstyles.latestPostBlockMessage,\n\t\t\tstyles.latestPostBlockMessageDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessible={ ! isSelected }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\tonPress={ openGeneralSidebar }\n\t\t\t>\n\t\t\t\t<View style={ blockStyle }>\n\t\t\t\t\t{ isSelected && this.getInspectorControls() }\n\t\t\t\t\t<Icon icon={ icon } { ...iconStyle } />\n\t\t\t\t\t<Text style={ titleStyle }>{ blockTitle }</Text>\n\t\t\t\t\t<Text style={ styles.latestPostBlockSubtitle }>\n\t\t\t\t\t\t{ __( 'CUSTOMIZE' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { name } ) => {\n\t\tconst blockType = select( blocksStore ).getBlockType( name );\n\t\treturn {\n\t\t\tblockTitle: blockType?.title || name,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\n\t\treturn {\n\t\t\topenGeneralSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( LatestPostsEdit );\n"],"mappings":"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"}
@@ -18,7 +18,7 @@ const OrderedListSettings = ({
18
18
  start,
19
19
  type
20
20
  }) => (0, _react.createElement)(_blockEditor.InspectorControls, null, (0, _react.createElement)(_components.PanelBody, {
21
- title: (0, _i18n.__)('Ordered list settings')
21
+ title: (0, _i18n.__)('Settings')
22
22
  }, (0, _react.createElement)(_components.TextControl, {
23
23
  __nextHasNoMarginBottom: true,
24
24
  label: (0, _i18n.__)('Start value'),
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_blockEditor","_components","OrderedListSettings","setAttributes","reversed","start","type","_react","createElement","InspectorControls","PanelBody","title","__","TextControl","__nextHasNoMarginBottom","label","onChange","value","int","parseInt","isNaN","undefined","Number","isInteger","toString","step","SelectControl","options","newValue","ToggleControl","checked","_default","exports","default"],"sources":["@wordpress/block-library/src/list/ordered-list-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n} from '@wordpress/components';\n\nconst OrderedListSettings = ( { setAttributes, reversed, start, type } ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Ordered list settings' ) }>\n\t\t\t<TextControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Start value' ) }\n\t\t\t\ttype=\"number\"\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst int = parseInt( value, 10 );\n\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t// It should be possible to unset the value,\n\t\t\t\t\t\t// e.g. with an empty string.\n\t\t\t\t\t\tstart: isNaN( int ) ? undefined : int,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tvalue={ Number.isInteger( start ) ? start.toString( 10 ) : '' }\n\t\t\t\tstep=\"1\"\n\t\t\t/>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Numbering style' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Numbers' ),\n\t\t\t\t\t\tvalue: 'decimal',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Uppercase letters' ),\n\t\t\t\t\t\tvalue: 'upper-alpha',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Lowercase letters' ),\n\t\t\t\t\t\tvalue: 'lower-alpha',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Uppercase Roman numerals' ),\n\t\t\t\t\t\tvalue: 'upper-roman',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Lowercase Roman numerals' ),\n\t\t\t\t\t\tvalue: 'lower-roman',\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tvalue={ type }\n\t\t\t\tonChange={ ( newValue ) => setAttributes( { type: newValue } ) }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Reverse list numbering' ) }\n\t\t\t\tchecked={ reversed || false }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t// Unset the attribute if not reversed.\n\t\t\t\t\t\treversed: value || undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PanelBody>\n\t</InspectorControls>\n);\n\nexport default OrderedListSettings;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAUA,MAAMG,mBAAmB,GAAGA,CAAE;EAAEC,aAAa;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAK,CAAC,KACrE,IAAAC,MAAA,CAAAC,aAAA,EAACR,YAAA,CAAAS,iBAAiB,QACjB,IAAAF,MAAA,CAAAC,aAAA,EAACP,WAAA,CAAAS,SAAS;EAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,uBAAwB;AAAG,GACjD,IAAAL,MAAA,CAAAC,aAAA,EAACP,WAAA,CAAAY,WAAW;EACXC,uBAAuB;EACvBC,KAAK,EAAG,IAAAH,QAAE,EAAE,aAAc,CAAG;EAC7BN,IAAI,EAAC,QAAQ;EACbU,QAAQ,EAAKC,KAAK,IAAM;IACvB,MAAMC,GAAG,GAAGC,QAAQ,CAAEF,KAAK,EAAE,EAAG,CAAC;IAEjCd,aAAa,CAAE;MACd;MACA;MACAE,KAAK,EAAEe,KAAK,CAAEF,GAAI,CAAC,GAAGG,SAAS,GAAGH;IACnC,CAAE,CAAC;EACJ,CAAG;EACHD,KAAK,EAAGK,MAAM,CAACC,SAAS,CAAElB,KAAM,CAAC,GAAGA,KAAK,CAACmB,QAAQ,CAAE,EAAG,CAAC,GAAG,EAAI;EAC/DC,IAAI,EAAC;AAAG,CACR,CAAC,EACF,IAAAlB,MAAA,CAAAC,aAAA,EAACP,WAAA,CAAAyB,aAAa;EACbZ,uBAAuB;EACvBC,KAAK,EAAG,IAAAH,QAAE,EAAE,iBAAkB,CAAG;EACjCe,OAAO,EAAG,CACT;IACCZ,KAAK,EAAE,IAAAH,QAAE,EAAE,SAAU,CAAC;IACtBK,KAAK,EAAE;EACR,CAAC,EACD;IACCF,KAAK,EAAE,IAAAH,QAAE,EAAE,mBAAoB,CAAC;IAChCK,KAAK,EAAE;EACR,CAAC,EACD;IACCF,KAAK,EAAE,IAAAH,QAAE,EAAE,mBAAoB,CAAC;IAChCK,KAAK,EAAE;EACR,CAAC,EACD;IACCF,KAAK,EAAE,IAAAH,QAAE,EAAE,0BAA2B,CAAC;IACvCK,KAAK,EAAE;EACR,CAAC,EACD;IACCF,KAAK,EAAE,IAAAH,QAAE,EAAE,0BAA2B,CAAC;IACvCK,KAAK,EAAE;EACR,CAAC,CACC;EACHA,KAAK,EAAGX,IAAM;EACdU,QAAQ,EAAKY,QAAQ,IAAMzB,aAAa,CAAE;IAAEG,IAAI,EAAEsB;EAAS,CAAE;AAAG,CAChE,CAAC,EACF,IAAArB,MAAA,CAAAC,aAAA,EAACP,WAAA,CAAA4B,aAAa;EACbf,uBAAuB;EACvBC,KAAK,EAAG,IAAAH,QAAE,EAAE,wBAAyB,CAAG;EACxCkB,OAAO,EAAG1B,QAAQ,IAAI,KAAO;EAC7BY,QAAQ,EAAKC,KAAK,IAAM;IACvBd,aAAa,CAAE;MACd;MACAC,QAAQ,EAAEa,KAAK,IAAII;IACpB,CAAE,CAAC;EACJ;AAAG,CACH,CACS,CACO,CACnB;AAAC,IAAAU,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa/B,mBAAmB"}
1
+ {"version":3,"names":["_i18n","require","_blockEditor","_components","OrderedListSettings","setAttributes","reversed","start","type","_react","createElement","InspectorControls","PanelBody","title","__","TextControl","__nextHasNoMarginBottom","label","onChange","value","int","parseInt","isNaN","undefined","Number","isInteger","toString","step","SelectControl","options","newValue","ToggleControl","checked","_default","exports","default"],"sources":["@wordpress/block-library/src/list/ordered-list-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tPanelBody,\n\tToggleControl,\n\tSelectControl,\n} from '@wordpress/components';\n\nconst OrderedListSettings = ( { setAttributes, reversed, start, type } ) => (\n\t<InspectorControls>\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<TextControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Start value' ) }\n\t\t\t\ttype=\"number\"\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst int = parseInt( value, 10 );\n\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t// It should be possible to unset the value,\n\t\t\t\t\t\t// e.g. with an empty string.\n\t\t\t\t\t\tstart: isNaN( int ) ? undefined : int,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tvalue={ Number.isInteger( start ) ? start.toString( 10 ) : '' }\n\t\t\t\tstep=\"1\"\n\t\t\t/>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Numbering style' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Numbers' ),\n\t\t\t\t\t\tvalue: 'decimal',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Uppercase letters' ),\n\t\t\t\t\t\tvalue: 'upper-alpha',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Lowercase letters' ),\n\t\t\t\t\t\tvalue: 'lower-alpha',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Uppercase Roman numerals' ),\n\t\t\t\t\t\tvalue: 'upper-roman',\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Lowercase Roman numerals' ),\n\t\t\t\t\t\tvalue: 'lower-roman',\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tvalue={ type }\n\t\t\t\tonChange={ ( newValue ) => setAttributes( { type: newValue } ) }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Reverse list numbering' ) }\n\t\t\t\tchecked={ reversed || false }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t// Unset the attribute if not reversed.\n\t\t\t\t\t\treversed: value || undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PanelBody>\n\t</InspectorControls>\n);\n\nexport default OrderedListSettings;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAUA,MAAMG,mBAAmB,GAAGA,CAAE;EAAEC,aAAa;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAK,CAAC,KACrE,IAAAC,MAAA,CAAAC,aAAA,EAACR,YAAA,CAAAS,iBAAiB,QACjB,IAAAF,MAAA,CAAAC,aAAA,EAACP,WAAA,CAAAS,SAAS;EAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,UAAW;AAAG,GACpC,IAAAL,MAAA,CAAAC,aAAA,EAACP,WAAA,CAAAY,WAAW;EACXC,uBAAuB;EACvBC,KAAK,EAAG,IAAAH,QAAE,EAAE,aAAc,CAAG;EAC7BN,IAAI,EAAC,QAAQ;EACbU,QAAQ,EAAKC,KAAK,IAAM;IACvB,MAAMC,GAAG,GAAGC,QAAQ,CAAEF,KAAK,EAAE,EAAG,CAAC;IAEjCd,aAAa,CAAE;MACd;MACA;MACAE,KAAK,EAAEe,KAAK,CAAEF,GAAI,CAAC,GAAGG,SAAS,GAAGH;IACnC,CAAE,CAAC;EACJ,CAAG;EACHD,KAAK,EAAGK,MAAM,CAACC,SAAS,CAAElB,KAAM,CAAC,GAAGA,KAAK,CAACmB,QAAQ,CAAE,EAAG,CAAC,GAAG,EAAI;EAC/DC,IAAI,EAAC;AAAG,CACR,CAAC,EACF,IAAAlB,MAAA,CAAAC,aAAA,EAACP,WAAA,CAAAyB,aAAa;EACbZ,uBAAuB;EACvBC,KAAK,EAAG,IAAAH,QAAE,EAAE,iBAAkB,CAAG;EACjCe,OAAO,EAAG,CACT;IACCZ,KAAK,EAAE,IAAAH,QAAE,EAAE,SAAU,CAAC;IACtBK,KAAK,EAAE;EACR,CAAC,EACD;IACCF,KAAK,EAAE,IAAAH,QAAE,EAAE,mBAAoB,CAAC;IAChCK,KAAK,EAAE;EACR,CAAC,EACD;IACCF,KAAK,EAAE,IAAAH,QAAE,EAAE,mBAAoB,CAAC;IAChCK,KAAK,EAAE;EACR,CAAC,EACD;IACCF,KAAK,EAAE,IAAAH,QAAE,EAAE,0BAA2B,CAAC;IACvCK,KAAK,EAAE;EACR,CAAC,EACD;IACCF,KAAK,EAAE,IAAAH,QAAE,EAAE,0BAA2B,CAAC;IACvCK,KAAK,EAAE;EACR,CAAC,CACC;EACHA,KAAK,EAAGX,IAAM;EACdU,QAAQ,EAAKY,QAAQ,IAAMzB,aAAa,CAAE;IAAEG,IAAI,EAAEsB;EAAS,CAAE;AAAG,CAChE,CAAC,EACF,IAAArB,MAAA,CAAAC,aAAA,EAACP,WAAA,CAAA4B,aAAa;EACbf,uBAAuB;EACvBC,KAAK,EAAG,IAAAH,QAAE,EAAE,wBAAyB,CAAG;EACxCkB,OAAO,EAAG1B,QAAQ,IAAI,KAAO;EAC7BY,QAAQ,EAAKC,KAAK,IAAM;IACvBd,aAAa,CAAE;MACd;MACAC,QAAQ,EAAEa,KAAK,IAAII;IACpB,CAAE,CAAC;EACJ;AAAG,CACH,CACS,CACO,CACnB;AAAC,IAAAU,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa/B,mBAAmB"}
@@ -66,9 +66,7 @@ function ListItemEdit({
66
66
  placeholder,
67
67
  content
68
68
  } = attributes;
69
- const blockProps = (0, _blockEditor.useBlockProps)({
70
- ref: (0, _hooks.useCopy)(clientId)
71
- });
69
+ const blockProps = (0, _blockEditor.useBlockProps)();
72
70
  const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
73
71
  renderAppender: false,
74
72
  __unstableDisableDropZone: true
@@ -1 +1 @@
1
- {"version":3,"names":["_blockEditor","require","_i18n","_components","_icons","_compose","_data","_hooks","_utils","IndentUI","clientId","indentListItem","useIndentListItem","outdentListItem","useOutdentListItem","canIndent","canOutdent","useSelect","select","getBlockIndex","getBlockRootClientId","getBlockName","blockEditorStore","_react","createElement","Fragment","ToolbarButton","icon","isRTL","formatOutdentRTL","formatOutdent","title","__","describedBy","disabled","onClick","formatIndentRTL","formatIndent","isDisabled","ListItemEdit","attributes","setAttributes","onReplace","mergeBlocks","placeholder","content","blockProps","useBlockProps","ref","useCopy","innerBlocksProps","useInnerBlocksProps","renderAppender","__unstableDisableDropZone","useEnterRef","useEnter","useSpaceRef","useSpace","onSplit","useSplit","onMerge","useMerge","RichText","useMergeRefs","identifier","tagName","onChange","nextContent","value","blocks","args","convertToListItems","undefined","children","BlockControls","group"],"sources":["@wordpress/block-library/src/list-item/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { ToolbarButton } from '@wordpress/components';\nimport {\n\tformatOutdent,\n\tformatOutdentRTL,\n\tformatIndentRTL,\n\tformatIndent,\n} from '@wordpress/icons';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseEnter,\n\tuseSpace,\n\tuseIndentListItem,\n\tuseOutdentListItem,\n\tuseSplit,\n\tuseMerge,\n\tuseCopy,\n} from './hooks';\nimport { convertToListItems } from './utils';\n\nexport function IndentUI( { clientId } ) {\n\tconst indentListItem = useIndentListItem( clientId );\n\tconst outdentListItem = useOutdentListItem();\n\tconst { canIndent, canOutdent } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockIndex, getBlockRootClientId, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tcanIndent: getBlockIndex( clientId ) > 0,\n\t\t\t\tcanOutdent:\n\t\t\t\t\tgetBlockName(\n\t\t\t\t\t\tgetBlockRootClientId( getBlockRootClientId( clientId ) )\n\t\t\t\t\t) === 'core/list-item',\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatOutdentRTL : formatOutdent }\n\t\t\t\ttitle={ __( 'Outdent' ) }\n\t\t\t\tdescribedBy={ __( 'Outdent list item' ) }\n\t\t\t\tdisabled={ ! canOutdent }\n\t\t\t\tonClick={ () => outdentListItem() }\n\t\t\t/>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatIndentRTL : formatIndent }\n\t\t\t\ttitle={ __( 'Indent' ) }\n\t\t\t\tdescribedBy={ __( 'Indent list item' ) }\n\t\t\t\tisDisabled={ ! canIndent }\n\t\t\t\tonClick={ () => indentListItem() }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default function ListItemEdit( {\n\tattributes,\n\tsetAttributes,\n\tonReplace,\n\tclientId,\n\tmergeBlocks,\n} ) {\n\tconst { placeholder, content } = attributes;\n\tconst blockProps = useBlockProps( { ref: useCopy( clientId ) } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t} );\n\tconst useEnterRef = useEnter( { content, clientId } );\n\tconst useSpaceRef = useSpace( clientId );\n\tconst onSplit = useSplit( clientId );\n\tconst onMerge = useMerge( clientId, mergeBlocks );\n\treturn (\n\t\t<>\n\t\t\t<li { ...innerBlocksProps }>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ useMergeRefs( [ useEnterRef, useSpaceRef ] ) }\n\t\t\t\t\tidentifier=\"content\"\n\t\t\t\t\ttagName=\"div\"\n\t\t\t\t\tonChange={ ( nextContent ) =>\n\t\t\t\t\t\tsetAttributes( { content: nextContent } )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ content }\n\t\t\t\t\taria-label={ __( 'List text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'List' ) }\n\t\t\t\t\tonSplit={ onSplit }\n\t\t\t\t\tonMerge={ onMerge }\n\t\t\t\t\tonReplace={\n\t\t\t\t\t\tonReplace\n\t\t\t\t\t\t\t? ( blocks, ...args ) => {\n\t\t\t\t\t\t\t\t\tonReplace(\n\t\t\t\t\t\t\t\t\t\tconvertToListItems( blocks ),\n\t\t\t\t\t\t\t\t\t\t...args\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t</li>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<IndentUI clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_blockEditor","require","_i18n","_components","_icons","_compose","_data","_hooks","_utils","IndentUI","clientId","indentListItem","useIndentListItem","outdentListItem","useOutdentListItem","canIndent","canOutdent","useSelect","select","getBlockIndex","getBlockRootClientId","getBlockName","blockEditorStore","_react","createElement","Fragment","ToolbarButton","icon","isRTL","formatOutdentRTL","formatOutdent","title","__","describedBy","disabled","onClick","formatIndentRTL","formatIndent","isDisabled","ListItemEdit","attributes","setAttributes","onReplace","mergeBlocks","placeholder","content","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","renderAppender","__unstableDisableDropZone","useEnterRef","useEnter","useSpaceRef","useSpace","onSplit","useSplit","onMerge","useMerge","RichText","ref","useMergeRefs","identifier","tagName","onChange","nextContent","value","blocks","args","convertToListItems","undefined","children","BlockControls","group"],"sources":["@wordpress/block-library/src/list-item/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { ToolbarButton } from '@wordpress/components';\nimport {\n\tformatOutdent,\n\tformatOutdentRTL,\n\tformatIndentRTL,\n\tformatIndent,\n} from '@wordpress/icons';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseEnter,\n\tuseSpace,\n\tuseIndentListItem,\n\tuseOutdentListItem,\n\tuseSplit,\n\tuseMerge,\n} from './hooks';\nimport { convertToListItems } from './utils';\n\nexport function IndentUI( { clientId } ) {\n\tconst indentListItem = useIndentListItem( clientId );\n\tconst outdentListItem = useOutdentListItem();\n\tconst { canIndent, canOutdent } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockIndex, getBlockRootClientId, getBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tcanIndent: getBlockIndex( clientId ) > 0,\n\t\t\t\tcanOutdent:\n\t\t\t\t\tgetBlockName(\n\t\t\t\t\t\tgetBlockRootClientId( getBlockRootClientId( clientId ) )\n\t\t\t\t\t) === 'core/list-item',\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatOutdentRTL : formatOutdent }\n\t\t\t\ttitle={ __( 'Outdent' ) }\n\t\t\t\tdescribedBy={ __( 'Outdent list item' ) }\n\t\t\t\tdisabled={ ! canOutdent }\n\t\t\t\tonClick={ () => outdentListItem() }\n\t\t\t/>\n\t\t\t<ToolbarButton\n\t\t\t\ticon={ isRTL() ? formatIndentRTL : formatIndent }\n\t\t\t\ttitle={ __( 'Indent' ) }\n\t\t\t\tdescribedBy={ __( 'Indent list item' ) }\n\t\t\t\tisDisabled={ ! canIndent }\n\t\t\t\tonClick={ () => indentListItem() }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default function ListItemEdit( {\n\tattributes,\n\tsetAttributes,\n\tonReplace,\n\tclientId,\n\tmergeBlocks,\n} ) {\n\tconst { placeholder, content } = attributes;\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t} );\n\tconst useEnterRef = useEnter( { content, clientId } );\n\tconst useSpaceRef = useSpace( clientId );\n\tconst onSplit = useSplit( clientId );\n\tconst onMerge = useMerge( clientId, mergeBlocks );\n\treturn (\n\t\t<>\n\t\t\t<li { ...innerBlocksProps }>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ useMergeRefs( [ useEnterRef, useSpaceRef ] ) }\n\t\t\t\t\tidentifier=\"content\"\n\t\t\t\t\ttagName=\"div\"\n\t\t\t\t\tonChange={ ( nextContent ) =>\n\t\t\t\t\t\tsetAttributes( { content: nextContent } )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ content }\n\t\t\t\t\taria-label={ __( 'List text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'List' ) }\n\t\t\t\t\tonSplit={ onSplit }\n\t\t\t\t\tonMerge={ onMerge }\n\t\t\t\t\tonReplace={\n\t\t\t\t\t\tonReplace\n\t\t\t\t\t\t\t? ( blocks, ...args ) => {\n\t\t\t\t\t\t\t\t\tonReplace(\n\t\t\t\t\t\t\t\t\t\tconvertToListItems( blocks ),\n\t\t\t\t\t\t\t\t\t\t...args\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t</li>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<IndentUI clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_blockEditor","_i18n","_compose","_data","_element","_hooks","_utils","_edit","_style","_interopRequireDefault","_listStyleType","OPACITY","ListItemEdit","attributes","setAttributes","onReplace","clientId","style","mergeBlocks","contentWidth","setContentWidth","useState","placeholder","content","blockIndex","hasInnerBlocks","indentationLevel","numberOfListItems","ordered","reversed","start","useSelect","select","getBlockAttributes","getBlockCount","getBlockIndex","getBlockParentsByBlockName","getBlockRootClientId","blockEditorStore","currentIdentationLevel","length","currentBlockIndex","blockWithInnerBlocks","rootClientId","blockAttributes","totalListItems","isOrdered","isReversed","startValue","blockProps","useBlockProps","styles","innerBlocksProps","useInnerBlocksProps","renderAppender","defaultPlaceholderFromScheme","usePreferredColorSchemeStyle","currentTextColor","color","baseColors","text","defaultPlaceholderTextColor","defaultPlaceholderTextColorWithOpacity","styleWithPlaceholderOpacity","placeholderColor","preventDefault","useRef","onEnter","useEnter","onSplit","useSplit","onMerge","useMerge","onSplitList","useCallback","value","current","onReplaceList","blocks","args","convertToListItems","onLayout","nativeEvent","prevState","width","layout","Math","floor","_react","createElement","View","default","RichText","identifier","tagName","onChange","nextContent","__","placeholderTextColor","deleteEnter","containerWidth","BlockControls","group","IndentUI"],"sources":["@wordpress/block-library/src/list-item/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useCallback, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useSplit, useMerge, useEnter } from './hooks';\nimport { convertToListItems } from './utils';\nimport { IndentUI } from './edit.js';\nimport styles from './style.scss';\nimport ListStyleType from './list-style-type';\n\nconst OPACITY = '9e';\n\nexport default function ListItemEdit( {\n\tattributes,\n\tsetAttributes,\n\tonReplace,\n\tclientId,\n\tstyle,\n\tmergeBlocks,\n} ) {\n\tconst [ contentWidth, setContentWidth ] = useState();\n\tconst { placeholder, content } = attributes;\n\tconst {\n\t\tblockIndex,\n\t\thasInnerBlocks,\n\t\tindentationLevel,\n\t\tnumberOfListItems,\n\t\tordered,\n\t\treversed,\n\t\tstart,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst currentIdentationLevel = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/list-item',\n\t\t\t\ttrue\n\t\t\t).length;\n\t\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\t\tconst blockWithInnerBlocks = getBlockCount( clientId ) > 0;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst blockAttributes = getBlockAttributes( rootClientId );\n\t\t\tconst totalListItems = getBlockCount( rootClientId );\n\t\t\tconst {\n\t\t\t\tordered: isOrdered,\n\t\t\t\treversed: isReversed,\n\t\t\t\tstart: startValue,\n\t\t\t} = blockAttributes || {};\n\n\t\t\treturn {\n\t\t\t\tblockIndex: currentBlockIndex,\n\t\t\t\thasInnerBlocks: blockWithInnerBlocks,\n\t\t\t\tindentationLevel: currentIdentationLevel,\n\t\t\t\tnumberOfListItems: totalListItems,\n\t\t\t\tordered: isOrdered,\n\t\t\t\treversed: isReversed,\n\t\t\t\tstart: startValue,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\t...( hasInnerBlocks && styles[ 'wp-block-list-item__nested-blocks' ] ),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t} );\n\n\t// Set default placeholder text color from light/dark scheme or base colors\n\tconst defaultPlaceholderFromScheme = usePreferredColorSchemeStyle(\n\t\tstyles[ 'wp-block-list-item__list-item-placeholder' ],\n\t\tstyles[ 'wp-block-list-item__list-item-placeholder--dark' ]\n\t);\n\n\tconst currentTextColor = style?.color || style?.baseColors?.color?.text;\n\n\tconst defaultPlaceholderTextColor = currentTextColor\n\t\t? currentTextColor\n\t\t: defaultPlaceholderFromScheme?.color;\n\n\t// Add hex opacity to default placeholder text color and style object\n\tconst defaultPlaceholderTextColorWithOpacity =\n\t\tdefaultPlaceholderTextColor + OPACITY;\n\n\tconst styleWithPlaceholderOpacity = {\n\t\t...style,\n\t\t...( style?.color && {\n\t\t\tplaceholderColor: style.color + OPACITY,\n\t\t} ),\n\t};\n\n\tconst preventDefault = useRef( false );\n\tconst { onEnter } = useEnter( { content, clientId }, preventDefault );\n\tconst onSplit = useSplit( clientId );\n\tconst onMerge = useMerge( clientId, mergeBlocks );\n\tconst onSplitList = useCallback(\n\t\t( value ) => {\n\t\t\tif ( ! preventDefault.current ) {\n\t\t\t\treturn onSplit( value );\n\t\t\t}\n\t\t},\n\t\t[ clientId, onSplit ]\n\t);\n\tconst onReplaceList = useCallback(\n\t\t( blocks, ...args ) => {\n\t\t\tif ( ! preventDefault.current ) {\n\t\t\t\tonReplace( convertToListItems( blocks ), ...args );\n\t\t\t}\n\t\t},\n\t\t[ clientId, onReplace, convertToListItems ]\n\t);\n\tconst onLayout = useCallback( ( { nativeEvent } ) => {\n\t\tsetContentWidth( ( prevState ) => {\n\t\t\tconst { width } = nativeEvent.layout;\n\n\t\t\tif ( ! prevState || prevState.width !== width ) {\n\t\t\t\treturn Math.floor( width );\n\t\t\t}\n\t\t\treturn prevState;\n\t\t} );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ styles[ 'wp-block-list-item__list-item-parent' ] }>\n\t\t\t<View style={ styles[ 'wp-block-list-item__list-item' ] }>\n\t\t\t\t<View style={ styles[ 'wp-block-list-item__list-item-icon' ] }>\n\t\t\t\t\t<ListStyleType\n\t\t\t\t\t\tblockIndex={ blockIndex }\n\t\t\t\t\t\tindentationLevel={ indentationLevel }\n\t\t\t\t\t\tnumberOfListItems={ numberOfListItems }\n\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t\treversed={ reversed }\n\t\t\t\t\t\tstart={ start }\n\t\t\t\t\t\tstyle={ style }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ styles[ 'wp-block-list-item__list-item-content' ] }\n\t\t\t\t\tonLayout={ onLayout }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"content\"\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tonChange={ ( nextContent ) =>\n\t\t\t\t\t\t\tsetAttributes( { content: nextContent } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\tplaceholder={ placeholder || __( 'List' ) }\n\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\tdefaultPlaceholderTextColorWithOpacity\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSplit={ onSplitList }\n\t\t\t\t\t\tonMerge={ onMerge }\n\t\t\t\t\t\tonReplace={ onReplaceList }\n\t\t\t\t\t\tonEnter={ onEnter }\n\t\t\t\t\t\tstyle={ styleWithPlaceholderOpacity }\n\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\tcontainerWidth={ contentWidth }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t\t<View { ...innerBlocksProps }></View>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<IndentUI clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t</View>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_reactNative","require","_blockEditor","_i18n","_compose","_data","_element","_hooks","_utils","_edit","_style","_interopRequireDefault","_listStyleType","OPACITY","ListItemEdit","attributes","setAttributes","onReplace","clientId","style","mergeBlocks","contentWidth","setContentWidth","useState","placeholder","content","blockIndex","hasInnerBlocks","indentationLevel","numberOfListItems","ordered","reversed","start","useSelect","select","getBlockAttributes","getBlockCount","getBlockIndex","getBlockParentsByBlockName","getBlockRootClientId","blockEditorStore","currentIdentationLevel","length","currentBlockIndex","blockWithInnerBlocks","rootClientId","blockAttributes","totalListItems","isOrdered","isReversed","startValue","blockProps","useBlockProps","styles","innerBlocksProps","useInnerBlocksProps","renderAppender","defaultPlaceholderFromScheme","usePreferredColorSchemeStyle","currentTextColor","color","baseColors","text","defaultPlaceholderTextColor","defaultPlaceholderTextColorWithOpacity","styleWithPlaceholderOpacity","placeholderColor","preventDefault","useRef","onEnter","useEnter","onSplit","useSplit","onMerge","useMerge","onSplitList","useCallback","value","current","onReplaceList","blocks","args","convertToListItems","onLayout","nativeEvent","prevState","width","layout","Math","floor","_react","createElement","View","default","RichText","identifier","tagName","onChange","nextContent","__","placeholderTextColor","deleteEnter","containerWidth","BlockControls","group","IndentUI"],"sources":["@wordpress/block-library/src/list-item/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useCallback, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useSplit, useMerge, useEnter } from './hooks';\nimport { convertToListItems } from './utils';\nimport { IndentUI } from './edit.js';\nimport styles from './style.scss';\nimport ListStyleType from './list-style-type';\n\nconst OPACITY = '9e';\n\nexport default function ListItemEdit( {\n\tattributes,\n\tsetAttributes,\n\tonReplace,\n\tclientId,\n\tstyle,\n\tmergeBlocks,\n} ) {\n\tconst [ contentWidth, setContentWidth ] = useState();\n\tconst { placeholder, content } = attributes;\n\tconst {\n\t\tblockIndex,\n\t\thasInnerBlocks,\n\t\tindentationLevel,\n\t\tnumberOfListItems,\n\t\tordered,\n\t\treversed,\n\t\tstart,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst currentIdentationLevel = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/list-item',\n\t\t\t\ttrue\n\t\t\t).length;\n\t\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\t\tconst blockWithInnerBlocks = getBlockCount( clientId ) > 0;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst blockAttributes = getBlockAttributes( rootClientId );\n\t\t\tconst totalListItems = getBlockCount( rootClientId );\n\t\t\tconst {\n\t\t\t\tordered: isOrdered,\n\t\t\t\treversed: isReversed,\n\t\t\t\tstart: startValue,\n\t\t\t} = blockAttributes || {};\n\n\t\t\treturn {\n\t\t\t\tblockIndex: currentBlockIndex,\n\t\t\t\thasInnerBlocks: blockWithInnerBlocks,\n\t\t\t\tindentationLevel: currentIdentationLevel,\n\t\t\t\tnumberOfListItems: totalListItems,\n\t\t\t\tordered: isOrdered,\n\t\t\t\treversed: isReversed,\n\t\t\t\tstart: startValue,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\t...( hasInnerBlocks && styles[ 'wp-block-list-item__nested-blocks' ] ),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t} );\n\n\t// Set default placeholder text color from light/dark scheme or base colors\n\tconst defaultPlaceholderFromScheme = usePreferredColorSchemeStyle(\n\t\tstyles[ 'wp-block-list-item__list-item-placeholder' ],\n\t\tstyles[ 'wp-block-list-item__list-item-placeholder--dark' ]\n\t);\n\n\tconst currentTextColor = style?.color || style?.baseColors?.color?.text;\n\n\tconst defaultPlaceholderTextColor = currentTextColor\n\t\t? currentTextColor\n\t\t: defaultPlaceholderFromScheme?.color;\n\n\t// Add hex opacity to default placeholder text color and style object\n\tconst defaultPlaceholderTextColorWithOpacity =\n\t\tdefaultPlaceholderTextColor + OPACITY;\n\n\tconst styleWithPlaceholderOpacity = {\n\t\t...style,\n\t\t...( style?.color && {\n\t\t\tplaceholderColor: style.color + OPACITY,\n\t\t} ),\n\t};\n\n\tconst preventDefault = useRef( false );\n\tconst { onEnter } = useEnter( { content, clientId }, preventDefault );\n\tconst onSplit = useSplit( clientId );\n\tconst onMerge = useMerge( clientId, mergeBlocks );\n\tconst onSplitList = useCallback(\n\t\t( value ) => {\n\t\t\tif ( ! preventDefault.current ) {\n\t\t\t\treturn onSplit( value );\n\t\t\t}\n\t\t},\n\t\t[ clientId, onSplit ]\n\t);\n\tconst onReplaceList = useCallback(\n\t\t( blocks, ...args ) => {\n\t\t\tif ( ! preventDefault.current ) {\n\t\t\t\tonReplace( convertToListItems( blocks ), ...args );\n\t\t\t}\n\t\t},\n\t\t[ clientId, onReplace, convertToListItems ]\n\t);\n\tconst onLayout = useCallback( ( { nativeEvent } ) => {\n\t\tsetContentWidth( ( prevState ) => {\n\t\t\tconst { width } = nativeEvent.layout;\n\n\t\t\tif ( ! prevState || prevState.width !== width ) {\n\t\t\t\treturn Math.floor( width );\n\t\t\t}\n\t\t\treturn prevState;\n\t\t} );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ styles[ 'wp-block-list-item__list-item-parent' ] }>\n\t\t\t<View style={ styles[ 'wp-block-list-item__list-item' ] }>\n\t\t\t\t<View style={ styles[ 'wp-block-list-item__list-item-icon' ] }>\n\t\t\t\t\t<ListStyleType\n\t\t\t\t\t\tblockIndex={ blockIndex }\n\t\t\t\t\t\tindentationLevel={ indentationLevel }\n\t\t\t\t\t\tnumberOfListItems={ numberOfListItems }\n\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t\treversed={ reversed }\n\t\t\t\t\t\tstart={ start }\n\t\t\t\t\t\tstyle={ style }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ styles[ 'wp-block-list-item__list-item-content' ] }\n\t\t\t\t\tonLayout={ onLayout }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"content\"\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tonChange={ ( nextContent ) =>\n\t\t\t\t\t\t\tsetAttributes( { content: nextContent } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\tplaceholder={ placeholder || __( 'List' ) }\n\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\tdefaultPlaceholderTextColorWithOpacity\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSplit={ onSplitList }\n\t\t\t\t\t\tonMerge={ onMerge }\n\t\t\t\t\t\tonReplace={ onReplaceList }\n\t\t\t\t\t\tonEnter={ onEnter }\n\t\t\t\t\t\tstyle={ styleWithPlaceholderOpacity }\n\t\t\t\t\t\tdeleteEnter\n\t\t\t\t\t\tcontainerWidth={ contentWidth }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t\t<View { ...innerBlocksProps }></View>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<IndentUI clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t</View>\n\t);\n}\n"],"mappings":"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"}
@@ -4,12 +4,6 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- Object.defineProperty(exports, "useCopy", {
8
- enumerable: true,
9
- get: function () {
10
- return _useCopy.default;
11
- }
12
- });
13
7
  Object.defineProperty(exports, "useEnter", {
14
8
  enumerable: true,
15
9
  get: function () {
@@ -52,5 +46,4 @@ var _useEnter = _interopRequireDefault(require("./use-enter"));
52
46
  var _useSpace = _interopRequireDefault(require("./use-space"));
53
47
  var _useSplit = _interopRequireDefault(require("./use-split"));
54
48
  var _useMerge = _interopRequireDefault(require("./use-merge"));
55
- var _useCopy = _interopRequireDefault(require("./use-copy"));
56
49
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_useOutdentListItem","_interopRequireDefault","require","_useIndentListItem","_useEnter","_useSpace","_useSplit","_useMerge","_useCopy"],"sources":["@wordpress/block-library/src/list-item/hooks/index.js"],"sourcesContent":["export { default as useOutdentListItem } from './use-outdent-list-item';\nexport { default as useIndentListItem } from './use-indent-list-item';\nexport { default as useEnter } from './use-enter';\nexport { default as useSpace } from './use-space';\nexport { default as useSplit } from './use-split';\nexport { default as useMerge } from './use-merge';\nexport { default as useCopy } from './use-copy';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,QAAA,GAAAP,sBAAA,CAAAC,OAAA"}
1
+ {"version":3,"names":["_useOutdentListItem","_interopRequireDefault","require","_useIndentListItem","_useEnter","_useSpace","_useSplit","_useMerge"],"sources":["@wordpress/block-library/src/list-item/hooks/index.js"],"sourcesContent":["export { default as useOutdentListItem } from './use-outdent-list-item';\nexport { default as useIndentListItem } from './use-indent-list-item';\nexport { default as useEnter } from './use-enter';\nexport { default as useSpace } from './use-space';\nexport { default as useSplit } from './use-split';\nexport { default as useMerge } from './use-merge';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,SAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,SAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,SAAA,GAAAN,sBAAA,CAAAC,OAAA"}
@@ -54,6 +54,7 @@ function useIndentListItem(clientId) {
54
54
  } else {
55
55
  multiSelect(clonedBlocks[0].clientId, clonedBlocks[clonedBlocks.length - 1].clientId);
56
56
  }
57
+ return true;
57
58
  }, [clientId]);
58
59
  }
59
60
  //# sourceMappingURL=use-indent-list-item.js.map