@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,204 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // packages/block-library/src/tabs-menu/edit.js
31
+ var edit_exports = {};
32
+ __export(edit_exports, {
33
+ default: () => edit_default
34
+ });
35
+ module.exports = __toCommonJS(edit_exports);
36
+ var import_clsx = __toESM(require("clsx"));
37
+ var import_i18n = require("@wordpress/i18n");
38
+ var import_block_editor = require("@wordpress/block-editor");
39
+ var import_data = require("@wordpress/data");
40
+ var import_element = require("@wordpress/element");
41
+ var import_add_tab_toolbar_control = __toESM(require("../tab/add-tab-toolbar-control.cjs"));
42
+ var import_remove_tab_toolbar_control = __toESM(require("../tab/remove-tab-toolbar-control.cjs"));
43
+ var import_jsx_runtime = require("react/jsx-runtime");
44
+ var TABS_MENU_ITEM_TEMPLATE = [["core/tabs-menu-item", {}]];
45
+ function TabsMenuItemPreview({
46
+ blocks,
47
+ blockContextId,
48
+ isHidden,
49
+ setActiveBlockContextId
50
+ }) {
51
+ const blockPreviewProps = (0, import_block_editor.__experimentalUseBlockPreview)({ blocks });
52
+ const handleOnClick = () => {
53
+ setActiveBlockContextId(blockContextId);
54
+ };
55
+ const style = {
56
+ display: isHidden ? "none" : "flex"
57
+ };
58
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
59
+ "div",
60
+ {
61
+ ...blockPreviewProps,
62
+ tabIndex: 0,
63
+ role: "button",
64
+ onClick: handleOnClick,
65
+ onKeyDown: handleOnClick,
66
+ style
67
+ }
68
+ );
69
+ }
70
+ var MemoizedTabsMenuItemPreview = (0, import_element.memo)(TabsMenuItemPreview);
71
+ function TabsMenuItemTemplateBlocks({ wrapperProps = {}, layout }) {
72
+ const innerBlocksProps = (0, import_block_editor.useInnerBlocksProps)(wrapperProps, {
73
+ template: TABS_MENU_ITEM_TEMPLATE,
74
+ templateLock: "all",
75
+ renderAppender: false,
76
+ layout
77
+ });
78
+ return innerBlocksProps.children;
79
+ }
80
+ function Edit({
81
+ context,
82
+ clientId,
83
+ __unstableLayoutClassNames: layoutClassNames
84
+ }) {
85
+ const { layout } = (0, import_block_editor.useBlockEditContext)();
86
+ const tabsId = context["core/tabs-id"] || null;
87
+ const tabsList = context["core/tabs-list"] || [];
88
+ const activeTabIndex = context["core/tabs-activeTabIndex"] ?? 0;
89
+ const editorActiveTabIndex = context["core/tabs-editorActiveTabIndex"];
90
+ const effectiveActiveIndex = (0, import_element.useMemo)(() => {
91
+ return editorActiveTabIndex ?? activeTabIndex;
92
+ }, [editorActiveTabIndex, activeTabIndex]);
93
+ const { __unstableMarkNextChangeAsNotPersistent } = (0, import_data.useDispatch)(import_block_editor.store);
94
+ const { updateBlockAttributes } = (0, import_data.useDispatch)(import_block_editor.store);
95
+ const [activeBlockContextId, setActiveBlockContextId] = (0, import_element.useState)(null);
96
+ const { blocks, tabsClientId } = (0, import_data.useSelect)(
97
+ (select) => {
98
+ const { getBlocks, getBlockRootClientId } = select(import_block_editor.store);
99
+ return {
100
+ blocks: getBlocks(clientId),
101
+ tabsClientId: getBlockRootClientId(clientId)
102
+ };
103
+ },
104
+ [clientId]
105
+ );
106
+ const blockContexts = (0, import_element.useMemo)(() => {
107
+ return tabsList.map((tab, index) => ({
108
+ "core/tabs-menu-item-index": index,
109
+ "core/tabs-menu-item-id": tab.id || `tab-${index}`,
110
+ "core/tabs-menu-item-label": tab.label || "",
111
+ "core/tabs-menu-item-clientId": tab.clientId,
112
+ // Pass through parent context
113
+ "core/tabs-id": tabsId,
114
+ "core/tabs-list": tabsList,
115
+ "core/tabs-activeTabIndex": activeTabIndex,
116
+ "core/tabs-editorActiveTabIndex": editorActiveTabIndex
117
+ }));
118
+ }, [tabsList, tabsId, activeTabIndex, editorActiveTabIndex]);
119
+ const getContextId = (0, import_element.useCallback)((blockContext) => {
120
+ return `tab-context-${blockContext["core/tabs-menu-item-index"]}`;
121
+ }, []);
122
+ (0, import_element.useEffect)(() => {
123
+ if (blockContexts.length > 0 && activeBlockContextId === null) {
124
+ setActiveBlockContextId(getContextId(blockContexts[0]));
125
+ }
126
+ }, [blockContexts, activeBlockContextId, getContextId]);
127
+ (0, import_element.useEffect)(() => {
128
+ if (blockContexts.length > 0 && effectiveActiveIndex < blockContexts.length) {
129
+ const newContextId = getContextId(
130
+ blockContexts[effectiveActiveIndex]
131
+ );
132
+ setActiveBlockContextId(
133
+ (prevId) => prevId !== newContextId ? newContextId : prevId
134
+ );
135
+ }
136
+ }, [effectiveActiveIndex, blockContexts, getContextId]);
137
+ const handleTabContextClick = (0, import_element.useCallback)(
138
+ (index) => {
139
+ if (tabsClientId && index !== effectiveActiveIndex) {
140
+ __unstableMarkNextChangeAsNotPersistent();
141
+ updateBlockAttributes(tabsClientId, {
142
+ editorActiveTabIndex: index
143
+ });
144
+ }
145
+ },
146
+ [
147
+ tabsClientId,
148
+ effectiveActiveIndex,
149
+ updateBlockAttributes,
150
+ __unstableMarkNextChangeAsNotPersistent
151
+ ]
152
+ );
153
+ const blockProps = (0, import_block_editor.useBlockProps)({
154
+ className: (0, import_clsx.default)(layoutClassNames),
155
+ role: "tablist"
156
+ });
157
+ if (tabsList.length === 0) {
158
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
159
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_add_tab_toolbar_control.default, { tabsClientId }),
160
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_remove_tab_toolbar_control.default, { tabsClientId }),
161
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ...blockProps, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "tabs__tab-label tabs__tab-label--placeholder", children: (0, import_i18n.__)("Add tabs to display menu") }) })
162
+ ] });
163
+ }
164
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
165
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_add_tab_toolbar_control.default, { tabsClientId }),
166
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_remove_tab_toolbar_control.default, { tabsClientId }),
167
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ...blockProps, children: blockContexts.map((blockContext, index) => {
168
+ const contextId = getContextId(blockContext);
169
+ const isVisible = contextId === activeBlockContextId;
170
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
171
+ import_block_editor.BlockContextProvider,
172
+ {
173
+ value: blockContext,
174
+ children: [
175
+ isVisible ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
176
+ TabsMenuItemTemplateBlocks,
177
+ {
178
+ wrapperProps: {
179
+ onClick: () => handleTabContextClick(index)
180
+ },
181
+ layout
182
+ }
183
+ ) : null,
184
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
185
+ MemoizedTabsMenuItemPreview,
186
+ {
187
+ blocks,
188
+ blockContextId: contextId,
189
+ setActiveBlockContextId: (id) => {
190
+ setActiveBlockContextId(id);
191
+ handleTabContextClick(index);
192
+ },
193
+ isHidden: isVisible
194
+ }
195
+ )
196
+ ]
197
+ },
198
+ contextId
199
+ );
200
+ }) })
201
+ ] });
202
+ }
203
+ var edit_default = Edit;
204
+ //# sourceMappingURL=edit.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tabs-menu/edit.js"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockContextProvider,\n\t__experimentalUseBlockPreview as useBlockPreview,\n\tstore as blockEditorStore,\n\tuseBlockEditContext,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tmemo,\n\tuseMemo,\n\tuseState,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport AddTabToolbarControl from '../tab/add-tab-toolbar-control';\nimport RemoveTabToolbarControl from '../tab/remove-tab-toolbar-control';\n\nconst TABS_MENU_ITEM_TEMPLATE = [ [ 'core/tabs-menu-item', {} ] ];\n\n/**\n * Preview component for non-active tab menu items.\n * Uses useBlockPreview to cache the rendering.\n *\n * @param {Object} props Component props.\n * @param {Array} props.blocks The blocks to preview.\n * @param {string} props.blockContextId The context ID for this block.\n * @param {boolean} props.isHidden Whether the preview is hidden.\n * @param {Function} props.setActiveBlockContextId Callback to set the active context ID.\n */\nfunction TabsMenuItemPreview( {\n\tblocks,\n\tblockContextId,\n\tisHidden,\n\tsetActiveBlockContextId,\n} ) {\n\tconst blockPreviewProps = useBlockPreview( { blocks } );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveBlockContextId( blockContextId );\n\t};\n\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : 'flex',\n\t};\n\n\treturn (\n\t\t<div\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyDown={ handleOnClick }\n\t\t\tstyle={ style }\n\t\t/>\n\t);\n}\n\nconst MemoizedTabsMenuItemPreview = memo( TabsMenuItemPreview );\n\n/**\n * The actual editable inner blocks for the active tab item.\n *\n * @param {Object} props Component props.\n * @param {Object} props.wrapperProps Props to pass to the wrapper element.\n * @param {Object} props.layout The layout object to pass to inner blocks.\n */\nfunction TabsMenuItemTemplateBlocks( { wrapperProps = {}, layout } ) {\n\tconst innerBlocksProps = useInnerBlocksProps( wrapperProps, {\n\t\ttemplate: TABS_MENU_ITEM_TEMPLATE,\n\t\ttemplateLock: 'all',\n\t\trenderAppender: false,\n\t\tlayout,\n\t} );\n\treturn innerBlocksProps.children;\n}\n\nfunction Edit( {\n\tcontext,\n\tclientId,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\t// Get the layout from block edit context to pass to inner blocks.\n\t// This ensures the correct orientation is used from the start.\n\tconst { layout } = useBlockEditContext();\n\n\tconst tabsId = context[ 'core/tabs-id' ] || null;\n\tconst tabsList = context[ 'core/tabs-list' ] || [];\n\tconst activeTabIndex = context[ 'core/tabs-activeTabIndex' ] ?? 0;\n\tconst editorActiveTabIndex = context[ 'core/tabs-editorActiveTabIndex' ];\n\n\t// Memoize effectiveActiveIndex to ensure it updates when context changes\n\tconst effectiveActiveIndex = useMemo( () => {\n\t\treturn editorActiveTabIndex ?? activeTabIndex;\n\t}, [ editorActiveTabIndex, activeTabIndex ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\t// Track which tab context is \"active\" for editing (shows real inner blocks)\n\tconst [ activeBlockContextId, setActiveBlockContextId ] = useState( null );\n\n\t// Get the inner blocks (the single tabs-menu-item template)\n\tconst { blocks, tabsClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocks, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t\ttabsClientId: getBlockRootClientId( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// Build block contexts for each tab\n\tconst blockContexts = useMemo( () => {\n\t\treturn tabsList.map( ( tab, index ) => ( {\n\t\t\t'core/tabs-menu-item-index': index,\n\t\t\t'core/tabs-menu-item-id': tab.id || `tab-${ index }`,\n\t\t\t'core/tabs-menu-item-label': tab.label || '',\n\t\t\t'core/tabs-menu-item-clientId': tab.clientId,\n\t\t\t// Pass through parent context\n\t\t\t'core/tabs-id': tabsId,\n\t\t\t'core/tabs-list': tabsList,\n\t\t\t'core/tabs-activeTabIndex': activeTabIndex,\n\t\t\t'core/tabs-editorActiveTabIndex': editorActiveTabIndex,\n\t\t} ) );\n\t}, [ tabsList, tabsId, activeTabIndex, editorActiveTabIndex ] );\n\n\t// Generate a unique ID for each block context\n\tconst getContextId = useCallback( ( blockContext ) => {\n\t\treturn `tab-context-${ blockContext[ 'core/tabs-menu-item-index' ] }`;\n\t}, [] );\n\n\t// Set the first tab as active by default\n\tuseEffect( () => {\n\t\tif ( blockContexts.length > 0 && activeBlockContextId === null ) {\n\t\t\tsetActiveBlockContextId( getContextId( blockContexts[ 0 ] ) );\n\t\t}\n\t}, [ blockContexts, activeBlockContextId, getContextId ] );\n\n\t// Update active context when editorActiveTabIndex changes\n\tuseEffect( () => {\n\t\tif (\n\t\t\tblockContexts.length > 0 &&\n\t\t\teffectiveActiveIndex < blockContexts.length\n\t\t) {\n\t\t\tconst newContextId = getContextId(\n\t\t\t\tblockContexts[ effectiveActiveIndex ]\n\t\t\t);\n\t\t\tsetActiveBlockContextId( ( prevId ) =>\n\t\t\t\tprevId !== newContextId ? newContextId : prevId\n\t\t\t);\n\t\t}\n\t}, [ effectiveActiveIndex, blockContexts, getContextId ] );\n\n\t// Handle tab click to update parent tabs block's editorActiveTabIndex\n\tconst handleTabContextClick = useCallback(\n\t\t( index ) => {\n\t\t\tif ( tabsClientId && index !== effectiveActiveIndex ) {\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tupdateBlockAttributes( tabsClientId, {\n\t\t\t\t\teditorActiveTabIndex: index,\n\t\t\t\t} );\n\t\t\t}\n\t\t},\n\t\t[\n\t\t\ttabsClientId,\n\t\t\teffectiveActiveIndex,\n\t\t\tupdateBlockAttributes,\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( layoutClassNames ),\n\t\trole: 'tablist',\n\t} );\n\n\t// If no tabs exist yet, show placeholder\n\tif ( tabsList.length === 0 ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<AddTabToolbarControl tabsClientId={ tabsClientId } />\n\t\t\t\t<RemoveTabToolbarControl tabsClientId={ tabsClientId } />\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<span className=\"tabs__tab-label tabs__tab-label--placeholder\">\n\t\t\t\t\t\t{ __( 'Add tabs to display menu' ) }\n\t\t\t\t\t</span>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<AddTabToolbarControl tabsClientId={ tabsClientId } />\n\t\t\t<RemoveTabToolbarControl tabsClientId={ tabsClientId } />\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ blockContexts.map( ( blockContext, index ) => {\n\t\t\t\t\tconst contextId = getContextId( blockContext );\n\t\t\t\t\tconst isVisible = contextId === activeBlockContextId;\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\t\tkey={ contextId }\n\t\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isVisible ? (\n\t\t\t\t\t\t\t\t<TabsMenuItemTemplateBlocks\n\t\t\t\t\t\t\t\t\twrapperProps={ {\n\t\t\t\t\t\t\t\t\t\tonClick: () =>\n\t\t\t\t\t\t\t\t\t\t\thandleTabContextClick( index ),\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) : null }\n\t\t\t\t\t\t\t<MemoizedTabsMenuItemPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tblockContextId={ contextId }\n\t\t\t\t\t\t\t\tsetActiveBlockContextId={ ( id ) => {\n\t\t\t\t\t\t\t\t\tsetActiveBlockContextId( id );\n\t\t\t\t\t\t\t\t\thandleTabContextClick( index );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tisHidden={ isVisible }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default Edit;\n"],
5
+ "mappings": "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",
6
+ "names": ["useBlockPreview", "blockEditorStore", "clsx", "AddTabToolbarControl", "RemoveTabToolbarControl"]
7
+ }
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // packages/block-library/src/tabs-menu/icon.js
21
+ var icon_exports = {};
22
+ __export(icon_exports, {
23
+ default: () => icon_default
24
+ });
25
+ module.exports = __toCommonJS(icon_exports);
26
+ var import_primitives = require("@wordpress/primitives");
27
+ var import_jsx_runtime = require("react/jsx-runtime");
28
+ var icon_default = /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_primitives.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_primitives.Path, { d: "M4 5.5H20V7H4V5.5ZM4 11.5H12V13H4V11.5ZM20 11.5H14V13H20V11.5ZM4 17.5H20V19H4V17.5Z" }) });
29
+ //# sourceMappingURL=icon.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tabs-menu/icon.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nexport default (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M4 5.5H20V7H4V5.5ZM4 11.5H12V13H4V11.5ZM20 11.5H14V13H20V11.5ZM4 17.5H20V19H4V17.5Z\" />\n\t</SVG>\n);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,wBAA0B;AAIxB;AAFF,IAAO,eACN,4CAAC,yBAAI,OAAM,8BAA6B,SAAQ,aAC/C,sDAAC,0BAAK,GAAE,uFAAsF,GAC/F;",
6
+ "names": []
7
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name2 in all)
10
+ __defProp(target, name2, { get: all[name2], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // packages/block-library/src/tabs-menu/index.js
31
+ var tabs_menu_exports = {};
32
+ __export(tabs_menu_exports, {
33
+ init: () => init,
34
+ metadata: () => import_block.default,
35
+ name: () => name,
36
+ settings: () => settings
37
+ });
38
+ module.exports = __toCommonJS(tabs_menu_exports);
39
+ var import_init_block = __toESM(require("../utils/init-block.cjs"));
40
+ var import_edit = __toESM(require("./edit.cjs"));
41
+ var import_save = __toESM(require("./save.cjs"));
42
+ var import_icon = __toESM(require("./icon.cjs"));
43
+ var import_block = __toESM(require("./block.json"));
44
+ var { name } = import_block.default;
45
+ var settings = {
46
+ icon: import_icon.default,
47
+ edit: import_edit.default,
48
+ save: import_save.default
49
+ };
50
+ var init = () => (0, import_init_block.default)({ name, metadata: import_block.default, settings });
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ init,
54
+ metadata,
55
+ name,
56
+ settings
57
+ });
58
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tabs-menu/index.js"],
4
+ "sourcesContent": ["/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport save from './save';\nimport icon from './icon';\n\nimport metadata from './block.json';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,wBAAsB;AACtB,kBAAiB;AACjB,kBAAiB;AACjB,kBAAiB;AAEjB,mBAAqB;AAErB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
+ "names": ["metadata", "icon", "edit", "save", "initBlock", "metadata"]
7
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // packages/block-library/src/tabs-menu/save.js
21
+ var save_exports = {};
22
+ __export(save_exports, {
23
+ default: () => save
24
+ });
25
+ module.exports = __toCommonJS(save_exports);
26
+ var import_block_editor = require("@wordpress/block-editor");
27
+ var import_jsx_runtime = require("react/jsx-runtime");
28
+ function save() {
29
+ const blockProps = import_block_editor.useBlockProps.save({
30
+ role: "tablist"
31
+ });
32
+ const innerBlocksProps = import_block_editor.useInnerBlocksProps.save(blockProps);
33
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ...innerBlocksProps });
34
+ }
35
+ //# sourceMappingURL=save.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tabs-menu/save.js"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\nexport default function save() {\n\tconst blockProps = useBlockProps.save( {\n\t\trole: 'tablist',\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\n\treturn <div { ...innerBlocksProps } />;\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,0BAAmD;AAS3C;AAPO,SAAR,OAAwB;AAC9B,QAAM,aAAa,kCAAc,KAAM;AAAA,IACtC,MAAM;AAAA,EACP,CAAE;AAEF,QAAM,mBAAmB,wCAAoB,KAAM,UAAW;AAE9D,SAAO,4CAAC,SAAM,GAAG,kBAAmB;AACrC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,98 @@
1
+ {
2
+ "$schema": "https://schemas.wp.org/trunk/block.json",
3
+ "__experimental": true,
4
+ "apiVersion": 3,
5
+ "name": "core/tabs-menu-item",
6
+ "title": "Tab Menu Item",
7
+ "description": "A single tab button in the tabs menu. Used as a template for styling all tab buttons.",
8
+ "version": "1.0.0",
9
+ "category": "design",
10
+ "textdomain": "default",
11
+ "parent": [
12
+ "core/tabs-menu"
13
+ ],
14
+ "usesContext": [
15
+ "core/tabs-menu-item-index",
16
+ "core/tabs-menu-item-id",
17
+ "core/tabs-menu-item-label",
18
+ "core/tabs-menu-item-clientId",
19
+ "core/tabs-list",
20
+ "core/tabs-activeTabIndex",
21
+ "core/tabs-editorActiveTabIndex"
22
+ ],
23
+ "attributes": {
24
+ "activeBackgroundColor": {
25
+ "type": "string"
26
+ },
27
+ "customActiveBackgroundColor": {
28
+ "type": "string"
29
+ },
30
+ "activeTextColor": {
31
+ "type": "string"
32
+ },
33
+ "customActiveTextColor": {
34
+ "type": "string"
35
+ },
36
+ "hoverBackgroundColor": {
37
+ "type": "string"
38
+ },
39
+ "customHoverBackgroundColor": {
40
+ "type": "string"
41
+ },
42
+ "hoverTextColor": {
43
+ "type": "string"
44
+ },
45
+ "customHoverTextColor": {
46
+ "type": "string"
47
+ }
48
+ },
49
+ "supports": {
50
+ "html": false,
51
+ "reusable": false,
52
+ "lock": false,
53
+ "color": {
54
+ "background": true,
55
+ "text": true,
56
+ "__experimentalDefaultControls": {
57
+ "background": true,
58
+ "text": true
59
+ }
60
+ },
61
+ "shadow": true,
62
+ "typography": {
63
+ "fontSize": true,
64
+ "__experimentalFontFamily": true,
65
+ "textAlign": true,
66
+ "__experimentalDefaultControls": {
67
+ "fontSize": true
68
+ }
69
+ },
70
+ "layout": {
71
+ "default": {
72
+ "type": "flex",
73
+ "orientation": "vertical",
74
+ "flexWrap": "nowrap"
75
+ },
76
+ "allowVerticalAlignment": true,
77
+ "allowJustification": true,
78
+ "allowSwitching": false,
79
+ "allowOrientation": false,
80
+ "allowWrap": false
81
+ },
82
+ "spacing": {
83
+ "padding": true,
84
+ "__experimentalDefaultControls": {
85
+ "padding": true
86
+ }
87
+ },
88
+ "__experimentalBorder": {
89
+ "radius": true,
90
+ "color": true,
91
+ "width": true,
92
+ "style": true
93
+ }
94
+ },
95
+ "editorScript": "file:./index.js",
96
+ "editorStyle": "file:./editor.css",
97
+ "style": "file:./style-index.css"
98
+ }