@wordpress/block-library 7.1.0 → 7.3.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 (634) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +1 -1
  3. package/build/archives/edit.js +21 -1
  4. package/build/archives/edit.js.map +1 -1
  5. package/build/archives/index.js +5 -1
  6. package/build/archives/index.js.map +1 -1
  7. package/build/audio/edit.native.js +0 -5
  8. package/build/audio/edit.native.js.map +1 -1
  9. package/build/avatar/edit.js +211 -0
  10. package/build/avatar/edit.js.map +1 -0
  11. package/build/avatar/hooks.js +111 -0
  12. package/build/avatar/hooks.js.map +1 -0
  13. package/build/avatar/index.js +83 -0
  14. package/build/avatar/index.js.map +1 -0
  15. package/build/avatar/user-control.js +63 -0
  16. package/build/avatar/user-control.js.map +1 -0
  17. package/build/block/edit.js +2 -1
  18. package/build/block/edit.js.map +1 -1
  19. package/build/column/index.js +3 -1
  20. package/build/column/index.js.map +1 -1
  21. package/build/comment-author-avatar/index.js +4 -3
  22. package/build/comment-author-avatar/index.js.map +1 -1
  23. package/build/comment-author-name/index.js +7 -3
  24. package/build/comment-author-name/index.js.map +1 -1
  25. package/build/comment-content/index.js +1 -1
  26. package/build/comment-date/edit.js +10 -25
  27. package/build/comment-date/edit.js.map +1 -1
  28. package/build/comment-date/index.js +7 -3
  29. package/build/comment-date/index.js.map +1 -1
  30. package/build/comment-edit-link/index.js +5 -1
  31. package/build/comment-edit-link/index.js.map +1 -1
  32. package/build/comment-reply-link/index.js +5 -1
  33. package/build/comment-reply-link/index.js.map +1 -1
  34. package/build/comment-template/edit.js +86 -66
  35. package/build/comment-template/edit.js.map +1 -1
  36. package/build/comment-template/hooks.js +7 -23
  37. package/build/comment-template/hooks.js.map +1 -1
  38. package/build/comment-template/index.js +2 -2
  39. package/build/comments-pagination-next/index.js +2 -2
  40. package/build/comments-pagination-numbers/index.js +1 -1
  41. package/build/comments-pagination-previous/index.js +1 -1
  42. package/build/comments-query-loop/edit/comments-inspector-controls.js +2 -69
  43. package/build/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
  44. package/build/comments-query-loop/edit.js +22 -1
  45. package/build/comments-query-loop/edit.js.map +1 -1
  46. package/build/comments-query-loop/index.js +1 -23
  47. package/build/comments-query-loop/index.js.map +1 -1
  48. package/build/cover/edit.js +58 -39
  49. package/build/cover/edit.js.map +1 -1
  50. package/build/cover/index.js +5 -0
  51. package/build/cover/index.js.map +1 -1
  52. package/build/cover/save.js +3 -2
  53. package/build/cover/save.js.map +1 -1
  54. package/build/embed/variations.js +2 -2
  55. package/build/embed/variations.js.map +1 -1
  56. package/build/gallery/edit.js +18 -5
  57. package/build/gallery/edit.js.map +1 -1
  58. package/build/gallery/gallery.js +1 -1
  59. package/build/gallery/gallery.js.map +1 -1
  60. package/build/gallery/gap-styles.js +35 -0
  61. package/build/gallery/gap-styles.js.map +1 -0
  62. package/build/gallery/index.js +18 -1
  63. package/build/gallery/index.js.map +1 -1
  64. package/build/group/edit.js +3 -1
  65. package/build/group/edit.js.map +1 -1
  66. package/build/group/index.js +1 -1
  67. package/build/group/variations.js +30 -9
  68. package/build/group/variations.js.map +1 -1
  69. package/build/heading/edit.js +1 -1
  70. package/build/heading/edit.js.map +1 -1
  71. package/build/html/edit.js +3 -2
  72. package/build/html/edit.js.map +1 -1
  73. package/build/image/edit.native.js +8 -10
  74. package/build/image/edit.native.js.map +1 -1
  75. package/build/image/image.js +3 -1
  76. package/build/image/image.js.map +1 -1
  77. package/build/index.js +10 -4
  78. package/build/index.js.map +1 -1
  79. package/build/list/deprecated.js +2 -2
  80. package/build/list/deprecated.js.map +1 -1
  81. package/build/list/index.js +5 -7
  82. package/build/list/index.js.map +1 -1
  83. package/build/list/v2/deprecated.js +117 -0
  84. package/build/list/v2/deprecated.js.map +1 -0
  85. package/build/list/v2/edit.js +188 -0
  86. package/build/list/v2/edit.js.map +1 -0
  87. package/build/list/v2/index.js +36 -0
  88. package/build/list/v2/index.js.map +1 -0
  89. package/build/list/v2/migrate.js +85 -0
  90. package/build/list/v2/migrate.js.map +1 -0
  91. package/build/list/v2/save.js +34 -0
  92. package/build/list/v2/save.js.map +1 -0
  93. package/build/list/v2/transforms.js +121 -0
  94. package/build/list/v2/transforms.js.map +1 -0
  95. package/build/list-item/edit.js +96 -0
  96. package/build/list-item/edit.js.map +1 -0
  97. package/build/list-item/hooks/index.js +32 -0
  98. package/build/list-item/hooks/index.js.map +1 -0
  99. package/build/list-item/hooks/use-enter.js +93 -0
  100. package/build/list-item/hooks/use-enter.js.map +1 -0
  101. package/build/list-item/hooks/use-indent-list-item.js +74 -0
  102. package/build/list-item/hooks/use-indent-list-item.js.map +1 -0
  103. package/build/list-item/hooks/use-outdent-list-item.js +77 -0
  104. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -0
  105. package/build/list-item/index.js +67 -0
  106. package/build/list-item/index.js.map +1 -0
  107. package/build/list-item/save.js +23 -0
  108. package/build/list-item/save.js.map +1 -0
  109. package/build/list-item/utils.js +16 -0
  110. package/build/list-item/utils.js.map +1 -0
  111. package/build/media-text/edit.js +3 -1
  112. package/build/media-text/edit.js.map +1 -1
  113. package/build/media-text/media-container.native.js +1 -16
  114. package/build/media-text/media-container.native.js.map +1 -1
  115. package/build/navigation/edit/index.js +36 -17
  116. package/build/navigation/edit/index.js.map +1 -1
  117. package/build/navigation/edit/navigation-menu-delete-control.js +1 -1
  118. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  119. package/build/navigation/edit/unsaved-inner-blocks.js +34 -7
  120. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  121. package/build/navigation/index.js +9 -1
  122. package/build/navigation/index.js.map +1 -1
  123. package/build/navigation/use-navigation-entities.js +26 -54
  124. package/build/navigation/use-navigation-entities.js.map +1 -1
  125. package/build/navigation/use-navigation-menu.js +1 -0
  126. package/build/navigation/use-navigation-menu.js.map +1 -1
  127. package/build/navigation-link/edit.js +95 -37
  128. package/build/navigation-link/edit.js.map +1 -1
  129. package/build/navigation-link/index.js +1 -1
  130. package/build/navigation-submenu/edit.js +5 -9
  131. package/build/navigation-submenu/edit.js.map +1 -1
  132. package/build/navigation-submenu/index.js +1 -1
  133. package/build/post-comment/edit.js +2 -2
  134. package/build/post-comment/edit.js.map +1 -1
  135. package/build/post-comments-form/edit.js +3 -2
  136. package/build/post-comments-form/edit.js.map +1 -1
  137. package/build/post-date/edit.js +31 -37
  138. package/build/post-date/edit.js.map +1 -1
  139. package/build/post-featured-image/edit.js +2 -1
  140. package/build/post-featured-image/edit.js.map +1 -1
  141. package/build/post-featured-image/index.js +1 -1
  142. package/build/post-template/edit.js +7 -2
  143. package/build/post-template/edit.js.map +1 -1
  144. package/build/post-terms/edit.js +3 -1
  145. package/build/post-terms/edit.js.map +1 -1
  146. package/build/post-terms/variations.js +1 -1
  147. package/build/post-terms/variations.js.map +1 -1
  148. package/build/pullquote/edit.js +5 -3
  149. package/build/pullquote/edit.js.map +1 -1
  150. package/build/query/variations.js +4 -4
  151. package/build/query/variations.js.map +1 -1
  152. package/build/query-no-results/edit.js +28 -0
  153. package/build/query-no-results/edit.js.map +1 -0
  154. package/build/query-no-results/index.js +54 -0
  155. package/build/query-no-results/index.js.map +1 -0
  156. package/build/query-no-results/save.js +18 -0
  157. package/build/query-no-results/save.js.map +1 -0
  158. package/build/query-pagination/edit.js +1 -1
  159. package/build/query-pagination/edit.js.map +1 -1
  160. package/build/query-pagination-numbers/index.js +19 -1
  161. package/build/query-pagination-numbers/index.js.map +1 -1
  162. package/build/quote/index.js +15 -8
  163. package/build/quote/index.js.map +1 -1
  164. package/build/quote/v2/deprecated.js +133 -0
  165. package/build/quote/v2/deprecated.js.map +1 -0
  166. package/build/quote/v2/edit.js +131 -0
  167. package/build/quote/v2/edit.js.map +1 -0
  168. package/build/quote/v2/index.js +49 -0
  169. package/build/quote/v2/index.js.map +1 -0
  170. package/build/quote/v2/save.js +43 -0
  171. package/build/quote/v2/save.js.map +1 -0
  172. package/build/quote/v2/transforms.js +156 -0
  173. package/build/quote/v2/transforms.js.map +1 -0
  174. package/build/read-more/index.js +1 -1
  175. package/build/rss/edit.js +6 -1
  176. package/build/rss/edit.js.map +1 -1
  177. package/build/search/edit.js +2 -3
  178. package/build/search/edit.js.map +1 -1
  179. package/build/separator/deprecated.js +83 -0
  180. package/build/separator/deprecated.js.map +1 -0
  181. package/build/separator/edit.js +31 -23
  182. package/build/separator/edit.js.map +1 -1
  183. package/build/separator/index.js +17 -7
  184. package/build/separator/index.js.map +1 -1
  185. package/build/separator/save.js +18 -13
  186. package/build/separator/save.js.map +1 -1
  187. package/build/separator/use-deprecated-opacity.js +39 -0
  188. package/build/separator/use-deprecated-opacity.js.map +1 -0
  189. package/build/site-logo/edit.js +3 -2
  190. package/build/site-logo/edit.js.map +1 -1
  191. package/build/site-logo/index.js +1 -1
  192. package/build/social-links/edit.js +14 -3
  193. package/build/social-links/edit.js.map +1 -1
  194. package/build/social-links/index.js +2 -1
  195. package/build/social-links/index.js.map +1 -1
  196. package/build/spacer/controls.js +6 -16
  197. package/build/spacer/controls.js.map +1 -1
  198. package/build/spacer/controls.native.js +3 -1
  199. package/build/spacer/controls.native.js.map +1 -1
  200. package/build/spacer/edit.js +4 -5
  201. package/build/spacer/edit.js.map +1 -1
  202. package/build/table/deprecated.js +1 -1
  203. package/build/table/deprecated.js.map +1 -1
  204. package/build/tag-cloud/edit.js +58 -2
  205. package/build/tag-cloud/edit.js.map +1 -1
  206. package/build/tag-cloud/index.js +8 -0
  207. package/build/tag-cloud/index.js.map +1 -1
  208. package/build/template-part/edit/utils/hooks.js +5 -2
  209. package/build/template-part/edit/utils/hooks.js.map +1 -1
  210. package/build-module/archives/edit.js +22 -2
  211. package/build-module/archives/edit.js.map +1 -1
  212. package/build-module/archives/index.js +5 -1
  213. package/build-module/archives/index.js.map +1 -1
  214. package/build-module/audio/edit.native.js +0 -5
  215. package/build-module/audio/edit.native.js.map +1 -1
  216. package/build-module/avatar/edit.js +195 -0
  217. package/build-module/avatar/edit.js.map +1 -0
  218. package/build-module/avatar/hooks.js +99 -0
  219. package/build-module/avatar/hooks.js.map +1 -0
  220. package/build-module/avatar/index.js +70 -0
  221. package/build-module/avatar/index.js.map +1 -0
  222. package/build-module/avatar/user-control.js +52 -0
  223. package/build-module/avatar/user-control.js.map +1 -0
  224. package/build-module/block/edit.js +4 -3
  225. package/build-module/block/edit.js.map +1 -1
  226. package/build-module/column/index.js +3 -1
  227. package/build-module/column/index.js.map +1 -1
  228. package/build-module/comment-author-avatar/index.js +4 -3
  229. package/build-module/comment-author-avatar/index.js.map +1 -1
  230. package/build-module/comment-author-name/index.js +7 -3
  231. package/build-module/comment-author-name/index.js.map +1 -1
  232. package/build-module/comment-content/index.js +1 -1
  233. package/build-module/comment-date/edit.js +13 -30
  234. package/build-module/comment-date/edit.js.map +1 -1
  235. package/build-module/comment-date/index.js +7 -3
  236. package/build-module/comment-date/index.js.map +1 -1
  237. package/build-module/comment-edit-link/index.js +5 -1
  238. package/build-module/comment-edit-link/index.js.map +1 -1
  239. package/build-module/comment-reply-link/index.js +5 -1
  240. package/build-module/comment-reply-link/index.js.map +1 -1
  241. package/build-module/comment-template/edit.js +86 -66
  242. package/build-module/comment-template/edit.js.map +1 -1
  243. package/build-module/comment-template/hooks.js +7 -23
  244. package/build-module/comment-template/hooks.js.map +1 -1
  245. package/build-module/comment-template/index.js +2 -2
  246. package/build-module/comments-pagination-next/index.js +2 -2
  247. package/build-module/comments-pagination-numbers/index.js +1 -1
  248. package/build-module/comments-pagination-previous/index.js +1 -1
  249. package/build-module/comments-query-loop/edit/comments-inspector-controls.js +4 -70
  250. package/build-module/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
  251. package/build-module/comments-query-loop/edit.js +22 -1
  252. package/build-module/comments-query-loop/edit.js.map +1 -1
  253. package/build-module/comments-query-loop/index.js +1 -23
  254. package/build-module/comments-query-loop/index.js.map +1 -1
  255. package/build-module/cover/edit.js +58 -41
  256. package/build-module/cover/edit.js.map +1 -1
  257. package/build-module/cover/index.js +5 -0
  258. package/build-module/cover/index.js.map +1 -1
  259. package/build-module/cover/save.js +3 -2
  260. package/build-module/cover/save.js.map +1 -1
  261. package/build-module/embed/variations.js +2 -2
  262. package/build-module/embed/variations.js.map +1 -1
  263. package/build-module/gallery/edit.js +17 -5
  264. package/build-module/gallery/edit.js.map +1 -1
  265. package/build-module/gallery/gallery.js +1 -1
  266. package/build-module/gallery/gallery.js.map +1 -1
  267. package/build-module/gallery/gap-styles.js +28 -0
  268. package/build-module/gallery/gap-styles.js.map +1 -0
  269. package/build-module/gallery/index.js +18 -1
  270. package/build-module/gallery/index.js.map +1 -1
  271. package/build-module/group/edit.js +3 -1
  272. package/build-module/group/edit.js.map +1 -1
  273. package/build-module/group/index.js +1 -1
  274. package/build-module/group/variations.js +29 -9
  275. package/build-module/group/variations.js.map +1 -1
  276. package/build-module/heading/edit.js +1 -1
  277. package/build-module/heading/edit.js.map +1 -1
  278. package/build-module/html/edit.js +4 -3
  279. package/build-module/html/edit.js.map +1 -1
  280. package/build-module/image/edit.native.js +8 -10
  281. package/build-module/image/edit.native.js.map +1 -1
  282. package/build-module/image/image.js +3 -1
  283. package/build-module/image/image.js.map +1 -1
  284. package/build-module/index.js +7 -4
  285. package/build-module/index.js.map +1 -1
  286. package/build-module/list/deprecated.js +2 -2
  287. package/build-module/list/deprecated.js.map +1 -1
  288. package/build-module/list/index.js +5 -1
  289. package/build-module/list/index.js.map +1 -1
  290. package/build-module/list/v2/deprecated.js +104 -0
  291. package/build-module/list/v2/deprecated.js.map +1 -0
  292. package/build-module/list/v2/edit.js +168 -0
  293. package/build-module/list/v2/edit.js.map +1 -0
  294. package/build-module/list/v2/index.js +21 -0
  295. package/build-module/list/v2/index.js.map +1 -0
  296. package/build-module/list/v2/migrate.js +77 -0
  297. package/build-module/list/v2/migrate.js.map +1 -0
  298. package/build-module/list/v2/save.js +23 -0
  299. package/build-module/list/v2/save.js.map +1 -0
  300. package/build-module/list/v2/transforms.js +111 -0
  301. package/build-module/list/v2/transforms.js.map +1 -0
  302. package/build-module/list-item/edit.js +83 -0
  303. package/build-module/list-item/edit.js.map +1 -0
  304. package/build-module/list-item/hooks/index.js +4 -0
  305. package/build-module/list-item/hooks/index.js.map +1 -0
  306. package/build-module/list-item/hooks/use-enter.js +77 -0
  307. package/build-module/list-item/hooks/use-enter.js.map +1 -0
  308. package/build-module/list-item/hooks/use-indent-list-item.js +62 -0
  309. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -0
  310. package/build-module/list-item/hooks/use-outdent-list-item.js +66 -0
  311. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -0
  312. package/build-module/list-item/index.js +53 -0
  313. package/build-module/list-item/index.js.map +1 -0
  314. package/build-module/list-item/save.js +15 -0
  315. package/build-module/list-item/save.js.map +1 -0
  316. package/build-module/list-item/utils.js +8 -0
  317. package/build-module/list-item/utils.js.map +1 -0
  318. package/build-module/media-text/edit.js +3 -1
  319. package/build-module/media-text/edit.js.map +1 -1
  320. package/build-module/media-text/media-container.native.js +1 -14
  321. package/build-module/media-text/media-container.native.js.map +1 -1
  322. package/build-module/navigation/edit/index.js +37 -17
  323. package/build-module/navigation/edit/index.js.map +1 -1
  324. package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -1
  325. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  326. package/build-module/navigation/edit/unsaved-inner-blocks.js +35 -8
  327. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  328. package/build-module/navigation/index.js +9 -1
  329. package/build-module/navigation/index.js.map +1 -1
  330. package/build-module/navigation/use-navigation-entities.js +27 -54
  331. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  332. package/build-module/navigation/use-navigation-menu.js +1 -0
  333. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  334. package/build-module/navigation-link/edit.js +95 -36
  335. package/build-module/navigation-link/edit.js.map +1 -1
  336. package/build-module/navigation-link/index.js +1 -1
  337. package/build-module/navigation-submenu/edit.js +6 -10
  338. package/build-module/navigation-submenu/edit.js.map +1 -1
  339. package/build-module/navigation-submenu/index.js +1 -1
  340. package/build-module/post-comment/edit.js +2 -2
  341. package/build-module/post-comment/edit.js.map +1 -1
  342. package/build-module/post-comments-form/edit.js +3 -2
  343. package/build-module/post-comments-form/edit.js.map +1 -1
  344. package/build-module/post-date/edit.js +32 -43
  345. package/build-module/post-date/edit.js.map +1 -1
  346. package/build-module/post-featured-image/edit.js +2 -1
  347. package/build-module/post-featured-image/edit.js.map +1 -1
  348. package/build-module/post-featured-image/index.js +1 -1
  349. package/build-module/post-template/edit.js +7 -2
  350. package/build-module/post-template/edit.js.map +1 -1
  351. package/build-module/post-terms/edit.js +4 -2
  352. package/build-module/post-terms/edit.js.map +1 -1
  353. package/build-module/post-terms/variations.js +3 -3
  354. package/build-module/post-terms/variations.js.map +1 -1
  355. package/build-module/pullquote/edit.js +6 -3
  356. package/build-module/pullquote/edit.js.map +1 -1
  357. package/build-module/query/variations.js +4 -4
  358. package/build-module/query/variations.js.map +1 -1
  359. package/build-module/query-no-results/edit.js +18 -0
  360. package/build-module/query-no-results/edit.js.map +1 -0
  361. package/build-module/query-no-results/index.js +40 -0
  362. package/build-module/query-no-results/index.js.map +1 -0
  363. package/build-module/query-no-results/save.js +10 -0
  364. package/build-module/query-no-results/save.js.map +1 -0
  365. package/build-module/query-pagination/edit.js +1 -1
  366. package/build-module/query-pagination/edit.js.map +1 -1
  367. package/build-module/query-pagination-numbers/index.js +19 -1
  368. package/build-module/query-pagination-numbers/index.js.map +1 -1
  369. package/build-module/quote/index.js +13 -1
  370. package/build-module/quote/index.js.map +1 -1
  371. package/build-module/quote/v2/deprecated.js +116 -0
  372. package/build-module/quote/v2/deprecated.js.map +1 -0
  373. package/build-module/quote/v2/edit.js +115 -0
  374. package/build-module/quote/v2/edit.js.map +1 -0
  375. package/build-module/quote/v2/index.js +33 -0
  376. package/build-module/quote/v2/index.js.map +1 -0
  377. package/build-module/quote/v2/save.js +30 -0
  378. package/build-module/quote/v2/save.js.map +1 -0
  379. package/build-module/quote/v2/transforms.js +147 -0
  380. package/build-module/quote/v2/transforms.js.map +1 -0
  381. package/build-module/read-more/index.js +1 -1
  382. package/build-module/rss/edit.js +5 -1
  383. package/build-module/rss/edit.js.map +1 -1
  384. package/build-module/search/edit.js +2 -3
  385. package/build-module/search/edit.js.map +1 -1
  386. package/build-module/separator/deprecated.js +70 -0
  387. package/build-module/separator/deprecated.js.map +1 -0
  388. package/build-module/separator/edit.js +31 -22
  389. package/build-module/separator/edit.js.map +1 -1
  390. package/build-module/separator/index.js +16 -7
  391. package/build-module/separator/index.js.map +1 -1
  392. package/build-module/separator/save.js +19 -14
  393. package/build-module/separator/save.js.map +1 -1
  394. package/build-module/separator/use-deprecated-opacity.js +30 -0
  395. package/build-module/separator/use-deprecated-opacity.js.map +1 -0
  396. package/build-module/site-logo/edit.js +3 -2
  397. package/build-module/site-logo/edit.js.map +1 -1
  398. package/build-module/site-logo/index.js +1 -1
  399. package/build-module/social-links/edit.js +15 -4
  400. package/build-module/social-links/edit.js.map +1 -1
  401. package/build-module/social-links/index.js +2 -1
  402. package/build-module/social-links/index.js.map +1 -1
  403. package/build-module/spacer/controls.js +8 -19
  404. package/build-module/spacer/controls.js.map +1 -1
  405. package/build-module/spacer/controls.native.js +2 -1
  406. package/build-module/spacer/controls.native.js.map +1 -1
  407. package/build-module/spacer/edit.js +3 -3
  408. package/build-module/spacer/edit.js.map +1 -1
  409. package/build-module/table/deprecated.js +1 -1
  410. package/build-module/table/deprecated.js.map +1 -1
  411. package/build-module/tag-cloud/edit.js +60 -4
  412. package/build-module/tag-cloud/edit.js.map +1 -1
  413. package/build-module/tag-cloud/index.js +8 -0
  414. package/build-module/tag-cloud/index.js.map +1 -1
  415. package/build-module/template-part/edit/utils/hooks.js +5 -2
  416. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  417. package/build-style/avatar/editor-rtl.css +83 -0
  418. package/build-style/avatar/editor.css +83 -0
  419. package/build-style/avatar/style-rtl.css +79 -0
  420. package/build-style/avatar/style.css +79 -0
  421. package/build-style/editor-rtl.css +53 -11
  422. package/build-style/editor.css +53 -11
  423. package/build-style/gallery/editor-rtl.css +0 -1
  424. package/build-style/gallery/editor.css +0 -1
  425. package/build-style/gallery/style-rtl.css +102 -169
  426. package/build-style/gallery/style.css +102 -169
  427. package/build-style/group/editor-rtl.css +26 -0
  428. package/build-style/group/editor.css +26 -0
  429. package/build-style/heading/style-rtl.css +0 -8
  430. package/build-style/heading/style.css +0 -8
  431. package/build-style/image/style-rtl.css +2 -0
  432. package/build-style/image/style.css +2 -0
  433. package/build-style/list/style-rtl.css +1 -1
  434. package/build-style/list/style.css +1 -1
  435. package/build-style/navigation/style-rtl.css +11 -9
  436. package/build-style/navigation/style.css +11 -9
  437. package/build-style/navigation-link/editor-rtl.css +13 -0
  438. package/build-style/navigation-link/editor.css +13 -0
  439. package/build-style/navigation-link/style-rtl.css +3 -0
  440. package/build-style/navigation-link/style.css +3 -0
  441. package/build-style/paragraph/style-rtl.css +0 -4
  442. package/build-style/paragraph/style.css +0 -4
  443. package/build-style/pullquote/style-rtl.css +0 -4
  444. package/build-style/pullquote/style.css +0 -4
  445. package/build-style/quote/style-rtl.css +1 -0
  446. package/build-style/quote/style.css +1 -0
  447. package/build-style/reset-rtl.css +1 -1
  448. package/build-style/reset.css +1 -1
  449. package/build-style/separator/editor-rtl.css +3 -0
  450. package/build-style/separator/editor.css +3 -0
  451. package/build-style/separator/theme-rtl.css +7 -1
  452. package/build-style/separator/theme.css +7 -1
  453. package/build-style/site-logo/editor-rtl.css +3 -1
  454. package/build-style/site-logo/editor.css +3 -1
  455. package/build-style/style-rtl.css +124 -195
  456. package/build-style/style.css +124 -195
  457. package/build-style/template-part/editor-rtl.css +0 -9
  458. package/build-style/template-part/editor.css +0 -9
  459. package/build-style/theme-rtl.css +7 -1
  460. package/build-style/theme.css +7 -1
  461. package/package.json +28 -28
  462. package/src/archives/block.json +5 -1
  463. package/src/archives/edit.js +20 -2
  464. package/src/archives/index.php +4 -4
  465. package/src/audio/edit.native.js +0 -5
  466. package/src/avatar/block.json +53 -0
  467. package/src/avatar/edit.js +230 -0
  468. package/src/avatar/editor.scss +9 -0
  469. package/src/avatar/hooks.js +96 -0
  470. package/src/avatar/index.js +18 -0
  471. package/src/avatar/index.php +146 -0
  472. package/src/avatar/style.scss +5 -0
  473. package/src/avatar/user-control.js +56 -0
  474. package/src/block/edit.js +21 -11
  475. package/src/column/block.json +3 -1
  476. package/src/comment-author-avatar/block.json +4 -3
  477. package/src/comment-author-name/block.json +7 -3
  478. package/src/comment-author-name/index.php +3 -0
  479. package/src/comment-content/block.json +1 -1
  480. package/src/comment-date/block.json +7 -3
  481. package/src/comment-date/edit.js +20 -30
  482. package/src/comment-date/index.php +6 -1
  483. package/src/comment-edit-link/block.json +5 -1
  484. package/src/comment-edit-link/index.php +3 -0
  485. package/src/comment-reply-link/block.json +5 -1
  486. package/src/comment-reply-link/index.php +4 -1
  487. package/src/comment-template/block.json +2 -8
  488. package/src/comment-template/edit.js +77 -64
  489. package/src/comment-template/hooks.js +8 -24
  490. package/src/comment-template/index.php +1 -3
  491. package/src/comments-pagination-next/block.json +2 -9
  492. package/src/comments-pagination-numbers/block.json +2 -8
  493. package/src/comments-pagination-previous/block.json +2 -2
  494. package/src/comments-query-loop/block.json +1 -23
  495. package/src/comments-query-loop/edit/comments-inspector-controls.js +2 -83
  496. package/src/comments-query-loop/edit.js +54 -1
  497. package/src/cover/block.json +5 -0
  498. package/src/cover/edit.js +103 -60
  499. package/src/cover/index.php +85 -0
  500. package/src/cover/save.js +18 -14
  501. package/src/editor.scss +1 -0
  502. package/src/embed/variations.js +2 -2
  503. package/src/gallery/block.json +18 -1
  504. package/src/gallery/deprecated.scss +2 -2
  505. package/src/gallery/edit.js +15 -8
  506. package/src/gallery/editor.scss +0 -1
  507. package/src/gallery/gallery.js +8 -7
  508. package/src/gallery/gap-styles.js +26 -0
  509. package/src/gallery/index.php +43 -1
  510. package/src/gallery/style.scss +11 -44
  511. package/src/group/block.json +1 -1
  512. package/src/group/edit.js +4 -1
  513. package/src/group/editor.scss +31 -0
  514. package/src/group/variations.js +21 -4
  515. package/src/heading/edit.js +1 -1
  516. package/src/heading/style.scss +0 -3
  517. package/src/html/edit.js +22 -30
  518. package/src/image/edit.native.js +7 -11
  519. package/src/image/image.js +4 -1
  520. package/src/image/style.scss +3 -0
  521. package/src/index.js +19 -14
  522. package/src/list/deprecated.js +2 -2
  523. package/src/list/index.js +6 -1
  524. package/src/list/style.scss +1 -2
  525. package/src/list/test/migrate.js +159 -0
  526. package/src/list/v2/deprecated.js +89 -0
  527. package/src/list/v2/edit.js +186 -0
  528. package/src/list/v2/index.js +22 -0
  529. package/src/list/v2/migrate.js +87 -0
  530. package/src/list/v2/save.js +18 -0
  531. package/src/list/v2/transforms.js +116 -0
  532. package/src/list-item/block.json +26 -0
  533. package/src/list-item/edit.js +93 -0
  534. package/src/list-item/hooks/index.js +3 -0
  535. package/src/list-item/hooks/use-enter.js +94 -0
  536. package/src/list-item/hooks/use-indent-list-item.js +89 -0
  537. package/src/list-item/hooks/use-outdent-list-item.js +95 -0
  538. package/src/list-item/index.js +27 -0
  539. package/src/list-item/save.js +13 -0
  540. package/src/list-item/utils.js +14 -0
  541. package/src/media-text/edit.js +1 -1
  542. package/src/media-text/media-container.native.js +1 -14
  543. package/src/navigation/block.json +9 -1
  544. package/src/navigation/edit/index.js +50 -14
  545. package/src/navigation/edit/navigation-menu-delete-control.js +1 -1
  546. package/src/navigation/edit/unsaved-inner-blocks.js +57 -8
  547. package/src/navigation/index.php +28 -3
  548. package/src/navigation/style.scss +15 -13
  549. package/src/navigation/use-navigation-entities.js +37 -73
  550. package/src/navigation/use-navigation-menu.js +4 -0
  551. package/src/navigation-link/block.json +1 -0
  552. package/src/navigation-link/edit.js +156 -64
  553. package/src/navigation-link/editor.scss +11 -0
  554. package/src/navigation-link/index.php +8 -0
  555. package/src/navigation-link/style.scss +6 -0
  556. package/src/navigation-submenu/block.json +1 -0
  557. package/src/navigation-submenu/edit.js +7 -9
  558. package/src/paragraph/style.scss +0 -5
  559. package/src/post-author/index.php +0 -1
  560. package/src/post-comment/edit.js +2 -2
  561. package/src/post-comments-form/edit.js +6 -3
  562. package/src/post-date/edit.js +63 -52
  563. package/src/post-date/index.php +1 -1
  564. package/src/post-date/test/edit.js +17 -0
  565. package/src/post-featured-image/block.json +1 -1
  566. package/src/post-featured-image/edit.js +9 -1
  567. package/src/post-featured-image/index.php +2 -1
  568. package/src/post-template/edit.js +7 -1
  569. package/src/post-terms/edit.js +4 -1
  570. package/src/post-terms/variations.js +3 -3
  571. package/src/pullquote/edit.js +4 -3
  572. package/src/pullquote/style.scss +0 -5
  573. package/src/query/variations.js +4 -0
  574. package/src/query-no-results/block.json +20 -0
  575. package/src/query-no-results/edit.js +28 -0
  576. package/src/query-no-results/index.js +20 -0
  577. package/src/query-no-results/index.php +59 -0
  578. package/src/query-no-results/save.js +8 -0
  579. package/src/query-pagination/edit.js +1 -1
  580. package/src/query-pagination/index.php +9 -2
  581. package/src/query-pagination-numbers/block.json +19 -1
  582. package/src/quote/block.json +8 -0
  583. package/src/quote/index.js +6 -1
  584. package/src/quote/style.scss +1 -0
  585. package/src/quote/v2/deprecated.js +107 -0
  586. package/src/quote/v2/edit.js +136 -0
  587. package/src/quote/v2/index.js +36 -0
  588. package/src/quote/v2/save.js +26 -0
  589. package/src/quote/v2/test/migrate.js +92 -0
  590. package/src/quote/v2/transforms.js +155 -0
  591. package/src/read-more/block.json +1 -1
  592. package/src/reset.scss +1 -1
  593. package/src/rss/edit.js +3 -1
  594. package/src/rss/index.php +14 -1
  595. package/src/search/edit.js +1 -2
  596. package/src/separator/block.json +13 -6
  597. package/src/separator/deprecated.js +57 -0
  598. package/src/separator/deprecated.scss +6 -0
  599. package/src/separator/edit.js +36 -14
  600. package/src/separator/editor.scss +6 -0
  601. package/src/separator/index.js +2 -0
  602. package/src/separator/save.js +22 -14
  603. package/src/separator/test/edit.js +113 -0
  604. package/src/separator/theme.scss +7 -1
  605. package/src/separator/use-deprecated-opacity.js +41 -0
  606. package/src/site-logo/block.json +1 -1
  607. package/src/site-logo/edit.js +2 -1
  608. package/src/site-logo/editor.scss +3 -1
  609. package/src/site-logo/index.php +0 -4
  610. package/src/social-link/index.php +1 -2
  611. package/src/social-links/block.json +2 -1
  612. package/src/social-links/edit.js +15 -5
  613. package/src/spacer/controls.js +12 -18
  614. package/src/spacer/controls.native.js +2 -1
  615. package/src/spacer/edit.js +3 -6
  616. package/src/spacer/test/__snapshots__/index.native.js.snap +31 -0
  617. package/src/spacer/test/index.native.js +180 -0
  618. package/src/style.scss +1 -0
  619. package/src/table/deprecated.js +5 -1
  620. package/src/tag-cloud/block.json +8 -0
  621. package/src/tag-cloud/edit.js +82 -2
  622. package/src/tag-cloud/index.php +6 -0
  623. package/src/template-part/edit/utils/hooks.js +6 -1
  624. package/src/template-part/editor.scss +0 -10
  625. package/build/navigation/edit/use-list-view-modal.js +0 -73
  626. package/build/navigation/edit/use-list-view-modal.js.map +0 -1
  627. package/build/separator/separator-settings.js +0 -36
  628. package/build/separator/separator-settings.js.map +0 -1
  629. package/build-module/navigation/edit/use-list-view-modal.js +0 -63
  630. package/build-module/navigation/edit/use-list-view-modal.js.map +0 -1
  631. package/build-module/separator/separator-settings.js +0 -27
  632. package/build-module/separator/separator-settings.js.map +0 -1
  633. package/src/navigation/edit/use-list-view-modal.js +0 -72
  634. package/src/separator/separator-settings.js +0 -24
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.migrateToListV2 = migrateToListV2;
7
+
8
+ var _lodash = require("lodash");
9
+
10
+ var _blocks = require("@wordpress/blocks");
11
+
12
+ /**
13
+ * External dependencies
14
+ */
15
+
16
+ /**
17
+ * WordPress dependencies
18
+ */
19
+ function createListBlockFromDOMElement(listElement) {
20
+ var _listElement$getAttri;
21
+
22
+ const listAttributes = {
23
+ ordered: 'OL' === listElement.tagName,
24
+ start: listElement.getAttribute('start') ? parseInt(listElement.getAttribute('start'), 10) : undefined,
25
+ reversed: listElement.getAttribute('reversed') === true ? true : undefined,
26
+ type: (_listElement$getAttri = listElement.getAttribute('type')) !== null && _listElement$getAttri !== void 0 ? _listElement$getAttri : undefined
27
+ };
28
+ const innerBlocks = Array.from(listElement.children).map(listItem => {
29
+ const children = Array.from(listItem.childNodes).filter(node => node.nodeType !== node.TEXT_NODE || node.textContent.trim().length !== 0);
30
+ children.reverse();
31
+ const [nestedList, ...nodes] = children;
32
+ const hasNestedList = nestedList.tagName === 'UL' || nestedList.tagName === 'OL';
33
+
34
+ if (!hasNestedList) {
35
+ return (0, _blocks.createBlock)('core/list-item', {
36
+ content: listItem.innerHTML
37
+ });
38
+ }
39
+
40
+ const htmlNodes = nodes.map(node => {
41
+ if (node.nodeType === node.TEXT_NODE) {
42
+ return node.textContent;
43
+ }
44
+
45
+ return node.outerHTML;
46
+ });
47
+ htmlNodes.reverse();
48
+ const childAttributes = {
49
+ content: htmlNodes.join('').trim()
50
+ };
51
+ const childInnerBlocks = [createListBlockFromDOMElement(nestedList)];
52
+ return (0, _blocks.createBlock)('core/list-item', childAttributes, childInnerBlocks);
53
+ });
54
+ return (0, _blocks.createBlock)('core/list', listAttributes, innerBlocks);
55
+ }
56
+
57
+ function migrateToListV2(attributes) {
58
+ const {
59
+ values,
60
+ start,
61
+ reversed,
62
+ ordered,
63
+ type
64
+ } = attributes;
65
+ const list = document.createElement(ordered ? 'ol' : 'ul');
66
+ list.innerHTML = values;
67
+
68
+ if (start) {
69
+ list.setAttribute('start', start);
70
+ }
71
+
72
+ if (reversed) {
73
+ list.setAttribute('reversed', true);
74
+ }
75
+
76
+ if (type) {
77
+ list.setAttribute('type', type);
78
+ }
79
+
80
+ const listBlock = createListBlockFromDOMElement(list);
81
+ return [{ ...(0, _lodash.omit)(attributes, ['values']),
82
+ ...listBlock.attributes
83
+ }, listBlock.innerBlocks];
84
+ }
85
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/list/v2/migrate.js"],"names":["createListBlockFromDOMElement","listElement","listAttributes","ordered","tagName","start","getAttribute","parseInt","undefined","reversed","type","innerBlocks","Array","from","children","map","listItem","childNodes","filter","node","nodeType","TEXT_NODE","textContent","trim","length","reverse","nestedList","nodes","hasNestedList","content","innerHTML","htmlNodes","outerHTML","childAttributes","join","childInnerBlocks","migrateToListV2","attributes","values","list","document","createElement","setAttribute","listBlock"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nfunction createListBlockFromDOMElement( listElement ) {\n\tconst listAttributes = {\n\t\tordered: 'OL' === listElement.tagName,\n\t\tstart: listElement.getAttribute( 'start' )\n\t\t\t? parseInt( listElement.getAttribute( 'start' ), 10 )\n\t\t\t: undefined,\n\t\treversed:\n\t\t\tlistElement.getAttribute( 'reversed' ) === true ? true : undefined,\n\t\ttype: listElement.getAttribute( 'type' ) ?? undefined,\n\t};\n\n\tconst innerBlocks = Array.from( listElement.children ).map(\n\t\t( listItem ) => {\n\t\t\tconst children = Array.from( listItem.childNodes ).filter(\n\t\t\t\t( node ) =>\n\t\t\t\t\tnode.nodeType !== node.TEXT_NODE ||\n\t\t\t\t\tnode.textContent.trim().length !== 0\n\t\t\t);\n\t\t\tchildren.reverse();\n\t\t\tconst [ nestedList, ...nodes ] = children;\n\n\t\t\tconst hasNestedList =\n\t\t\t\tnestedList.tagName === 'UL' || nestedList.tagName === 'OL';\n\t\t\tif ( ! hasNestedList ) {\n\t\t\t\treturn createBlock( 'core/list-item', {\n\t\t\t\t\tcontent: listItem.innerHTML,\n\t\t\t\t} );\n\t\t\t}\n\t\t\tconst htmlNodes = nodes.map( ( node ) => {\n\t\t\t\tif ( node.nodeType === node.TEXT_NODE ) {\n\t\t\t\t\treturn node.textContent;\n\t\t\t\t}\n\t\t\t\treturn node.outerHTML;\n\t\t\t} );\n\t\t\thtmlNodes.reverse();\n\t\t\tconst childAttributes = {\n\t\t\t\tcontent: htmlNodes.join( '' ).trim(),\n\t\t\t};\n\t\t\tconst childInnerBlocks = [\n\t\t\t\tcreateListBlockFromDOMElement( nestedList ),\n\t\t\t];\n\t\t\treturn createBlock(\n\t\t\t\t'core/list-item',\n\t\t\t\tchildAttributes,\n\t\t\t\tchildInnerBlocks\n\t\t\t);\n\t\t}\n\t);\n\n\treturn createBlock( 'core/list', listAttributes, innerBlocks );\n}\n\nexport function migrateToListV2( attributes ) {\n\tconst { values, start, reversed, ordered, type } = attributes;\n\n\tconst list = document.createElement( ordered ? 'ol' : 'ul' );\n\tlist.innerHTML = values;\n\tif ( start ) {\n\t\tlist.setAttribute( 'start', start );\n\t}\n\tif ( reversed ) {\n\t\tlist.setAttribute( 'reversed', true );\n\t}\n\tif ( type ) {\n\t\tlist.setAttribute( 'type', type );\n\t}\n\n\tconst listBlock = createListBlockFromDOMElement( list );\n\n\treturn [\n\t\t{\n\t\t\t...omit( attributes, [ 'values' ] ),\n\t\t\t...listBlock.attributes,\n\t\t},\n\t\tlistBlock.innerBlocks,\n\t];\n}\n"]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = save;
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _blockEditor = require("@wordpress/block-editor");
15
+
16
+ /**
17
+ * WordPress dependencies
18
+ */
19
+ function save(_ref) {
20
+ let {
21
+ attributes
22
+ } = _ref;
23
+ const {
24
+ ordered,
25
+ reversed,
26
+ start
27
+ } = attributes;
28
+ const TagName = ordered ? 'ol' : 'ul';
29
+ return (0, _element.createElement)(TagName, (0, _extends2.default)({
30
+ reversed: reversed,
31
+ start: start
32
+ }, _blockEditor.useBlockProps.save()), (0, _element.createElement)(_blockEditor.InnerBlocks.Content, null));
33
+ }
34
+ //# sourceMappingURL=save.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/list/v2/save.js"],"names":["save","attributes","ordered","reversed","start","TagName","useBlockProps"],"mappings":";;;;;;;;;;;;;AAGA;;AAHA;AACA;AACA;AAGe,SAASA,IAAT,OAAgC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAC9C,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,QAAX;AAAqBC,IAAAA;AAArB,MAA+BH,UAArC;AACA,QAAMI,OAAO,GAAGH,OAAO,GAAG,IAAH,GAAU,IAAjC;AACA,SACC,4BAAC,OAAD;AACC,IAAA,QAAQ,EAAGC,QADZ;AAEC,IAAA,KAAK,EAAGC;AAFT,KAGME,2BAAcN,IAAd,EAHN,GAKC,4BAAC,wBAAD,CAAa,OAAb,OALD,CADD;AASA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst { ordered, reversed, start } = attributes;\n\tconst TagName = ordered ? 'ol' : 'ul';\n\treturn (\n\t\t<TagName\n\t\t\treversed={ reversed }\n\t\t\tstart={ start }\n\t\t\t{ ...useBlockProps.save() }\n\t\t>\n\t\t\t<InnerBlocks.Content />\n\t\t</TagName>\n\t);\n}\n"]}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _blocks = require("@wordpress/blocks");
9
+
10
+ var _richText = require("@wordpress/rich-text");
11
+
12
+ /**
13
+ * WordPress dependencies
14
+ */
15
+ const transforms = {
16
+ from: [{
17
+ type: 'block',
18
+ isMultiBlock: true,
19
+ blocks: ['core/paragraph', 'core/heading'],
20
+ transform: blockAttributes => {
21
+ let childBlocks = [];
22
+
23
+ if (blockAttributes.length > 1) {
24
+ childBlocks = blockAttributes.map(_ref => {
25
+ let {
26
+ content
27
+ } = _ref;
28
+ return (0, _blocks.createBlock)('core/list-item', {
29
+ content
30
+ });
31
+ });
32
+ } else if (blockAttributes.length === 1) {
33
+ const value = (0, _richText.create)({
34
+ html: blockAttributes[0].content
35
+ });
36
+ childBlocks = (0, _richText.split)(value, '\n').map(result => {
37
+ return (0, _blocks.createBlock)('core/list-item', {
38
+ content: (0, _richText.toHTMLString)({
39
+ value: result
40
+ })
41
+ });
42
+ });
43
+ }
44
+
45
+ return (0, _blocks.createBlock)('core/list', {
46
+ anchor: blockAttributes.anchor
47
+ }, childBlocks);
48
+ }
49
+ }, {
50
+ type: 'block',
51
+ blocks: ['core/quote', 'core/pullquote'],
52
+ transform: _ref2 => {
53
+ let {
54
+ value,
55
+ anchor
56
+ } = _ref2;
57
+ return (0, _blocks.createBlock)('core/list', {
58
+ anchor
59
+ }, (0, _richText.split)((0, _richText.create)({
60
+ html: value,
61
+ multilineTag: 'p'
62
+ }), _richText.__UNSTABLE_LINE_SEPARATOR).map(result => {
63
+ return (0, _blocks.createBlock)('core/list-item', {
64
+ content: (0, _richText.toHTMLString)({
65
+ value: result
66
+ })
67
+ });
68
+ }));
69
+ }
70
+ }, ...['*', '-'].map(prefix => ({
71
+ type: 'prefix',
72
+ prefix,
73
+
74
+ transform(content) {
75
+ return (0, _blocks.createBlock)('core/list', {}, [(0, _blocks.createBlock)('core/list-item', {
76
+ content
77
+ })]);
78
+ }
79
+
80
+ })), ...['1.', '1)'].map(prefix => ({
81
+ type: 'prefix',
82
+ prefix,
83
+
84
+ transform(content) {
85
+ return (0, _blocks.createBlock)('core/list', {
86
+ ordered: true
87
+ }, [(0, _blocks.createBlock)('core/list-item', {
88
+ content
89
+ })]);
90
+ }
91
+
92
+ }))],
93
+ to: [...['core/paragraph', 'core/heading'].map(block => ({
94
+ type: 'block',
95
+ blocks: [block],
96
+ transform: (_attributes, childBlocks) => {
97
+ return childBlocks.filter(_ref3 => {
98
+ let {
99
+ name
100
+ } = _ref3;
101
+ return name === 'core/list-item';
102
+ }).map(_ref4 => {
103
+ let {
104
+ attributes
105
+ } = _ref4;
106
+ return (0, _blocks.createBlock)(block, {
107
+ content: attributes.content
108
+ });
109
+ });
110
+ }
111
+ })), ...['core/quote', 'core/pullquote'].map(block => ({
112
+ type: 'block',
113
+ blocks: [block],
114
+ transform: (attributes, innerBlocks) => {
115
+ return (0, _blocks.switchToBlockType)((0, _blocks.switchToBlockType)((0, _blocks.createBlock)('core/list', attributes, innerBlocks), 'core/paragraph'), block);
116
+ }
117
+ }))]
118
+ };
119
+ var _default = transforms;
120
+ exports.default = _default;
121
+ //# sourceMappingURL=transforms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/list/v2/transforms.js"],"names":["transforms","from","type","isMultiBlock","blocks","transform","blockAttributes","childBlocks","length","map","content","value","html","result","anchor","multilineTag","__UNSTABLE_LINE_SEPARATOR","prefix","ordered","to","block","_attributes","filter","name","attributes","innerBlocks"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, switchToBlockType } from '@wordpress/blocks';\nimport {\n\t__UNSTABLE_LINE_SEPARATOR,\n\tcreate,\n\tsplit,\n\ttoHTMLString,\n} from '@wordpress/rich-text';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/paragraph', 'core/heading' ],\n\t\t\ttransform: ( blockAttributes ) => {\n\t\t\t\tlet childBlocks = [];\n\t\t\t\tif ( blockAttributes.length > 1 ) {\n\t\t\t\t\tchildBlocks = blockAttributes.map( ( { content } ) => {\n\t\t\t\t\t\treturn createBlock( 'core/list-item', { content } );\n\t\t\t\t\t} );\n\t\t\t\t} else if ( blockAttributes.length === 1 ) {\n\t\t\t\t\tconst value = create( {\n\t\t\t\t\t\thtml: blockAttributes[ 0 ].content,\n\t\t\t\t\t} );\n\t\t\t\t\tchildBlocks = split( value, '\\n' ).map( ( result ) => {\n\t\t\t\t\t\treturn createBlock( 'core/list-item', {\n\t\t\t\t\t\t\tcontent: toHTMLString( { value: result } ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/list',\n\t\t\t\t\t{\n\t\t\t\t\t\tanchor: blockAttributes.anchor,\n\t\t\t\t\t},\n\t\t\t\t\tchildBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/quote', 'core/pullquote' ],\n\t\t\ttransform: ( { value, anchor } ) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/list',\n\t\t\t\t\t{\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t},\n\t\t\t\t\tsplit(\n\t\t\t\t\t\tcreate( { html: value, multilineTag: 'p' } ),\n\t\t\t\t\t\t__UNSTABLE_LINE_SEPARATOR\n\t\t\t\t\t).map( ( result ) => {\n\t\t\t\t\t\treturn createBlock( 'core/list-item', {\n\t\t\t\t\t\t\tcontent: toHTMLString( { value: result } ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t...[ '*', '-' ].map( ( prefix ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix,\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock( 'core/list', {}, [\n\t\t\t\t\tcreateBlock( 'core/list-item', { content } ),\n\t\t\t\t] );\n\t\t\t},\n\t\t} ) ),\n\t\t...[ '1.', '1)' ].map( ( prefix ) => ( {\n\t\t\ttype: 'prefix',\n\t\t\tprefix,\n\t\t\ttransform( content ) {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/list',\n\t\t\t\t\t{\n\t\t\t\t\t\tordered: true,\n\t\t\t\t\t},\n\t\t\t\t\t[ createBlock( 'core/list-item', { content } ) ]\n\t\t\t\t);\n\t\t\t},\n\t\t} ) ),\n\t],\n\tto: [\n\t\t...[ 'core/paragraph', 'core/heading' ].map( ( block ) => ( {\n\t\t\ttype: 'block',\n\t\t\tblocks: [ block ],\n\t\t\ttransform: ( _attributes, childBlocks ) => {\n\t\t\t\treturn childBlocks\n\t\t\t\t\t.filter( ( { name } ) => name === 'core/list-item' )\n\t\t\t\t\t.map( ( { attributes } ) =>\n\t\t\t\t\t\tcreateBlock( block, {\n\t\t\t\t\t\t\tcontent: attributes.content,\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t},\n\t\t} ) ),\n\t\t...[ 'core/quote', 'core/pullquote' ].map( ( block ) => ( {\n\t\t\ttype: 'block',\n\t\t\tblocks: [ block ],\n\t\t\ttransform: ( attributes, innerBlocks ) => {\n\t\t\t\treturn switchToBlockType(\n\t\t\t\t\tswitchToBlockType(\n\t\t\t\t\t\tcreateBlock( 'core/list', attributes, innerBlocks ),\n\t\t\t\t\t\t'core/paragraph'\n\t\t\t\t\t),\n\t\t\t\t\tblock\n\t\t\t\t);\n\t\t\t},\n\t\t} ) ),\n\t],\n};\n\nexport default transforms;\n"]}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = ListItemEdit;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _blockEditor = require("@wordpress/block-editor");
11
+
12
+ var _i18n = require("@wordpress/i18n");
13
+
14
+ var _blocks = require("@wordpress/blocks");
15
+
16
+ var _components = require("@wordpress/components");
17
+
18
+ var _icons = require("@wordpress/icons");
19
+
20
+ var _compose = require("@wordpress/compose");
21
+
22
+ var _hooks = require("./hooks");
23
+
24
+ /**
25
+ * WordPress dependencies
26
+ */
27
+
28
+ /**
29
+ * Internal dependencies
30
+ */
31
+ function IndentUI(_ref) {
32
+ let {
33
+ clientId
34
+ } = _ref;
35
+ const [canIndent, indentListItem] = (0, _hooks.useIndentListItem)(clientId);
36
+ const [canOutdent, outdentListItem] = (0, _hooks.useOutdentListItem)(clientId);
37
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.ToolbarButton, {
38
+ icon: (0, _i18n.isRTL)() ? _icons.formatOutdentRTL : _icons.formatOutdent,
39
+ title: (0, _i18n.__)('Outdent'),
40
+ describedBy: (0, _i18n.__)('Outdent list item'),
41
+ disabled: !canOutdent,
42
+ onClick: outdentListItem
43
+ }), (0, _element.createElement)(_components.ToolbarButton, {
44
+ icon: (0, _i18n.isRTL)() ? _icons.formatIndentRTL : _icons.formatIndent,
45
+ title: (0, _i18n.__)('Indent'),
46
+ describedBy: (0, _i18n.__)('Indent list item'),
47
+ isDisabled: !canIndent,
48
+ onClick: indentListItem
49
+ }));
50
+ }
51
+
52
+ function ListItemEdit(_ref2) {
53
+ let {
54
+ name,
55
+ attributes,
56
+ setAttributes,
57
+ mergeBlocks,
58
+ onReplace,
59
+ clientId
60
+ } = _ref2;
61
+ const {
62
+ placeholder,
63
+ content
64
+ } = attributes;
65
+ const blockProps = (0, _blockEditor.useBlockProps)();
66
+ const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
67
+ allowedBlocks: ['core/list']
68
+ });
69
+ const useEnterRef = (0, _hooks.useEnter)({
70
+ content,
71
+ clientId
72
+ });
73
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)("li", innerBlocksProps, (0, _element.createElement)(_blockEditor.RichText, {
74
+ ref: (0, _compose.useMergeRefs)([useEnterRef]),
75
+ identifier: "content",
76
+ tagName: "div",
77
+ onChange: nextContent => setAttributes({
78
+ content: nextContent
79
+ }),
80
+ value: content,
81
+ "aria-label": (0, _i18n.__)('List text'),
82
+ placeholder: placeholder || (0, _i18n.__)('List'),
83
+ onSplit: value => {
84
+ return (0, _blocks.createBlock)(name, { ...attributes,
85
+ content: value
86
+ });
87
+ },
88
+ onMerge: mergeBlocks,
89
+ onReplace: onReplace
90
+ }), innerBlocksProps.children), (0, _element.createElement)(_blockEditor.BlockControls, {
91
+ group: "block"
92
+ }, (0, _element.createElement)(IndentUI, {
93
+ clientId: clientId
94
+ })));
95
+ }
96
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/edit.js"],"names":["IndentUI","clientId","canIndent","indentListItem","canOutdent","outdentListItem","formatOutdentRTL","formatOutdent","formatIndentRTL","formatIndent","ListItemEdit","name","attributes","setAttributes","mergeBlocks","onReplace","placeholder","content","blockProps","innerBlocksProps","allowedBlocks","useEnterRef","nextContent","value","children"],"mappings":";;;;;;;;;AAGA;;AAMA;;AACA;;AACA;;AACA;;AAMA;;AAKA;;AAvBA;AACA;AACA;;AAkBA;AACA;AACA;AAGA,SAASA,QAAT,OAAkC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACjC,QAAM,CAAEC,SAAF,EAAaC,cAAb,IAAgC,8BAAmBF,QAAnB,CAAtC;AACA,QAAM,CAAEG,UAAF,EAAcC,eAAd,IAAkC,+BAAoBJ,QAApB,CAAxC;AAEA,SACC,qDACC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAG,qBAAUK,uBAAV,GAA6BC,oBADrC;AAEC,IAAA,KAAK,EAAG,cAAI,SAAJ,CAFT;AAGC,IAAA,WAAW,EAAG,cAAI,mBAAJ,CAHf;AAIC,IAAA,QAAQ,EAAG,CAAEH,UAJd;AAKC,IAAA,OAAO,EAAGC;AALX,IADD,EAQC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAG,qBAAUG,sBAAV,GAA4BC,mBADpC;AAEC,IAAA,KAAK,EAAG,cAAI,QAAJ,CAFT;AAGC,IAAA,WAAW,EAAG,cAAI,kBAAJ,CAHf;AAIC,IAAA,UAAU,EAAG,CAAEP,SAJhB;AAKC,IAAA,OAAO,EAAGC;AALX,IARD,CADD;AAkBA;;AAEc,SAASO,YAAT,QAOX;AAAA,MAPkC;AACrCC,IAAAA,IADqC;AAErCC,IAAAA,UAFqC;AAGrCC,IAAAA,aAHqC;AAIrCC,IAAAA,WAJqC;AAKrCC,IAAAA,SALqC;AAMrCd,IAAAA;AANqC,GAOlC;AACH,QAAM;AAAEe,IAAAA,WAAF;AAAeC,IAAAA;AAAf,MAA2BL,UAAjC;AACA,QAAMM,UAAU,GAAG,iCAAnB;AACA,QAAMC,gBAAgB,GAAG,sCAAqBD,UAArB,EAAiC;AACzDE,IAAAA,aAAa,EAAE,CAAE,WAAF;AAD0C,GAAjC,CAAzB;AAGA,QAAMC,WAAW,GAAG,qBAAU;AAAEJ,IAAAA,OAAF;AAAWhB,IAAAA;AAAX,GAAV,CAApB;AACA,SACC,qDACC,kCAASkB,gBAAT,EACC,4BAAC,qBAAD;AACC,IAAA,GAAG,EAAG,2BAAc,CAAEE,WAAF,CAAd,CADP;AAEC,IAAA,UAAU,EAAC,SAFZ;AAGC,IAAA,OAAO,EAAC,KAHT;AAIC,IAAA,QAAQ,EAAKC,WAAF,IACVT,aAAa,CAAE;AAAEI,MAAAA,OAAO,EAAEK;AAAX,KAAF,CALf;AAOC,IAAA,KAAK,EAAGL,OAPT;AAQC,kBAAa,cAAI,WAAJ,CARd;AASC,IAAA,WAAW,EAAGD,WAAW,IAAI,cAAI,MAAJ,CAT9B;AAUC,IAAA,OAAO,EAAKO,KAAF,IAAa;AACtB,aAAO,yBAAaZ,IAAb,EAAmB,EACzB,GAAGC,UADsB;AAEzBK,QAAAA,OAAO,EAAEM;AAFgB,OAAnB,CAAP;AAIA,KAfF;AAgBC,IAAA,OAAO,EAAGT,WAhBX;AAiBC,IAAA,SAAS,EAAGC;AAjBb,IADD,EAoBGI,gBAAgB,CAACK,QApBpB,CADD,EAuBC,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,4BAAC,QAAD;AAAU,IAAA,QAAQ,EAAGvB;AAArB,IADD,CAvBD,CADD;AA6BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n} from '@wordpress/block-editor';\nimport { isRTL, __ } from '@wordpress/i18n';\nimport { createBlock } from '@wordpress/blocks';\nimport { ToolbarButton } from '@wordpress/components';\nimport {\n\tformatOutdent,\n\tformatOutdentRTL,\n\tformatIndentRTL,\n\tformatIndent,\n} from '@wordpress/icons';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useEnter, useIndentListItem, useOutdentListItem } from './hooks';\n\nfunction IndentUI( { clientId } ) {\n\tconst [ canIndent, indentListItem ] = useIndentListItem( clientId );\n\tconst [ canOutdent, outdentListItem ] = useOutdentListItem( clientId );\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\tname,\n\tattributes,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tclientId,\n} ) {\n\tconst { placeholder, content } = attributes;\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/list' ],\n\t} );\n\tconst useEnterRef = useEnter( { content, clientId } );\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 ] ) }\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={ ( value ) => {\n\t\t\t\t\t\treturn createBlock( name, {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tonReplace={ onReplace }\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"]}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "useEnter", {
9
+ enumerable: true,
10
+ get: function () {
11
+ return _useEnter.default;
12
+ }
13
+ });
14
+ Object.defineProperty(exports, "useIndentListItem", {
15
+ enumerable: true,
16
+ get: function () {
17
+ return _useIndentListItem.default;
18
+ }
19
+ });
20
+ Object.defineProperty(exports, "useOutdentListItem", {
21
+ enumerable: true,
22
+ get: function () {
23
+ return _useOutdentListItem.default;
24
+ }
25
+ });
26
+
27
+ var _useOutdentListItem = _interopRequireDefault(require("./use-outdent-list-item"));
28
+
29
+ var _useIndentListItem = _interopRequireDefault(require("./use-indent-list-item"));
30
+
31
+ var _useEnter = _interopRequireDefault(require("./use-enter"));
32
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA","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';\n"]}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = useEnter;
9
+
10
+ var _blocks = require("@wordpress/blocks");
11
+
12
+ var _element = require("@wordpress/element");
13
+
14
+ var _compose = require("@wordpress/compose");
15
+
16
+ var _keycodes = require("@wordpress/keycodes");
17
+
18
+ var _data = require("@wordpress/data");
19
+
20
+ var _blockEditor = require("@wordpress/block-editor");
21
+
22
+ var _useIndentListItem = _interopRequireDefault(require("./use-indent-list-item"));
23
+
24
+ /**
25
+ * WordPress dependencies
26
+ */
27
+
28
+ /**
29
+ * Internal dependencies
30
+ */
31
+ function useEnter(props) {
32
+ const {
33
+ replaceBlocks
34
+ } = (0, _data.useDispatch)(_blockEditor.store);
35
+ const {
36
+ getBlock,
37
+ getBlockRootClientId,
38
+ getBlockParents,
39
+ getBlockIndex
40
+ } = (0, _data.useSelect)(_blockEditor.store);
41
+ const propsRef = (0, _element.useRef)(props);
42
+ propsRef.current = props;
43
+ const [canIndent, indentListItem] = (0, _useIndentListItem.default)(propsRef.current.clientId);
44
+ return (0, _compose.useRefEffect)(element => {
45
+ function onKeyDown(event) {
46
+ var _topParentListBlock$i;
47
+
48
+ if (event.defaultPrevented || event.keyCode !== _keycodes.ENTER) {
49
+ return;
50
+ }
51
+
52
+ const {
53
+ content,
54
+ clientId
55
+ } = propsRef.current;
56
+
57
+ if (content.length) {
58
+ return;
59
+ }
60
+
61
+ event.preventDefault();
62
+
63
+ if (canIndent) {
64
+ indentListItem();
65
+ return;
66
+ } // Here we are in top level list so we need to split.
67
+
68
+
69
+ const blockRootClientId = getBlockRootClientId(clientId);
70
+ const blockParents = getBlockParents(clientId);
71
+ const topParentListBlockClientId = blockParents[0];
72
+ const topParentListBlock = getBlock(topParentListBlockClientId);
73
+ const blockIndex = getBlockIndex(clientId);
74
+ const head = (0, _blocks.cloneBlock)({ ...topParentListBlock,
75
+ innerBlocks: topParentListBlock.innerBlocks.slice(0, blockIndex)
76
+ });
77
+ const middle = (0, _blocks.createBlock)((0, _blocks.getDefaultBlockName)()); // Last list item might contain a `list` block innerBlock
78
+ // In that case append remaining innerBlocks blocks.
79
+
80
+ const after = [...(((_topParentListBlock$i = topParentListBlock.innerBlocks[blockIndex].innerBlocks[0]) === null || _topParentListBlock$i === void 0 ? void 0 : _topParentListBlock$i.innerBlocks) || []), ...topParentListBlock.innerBlocks.slice(blockIndex + 1)];
81
+ const tail = after.length ? [(0, _blocks.cloneBlock)({ ...topParentListBlock,
82
+ innerBlocks: after
83
+ })] : [];
84
+ replaceBlocks(blockRootClientId, [head, middle, ...tail], 1, 0);
85
+ }
86
+
87
+ element.addEventListener('keydown', onKeyDown);
88
+ return () => {
89
+ element.removeEventListener('keydown', onKeyDown);
90
+ };
91
+ }, [canIndent]);
92
+ }
93
+ //# sourceMappingURL=use-enter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-enter.js"],"names":["useEnter","props","replaceBlocks","blockEditorStore","getBlock","getBlockRootClientId","getBlockParents","getBlockIndex","propsRef","current","canIndent","indentListItem","clientId","element","onKeyDown","event","defaultPrevented","keyCode","ENTER","content","length","preventDefault","blockRootClientId","blockParents","topParentListBlockClientId","topParentListBlock","blockIndex","head","innerBlocks","slice","middle","after","tail","addEventListener","removeEventListener"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAKA;;AAjBA;AACA;AACA;;AAYA;AACA;AACA;AAGe,SAASA,QAAT,CAAmBC,KAAnB,EAA2B;AACzC,QAAM;AAAEC,IAAAA;AAAF,MAAoB,uBAAaC,kBAAb,CAA1B;AACA,QAAM;AACLC,IAAAA,QADK;AAELC,IAAAA,oBAFK;AAGLC,IAAAA,eAHK;AAILC,IAAAA;AAJK,MAKF,qBAAWJ,kBAAX,CALJ;AAMA,QAAMK,QAAQ,GAAG,qBAAQP,KAAR,CAAjB;AACAO,EAAAA,QAAQ,CAACC,OAAT,GAAmBR,KAAnB;AACA,QAAM,CAAES,SAAF,EAAaC,cAAb,IAAgC,gCACrCH,QAAQ,CAACC,OAAT,CAAiBG,QADoB,CAAtC;AAGA,SAAO,2BACJC,OAAF,IAAe;AACd,aAASC,SAAT,CAAoBC,KAApB,EAA4B;AAAA;;AAC3B,UAAKA,KAAK,CAACC,gBAAN,IAA0BD,KAAK,CAACE,OAAN,KAAkBC,eAAjD,EAAyD;AACxD;AACA;;AACD,YAAM;AAAEC,QAAAA,OAAF;AAAWP,QAAAA;AAAX,UAAwBJ,QAAQ,CAACC,OAAvC;;AACA,UAAKU,OAAO,CAACC,MAAb,EAAsB;AACrB;AACA;;AACDL,MAAAA,KAAK,CAACM,cAAN;;AACA,UAAKX,SAAL,EAAiB;AAChBC,QAAAA,cAAc;AACd;AACA,OAZ0B,CAa3B;;;AACA,YAAMW,iBAAiB,GAAGjB,oBAAoB,CAAEO,QAAF,CAA9C;AACA,YAAMW,YAAY,GAAGjB,eAAe,CAAEM,QAAF,CAApC;AACA,YAAMY,0BAA0B,GAAGD,YAAY,CAAE,CAAF,CAA/C;AACA,YAAME,kBAAkB,GAAGrB,QAAQ,CAClCoB,0BADkC,CAAnC;AAGA,YAAME,UAAU,GAAGnB,aAAa,CAAEK,QAAF,CAAhC;AACA,YAAMe,IAAI,GAAG,wBAAY,EACxB,GAAGF,kBADqB;AAExBG,QAAAA,WAAW,EAAEH,kBAAkB,CAACG,WAAnB,CAA+BC,KAA/B,CACZ,CADY,EAEZH,UAFY;AAFW,OAAZ,CAAb;AAOA,YAAMI,MAAM,GAAG,yBAAa,kCAAb,CAAf,CA5B2B,CA6B3B;AACA;;AACA,YAAMC,KAAK,GAAG,CACb,IAAK,0BAAAN,kBAAkB,CAACG,WAAnB,CAAgCF,UAAhC,EACHE,WADG,CACU,CADV,iFACeA,WADf,KAC8B,EADnC,CADa,EAGb,GAAGH,kBAAkB,CAACG,WAAnB,CAA+BC,KAA/B,CAAsCH,UAAU,GAAG,CAAnD,CAHU,CAAd;AAKA,YAAMM,IAAI,GAAGD,KAAK,CAACX,MAAN,GACV,CACA,wBAAY,EACX,GAAGK,kBADQ;AAEXG,QAAAA,WAAW,EAAEG;AAFF,OAAZ,CADA,CADU,GAOV,EAPH;AAQA7B,MAAAA,aAAa,CACZoB,iBADY,EAEZ,CAAEK,IAAF,EAAQG,MAAR,EAAgB,GAAGE,IAAnB,CAFY,EAGZ,CAHY,EAIZ,CAJY,CAAb;AAMA;;AAEDnB,IAAAA,OAAO,CAACoB,gBAAR,CAA0B,SAA1B,EAAqCnB,SAArC;AACA,WAAO,MAAM;AACZD,MAAAA,OAAO,CAACqB,mBAAR,CAA6B,SAA7B,EAAwCpB,SAAxC;AACA,KAFD;AAGA,GA1DK,EA2DN,CAAEJ,SAAF,CA3DM,CAAP;AA6DA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tcreateBlock,\n\tgetDefaultBlockName,\n\tcloneBlock,\n} from '@wordpress/blocks';\nimport { useRef } from '@wordpress/element';\nimport { useRefEffect } from '@wordpress/compose';\nimport { ENTER } from '@wordpress/keycodes';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport useIndentListItem from './use-indent-list-item';\n\nexport default function useEnter( props ) {\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlock,\n\t\tgetBlockRootClientId,\n\t\tgetBlockParents,\n\t\tgetBlockIndex,\n\t} = useSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\tconst [ canIndent, indentListItem ] = useIndentListItem(\n\t\tpropsRef.current.clientId\n\t);\n\treturn useRefEffect(\n\t\t( element ) => {\n\t\t\tfunction onKeyDown( event ) {\n\t\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\t\tif ( content.length ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tevent.preventDefault();\n\t\t\t\tif ( canIndent ) {\n\t\t\t\t\tindentListItem();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// Here we are in top level list so we need to split.\n\t\t\t\tconst blockRootClientId = getBlockRootClientId( clientId );\n\t\t\t\tconst blockParents = getBlockParents( clientId );\n\t\t\t\tconst topParentListBlockClientId = blockParents[ 0 ];\n\t\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\t\ttopParentListBlockClientId\n\t\t\t\t);\n\t\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\t\tconst head = cloneBlock( {\n\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t\t0,\n\t\t\t\t\t\tblockIndex\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\t\t// Last list item might contain a `list` block innerBlock\n\t\t\t\t// In that case append remaining innerBlocks blocks.\n\t\t\t\tconst after = [\n\t\t\t\t\t...( topParentListBlock.innerBlocks[ blockIndex ]\n\t\t\t\t\t\t.innerBlocks[ 0 ]?.innerBlocks || [] ),\n\t\t\t\t\t...topParentListBlock.innerBlocks.slice( blockIndex + 1 ),\n\t\t\t\t];\n\t\t\t\tconst tail = after.length\n\t\t\t\t\t? [\n\t\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: [];\n\t\t\t\treplaceBlocks(\n\t\t\t\t\tblockRootClientId,\n\t\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t\t1,\n\t\t\t\t\t0\n\t\t\t\t);\n\t\t\t}\n\n\t\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\t\treturn () => {\n\t\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t\t};\n\t\t},\n\t\t[ canIndent ]\n\t);\n}\n"]}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useIndentListItem;
7
+
8
+ var _lodash = require("lodash");
9
+
10
+ var _element = require("@wordpress/element");
11
+
12
+ var _data = require("@wordpress/data");
13
+
14
+ var _blockEditor = require("@wordpress/block-editor");
15
+
16
+ var _utils = require("../utils");
17
+
18
+ /**
19
+ * External dependencies
20
+ */
21
+
22
+ /**
23
+ * WordPress dependencies
24
+ */
25
+
26
+ /**
27
+ * Internal dependencies
28
+ */
29
+ function useIndentListItem(clientId) {
30
+ const {
31
+ canIndent
32
+ } = (0, _data.useSelect)(innerSelect => {
33
+ const {
34
+ getBlockIndex
35
+ } = innerSelect(_blockEditor.store);
36
+ return {
37
+ canIndent: getBlockIndex(clientId) > 0
38
+ };
39
+ }, [clientId]);
40
+ const {
41
+ replaceBlocks,
42
+ selectionChange
43
+ } = (0, _data.useDispatch)(_blockEditor.store);
44
+ const {
45
+ getBlockRootClientId,
46
+ getBlock,
47
+ getBlockOrder,
48
+ getSelectionStart,
49
+ getSelectionEnd,
50
+ getBlockIndex
51
+ } = (0, _data.useSelect)(_blockEditor.store);
52
+ return [canIndent, (0, _element.useCallback)(() => {
53
+ var _first, _first2, _first3, _first4;
54
+
55
+ const selectionStart = getSelectionStart();
56
+ const selectionEnd = getSelectionEnd();
57
+ const parentId = getBlockRootClientId(clientId);
58
+ const previousSiblingId = getBlockOrder(parentId)[getBlockIndex(clientId) - 1];
59
+ const previousSibling = getBlock(previousSiblingId);
60
+ const previousSiblingChildren = ((_first = (0, _lodash.first)(previousSibling.innerBlocks)) === null || _first === void 0 ? void 0 : _first.innerBlocks) || [];
61
+ const previousSiblingListAttributes = ((_first2 = (0, _lodash.first)(previousSibling.innerBlocks)) === null || _first2 === void 0 ? void 0 : _first2.attributes) || {};
62
+ const block = getBlock(clientId);
63
+ const childListAttributes = (_first3 = (0, _lodash.first)(block.innerBlocks)) === null || _first3 === void 0 ? void 0 : _first3.attributes;
64
+ const childItemBlocks = ((_first4 = (0, _lodash.first)(block.innerBlocks)) === null || _first4 === void 0 ? void 0 : _first4.innerBlocks) || [];
65
+ const newBlock = (0, _utils.createListItem)(block.attributes, childListAttributes, childItemBlocks); // Replace the previous sibling of the block being indented and the indented block,
66
+ // with a new block whose attributes are equal to the ones of the previous sibling and
67
+ // whose descendants are the children of the previous sibling, followed by the indented block.
68
+
69
+ replaceBlocks([previousSiblingId, clientId], [(0, _utils.createListItem)(previousSibling.attributes, previousSiblingListAttributes, [...previousSiblingChildren, newBlock])]); // Restore the selection state.
70
+
71
+ selectionChange(newBlock.clientId, selectionEnd.attributeKey, selectionEnd.clientId === selectionStart.clientId ? selectionStart.offset : selectionEnd.offset, selectionEnd.offset);
72
+ }, [clientId])];
73
+ }
74
+ //# sourceMappingURL=use-indent-list-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-indent-list-item.js"],"names":["useIndentListItem","clientId","canIndent","innerSelect","getBlockIndex","blockEditorStore","replaceBlocks","selectionChange","getBlockRootClientId","getBlock","getBlockOrder","getSelectionStart","getSelectionEnd","selectionStart","selectionEnd","parentId","previousSiblingId","previousSibling","previousSiblingChildren","innerBlocks","previousSiblingListAttributes","attributes","block","childListAttributes","childItemBlocks","newBlock","attributeKey","offset"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAKA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,iBAAT,CAA4BC,QAA5B,EAAuC;AACrD,QAAM;AAAEC,IAAAA;AAAF,MAAgB,qBACnBC,WAAF,IAAmB;AAClB,UAAM;AAAEC,MAAAA;AAAF,QAAoBD,WAAW,CAAEE,kBAAF,CAArC;AACA,WAAO;AACNH,MAAAA,SAAS,EAAEE,aAAa,CAAEH,QAAF,CAAb,GAA4B;AADjC,KAAP;AAGA,GANoB,EAOrB,CAAEA,QAAF,CAPqB,CAAtB;AASA,QAAM;AAAEK,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAqC,uBAAaF,kBAAb,CAA3C;AACA,QAAM;AACLG,IAAAA,oBADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,aAHK;AAILC,IAAAA,iBAJK;AAKLC,IAAAA,eALK;AAMLR,IAAAA;AANK,MAOF,qBAAWC,kBAAX,CAPJ;AASA,SAAO,CACNH,SADM,EAEN,0BAAa,MAAM;AAAA;;AAClB,UAAMW,cAAc,GAAGF,iBAAiB,EAAxC;AACA,UAAMG,YAAY,GAAGF,eAAe,EAApC;AAEA,UAAMG,QAAQ,GAAGP,oBAAoB,CAAEP,QAAF,CAArC;AACA,UAAMe,iBAAiB,GAAGN,aAAa,CAAEK,QAAF,CAAb,CACzBX,aAAa,CAAEH,QAAF,CAAb,GAA4B,CADH,CAA1B;AAGA,UAAMgB,eAAe,GAAGR,QAAQ,CAAEO,iBAAF,CAAhC;AACA,UAAME,uBAAuB,GAC5B,8BAAOD,eAAe,CAACE,WAAvB,mDAAsCA,WAAtC,KAAqD,EADtD;AAEA,UAAMC,6BAA6B,GAClC,+BAAOH,eAAe,CAACE,WAAvB,qDAAsCE,UAAtC,KAAoD,EADrD;AAEA,UAAMC,KAAK,GAAGb,QAAQ,CAAER,QAAF,CAAtB;AAEA,UAAMsB,mBAAmB,cAAG,mBAAOD,KAAK,CAACH,WAAb,CAAH,4CAAG,QAA4BE,UAAxD;AACA,UAAMG,eAAe,GACpB,+BAAOF,KAAK,CAACH,WAAb,qDAA4BA,WAA5B,KAA2C,EAD5C;AAGA,UAAMM,QAAQ,GAAG,2BAChBH,KAAK,CAACD,UADU,EAEhBE,mBAFgB,EAGhBC,eAHgB,CAAjB,CAnBkB,CAwBlB;AACA;AACA;;AACAlB,IAAAA,aAAa,CACZ,CAAEU,iBAAF,EAAqBf,QAArB,CADY,EAEZ,CACC,2BACCgB,eAAe,CAACI,UADjB,EAECD,6BAFD,EAGC,CAAE,GAAGF,uBAAL,EAA8BO,QAA9B,CAHD,CADD,CAFY,CAAb,CA3BkB,CAsClB;;AACAlB,IAAAA,eAAe,CACdkB,QAAQ,CAACxB,QADK,EAEda,YAAY,CAACY,YAFC,EAGdZ,YAAY,CAACb,QAAb,KAA0BY,cAAc,CAACZ,QAAzC,GACGY,cAAc,CAACc,MADlB,GAEGb,YAAY,CAACa,MALF,EAMdb,YAAY,CAACa,MANC,CAAf;AAQA,GA/CD,EA+CG,CAAE1B,QAAF,CA/CH,CAFM,CAAP;AAmDA","sourcesContent":["/**\n * External dependencies\n */\nimport { first } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { createListItem } from '../utils';\n\nexport default function useIndentListItem( clientId ) {\n\tconst { canIndent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockIndex } = innerSelect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tcanIndent: getBlockIndex( clientId ) > 0,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlock,\n\t\tgetBlockOrder,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t\tgetBlockIndex,\n\t} = useSelect( blockEditorStore );\n\n\treturn [\n\t\tcanIndent,\n\t\tuseCallback( () => {\n\t\t\tconst selectionStart = getSelectionStart();\n\t\t\tconst selectionEnd = getSelectionEnd();\n\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\tconst previousSiblingId = getBlockOrder( parentId )[\n\t\t\t\tgetBlockIndex( clientId ) - 1\n\t\t\t];\n\t\t\tconst previousSibling = getBlock( previousSiblingId );\n\t\t\tconst previousSiblingChildren =\n\t\t\t\tfirst( previousSibling.innerBlocks )?.innerBlocks || [];\n\t\t\tconst previousSiblingListAttributes =\n\t\t\t\tfirst( previousSibling.innerBlocks )?.attributes || {};\n\t\t\tconst block = getBlock( clientId );\n\n\t\t\tconst childListAttributes = first( block.innerBlocks )?.attributes;\n\t\t\tconst childItemBlocks =\n\t\t\t\tfirst( block.innerBlocks )?.innerBlocks || [];\n\n\t\t\tconst newBlock = createListItem(\n\t\t\t\tblock.attributes,\n\t\t\t\tchildListAttributes,\n\t\t\t\tchildItemBlocks\n\t\t\t);\n\t\t\t// Replace the previous sibling of the block being indented and the indented block,\n\t\t\t// with a new block whose attributes are equal to the ones of the previous sibling and\n\t\t\t// whose descendants are the children of the previous sibling, followed by the indented block.\n\t\t\treplaceBlocks(\n\t\t\t\t[ previousSiblingId, clientId ],\n\t\t\t\t[\n\t\t\t\t\tcreateListItem(\n\t\t\t\t\t\tpreviousSibling.attributes,\n\t\t\t\t\t\tpreviousSiblingListAttributes,\n\t\t\t\t\t\t[ ...previousSiblingChildren, newBlock ]\n\t\t\t\t\t),\n\t\t\t\t]\n\t\t\t);\n\n\t\t\t// Restore the selection state.\n\t\t\tselectionChange(\n\t\t\t\tnewBlock.clientId,\n\t\t\t\tselectionEnd.attributeKey,\n\t\t\t\tselectionEnd.clientId === selectionStart.clientId\n\t\t\t\t\t? selectionStart.offset\n\t\t\t\t\t: selectionEnd.offset,\n\t\t\t\tselectionEnd.offset\n\t\t\t);\n\t\t}, [ clientId ] ),\n\t];\n}\n"]}