@wordpress/block-library 9.48.0 → 10.0.1-next.v.202606191442.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 (951) hide show
  1. package/CHANGELOG.md +18 -1
  2. package/build/breadcrumbs/edit.cjs +1 -1
  3. package/build/breadcrumbs/edit.cjs.map +1 -1
  4. package/build/button/edit.cjs +1 -1
  5. package/build/button/edit.cjs.map +2 -2
  6. package/build/categories/edit.cjs +1 -1
  7. package/build/categories/edit.cjs.map +1 -1
  8. package/build/code/edit.cjs +1 -1
  9. package/build/code/edit.cjs.map +2 -2
  10. package/build/code/index.cjs +1 -1
  11. package/build/code/index.cjs.map +1 -1
  12. package/build/columns/transforms.cjs +65 -0
  13. package/build/columns/transforms.cjs.map +2 -2
  14. package/build/columns/utils.cjs.map +1 -1
  15. package/build/comments/edit/comments-legacy.cjs +1 -1
  16. package/build/comments/edit/comments-legacy.cjs.map +1 -1
  17. package/build/comments/edit/placeholder.cjs +4 -4
  18. package/build/comments/edit/placeholder.cjs.map +1 -1
  19. package/build/comments-pagination-next/edit.cjs +2 -2
  20. package/build/comments-pagination-next/edit.cjs.map +1 -1
  21. package/build/comments-pagination-previous/edit.cjs +2 -2
  22. package/build/comments-pagination-previous/edit.cjs.map +1 -1
  23. package/build/cover/deprecated.cjs +3 -3
  24. package/build/cover/deprecated.cjs.map +2 -2
  25. package/build/cover/edit/block-controls.cjs +13 -0
  26. package/build/cover/edit/block-controls.cjs.map +2 -2
  27. package/build/cover/edit/index.cjs +61 -2
  28. package/build/cover/edit/index.cjs.map +3 -3
  29. package/build/cover/edit/inspector-controls.cjs +93 -35
  30. package/build/cover/edit/inspector-controls.cjs.map +2 -2
  31. package/build/details/edit.cjs +1 -1
  32. package/build/details/edit.cjs.map +2 -2
  33. package/build/embed/embed-placeholder.cjs +1 -1
  34. package/build/embed/embed-placeholder.cjs.map +2 -2
  35. package/build/file/edit.cjs +3 -11
  36. package/build/file/edit.cjs.map +2 -2
  37. package/build/file/index.cjs +3 -1
  38. package/build/file/index.cjs.map +3 -3
  39. package/build/file/transforms.cjs +11 -32
  40. package/build/file/transforms.cjs.map +2 -2
  41. package/build/file/variations.cjs +38 -0
  42. package/build/file/variations.cjs.map +7 -0
  43. package/build/footnotes/edit.cjs +1 -1
  44. package/build/footnotes/edit.cjs.map +2 -2
  45. package/build/form-input/edit.cjs +1 -1
  46. package/build/form-input/edit.cjs.map +2 -2
  47. package/build/freeform/edit.cjs +1 -1
  48. package/build/freeform/edit.cjs.map +1 -1
  49. package/build/gallery/edit.cjs +212 -331
  50. package/build/gallery/edit.cjs.map +2 -2
  51. package/build/gallery/transforms.cjs +43 -0
  52. package/build/gallery/transforms.cjs.map +2 -2
  53. package/build/heading/edit.cjs +0 -1
  54. package/build/heading/edit.cjs.map +2 -2
  55. package/build/home-link/edit.cjs +1 -1
  56. package/build/home-link/edit.cjs.map +2 -2
  57. package/build/html/index.cjs +1 -1
  58. package/build/html/index.cjs.map +2 -2
  59. package/build/html/modal.cjs +3 -3
  60. package/build/html/modal.cjs.map +2 -2
  61. package/build/icon/block.json +12 -0
  62. package/build/icon/edit.cjs +90 -39
  63. package/build/icon/edit.cjs.map +3 -3
  64. package/build/icon/index.cjs +3 -1
  65. package/build/icon/index.cjs.map +3 -3
  66. package/build/{tab/save.cjs → icon/variations.cjs} +14 -15
  67. package/build/icon/variations.cjs.map +7 -0
  68. package/build/image/block.json +1 -0
  69. package/build/image/edit.cjs +4 -3
  70. package/build/image/edit.cjs.map +2 -2
  71. package/build/image/image.cjs +91 -27
  72. package/build/image/image.cjs.map +2 -2
  73. package/build/image/index.cjs +1 -1
  74. package/build/image/index.cjs.map +2 -2
  75. package/build/image/transforms.cjs +9 -3
  76. package/build/image/transforms.cjs.map +2 -2
  77. package/build/index.cjs +1 -3
  78. package/build/index.cjs.map +2 -2
  79. package/build/latest-posts/edit.cjs +1 -1
  80. package/build/latest-posts/edit.cjs.map +1 -1
  81. package/build/list/edit.cjs +1 -8
  82. package/build/list/edit.cjs.map +2 -2
  83. package/build/list/ordered-list-settings.cjs +1 -44
  84. package/build/list/ordered-list-settings.cjs.map +2 -2
  85. package/build/list-item/hooks/use-merge.cjs +47 -24
  86. package/build/list-item/hooks/use-merge.cjs.map +2 -2
  87. package/build/math/edit.cjs +1 -1
  88. package/build/math/index.cjs +1 -1
  89. package/build/math/index.cjs.map +1 -1
  90. package/build/media-text/constants.cjs +1 -1
  91. package/build/media-text/constants.cjs.map +2 -2
  92. package/build/media-text/index.cjs +1 -1
  93. package/build/media-text/index.cjs.map +2 -2
  94. package/build/missing/edit.cjs +2 -2
  95. package/build/missing/edit.cjs.map +1 -1
  96. package/build/navigation/edit/index.cjs +29 -34
  97. package/build/navigation/edit/index.cjs.map +2 -2
  98. package/build/navigation/edit/navigation-menu-selector.cjs +1 -1
  99. package/build/navigation/edit/navigation-menu-selector.cjs.map +2 -2
  100. package/build/navigation/edit/placeholder/index.cjs +1 -1
  101. package/build/navigation/edit/placeholder/index.cjs.map +2 -2
  102. package/build/navigation-link/edit.cjs +1 -2
  103. package/build/navigation-link/edit.cjs.map +2 -2
  104. package/build/navigation-submenu/block.json +7 -0
  105. package/build/navigation-submenu/edit.cjs +3 -2
  106. package/build/navigation-submenu/edit.cjs.map +2 -2
  107. package/build/page-list/block.json +2 -5
  108. package/build/page-list/edit.cjs +1 -11
  109. package/build/page-list/edit.cjs.map +2 -2
  110. package/build/paragraph/deprecated.cjs +1 -0
  111. package/build/paragraph/deprecated.cjs.map +2 -2
  112. package/build/paragraph/edit.cjs +10 -1
  113. package/build/paragraph/edit.cjs.map +3 -3
  114. package/build/playlist/block.json +12 -0
  115. package/build/playlist/edit.cjs +27 -1
  116. package/build/playlist/edit.cjs.map +2 -2
  117. package/build/playlist/save.cjs +8 -1
  118. package/build/playlist/save.cjs.map +2 -2
  119. package/build/playlist/view.cjs +1 -0
  120. package/build/playlist/view.cjs.map +2 -2
  121. package/build/post-author/edit.cjs +1 -1
  122. package/build/post-author/edit.cjs.map +2 -2
  123. package/build/post-author/utils.cjs +1 -1
  124. package/build/post-author/utils.cjs.map +2 -2
  125. package/build/post-date/edit.cjs +2 -2
  126. package/build/post-date/edit.cjs.map +2 -2
  127. package/build/post-excerpt/edit.cjs +2 -2
  128. package/build/post-excerpt/edit.cjs.map +2 -2
  129. package/build/post-featured-image/block.json +1 -0
  130. package/build/post-featured-image/dimension-controls.cjs +90 -178
  131. package/build/post-featured-image/dimension-controls.cjs.map +3 -3
  132. package/build/post-featured-image/edit.cjs +47 -17
  133. package/build/post-featured-image/edit.cjs.map +2 -2
  134. package/build/post-navigation-link/edit.cjs +2 -2
  135. package/build/post-navigation-link/edit.cjs.map +2 -2
  136. package/build/post-time-to-read/edit.cjs +1 -1
  137. package/build/post-time-to-read/edit.cjs.map +1 -1
  138. package/build/post-time-to-read/index.cjs +1 -1
  139. package/build/post-time-to-read/index.cjs.map +2 -2
  140. package/build/post-time-to-read/variations.cjs +1 -1
  141. package/build/post-time-to-read/variations.cjs.map +2 -2
  142. package/build/preformatted/edit.cjs +1 -1
  143. package/build/preformatted/edit.cjs.map +2 -2
  144. package/build/pullquote/block.json +1 -3
  145. package/build/pullquote/deprecated.cjs +114 -9
  146. package/build/pullquote/deprecated.cjs.map +3 -3
  147. package/build/pullquote/edit.cjs +43 -66
  148. package/build/pullquote/edit.cjs.map +3 -3
  149. package/build/pullquote/save.cjs +5 -26
  150. package/build/pullquote/save.cjs.map +3 -3
  151. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs +1 -1
  152. package/build/query/edit/inspector-controls/enhanced-pagination-control.cjs.map +1 -1
  153. package/build/query/edit/inspector-controls/order-control.cjs +2 -2
  154. package/build/query/edit/inspector-controls/order-control.cjs.map +2 -2
  155. package/build/query/utils.cjs +2 -2
  156. package/build/query/utils.cjs.map +2 -2
  157. package/build/query-pagination-next/edit.cjs +2 -2
  158. package/build/query-pagination-next/edit.cjs.map +1 -1
  159. package/build/query-pagination-previous/edit.cjs +2 -2
  160. package/build/query-pagination-previous/edit.cjs.map +1 -1
  161. package/build/query-title/edit.cjs +1 -1
  162. package/build/query-title/edit.cjs.map +2 -2
  163. package/build/query-total/edit.cjs +1 -1
  164. package/build/query-total/edit.cjs.map +2 -2
  165. package/build/quote/edit.cjs +4 -9
  166. package/build/quote/edit.cjs.map +2 -2
  167. package/build/quote/index.cjs +1 -1
  168. package/build/quote/index.cjs.map +2 -2
  169. package/build/read-more/edit.cjs +1 -1
  170. package/build/read-more/edit.cjs.map +2 -2
  171. package/build/rss/edit.cjs +1 -1
  172. package/build/rss/edit.cjs.map +2 -2
  173. package/build/search/edit.cjs +3 -3
  174. package/build/search/edit.cjs.map +2 -2
  175. package/build/shortcode/edit.cjs +1 -1
  176. package/build/shortcode/edit.cjs.map +2 -2
  177. package/build/shortcode/transforms.cjs +2 -2
  178. package/build/shortcode/transforms.cjs.map +2 -2
  179. package/build/site-tagline/edit.cjs +1 -1
  180. package/build/site-tagline/edit.cjs.map +2 -2
  181. package/build/site-title/edit.cjs +1 -1
  182. package/build/site-title/edit.cjs.map +2 -2
  183. package/build/tab-list/block.json +34 -21
  184. package/build/tab-list/edit.cjs +116 -12
  185. package/build/tab-list/edit.cjs.map +3 -3
  186. package/build/tab-list/save.cjs +33 -3
  187. package/build/tab-list/save.cjs.map +3 -3
  188. package/build/tab-panel/add-tab-toolbar-control.cjs +19 -8
  189. package/build/tab-panel/add-tab-toolbar-control.cjs.map +2 -2
  190. package/build/tab-panel/block.json +2 -6
  191. package/build/tab-panel/remove-tab-toolbar-control.cjs +9 -14
  192. package/build/tab-panel/remove-tab-toolbar-control.cjs.map +2 -2
  193. package/build/tab-panels/block.json +2 -27
  194. package/build/table/index.cjs +1 -1
  195. package/build/table/index.cjs.map +2 -2
  196. package/build/tabs/block.json +3 -17
  197. package/build/tabs/edit.cjs +7 -21
  198. package/build/tabs/edit.cjs.map +3 -3
  199. package/build/tabs/index.cjs +6 -10
  200. package/build/tabs/index.cjs.map +2 -2
  201. package/build/tabs/use-tab-list-items-sync.cjs +53 -0
  202. package/build/tabs/use-tab-list-items-sync.cjs.map +7 -0
  203. package/build/tabs/view.cjs +2 -10
  204. package/build/tabs/view.cjs.map +2 -2
  205. package/build/terms-query/edit/inspector-controls/order-control.cjs +2 -2
  206. package/build/terms-query/edit/inspector-controls/order-control.cjs.map +2 -2
  207. package/build/utils/style-state.cjs +164 -0
  208. package/build/utils/style-state.cjs.map +7 -0
  209. package/build/utils/waveform-player.cjs +42 -9
  210. package/build/utils/waveform-player.cjs.map +2 -2
  211. package/build/utils/waveform-utils.cjs +6 -4
  212. package/build/utils/waveform-utils.cjs.map +2 -2
  213. package/build/verse/edit.cjs +1 -1
  214. package/build/verse/edit.cjs.map +2 -2
  215. package/build/video/edit-common-settings.cjs +3 -6
  216. package/build/video/edit-common-settings.cjs.map +2 -2
  217. package/build-module/breadcrumbs/edit.mjs +1 -1
  218. package/build-module/breadcrumbs/edit.mjs.map +1 -1
  219. package/build-module/button/edit.mjs +1 -1
  220. package/build-module/button/edit.mjs.map +2 -2
  221. package/build-module/categories/edit.mjs +1 -1
  222. package/build-module/categories/edit.mjs.map +1 -1
  223. package/build-module/code/edit.mjs +1 -1
  224. package/build-module/code/edit.mjs.map +2 -2
  225. package/build-module/code/index.mjs +1 -1
  226. package/build-module/code/index.mjs.map +1 -1
  227. package/build-module/columns/transforms.mjs +65 -0
  228. package/build-module/columns/transforms.mjs.map +2 -2
  229. package/build-module/columns/utils.mjs.map +1 -1
  230. package/build-module/comments/edit/comments-legacy.mjs +1 -1
  231. package/build-module/comments/edit/comments-legacy.mjs.map +1 -1
  232. package/build-module/comments/edit/placeholder.mjs +4 -4
  233. package/build-module/comments/edit/placeholder.mjs.map +1 -1
  234. package/build-module/comments-pagination-next/edit.mjs +2 -2
  235. package/build-module/comments-pagination-next/edit.mjs.map +1 -1
  236. package/build-module/comments-pagination-previous/edit.mjs +2 -2
  237. package/build-module/comments-pagination-previous/edit.mjs.map +1 -1
  238. package/build-module/cover/deprecated.mjs +3 -3
  239. package/build-module/cover/deprecated.mjs.map +2 -2
  240. package/build-module/cover/edit/block-controls.mjs +15 -2
  241. package/build-module/cover/edit/block-controls.mjs.map +2 -2
  242. package/build-module/cover/edit/index.mjs +64 -3
  243. package/build-module/cover/edit/index.mjs.map +2 -2
  244. package/build-module/cover/edit/inspector-controls.mjs +98 -35
  245. package/build-module/cover/edit/inspector-controls.mjs.map +2 -2
  246. package/build-module/details/edit.mjs +1 -1
  247. package/build-module/details/edit.mjs.map +2 -2
  248. package/build-module/embed/embed-placeholder.mjs +1 -1
  249. package/build-module/embed/embed-placeholder.mjs.map +2 -2
  250. package/build-module/file/edit.mjs +5 -13
  251. package/build-module/file/edit.mjs.map +2 -2
  252. package/build-module/file/index.mjs +3 -1
  253. package/build-module/file/index.mjs.map +2 -2
  254. package/build-module/file/transforms.mjs +11 -32
  255. package/build-module/file/transforms.mjs.map +2 -2
  256. package/build-module/file/variations.mjs +17 -0
  257. package/build-module/file/variations.mjs.map +7 -0
  258. package/build-module/footnotes/edit.mjs +1 -1
  259. package/build-module/footnotes/edit.mjs.map +2 -2
  260. package/build-module/form-input/edit.mjs +1 -1
  261. package/build-module/form-input/edit.mjs.map +2 -2
  262. package/build-module/freeform/edit.mjs +1 -1
  263. package/build-module/freeform/edit.mjs.map +1 -1
  264. package/build-module/gallery/edit.mjs +214 -334
  265. package/build-module/gallery/edit.mjs.map +2 -2
  266. package/build-module/gallery/transforms.mjs +43 -0
  267. package/build-module/gallery/transforms.mjs.map +2 -2
  268. package/build-module/heading/edit.mjs +1 -2
  269. package/build-module/heading/edit.mjs.map +2 -2
  270. package/build-module/home-link/edit.mjs +1 -1
  271. package/build-module/home-link/edit.mjs.map +2 -2
  272. package/build-module/html/index.mjs +1 -1
  273. package/build-module/html/index.mjs.map +2 -2
  274. package/build-module/html/modal.mjs +3 -3
  275. package/build-module/html/modal.mjs.map +2 -2
  276. package/build-module/icon/block.json +12 -0
  277. package/build-module/icon/edit.mjs +94 -40
  278. package/build-module/icon/edit.mjs.map +2 -2
  279. package/build-module/icon/index.mjs +3 -1
  280. package/build-module/icon/index.mjs.map +2 -2
  281. package/build-module/icon/variations.mjs +13 -0
  282. package/build-module/icon/variations.mjs.map +7 -0
  283. package/build-module/image/block.json +1 -0
  284. package/build-module/image/edit.mjs +4 -3
  285. package/build-module/image/edit.mjs.map +2 -2
  286. package/build-module/image/image.mjs +96 -27
  287. package/build-module/image/image.mjs.map +2 -2
  288. package/build-module/image/index.mjs +1 -1
  289. package/build-module/image/index.mjs.map +2 -2
  290. package/build-module/image/transforms.mjs +9 -3
  291. package/build-module/image/transforms.mjs.map +2 -2
  292. package/build-module/index.mjs +1 -3
  293. package/build-module/index.mjs.map +2 -2
  294. package/build-module/latest-posts/edit.mjs +1 -1
  295. package/build-module/latest-posts/edit.mjs.map +1 -1
  296. package/build-module/list/edit.mjs +2 -9
  297. package/build-module/list/edit.mjs.map +2 -2
  298. package/build-module/list/ordered-list-settings.mjs +1 -45
  299. package/build-module/list/ordered-list-settings.mjs.map +2 -2
  300. package/build-module/list-item/hooks/use-merge.mjs +48 -25
  301. package/build-module/list-item/hooks/use-merge.mjs.map +2 -2
  302. package/build-module/math/edit.mjs +1 -1
  303. package/build-module/math/index.mjs +1 -1
  304. package/build-module/math/index.mjs.map +1 -1
  305. package/build-module/media-text/constants.mjs +1 -1
  306. package/build-module/media-text/constants.mjs.map +2 -2
  307. package/build-module/media-text/index.mjs +1 -1
  308. package/build-module/media-text/index.mjs.map +2 -2
  309. package/build-module/missing/edit.mjs +2 -2
  310. package/build-module/missing/edit.mjs.map +1 -1
  311. package/build-module/navigation/edit/index.mjs +30 -41
  312. package/build-module/navigation/edit/index.mjs.map +2 -2
  313. package/build-module/navigation/edit/navigation-menu-selector.mjs +1 -1
  314. package/build-module/navigation/edit/navigation-menu-selector.mjs.map +2 -2
  315. package/build-module/navigation/edit/placeholder/index.mjs +1 -1
  316. package/build-module/navigation/edit/placeholder/index.mjs.map +2 -2
  317. package/build-module/navigation-link/edit.mjs +1 -2
  318. package/build-module/navigation-link/edit.mjs.map +2 -2
  319. package/build-module/navigation-submenu/block.json +7 -0
  320. package/build-module/navigation-submenu/edit.mjs +3 -2
  321. package/build-module/navigation-submenu/edit.mjs.map +2 -2
  322. package/build-module/page-list/block.json +2 -5
  323. package/build-module/page-list/edit.mjs +1 -11
  324. package/build-module/page-list/edit.mjs.map +2 -2
  325. package/build-module/paragraph/deprecated.mjs +1 -0
  326. package/build-module/paragraph/deprecated.mjs.map +2 -2
  327. package/build-module/paragraph/edit.mjs +12 -2
  328. package/build-module/paragraph/edit.mjs.map +2 -2
  329. package/build-module/playlist/block.json +12 -0
  330. package/build-module/playlist/edit.mjs +27 -1
  331. package/build-module/playlist/edit.mjs.map +2 -2
  332. package/build-module/playlist/save.mjs +8 -1
  333. package/build-module/playlist/save.mjs.map +2 -2
  334. package/build-module/playlist/view.mjs +1 -0
  335. package/build-module/playlist/view.mjs.map +2 -2
  336. package/build-module/post-author/edit.mjs +1 -1
  337. package/build-module/post-author/edit.mjs.map +2 -2
  338. package/build-module/post-author/utils.mjs +1 -1
  339. package/build-module/post-author/utils.mjs.map +2 -2
  340. package/build-module/post-date/edit.mjs +2 -2
  341. package/build-module/post-date/edit.mjs.map +2 -2
  342. package/build-module/post-excerpt/edit.mjs +2 -2
  343. package/build-module/post-excerpt/edit.mjs.map +2 -2
  344. package/build-module/post-featured-image/block.json +1 -0
  345. package/build-module/post-featured-image/dimension-controls.mjs +99 -187
  346. package/build-module/post-featured-image/dimension-controls.mjs.map +2 -2
  347. package/build-module/post-featured-image/edit.mjs +47 -17
  348. package/build-module/post-featured-image/edit.mjs.map +2 -2
  349. package/build-module/post-navigation-link/edit.mjs +2 -2
  350. package/build-module/post-navigation-link/edit.mjs.map +2 -2
  351. package/build-module/post-time-to-read/edit.mjs +1 -1
  352. package/build-module/post-time-to-read/edit.mjs.map +1 -1
  353. package/build-module/post-time-to-read/index.mjs +1 -1
  354. package/build-module/post-time-to-read/index.mjs.map +2 -2
  355. package/build-module/post-time-to-read/variations.mjs +2 -2
  356. package/build-module/post-time-to-read/variations.mjs.map +2 -2
  357. package/build-module/preformatted/edit.mjs +1 -1
  358. package/build-module/preformatted/edit.mjs.map +2 -2
  359. package/build-module/pullquote/block.json +1 -3
  360. package/build-module/pullquote/deprecated.mjs +114 -9
  361. package/build-module/pullquote/deprecated.mjs.map +2 -2
  362. package/build-module/pullquote/edit.mjs +44 -72
  363. package/build-module/pullquote/edit.mjs.map +2 -2
  364. package/build-module/pullquote/save.mjs +5 -16
  365. package/build-module/pullquote/save.mjs.map +2 -2
  366. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs +1 -1
  367. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.mjs.map +1 -1
  368. package/build-module/query/edit/inspector-controls/order-control.mjs +2 -2
  369. package/build-module/query/edit/inspector-controls/order-control.mjs.map +2 -2
  370. package/build-module/query/utils.mjs +2 -2
  371. package/build-module/query/utils.mjs.map +2 -2
  372. package/build-module/query-pagination-next/edit.mjs +2 -2
  373. package/build-module/query-pagination-next/edit.mjs.map +1 -1
  374. package/build-module/query-pagination-previous/edit.mjs +2 -2
  375. package/build-module/query-pagination-previous/edit.mjs.map +1 -1
  376. package/build-module/query-title/edit.mjs +1 -1
  377. package/build-module/query-title/edit.mjs.map +2 -2
  378. package/build-module/query-total/edit.mjs +1 -1
  379. package/build-module/query-total/edit.mjs.map +2 -2
  380. package/build-module/quote/edit.mjs +5 -10
  381. package/build-module/quote/edit.mjs.map +2 -2
  382. package/build-module/quote/index.mjs +1 -1
  383. package/build-module/quote/index.mjs.map +2 -2
  384. package/build-module/read-more/edit.mjs +1 -1
  385. package/build-module/read-more/edit.mjs.map +2 -2
  386. package/build-module/rss/edit.mjs +1 -1
  387. package/build-module/rss/edit.mjs.map +2 -2
  388. package/build-module/search/edit.mjs +3 -3
  389. package/build-module/search/edit.mjs.map +2 -2
  390. package/build-module/shortcode/edit.mjs +1 -1
  391. package/build-module/shortcode/edit.mjs.map +2 -2
  392. package/build-module/shortcode/transforms.mjs +2 -2
  393. package/build-module/shortcode/transforms.mjs.map +2 -2
  394. package/build-module/site-tagline/edit.mjs +1 -1
  395. package/build-module/site-tagline/edit.mjs.map +2 -2
  396. package/build-module/site-title/edit.mjs +1 -1
  397. package/build-module/site-title/edit.mjs.map +2 -2
  398. package/build-module/tab-list/block.json +34 -21
  399. package/build-module/tab-list/edit.mjs +122 -15
  400. package/build-module/tab-list/edit.mjs.map +2 -2
  401. package/build-module/tab-list/save.mjs +29 -4
  402. package/build-module/tab-list/save.mjs.map +2 -2
  403. package/build-module/tab-panel/add-tab-toolbar-control.mjs +19 -8
  404. package/build-module/tab-panel/add-tab-toolbar-control.mjs.map +2 -2
  405. package/build-module/tab-panel/block.json +2 -6
  406. package/build-module/tab-panel/remove-tab-toolbar-control.mjs +9 -14
  407. package/build-module/tab-panel/remove-tab-toolbar-control.mjs.map +2 -2
  408. package/build-module/tab-panels/block.json +2 -27
  409. package/build-module/table/index.mjs +1 -1
  410. package/build-module/table/index.mjs.map +2 -2
  411. package/build-module/tabs/block.json +3 -17
  412. package/build-module/tabs/edit.mjs +7 -21
  413. package/build-module/tabs/edit.mjs.map +2 -2
  414. package/build-module/tabs/index.mjs +6 -10
  415. package/build-module/tabs/index.mjs.map +2 -2
  416. package/build-module/tabs/use-tab-list-items-sync.mjs +32 -0
  417. package/build-module/tabs/use-tab-list-items-sync.mjs.map +7 -0
  418. package/build-module/tabs/view.mjs +2 -10
  419. package/build-module/tabs/view.mjs.map +2 -2
  420. package/build-module/terms-query/edit/inspector-controls/order-control.mjs +2 -2
  421. package/build-module/terms-query/edit/inspector-controls/order-control.mjs.map +2 -2
  422. package/build-module/utils/style-state.mjs +132 -0
  423. package/build-module/utils/style-state.mjs.map +7 -0
  424. package/build-module/utils/waveform-player.mjs +44 -11
  425. package/build-module/utils/waveform-player.mjs.map +2 -2
  426. package/build-module/utils/waveform-utils.mjs +6 -4
  427. package/build-module/utils/waveform-utils.mjs.map +2 -2
  428. package/build-module/verse/edit.mjs +1 -1
  429. package/build-module/verse/edit.mjs.map +2 -2
  430. package/build-module/video/edit-common-settings.mjs +4 -7
  431. package/build-module/video/edit-common-settings.mjs.map +2 -2
  432. package/build-style/comment-template/style-rtl.css +1 -0
  433. package/build-style/comment-template/style.css +1 -0
  434. package/build-style/common-rtl.css +30 -10
  435. package/build-style/common.css +30 -10
  436. package/build-style/cover/style-rtl.css +2 -1
  437. package/build-style/cover/style.css +2 -1
  438. package/build-style/editor-rtl.css +34 -27
  439. package/build-style/editor.css +34 -27
  440. package/build-style/form-input/style-rtl.css +2 -0
  441. package/build-style/form-input/style.css +2 -0
  442. package/build-style/gallery/style-rtl.css +4 -2
  443. package/build-style/gallery/style.css +4 -2
  444. package/build-style/icon/style-rtl.css +9 -0
  445. package/build-style/icon/style.css +9 -0
  446. package/build-style/media-text/style-rtl.css +2 -1
  447. package/build-style/media-text/style.css +2 -1
  448. package/build-style/playlist/style-rtl.css +3 -0
  449. package/build-style/playlist/style.css +3 -0
  450. package/build-style/query/editor-rtl.css +8 -4
  451. package/build-style/query/editor.css +8 -4
  452. package/build-style/read-more/style-rtl.css +1 -0
  453. package/build-style/read-more/style.css +1 -0
  454. package/build-style/reset-rtl.css +3 -1
  455. package/build-style/reset.css +3 -1
  456. package/build-style/search/style-rtl.css +3 -1
  457. package/build-style/search/style.css +3 -1
  458. package/build-style/site-logo/editor-rtl.css +2 -1
  459. package/build-style/site-logo/editor.css +2 -1
  460. package/build-style/style-rtl.css +64 -41
  461. package/build-style/style.css +64 -41
  462. package/build-style/tab-list/editor-rtl.css +12 -4
  463. package/build-style/tab-list/editor.css +12 -4
  464. package/build-style/{tab → tab-list}/style-rtl.css +5 -3
  465. package/build-style/{tab → tab-list}/style.css +5 -3
  466. package/build-style/tab-panel/style-rtl.css +0 -17
  467. package/build-style/tab-panel/style.css +0 -17
  468. package/build-style/template-part/editor-rtl.css +8 -4
  469. package/build-style/template-part/editor.css +8 -4
  470. package/build-style/video/style-rtl.css +2 -1
  471. package/build-style/video/style.css +2 -1
  472. package/package.json +55 -48
  473. package/src/accordion/README.md +97 -0
  474. package/src/accordion-heading/README.md +81 -0
  475. package/src/accordion-item/README.md +85 -0
  476. package/src/accordion-panel/README.md +74 -0
  477. package/src/archives/README.md +56 -0
  478. package/src/audio/README.md +55 -0
  479. package/src/avatar/README.md +74 -0
  480. package/src/avatar/index.php +2 -2
  481. package/src/block/README.md +56 -0
  482. package/src/block/index.php +2 -26
  483. package/src/breadcrumbs/README.md +67 -0
  484. package/src/button/README.md +93 -0
  485. package/src/buttons/README.md +80 -0
  486. package/src/calendar/README.md +51 -0
  487. package/src/categories/README.md +69 -0
  488. package/src/code/README.md +55 -0
  489. package/src/column/README.md +72 -0
  490. package/src/columns/README.md +90 -0
  491. package/src/columns/test/transforms.js +164 -0
  492. package/src/columns/transforms.js +74 -0
  493. package/src/comment-author-avatar/README.md +63 -0
  494. package/src/comment-author-avatar/index.php +3 -3
  495. package/src/comment-author-name/README.md +67 -0
  496. package/src/comment-author-name/index.php +1 -1
  497. package/src/comment-content/README.md +61 -0
  498. package/src/comment-date/README.md +67 -0
  499. package/src/comment-date/index.php +1 -1
  500. package/src/comment-edit-link/README.md +67 -0
  501. package/src/comment-reply-link/README.md +63 -0
  502. package/src/comment-template/README.md +60 -0
  503. package/src/comments/README.md +88 -0
  504. package/src/comments-pagination/README.md +77 -0
  505. package/src/comments-pagination-next/README.md +64 -0
  506. package/src/comments-pagination-numbers/README.md +64 -0
  507. package/src/comments-pagination-previous/README.md +64 -0
  508. package/src/comments-title/README.md +70 -0
  509. package/src/common.scss +63 -10
  510. package/src/cover/README.md +111 -0
  511. package/src/cover/edit/block-controls.js +14 -2
  512. package/src/cover/edit/index.js +86 -0
  513. package/src/cover/edit/inspector-controls.js +124 -54
  514. package/src/details/README.md +65 -0
  515. package/src/editor.scss +0 -1
  516. package/src/embed/README.md +56 -0
  517. package/src/file/README.md +60 -0
  518. package/src/file/edit.js +3 -16
  519. package/src/file/index.js +2 -0
  520. package/src/file/transforms.js +12 -31
  521. package/src/file/variations.js +17 -0
  522. package/src/footnotes/README.md +64 -0
  523. package/src/form/README.md +90 -0
  524. package/src/form-input/README.md +74 -0
  525. package/src/form-submission-notification/README.md +50 -0
  526. package/src/form-submit-button/README.md +54 -0
  527. package/src/freeform/README.md +49 -0
  528. package/src/gallery/README.md +115 -0
  529. package/src/gallery/edit.js +214 -351
  530. package/src/gallery/test/transforms.js +155 -0
  531. package/src/gallery/transforms.js +47 -0
  532. package/src/group/README.md +80 -0
  533. package/src/heading/README.md +60 -0
  534. package/src/heading/edit.js +1 -2
  535. package/src/home-link/README.md +66 -0
  536. package/src/home-link/index.php +3 -15
  537. package/src/html/README.md +48 -0
  538. package/src/icon/README.md +66 -0
  539. package/src/icon/block.json +12 -0
  540. package/src/icon/edit.js +86 -36
  541. package/src/icon/index.js +3 -1
  542. package/src/icon/index.php +23 -0
  543. package/src/icon/style.scss +12 -0
  544. package/src/icon/variations.js +9 -0
  545. package/src/image/README.md +103 -0
  546. package/src/image/block.json +1 -0
  547. package/src/image/edit.js +8 -3
  548. package/src/image/image.js +120 -54
  549. package/src/image/index.php +4 -5
  550. package/src/image/transforms.js +34 -8
  551. package/src/index.js +4 -11
  552. package/src/latest-comments/README.md +57 -0
  553. package/src/latest-posts/README.md +71 -0
  554. package/src/list/README.md +70 -0
  555. package/src/list/edit.js +2 -9
  556. package/src/list/ordered-list-settings.js +46 -92
  557. package/src/list-item/README.md +71 -0
  558. package/src/list-item/hooks/use-merge.js +53 -46
  559. package/src/loginout/README.md +56 -0
  560. package/src/math/README.md +50 -0
  561. package/src/media-text/README.md +92 -0
  562. package/src/missing/README.md +55 -0
  563. package/src/more/README.md +49 -0
  564. package/src/navigation/README.md +115 -0
  565. package/src/navigation/edit/index.js +33 -40
  566. package/src/navigation/index.php +58 -0
  567. package/src/navigation-link/README.md +93 -0
  568. package/src/navigation-link/edit.js +0 -1
  569. package/src/navigation-link/index.php +1 -15
  570. package/src/navigation-overlay-close/README.md +48 -0
  571. package/src/navigation-submenu/README.md +89 -0
  572. package/src/navigation-submenu/block.json +7 -0
  573. package/src/navigation-submenu/edit.js +1 -0
  574. package/src/navigation-submenu/index.php +1 -17
  575. package/src/nextpage/README.md +50 -0
  576. package/src/page-list/README.md +84 -0
  577. package/src/page-list/block.json +2 -5
  578. package/src/page-list/edit.js +0 -11
  579. package/src/page-list/index.php +4 -16
  580. package/src/page-list-item/README.md +77 -0
  581. package/src/paragraph/README.md +70 -0
  582. package/src/paragraph/deprecated.js +1 -0
  583. package/src/paragraph/edit.js +13 -1
  584. package/src/pattern/README.md +45 -0
  585. package/src/playlist/README.md +86 -0
  586. package/src/playlist/block.json +12 -0
  587. package/src/playlist/edit.js +27 -0
  588. package/src/playlist/index.php +10 -3
  589. package/src/playlist/save.js +9 -1
  590. package/src/playlist/style.scss +7 -0
  591. package/src/playlist/view.js +1 -0
  592. package/src/playlist-track/README.md +69 -0
  593. package/src/post-author/README.md +78 -0
  594. package/src/post-author-biography/README.md +59 -0
  595. package/src/post-author-name/README.md +63 -0
  596. package/src/post-author-name/index.php +1 -1
  597. package/src/post-comment/README.md +61 -0
  598. package/src/post-comments-count/README.md +58 -0
  599. package/src/post-comments-form/README.md +59 -0
  600. package/src/post-comments-link/README.md +60 -0
  601. package/src/post-content/README.md +71 -0
  602. package/src/post-date/README.md +65 -0
  603. package/src/post-date/edit.js +2 -2
  604. package/src/post-date/index.php +1 -1
  605. package/src/post-excerpt/README.md +66 -0
  606. package/src/post-featured-image/README.md +86 -0
  607. package/src/post-featured-image/block.json +1 -0
  608. package/src/post-featured-image/dimension-controls.js +105 -184
  609. package/src/post-featured-image/edit.js +53 -21
  610. package/src/post-featured-image/index.php +25 -23
  611. package/src/post-navigation-link/README.md +63 -0
  612. package/src/post-template/README.md +71 -0
  613. package/src/post-terms/README.md +65 -0
  614. package/src/post-time-to-read/README.md +63 -0
  615. package/src/post-time-to-read/index.js +1 -1
  616. package/src/post-time-to-read/variations.js +2 -2
  617. package/src/post-title/README.md +69 -0
  618. package/src/preformatted/README.md +50 -0
  619. package/src/pullquote/README.md +64 -0
  620. package/src/pullquote/block.json +1 -3
  621. package/src/pullquote/deprecated.js +121 -9
  622. package/src/pullquote/edit.js +8 -38
  623. package/src/pullquote/save.js +2 -13
  624. package/src/query/README.md +64 -0
  625. package/src/query-no-results/README.md +65 -0
  626. package/src/query-pagination/README.md +79 -0
  627. package/src/query-pagination-next/README.md +67 -0
  628. package/src/query-pagination-numbers/README.md +65 -0
  629. package/src/query-pagination-previous/README.md +67 -0
  630. package/src/query-title/README.md +65 -0
  631. package/src/query-total/README.md +66 -0
  632. package/src/quote/README.md +75 -0
  633. package/src/quote/edit.js +3 -9
  634. package/src/read-more/README.md +61 -0
  635. package/src/read-more/index.php +2 -2
  636. package/src/rss/README.md +62 -0
  637. package/src/search/README.md +66 -0
  638. package/src/search/index.php +1 -1
  639. package/src/separator/README.md +62 -0
  640. package/src/shortcode/README.md +44 -0
  641. package/src/shortcode/transforms.js +2 -2
  642. package/src/site-logo/README.md +72 -0
  643. package/src/site-tagline/README.md +56 -0
  644. package/src/site-title/README.md +57 -0
  645. package/src/social-link/README.md +64 -0
  646. package/src/social-links/README.md +98 -0
  647. package/src/spacer/README.md +53 -0
  648. package/src/style.scss +1 -2
  649. package/src/tab-list/README.md +81 -0
  650. package/src/tab-list/block.json +34 -21
  651. package/src/tab-list/edit.js +147 -15
  652. package/src/tab-list/editor.scss +13 -6
  653. package/src/tab-list/index.php +23 -30
  654. package/src/tab-list/save.js +39 -4
  655. package/src/{tab → tab-list}/style.scss +1 -1
  656. package/src/tab-panel/README.md +72 -0
  657. package/src/tab-panel/add-tab-toolbar-control.js +24 -11
  658. package/src/tab-panel/block.json +2 -6
  659. package/src/tab-panel/remove-tab-toolbar-control.js +10 -14
  660. package/src/tab-panel/style.scss +0 -17
  661. package/src/tab-panels/README.md +59 -0
  662. package/src/tab-panels/block.json +2 -27
  663. package/src/table/README.md +71 -0
  664. package/src/table-of-contents/README.md +61 -0
  665. package/src/tabs/README.md +77 -0
  666. package/src/tabs/block.json +3 -17
  667. package/src/tabs/edit.js +8 -19
  668. package/src/tabs/index.js +6 -10
  669. package/src/tabs/index.php +0 -13
  670. package/src/tabs/use-tab-list-items-sync.js +49 -0
  671. package/src/tabs/view.js +2 -10
  672. package/src/tag-cloud/README.md +62 -0
  673. package/src/template-part/README.md +48 -0
  674. package/src/term-count/README.md +59 -0
  675. package/src/term-description/README.md +60 -0
  676. package/src/term-name/README.md +65 -0
  677. package/src/term-template/README.md +65 -0
  678. package/src/terms-query/README.md +58 -0
  679. package/src/text-columns/README.md +51 -0
  680. package/src/utils/style-state.js +151 -0
  681. package/src/utils/test/style-state.js +307 -0
  682. package/src/utils/test/waveform-player.js +254 -0
  683. package/src/utils/waveform-player.js +90 -18
  684. package/src/utils/waveform-utils.js +15 -11
  685. package/src/verse/README.md +58 -0
  686. package/src/video/README.md +58 -0
  687. package/src/video/edit-common-settings.js +4 -7
  688. package/babel-plugin.cjs +0 -150
  689. package/build/tab/block.json +0 -56
  690. package/build/tab/controls.cjs +0 -46
  691. package/build/tab/controls.cjs.map +0 -7
  692. package/build/tab/edit.cjs +0 -135
  693. package/build/tab/edit.cjs.map +0 -7
  694. package/build/tab/index.cjs +0 -58
  695. package/build/tab/index.cjs.map +0 -7
  696. package/build/tab/save.cjs.map +0 -7
  697. package/build/tabs/use-tab-list-sync.cjs +0 -190
  698. package/build/tabs/use-tab-list-sync.cjs.map +0 -7
  699. package/build-module/tab/block.json +0 -56
  700. package/build-module/tab/controls.mjs +0 -15
  701. package/build-module/tab/controls.mjs.map +0 -7
  702. package/build-module/tab/edit.mjs +0 -108
  703. package/build-module/tab/edit.mjs.map +0 -7
  704. package/build-module/tab/index.mjs +0 -20
  705. package/build-module/tab/index.mjs.map +0 -7
  706. package/build-module/tab/save.mjs +0 -14
  707. package/build-module/tab/save.mjs.map +0 -7
  708. package/build-module/tabs/use-tab-list-sync.mjs +0 -169
  709. package/build-module/tabs/use-tab-list-sync.mjs.map +0 -7
  710. package/build-style/tab/editor-rtl.css +0 -11
  711. package/build-style/tab/editor.css +0 -11
  712. package/build-style/tab-panels/style-rtl.css +0 -4
  713. package/build-style/tab-panels/style.css +0 -4
  714. package/src/audio/edit.native.js +0 -250
  715. package/src/audio/style.native.scss +0 -13
  716. package/src/audio/test/__snapshots__/edit.native.js.snap +0 -546
  717. package/src/audio/test/__snapshots__/transforms.native.js.snap +0 -25
  718. package/src/audio/test/edit.native.js +0 -132
  719. package/src/audio/test/transforms.native.js +0 -43
  720. package/src/audio/transforms.native.js +0 -12
  721. package/src/block/edit-title.native.js +0 -67
  722. package/src/block/edit.native.js +0 -247
  723. package/src/block/editor.native.scss +0 -125
  724. package/src/block/test/__snapshots__/transforms.native.js.snap +0 -15
  725. package/src/block/test/edit.native.js +0 -262
  726. package/src/block/test/transforms.native.js +0 -40
  727. package/src/button/color-background.native.js +0 -41
  728. package/src/button/edit.native.js +0 -567
  729. package/src/button/editor.native.scss +0 -70
  730. package/src/button/rich-text.android.scss +0 -6
  731. package/src/button/rich-text.ios.scss +0 -6
  732. package/src/buttons/edit.native.js +0 -157
  733. package/src/buttons/editor.native.scss +0 -11
  734. package/src/buttons/test/__snapshots__/edit.native.js.snap +0 -99
  735. package/src/buttons/test/__snapshots__/transforms.native.js.snap +0 -31
  736. package/src/buttons/test/edit.native.js +0 -485
  737. package/src/buttons/test/transforms.native.js +0 -48
  738. package/src/buttons/transforms.native.js +0 -12
  739. package/src/code/edit.native.js +0 -70
  740. package/src/code/test/__snapshots__/edit.native.js.snap +0 -13
  741. package/src/code/test/edit.native.js +0 -65
  742. package/src/code/theme.native.scss +0 -22
  743. package/src/code/transforms.native.js +0 -12
  744. package/src/column/column-preview.native.js +0 -58
  745. package/src/column/edit.native.js +0 -273
  746. package/src/column/editor.native.scss +0 -75
  747. package/src/columns/columnCalculations.native.js +0 -178
  748. package/src/columns/edit.native.js +0 -507
  749. package/src/columns/editor.native.scss +0 -17
  750. package/src/columns/test/__snapshots__/edit.native.js.snap +0 -305
  751. package/src/columns/test/__snapshots__/transforms.native.js.snap +0 -61
  752. package/src/columns/test/edit.native.js +0 -496
  753. package/src/columns/test/transforms.native.js +0 -89
  754. package/src/columns/transforms.native.js +0 -12
  755. package/src/cover/controls.native.js +0 -307
  756. package/src/cover/edit.native.js +0 -708
  757. package/src/cover/focal-point-settings-button.native.js +0 -53
  758. package/src/cover/overlay-color-settings.native.js +0 -106
  759. package/src/cover/style.native.scss +0 -220
  760. package/src/cover/test/__snapshots__/edit.native.js.snap +0 -105
  761. package/src/cover/test/__snapshots__/transforms.native.js.snap +0 -73
  762. package/src/cover/test/edit.native.js +0 -701
  763. package/src/cover/test/transforms.native.js +0 -116
  764. package/src/cover/transforms.native.js +0 -12
  765. package/src/cover/use-cover-is-dark.native.js +0 -51
  766. package/src/embed/edit.native.js +0 -345
  767. package/src/embed/embed-controls.native.js +0 -65
  768. package/src/embed/embed-link-settings.native.js +0 -99
  769. package/src/embed/embed-loading.native.js +0 -29
  770. package/src/embed/embed-no-preview.native.js +0 -230
  771. package/src/embed/embed-placeholder.native.js +0 -178
  772. package/src/embed/embed-preview.native.js +0 -157
  773. package/src/embed/styles.native.scss +0 -196
  774. package/src/embed/test/__snapshots__/index.native.js.snap +0 -191
  775. package/src/embed/test/__snapshots__/transforms.native.js.snap +0 -23
  776. package/src/embed/test/index.native.js +0 -1125
  777. package/src/embed/test/transforms.native.js +0 -44
  778. package/src/embed/transforms.native.js +0 -12
  779. package/src/embed/wp-embed-preview.native.js +0 -80
  780. package/src/file/edit.native.js +0 -605
  781. package/src/file/style.native.scss +0 -79
  782. package/src/file/test/__snapshots__/edit.native.js.snap +0 -580
  783. package/src/file/test/__snapshots__/transforms.native.js.snap +0 -19
  784. package/src/file/test/edit.native.js +0 -93
  785. package/src/file/test/transforms.native.js +0 -43
  786. package/src/file/transforms.native.js +0 -12
  787. package/src/freeform/edit.native.js +0 -13
  788. package/src/freeform/test/__snapshots__/index.native.js.snap +0 -7
  789. package/src/freeform/test/__snapshots__/transforms.native.js.snap +0 -19
  790. package/src/freeform/test/index.native.js +0 -57
  791. package/src/freeform/test/transforms.native.js +0 -39
  792. package/src/gallery/gallery-styles.native.scss +0 -8
  793. package/src/gallery/gallery.native.js +0 -124
  794. package/src/gallery/styles.native.scss +0 -7
  795. package/src/gallery/test/__snapshots__/index.native.js.snap +0 -177
  796. package/src/gallery/test/__snapshots__/transforms.native.js.snap +0 -53
  797. package/src/gallery/test/helpers.native.js +0 -106
  798. package/src/gallery/test/index.native.js +0 -700
  799. package/src/gallery/test/transforms.native.js +0 -53
  800. package/src/gallery/test/use-get-media.native.js +0 -24
  801. package/src/gallery/transforms.native.js +0 -12
  802. package/src/gallery/use-get-media.native.js +0 -49
  803. package/src/group/edit.native.js +0 -137
  804. package/src/group/editor.native.scss +0 -56
  805. package/src/group/test/__snapshots__/edit.native.js.snap +0 -19
  806. package/src/group/test/__snapshots__/transforms.native.js.snap +0 -35
  807. package/src/group/test/edit.native.js +0 -100
  808. package/src/group/test/transforms.native.js +0 -73
  809. package/src/heading/edit.native.js +0 -159
  810. package/src/heading/test/__snapshots__/index.native.js.snap +0 -43
  811. package/src/heading/test/__snapshots__/transforms.native.js.snap +0 -47
  812. package/src/heading/test/index.native.js +0 -257
  813. package/src/heading/test/transforms.native.js +0 -46
  814. package/src/heading/transforms.native.js +0 -12
  815. package/src/html/transforms.native.js +0 -11
  816. package/src/image/edit.native.js +0 -959
  817. package/src/image/styles.native.scss +0 -70
  818. package/src/image/test/__snapshots__/transforms.native.js.snap +0 -49
  819. package/src/image/test/edit.native.js +0 -459
  820. package/src/image/test/transforms.native.js +0 -49
  821. package/src/image/transforms.native.js +0 -12
  822. package/src/index.native.js +0 -274
  823. package/src/latest-posts/edit.native.js +0 -294
  824. package/src/latest-posts/style.native.scss +0 -47
  825. package/src/latest-posts/test/__snapshots__/edit.native.js.snap +0 -3
  826. package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +0 -15
  827. package/src/latest-posts/test/edit.native.js +0 -49
  828. package/src/latest-posts/test/transforms.native.js +0 -61
  829. package/src/list/tag-name.native.js +0 -12
  830. package/src/list/test/__snapshots__/edit.native.js.snap +0 -121
  831. package/src/list/test/__snapshots__/transforms.native.js.snap +0 -85
  832. package/src/list/test/edit.native.js +0 -602
  833. package/src/list/test/transforms.native.js +0 -56
  834. package/src/list/transforms.native.js +0 -12
  835. package/src/list-item/edit.native.js +0 -175
  836. package/src/list-item/hooks/use-enter.native.js +0 -81
  837. package/src/list-item/icons.native.js +0 -34
  838. package/src/list-item/list-style-type.native.js +0 -146
  839. package/src/list-item/style.native.scss +0 -57
  840. package/src/media-text/edit.native.js +0 -417
  841. package/src/media-text/icon-retry.native.js +0 -11
  842. package/src/media-text/media-container.native.js +0 -393
  843. package/src/media-text/style.native.scss +0 -191
  844. package/src/media-text/test/__snapshots__/transforms.native.js.snap +0 -73
  845. package/src/media-text/test/edit.native.js +0 -58
  846. package/src/media-text/test/transforms.native.js +0 -116
  847. package/src/media-text/transforms.native.js +0 -12
  848. package/src/missing/edit.native.js +0 -294
  849. package/src/missing/style.native.scss +0 -79
  850. package/src/missing/test/__snapshots__/edit.native.js.snap +0 -110
  851. package/src/missing/test/edit-integration.native.js +0 -168
  852. package/src/missing/test/edit.native.js +0 -81
  853. package/src/more/edit.native.js +0 -36
  854. package/src/more/editor.native.scss +0 -21
  855. package/src/more/test/__snapshots__/edit.native.js.snap +0 -7
  856. package/src/more/test/__snapshots__/transforms.native.js.snap +0 -19
  857. package/src/more/test/edit.native.js +0 -41
  858. package/src/more/test/transforms.native.js +0 -42
  859. package/src/more/transforms.native.js +0 -12
  860. package/src/navigation-link/shared/build-css-font-sizes.php +0 -43
  861. package/src/nextpage/edit.native.js +0 -58
  862. package/src/nextpage/editor.native.scss +0 -21
  863. package/src/nextpage/test/__snapshots__/transforms.native.js.snap +0 -19
  864. package/src/nextpage/test/transforms.native.js +0 -42
  865. package/src/nextpage/transforms.native.js +0 -12
  866. package/src/paragraph/edit.native.js +0 -116
  867. package/src/paragraph/test/__snapshots__/edit.native.js.snap +0 -88
  868. package/src/paragraph/test/__snapshots__/transforms.native.js.snap +0 -65
  869. package/src/paragraph/test/edit.native.js +0 -999
  870. package/src/paragraph/test/transforms.native.js +0 -51
  871. package/src/paragraph/transforms.native.js +0 -12
  872. package/src/preformatted/edit.native.js +0 -48
  873. package/src/preformatted/styles.native.scss +0 -30
  874. package/src/preformatted/test/__snapshots__/edit.native.js.snap +0 -95
  875. package/src/preformatted/test/__snapshots__/transforms.native.js.snap +0 -37
  876. package/src/preformatted/test/edit.native.js +0 -111
  877. package/src/preformatted/test/transforms.native.js +0 -47
  878. package/src/preformatted/transforms.native.js +0 -12
  879. package/src/pullquote/blockquote.native.js +0 -39
  880. package/src/pullquote/blockquote.native.scss +0 -8
  881. package/src/pullquote/edit.native.js +0 -128
  882. package/src/pullquote/figure.native.js +0 -33
  883. package/src/pullquote/figure.native.scss +0 -16
  884. package/src/pullquote/test/__snapshots__/transforms.native.js.snap +0 -47
  885. package/src/pullquote/test/edit.native.js +0 -73
  886. package/src/pullquote/test/transforms.native.js +0 -46
  887. package/src/pullquote/transforms.native.js +0 -12
  888. package/src/quote/test/__snapshots__/transforms.native.js.snap +0 -49
  889. package/src/quote/test/edit.native.js +0 -94
  890. package/src/quote/test/transforms.native.js +0 -69
  891. package/src/quote/transforms.native.js +0 -12
  892. package/src/search/edit.native.js +0 -486
  893. package/src/search/style.native.scss +0 -99
  894. package/src/search/test/__snapshots__/edit.native.js.snap +0 -827
  895. package/src/search/test/__snapshots__/transforms.native.js.snap +0 -15
  896. package/src/search/test/edit.native.js +0 -170
  897. package/src/search/test/transforms.native.js +0 -40
  898. package/src/separator/separator-settings.native.js +0 -3
  899. package/src/separator/test/__snapshots__/edit.native.js.snap +0 -7
  900. package/src/separator/test/__snapshots__/transforms.native.js.snap +0 -25
  901. package/src/separator/test/edit.native.js +0 -41
  902. package/src/separator/test/transforms.native.js +0 -42
  903. package/src/separator/transforms.native.js +0 -12
  904. package/src/shortcode/edit.native.js +0 -77
  905. package/src/shortcode/style.native.scss +0 -44
  906. package/src/shortcode/test/__snapshots__/edit.native.js.snap +0 -9
  907. package/src/shortcode/test/__snapshots__/transforms.native.js.snap +0 -19
  908. package/src/shortcode/test/edit.native.js +0 -70
  909. package/src/shortcode/test/transforms.native.js +0 -42
  910. package/src/shortcode/transforms.native.js +0 -12
  911. package/src/social-link/edit.native.js +0 -219
  912. package/src/social-link/editor.native.scss +0 -18
  913. package/src/social-links/edit.native.js +0 -147
  914. package/src/social-links/editor.native.scss +0 -25
  915. package/src/social-links/test/__snapshots__/edit.native.js.snap +0 -57
  916. package/src/social-links/test/__snapshots__/transforms.native.js.snap +0 -31
  917. package/src/social-links/test/edit.native.js +0 -266
  918. package/src/social-links/test/transforms.native.js +0 -53
  919. package/src/spacer/controls.native.js +0 -86
  920. package/src/spacer/edit.native.js +0 -110
  921. package/src/spacer/editor.native.scss +0 -18
  922. package/src/spacer/save.native.js +0 -18
  923. package/src/spacer/test/__snapshots__/index.native.js.snap +0 -43
  924. package/src/spacer/test/__snapshots__/transforms.native.js.snap +0 -25
  925. package/src/spacer/test/index.native.js +0 -257
  926. package/src/spacer/test/transforms.native.js +0 -42
  927. package/src/tab/block.json +0 -56
  928. package/src/tab/controls.js +0 -19
  929. package/src/tab/edit.js +0 -141
  930. package/src/tab/editor.scss +0 -14
  931. package/src/tab/index.js +0 -24
  932. package/src/tab/index.php +0 -70
  933. package/src/tab/save.js +0 -13
  934. package/src/tab-panels/style.scss +0 -4
  935. package/src/table/transforms.native.js +0 -11
  936. package/src/tabs/use-tab-list-sync.js +0 -237
  937. package/src/text-columns/transforms.native.js +0 -12
  938. package/src/utils/init-block.native.js +0 -40
  939. package/src/utils/transformation-categories.native.js +0 -47
  940. package/src/verse/test/__snapshots__/edit.native.js.snap +0 -13
  941. package/src/verse/test/__snapshots__/transforms.native.js.snap +0 -31
  942. package/src/verse/test/edit.native.js +0 -118
  943. package/src/verse/test/transforms.native.js +0 -46
  944. package/src/verse/transforms.native.js +0 -12
  945. package/src/video/edit.native.js +0 -406
  946. package/src/video/icon-retry.native.js +0 -11
  947. package/src/video/style.native.scss +0 -81
  948. package/src/video/test/__snapshots__/transforms.native.js.snap +0 -41
  949. package/src/video/test/edit.native.js +0 -53
  950. package/src/video/test/transforms.native.js +0 -49
  951. package/src/video/transforms.native.js +0 -12
@@ -30,18 +30,7 @@
30
30
  }
31
31
  },
32
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
33
+ "allowEditing": false
45
34
  },
46
35
  "html": false,
47
36
  "interactivity": true,
@@ -53,16 +42,13 @@
53
42
  "typography": {
54
43
  "fontSize": true,
55
44
  "__experimentalFontFamily": true
56
- },
57
- "renaming": true
45
+ }
58
46
  },
59
47
  "providesContext": {
60
48
  "core/tabs-activeTabIndex": "activeTabIndex",
61
49
  "core/tabs-editorActiveTabIndex": "editorActiveTabIndex"
62
50
  },
63
51
  "usesContext": [ "core/tabs-list", "core/tabs-id" ],
64
- "editorScript": "file:./index.js",
65
- "editorStyle": "file:./index.css",
66
- "style": "file:./style-index.css",
52
+ "style": "wp-block-tabs",
67
53
  "viewScriptModule": "@wordpress/block-library/tabs/view"
68
54
  }
@@ -37,37 +37,30 @@ var import_block_editor = require("@wordpress/block-editor");
37
37
  var import_data = require("@wordpress/data");
38
38
  var import_element = require("@wordpress/element");
39
39
  var import_controls = __toESM(require("./controls.cjs"));
40
- var import_use_tab_list_sync = __toESM(require("./use-tab-list-sync.cjs"));
40
+ var import_use_tab_list_items_sync = __toESM(require("./use-tab-list-items-sync.cjs"));
41
41
  var import_jsx_runtime = require("react/jsx-runtime");
42
42
  var EMPTY_ARRAY = [];
43
43
  var TABS_TEMPLATE = [["core/tab-list"], ["core/tab-panels"]];
44
- function Edit({ clientId, attributes, setAttributes }) {
44
+ function Edit({ clientId, attributes }) {
45
45
  const { anchor, activeTabIndex, editorActiveTabIndex } = attributes;
46
- const { tabPanels, tabPanelsClientId, tabs, tabListClientId } = (0, import_data.useSelect)(
46
+ const { tabPanels, tabListClientId } = (0, import_data.useSelect)(
47
47
  (select) => {
48
48
  const { getBlocks } = select(import_block_editor.store);
49
49
  const innerBlocks = getBlocks(clientId);
50
- const tabPanelBlocks = innerBlocks.find(
50
+ const tabPanelsBlock = innerBlocks.find(
51
51
  (block) => block.name === "core/tab-panels"
52
52
  );
53
53
  const tabList = innerBlocks.find(
54
54
  (block) => block.name === "core/tab-list"
55
55
  );
56
56
  return {
57
- tabPanels: tabPanelBlocks?.innerBlocks ?? EMPTY_ARRAY,
58
- tabPanelsClientId: tabPanelBlocks?.clientId ?? null,
59
- tabs: tabList?.innerBlocks ?? EMPTY_ARRAY,
57
+ tabPanels: tabPanelsBlock?.innerBlocks ?? EMPTY_ARRAY,
60
58
  tabListClientId: tabList?.clientId ?? null
61
59
  };
62
60
  },
63
61
  [clientId]
64
62
  );
65
- (0, import_use_tab_list_sync.default)({
66
- tabPanels,
67
- tabs,
68
- tabPanelsClientId,
69
- tabListClientId
70
- });
63
+ (0, import_use_tab_list_items_sync.default)({ tabPanels, tabListClientId });
71
64
  const contextValue = (0, import_element.useMemo)(() => {
72
65
  const tabList = tabPanels.map((tab, index) => ({
73
66
  id: tab.attributes.anchor || `tab-${index}`,
@@ -90,14 +83,7 @@ function Edit({ clientId, attributes, setAttributes }) {
90
83
  renderAppender: false
91
84
  });
92
85
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_block_editor.BlockContextProvider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { ...innerBlockProps, children: [
93
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
94
- import_controls.default,
95
- {
96
- clientId,
97
- attributes,
98
- setAttributes
99
- }
100
- ),
86
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_controls.default, { clientId }),
101
87
  innerBlockProps.children
102
88
  ] }) });
103
89
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tabs/edit.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockContextProvider,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Controls from './controls';\nimport useTabListSync from './use-tab-list-sync';\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Only the two structural child blocks are specified here \u2014 without inner\n * block entries for core/tab-list or core/tab-panels.\n *\n * If inner blocks were included in this template, `synchronizeBlocksWithTemplate`\n * (called whenever templateLock === 'all') would recurse into the containers and\n * truncate them to the template count, causing data loss when a saved block with\n * more than two tabs is re-opened in the editor.\n *\n * Initial tab/panel creation is delegated to the tab-panels template in\n * tab-panels/edit.js (templateLock: false, applied only when empty).\n */\nconst TABS_TEMPLATE = [ [ 'core/tab-list' ], [ 'core/tab-panels' ] ];\n\nfunction Edit( { clientId, attributes, setAttributes } ) {\n\tconst { anchor, activeTabIndex, editorActiveTabIndex } = attributes;\n\n\tconst { tabPanels, tabPanelsClientId, tabs, tabListClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst tabPanelBlocks = innerBlocks.find(\n\t\t\t\t( block ) => block.name === 'core/tab-panels'\n\t\t\t);\n\t\t\tconst tabList = innerBlocks.find(\n\t\t\t\t( block ) => block.name === 'core/tab-list'\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\ttabPanels: tabPanelBlocks?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\ttabPanelsClientId: tabPanelBlocks?.clientId ?? null,\n\t\t\t\ttabs: tabList?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\ttabListClientId: tabList?.clientId ?? null,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseTabListSync( {\n\t\ttabPanels,\n\t\ttabs,\n\t\ttabPanelsClientId,\n\t\ttabListClientId,\n\t} );\n\n\t/**\n\t * Memoize context value to prevent unnecessary re-renders.\n\t */\n\tconst contextValue = useMemo( () => {\n\t\t/**\n\t\t * Compute tabs list from innerblocks to provide via context.\n\t\t * This traverses the tab-panel block to find all tab blocks\n\t\t * and extracts their label and anchor for the tab-list to consume.\n\t\t */\n\t\tconst tabList = tabPanels.map( ( tab, index ) => ( {\n\t\t\tid: tab.attributes.anchor || `tab-${ index }`,\n\t\t\tlabel: tab.attributes.label || '',\n\t\t\tclientId: tab.clientId,\n\t\t\tindex,\n\t\t} ) );\n\n\t\treturn {\n\t\t\t'core/tabs-list': tabList,\n\t\t\t'core/tabs-id': anchor,\n\t\t\t'core/tabs-activeTabIndex': activeTabIndex,\n\t\t\t'core/tabs-editorActiveTabIndex': editorActiveTabIndex,\n\t\t};\n\t}, [ tabPanels, anchor, activeTabIndex, editorActiveTabIndex ] );\n\n\tconst blockProps = useBlockProps();\n\n\tconst innerBlockProps = useInnerBlocksProps( blockProps, {\n\t\t__experimentalCaptureToolbars: true,\n\t\ttemplate: TABS_TEMPLATE,\n\t\ttemplateLock: 'all',\n\t\trenderAppender: false,\n\t} );\n\n\treturn (\n\t\t<BlockContextProvider value={ contextValue }>\n\t\t\t<div { ...innerBlockProps }>\n\t\t\t\t<Controls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t\t{ innerBlockProps.children }\n\t\t\t</div>\n\t\t</BlockContextProvider>\n\t);\n}\n\nexport default Edit;\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAKO;AACP,kBAA0B;AAC1B,qBAAwB;AAKxB,sBAAqB;AACrB,+BAA2B;AAqFxB;AAnFH,IAAM,cAAc,CAAC;AAcrB,IAAM,gBAAgB,CAAE,CAAE,eAAgB,GAAG,CAAE,iBAAkB,CAAE;AAEnE,SAAS,KAAM,EAAE,UAAU,YAAY,cAAc,GAAI;AACxD,QAAM,EAAE,QAAQ,gBAAgB,qBAAqB,IAAI;AAEzD,QAAM,EAAE,WAAW,mBAAmB,MAAM,gBAAgB,QAAI;AAAA,IAC/D,CAAE,WAAY;AACb,YAAM,EAAE,UAAU,IAAI,OAAQ,oBAAAA,KAAiB;AAC/C,YAAM,cAAc,UAAW,QAAS;AAExC,YAAM,iBAAiB,YAAY;AAAA,QAClC,CAAE,UAAW,MAAM,SAAS;AAAA,MAC7B;AACA,YAAM,UAAU,YAAY;AAAA,QAC3B,CAAE,UAAW,MAAM,SAAS;AAAA,MAC7B;AAEA,aAAO;AAAA,QACN,WAAW,gBAAgB,eAAe;AAAA,QAC1C,mBAAmB,gBAAgB,YAAY;AAAA,QAC/C,MAAM,SAAS,eAAe;AAAA,QAC9B,iBAAiB,SAAS,YAAY;AAAA,MACvC;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AAEA,+BAAAC,SAAgB;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AAKF,QAAM,mBAAe,wBAAS,MAAM;AAMnC,UAAM,UAAU,UAAU,IAAK,CAAE,KAAK,WAAa;AAAA,MAClD,IAAI,IAAI,WAAW,UAAU,OAAQ,KAAM;AAAA,MAC3C,OAAO,IAAI,WAAW,SAAS;AAAA,MAC/B,UAAU,IAAI;AAAA,MACd;AAAA,IACD,EAAI;AAEJ,WAAO;AAAA,MACN,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,4BAA4B;AAAA,MAC5B,kCAAkC;AAAA,IACnC;AAAA,EACD,GAAG,CAAE,WAAW,QAAQ,gBAAgB,oBAAqB,CAAE;AAE/D,QAAM,iBAAa,mCAAc;AAEjC,QAAM,sBAAkB,yCAAqB,YAAY;AAAA,IACxD,+BAA+B;AAAA,IAC/B,UAAU;AAAA,IACV,cAAc;AAAA,IACd,gBAAgB;AAAA,EACjB,CAAE;AAEF,SACC,4CAAC,4CAAqB,OAAQ,cAC7B,uDAAC,SAAM,GAAG,iBACT;AAAA;AAAA,MAAC,gBAAAC;AAAA,MAAA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACD;AAAA,IACE,gBAAgB;AAAA,KACnB,GACD;AAEF;AAEA,IAAO,eAAQ;",
6
- "names": ["blockEditorStore", "useTabListSync", "Controls"]
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockContextProvider,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Controls from './controls';\nimport useTabListItemsSync from './use-tab-list-items-sync';\n\nconst EMPTY_ARRAY = [];\n\n/**\n * Only the two structural child blocks are specified here without inner\n * block entries for core/tab-list or core/tab-panels.\n *\n * If inner blocks were included in this template, `synchronizeBlocksWithTemplate`\n * (called whenever templateLock === 'all') would recurse into the containers and\n * truncate them to the template count, causing data loss when a saved block with\n * more than two tabs is re-opened in the editor.\n *\n * Initial tab/panel creation is delegated to the tab-panels template in\n * tab-panels/edit.js (templateLock: false, applied only when empty).\n */\nconst TABS_TEMPLATE = [ [ 'core/tab-list' ], [ 'core/tab-panels' ] ];\n\nfunction Edit( { clientId, attributes } ) {\n\tconst { anchor, activeTabIndex, editorActiveTabIndex } = attributes;\n\n\tconst { tabPanels, tabListClientId } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\tconst tabPanelsBlock = innerBlocks.find(\n\t\t\t\t( block ) => block.name === 'core/tab-panels'\n\t\t\t);\n\t\t\tconst tabList = innerBlocks.find(\n\t\t\t\t( block ) => block.name === 'core/tab-list'\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\ttabPanels: tabPanelsBlock?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\ttabListClientId: tabList?.clientId ?? null,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseTabListItemsSync( { tabPanels, tabListClientId } );\n\n\t/**\n\t * Memoize context value to prevent unnecessary re-renders.\n\t */\n\tconst contextValue = useMemo( () => {\n\t\t/**\n\t\t * Compute tabs list from innerblocks to provide via context.\n\t\t * This traverses the tab-panels block to find all tab-panel blocks\n\t\t * and extracts their label and anchor for the tab-list to consume.\n\t\t */\n\t\tconst tabList = tabPanels.map( ( tab, index ) => ( {\n\t\t\tid: tab.attributes.anchor || `tab-${ index }`,\n\t\t\tlabel: tab.attributes.label || '',\n\t\t\tclientId: tab.clientId,\n\t\t\tindex,\n\t\t} ) );\n\n\t\treturn {\n\t\t\t'core/tabs-list': tabList,\n\t\t\t'core/tabs-id': anchor,\n\t\t\t'core/tabs-activeTabIndex': activeTabIndex,\n\t\t\t'core/tabs-editorActiveTabIndex': editorActiveTabIndex,\n\t\t};\n\t}, [ tabPanels, anchor, activeTabIndex, editorActiveTabIndex ] );\n\n\tconst blockProps = useBlockProps();\n\n\tconst innerBlockProps = useInnerBlocksProps( blockProps, {\n\t\t__experimentalCaptureToolbars: true,\n\t\ttemplate: TABS_TEMPLATE,\n\t\ttemplateLock: 'all',\n\t\trenderAppender: false,\n\t} );\n\n\treturn (\n\t\t<BlockContextProvider value={ contextValue }>\n\t\t\t<div { ...innerBlockProps }>\n\t\t\t\t<Controls clientId={ clientId } />\n\t\t\t\t{ innerBlockProps.children }\n\t\t\t</div>\n\t\t</BlockContextProvider>\n\t);\n}\n\nexport default Edit;\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAKO;AACP,kBAA0B;AAC1B,qBAAwB;AAKxB,sBAAqB;AACrB,qCAAgC;AA8E7B;AA5EH,IAAM,cAAc,CAAC;AAcrB,IAAM,gBAAgB,CAAE,CAAE,eAAgB,GAAG,CAAE,iBAAkB,CAAE;AAEnE,SAAS,KAAM,EAAE,UAAU,WAAW,GAAI;AACzC,QAAM,EAAE,QAAQ,gBAAgB,qBAAqB,IAAI;AAEzD,QAAM,EAAE,WAAW,gBAAgB,QAAI;AAAA,IACtC,CAAE,WAAY;AACb,YAAM,EAAE,UAAU,IAAI,OAAQ,oBAAAA,KAAiB;AAC/C,YAAM,cAAc,UAAW,QAAS;AAExC,YAAM,iBAAiB,YAAY;AAAA,QAClC,CAAE,UAAW,MAAM,SAAS;AAAA,MAC7B;AACA,YAAM,UAAU,YAAY;AAAA,QAC3B,CAAE,UAAW,MAAM,SAAS;AAAA,MAC7B;AAEA,aAAO;AAAA,QACN,WAAW,gBAAgB,eAAe;AAAA,QAC1C,iBAAiB,SAAS,YAAY;AAAA,MACvC;AAAA,IACD;AAAA,IACA,CAAE,QAAS;AAAA,EACZ;AAEA,qCAAAC,SAAqB,EAAE,WAAW,gBAAgB,CAAE;AAKpD,QAAM,mBAAe,wBAAS,MAAM;AAMnC,UAAM,UAAU,UAAU,IAAK,CAAE,KAAK,WAAa;AAAA,MAClD,IAAI,IAAI,WAAW,UAAU,OAAQ,KAAM;AAAA,MAC3C,OAAO,IAAI,WAAW,SAAS;AAAA,MAC/B,UAAU,IAAI;AAAA,MACd;AAAA,IACD,EAAI;AAEJ,WAAO;AAAA,MACN,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,MAChB,4BAA4B;AAAA,MAC5B,kCAAkC;AAAA,IACnC;AAAA,EACD,GAAG,CAAE,WAAW,QAAQ,gBAAgB,oBAAqB,CAAE;AAE/D,QAAM,iBAAa,mCAAc;AAEjC,QAAM,sBAAkB,yCAAqB,YAAY;AAAA,IACxD,+BAA+B;AAAA,IAC/B,UAAU;AAAA,IACV,cAAc;AAAA,IACd,gBAAgB;AAAA,EACjB,CAAE;AAEF,SACC,4CAAC,4CAAqB,OAAQ,cAC7B,uDAAC,SAAM,GAAG,iBACT;AAAA,gDAAC,gBAAAC,SAAA,EAAS,UAAsB;AAAA,IAC9B,gBAAgB;AAAA,KACnB,GACD;AAEF;AAEA,IAAO,eAAQ;",
6
+ "names": ["blockEditorStore", "useTabListItemsSync", "Controls"]
7
7
  }
@@ -49,16 +49,12 @@ var settings = {
49
49
  innerBlocks: [
50
50
  {
51
51
  name: "core/tab-list",
52
- innerBlocks: [
53
- {
54
- name: "core/tab",
55
- attributes: { anchor: "tab-1-button" }
56
- },
57
- {
58
- name: "core/tab",
59
- attributes: { anchor: "tab-2-button" }
60
- }
61
- ]
52
+ attributes: {
53
+ tabs: [
54
+ { label: (0, import_i18n.__)("Tab 1") },
55
+ { label: (0, import_i18n.__)("Tab 2") }
56
+ ]
57
+ }
62
58
  },
63
59
  {
64
60
  name: "core/tab-panels",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tabs/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { tabs as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport save from './save';\nimport metadata from './block.json';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/tab-list',\n\t\t\t\tinnerBlocks: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/tab',\n\t\t\t\t\t\tattributes: { anchor: 'tab-1-button' },\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'core/tab',\n\t\t\t\t\t\tattributes: { anchor: 'tab-2-button' },\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/tab-panels',\n\t\t\t\tinnerBlocks: [ 1, 2 ].map( ( index ) => ( {\n\t\t\t\t\tname: 'core/tab-panel',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tanchor: `tab-${ index }`,\n\t\t\t\t\t\tlabel: sprintf(\n\t\t\t\t\t\t\t/** translators: %s: tab index number */\n\t\t\t\t\t\t\t__( 'Tab %s' ),\n\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t} ) ),\n\t\t\t},\n\t\t],\n\t},\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,kBAA4B;AAC5B,mBAA6B;AAK7B,wBAAsB;AACtB,kBAAiB;AACjB,kBAAiB;AACjB,mBAAqB;AAErB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS;AAAA,IACR,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,aAAa;AAAA,UACZ;AAAA,YACC,MAAM;AAAA,YACN,YAAY,EAAE,QAAQ,eAAe;AAAA,UACtC;AAAA,UACA;AAAA,YACC,MAAM;AAAA,YACN,YAAY,EAAE,QAAQ,eAAe;AAAA,UACtC;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa,CAAE,GAAG,CAAE,EAAE,IAAK,CAAE,WAAa;AAAA,UACzC,MAAM;AAAA,UACN,YAAY;AAAA,YACX,QAAQ,OAAQ,KAAM;AAAA,YACtB,WAAO;AAAA;AAAA,kBAEN,gBAAI,QAAS;AAAA,cACb;AAAA,YACD;AAAA,UACD;AAAA,UACA,aAAa;AAAA,YACZ;AAAA,cACC,MAAM;AAAA,cACN,YAAY;AAAA,gBACX,aAAS;AAAA,kBACR;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD,EAAI;AAAA,MACL;AAAA,IACD;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { tabs as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport save from './save';\nimport metadata from './block.json';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/tab-list',\n\t\t\t\tattributes: {\n\t\t\t\t\ttabs: [\n\t\t\t\t\t\t{ label: __( 'Tab 1' ) },\n\t\t\t\t\t\t{ label: __( 'Tab 2' ) },\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/tab-panels',\n\t\t\t\tinnerBlocks: [ 1, 2 ].map( ( index ) => ( {\n\t\t\t\t\tname: 'core/tab-panel',\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tanchor: `tab-${ index }`,\n\t\t\t\t\t\tlabel: sprintf(\n\t\t\t\t\t\t\t/** translators: %s: tab index number */\n\t\t\t\t\t\t\t__( 'Tab %s' ),\n\t\t\t\t\t\t\tindex\n\t\t\t\t\t\t),\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: 'core/paragraph',\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t} ) ),\n\t\t\t},\n\t\t],\n\t},\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,kBAA4B;AAC5B,mBAA6B;AAK7B,wBAAsB;AACtB,kBAAiB;AACjB,kBAAiB;AACjB,mBAAqB;AAErB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS;AAAA,IACR,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,MAAM;AAAA,YACL,EAAE,WAAO,gBAAI,OAAQ,EAAE;AAAA,YACvB,EAAE,WAAO,gBAAI,OAAQ,EAAE;AAAA,UACxB;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,aAAa,CAAE,GAAG,CAAE,EAAE,IAAK,CAAE,WAAa;AAAA,UACzC,MAAM;AAAA,UACN,YAAY;AAAA,YACX,QAAQ,OAAQ,KAAM;AAAA,YACtB,WAAO;AAAA;AAAA,kBAEN,gBAAI,QAAS;AAAA,cACb;AAAA,YACD;AAAA,UACD;AAAA,UACA,aAAa;AAAA,YACZ;AAAA,cACC,MAAM;AAAA,cACN,YAAY;AAAA,gBACX,aAAS;AAAA,kBACR;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD,EAAI;AAAA,MACL;AAAA,IACD;AAAA,EACD;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
6
  "names": ["metadata", "icon", "edit", "save", "initBlock", "metadata"]
7
7
  }
@@ -0,0 +1,53 @@
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/use-tab-list-items-sync.js
21
+ var use_tab_list_items_sync_exports = {};
22
+ __export(use_tab_list_items_sync_exports, {
23
+ default: () => useTabListItemsSync
24
+ });
25
+ module.exports = __toCommonJS(use_tab_list_items_sync_exports);
26
+ var import_block_editor = require("@wordpress/block-editor");
27
+ var import_data = require("@wordpress/data");
28
+ var import_element = require("@wordpress/element");
29
+ function useTabListItemsSync({ tabPanels, tabListClientId }) {
30
+ const { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } = (0, import_data.useDispatch)(import_block_editor.store);
31
+ const prevTabsRef = (0, import_element.useRef)(null);
32
+ (0, import_element.useEffect)(() => {
33
+ if (!tabListClientId) {
34
+ return;
35
+ }
36
+ const newTabs = tabPanels.map((tab) => ({
37
+ label: tab.attributes.label || ""
38
+ }));
39
+ const serialized = JSON.stringify(newTabs);
40
+ if (serialized === prevTabsRef.current) {
41
+ return;
42
+ }
43
+ prevTabsRef.current = serialized;
44
+ __unstableMarkNextChangeAsNotPersistent();
45
+ updateBlockAttributes(tabListClientId, { tabs: newTabs });
46
+ }, [
47
+ tabPanels,
48
+ tabListClientId,
49
+ updateBlockAttributes,
50
+ __unstableMarkNextChangeAsNotPersistent
51
+ ]);
52
+ }
53
+ //# sourceMappingURL=use-tab-list-items-sync.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/tabs/use-tab-list-items-sync.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\n\n/**\n * Keep the tab-list block's `tabs` attribute in sync with the tab-panel blocks.\n *\n * Whenever the list of core/tab-panel blocks changes (add, remove, reorder, or\n * label edit), this hook updates the `tabs` attribute on the core/tab-list\n * block so that save.js can render the correct buttons.\n *\n * @param {Object} props\n * @param {Array} props.tabPanels Raw core/tab-panel block objects.\n * @param {string|null} props.tabListClientId Client ID of the core/tab-list block.\n */\nexport default function useTabListItemsSync( { tabPanels, tabListClientId } ) {\n\tconst { updateBlockAttributes, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst prevTabsRef = useRef( null );\n\n\tuseEffect( () => {\n\t\tif ( ! tabListClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst newTabs = tabPanels.map( ( tab ) => ( {\n\t\t\tlabel: tab.attributes.label || '',\n\t\t} ) );\n\n\t\t// Only update if tabs actually changed to avoid unnecessary re-renders.\n\t\tconst serialized = JSON.stringify( newTabs );\n\t\tif ( serialized === prevTabsRef.current ) {\n\t\t\treturn;\n\t\t}\n\t\tprevTabsRef.current = serialized;\n\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( tabListClientId, { tabs: newTabs } );\n\t}, [\n\t\ttabPanels,\n\t\ttabListClientId,\n\t\tupdateBlockAttributes,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAA0C;AAC1C,kBAA4B;AAC5B,qBAAkC;AAanB,SAAR,oBAAsC,EAAE,WAAW,gBAAgB,GAAI;AAC7E,QAAM,EAAE,uBAAuB,wCAAwC,QACtE,yBAAa,oBAAAA,KAAiB;AAE/B,QAAM,kBAAc,uBAAQ,IAAK;AAEjC,gCAAW,MAAM;AAChB,QAAK,CAAE,iBAAkB;AACxB;AAAA,IACD;AAEA,UAAM,UAAU,UAAU,IAAK,CAAE,SAAW;AAAA,MAC3C,OAAO,IAAI,WAAW,SAAS;AAAA,IAChC,EAAI;AAGJ,UAAM,aAAa,KAAK,UAAW,OAAQ;AAC3C,QAAK,eAAe,YAAY,SAAU;AACzC;AAAA,IACD;AACA,gBAAY,UAAU;AAEtB,4CAAwC;AACxC,0BAAuB,iBAAiB,EAAE,MAAM,QAAQ,CAAE;AAAA,EAC3D,GAAG;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,CAAE;AACH;",
6
+ "names": ["blockEditorStore"]
7
+ }
@@ -92,22 +92,14 @@ var { actions: privateActions, state: privateState } = (0, import_interactivity.
92
92
  * @param {KeyboardEvent} event The keydown event.
93
93
  */
94
94
  handleTabKeyDown: (0, import_interactivity.withSyncEvent)((event) => {
95
- const context = (0, import_interactivity.getContext)();
96
- const { isVertical } = context;
97
95
  const { tabIndex } = privateState;
98
96
  if (tabIndex === null) {
99
97
  return;
100
98
  }
101
- if (event.key === "ArrowRight" && !isVertical) {
102
- event.preventDefault();
103
- privateActions.moveFocus(tabIndex + 1);
104
- } else if (event.key === "ArrowLeft" && !isVertical) {
105
- event.preventDefault();
106
- privateActions.moveFocus(tabIndex - 1);
107
- } else if (event.key === "ArrowDown" && isVertical) {
99
+ if (event.key === "ArrowRight") {
108
100
  event.preventDefault();
109
101
  privateActions.moveFocus(tabIndex + 1);
110
- } else if (event.key === "ArrowUp" && isVertical) {
102
+ } else if (event.key === "ArrowLeft") {
111
103
  event.preventDefault();
112
104
  privateActions.moveFocus(tabIndex - 1);
113
105
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/tabs/view.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tstore,\n\tgetContext,\n\tgetElement,\n\twithSyncEvent,\n} from '@wordpress/interactivity';\n\nfunction createReadOnlyProxy( obj ) {\n\tconst arrayMutationMethods = new Set( [\n\t\t'push',\n\t\t'pop',\n\t\t'shift',\n\t\t'unshift',\n\t\t'splice',\n\t\t'sort',\n\t\t'reverse',\n\t\t'copyWithin',\n\t\t'fill',\n\t] );\n\n\treturn new Proxy( obj, {\n\t\tget( target, prop ) {\n\t\t\t// If accessing an array mutation method, return a no-op function.\n\t\t\tif ( Array.isArray( target ) && arrayMutationMethods.has( prop ) ) {\n\t\t\t\treturn () => {};\n\t\t\t}\n\n\t\t\tconst value = target[ prop ];\n\t\t\tif ( typeof value === 'object' && value !== null ) {\n\t\t\t\treturn createReadOnlyProxy( value );\n\t\t\t}\n\t\t\treturn value;\n\t\t},\n\t\tset() {\n\t\t\treturn false;\n\t\t},\n\t\tdeleteProperty() {\n\t\t\treturn false;\n\t\t},\n\t} );\n}\n\n// Private store for internal tabs functionality and security.\nconst { actions: privateActions, state: privateState } = store(\n\t'core/tabs/private',\n\t{\n\t\tstate: {\n\t\t\t/**\n\t\t\t * Gets a contextually aware list of tabs for the current tabs block.\n\t\t\t *\n\t\t\t * @type {Array}\n\t\t\t */\n\t\t\tget tabsList() {\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst tabsId = context?.tabsId;\n\t\t\t\tconst tabsList = privateState[ tabsId ];\n\t\t\t\treturn tabsList;\n\t\t\t},\n\t\t\t/**\n\t\t\t * Gets the index of the active tab element whether it\n\t\t\t * is a tab label or tab panel.\n\t\t\t *\n\t\t\t * @type {number|null}\n\t\t\t */\n\t\t\tget tabIndex() {\n\t\t\t\tconst { attributes } = getElement();\n\t\t\t\tconst tabId = attributes?.id?.replace( 'tab__', '' ) || null;\n\t\t\t\tif ( ! tabId ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tconst { tabsList } = privateState;\n\t\t\t\tconst tabIndex = tabsList.findIndex( ( t ) => t.id === tabId );\n\t\t\t\treturn tabIndex;\n\t\t\t},\n\t\t\t/**\n\t\t\t * Whether the tab panel or tab label is the active tab.\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tget isActiveTab() {\n\t\t\t\tconst { activeTabIndex } = getContext();\n\t\t\t\tconst { tabIndex } = privateState;\n\t\t\t\treturn activeTabIndex === tabIndex;\n\t\t\t},\n\t\t\t/**\n\t\t\t * The value of the tabindex attribute for tab buttons.\n\t\t\t * Only the active tab should be in the tab sequence.\n\t\t\t *\n\t\t\t * @type {number}\n\t\t\t */\n\t\t\tget tabIndexAttribute() {\n\t\t\t\treturn privateState.isActiveTab ? 0 : -1;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\t/**\n\t\t\t * Handles the keydown events for the tab label and tabs controller.\n\t\t\t *\n\t\t\t * @param {KeyboardEvent} event The keydown event.\n\t\t\t */\n\t\t\thandleTabKeyDown: withSyncEvent( ( event ) => {\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst { isVertical } = context;\n\t\t\t\tconst { tabIndex } = privateState;\n\n\t\t\t\tif ( tabIndex === null ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( event.key === 'ArrowRight' && ! isVertical ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tprivateActions.moveFocus( tabIndex + 1 );\n\t\t\t\t} else if ( event.key === 'ArrowLeft' && ! isVertical ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tprivateActions.moveFocus( tabIndex - 1 );\n\t\t\t\t} else if ( event.key === 'ArrowDown' && isVertical ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tprivateActions.moveFocus( tabIndex + 1 );\n\t\t\t\t} else if ( event.key === 'ArrowUp' && isVertical ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tprivateActions.moveFocus( tabIndex - 1 );\n\t\t\t\t}\n\t\t\t} ),\n\t\t\t/**\n\t\t\t * Handles the click event for the tab label.\n\t\t\t *\n\t\t\t * @param {MouseEvent} event The click event.\n\t\t\t */\n\t\t\thandleTabClick: withSyncEvent( ( event ) => {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tconst { tabIndex } = privateState;\n\t\t\t\tif ( tabIndex !== null ) {\n\t\t\t\t\tprivateActions.setActiveTab( tabIndex );\n\t\t\t\t}\n\t\t\t} ),\n\t\t\t/**\n\t\t\t * Moves focus to a specific tab without activating it.\n\t\t\t *\n\t\t\t * @param {number} tabIndex The index to move focus to.\n\t\t\t */\n\t\t\tmoveFocus: ( tabIndex ) => {\n\t\t\t\tconst { tabsList } = privateState;\n\n\t\t\t\tif ( ! tabsList || tabsList.length === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet newIndex = tabIndex;\n\t\t\t\tif ( newIndex < 0 ) {\n\t\t\t\t\tnewIndex = tabsList.length - 1;\n\t\t\t\t} else if ( newIndex >= tabsList.length ) {\n\t\t\t\t\tnewIndex = 0;\n\t\t\t\t}\n\n\t\t\t\tconst tabId = tabsList[ newIndex ].id;\n\t\t\t\tconst tabElement = document.getElementById( 'tab__' + tabId );\n\t\t\t\tif ( tabElement ) {\n\t\t\t\t\ttabElement.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t/**\n\t\t\t * Sets the active tab index (internal implementation).\n\t\t\t *\n\t\t\t * @param {number} tabIndex The index of the active tab.\n\t\t\t * @param {boolean} scrollToTab Whether to scroll to the tab element.\n\t\t\t */\n\t\t\tsetActiveTab: ( tabIndex, scrollToTab = false ) => {\n\t\t\t\tconst { tabsList } = privateState;\n\n\t\t\t\tif ( ! tabsList || tabsList.length === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet newIndex = tabIndex;\n\t\t\t\tif ( newIndex < 0 ) {\n\t\t\t\t\tnewIndex = 0;\n\t\t\t\t} else if ( newIndex >= tabsList.length ) {\n\t\t\t\t\tnewIndex = tabsList.length - 1;\n\t\t\t\t}\n\n\t\t\t\tconst context = getContext();\n\t\t\t\tcontext.activeTabIndex = newIndex;\n\n\t\t\t\tif ( scrollToTab ) {\n\t\t\t\t\tconst tabId = tabsList[ newIndex ].id;\n\t\t\t\t\tconst tabElement = document.getElementById( tabId );\n\t\t\t\t\tif ( tabElement ) {\n\t\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\t\ttabElement.scrollIntoView( { behavior: 'smooth' } );\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\t/**\n\t\t\t * When the tabs are initialized, we need to check if there is a hash in the url and if so if it exists in the current tabsList, set the active tab to that index.\n\t\t\t *\n\t\t\t */\n\t\t\tonTabsInit: () => {\n\t\t\t\tconst { tabsList } = privateState;\n\t\t\t\tif ( tabsList.length === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { hash } = window.location;\n\t\t\t\tconst tabId = hash.replace( '#', '' );\n\t\t\t\tconst tabIndex = tabsList.findIndex( ( t ) => t.id === tabId );\n\t\t\t\t// Check if tabIndex is a positive number and if so we'll auto activate that tab.\n\t\t\t\tif ( tabIndex >= 0 ) {\n\t\t\t\t\tprivateActions.setActiveTab( tabIndex, true );\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\tlock: true,\n\t}\n);\n\n// Public store for third-party extensibility.\nstore( 'core/tabs', {\n\tstate: {\n\t\t/**\n\t\t * Gets a contextually aware list of tabs for the current tabs block.\n\t\t * Public API for third-party access.\n\t\t *\n\t\t * @type {Array}\n\t\t */\n\t\tget tabsList() {\n\t\t\treturn createReadOnlyProxy( privateState.tabsList );\n\t\t},\n\t\t/**\n\t\t * Gets the index of the active tab element whether it\n\t\t * is a tab label or tab panel.\n\t\t *\n\t\t * @type {number|null}\n\t\t */\n\t\tget tabIndex() {\n\t\t\treturn privateState.tabIndex;\n\t\t},\n\t\t/**\n\t\t * Whether the tab panel or tab label is the active tab.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tget isActiveTab() {\n\t\t\treturn privateState.isActiveTab;\n\t\t},\n\t},\n\tactions: {\n\t\t/**\n\t\t * Sets the active tab index.\n\t\t * Public API for third-party programmatic tab activation.\n\t\t *\n\t\t * @param {number} tabIndex The index of the active tab.\n\t\t * @param {boolean} scrollToTab Whether to scroll to the tab element.\n\t\t */\n\t\tsetActiveTab: ( tabIndex, scrollToTab = false ) => {\n\t\t\tprivateActions.setActiveTab( tabIndex, scrollToTab );\n\t\t},\n\t},\n} );\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tstore,\n\tgetContext,\n\tgetElement,\n\twithSyncEvent,\n} from '@wordpress/interactivity';\n\nfunction createReadOnlyProxy( obj ) {\n\tconst arrayMutationMethods = new Set( [\n\t\t'push',\n\t\t'pop',\n\t\t'shift',\n\t\t'unshift',\n\t\t'splice',\n\t\t'sort',\n\t\t'reverse',\n\t\t'copyWithin',\n\t\t'fill',\n\t] );\n\n\treturn new Proxy( obj, {\n\t\tget( target, prop ) {\n\t\t\t// If accessing an array mutation method, return a no-op function.\n\t\t\tif ( Array.isArray( target ) && arrayMutationMethods.has( prop ) ) {\n\t\t\t\treturn () => {};\n\t\t\t}\n\n\t\t\tconst value = target[ prop ];\n\t\t\tif ( typeof value === 'object' && value !== null ) {\n\t\t\t\treturn createReadOnlyProxy( value );\n\t\t\t}\n\t\t\treturn value;\n\t\t},\n\t\tset() {\n\t\t\treturn false;\n\t\t},\n\t\tdeleteProperty() {\n\t\t\treturn false;\n\t\t},\n\t} );\n}\n\n// Private store for internal tabs functionality and security.\nconst { actions: privateActions, state: privateState } = store(\n\t'core/tabs/private',\n\t{\n\t\tstate: {\n\t\t\t/**\n\t\t\t * Gets a contextually aware list of tabs for the current tabs block.\n\t\t\t *\n\t\t\t * @type {Array}\n\t\t\t */\n\t\t\tget tabsList() {\n\t\t\t\tconst context = getContext();\n\t\t\t\tconst tabsId = context?.tabsId;\n\t\t\t\tconst tabsList = privateState[ tabsId ];\n\t\t\t\treturn tabsList;\n\t\t\t},\n\t\t\t/**\n\t\t\t * Gets the index of the active tab element whether it\n\t\t\t * is a tab label or tab panel.\n\t\t\t *\n\t\t\t * @type {number|null}\n\t\t\t */\n\t\t\tget tabIndex() {\n\t\t\t\tconst { attributes } = getElement();\n\t\t\t\tconst tabId = attributes?.id?.replace( 'tab__', '' ) || null;\n\t\t\t\tif ( ! tabId ) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t\tconst { tabsList } = privateState;\n\t\t\t\tconst tabIndex = tabsList.findIndex( ( t ) => t.id === tabId );\n\t\t\t\treturn tabIndex;\n\t\t\t},\n\t\t\t/**\n\t\t\t * Whether the tab panel or tab label is the active tab.\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tget isActiveTab() {\n\t\t\t\tconst { activeTabIndex } = getContext();\n\t\t\t\tconst { tabIndex } = privateState;\n\t\t\t\treturn activeTabIndex === tabIndex;\n\t\t\t},\n\t\t\t/**\n\t\t\t * The value of the tabindex attribute for tab buttons.\n\t\t\t * Only the active tab should be in the tab sequence.\n\t\t\t *\n\t\t\t * @type {number}\n\t\t\t */\n\t\t\tget tabIndexAttribute() {\n\t\t\t\treturn privateState.isActiveTab ? 0 : -1;\n\t\t\t},\n\t\t},\n\t\tactions: {\n\t\t\t/**\n\t\t\t * Handles the keydown events for the tab label and tabs controller.\n\t\t\t *\n\t\t\t * @param {KeyboardEvent} event The keydown event.\n\t\t\t */\n\t\t\thandleTabKeyDown: withSyncEvent( ( event ) => {\n\t\t\t\tconst { tabIndex } = privateState;\n\n\t\t\t\tif ( tabIndex === null ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif ( event.key === 'ArrowRight' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tprivateActions.moveFocus( tabIndex + 1 );\n\t\t\t\t} else if ( event.key === 'ArrowLeft' ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tprivateActions.moveFocus( tabIndex - 1 );\n\t\t\t\t}\n\t\t\t} ),\n\t\t\t/**\n\t\t\t * Handles the click event for the tab label.\n\t\t\t *\n\t\t\t * @param {MouseEvent} event The click event.\n\t\t\t */\n\t\t\thandleTabClick: withSyncEvent( ( event ) => {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tconst { tabIndex } = privateState;\n\t\t\t\tif ( tabIndex !== null ) {\n\t\t\t\t\tprivateActions.setActiveTab( tabIndex );\n\t\t\t\t}\n\t\t\t} ),\n\t\t\t/**\n\t\t\t * Moves focus to a specific tab without activating it.\n\t\t\t *\n\t\t\t * @param {number} tabIndex The index to move focus to.\n\t\t\t */\n\t\t\tmoveFocus: ( tabIndex ) => {\n\t\t\t\tconst { tabsList } = privateState;\n\n\t\t\t\tif ( ! tabsList || tabsList.length === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet newIndex = tabIndex;\n\t\t\t\tif ( newIndex < 0 ) {\n\t\t\t\t\tnewIndex = tabsList.length - 1;\n\t\t\t\t} else if ( newIndex >= tabsList.length ) {\n\t\t\t\t\tnewIndex = 0;\n\t\t\t\t}\n\n\t\t\t\tconst tabId = tabsList[ newIndex ].id;\n\t\t\t\tconst tabElement = document.getElementById( 'tab__' + tabId );\n\t\t\t\tif ( tabElement ) {\n\t\t\t\t\ttabElement.focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\t/**\n\t\t\t * Sets the active tab index (internal implementation).\n\t\t\t *\n\t\t\t * @param {number} tabIndex The index of the active tab.\n\t\t\t * @param {boolean} scrollToTab Whether to scroll to the tab element.\n\t\t\t */\n\t\t\tsetActiveTab: ( tabIndex, scrollToTab = false ) => {\n\t\t\t\tconst { tabsList } = privateState;\n\n\t\t\t\tif ( ! tabsList || tabsList.length === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet newIndex = tabIndex;\n\t\t\t\tif ( newIndex < 0 ) {\n\t\t\t\t\tnewIndex = 0;\n\t\t\t\t} else if ( newIndex >= tabsList.length ) {\n\t\t\t\t\tnewIndex = tabsList.length - 1;\n\t\t\t\t}\n\n\t\t\t\tconst context = getContext();\n\t\t\t\tcontext.activeTabIndex = newIndex;\n\n\t\t\t\tif ( scrollToTab ) {\n\t\t\t\t\tconst tabId = tabsList[ newIndex ].id;\n\t\t\t\t\tconst tabElement = document.getElementById( tabId );\n\t\t\t\t\tif ( tabElement ) {\n\t\t\t\t\t\tsetTimeout( () => {\n\t\t\t\t\t\t\ttabElement.scrollIntoView( { behavior: 'smooth' } );\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcallbacks: {\n\t\t\t/**\n\t\t\t * When the tabs are initialized, we need to check if there is a hash in the url and if so if it exists in the current tabsList, set the active tab to that index.\n\t\t\t *\n\t\t\t */\n\t\t\tonTabsInit: () => {\n\t\t\t\tconst { tabsList } = privateState;\n\t\t\t\tif ( tabsList.length === 0 ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { hash } = window.location;\n\t\t\t\tconst tabId = hash.replace( '#', '' );\n\t\t\t\tconst tabIndex = tabsList.findIndex( ( t ) => t.id === tabId );\n\t\t\t\t// Check if tabIndex is a positive number and if so we'll auto activate that tab.\n\t\t\t\tif ( tabIndex >= 0 ) {\n\t\t\t\t\tprivateActions.setActiveTab( tabIndex, true );\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\tlock: true,\n\t}\n);\n\n// Public store for third-party extensibility.\nstore( 'core/tabs', {\n\tstate: {\n\t\t/**\n\t\t * Gets a contextually aware list of tabs for the current tabs block.\n\t\t * Public API for third-party access.\n\t\t *\n\t\t * @type {Array}\n\t\t */\n\t\tget tabsList() {\n\t\t\treturn createReadOnlyProxy( privateState.tabsList );\n\t\t},\n\t\t/**\n\t\t * Gets the index of the active tab element whether it\n\t\t * is a tab label or tab panel.\n\t\t *\n\t\t * @type {number|null}\n\t\t */\n\t\tget tabIndex() {\n\t\t\treturn privateState.tabIndex;\n\t\t},\n\t\t/**\n\t\t * Whether the tab panel or tab label is the active tab.\n\t\t *\n\t\t * @type {boolean}\n\t\t */\n\t\tget isActiveTab() {\n\t\t\treturn privateState.isActiveTab;\n\t\t},\n\t},\n\tactions: {\n\t\t/**\n\t\t * Sets the active tab index.\n\t\t * Public API for third-party programmatic tab activation.\n\t\t *\n\t\t * @param {number} tabIndex The index of the active tab.\n\t\t * @param {boolean} scrollToTab Whether to scroll to the tab element.\n\t\t */\n\t\tsetActiveTab: ( tabIndex, scrollToTab = false ) => {\n\t\t\tprivateActions.setActiveTab( tabIndex, scrollToTab );\n\t\t},\n\t},\n} );\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -33,11 +33,11 @@ function OrderControl({ orderBy, order, onChange, ...props }) {
33
33
  __next40pxDefaultSize: true,
34
34
  options: [
35
35
  {
36
- label: (0, import_i18n.__)("Name: A \u2192 Z"),
36
+ label: (0, import_i18n.__)("Name: A Z"),
37
37
  value: "name/asc"
38
38
  },
39
39
  {
40
- label: (0, import_i18n.__)("Name: Z \u2192 A"),
40
+ label: (0, import_i18n.__)("Name: Z A"),
41
41
  value: "name/desc"
42
42
  },
43
43
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/terms-query/edit/inspector-controls/order-control.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { SelectControl } from '@wordpress/components';\n\nexport default function OrderControl( { orderBy, order, onChange, ...props } ) {\n\treturn (\n\t\t<SelectControl\n\t\t\t__next40pxDefaultSize\n\t\t\toptions={ [\n\t\t\t\t{\n\t\t\t\t\tlabel: __( 'Name: A \u2192 Z' ),\n\t\t\t\t\tvalue: 'name/asc',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: __( 'Name: Z \u2192 A' ),\n\t\t\t\t\tvalue: 'name/desc',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: __( 'Count, high to low' ),\n\t\t\t\t\tvalue: 'count/desc',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: __( 'Count, low to high' ),\n\t\t\t\t\tvalue: 'count/asc',\n\t\t\t\t},\n\t\t\t] }\n\t\t\tvalue={ orderBy + '/' + order }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\tonChange( newOrderBy, newOrder );\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,wBAA8B;AAI5B;AAFa,SAAR,aAA+B,EAAE,SAAS,OAAO,UAAU,GAAG,MAAM,GAAI;AAC9E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,uBAAqB;AAAA,MACrB,SAAU;AAAA,QACT;AAAA,UACC,WAAO,gBAAI,kBAAc;AAAA,UACzB,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,WAAO,gBAAI,kBAAc;AAAA,UACzB,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,WAAO,gBAAI,oBAAqB;AAAA,UAChC,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,WAAO,gBAAI,oBAAqB;AAAA,UAChC,OAAO;AAAA,QACR;AAAA,MACD;AAAA,MACA,OAAQ,UAAU,MAAM;AAAA,MACxB,UAAW,CAAE,UAAW;AACvB,cAAM,CAAE,YAAY,QAAS,IAAI,MAAM,MAAO,GAAI;AAClD,iBAAU,YAAY,QAAS;AAAA,MAChC;AAAA,MACE,GAAG;AAAA;AAAA,EACN;AAEF;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { SelectControl } from '@wordpress/components';\n\nexport default function OrderControl( { orderBy, order, onChange, ...props } ) {\n\treturn (\n\t\t<SelectControl\n\t\t\t__next40pxDefaultSize\n\t\t\toptions={ [\n\t\t\t\t{\n\t\t\t\t\tlabel: __( 'Name: A Z' ),\n\t\t\t\t\tvalue: 'name/asc',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: __( 'Name: Z A' ),\n\t\t\t\t\tvalue: 'name/desc',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: __( 'Count, high to low' ),\n\t\t\t\t\tvalue: 'count/desc',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: __( 'Count, low to high' ),\n\t\t\t\t\tvalue: 'count/asc',\n\t\t\t\t},\n\t\t\t] }\n\t\t\tvalue={ orderBy + '/' + order }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tconst [ newOrderBy, newOrder ] = value.split( '/' );\n\t\t\t\tonChange( newOrderBy, newOrder );\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,wBAA8B;AAI5B;AAFa,SAAR,aAA+B,EAAE,SAAS,OAAO,UAAU,GAAG,MAAM,GAAI;AAC9E,SACC;AAAA,IAAC;AAAA;AAAA,MACA,uBAAqB;AAAA,MACrB,SAAU;AAAA,QACT;AAAA,UACC,WAAO,gBAAI,aAAc;AAAA,UACzB,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,WAAO,gBAAI,aAAc;AAAA,UACzB,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,WAAO,gBAAI,oBAAqB;AAAA,UAChC,OAAO;AAAA,QACR;AAAA,QACA;AAAA,UACC,WAAO,gBAAI,oBAAqB;AAAA,UAChC,OAAO;AAAA,QACR;AAAA,MACD;AAAA,MACA,OAAQ,UAAU,MAAM;AAAA,MACxB,UAAW,CAAE,UAAW;AACvB,cAAM,CAAE,YAAY,QAAS,IAAI,MAAM,MAAO,GAAI;AAClD,iBAAU,YAAY,QAAS;AAAA,MAChC;AAAA,MACE,GAAG;AAAA;AAAA,EACN;AAEF;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,164 @@
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/utils/style-state.js
21
+ var style_state_exports = {};
22
+ __export(style_state_exports, {
23
+ getActiveDimensionValue: () => getActiveDimensionValue,
24
+ getDimensionResetAttributes: () => getDimensionResetAttributes,
25
+ getDimensionUpdateAttributes: () => getDimensionUpdateAttributes,
26
+ getStateDimensions: () => getStateDimensions,
27
+ getStyleStateKey: () => getStyleStateKey,
28
+ resetDimensions: () => resetDimensions,
29
+ resetStateDimensions: () => resetStateDimensions,
30
+ setStateDimensions: () => setStateDimensions
31
+ });
32
+ module.exports = __toCommonJS(style_state_exports);
33
+ var import_block_editor = require("@wordpress/block-editor");
34
+ var import_lock_unlock = require("../lock-unlock.cjs");
35
+ var { cleanEmptyObject, getStyleForState, setStyleForState } = (0, import_lock_unlock.unlock)(
36
+ import_block_editor.privateApis
37
+ );
38
+ function getStateStyle(style, selectedState) {
39
+ return getStyleForState(style, selectedState) || {};
40
+ }
41
+ function getMappedDimensions(dimensions, dimensionKeyMap = {}) {
42
+ return Object.fromEntries(
43
+ Object.entries(dimensions).map(([key, value]) => [
44
+ dimensionKeyMap[key] || key,
45
+ value
46
+ ])
47
+ );
48
+ }
49
+ function getControlledDimensions(dimensions, dimensionKeys) {
50
+ if (!dimensionKeys) {
51
+ return dimensions;
52
+ }
53
+ return Object.fromEntries(
54
+ dimensionKeys.map((key) => [key, dimensions[key]])
55
+ );
56
+ }
57
+ function getStyleStateKey(selectedState) {
58
+ return [
59
+ selectedState?.viewport || "default",
60
+ selectedState?.pseudo || "default"
61
+ ].join(":");
62
+ }
63
+ function getStateDimensions(style, selectedState) {
64
+ return getStateStyle(style, selectedState)?.dimensions || {};
65
+ }
66
+ function getActiveDimensionValue(options = {}) {
67
+ const {
68
+ attributes = {},
69
+ style = attributes?.style,
70
+ selectedState,
71
+ hasSelectedStyleState,
72
+ attributeKey,
73
+ styleKey = attributeKey,
74
+ rootValue
75
+ } = options;
76
+ if (hasSelectedStyleState) {
77
+ return getStateDimensions(style, selectedState)?.[styleKey];
78
+ }
79
+ if (Object.hasOwn(options, "rootValue")) {
80
+ return rootValue;
81
+ }
82
+ return attributes?.[attributeKey];
83
+ }
84
+ function setStateDimensions(style, selectedState, nextDimensions) {
85
+ const stateStyle = getStateStyle(style, selectedState);
86
+ return setStyleForState(
87
+ style,
88
+ selectedState,
89
+ cleanEmptyObject({
90
+ ...stateStyle,
91
+ dimensions: cleanEmptyObject({
92
+ ...stateStyle?.dimensions,
93
+ ...nextDimensions
94
+ })
95
+ })
96
+ );
97
+ }
98
+ function getDimensionUpdateAttributes({
99
+ style,
100
+ selectedState,
101
+ hasSelectedStyleState,
102
+ nextDimensions,
103
+ dimensionKeyMap,
104
+ dimensionKeys
105
+ }) {
106
+ const controlledDimensions = getControlledDimensions(
107
+ nextDimensions,
108
+ dimensionKeys
109
+ );
110
+ if (!hasSelectedStyleState) {
111
+ return controlledDimensions;
112
+ }
113
+ return {
114
+ style: setStateDimensions(
115
+ style,
116
+ selectedState,
117
+ getMappedDimensions(controlledDimensions, dimensionKeyMap)
118
+ )
119
+ };
120
+ }
121
+ function resetDimensions(style, keys) {
122
+ const dimensionsReset = Object.fromEntries(
123
+ keys.map((key) => [key, void 0])
124
+ );
125
+ return cleanEmptyObject({
126
+ ...style,
127
+ dimensions: cleanEmptyObject({
128
+ ...style?.dimensions,
129
+ ...dimensionsReset
130
+ })
131
+ });
132
+ }
133
+ function resetStateDimensions(style, selectedState, keys) {
134
+ return setStyleForState(
135
+ style,
136
+ selectedState,
137
+ resetDimensions(getStateStyle(style, selectedState), keys)
138
+ );
139
+ }
140
+ function getDimensionResetAttributes({
141
+ attributes = {},
142
+ style = attributes?.style,
143
+ selectedState,
144
+ hasSelectedStyleState,
145
+ keys,
146
+ defaultAttributes = {}
147
+ }) {
148
+ return {
149
+ ...hasSelectedStyleState ? {} : { ...attributes, ...defaultAttributes },
150
+ style: hasSelectedStyleState ? resetStateDimensions(style, selectedState, keys) : resetDimensions(style, keys)
151
+ };
152
+ }
153
+ // Annotate the CommonJS export names for ESM import in node:
154
+ 0 && (module.exports = {
155
+ getActiveDimensionValue,
156
+ getDimensionResetAttributes,
157
+ getDimensionUpdateAttributes,
158
+ getStateDimensions,
159
+ getStyleStateKey,
160
+ resetDimensions,
161
+ resetStateDimensions,
162
+ setStateDimensions
163
+ });
164
+ //# sourceMappingURL=style-state.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/utils/style-state.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { cleanEmptyObject, getStyleForState, setStyleForState } = unlock(\n\tblockEditorPrivateApis\n);\n\nfunction getStateStyle( style, selectedState ) {\n\treturn getStyleForState( style, selectedState ) || {};\n}\n\nfunction getMappedDimensions( dimensions, dimensionKeyMap = {} ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( dimensions ).map( ( [ key, value ] ) => [\n\t\t\tdimensionKeyMap[ key ] || key,\n\t\t\tvalue,\n\t\t] )\n\t);\n}\n\nfunction getControlledDimensions( dimensions, dimensionKeys ) {\n\tif ( ! dimensionKeys ) {\n\t\treturn dimensions;\n\t}\n\n\treturn Object.fromEntries(\n\t\tdimensionKeys.map( ( key ) => [ key, dimensions[ key ] ] )\n\t);\n}\n\nexport function getStyleStateKey( selectedState ) {\n\treturn [\n\t\tselectedState?.viewport || 'default',\n\t\tselectedState?.pseudo || 'default',\n\t].join( ':' );\n}\n\nexport function getStateDimensions( style, selectedState ) {\n\treturn getStateStyle( style, selectedState )?.dimensions || {};\n}\n\nexport function getActiveDimensionValue( options = {} ) {\n\tconst {\n\t\tattributes = {},\n\t\tstyle = attributes?.style,\n\t\tselectedState,\n\t\thasSelectedStyleState,\n\t\tattributeKey,\n\t\tstyleKey = attributeKey,\n\t\trootValue,\n\t} = options;\n\n\tif ( hasSelectedStyleState ) {\n\t\treturn getStateDimensions( style, selectedState )?.[ styleKey ];\n\t}\n\n\tif ( Object.hasOwn( options, 'rootValue' ) ) {\n\t\treturn rootValue;\n\t}\n\n\treturn attributes?.[ attributeKey ];\n}\n\nexport function setStateDimensions( style, selectedState, nextDimensions ) {\n\tconst stateStyle = getStateStyle( style, selectedState );\n\n\treturn setStyleForState(\n\t\tstyle,\n\t\tselectedState,\n\t\tcleanEmptyObject( {\n\t\t\t...stateStyle,\n\t\t\tdimensions: cleanEmptyObject( {\n\t\t\t\t...stateStyle?.dimensions,\n\t\t\t\t...nextDimensions,\n\t\t\t} ),\n\t\t} )\n\t);\n}\n\nexport function getDimensionUpdateAttributes( {\n\tstyle,\n\tselectedState,\n\thasSelectedStyleState,\n\tnextDimensions,\n\tdimensionKeyMap,\n\tdimensionKeys,\n} ) {\n\tconst controlledDimensions = getControlledDimensions(\n\t\tnextDimensions,\n\t\tdimensionKeys\n\t);\n\n\tif ( ! hasSelectedStyleState ) {\n\t\treturn controlledDimensions;\n\t}\n\n\treturn {\n\t\tstyle: setStateDimensions(\n\t\t\tstyle,\n\t\t\tselectedState,\n\t\t\tgetMappedDimensions( controlledDimensions, dimensionKeyMap )\n\t\t),\n\t};\n}\n\nexport function resetDimensions( style, keys ) {\n\tconst dimensionsReset = Object.fromEntries(\n\t\tkeys.map( ( key ) => [ key, undefined ] )\n\t);\n\n\treturn cleanEmptyObject( {\n\t\t...style,\n\t\tdimensions: cleanEmptyObject( {\n\t\t\t...style?.dimensions,\n\t\t\t...dimensionsReset,\n\t\t} ),\n\t} );\n}\n\nexport function resetStateDimensions( style, selectedState, keys ) {\n\treturn setStyleForState(\n\t\tstyle,\n\t\tselectedState,\n\t\tresetDimensions( getStateStyle( style, selectedState ), keys )\n\t);\n}\n\nexport function getDimensionResetAttributes( {\n\tattributes = {},\n\tstyle = attributes?.style,\n\tselectedState,\n\thasSelectedStyleState,\n\tkeys,\n\tdefaultAttributes = {},\n} ) {\n\treturn {\n\t\t...( hasSelectedStyleState\n\t\t\t? {}\n\t\t\t: { ...attributes, ...defaultAttributes } ),\n\t\tstyle: hasSelectedStyleState\n\t\t\t? resetStateDimensions( style, selectedState, keys )\n\t\t\t: resetDimensions( style, keys ),\n\t};\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAsD;AAKtD,yBAAuB;AAEvB,IAAM,EAAE,kBAAkB,kBAAkB,iBAAiB,QAAI;AAAA,EAChE,oBAAAA;AACD;AAEA,SAAS,cAAe,OAAO,eAAgB;AAC9C,SAAO,iBAAkB,OAAO,aAAc,KAAK,CAAC;AACrD;AAEA,SAAS,oBAAqB,YAAY,kBAAkB,CAAC,GAAI;AAChE,SAAO,OAAO;AAAA,IACb,OAAO,QAAS,UAAW,EAAE,IAAK,CAAE,CAAE,KAAK,KAAM,MAAO;AAAA,MACvD,gBAAiB,GAAI,KAAK;AAAA,MAC1B;AAAA,IACD,CAAE;AAAA,EACH;AACD;AAEA,SAAS,wBAAyB,YAAY,eAAgB;AAC7D,MAAK,CAAE,eAAgB;AACtB,WAAO;AAAA,EACR;AAEA,SAAO,OAAO;AAAA,IACb,cAAc,IAAK,CAAE,QAAS,CAAE,KAAK,WAAY,GAAI,CAAE,CAAE;AAAA,EAC1D;AACD;AAEO,SAAS,iBAAkB,eAAgB;AACjD,SAAO;AAAA,IACN,eAAe,YAAY;AAAA,IAC3B,eAAe,UAAU;AAAA,EAC1B,EAAE,KAAM,GAAI;AACb;AAEO,SAAS,mBAAoB,OAAO,eAAgB;AAC1D,SAAO,cAAe,OAAO,aAAc,GAAG,cAAc,CAAC;AAC9D;AAEO,SAAS,wBAAyB,UAAU,CAAC,GAAI;AACvD,QAAM;AAAA,IACL,aAAa,CAAC;AAAA,IACd,QAAQ,YAAY;AAAA,IACpB;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,EACD,IAAI;AAEJ,MAAK,uBAAwB;AAC5B,WAAO,mBAAoB,OAAO,aAAc,IAAK,QAAS;AAAA,EAC/D;AAEA,MAAK,OAAO,OAAQ,SAAS,WAAY,GAAI;AAC5C,WAAO;AAAA,EACR;AAEA,SAAO,aAAc,YAAa;AACnC;AAEO,SAAS,mBAAoB,OAAO,eAAe,gBAAiB;AAC1E,QAAM,aAAa,cAAe,OAAO,aAAc;AAEvD,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,iBAAkB;AAAA,MACjB,GAAG;AAAA,MACH,YAAY,iBAAkB;AAAA,QAC7B,GAAG,YAAY;AAAA,QACf,GAAG;AAAA,MACJ,CAAE;AAAA,IACH,CAAE;AAAA,EACH;AACD;AAEO,SAAS,6BAA8B;AAAA,EAC7C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD,GAAI;AACH,QAAM,uBAAuB;AAAA,IAC5B;AAAA,IACA;AAAA,EACD;AAEA,MAAK,CAAE,uBAAwB;AAC9B,WAAO;AAAA,EACR;AAEA,SAAO;AAAA,IACN,OAAO;AAAA,MACN;AAAA,MACA;AAAA,MACA,oBAAqB,sBAAsB,eAAgB;AAAA,IAC5D;AAAA,EACD;AACD;AAEO,SAAS,gBAAiB,OAAO,MAAO;AAC9C,QAAM,kBAAkB,OAAO;AAAA,IAC9B,KAAK,IAAK,CAAE,QAAS,CAAE,KAAK,MAAU,CAAE;AAAA,EACzC;AAEA,SAAO,iBAAkB;AAAA,IACxB,GAAG;AAAA,IACH,YAAY,iBAAkB;AAAA,MAC7B,GAAG,OAAO;AAAA,MACV,GAAG;AAAA,IACJ,CAAE;AAAA,EACH,CAAE;AACH;AAEO,SAAS,qBAAsB,OAAO,eAAe,MAAO;AAClE,SAAO;AAAA,IACN;AAAA,IACA;AAAA,IACA,gBAAiB,cAAe,OAAO,aAAc,GAAG,IAAK;AAAA,EAC9D;AACD;AAEO,SAAS,4BAA6B;AAAA,EAC5C,aAAa,CAAC;AAAA,EACd,QAAQ,YAAY;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA,oBAAoB,CAAC;AACtB,GAAI;AACH,SAAO;AAAA,IACN,GAAK,wBACF,CAAC,IACD,EAAE,GAAG,YAAY,GAAG,kBAAkB;AAAA,IACzC,OAAO,wBACJ,qBAAsB,OAAO,eAAe,IAAK,IACjD,gBAAiB,OAAO,IAAK;AAAA,EACjC;AACD;",
6
+ "names": ["blockEditorPrivateApis"]
7
+ }
@@ -27,9 +27,38 @@ var import_element = require("@wordpress/element");
27
27
  var import_compose = require("@wordpress/compose");
28
28
  var import_waveform_utils = require("./waveform-utils.cjs");
29
29
  var import_jsx_runtime = require("react/jsx-runtime");
30
- function WaveformPlayer({ src, title, artist, image, onEnded }) {
31
- const onEndedRef = (0, import_element.useRef)(onEnded);
32
- onEndedRef.current = onEnded;
30
+ var EMPTY_ARTIST_PLACEHOLDER = " ";
31
+ function updatePlayerMetadata(instance, { title, artist, image }) {
32
+ if (instance.titleEl) {
33
+ instance.titleEl.textContent = title ?? "";
34
+ }
35
+ if (instance.subtitleEl) {
36
+ instance.subtitleEl.textContent = artist ?? "";
37
+ instance.subtitleEl.style.display = artist ? "" : "none";
38
+ }
39
+ if (instance.artworkEl && image) {
40
+ instance.artworkEl.src = image;
41
+ }
42
+ }
43
+ function WaveformPlayer({
44
+ src,
45
+ title,
46
+ artist,
47
+ image,
48
+ waveformStyle,
49
+ onEnded
50
+ }) {
51
+ const onEndedEvent = (0, import_compose.useEvent)(onEnded);
52
+ const metadataRef = (0, import_element.useRef)({ title, artist, image });
53
+ const playerRef = (0, import_element.useRef)();
54
+ const hasImage = !!image;
55
+ (0, import_element.useEffect)(() => {
56
+ metadataRef.current = { title, artist, image };
57
+ const instance = playerRef.current?.instance;
58
+ if (instance) {
59
+ updatePlayerMetadata(instance, { title, artist, image });
60
+ }
61
+ }, [title, artist, image]);
33
62
  const ref = (0, import_compose.useRefEffect)(
34
63
  (element) => {
35
64
  if (!src) {
@@ -41,23 +70,27 @@ function WaveformPlayer({ src, title, artist, image, onEnded }) {
41
70
  if (cancelled) {
42
71
  return;
43
72
  }
44
- const { destroy } = (0, import_waveform_utils.initWaveformPlayer)(element, {
73
+ const player = (0, import_waveform_utils.initWaveformPlayer)(element, {
45
74
  src,
46
- title,
47
- artist,
48
- image,
49
- onEnded: () => onEndedRef.current?.()
75
+ ...metadataRef.current,
76
+ waveformStyle,
77
+ artist: metadataRef.current.artist || EMPTY_ARTIST_PLACEHOLDER,
78
+ onEnded: () => onEndedEvent?.()
50
79
  });
80
+ playerRef.current = player;
81
+ updatePlayerMetadata(player.instance, metadataRef.current);
82
+ const { destroy } = player;
51
83
  playerDestroy = destroy;
52
84
  }
53
85
  const timeoutId = setTimeout(init, 100);
54
86
  return () => {
55
87
  cancelled = true;
56
88
  clearTimeout(timeoutId);
89
+ playerRef.current = void 0;
57
90
  playerDestroy?.();
58
91
  };
59
92
  },
60
- [src, title, artist, image]
93
+ [onEndedEvent, src, waveformStyle, hasImage]
61
94
  );
62
95
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { ref, className: "wp-block-playlist__waveform-player" });
63
96
  }