@wordpress/block-library 9.38.0 → 9.39.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 (470) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/block/block.json +2 -1
  3. package/build/breadcrumbs/edit.cjs +15 -5
  4. package/build/breadcrumbs/edit.cjs.map +2 -2
  5. package/build/breadcrumbs/index.cjs +1 -0
  6. package/build/breadcrumbs/index.cjs.map +2 -2
  7. package/build/button/index.cjs +3 -0
  8. package/build/button/index.cjs.map +2 -2
  9. package/build/comment-date/block.json +1 -0
  10. package/build/comment-edit-link/block.json +1 -3
  11. package/build/comment-edit-link/deprecated.cjs +91 -0
  12. package/build/comment-edit-link/deprecated.cjs.map +7 -0
  13. package/build/comment-edit-link/edit.cjs +6 -18
  14. package/build/comment-edit-link/edit.cjs.map +3 -3
  15. package/build/comment-edit-link/index.cjs +2 -0
  16. package/build/comment-edit-link/index.cjs.map +3 -3
  17. package/build/comment-reply-link/block.json +1 -5
  18. package/build/comment-reply-link/deprecated.cjs +84 -0
  19. package/build/comment-reply-link/deprecated.cjs.map +7 -0
  20. package/build/comment-reply-link/edit.cjs +10 -23
  21. package/build/comment-reply-link/edit.cjs.map +3 -3
  22. package/build/comment-reply-link/index.cjs +2 -0
  23. package/build/comment-reply-link/index.cjs.map +3 -3
  24. package/build/comments-title/block.json +1 -3
  25. package/build/comments-title/deprecated.cjs +148 -24
  26. package/build/comments-title/deprecated.cjs.map +3 -3
  27. package/build/comments-title/edit.cjs +17 -31
  28. package/build/comments-title/edit.cjs.map +3 -3
  29. package/build/cover/edit/block-controls.cjs +10 -2
  30. package/build/cover/edit/block-controls.cjs.map +2 -2
  31. package/build/cover/edit/embed-video-url-input.cjs +6 -2
  32. package/build/cover/edit/embed-video-url-input.cjs.map +2 -2
  33. package/build/cover/edit/inspector-controls.cjs +1 -1
  34. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  35. package/build/details/index.cjs +3 -0
  36. package/build/details/index.cjs.map +2 -2
  37. package/build/embed/util.cjs +9 -0
  38. package/build/embed/util.cjs.map +2 -2
  39. package/build/freeform/block.json +2 -1
  40. package/build/heading/index.cjs +3 -0
  41. package/build/heading/index.cjs.map +2 -2
  42. package/build/html/block.json +2 -1
  43. package/build/image/image.cjs +43 -9
  44. package/build/image/image.cjs.map +2 -2
  45. package/build/image/index.cjs +1 -1
  46. package/build/image/index.cjs.map +2 -2
  47. package/build/index.cjs +6 -0
  48. package/build/index.cjs.map +2 -2
  49. package/build/list-item/index.cjs +12 -1
  50. package/build/list-item/index.cjs.map +2 -2
  51. package/build/missing/block.json +2 -1
  52. package/build/more/block.json +2 -1
  53. package/build/more/index.cjs +1 -1
  54. package/build/more/index.cjs.map +2 -2
  55. package/build/navigation/block.json +5 -4
  56. package/build/navigation/deprecated.cjs +133 -5
  57. package/build/navigation/deprecated.cjs.map +2 -2
  58. package/build/navigation/edit/deleted-overlay-warning.cjs +70 -0
  59. package/build/navigation/edit/deleted-overlay-warning.cjs.map +7 -0
  60. package/build/navigation/edit/index.cjs +143 -65
  61. package/build/navigation/edit/index.cjs.map +3 -3
  62. package/build/navigation/edit/overlay-panel.cjs +10 -1
  63. package/build/navigation/edit/overlay-panel.cjs.map +3 -3
  64. package/build/navigation/edit/overlay-preview.cjs +120 -0
  65. package/build/navigation/edit/overlay-preview.cjs.map +7 -0
  66. package/build/navigation/edit/overlay-template-part-selector.cjs +59 -24
  67. package/build/navigation/edit/overlay-template-part-selector.cjs.map +3 -3
  68. package/build/navigation/edit/responsive-wrapper.cjs +12 -1
  69. package/build/navigation/edit/responsive-wrapper.cjs.map +3 -3
  70. package/build/navigation/edit/use-create-overlay.cjs +19 -2
  71. package/build/navigation/edit/use-create-overlay.cjs.map +3 -3
  72. package/build/navigation/utils/get-submenu-visibility.cjs +37 -0
  73. package/build/navigation/utils/get-submenu-visibility.cjs.map +7 -0
  74. package/build/navigation-link/edit.cjs +2 -40
  75. package/build/navigation-link/edit.cjs.map +2 -2
  76. package/build/navigation-link/shared/index.cjs +6 -0
  77. package/build/navigation-link/shared/index.cjs.map +2 -2
  78. package/build/navigation-link/shared/select-label-text.cjs +40 -0
  79. package/build/navigation-link/shared/select-label-text.cjs.map +7 -0
  80. package/build/navigation-link/shared/use-is-dragging-within.cjs +59 -0
  81. package/build/navigation-link/shared/use-is-dragging-within.cjs.map +7 -0
  82. package/build/navigation-submenu/block.json +1 -1
  83. package/build/navigation-submenu/edit.cjs +8 -47
  84. package/build/navigation-submenu/edit.cjs.map +2 -2
  85. package/build/navigation-submenu/index.cjs +2 -2
  86. package/build/navigation-submenu/index.cjs.map +2 -2
  87. package/build/nextpage/block.json +2 -1
  88. package/build/paragraph/block.json +1 -0
  89. package/build/paragraph/index.cjs +1 -1
  90. package/build/paragraph/index.cjs.map +2 -2
  91. package/build/post-excerpt/edit.cjs +1 -1
  92. package/build/post-excerpt/edit.cjs.map +2 -2
  93. package/build/shortcode/block.json +2 -1
  94. package/build/tab/add-tab-toolbar-control.cjs +31 -9
  95. package/build/tab/add-tab-toolbar-control.cjs.map +2 -2
  96. package/build/tab/block.json +18 -4
  97. package/build/tab/controls.cjs +4 -8
  98. package/build/tab/controls.cjs.map +3 -3
  99. package/build/tab/edit.cjs +46 -118
  100. package/build/tab/edit.cjs.map +3 -3
  101. package/build/tab/remove-tab-toolbar-control.cjs +91 -0
  102. package/build/tab/remove-tab-toolbar-control.cjs.map +7 -0
  103. package/build/tab/save.cjs +2 -2
  104. package/build/tab/save.cjs.map +2 -2
  105. package/build/tab-panels/block.json +70 -0
  106. package/build/tab-panels/edit.cjs +63 -0
  107. package/build/tab-panels/edit.cjs.map +7 -0
  108. package/build/tab-panels/icon.cjs +29 -0
  109. package/build/tab-panels/icon.cjs.map +7 -0
  110. package/build/tab-panels/index.cjs +58 -0
  111. package/build/tab-panels/index.cjs.map +7 -0
  112. package/build/tab-panels/save.cjs +33 -0
  113. package/build/tab-panels/save.cjs.map +7 -0
  114. package/build/tabs/block.json +61 -90
  115. package/build/tabs/controls.cjs +19 -221
  116. package/build/tabs/controls.cjs.map +3 -3
  117. package/build/tabs/deprecated.cjs +179 -0
  118. package/build/tabs/deprecated.cjs.map +7 -0
  119. package/build/tabs/edit.cjs +84 -62
  120. package/build/tabs/edit.cjs.map +3 -3
  121. package/build/tabs/index.cjs +3 -1
  122. package/build/tabs/index.cjs.map +3 -3
  123. package/build/tabs/save.cjs +6 -9
  124. package/build/tabs/save.cjs.map +2 -2
  125. package/build/tabs-menu/block.json +77 -0
  126. package/build/tabs-menu/edit.cjs +204 -0
  127. package/build/tabs-menu/edit.cjs.map +7 -0
  128. package/build/tabs-menu/icon.cjs +29 -0
  129. package/build/tabs-menu/icon.cjs.map +7 -0
  130. package/build/tabs-menu/index.cjs +58 -0
  131. package/build/tabs-menu/index.cjs.map +7 -0
  132. package/build/tabs-menu/save.cjs +35 -0
  133. package/build/tabs-menu/save.cjs.map +7 -0
  134. package/build/tabs-menu-item/block.json +98 -0
  135. package/build/tabs-menu-item/controls.cjs +247 -0
  136. package/build/tabs-menu-item/controls.cjs.map +7 -0
  137. package/build/tabs-menu-item/edit.cjs +272 -0
  138. package/build/tabs-menu-item/edit.cjs.map +7 -0
  139. package/build/tabs-menu-item/icon.cjs +29 -0
  140. package/build/tabs-menu-item/icon.cjs.map +7 -0
  141. package/build/tabs-menu-item/index.cjs +58 -0
  142. package/build/tabs-menu-item/index.cjs.map +7 -0
  143. package/build/tabs-menu-item/save.cjs +50 -0
  144. package/build/tabs-menu-item/save.cjs.map +7 -0
  145. package/build/template-part/edit/index.cjs +2 -2
  146. package/build/template-part/edit/index.cjs.map +2 -2
  147. package/build/utils/caption.cjs +4 -6
  148. package/build/utils/caption.cjs.map +3 -3
  149. package/build/verse/block.json +1 -3
  150. package/build/verse/deprecated.cjs +74 -5
  151. package/build/verse/deprecated.cjs.map +3 -3
  152. package/build/verse/edit.cjs +33 -48
  153. package/build/verse/edit.cjs.map +3 -3
  154. package/build/verse/save.cjs +2 -16
  155. package/build/verse/save.cjs.map +3 -3
  156. package/build/video/edit.cjs +4 -2
  157. package/build/video/edit.cjs.map +2 -2
  158. package/build-module/block/block.json +2 -1
  159. package/build-module/breadcrumbs/edit.mjs +15 -5
  160. package/build-module/breadcrumbs/edit.mjs.map +2 -2
  161. package/build-module/breadcrumbs/index.mjs +1 -0
  162. package/build-module/breadcrumbs/index.mjs.map +2 -2
  163. package/build-module/button/index.mjs +3 -0
  164. package/build-module/button/index.mjs.map +2 -2
  165. package/build-module/comment-date/block.json +1 -0
  166. package/build-module/comment-edit-link/block.json +1 -3
  167. package/build-module/comment-edit-link/deprecated.mjs +60 -0
  168. package/build-module/comment-edit-link/deprecated.mjs.map +7 -0
  169. package/build-module/comment-edit-link/edit.mjs +7 -24
  170. package/build-module/comment-edit-link/edit.mjs.map +2 -2
  171. package/build-module/comment-edit-link/index.mjs +2 -0
  172. package/build-module/comment-edit-link/index.mjs.map +2 -2
  173. package/build-module/comment-reply-link/block.json +1 -5
  174. package/build-module/comment-reply-link/deprecated.mjs +53 -0
  175. package/build-module/comment-reply-link/deprecated.mjs.map +7 -0
  176. package/build-module/comment-reply-link/edit.mjs +12 -29
  177. package/build-module/comment-reply-link/edit.mjs.map +2 -2
  178. package/build-module/comment-reply-link/index.mjs +2 -0
  179. package/build-module/comment-reply-link/index.mjs.map +2 -2
  180. package/build-module/comments-title/block.json +1 -3
  181. package/build-module/comments-title/deprecated.mjs +148 -24
  182. package/build-module/comments-title/deprecated.mjs.map +2 -2
  183. package/build-module/comments-title/edit.mjs +17 -32
  184. package/build-module/comments-title/edit.mjs.map +2 -2
  185. package/build-module/cover/edit/block-controls.mjs +11 -3
  186. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  187. package/build-module/cover/edit/embed-video-url-input.mjs +6 -2
  188. package/build-module/cover/edit/embed-video-url-input.mjs.map +2 -2
  189. package/build-module/cover/edit/inspector-controls.mjs +1 -1
  190. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  191. package/build-module/details/index.mjs +3 -0
  192. package/build-module/details/index.mjs.map +2 -2
  193. package/build-module/embed/util.mjs +8 -0
  194. package/build-module/embed/util.mjs.map +2 -2
  195. package/build-module/freeform/block.json +2 -1
  196. package/build-module/heading/index.mjs +3 -0
  197. package/build-module/heading/index.mjs.map +2 -2
  198. package/build-module/html/block.json +2 -1
  199. package/build-module/image/image.mjs +43 -9
  200. package/build-module/image/image.mjs.map +2 -2
  201. package/build-module/image/index.mjs +1 -1
  202. package/build-module/image/index.mjs.map +2 -2
  203. package/build-module/index.mjs +6 -0
  204. package/build-module/index.mjs.map +2 -2
  205. package/build-module/list-item/index.mjs +12 -1
  206. package/build-module/list-item/index.mjs.map +2 -2
  207. package/build-module/missing/block.json +2 -1
  208. package/build-module/more/block.json +2 -1
  209. package/build-module/more/index.mjs +1 -1
  210. package/build-module/more/index.mjs.map +2 -2
  211. package/build-module/navigation/block.json +5 -4
  212. package/build-module/navigation/deprecated.mjs +133 -5
  213. package/build-module/navigation/deprecated.mjs.map +2 -2
  214. package/build-module/navigation/edit/deleted-overlay-warning.mjs +49 -0
  215. package/build-module/navigation/edit/deleted-overlay-warning.mjs.map +7 -0
  216. package/build-module/navigation/edit/index.mjs +145 -65
  217. package/build-module/navigation/edit/index.mjs.map +2 -2
  218. package/build-module/navigation/edit/overlay-panel.mjs +10 -1
  219. package/build-module/navigation/edit/overlay-panel.mjs.map +2 -2
  220. package/build-module/navigation/edit/overlay-preview.mjs +99 -0
  221. package/build-module/navigation/edit/overlay-preview.mjs.map +7 -0
  222. package/build-module/navigation/edit/overlay-template-part-selector.mjs +61 -26
  223. package/build-module/navigation/edit/overlay-template-part-selector.mjs.map +2 -2
  224. package/build-module/navigation/edit/responsive-wrapper.mjs +12 -1
  225. package/build-module/navigation/edit/responsive-wrapper.mjs.map +2 -2
  226. package/build-module/navigation/edit/use-create-overlay.mjs +21 -4
  227. package/build-module/navigation/edit/use-create-overlay.mjs.map +2 -2
  228. package/build-module/navigation/utils/get-submenu-visibility.mjs +12 -0
  229. package/build-module/navigation/utils/get-submenu-visibility.mjs.map +7 -0
  230. package/build-module/navigation-link/edit.mjs +4 -40
  231. package/build-module/navigation-link/edit.mjs.map +2 -2
  232. package/build-module/navigation-link/shared/index.mjs +4 -0
  233. package/build-module/navigation-link/shared/index.mjs.map +2 -2
  234. package/build-module/navigation-link/shared/select-label-text.mjs +15 -0
  235. package/build-module/navigation-link/shared/select-label-text.mjs.map +7 -0
  236. package/build-module/navigation-link/shared/use-is-dragging-within.mjs +34 -0
  237. package/build-module/navigation-link/shared/use-is-dragging-within.mjs.map +7 -0
  238. package/build-module/navigation-submenu/block.json +1 -1
  239. package/build-module/navigation-submenu/edit.mjs +10 -47
  240. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  241. package/build-module/navigation-submenu/index.mjs +2 -2
  242. package/build-module/navigation-submenu/index.mjs.map +2 -2
  243. package/build-module/nextpage/block.json +2 -1
  244. package/build-module/paragraph/block.json +1 -0
  245. package/build-module/paragraph/index.mjs +1 -1
  246. package/build-module/paragraph/index.mjs.map +2 -2
  247. package/build-module/post-excerpt/edit.mjs +1 -1
  248. package/build-module/post-excerpt/edit.mjs.map +2 -2
  249. package/build-module/shortcode/block.json +2 -1
  250. package/build-module/tab/add-tab-toolbar-control.mjs +32 -10
  251. package/build-module/tab/add-tab-toolbar-control.mjs.map +2 -2
  252. package/build-module/tab/block.json +18 -4
  253. package/build-module/tab/controls.mjs +4 -8
  254. package/build-module/tab/controls.mjs.map +2 -2
  255. package/build-module/tab/edit.mjs +48 -128
  256. package/build-module/tab/edit.mjs.map +2 -2
  257. package/build-module/tab/remove-tab-toolbar-control.mjs +73 -0
  258. package/build-module/tab/remove-tab-toolbar-control.mjs.map +7 -0
  259. package/build-module/tab/save.mjs +2 -2
  260. package/build-module/tab/save.mjs.map +2 -2
  261. package/build-module/tab-panels/block.json +70 -0
  262. package/build-module/tab-panels/edit.mjs +36 -0
  263. package/build-module/tab-panels/edit.mjs.map +7 -0
  264. package/build-module/tab-panels/icon.mjs +8 -0
  265. package/build-module/tab-panels/icon.mjs.map +7 -0
  266. package/build-module/tab-panels/index.mjs +20 -0
  267. package/build-module/tab-panels/index.mjs.map +7 -0
  268. package/build-module/tab-panels/save.mjs +12 -0
  269. package/build-module/tab-panels/save.mjs.map +7 -0
  270. package/build-module/tabs/block.json +61 -90
  271. package/build-module/tabs/controls.mjs +21 -228
  272. package/build-module/tabs/controls.mjs.map +2 -2
  273. package/build-module/tabs/deprecated.mjs +158 -0
  274. package/build-module/tabs/deprecated.mjs.map +7 -0
  275. package/build-module/tabs/edit.mjs +87 -64
  276. package/build-module/tabs/edit.mjs.map +2 -2
  277. package/build-module/tabs/index.mjs +3 -1
  278. package/build-module/tabs/index.mjs.map +2 -2
  279. package/build-module/tabs/save.mjs +7 -10
  280. package/build-module/tabs/save.mjs.map +2 -2
  281. package/build-module/tabs-menu/block.json +77 -0
  282. package/build-module/tabs-menu/edit.mjs +186 -0
  283. package/build-module/tabs-menu/edit.mjs.map +7 -0
  284. package/build-module/tabs-menu/icon.mjs +8 -0
  285. package/build-module/tabs-menu/icon.mjs.map +7 -0
  286. package/build-module/tabs-menu/index.mjs +20 -0
  287. package/build-module/tabs-menu/index.mjs.map +7 -0
  288. package/build-module/tabs-menu/save.mjs +14 -0
  289. package/build-module/tabs-menu/save.mjs.map +7 -0
  290. package/build-module/tabs-menu-item/block.json +98 -0
  291. package/build-module/tabs-menu-item/controls.mjs +227 -0
  292. package/build-module/tabs-menu-item/controls.mjs.map +7 -0
  293. package/build-module/tabs-menu-item/edit.mjs +253 -0
  294. package/build-module/tabs-menu-item/edit.mjs.map +7 -0
  295. package/build-module/tabs-menu-item/icon.mjs +8 -0
  296. package/build-module/tabs-menu-item/icon.mjs.map +7 -0
  297. package/build-module/tabs-menu-item/index.mjs +20 -0
  298. package/build-module/tabs-menu-item/index.mjs.map +7 -0
  299. package/build-module/tabs-menu-item/save.mjs +29 -0
  300. package/build-module/tabs-menu-item/save.mjs.map +7 -0
  301. package/build-module/template-part/edit/index.mjs +2 -2
  302. package/build-module/template-part/edit/index.mjs.map +2 -2
  303. package/build-module/utils/caption.mjs +1 -3
  304. package/build-module/utils/caption.mjs.map +2 -2
  305. package/build-module/verse/block.json +1 -3
  306. package/build-module/verse/deprecated.mjs +74 -5
  307. package/build-module/verse/deprecated.mjs.map +2 -2
  308. package/build-module/verse/edit.mjs +35 -55
  309. package/build-module/verse/edit.mjs.map +2 -2
  310. package/build-module/verse/save.mjs +2 -6
  311. package/build-module/verse/save.mjs.map +2 -2
  312. package/build-module/video/edit.mjs +4 -2
  313. package/build-module/video/edit.mjs.map +2 -2
  314. package/build-style/editor-rtl.css +64 -21
  315. package/build-style/editor.css +64 -21
  316. package/build-style/gallery/style-rtl.css +1 -1
  317. package/build-style/gallery/style.css +1 -1
  318. package/build-style/media-text/style-rtl.css +2 -0
  319. package/build-style/media-text/style.css +2 -0
  320. package/build-style/navigation/editor-rtl.css +48 -0
  321. package/build-style/navigation/editor.css +48 -0
  322. package/build-style/navigation/style-rtl.css +64 -18
  323. package/build-style/navigation/style.css +64 -18
  324. package/build-style/style-rtl.css +109 -171
  325. package/build-style/style.css +109 -171
  326. package/build-style/tab/style-rtl.css +7 -1
  327. package/build-style/tab/style.css +7 -1
  328. package/build-style/tab-panels/style-rtl.css +4 -0
  329. package/build-style/tab-panels/style.css +4 -0
  330. package/build-style/tabs/style-rtl.css +1 -167
  331. package/build-style/tabs/style.css +1 -167
  332. package/build-style/tabs-menu/editor-rtl.css +4 -0
  333. package/build-style/tabs-menu/editor.css +4 -0
  334. package/build-style/tabs-menu/style-rtl.css +8 -0
  335. package/build-style/tabs-menu/style.css +8 -0
  336. package/build-style/tabs-menu-item/editor-rtl.css +16 -0
  337. package/build-style/tabs-menu-item/editor.css +16 -0
  338. package/build-style/tabs-menu-item/style-rtl.css +34 -0
  339. package/build-style/tabs-menu-item/style.css +34 -0
  340. package/build-style/verse/style-rtl.css +1 -0
  341. package/build-style/verse/style.css +1 -0
  342. package/package.json +37 -37
  343. package/src/block/block.json +2 -1
  344. package/src/breadcrumbs/edit.js +10 -2
  345. package/src/breadcrumbs/index.js +1 -0
  346. package/src/button/index.js +4 -0
  347. package/src/categories/index.php +5 -1
  348. package/src/comment-date/block.json +1 -0
  349. package/src/comment-edit-link/block.json +1 -3
  350. package/src/comment-edit-link/deprecated.js +63 -0
  351. package/src/comment-edit-link/edit.js +7 -31
  352. package/src/comment-edit-link/index.js +2 -0
  353. package/src/comment-reply-link/block.json +1 -5
  354. package/src/comment-reply-link/deprecated.js +56 -0
  355. package/src/comment-reply-link/edit.js +6 -35
  356. package/src/comment-reply-link/index.js +2 -0
  357. package/src/comments-title/block.json +1 -3
  358. package/src/comments-title/deprecated.js +153 -23
  359. package/src/comments-title/edit.js +9 -25
  360. package/src/cover/edit/block-controls.js +14 -3
  361. package/src/cover/edit/embed-video-url-input.js +6 -2
  362. package/src/cover/edit/inspector-controls.js +1 -3
  363. package/src/details/index.js +4 -0
  364. package/src/editor.scss +2 -1
  365. package/src/embed/test/index.js +49 -0
  366. package/src/embed/util.js +21 -0
  367. package/src/freeform/block.json +2 -1
  368. package/src/gallery/style.scss +1 -1
  369. package/src/heading/index.js +4 -0
  370. package/src/html/block.json +2 -1
  371. package/src/image/image.js +63 -11
  372. package/src/image/index.js +4 -1
  373. package/src/index.js +6 -0
  374. package/src/list-item/index.js +16 -0
  375. package/src/media-text/style.scss +2 -0
  376. package/src/missing/block.json +2 -1
  377. package/src/more/block.json +2 -1
  378. package/src/more/index.js +4 -1
  379. package/src/navigation/block.json +5 -4
  380. package/src/navigation/deprecated.js +144 -5
  381. package/src/navigation/edit/deleted-overlay-warning.js +56 -0
  382. package/src/navigation/edit/index.js +181 -70
  383. package/src/navigation/edit/overlay-panel.js +10 -0
  384. package/src/navigation/edit/overlay-preview.js +133 -0
  385. package/src/navigation/edit/overlay-template-part-selector.js +76 -26
  386. package/src/navigation/edit/responsive-wrapper.js +14 -1
  387. package/src/navigation/edit/test/overlay-template-part-selector.js +24 -16
  388. package/src/navigation/edit/test/responsive-wrapper.js +179 -0
  389. package/src/navigation/edit/test/use-create-overlay.js +129 -2
  390. package/src/navigation/edit/use-create-overlay.js +26 -4
  391. package/src/navigation/editor.scss +51 -0
  392. package/src/navigation/index.php +59 -11
  393. package/src/navigation/style.scss +140 -76
  394. package/src/navigation/utils/get-submenu-visibility.js +27 -0
  395. package/src/navigation/utils/test/get-submenu-visibility.js +47 -0
  396. package/src/navigation-link/edit.js +3 -67
  397. package/src/navigation-link/shared/index.js +2 -0
  398. package/src/navigation-link/shared/select-label-text.js +16 -0
  399. package/src/navigation-link/shared/use-is-dragging-within.js +55 -0
  400. package/src/navigation-submenu/block.json +1 -1
  401. package/src/navigation-submenu/edit.js +10 -73
  402. package/src/navigation-submenu/index.js +6 -3
  403. package/src/navigation-submenu/index.php +36 -5
  404. package/src/nextpage/block.json +2 -1
  405. package/src/paragraph/block.json +1 -0
  406. package/src/paragraph/index.js +4 -1
  407. package/src/post-excerpt/edit.js +1 -1
  408. package/src/post-excerpt/index.php +39 -16
  409. package/src/shortcode/block.json +2 -1
  410. package/src/style.scss +3 -0
  411. package/src/tab/add-tab-toolbar-control.js +36 -11
  412. package/src/tab/block.json +18 -4
  413. package/src/tab/controls.js +4 -5
  414. package/src/tab/edit.js +75 -150
  415. package/src/tab/index.php +5 -63
  416. package/src/tab/remove-tab-toolbar-control.js +103 -0
  417. package/src/tab/save.js +1 -3
  418. package/src/tab/style.scss +8 -1
  419. package/src/tab-panels/block.json +70 -0
  420. package/src/tab-panels/edit.js +44 -0
  421. package/src/tab-panels/icon.js +10 -0
  422. package/src/tab-panels/index.js +21 -0
  423. package/src/tab-panels/save.js +11 -0
  424. package/src/tab-panels/style.scss +4 -0
  425. package/src/tabs/block.json +61 -90
  426. package/src/tabs/controls.js +7 -221
  427. package/src/tabs/deprecated.js +214 -0
  428. package/src/tabs/edit.js +108 -68
  429. package/src/tabs/index.js +2 -0
  430. package/src/tabs/index.php +86 -191
  431. package/src/tabs/save.js +6 -13
  432. package/src/tabs/style.scss +1 -187
  433. package/src/tabs-menu/block.json +77 -0
  434. package/src/tabs-menu/edit.js +251 -0
  435. package/src/tabs-menu/editor.scss +6 -0
  436. package/src/tabs-menu/icon.js +10 -0
  437. package/src/tabs-menu/index.js +21 -0
  438. package/src/tabs-menu/index.php +74 -0
  439. package/src/tabs-menu/save.js +18 -0
  440. package/src/tabs-menu/style.scss +8 -0
  441. package/src/tabs-menu-item/block.json +98 -0
  442. package/src/tabs-menu-item/controls.js +262 -0
  443. package/src/tabs-menu-item/edit.js +322 -0
  444. package/src/tabs-menu-item/editor.scss +20 -0
  445. package/src/tabs-menu-item/icon.js +10 -0
  446. package/src/tabs-menu-item/index.js +21 -0
  447. package/src/tabs-menu-item/index.php +82 -0
  448. package/src/tabs-menu-item/save.js +44 -0
  449. package/src/tabs-menu-item/style.scss +42 -0
  450. package/src/template-part/edit/index.js +2 -4
  451. package/src/utils/caption.js +1 -7
  452. package/src/verse/block.json +1 -3
  453. package/src/verse/deprecated.js +83 -4
  454. package/src/verse/edit.js +37 -56
  455. package/src/verse/save.js +2 -11
  456. package/src/verse/style.scss +1 -0
  457. package/src/video/edit.js +4 -2
  458. package/build/tab/tabs-list.cjs +0 -132
  459. package/build/tab/tabs-list.cjs.map +0 -7
  460. package/build/tabs/style-engine.cjs +0 -119
  461. package/build/tabs/style-engine.cjs.map +0 -7
  462. package/build-module/tab/tabs-list.mjs +0 -101
  463. package/build-module/tab/tabs-list.mjs.map +0 -7
  464. package/build-module/tabs/style-engine.mjs +0 -101
  465. package/build-module/tabs/style-engine.mjs.map +0 -7
  466. package/build-style/tabs/editor-rtl.css +0 -26
  467. package/build-style/tabs/editor.css +0 -26
  468. package/src/tab/tabs-list.js +0 -122
  469. package/src/tabs/editor.scss +0 -30
  470. package/src/tabs/style-engine.js +0 -164
@@ -0,0 +1,70 @@
1
+ {
2
+ "$schema": "https://schemas.wp.org/trunk/block.json",
3
+ "__experimental": true,
4
+ "apiVersion": 3,
5
+ "name": "core/tab-panels",
6
+ "title": "Tab Panels",
7
+ "description": "Container for tab panel content in a tabbed interface.",
8
+ "version": "1.0.0",
9
+ "category": "design",
10
+ "textdomain": "default",
11
+ "parent": [
12
+ "core/tabs"
13
+ ],
14
+ "allowedBlocks": [
15
+ "core/tab"
16
+ ],
17
+ "attributes": {},
18
+ "supports": {
19
+ "anchor": false,
20
+ "html": false,
21
+ "reusable": false,
22
+ "lock": false,
23
+ "dimensions": {
24
+ "aspectRatio": false,
25
+ "height": false,
26
+ "minHeight": false,
27
+ "width": false
28
+ },
29
+ "color": {
30
+ "background": true,
31
+ "text": true,
32
+ "heading": true,
33
+ "link": true,
34
+ "__experimentalDefaultControls": {
35
+ "background": true,
36
+ "text": true
37
+ }
38
+ },
39
+ "spacing": {
40
+ "blockGap": false,
41
+ "padding": true,
42
+ "margin": true
43
+ },
44
+ "typography": {
45
+ "fontSize": true,
46
+ "__experimentalFontFamily": true
47
+ },
48
+ "layout": {
49
+ "default": {
50
+ "type": "flex",
51
+ "flexWrap": "nowrap",
52
+ "justifyContent": "stretch",
53
+ "orientation": "vertical"
54
+ },
55
+ "allowSwitching": false,
56
+ "allowVerticalAlignment": false,
57
+ "allowOrientation": false,
58
+ "allowJustification": true,
59
+ "allowSizingOnChildren": false
60
+ },
61
+ "__experimentalBorder": {
62
+ "radius": true,
63
+ "color": true,
64
+ "width": true,
65
+ "style": true
66
+ }
67
+ },
68
+ "editorScript": "file:./index.js",
69
+ "style": "file:./style-index.css"
70
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import {
5
+ useBlockProps,
6
+ useInnerBlocksProps,
7
+ store as blockEditorStore,
8
+ } from '@wordpress/block-editor';
9
+ import { useSelect } from '@wordpress/data';
10
+
11
+ /**
12
+ * Internal dependencies
13
+ */
14
+ import AddTabToolbarControl from '../tab/add-tab-toolbar-control';
15
+ import RemoveTabToolbarControl from '../tab/remove-tab-toolbar-control';
16
+
17
+ const TAB_PANELS_TEMPLATE = [ [ 'core/tab', {} ] ];
18
+
19
+ export default function Edit( { clientId } ) {
20
+ const blockProps = useBlockProps();
21
+
22
+ const innerBlocksProps = useInnerBlocksProps( blockProps, {
23
+ template: TAB_PANELS_TEMPLATE,
24
+ templateLock: false,
25
+ renderAppender: false, // Appender handled by individual tab blocks
26
+ } );
27
+
28
+ // Get the parent tabs block clientId
29
+ const tabsClientId = useSelect(
30
+ ( select ) => {
31
+ const { getBlockRootClientId } = select( blockEditorStore );
32
+ return getBlockRootClientId( clientId );
33
+ },
34
+ [ clientId ]
35
+ );
36
+
37
+ return (
38
+ <>
39
+ <AddTabToolbarControl tabsClientId={ tabsClientId } />
40
+ <RemoveTabToolbarControl tabsClientId={ tabsClientId } />
41
+ <div { ...innerBlocksProps } />
42
+ </>
43
+ );
44
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { SVG, Path } from '@wordpress/primitives';
5
+
6
+ export default (
7
+ <SVG xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
8
+ <Path d="M4 4H20V20H4V4ZM5.5 5.5V18.5H18.5V5.5H5.5Z" />
9
+ </SVG>
10
+ );
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import initBlock from '../utils/init-block';
5
+ import edit from './edit';
6
+ import save from './save';
7
+ import icon from './icon';
8
+
9
+ import metadata from './block.json';
10
+
11
+ const { name } = metadata;
12
+
13
+ export { metadata, name };
14
+
15
+ export const settings = {
16
+ icon,
17
+ edit,
18
+ save,
19
+ };
20
+
21
+ export const init = () => initBlock( { name, metadata, settings } );
@@ -0,0 +1,11 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';
5
+
6
+ export default function save() {
7
+ const blockProps = useBlockProps.save();
8
+ const innerBlocksProps = useInnerBlocksProps.save( blockProps );
9
+
10
+ return <div { ...innerBlocksProps } />;
11
+ }
@@ -0,0 +1,4 @@
1
+ .wp-block-tab-panels {
2
+ flex-grow: 1;
3
+ min-width: 0;
4
+ }
@@ -8,97 +8,53 @@
8
8
  "version": "1.0.0",
9
9
  "category": "design",
10
10
  "textdomain": "default",
11
- "allowedBlocks": [ "core/tab" ],
11
+ "allowedBlocks": [
12
+ "core/tabs-menu",
13
+ "core/tab-panels"
14
+ ],
12
15
  "attributes": {
13
- "tabsId": {
14
- "type": "string",
15
- "default": ""
16
- },
17
- "orientation": {
18
- "type": "string",
19
- "default": "horizontal",
20
- "enum": [ "horizontal", "vertical" ]
21
- },
22
16
  "activeTabIndex": {
23
17
  "type": "number",
24
18
  "default": 0
25
19
  },
26
- "tabInactiveColor": {
27
- "type": "string"
28
- },
29
- "customTabInactiveColor": {
30
- "type": "string"
31
- },
32
- "tabHoverColor": {
33
- "type": "string"
34
- },
35
- "customTabHoverColor": {
36
- "type": "string"
37
- },
38
- "tabActiveColor": {
39
- "type": "string"
40
- },
41
- "customTabActiveColor": {
42
- "type": "string"
43
- },
44
- "tabTextColor": {
45
- "type": "string"
46
- },
47
- "customTabTextColor": {
48
- "type": "string"
49
- },
50
- "tabActiveTextColor": {
51
- "type": "string"
52
- },
53
- "customTabActiveTextColor": {
54
- "type": "string"
55
- },
56
- "tabHoverTextColor": {
57
- "type": "string"
58
- },
59
- "customTabHoverTextColor": {
60
- "type": "string"
20
+ "editorActiveTabIndex": {
21
+ "type": "number",
22
+ "role": "local"
61
23
  }
62
24
  },
63
- "styles": [
64
- {
65
- "name": "tab",
66
- "label": "Tabs",
67
- "isDefault": true
68
- },
69
- {
70
- "name": "links",
71
- "label": "Links"
72
- },
73
- {
74
- "name": "button",
75
- "label": "Button"
76
- }
77
- ],
78
25
  "supports": {
79
26
  "align": true,
27
+ "anchor": true,
80
28
  "color": {
81
29
  "text": false,
82
30
  "background": false
83
31
  },
32
+ "layout": {
33
+ "default": {
34
+ "type": "flex",
35
+ "flexWrap": "nowrap",
36
+ "justifyContent": "stretch",
37
+ "verticalAlignment": "stretch",
38
+ "orientation": "vertical"
39
+ },
40
+ "allowSwitching": false,
41
+ "allowVerticalAlignment": true,
42
+ "allowJustification": true,
43
+ "allowOrientation": true,
44
+ "allowSizingOnChildren": true
45
+ },
84
46
  "html": false,
85
47
  "interactivity": true,
86
48
  "spacing": {
87
- "blockGap": [ "horizontal", "vertical" ],
49
+ "blockGap": true,
88
50
  "margin": true,
89
- "padding": false
51
+ "padding": true
90
52
  },
91
53
  "typography": {
92
54
  "fontSize": true,
93
55
  "__experimentalFontFamily": true
94
56
  },
95
- "__experimentalBorder": {
96
- "radius": true,
97
- "__experimentalSkipSerialization": true,
98
- "__experimentalDefaultControls": {
99
- "radius": true
100
- }
101
- }
57
+ "renaming": true
102
58
  },
103
59
  "example": {
104
60
  "attributes": {
@@ -106,42 +62,57 @@
106
62
  },
107
63
  "innerBlocks": [
108
64
  {
109
- "name": "core/tab",
110
- "attributes": {
111
- "label": "Tab 1"
112
- },
65
+ "name": "core/tabs-menu",
66
+ "attributes": {},
67
+ "innerBlocks": [
68
+ {
69
+ "name": "core/tabs-menu-item",
70
+ "attributes": {}
71
+ }
72
+ ]
73
+ },
74
+ {
75
+ "name": "core/tab-panels",
76
+ "attributes": {},
113
77
  "innerBlocks": [
114
78
  {
115
- "name": "core/paragraph",
79
+ "name": "core/tab",
116
80
  "attributes": {
117
- "content": "Pariatur commodo sint mollit. Veniam Lorem labore voluptate fugiat. Ad nulla est labore cillum cillum qui nostrud do incididunt eiusmod. Aliqua aliqua sunt consequat consequat in duis deserunt."
81
+ "label": "Tab 1"
82
+ },
83
+ "innerBlocks": [
84
+ {
85
+ "name": "core/paragraph",
86
+ "attributes": {
87
+ "content": "Pariatur commodo sint mollit. Veniam Lorem labore voluptate fugiat. Ad nulla est labore cillum cillum qui nostrud do incididunt eiusmod."
88
+ }
89
+ }
90
+ ]
91
+ },
92
+ {
93
+ "name": "core/tab",
94
+ "attributes": {
95
+ "label": "Tab 2"
118
96
  }
119
97
  },
120
98
  {
121
- "name": "core/paragraph",
99
+ "name": "core/tab",
122
100
  "attributes": {
123
- "content": "Adipisicing ullamco nisi in eu laborum adipisicing aliquip aliqua. Fugiat labore officia consequat nisi veniam velit commodo cillum enim duis quis ad."
101
+ "label": "Tab 3"
124
102
  }
125
103
  }
126
104
  ]
127
- },
128
- {
129
- "name": "core/tab",
130
- "attributes": {
131
- "label": "Tab 2"
132
- }
133
- },
134
- {
135
- "name": "core/tab",
136
- "attributes": {
137
- "label": "Tab 3"
138
- }
139
105
  }
140
106
  ]
141
107
  },
142
108
  "providesContext": {
143
- "core/tabs-id": "tabsId"
109
+ "core/tabs-activeTabIndex": "activeTabIndex",
110
+ "core/tabs-editorActiveTabIndex": "editorActiveTabIndex"
144
111
  },
112
+ "usesContext": [
113
+ "core/tabs-list",
114
+ "core/tabs-id"
115
+ ],
145
116
  "editorScript": "file:./index.js",
146
117
  "editorStyle": "file:./index.css",
147
118
  "style": "file:./style-index.css",
@@ -2,161 +2,28 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
- import { ToggleControl, PanelBody, TextControl } from '@wordpress/components';
6
- import { useMemo } from '@wordpress/element';
7
- import {
8
- ContrastChecker,
9
- InspectorControls,
10
- __experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,
11
- __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,
12
- } from '@wordpress/block-editor';
5
+ import { PanelBody, TextControl } from '@wordpress/components';
6
+ import { InspectorControls } from '@wordpress/block-editor';
13
7
 
14
8
  /**
15
9
  * Internal dependencies
16
10
  */
17
11
  import AddTabToolbarControl from '../tab/add-tab-toolbar-control';
12
+ import RemoveTabToolbarControl from '../tab/remove-tab-toolbar-control';
18
13
 
19
- function ContrastCheckerMatrix( { attributes } ) {
14
+ export default function Controls( { attributes, setAttributes, clientId } ) {
20
15
  const {
21
- className,
22
- fontSize,
23
- tabActiveColor,
24
- customTabActiveColor,
25
- tabActiveTextColor,
26
- customTabActiveTextColor,
27
- tabInactiveColor,
28
- customTabInactiveColor,
29
- tabTextColor,
30
- customTabTextColor,
31
- tabHoverColor,
32
- customTabHoverColor,
33
- tabHoverTextColor,
34
- customTabHoverTextColor,
35
- } = attributes;
36
-
37
- const activeBackground = useMemo( () => {
38
- if ( className?.includes( 'is-style-links' ) ) {
39
- return '#fff';
40
- }
41
- if ( tabActiveColor?.color ) {
42
- return tabActiveColor.color;
43
- }
44
- return customTabActiveColor;
45
- }, [ tabActiveColor, customTabActiveColor, className ] );
46
-
47
- const activeText = useMemo( () => {
48
- if ( tabActiveTextColor?.color ) {
49
- return tabActiveTextColor.color;
50
- }
51
- return customTabActiveTextColor;
52
- }, [ tabActiveTextColor, customTabActiveTextColor ] );
53
-
54
- const inactiveBackground = useMemo( () => {
55
- if ( className?.includes( 'is-style-links' ) ) {
56
- return '#fff';
57
- }
58
- if ( tabInactiveColor?.color ) {
59
- return tabInactiveColor.color;
60
- }
61
- return customTabInactiveColor;
62
- }, [ tabInactiveColor, customTabInactiveColor, className ] );
63
-
64
- const inactiveText = useMemo( () => {
65
- if ( tabTextColor?.color ) {
66
- return tabTextColor.color;
67
- }
68
- return customTabTextColor;
69
- }, [ tabTextColor, customTabTextColor ] );
70
-
71
- const hoverBackground = useMemo( () => {
72
- if ( tabHoverColor?.color ) {
73
- return tabHoverColor.color;
74
- }
75
- return customTabHoverColor;
76
- }, [ tabHoverColor, customTabHoverColor ] );
77
-
78
- const hoverText = useMemo( () => {
79
- if ( tabHoverTextColor?.color ) {
80
- return tabHoverTextColor.color;
81
- }
82
- return customTabHoverTextColor;
83
- }, [ tabHoverTextColor, customTabHoverTextColor ] );
84
-
85
- return (
86
- <>
87
- <ContrastChecker
88
- backgroundColor={ activeBackground }
89
- fontSize={ fontSize }
90
- textColor={ activeText }
91
- />
92
- <ContrastChecker
93
- backgroundColor={ inactiveBackground }
94
- fontSize={ fontSize }
95
- textColor={ inactiveText }
96
- />
97
- <ContrastChecker
98
- backgroundColor={ hoverBackground }
99
- fontSize={ fontSize }
100
- textColor={ hoverText }
101
- />
102
- </>
103
- );
104
- }
105
-
106
- export default function Controls( {
107
- attributes,
108
- setAttributes,
109
- clientId,
110
- tabInactiveColor,
111
- setTabInactiveColor,
112
- tabHoverColor,
113
- setTabHoverColor,
114
- tabActiveColor,
115
- setTabActiveColor,
116
- tabTextColor,
117
- setTabTextColor,
118
- tabActiveTextColor,
119
- setTabActiveTextColor,
120
- tabHoverTextColor,
121
- setTabHoverTextColor,
122
- } ) {
123
- const {
124
- customTabInactiveColor,
125
- customTabActiveColor,
126
- customTabHoverColor,
127
- customTabTextColor,
128
- customTabActiveTextColor,
129
- customTabHoverTextColor,
130
- orientation,
131
16
  metadata = {
132
17
  name: '',
133
18
  },
134
19
  } = attributes;
135
- /**
136
- * Get the color settings for the block.
137
- */
138
- const colorSettings = useMultipleOriginColorsAndGradients();
139
20
 
140
21
  return (
141
22
  <>
142
- <AddTabToolbarControl
143
- tabsClientId={ clientId }
144
- attributes={ attributes }
145
- />
23
+ <AddTabToolbarControl tabsClientId={ clientId } />
24
+ <RemoveTabToolbarControl tabsClientId={ clientId } />
146
25
  <InspectorControls>
147
- <PanelBody title={ __( 'Tabs Settings' ) }>
148
- <ToggleControl
149
- label={ __( 'Vertical Tabs' ) }
150
- checked={ 'vertical' === orientation }
151
- onChange={ () =>
152
- setAttributes( {
153
- orientation:
154
- 'vertical' === orientation
155
- ? 'horizontal'
156
- : 'vertical',
157
- } )
158
- }
159
- />
26
+ <PanelBody title={ __( 'Settings' ) }>
160
27
  <TextControl
161
28
  label={ __( 'Tabs Title' ) }
162
29
  help={ __(
@@ -173,87 +40,6 @@ export default function Controls( {
173
40
  />
174
41
  </PanelBody>
175
42
  </InspectorControls>
176
- <InspectorControls group="color">
177
- <ColorGradientSettingsDropdown
178
- settings={ [
179
- {
180
- label: __( 'Tab Active Background' ),
181
- colorValue:
182
- tabActiveColor?.color ?? customTabActiveColor,
183
- onColorChange: ( value ) => {
184
- setTabActiveColor( value );
185
- setAttributes( {
186
- customTabActiveColor: value,
187
- } );
188
- },
189
- },
190
- {
191
- label: __( 'Tab Active Text' ),
192
- colorValue:
193
- tabActiveTextColor?.color ??
194
- customTabActiveTextColor,
195
- onColorChange: ( value ) => {
196
- setTabActiveTextColor( value );
197
- setAttributes( {
198
- customTabActiveTextColor: value,
199
- } );
200
- },
201
- },
202
- {
203
- label: __( 'Tab Inactive Background' ),
204
- colorValue:
205
- tabInactiveColor?.color ??
206
- customTabInactiveColor,
207
- onColorChange: ( value ) => {
208
- setTabInactiveColor( value );
209
- setAttributes( {
210
- customTabInactiveColor: value,
211
- } );
212
- },
213
- },
214
- {
215
- label: __( 'Tab Inactive Text' ),
216
- colorValue:
217
- tabTextColor?.color ?? customTabTextColor,
218
- onColorChange: ( value ) => {
219
- setTabTextColor( value );
220
- setAttributes( {
221
- customTabTextColor: value,
222
- } );
223
- },
224
- },
225
- {
226
- label: __( 'Tab Hover Background' ),
227
- colorValue:
228
- tabHoverColor?.color ?? customTabHoverColor,
229
- onColorChange: ( value ) => {
230
- setTabHoverColor( value );
231
- setAttributes( {
232
- customTabHoverColor: value,
233
- } );
234
- },
235
- },
236
- {
237
- label: __( 'Tab Hover Text' ),
238
- colorValue:
239
- tabHoverTextColor?.color ??
240
- customTabHoverTextColor,
241
- onColorChange: ( value ) => {
242
- setTabHoverTextColor( value );
243
- setAttributes( {
244
- customTabHoverTextColor: value,
245
- } );
246
- },
247
- },
248
- ] }
249
- panelId={ clientId }
250
- disableCustomColors={ false }
251
- __experimentalIsRenderedInSidebar
252
- __next40pxDefaultSize
253
- { ...colorSettings }
254
- />
255
- <ContrastCheckerMatrix attributes={ attributes } />
256
- </InspectorControls>
257
43
  </>
258
44
  );
259
45
  }