@wordpress/block-editor 12.15.0 → 12.16.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 (500) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +9 -4
  3. package/build/components/block-canvas/index.js +22 -6
  4. package/build/components/block-canvas/index.js.map +1 -1
  5. package/build/components/block-card/index.js +1 -1
  6. package/build/components/block-card/index.js.map +1 -1
  7. package/build/components/block-controls/hook.js +3 -23
  8. package/build/components/block-controls/hook.js.map +1 -1
  9. package/build/components/block-edit/context.js +5 -1
  10. package/build/components/block-edit/context.js.map +1 -1
  11. package/build/components/block-edit/index.js +18 -9
  12. package/build/components/block-edit/index.js.map +1 -1
  13. package/build/components/block-info-slot-fill/index.js +3 -4
  14. package/build/components/block-info-slot-fill/index.js.map +1 -1
  15. package/build/components/block-list/block.js +28 -9
  16. package/build/components/block-list/block.js.map +1 -1
  17. package/build/components/block-list/block.native.js +14 -5
  18. package/build/components/block-list/block.native.js.map +1 -1
  19. package/build/components/block-list/use-block-props/index.js +61 -18
  20. package/build/components/block-list/use-block-props/index.js.map +1 -1
  21. package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -29
  22. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  23. package/build/components/block-list/use-block-props/use-is-hovered.js +4 -14
  24. package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  25. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
  26. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  27. package/build/components/block-patterns-list/index.js +1 -1
  28. package/build/components/block-patterns-list/index.js.map +1 -1
  29. package/build/components/block-removal-warning-modal/index.js +2 -9
  30. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  31. package/build/components/block-rename/modal.js +3 -0
  32. package/build/components/block-rename/modal.js.map +1 -1
  33. package/build/components/block-settings/container.native.js +6 -4
  34. package/build/components/block-settings/container.native.js.map +1 -1
  35. package/build/components/block-styles/index.js +1 -1
  36. package/build/components/block-styles/index.js.map +1 -1
  37. package/build/components/block-styles/index.native.js +3 -2
  38. package/build/components/block-styles/index.native.js.map +1 -1
  39. package/build/components/block-toolbar/index.js +89 -27
  40. package/build/components/block-toolbar/index.js.map +1 -1
  41. package/build/components/block-tools/block-toolbar-breadcrumb.js +49 -0
  42. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
  43. package/build/components/block-tools/block-toolbar-popover.js +86 -0
  44. package/build/components/block-tools/block-toolbar-popover.js.map +1 -0
  45. package/build/components/block-tools/index.js +27 -24
  46. package/build/components/block-tools/index.js.map +1 -1
  47. package/build/components/block-types-list/index.native.js +4 -3
  48. package/build/components/block-types-list/index.native.js.map +1 -1
  49. package/build/components/block-variation-picker/index.native.js +2 -1
  50. package/build/components/block-variation-picker/index.native.js.map +1 -1
  51. package/build/components/colors-gradients/control.js +28 -17
  52. package/build/components/colors-gradients/control.js.map +1 -1
  53. package/build/components/duotone-control/index.js +1 -4
  54. package/build/components/duotone-control/index.js.map +1 -1
  55. package/build/components/global-styles/color-panel.js +22 -20
  56. package/build/components/global-styles/color-panel.js.map +1 -1
  57. package/build/components/global-styles/filters-panel.js +9 -3
  58. package/build/components/global-styles/filters-panel.js.map +1 -1
  59. package/build/components/global-styles/typography-panel.js +20 -31
  60. package/build/components/global-styles/typography-panel.js.map +1 -1
  61. package/build/components/image-link-destinations/index.native.js +118 -0
  62. package/build/components/image-link-destinations/index.native.js.map +1 -0
  63. package/build/components/index.native.js +8 -0
  64. package/build/components/index.native.js.map +1 -1
  65. package/build/components/inserter/media-tab/media-panel.js +2 -2
  66. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  67. package/build/components/inserter/menu.js +14 -7
  68. package/build/components/inserter/menu.js.map +1 -1
  69. package/build/components/inserter/preview-panel.js +2 -2
  70. package/build/components/inserter/preview-panel.js.map +1 -1
  71. package/build/components/inserter-button/index.native.js +98 -0
  72. package/build/components/inserter-button/index.native.js.map +1 -0
  73. package/build/components/inserter-button/sparkles.js +23 -0
  74. package/build/components/inserter-button/sparkles.js.map +1 -0
  75. package/build/components/inserter-draggable-blocks/index.js +8 -4
  76. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  77. package/build/components/inspector-controls/fill.js +3 -3
  78. package/build/components/inspector-controls/fill.js.map +1 -1
  79. package/build/components/inspector-controls/fill.native.js +3 -3
  80. package/build/components/inspector-controls/fill.native.js.map +1 -1
  81. package/build/components/navigable-toolbar/index.js +2 -2
  82. package/build/components/navigable-toolbar/index.js.map +1 -1
  83. package/build/components/preview-options/index.js +6 -62
  84. package/build/components/preview-options/index.js.map +1 -1
  85. package/build/components/rich-text/content.js +26 -23
  86. package/build/components/rich-text/content.js.map +1 -1
  87. package/build/components/rich-text/get-rich-text-values.js +2 -1
  88. package/build/components/rich-text/get-rich-text-values.js.map +1 -1
  89. package/build/components/rich-text/index.js +2 -30
  90. package/build/components/rich-text/index.js.map +1 -1
  91. package/build/components/rich-text/index.native.js +9 -16
  92. package/build/components/rich-text/index.native.js.map +1 -1
  93. package/build/components/rich-text/native/get-format-colors.native.js +22 -24
  94. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  95. package/build/components/rich-text/native/index.native.js +7 -34
  96. package/build/components/rich-text/native/index.native.js.map +1 -1
  97. package/build/components/rich-text/use-input-rules.js +5 -1
  98. package/build/components/rich-text/use-input-rules.js.map +1 -1
  99. package/build/components/rich-text/with-deprecations.js +50 -0
  100. package/build/components/rich-text/with-deprecations.js.map +1 -0
  101. package/build/components/use-block-drop-zone/index.js +70 -8
  102. package/build/components/use-block-drop-zone/index.js.map +1 -1
  103. package/build/components/use-on-block-drop/index.js +1 -1
  104. package/build/components/use-on-block-drop/index.js.map +1 -1
  105. package/build/components/use-resize-canvas/index.js +4 -1
  106. package/build/components/use-resize-canvas/index.js.map +1 -1
  107. package/build/components/use-settings/index.js +14 -0
  108. package/build/components/use-settings/index.js.map +1 -1
  109. package/build/hooks/align.js +20 -68
  110. package/build/hooks/align.js.map +1 -1
  111. package/build/hooks/align.native.js +11 -1
  112. package/build/hooks/align.native.js.map +1 -1
  113. package/build/hooks/anchor.js +13 -29
  114. package/build/hooks/anchor.js.map +1 -1
  115. package/build/hooks/background.js +28 -31
  116. package/build/hooks/background.js.map +1 -1
  117. package/build/hooks/block-hooks.js +24 -32
  118. package/build/hooks/block-hooks.js.map +1 -1
  119. package/build/hooks/block-renaming.js +18 -22
  120. package/build/hooks/block-renaming.js.map +1 -1
  121. package/build/hooks/border.js +58 -80
  122. package/build/hooks/border.js.map +1 -1
  123. package/build/hooks/color.js +76 -89
  124. package/build/hooks/color.js.map +1 -1
  125. package/build/hooks/content-lock-ui.js +29 -29
  126. package/build/hooks/content-lock-ui.js.map +1 -1
  127. package/build/hooks/custom-class-name.js +12 -29
  128. package/build/hooks/custom-class-name.js.map +1 -1
  129. package/build/hooks/custom-fields.js +24 -38
  130. package/build/hooks/custom-fields.js.map +1 -1
  131. package/build/hooks/dimensions.js +21 -17
  132. package/build/hooks/dimensions.js.map +1 -1
  133. package/build/hooks/duotone.js +31 -61
  134. package/build/hooks/duotone.js.map +1 -1
  135. package/build/hooks/font-family.js +16 -25
  136. package/build/hooks/font-family.js.map +1 -1
  137. package/build/hooks/font-size.js +51 -119
  138. package/build/hooks/font-size.js.map +1 -1
  139. package/build/hooks/index.js +25 -14
  140. package/build/hooks/index.js.map +1 -1
  141. package/build/hooks/index.native.js +10 -3
  142. package/build/hooks/index.native.js.map +1 -1
  143. package/build/hooks/layout-child.js +68 -0
  144. package/build/hooks/layout-child.js.map +1 -0
  145. package/build/hooks/layout.js +16 -101
  146. package/build/hooks/layout.js.map +1 -1
  147. package/build/hooks/padding.js +2 -2
  148. package/build/hooks/padding.js.map +1 -1
  149. package/build/hooks/position.js +40 -62
  150. package/build/hooks/position.js.map +1 -1
  151. package/build/hooks/style.js +51 -88
  152. package/build/hooks/style.js.map +1 -1
  153. package/build/hooks/typography.js +34 -14
  154. package/build/hooks/typography.js.map +1 -1
  155. package/build/hooks/utils.js +154 -7
  156. package/build/hooks/utils.js.map +1 -1
  157. package/build/private-apis.js +0 -2
  158. package/build/private-apis.js.map +1 -1
  159. package/build/store/private-actions.js +8 -0
  160. package/build/store/private-actions.js.map +1 -1
  161. package/build/store/private-selectors.js +34 -0
  162. package/build/store/private-selectors.js.map +1 -1
  163. package/build/store/reducer.js +8 -0
  164. package/build/store/reducer.js.map +1 -1
  165. package/build/store/selectors.js +10 -60
  166. package/build/store/selectors.js.map +1 -1
  167. package/build/store/utils.js +66 -0
  168. package/build/store/utils.js.map +1 -0
  169. package/build/utils/object.js +21 -61
  170. package/build/utils/object.js.map +1 -1
  171. package/build/utils/selection.js +9 -1
  172. package/build/utils/selection.js.map +1 -1
  173. package/build-module/components/block-canvas/index.js +23 -7
  174. package/build-module/components/block-canvas/index.js.map +1 -1
  175. package/build-module/components/block-card/index.js +1 -1
  176. package/build-module/components/block-card/index.js.map +1 -1
  177. package/build-module/components/block-controls/hook.js +4 -24
  178. package/build-module/components/block-controls/hook.js.map +1 -1
  179. package/build-module/components/block-edit/context.js +2 -0
  180. package/build-module/components/block-edit/context.js.map +1 -1
  181. package/build-module/components/block-edit/index.js +19 -10
  182. package/build-module/components/block-edit/index.js.map +1 -1
  183. package/build-module/components/block-info-slot-fill/index.js +3 -3
  184. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  185. package/build-module/components/block-list/block.js +29 -10
  186. package/build-module/components/block-list/block.js.map +1 -1
  187. package/build-module/components/block-list/block.native.js +14 -5
  188. package/build-module/components/block-list/block.native.js.map +1 -1
  189. package/build-module/components/block-list/use-block-props/index.js +62 -19
  190. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  191. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -29
  192. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  193. package/build-module/components/block-list/use-block-props/use-is-hovered.js +4 -14
  194. package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  195. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
  196. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  197. package/build-module/components/block-patterns-list/index.js +1 -1
  198. package/build-module/components/block-patterns-list/index.js.map +1 -1
  199. package/build-module/components/block-removal-warning-modal/index.js +3 -10
  200. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  201. package/build-module/components/block-rename/modal.js +3 -0
  202. package/build-module/components/block-rename/modal.js.map +1 -1
  203. package/build-module/components/block-settings/container.native.js +4 -2
  204. package/build-module/components/block-settings/container.native.js.map +1 -1
  205. package/build-module/components/block-styles/index.js +1 -1
  206. package/build-module/components/block-styles/index.js.map +1 -1
  207. package/build-module/components/block-styles/index.native.js +3 -2
  208. package/build-module/components/block-styles/index.native.js.map +1 -1
  209. package/build-module/components/block-toolbar/index.js +88 -25
  210. package/build-module/components/block-toolbar/index.js.map +1 -1
  211. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +41 -0
  212. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
  213. package/build-module/components/block-tools/block-toolbar-popover.js +76 -0
  214. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -0
  215. package/build-module/components/block-tools/index.js +27 -24
  216. package/build-module/components/block-tools/index.js.map +1 -1
  217. package/build-module/components/block-types-list/index.native.js +2 -1
  218. package/build-module/components/block-types-list/index.native.js.map +1 -1
  219. package/build-module/components/block-variation-picker/index.native.js +2 -1
  220. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  221. package/build-module/components/colors-gradients/control.js +29 -18
  222. package/build-module/components/colors-gradients/control.js.map +1 -1
  223. package/build-module/components/duotone-control/index.js +1 -4
  224. package/build-module/components/duotone-control/index.js.map +1 -1
  225. package/build-module/components/global-styles/color-panel.js +23 -21
  226. package/build-module/components/global-styles/color-panel.js.map +1 -1
  227. package/build-module/components/global-styles/filters-panel.js +10 -4
  228. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  229. package/build-module/components/global-styles/typography-panel.js +20 -31
  230. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  231. package/build-module/components/image-link-destinations/index.native.js +109 -0
  232. package/build-module/components/image-link-destinations/index.native.js.map +1 -0
  233. package/build-module/components/index.native.js +1 -0
  234. package/build-module/components/index.native.js.map +1 -1
  235. package/build-module/components/inserter/media-tab/media-panel.js +1 -1
  236. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  237. package/build-module/components/inserter/menu.js +14 -7
  238. package/build-module/components/inserter/menu.js.map +1 -1
  239. package/build-module/components/inserter/preview-panel.js +2 -2
  240. package/build-module/components/inserter/preview-panel.js.map +1 -1
  241. package/build-module/components/inserter-button/index.native.js +89 -0
  242. package/build-module/components/inserter-button/index.native.js.map +1 -0
  243. package/build-module/components/inserter-button/sparkles.js +15 -0
  244. package/build-module/components/inserter-button/sparkles.js.map +1 -0
  245. package/build-module/components/inserter-draggable-blocks/index.js +9 -5
  246. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  247. package/build-module/components/inspector-controls/fill.js +3 -3
  248. package/build-module/components/inspector-controls/fill.js.map +1 -1
  249. package/build-module/components/inspector-controls/fill.native.js +3 -3
  250. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  251. package/build-module/components/navigable-toolbar/index.js +2 -2
  252. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  253. package/build-module/components/preview-options/index.js +6 -62
  254. package/build-module/components/preview-options/index.js.map +1 -1
  255. package/build-module/components/rich-text/content.js +25 -21
  256. package/build-module/components/rich-text/content.js.map +1 -1
  257. package/build-module/components/rich-text/get-rich-text-values.js +2 -1
  258. package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
  259. package/build-module/components/rich-text/index.js +4 -32
  260. package/build-module/components/rich-text/index.js.map +1 -1
  261. package/build-module/components/rich-text/index.native.js +10 -18
  262. package/build-module/components/rich-text/index.native.js.map +1 -1
  263. package/build-module/components/rich-text/native/get-format-colors.native.js +22 -24
  264. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  265. package/build-module/components/rich-text/native/index.native.js +7 -34
  266. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  267. package/build-module/components/rich-text/use-input-rules.js +5 -1
  268. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  269. package/build-module/components/rich-text/with-deprecations.js +42 -0
  270. package/build-module/components/rich-text/with-deprecations.js.map +1 -0
  271. package/build-module/components/use-block-drop-zone/index.js +69 -8
  272. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  273. package/build-module/components/use-on-block-drop/index.js +1 -1
  274. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  275. package/build-module/components/use-resize-canvas/index.js +4 -1
  276. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  277. package/build-module/components/use-settings/index.js +13 -1
  278. package/build-module/components/use-settings/index.js.map +1 -1
  279. package/build-module/hooks/align.js +19 -66
  280. package/build-module/hooks/align.js.map +1 -1
  281. package/build-module/hooks/align.native.js +1 -0
  282. package/build-module/hooks/align.native.js.map +1 -1
  283. package/build-module/hooks/anchor.js +11 -26
  284. package/build-module/hooks/anchor.js.map +1 -1
  285. package/build-module/hooks/background.js +26 -28
  286. package/build-module/hooks/background.js.map +1 -1
  287. package/build-module/hooks/block-hooks.js +22 -30
  288. package/build-module/hooks/block-hooks.js.map +1 -1
  289. package/build-module/hooks/block-renaming.js +17 -21
  290. package/build-module/hooks/block-renaming.js.map +1 -1
  291. package/build-module/hooks/border.js +57 -78
  292. package/build-module/hooks/border.js.map +1 -1
  293. package/build-module/hooks/color.js +74 -86
  294. package/build-module/hooks/color.js.map +1 -1
  295. package/build-module/hooks/content-lock-ui.js +27 -27
  296. package/build-module/hooks/content-lock-ui.js.map +1 -1
  297. package/build-module/hooks/custom-class-name.js +11 -27
  298. package/build-module/hooks/custom-class-name.js.map +1 -1
  299. package/build-module/hooks/custom-fields.js +20 -39
  300. package/build-module/hooks/custom-fields.js.map +1 -1
  301. package/build-module/hooks/dimensions.js +21 -16
  302. package/build-module/hooks/dimensions.js.map +1 -1
  303. package/build-module/hooks/duotone.js +30 -61
  304. package/build-module/hooks/duotone.js.map +1 -1
  305. package/build-module/hooks/font-family.js +14 -23
  306. package/build-module/hooks/font-family.js.map +1 -1
  307. package/build-module/hooks/font-size.js +49 -119
  308. package/build-module/hooks/font-size.js.map +1 -1
  309. package/build-module/hooks/index.js +18 -14
  310. package/build-module/hooks/index.js.map +1 -1
  311. package/build-module/hooks/index.native.js +5 -3
  312. package/build-module/hooks/index.native.js.map +1 -1
  313. package/build-module/hooks/layout-child.js +60 -0
  314. package/build-module/hooks/layout-child.js.map +1 -0
  315. package/build-module/hooks/layout.js +13 -98
  316. package/build-module/hooks/layout.js.map +1 -1
  317. package/build-module/hooks/padding.js +2 -2
  318. package/build-module/hooks/padding.js.map +1 -1
  319. package/build-module/hooks/position.js +38 -59
  320. package/build-module/hooks/position.js.map +1 -1
  321. package/build-module/hooks/style.js +51 -84
  322. package/build-module/hooks/style.js.map +1 -1
  323. package/build-module/hooks/typography.js +33 -12
  324. package/build-module/hooks/typography.js.map +1 -1
  325. package/build-module/hooks/utils.js +149 -6
  326. package/build-module/hooks/utils.js.map +1 -1
  327. package/build-module/private-apis.js +0 -2
  328. package/build-module/private-apis.js.map +1 -1
  329. package/build-module/store/private-actions.js +7 -0
  330. package/build-module/store/private-actions.js.map +1 -1
  331. package/build-module/store/private-selectors.js +33 -1
  332. package/build-module/store/private-selectors.js.map +1 -1
  333. package/build-module/store/reducer.js +8 -0
  334. package/build-module/store/reducer.js.map +1 -1
  335. package/build-module/store/selectors.js +3 -53
  336. package/build-module/store/selectors.js.map +1 -1
  337. package/build-module/store/utils.js +56 -0
  338. package/build-module/store/utils.js.map +1 -0
  339. package/build-module/utils/object.js +21 -60
  340. package/build-module/utils/object.js.map +1 -1
  341. package/build-module/utils/selection.js +9 -1
  342. package/build-module/utils/selection.js.map +1 -1
  343. package/build-style/style-rtl.css +113 -293
  344. package/build-style/style.css +113 -293
  345. package/package.json +31 -31
  346. package/src/components/block-canvas/index.js +31 -17
  347. package/src/components/block-caption/README.md +2 -2
  348. package/src/components/block-card/index.js +5 -3
  349. package/src/components/block-card/style.scss +7 -3
  350. package/src/components/block-controls/hook.js +8 -30
  351. package/src/components/block-controls/test/index.js +3 -3
  352. package/src/components/block-edit/context.js +3 -0
  353. package/src/components/block-edit/index.js +36 -10
  354. package/src/components/block-info-slot-fill/index.js +6 -3
  355. package/src/components/block-inspector/style.scss +0 -4
  356. package/src/components/block-list/block.js +39 -5
  357. package/src/components/block-list/block.native.js +18 -4
  358. package/src/components/block-list/use-block-props/index.js +74 -21
  359. package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -34
  360. package/src/components/block-list/use-block-props/use-is-hovered.js +2 -13
  361. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +1 -5
  362. package/src/components/block-patterns-list/index.js +1 -1
  363. package/src/components/block-removal-warning-modal/index.js +7 -14
  364. package/src/components/block-rename/modal.js +7 -1
  365. package/src/components/block-settings/container.native.js +3 -5
  366. package/src/components/block-styles/index.js +1 -1
  367. package/src/components/block-styles/index.native.js +4 -2
  368. package/src/components/block-styles/style.scss +0 -11
  369. package/src/components/block-switcher/test/__snapshots__/index.js.snap +3 -1
  370. package/src/components/block-toolbar/index.js +180 -95
  371. package/src/components/block-toolbar/style.scss +50 -66
  372. package/src/components/block-tools/block-toolbar-breadcrumb.js +46 -0
  373. package/src/components/block-tools/block-toolbar-popover.js +90 -0
  374. package/src/components/block-tools/index.js +42 -29
  375. package/src/components/block-tools/style.scss +60 -172
  376. package/src/components/block-types-list/index.native.js +2 -1
  377. package/src/components/block-variation-picker/index.native.js +1 -1
  378. package/src/components/colors-gradients/control.js +49 -30
  379. package/src/components/colors-gradients/style.scss +0 -7
  380. package/src/components/duotone-control/index.js +2 -5
  381. package/src/components/duotone-control/style.scss +1 -6
  382. package/src/components/global-styles/color-panel.js +34 -25
  383. package/src/components/global-styles/filters-panel.js +8 -4
  384. package/src/components/global-styles/typography-panel.js +23 -43
  385. package/src/components/image-link-destinations/index.native.js +152 -0
  386. package/src/components/image-link-destinations/style.native.scss +16 -0
  387. package/src/components/index.native.js +1 -0
  388. package/src/components/inner-blocks/README.md +13 -2
  389. package/src/components/inserter/media-tab/media-panel.js +1 -1
  390. package/src/components/inserter/menu.js +16 -8
  391. package/src/components/inserter/preview-panel.js +2 -2
  392. package/src/components/inserter/style.scss +15 -17
  393. package/src/components/inserter-button/README.md +62 -0
  394. package/src/components/inserter-button/index.native.js +116 -0
  395. package/src/components/inserter-button/sparkles.js +15 -0
  396. package/src/components/inserter-button/style.native.scss +72 -0
  397. package/src/components/inserter-draggable-blocks/index.js +18 -5
  398. package/src/components/inspector-controls/fill.js +6 -3
  399. package/src/components/inspector-controls/fill.native.js +6 -3
  400. package/src/components/link-control/style.scss +1 -1
  401. package/src/components/link-control/test/index.js +1 -1
  402. package/src/components/navigable-toolbar/README.md +2 -0
  403. package/src/components/navigable-toolbar/index.js +2 -2
  404. package/src/components/preview-options/index.js +6 -86
  405. package/src/components/rich-text/content.js +27 -20
  406. package/src/components/rich-text/get-rich-text-values.js +6 -1
  407. package/src/components/rich-text/index.js +5 -46
  408. package/src/components/rich-text/index.native.js +8 -25
  409. package/src/components/rich-text/native/get-format-colors.native.js +33 -40
  410. package/src/components/rich-text/native/index.native.js +7 -48
  411. package/src/components/rich-text/use-input-rules.js +6 -1
  412. package/src/components/rich-text/with-deprecations.js +51 -0
  413. package/src/components/use-block-drop-zone/index.js +114 -14
  414. package/src/components/use-on-block-drop/index.js +2 -1
  415. package/src/components/use-resize-canvas/README.md +3 -3
  416. package/src/components/use-resize-canvas/index.js +4 -1
  417. package/src/components/use-settings/index.js +15 -1
  418. package/src/hooks/align.js +15 -76
  419. package/src/hooks/align.native.js +1 -0
  420. package/src/hooks/anchor.js +13 -33
  421. package/src/hooks/background.js +28 -23
  422. package/src/hooks/block-hooks.js +22 -51
  423. package/src/hooks/block-renaming.js +23 -37
  424. package/src/hooks/border.js +67 -118
  425. package/src/hooks/color.js +100 -132
  426. package/src/hooks/content-lock-ui.js +110 -122
  427. package/src/hooks/custom-class-name.js +8 -40
  428. package/src/hooks/custom-fields.js +20 -47
  429. package/src/hooks/dimensions.js +20 -16
  430. package/src/hooks/duotone.js +70 -127
  431. package/src/hooks/font-family.js +10 -29
  432. package/src/hooks/font-size.js +66 -162
  433. package/src/hooks/index.js +42 -14
  434. package/src/hooks/index.native.js +6 -3
  435. package/src/hooks/layout-child.js +53 -0
  436. package/src/hooks/layout.js +13 -102
  437. package/src/hooks/padding.js +2 -2
  438. package/src/hooks/position.js +50 -90
  439. package/src/hooks/style.js +117 -187
  440. package/src/hooks/test/align.js +1 -178
  441. package/src/hooks/typography.js +20 -16
  442. package/src/hooks/utils.js +187 -6
  443. package/src/private-apis.js +0 -2
  444. package/src/store/private-actions.js +8 -0
  445. package/src/store/private-selectors.js +45 -0
  446. package/src/store/reducer.js +8 -0
  447. package/src/store/selectors.js +5 -69
  448. package/src/store/utils.js +74 -0
  449. package/src/style.scss +0 -2
  450. package/src/utils/object.js +18 -69
  451. package/src/utils/selection.js +9 -2
  452. package/build/components/block-list/use-block-props/use-block-class-names.js +0 -67
  453. package/build/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
  454. package/build/components/block-list/use-block-props/use-block-custom-class-name.js +0 -46
  455. package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
  456. package/build/components/block-list/use-block-props/use-block-default-class-name.js +0 -37
  457. package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
  458. package/build/components/block-tools/back-compat.js +0 -45
  459. package/build/components/block-tools/back-compat.js.map +0 -1
  460. package/build/components/block-tools/block-contextual-toolbar.js +0 -91
  461. package/build/components/block-tools/block-contextual-toolbar.js.map +0 -1
  462. package/build/components/block-tools/selected-block-tools.js +0 -113
  463. package/build/components/block-tools/selected-block-tools.js.map +0 -1
  464. package/build/components/inserter/hooks/use-debounced-input.js +0 -22
  465. package/build/components/inserter/hooks/use-debounced-input.js.map +0 -1
  466. package/build/components/use-display-block-controls/index.js +0 -39
  467. package/build/components/use-display-block-controls/index.js.map +0 -1
  468. package/build/components/use-display-block-controls/index.native.js +0 -39
  469. package/build/components/use-display-block-controls/index.native.js.map +0 -1
  470. package/build-module/components/block-list/use-block-props/use-block-class-names.js +0 -60
  471. package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
  472. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +0 -40
  473. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
  474. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +0 -31
  475. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
  476. package/build-module/components/block-tools/back-compat.js +0 -35
  477. package/build-module/components/block-tools/back-compat.js.map +0 -1
  478. package/build-module/components/block-tools/block-contextual-toolbar.js +0 -83
  479. package/build-module/components/block-tools/block-contextual-toolbar.js.map +0 -1
  480. package/build-module/components/block-tools/selected-block-tools.js +0 -105
  481. package/build-module/components/block-tools/selected-block-tools.js.map +0 -1
  482. package/build-module/components/inserter/hooks/use-debounced-input.js +0 -15
  483. package/build-module/components/inserter/hooks/use-debounced-input.js.map +0 -1
  484. package/build-module/components/use-display-block-controls/index.js +0 -32
  485. package/build-module/components/use-display-block-controls/index.js.map +0 -1
  486. package/build-module/components/use-display-block-controls/index.native.js +0 -32
  487. package/build-module/components/use-display-block-controls/index.native.js.map +0 -1
  488. package/src/components/block-list/use-block-props/use-block-class-names.js +0 -66
  489. package/src/components/block-list/use-block-props/use-block-custom-class-name.js +0 -44
  490. package/src/components/block-list/use-block-props/use-block-default-class-name.js +0 -35
  491. package/src/components/block-parent-selector/style.scss +0 -11
  492. package/src/components/block-tools/back-compat.js +0 -35
  493. package/src/components/block-tools/block-contextual-toolbar.js +0 -100
  494. package/src/components/block-tools/selected-block-tools.js +0 -127
  495. package/src/components/inserter/hooks/use-debounced-input.js +0 -18
  496. package/src/components/preview-options/README.md +0 -94
  497. package/src/components/preview-options/style.scss +0 -64
  498. package/src/components/use-display-block-controls/index.js +0 -36
  499. package/src/components/use-display-block-controls/index.native.js +0 -37
  500. package/src/hooks/test/color.js +0 -112
@@ -10,6 +10,7 @@ var _components = require("@wordpress/components");
10
10
  var _blocks = require("@wordpress/blocks");
11
11
  var _data = require("@wordpress/data");
12
12
  var _draggableChip = _interopRequireDefault(require("../block-draggable/draggable-chip"));
13
+ var _utils = require("../inserter/block-patterns-tab/utils");
13
14
  /**
14
15
  * WordPress dependencies
15
16
  */
@@ -23,7 +24,7 @@ const InserterDraggableBlocks = ({
23
24
  blocks,
24
25
  icon,
25
26
  children,
26
- isPattern
27
+ pattern
27
28
  }) => {
28
29
  const transferData = {
29
30
  type: 'inserter',
@@ -39,12 +40,15 @@ const InserterDraggableBlocks = ({
39
40
  __experimentalTransferDataType: "wp-blocks",
40
41
  transferData: transferData,
41
42
  onDragStart: event => {
42
- event.dataTransfer.setData('text/html', (0, _blocks.serialize)(blocks));
43
+ const parsedBlocks = pattern?.type === _utils.PATTERN_TYPES.user && pattern?.syncStatus !== 'unsynced' ? [(0, _blocks.createBlock)('core/block', {
44
+ ref: pattern.id
45
+ })] : blocks;
46
+ event.dataTransfer.setData('text/html', (0, _blocks.serialize)(parsedBlocks));
43
47
  },
44
48
  __experimentalDragComponent: (0, _react.createElement)(_draggableChip.default, {
45
49
  count: blocks.length,
46
- icon: icon || !isPattern && blockTypeIcon,
47
- isPattern: isPattern
50
+ icon: icon || !pattern && blockTypeIcon,
51
+ isPattern: !!pattern
48
52
  })
49
53
  }, ({
50
54
  onDraggableStart,
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_blocks","_data","_draggableChip","_interopRequireDefault","InserterDraggableBlocks","isEnabled","blocks","icon","children","isPattern","transferData","type","blockTypeIcon","useSelect","select","getBlockType","blocksStore","length","name","_react","createElement","Draggable","__experimentalTransferDataType","onDragStart","event","dataTransfer","setData","serialize","__experimentalDragComponent","default","count","onDraggableStart","onDraggableEnd","draggable","undefined","onDragEnd","_default","exports"],"sources":["@wordpress/block-editor/src/components/inserter-draggable-blocks/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Draggable } from '@wordpress/components';\nimport { serialize, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n/**\n * Internal dependencies\n */\nimport BlockDraggableChip from '../block-draggable/draggable-chip';\n\nconst InserterDraggableBlocks = ( {\n\tisEnabled,\n\tblocks,\n\ticon,\n\tchildren,\n\tisPattern,\n} ) => {\n\tconst transferData = {\n\t\ttype: 'inserter',\n\t\tblocks,\n\t};\n\n\tconst blockTypeIcon = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockType } = select( blocksStore );\n\t\t\treturn (\n\t\t\t\tblocks.length === 1 && getBlockType( blocks[ 0 ].name )?.icon\n\t\t\t);\n\t\t},\n\t\t[ blocks ]\n\t);\n\n\treturn (\n\t\t<Draggable\n\t\t\t__experimentalTransferDataType=\"wp-blocks\"\n\t\t\ttransferData={ transferData }\n\t\t\tonDragStart={ ( event ) => {\n\t\t\t\tevent.dataTransfer.setData( 'text/html', serialize( blocks ) );\n\t\t\t} }\n\t\t\t__experimentalDragComponent={\n\t\t\t\t<BlockDraggableChip\n\t\t\t\t\tcount={ blocks.length }\n\t\t\t\t\ticon={ icon || ( ! isPattern && blockTypeIcon ) }\n\t\t\t\t\tisPattern={ isPattern }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\treturn children( {\n\t\t\t\t\tdraggable: isEnabled,\n\t\t\t\t\tonDragStart: isEnabled ? onDraggableStart : undefined,\n\t\t\t\t\tonDragEnd: isEnabled ? onDraggableEnd : undefined,\n\t\t\t\t} );\n\t\t\t} }\n\t\t</Draggable>\n\t);\n};\n\nexport default InserterDraggableBlocks;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAIA,IAAAG,cAAA,GAAAC,sBAAA,CAAAJ,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA,MAAMK,uBAAuB,GAAGA,CAAE;EACjCC,SAAS;EACTC,MAAM;EACNC,IAAI;EACJC,QAAQ;EACRC;AACD,CAAC,KAAM;EACN,MAAMC,YAAY,GAAG;IACpBC,IAAI,EAAE,UAAU;IAChBL;EACD,CAAC;EAED,MAAMM,aAAa,GAAG,IAAAC,eAAS,EAC5BC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAa,CAAC,GAAGD,MAAM,CAAEE,aAAY,CAAC;IAC9C,OACCV,MAAM,CAACW,MAAM,KAAK,CAAC,IAAIF,YAAY,CAAET,MAAM,CAAE,CAAC,CAAE,CAACY,IAAK,CAAC,EAAEX,IAAI;EAE/D,CAAC,EACD,CAAED,MAAM,CACT,CAAC;EAED,OACC,IAAAa,MAAA,CAAAC,aAAA,EAACtB,WAAA,CAAAuB,SAAS;IACTC,8BAA8B,EAAC,WAAW;IAC1CZ,YAAY,EAAGA,YAAc;IAC7Ba,WAAW,EAAKC,KAAK,IAAM;MAC1BA,KAAK,CAACC,YAAY,CAACC,OAAO,CAAE,WAAW,EAAE,IAAAC,iBAAS,EAAErB,MAAO,CAAE,CAAC;IAC/D,CAAG;IACHsB,2BAA2B,EAC1B,IAAAT,MAAA,CAAAC,aAAA,EAAClB,cAAA,CAAA2B,OAAkB;MAClBC,KAAK,EAAGxB,MAAM,CAACW,MAAQ;MACvBV,IAAI,EAAGA,IAAI,IAAM,CAAEE,SAAS,IAAIG,aAAiB;MACjDH,SAAS,EAAGA;IAAW,CACvB;EACD,GAEC,CAAE;IAAEsB,gBAAgB;IAAEC;EAAe,CAAC,KAAM;IAC7C,OAAOxB,QAAQ,CAAE;MAChByB,SAAS,EAAE5B,SAAS;MACpBkB,WAAW,EAAElB,SAAS,GAAG0B,gBAAgB,GAAGG,SAAS;MACrDC,SAAS,EAAE9B,SAAS,GAAG2B,cAAc,GAAGE;IACzC,CAAE,CAAC;EACJ,CACU,CAAC;AAEd,CAAC;AAAC,IAAAE,QAAA,GAEahC,uBAAuB;AAAAiC,OAAA,CAAAR,OAAA,GAAAO,QAAA"}
1
+ {"version":3,"names":["_components","require","_blocks","_data","_draggableChip","_interopRequireDefault","_utils","InserterDraggableBlocks","isEnabled","blocks","icon","children","pattern","transferData","type","blockTypeIcon","useSelect","select","getBlockType","blocksStore","length","name","_react","createElement","Draggable","__experimentalTransferDataType","onDragStart","event","parsedBlocks","PATTERN_TYPES","user","syncStatus","createBlock","ref","id","dataTransfer","setData","serialize","__experimentalDragComponent","default","count","isPattern","onDraggableStart","onDraggableEnd","draggable","undefined","onDragEnd","_default","exports"],"sources":["@wordpress/block-editor/src/components/inserter-draggable-blocks/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Draggable } from '@wordpress/components';\nimport {\n\tcreateBlock,\n\tserialize,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\n/**\n * Internal dependencies\n */\nimport BlockDraggableChip from '../block-draggable/draggable-chip';\nimport { PATTERN_TYPES } from '../inserter/block-patterns-tab/utils';\n\nconst InserterDraggableBlocks = ( {\n\tisEnabled,\n\tblocks,\n\ticon,\n\tchildren,\n\tpattern,\n} ) => {\n\tconst transferData = {\n\t\ttype: 'inserter',\n\t\tblocks,\n\t};\n\n\tconst blockTypeIcon = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockType } = select( blocksStore );\n\t\t\treturn (\n\t\t\t\tblocks.length === 1 && getBlockType( blocks[ 0 ].name )?.icon\n\t\t\t);\n\t\t},\n\t\t[ blocks ]\n\t);\n\n\treturn (\n\t\t<Draggable\n\t\t\t__experimentalTransferDataType=\"wp-blocks\"\n\t\t\ttransferData={ transferData }\n\t\t\tonDragStart={ ( event ) => {\n\t\t\t\tconst parsedBlocks =\n\t\t\t\t\tpattern?.type === PATTERN_TYPES.user &&\n\t\t\t\t\tpattern?.syncStatus !== 'unsynced'\n\t\t\t\t\t\t? [ createBlock( 'core/block', { ref: pattern.id } ) ]\n\t\t\t\t\t\t: blocks;\n\t\t\t\tevent.dataTransfer.setData(\n\t\t\t\t\t'text/html',\n\t\t\t\t\tserialize( parsedBlocks )\n\t\t\t\t);\n\t\t\t} }\n\t\t\t__experimentalDragComponent={\n\t\t\t\t<BlockDraggableChip\n\t\t\t\t\tcount={ blocks.length }\n\t\t\t\t\ticon={ icon || ( ! pattern && blockTypeIcon ) }\n\t\t\t\t\tisPattern={ !! pattern }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ ( { onDraggableStart, onDraggableEnd } ) => {\n\t\t\t\treturn children( {\n\t\t\t\t\tdraggable: isEnabled,\n\t\t\t\t\tonDragStart: isEnabled ? onDraggableStart : undefined,\n\t\t\t\t\tonDragEnd: isEnabled ? onDraggableEnd : undefined,\n\t\t\t\t} );\n\t\t\t} }\n\t\t</Draggable>\n\t);\n};\n\nexport default InserterDraggableBlocks;\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAF,OAAA;AAIA,IAAAG,cAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AAdA;AACA;AACA;;AAQA;AACA;AACA;;AAIA,MAAMM,uBAAuB,GAAGA,CAAE;EACjCC,SAAS;EACTC,MAAM;EACNC,IAAI;EACJC,QAAQ;EACRC;AACD,CAAC,KAAM;EACN,MAAMC,YAAY,GAAG;IACpBC,IAAI,EAAE,UAAU;IAChBL;EACD,CAAC;EAED,MAAMM,aAAa,GAAG,IAAAC,eAAS,EAC5BC,MAAM,IAAM;IACb,MAAM;MAAEC;IAAa,CAAC,GAAGD,MAAM,CAAEE,aAAY,CAAC;IAC9C,OACCV,MAAM,CAACW,MAAM,KAAK,CAAC,IAAIF,YAAY,CAAET,MAAM,CAAE,CAAC,CAAE,CAACY,IAAK,CAAC,EAAEX,IAAI;EAE/D,CAAC,EACD,CAAED,MAAM,CACT,CAAC;EAED,OACC,IAAAa,MAAA,CAAAC,aAAA,EAACvB,WAAA,CAAAwB,SAAS;IACTC,8BAA8B,EAAC,WAAW;IAC1CZ,YAAY,EAAGA,YAAc;IAC7Ba,WAAW,EAAKC,KAAK,IAAM;MAC1B,MAAMC,YAAY,GACjBhB,OAAO,EAAEE,IAAI,KAAKe,oBAAa,CAACC,IAAI,IACpClB,OAAO,EAAEmB,UAAU,KAAK,UAAU,GAC/B,CAAE,IAAAC,mBAAW,EAAE,YAAY,EAAE;QAAEC,GAAG,EAAErB,OAAO,CAACsB;MAAG,CAAE,CAAC,CAAE,GACpDzB,MAAM;MACVkB,KAAK,CAACQ,YAAY,CAACC,OAAO,CACzB,WAAW,EACX,IAAAC,iBAAS,EAAET,YAAa,CACzB,CAAC;IACF,CAAG;IACHU,2BAA2B,EAC1B,IAAAhB,MAAA,CAAAC,aAAA,EAACnB,cAAA,CAAAmC,OAAkB;MAClBC,KAAK,EAAG/B,MAAM,CAACW,MAAQ;MACvBV,IAAI,EAAGA,IAAI,IAAM,CAAEE,OAAO,IAAIG,aAAiB;MAC/C0B,SAAS,EAAG,CAAC,CAAE7B;IAAS,CACxB;EACD,GAEC,CAAE;IAAE8B,gBAAgB;IAAEC;EAAe,CAAC,KAAM;IAC7C,OAAOhC,QAAQ,CAAE;MAChBiC,SAAS,EAAEpC,SAAS;MACpBkB,WAAW,EAAElB,SAAS,GAAGkC,gBAAgB,GAAGG,SAAS;MACrDC,SAAS,EAAEtC,SAAS,GAAGmC,cAAc,GAAGE;IACzC,CAAE,CAAC;EACJ,CACU,CAAC;AAEd,CAAC;AAAC,IAAAE,QAAA,GAEaxC,uBAAuB;AAAAyC,OAAA,CAAAT,OAAA,GAAAQ,QAAA"}
@@ -10,7 +10,7 @@ var _components = require("@wordpress/components");
10
10
  var _warning = _interopRequireDefault(require("@wordpress/warning"));
11
11
  var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
12
12
  var _element = require("@wordpress/element");
13
- var _useDisplayBlockControls = _interopRequireDefault(require("../use-display-block-controls"));
13
+ var _context = require("../block-edit/context");
14
14
  var _groups = _interopRequireDefault(require("./groups"));
15
15
  /**
16
16
  * WordPress dependencies
@@ -34,13 +34,13 @@ function InspectorControlsFill({
34
34
  });
35
35
  group = __experimentalGroup;
36
36
  }
37
- const isDisplayed = (0, _useDisplayBlockControls.default)();
37
+ const context = (0, _context.useBlockEditContext)();
38
38
  const Fill = _groups.default[group]?.Fill;
39
39
  if (!Fill) {
40
40
  typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)(`Unknown InspectorControls group "${group}" provided.`) : void 0;
41
41
  return null;
42
42
  }
43
- if (!isDisplayed) {
43
+ if (!context[_context.mayDisplayControlsKey]) {
44
44
  return null;
45
45
  }
46
46
  return (0, _react.createElement)(_components.__experimentalStyleProvider, {
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_warning","_interopRequireDefault","_deprecated","_element","_useDisplayBlockControls","_groups","InspectorControlsFill","children","group","__experimentalGroup","resetAllFilter","deprecated","since","version","alternative","isDisplayed","useDisplayBlockControls","Fill","groups","SCRIPT_DEBUG","warning","_react","createElement","__experimentalStyleProvider","document","fillProps","ToolsPanelInspectorControl","RegisterResetAll","registerResetAllFilter","deregisterResetAllFilter","useContext","ToolsPanelContext","useEffect","forwardedContext","innerMarkup","reduce","inner","Provider","props"],"sources":["@wordpress/block-editor/src/components/inspector-controls/fill.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalStyleProvider as StyleProvider,\n\t__experimentalToolsPanelContext as ToolsPanelContext,\n} from '@wordpress/components';\nimport warning from '@wordpress/warning';\nimport deprecated from '@wordpress/deprecated';\nimport { useEffect, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useDisplayBlockControls from '../use-display-block-controls';\nimport groups from './groups';\n\nexport default function InspectorControlsFill( {\n\tchildren,\n\tgroup = 'default',\n\t__experimentalGroup,\n\tresetAllFilter,\n} ) {\n\tif ( __experimentalGroup ) {\n\t\tdeprecated(\n\t\t\t'`__experimentalGroup` property in `InspectorControlsFill`',\n\t\t\t{\n\t\t\t\tsince: '6.2',\n\t\t\t\tversion: '6.4',\n\t\t\t\talternative: '`group`',\n\t\t\t}\n\t\t);\n\t\tgroup = __experimentalGroup;\n\t}\n\n\tconst isDisplayed = useDisplayBlockControls();\n\tconst Fill = groups[ group ]?.Fill;\n\tif ( ! Fill ) {\n\t\twarning( `Unknown InspectorControls group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\tif ( ! isDisplayed ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill>\n\t\t\t\t{ ( fillProps ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolsPanelInspectorControl\n\t\t\t\t\t\t\tfillProps={ fillProps }\n\t\t\t\t\t\t\tchildren={ children }\n\t\t\t\t\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t</Fill>\n\t\t</StyleProvider>\n\t);\n}\n\nfunction RegisterResetAll( { resetAllFilter, children } ) {\n\tconst { registerResetAllFilter, deregisterResetAllFilter } =\n\t\tuseContext( ToolsPanelContext );\n\tuseEffect( () => {\n\t\tif (\n\t\t\tresetAllFilter &&\n\t\t\tregisterResetAllFilter &&\n\t\t\tderegisterResetAllFilter\n\t\t) {\n\t\t\tregisterResetAllFilter( resetAllFilter );\n\t\t\treturn () => {\n\t\t\t\tderegisterResetAllFilter( resetAllFilter );\n\t\t\t};\n\t\t}\n\t}, [ resetAllFilter, registerResetAllFilter, deregisterResetAllFilter ] );\n\treturn children;\n}\n\nfunction ToolsPanelInspectorControl( { children, resetAllFilter, fillProps } ) {\n\t// `fillProps.forwardedContext` is an array of context provider entries, provided by slot,\n\t// that should wrap the fill markup.\n\tconst { forwardedContext = [] } = fillProps;\n\n\t// Children passed to InspectorControlsFill will not have\n\t// access to any React Context whose Provider is part of\n\t// the InspectorControlsSlot tree. So we re-create the\n\t// Provider in this subtree.\n\tconst innerMarkup = (\n\t\t<RegisterResetAll resetAllFilter={ resetAllFilter }>\n\t\t\t{ children }\n\t\t</RegisterResetAll>\n\t);\n\treturn forwardedContext.reduce(\n\t\t( inner, [ Provider, props ] ) => (\n\t\t\t<Provider { ...props }>{ inner }</Provider>\n\t\t),\n\t\tinnerMarkup\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAKA,IAAAK,wBAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,OAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAfA;AACA;AACA;;AASA;AACA;AACA;;AAIe,SAASO,qBAAqBA,CAAE;EAC9CC,QAAQ;EACRC,KAAK,GAAG,SAAS;EACjBC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,IAAKD,mBAAmB,EAAG;IAC1B,IAAAE,mBAAU,EACT,2DAA2D,EAC3D;MACCC,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE,KAAK;MACdC,WAAW,EAAE;IACd,CACD,CAAC;IACDN,KAAK,GAAGC,mBAAmB;EAC5B;EAEA,MAAMM,WAAW,GAAG,IAAAC,gCAAuB,EAAC,CAAC;EAC7C,MAAMC,IAAI,GAAGC,eAAM,CAAEV,KAAK,CAAE,EAAES,IAAI;EAClC,IAAK,CAAEA,IAAI,EAAG;IACb,OAAAE,YAAA,oBAAAA,YAAA,gBAAAC,gBAAO,EAAG,oCAAoCZ,KAAO,aAAa,CAAC;IACnE,OAAO,IAAI;EACZ;EACA,IAAK,CAAEO,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAM,MAAA,CAAAC,aAAA,EAACxB,WAAA,CAAAyB,2BAAa;IAACC,QAAQ,EAAGA;EAAU,GACnC,IAAAH,MAAA,CAAAC,aAAA,EAACL,IAAI,QACAQ,SAAS,IAAM;IAClB,OACC,IAAAJ,MAAA,CAAAC,aAAA,EAACI,0BAA0B;MAC1BD,SAAS,EAAGA,SAAW;MACvBlB,QAAQ,EAAGA,QAAU;MACrBG,cAAc,EAAGA;IAAgB,CACjC,CAAC;EAEJ,CACK,CACQ,CAAC;AAElB;AAEA,SAASiB,gBAAgBA,CAAE;EAAEjB,cAAc;EAAEH;AAAS,CAAC,EAAG;EACzD,MAAM;IAAEqB,sBAAsB;IAAEC;EAAyB,CAAC,GACzD,IAAAC,mBAAU,EAAEC,2CAAkB,CAAC;EAChC,IAAAC,kBAAS,EAAE,MAAM;IAChB,IACCtB,cAAc,IACdkB,sBAAsB,IACtBC,wBAAwB,EACvB;MACDD,sBAAsB,CAAElB,cAAe,CAAC;MACxC,OAAO,MAAM;QACZmB,wBAAwB,CAAEnB,cAAe,CAAC;MAC3C,CAAC;IACF;EACD,CAAC,EAAE,CAAEA,cAAc,EAAEkB,sBAAsB,EAAEC,wBAAwB,CAAG,CAAC;EACzE,OAAOtB,QAAQ;AAChB;AAEA,SAASmB,0BAA0BA,CAAE;EAAEnB,QAAQ;EAAEG,cAAc;EAAEe;AAAU,CAAC,EAAG;EAC9E;EACA;EACA,MAAM;IAAEQ,gBAAgB,GAAG;EAAG,CAAC,GAAGR,SAAS;;EAE3C;EACA;EACA;EACA;EACA,MAAMS,WAAW,GAChB,IAAAb,MAAA,CAAAC,aAAA,EAACK,gBAAgB;IAACjB,cAAc,EAAGA;EAAgB,GAChDH,QACe,CAClB;EACD,OAAO0B,gBAAgB,CAACE,MAAM,CAC7B,CAAEC,KAAK,EAAE,CAAEC,QAAQ,EAAEC,KAAK,CAAE,KAC3B,IAAAjB,MAAA,CAAAC,aAAA,EAACe,QAAQ;IAAA,GAAMC;EAAK,GAAKF,KAAiB,CAC1C,EACDF,WACD,CAAC;AACF"}
1
+ {"version":3,"names":["_components","require","_warning","_interopRequireDefault","_deprecated","_element","_context","_groups","InspectorControlsFill","children","group","__experimentalGroup","resetAllFilter","deprecated","since","version","alternative","context","useBlockEditContext","Fill","groups","SCRIPT_DEBUG","warning","mayDisplayControlsKey","_react","createElement","__experimentalStyleProvider","document","fillProps","ToolsPanelInspectorControl","RegisterResetAll","registerResetAllFilter","deregisterResetAllFilter","useContext","ToolsPanelContext","useEffect","forwardedContext","innerMarkup","reduce","inner","Provider","props"],"sources":["@wordpress/block-editor/src/components/inspector-controls/fill.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalStyleProvider as StyleProvider,\n\t__experimentalToolsPanelContext as ToolsPanelContext,\n} from '@wordpress/components';\nimport warning from '@wordpress/warning';\nimport deprecated from '@wordpress/deprecated';\nimport { useEffect, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseBlockEditContext,\n\tmayDisplayControlsKey,\n} from '../block-edit/context';\nimport groups from './groups';\n\nexport default function InspectorControlsFill( {\n\tchildren,\n\tgroup = 'default',\n\t__experimentalGroup,\n\tresetAllFilter,\n} ) {\n\tif ( __experimentalGroup ) {\n\t\tdeprecated(\n\t\t\t'`__experimentalGroup` property in `InspectorControlsFill`',\n\t\t\t{\n\t\t\t\tsince: '6.2',\n\t\t\t\tversion: '6.4',\n\t\t\t\talternative: '`group`',\n\t\t\t}\n\t\t);\n\t\tgroup = __experimentalGroup;\n\t}\n\n\tconst context = useBlockEditContext();\n\tconst Fill = groups[ group ]?.Fill;\n\tif ( ! Fill ) {\n\t\twarning( `Unknown InspectorControls group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\tif ( ! context[ mayDisplayControlsKey ] ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StyleProvider document={ document }>\n\t\t\t<Fill>\n\t\t\t\t{ ( fillProps ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolsPanelInspectorControl\n\t\t\t\t\t\t\tfillProps={ fillProps }\n\t\t\t\t\t\t\tchildren={ children }\n\t\t\t\t\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t</Fill>\n\t\t</StyleProvider>\n\t);\n}\n\nfunction RegisterResetAll( { resetAllFilter, children } ) {\n\tconst { registerResetAllFilter, deregisterResetAllFilter } =\n\t\tuseContext( ToolsPanelContext );\n\tuseEffect( () => {\n\t\tif (\n\t\t\tresetAllFilter &&\n\t\t\tregisterResetAllFilter &&\n\t\t\tderegisterResetAllFilter\n\t\t) {\n\t\t\tregisterResetAllFilter( resetAllFilter );\n\t\t\treturn () => {\n\t\t\t\tderegisterResetAllFilter( resetAllFilter );\n\t\t\t};\n\t\t}\n\t}, [ resetAllFilter, registerResetAllFilter, deregisterResetAllFilter ] );\n\treturn children;\n}\n\nfunction ToolsPanelInspectorControl( { children, resetAllFilter, fillProps } ) {\n\t// `fillProps.forwardedContext` is an array of context provider entries, provided by slot,\n\t// that should wrap the fill markup.\n\tconst { forwardedContext = [] } = fillProps;\n\n\t// Children passed to InspectorControlsFill will not have\n\t// access to any React Context whose Provider is part of\n\t// the InspectorControlsSlot tree. So we re-create the\n\t// Provider in this subtree.\n\tconst innerMarkup = (\n\t\t<RegisterResetAll resetAllFilter={ resetAllFilter }>\n\t\t\t{ children }\n\t\t</RegisterResetAll>\n\t);\n\treturn forwardedContext.reduce(\n\t\t( inner, [ Provider, props ] ) => (\n\t\t\t<Provider { ...props }>{ inner }</Provider>\n\t\t),\n\t\tinnerMarkup\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,WAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAKA,IAAAK,QAAA,GAAAL,OAAA;AAIA,IAAAM,OAAA,GAAAJ,sBAAA,CAAAF,OAAA;AAlBA;AACA;AACA;;AASA;AACA;AACA;;AAOe,SAASO,qBAAqBA,CAAE;EAC9CC,QAAQ;EACRC,KAAK,GAAG,SAAS;EACjBC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,IAAKD,mBAAmB,EAAG;IAC1B,IAAAE,mBAAU,EACT,2DAA2D,EAC3D;MACCC,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE,KAAK;MACdC,WAAW,EAAE;IACd,CACD,CAAC;IACDN,KAAK,GAAGC,mBAAmB;EAC5B;EAEA,MAAMM,OAAO,GAAG,IAAAC,4BAAmB,EAAC,CAAC;EACrC,MAAMC,IAAI,GAAGC,eAAM,CAAEV,KAAK,CAAE,EAAES,IAAI;EAClC,IAAK,CAAEA,IAAI,EAAG;IACb,OAAAE,YAAA,oBAAAA,YAAA,gBAAAC,gBAAO,EAAG,oCAAoCZ,KAAO,aAAa,CAAC;IACnE,OAAO,IAAI;EACZ;EACA,IAAK,CAAEO,OAAO,CAAEM,8BAAqB,CAAE,EAAG;IACzC,OAAO,IAAI;EACZ;EAEA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAACzB,WAAA,CAAA0B,2BAAa;IAACC,QAAQ,EAAGA;EAAU,GACnC,IAAAH,MAAA,CAAAC,aAAA,EAACN,IAAI,QACAS,SAAS,IAAM;IAClB,OACC,IAAAJ,MAAA,CAAAC,aAAA,EAACI,0BAA0B;MAC1BD,SAAS,EAAGA,SAAW;MACvBnB,QAAQ,EAAGA,QAAU;MACrBG,cAAc,EAAGA;IAAgB,CACjC,CAAC;EAEJ,CACK,CACQ,CAAC;AAElB;AAEA,SAASkB,gBAAgBA,CAAE;EAAElB,cAAc;EAAEH;AAAS,CAAC,EAAG;EACzD,MAAM;IAAEsB,sBAAsB;IAAEC;EAAyB,CAAC,GACzD,IAAAC,mBAAU,EAAEC,2CAAkB,CAAC;EAChC,IAAAC,kBAAS,EAAE,MAAM;IAChB,IACCvB,cAAc,IACdmB,sBAAsB,IACtBC,wBAAwB,EACvB;MACDD,sBAAsB,CAAEnB,cAAe,CAAC;MACxC,OAAO,MAAM;QACZoB,wBAAwB,CAAEpB,cAAe,CAAC;MAC3C,CAAC;IACF;EACD,CAAC,EAAE,CAAEA,cAAc,EAAEmB,sBAAsB,EAAEC,wBAAwB,CAAG,CAAC;EACzE,OAAOvB,QAAQ;AAChB;AAEA,SAASoB,0BAA0BA,CAAE;EAAEpB,QAAQ;EAAEG,cAAc;EAAEgB;AAAU,CAAC,EAAG;EAC9E;EACA;EACA,MAAM;IAAEQ,gBAAgB,GAAG;EAAG,CAAC,GAAGR,SAAS;;EAE3C;EACA;EACA;EACA;EACA,MAAMS,WAAW,GAChB,IAAAb,MAAA,CAAAC,aAAA,EAACK,gBAAgB;IAAClB,cAAc,EAAGA;EAAgB,GAChDH,QACe,CAClB;EACD,OAAO2B,gBAAgB,CAACE,MAAM,CAC7B,CAAEC,KAAK,EAAE,CAAEC,QAAQ,EAAEC,KAAK,CAAE,KAC3B,IAAAjB,MAAA,CAAAC,aAAA,EAACe,QAAQ;IAAA,GAAMC;EAAK,GAAKF,KAAiB,CAC1C,EACDF,WACD,CAAC;AACF"}
@@ -12,7 +12,7 @@ var _components = require("@wordpress/components");
12
12
  var _warning = _interopRequireDefault(require("@wordpress/warning"));
13
13
  var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
14
14
  var _groups = _interopRequireDefault(require("./groups"));
15
- var _useDisplayBlockControls = _interopRequireDefault(require("../use-display-block-controls"));
15
+ var _context = require("../block-edit/context");
16
16
  var _blockSettings = require("../block-settings");
17
17
  /**
18
18
  * External dependencies
@@ -40,13 +40,13 @@ function InspectorControlsFill({
40
40
  });
41
41
  group = __experimentalGroup;
42
42
  }
43
- const isDisplayed = (0, _useDisplayBlockControls.default)();
43
+ const context = (0, _context.useBlockEditContext)();
44
44
  const Fill = _groups.default[group]?.Fill;
45
45
  if (!Fill) {
46
46
  typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)(`Unknown InspectorControls group "${group}" provided.`) : void 0;
47
47
  return null;
48
48
  }
49
- if (!isDisplayed) {
49
+ if (!context[_context.mayDisplayControlsKey]) {
50
50
  return null;
51
51
  }
52
52
  return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(Fill, {
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_element","_components","_warning","_interopRequireDefault","_deprecated","_groups","_useDisplayBlockControls","_blockSettings","InspectorControlsFill","children","group","__experimentalGroup","props","deprecated","since","version","alternative","isDisplayed","useDisplayBlockControls","Fill","groups","SCRIPT_DEBUG","warning","_react","createElement","Fragment","BottomSheetConsumer","View","Children","count","BlockSettingsButton"],"sources":["@wordpress/block-editor/src/components/inspector-controls/fill.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Children } from '@wordpress/element';\nimport { BottomSheetConsumer } from '@wordpress/components';\nimport warning from '@wordpress/warning';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport groups from './groups';\nimport useDisplayBlockControls from '../use-display-block-controls';\nimport { BlockSettingsButton } from '../block-settings';\n\nexport default function InspectorControlsFill( {\n\tchildren,\n\tgroup = 'default',\n\t__experimentalGroup,\n\t...props\n} ) {\n\tif ( __experimentalGroup ) {\n\t\tdeprecated(\n\t\t\t'`__experimentalGroup` property in `InspectorControlsFill`',\n\t\t\t{\n\t\t\t\tsince: '6.2',\n\t\t\t\tversion: '6.4',\n\t\t\t\talternative: '`group`',\n\t\t\t}\n\t\t);\n\t\tgroup = __experimentalGroup;\n\t}\n\tconst isDisplayed = useDisplayBlockControls();\n\n\tconst Fill = groups[ group ]?.Fill;\n\tif ( ! Fill ) {\n\t\twarning( `Unknown InspectorControls group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\tif ( ! isDisplayed ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Fill { ...props }>\n\t\t\t\t{\n\t\t\t\t\t<BottomSheetConsumer>\n\t\t\t\t\t\t{ () => <View>{ children }</View> }\n\t\t\t\t\t</BottomSheetConsumer>\n\t\t\t\t}\n\t\t\t</Fill>\n\t\t\t{ Children.count( children ) > 0 && <BlockSettingsButton /> }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAKA,IAAAM,OAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,wBAAA,GAAAH,sBAAA,CAAAJ,OAAA;AACA,IAAAQ,cAAA,GAAAR,OAAA;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;;AAKe,SAASS,qBAAqBA,CAAE;EAC9CC,QAAQ;EACRC,KAAK,GAAG,SAAS;EACjBC,mBAAmB;EACnB,GAAGC;AACJ,CAAC,EAAG;EACH,IAAKD,mBAAmB,EAAG;IAC1B,IAAAE,mBAAU,EACT,2DAA2D,EAC3D;MACCC,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE,KAAK;MACdC,WAAW,EAAE;IACd,CACD,CAAC;IACDN,KAAK,GAAGC,mBAAmB;EAC5B;EACA,MAAMM,WAAW,GAAG,IAAAC,gCAAuB,EAAC,CAAC;EAE7C,MAAMC,IAAI,GAAGC,eAAM,CAAEV,KAAK,CAAE,EAAES,IAAI;EAClC,IAAK,CAAEA,IAAI,EAAG;IACb,OAAAE,YAAA,oBAAAA,YAAA,gBAAAC,gBAAO,EAAG,oCAAoCZ,KAAO,aAAa,CAAC;IACnE,OAAO,IAAI;EACZ;EACA,IAAK,CAAEO,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAM,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACL,IAAI;IAAA,GAAMP;EAAK,GAEd,IAAAW,MAAA,CAAAC,aAAA,EAACvB,WAAA,CAAAyB,mBAAmB,QACjB,MAAM,IAAAH,MAAA,CAAAC,aAAA,EAAC1B,YAAA,CAAA6B,IAAI,QAAGlB,QAAgB,CACZ,CAEjB,CAAC,EACLmB,iBAAQ,CAACC,KAAK,CAAEpB,QAAS,CAAC,GAAG,CAAC,IAAI,IAAAc,MAAA,CAAAC,aAAA,EAACjB,cAAA,CAAAuB,mBAAmB,MAAE,CACzD,CAAC;AAEL"}
1
+ {"version":3,"names":["_reactNative","require","_element","_components","_warning","_interopRequireDefault","_deprecated","_groups","_context","_blockSettings","InspectorControlsFill","children","group","__experimentalGroup","props","deprecated","since","version","alternative","context","useBlockEditContext","Fill","groups","SCRIPT_DEBUG","warning","mayDisplayControlsKey","_react","createElement","Fragment","BottomSheetConsumer","View","Children","count","BlockSettingsButton"],"sources":["@wordpress/block-editor/src/components/inspector-controls/fill.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Children } from '@wordpress/element';\nimport { BottomSheetConsumer } from '@wordpress/components';\nimport warning from '@wordpress/warning';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport groups from './groups';\nimport {\n\tuseBlockEditContext,\n\tmayDisplayControlsKey,\n} from '../block-edit/context';\nimport { BlockSettingsButton } from '../block-settings';\n\nexport default function InspectorControlsFill( {\n\tchildren,\n\tgroup = 'default',\n\t__experimentalGroup,\n\t...props\n} ) {\n\tif ( __experimentalGroup ) {\n\t\tdeprecated(\n\t\t\t'`__experimentalGroup` property in `InspectorControlsFill`',\n\t\t\t{\n\t\t\t\tsince: '6.2',\n\t\t\t\tversion: '6.4',\n\t\t\t\talternative: '`group`',\n\t\t\t}\n\t\t);\n\t\tgroup = __experimentalGroup;\n\t}\n\tconst context = useBlockEditContext();\n\n\tconst Fill = groups[ group ]?.Fill;\n\tif ( ! Fill ) {\n\t\twarning( `Unknown InspectorControls group \"${ group }\" provided.` );\n\t\treturn null;\n\t}\n\tif ( ! context[ mayDisplayControlsKey ] ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Fill { ...props }>\n\t\t\t\t{\n\t\t\t\t\t<BottomSheetConsumer>\n\t\t\t\t\t\t{ () => <View>{ children }</View> }\n\t\t\t\t\t</BottomSheetConsumer>\n\t\t\t\t}\n\t\t\t</Fill>\n\t\t\t{ Children.count( children ) > 0 && <BlockSettingsButton /> }\n\t\t</>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAKA,IAAAM,OAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAIA,IAAAQ,cAAA,GAAAR,OAAA;AArBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;;AAQe,SAASS,qBAAqBA,CAAE;EAC9CC,QAAQ;EACRC,KAAK,GAAG,SAAS;EACjBC,mBAAmB;EACnB,GAAGC;AACJ,CAAC,EAAG;EACH,IAAKD,mBAAmB,EAAG;IAC1B,IAAAE,mBAAU,EACT,2DAA2D,EAC3D;MACCC,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE,KAAK;MACdC,WAAW,EAAE;IACd,CACD,CAAC;IACDN,KAAK,GAAGC,mBAAmB;EAC5B;EACA,MAAMM,OAAO,GAAG,IAAAC,4BAAmB,EAAC,CAAC;EAErC,MAAMC,IAAI,GAAGC,eAAM,CAAEV,KAAK,CAAE,EAAES,IAAI;EAClC,IAAK,CAAEA,IAAI,EAAG;IACb,OAAAE,YAAA,oBAAAA,YAAA,gBAAAC,gBAAO,EAAG,oCAAoCZ,KAAO,aAAa,CAAC;IACnE,OAAO,IAAI;EACZ;EACA,IAAK,CAAEO,OAAO,CAAEM,8BAAqB,CAAE,EAAG;IACzC,OAAO,IAAI;EACZ;EAEA,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACN,IAAI;IAAA,GAAMP;EAAK,GAEd,IAAAY,MAAA,CAAAC,aAAA,EAACxB,WAAA,CAAA0B,mBAAmB,QACjB,MAAM,IAAAH,MAAA,CAAAC,aAAA,EAAC3B,YAAA,CAAA8B,IAAI,QAAGnB,QAAgB,CACZ,CAEjB,CAAC,EACLoB,iBAAQ,CAACC,KAAK,CAAErB,QAAS,CAAC,GAAG,CAAC,IAAI,IAAAe,MAAA,CAAAC,aAAA,EAAClB,cAAA,CAAAwB,mBAAmB,MAAE,CACzD,CAAC;AAEL"}
@@ -146,7 +146,7 @@ function useToolbarFocus({
146
146
  const index = items.findIndex(item => item.tabIndex === 0);
147
147
  onIndexChange(index);
148
148
  };
149
- }, [initialIndex, initialFocusOnMount, toolbarRef]);
149
+ }, [initialIndex, initialFocusOnMount, onIndexChange, toolbarRef]);
150
150
  const {
151
151
  lastFocus
152
152
  } = (0, _data.useSelect)(select => {
@@ -191,9 +191,9 @@ function NavigableToolbar({
191
191
  useToolbarFocus({
192
192
  toolbarRef,
193
193
  focusOnMount,
194
- isAccessibleToolbar,
195
194
  defaultIndex: initialIndex,
196
195
  onIndexChange,
196
+ isAccessibleToolbar,
197
197
  shouldUseKeyboardFocusShortcut,
198
198
  focusEditorOnEscape
199
199
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_element","_data","_deprecated","_interopRequireDefault","_dom","_keyboardShortcuts","_keycodes","_store","hasOnlyToolbarItem","elements","dataProp","some","element","dataset","getAllToolbarItemsIn","container","Array","from","querySelectorAll","hasFocusWithin","contains","ownerDocument","activeElement","focusFirstTabbableIn","firstTabbable","focus","tabbable","find","preventScroll","useIsAccessibleToolbar","toolbarRef","initialAccessibleToolbarState","isAccessibleToolbar","setIsAccessibleToolbar","useState","determineIsAccessibleToolbar","useCallback","tabbables","current","onlyToolbarItem","deprecated","since","alternative","link","useLayoutEffect","observer","window","MutationObserver","observe","childList","subtree","disconnect","useToolbarFocus","focusOnMount","defaultIndex","onIndexChange","shouldUseKeyboardFocusShortcut","focusEditorOnEscape","initialFocusOnMount","initialIndex","focusToolbar","focusToolbarViaShortcut","useShortcut","useEffect","navigableToolbarRef","raf","requestAnimationFrame","items","index","cancelAnimationFrame","findIndex","item","tabIndex","lastFocus","useSelect","select","getLastFocus","blockEditorStore","handleKeyDown","event","keyCode","ESCAPE","preventDefault","addEventListener","removeEventListener","NavigableToolbar","children","__experimentalInitialIndex","__experimentalOnIndexChange","props","useRef","_react","createElement","Toolbar","label","ref","NavigableMenu","orientation","role"],"sources":["@wordpress/block-editor/src/components/navigable-toolbar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { NavigableMenu, Toolbar } from '@wordpress/components';\nimport {\n\tuseState,\n\tuseRef,\n\tuseLayoutEffect,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { focus } from '@wordpress/dom';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nfunction hasOnlyToolbarItem( elements ) {\n\tconst dataProp = 'toolbarItem';\n\treturn ! elements.some( ( element ) => ! ( dataProp in element.dataset ) );\n}\n\nfunction getAllToolbarItemsIn( container ) {\n\treturn Array.from( container.querySelectorAll( '[data-toolbar-item]' ) );\n}\n\nfunction hasFocusWithin( container ) {\n\treturn container.contains( container.ownerDocument.activeElement );\n}\n\nfunction focusFirstTabbableIn( container ) {\n\tconst [ firstTabbable ] = focus.tabbable.find( container );\n\n\tif ( firstTabbable ) {\n\t\tfirstTabbable.focus( {\n\t\t\t// When focusing newly mounted toolbars,\n\t\t\t// the position of the popover is often not right on the first render\n\t\t\t// This prevents the layout shifts when focusing the dialogs.\n\t\t\tpreventScroll: true,\n\t\t} );\n\t}\n}\n\nfunction useIsAccessibleToolbar( toolbarRef ) {\n\t/*\n\t * By default, we'll assume the starting accessible state of the Toolbar\n\t * is true, as it seems to be the most common case.\n\t *\n\t * Transitioning from an (initial) false to true state causes the\n\t * <Toolbar /> component to mount twice, which is causing undesired\n\t * side-effects. These side-effects appear to only affect certain\n\t * E2E tests.\n\t *\n\t * This was initial discovered in this pull-request:\n\t * https://github.com/WordPress/gutenberg/pull/23425\n\t */\n\tconst initialAccessibleToolbarState = true;\n\n\t// By default, it's gonna render NavigableMenu. If all the tabbable elements\n\t// inside the toolbar are ToolbarItem components (or derived components like\n\t// ToolbarButton), then we can wrap them with the accessible Toolbar\n\t// component.\n\tconst [ isAccessibleToolbar, setIsAccessibleToolbar ] = useState(\n\t\tinitialAccessibleToolbarState\n\t);\n\n\tconst determineIsAccessibleToolbar = useCallback( () => {\n\t\tconst tabbables = focus.tabbable.find( toolbarRef.current );\n\t\tconst onlyToolbarItem = hasOnlyToolbarItem( tabbables );\n\t\tif ( ! onlyToolbarItem ) {\n\t\t\tdeprecated( 'Using custom components as toolbar controls', {\n\t\t\t\tsince: '5.6',\n\t\t\t\talternative:\n\t\t\t\t\t'ToolbarItem, ToolbarButton or ToolbarDropdownMenu components',\n\t\t\t\tlink: 'https://developer.wordpress.org/block-editor/components/toolbar-button/#inside-blockcontrols',\n\t\t\t} );\n\t\t}\n\t\tsetIsAccessibleToolbar( onlyToolbarItem );\n\t}, [ toolbarRef ] );\n\n\tuseLayoutEffect( () => {\n\t\t// Toolbar buttons may be rendered asynchronously, so we use\n\t\t// MutationObserver to check if the toolbar subtree has been modified.\n\t\tconst observer = new window.MutationObserver(\n\t\t\tdetermineIsAccessibleToolbar\n\t\t);\n\t\tobserver.observe( toolbarRef.current, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t} );\n\t\treturn () => observer.disconnect();\n\t}, [ determineIsAccessibleToolbar, isAccessibleToolbar, toolbarRef ] );\n\n\treturn isAccessibleToolbar;\n}\n\nfunction useToolbarFocus( {\n\ttoolbarRef,\n\tfocusOnMount,\n\tisAccessibleToolbar,\n\tdefaultIndex,\n\tonIndexChange,\n\tshouldUseKeyboardFocusShortcut,\n\tfocusEditorOnEscape,\n} ) {\n\t// Make sure we don't use modified versions of this prop.\n\tconst [ initialFocusOnMount ] = useState( focusOnMount );\n\tconst [ initialIndex ] = useState( defaultIndex );\n\n\tconst focusToolbar = useCallback( () => {\n\t\tfocusFirstTabbableIn( toolbarRef.current );\n\t}, [ toolbarRef ] );\n\n\tconst focusToolbarViaShortcut = () => {\n\t\tif ( shouldUseKeyboardFocusShortcut ) {\n\t\t\tfocusToolbar();\n\t\t}\n\t};\n\n\t// Focus on toolbar when pressing alt+F10 when the toolbar is visible.\n\tuseShortcut( 'core/block-editor/focus-toolbar', focusToolbarViaShortcut );\n\n\tuseEffect( () => {\n\t\tif ( initialFocusOnMount ) {\n\t\t\tfocusToolbar();\n\t\t}\n\t}, [ isAccessibleToolbar, initialFocusOnMount, focusToolbar ] );\n\n\tuseEffect( () => {\n\t\t// Store ref so we have access on useEffect cleanup: https://legacy.reactjs.org/blog/2020/08/10/react-v17-rc.html#effect-cleanup-timing\n\t\tconst navigableToolbarRef = toolbarRef.current;\n\t\t// If initialIndex is passed, we focus on that toolbar item when the\n\t\t// toolbar gets mounted and initial focus is not forced.\n\t\t// We have to wait for the next browser paint because block controls aren't\n\t\t// rendered right away when the toolbar gets mounted.\n\t\tlet raf = 0;\n\t\tif ( ! initialFocusOnMount ) {\n\t\t\traf = window.requestAnimationFrame( () => {\n\t\t\t\tconst items = getAllToolbarItemsIn( navigableToolbarRef );\n\t\t\t\tconst index = initialIndex || 0;\n\t\t\t\tif ( items[ index ] && hasFocusWithin( navigableToolbarRef ) ) {\n\t\t\t\t\titems[ index ].focus( {\n\t\t\t\t\t\t// When focusing newly mounted toolbars,\n\t\t\t\t\t\t// the position of the popover is often not right on the first render\n\t\t\t\t\t\t// This prevents the layout shifts when focusing the dialogs.\n\t\t\t\t\t\tpreventScroll: true,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn () => {\n\t\t\twindow.cancelAnimationFrame( raf );\n\t\t\tif ( ! onIndexChange || ! navigableToolbarRef ) return;\n\t\t\t// When the toolbar element is unmounted and onIndexChange is passed, we\n\t\t\t// pass the focused toolbar item index so it can be hydrated later.\n\t\t\tconst items = getAllToolbarItemsIn( navigableToolbarRef );\n\t\t\tconst index = items.findIndex( ( item ) => item.tabIndex === 0 );\n\t\t\tonIndexChange( index );\n\t\t};\n\t}, [ initialIndex, initialFocusOnMount, toolbarRef ] );\n\n\tconst { lastFocus } = useSelect( ( select ) => {\n\t\tconst { getLastFocus } = select( blockEditorStore );\n\t\treturn {\n\t\t\tlastFocus: getLastFocus(),\n\t\t};\n\t}, [] );\n\t/**\n\t * Handles returning focus to the block editor canvas when pressing escape.\n\t */\n\tuseEffect( () => {\n\t\tconst navigableToolbarRef = toolbarRef.current;\n\n\t\tif ( focusEditorOnEscape ) {\n\t\t\tconst handleKeyDown = ( event ) => {\n\t\t\t\tif ( event.keyCode === ESCAPE && lastFocus?.current ) {\n\t\t\t\t\t// Focus the last focused element when pressing escape.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tlastFocus.current.focus();\n\t\t\t\t}\n\t\t\t};\n\t\t\tnavigableToolbarRef.addEventListener( 'keydown', handleKeyDown );\n\t\t\treturn () => {\n\t\t\t\tnavigableToolbarRef.removeEventListener(\n\t\t\t\t\t'keydown',\n\t\t\t\t\thandleKeyDown\n\t\t\t\t);\n\t\t\t};\n\t\t}\n\t}, [ focusEditorOnEscape, lastFocus, toolbarRef ] );\n}\n\nexport default function NavigableToolbar( {\n\tchildren,\n\tfocusOnMount,\n\tfocusEditorOnEscape = false,\n\tshouldUseKeyboardFocusShortcut = true,\n\t__experimentalInitialIndex: initialIndex,\n\t__experimentalOnIndexChange: onIndexChange,\n\t...props\n} ) {\n\tconst toolbarRef = useRef();\n\tconst isAccessibleToolbar = useIsAccessibleToolbar( toolbarRef );\n\n\tuseToolbarFocus( {\n\t\ttoolbarRef,\n\t\tfocusOnMount,\n\t\tisAccessibleToolbar,\n\t\tdefaultIndex: initialIndex,\n\t\tonIndexChange,\n\t\tshouldUseKeyboardFocusShortcut,\n\t\tfocusEditorOnEscape,\n\t} );\n\n\tif ( isAccessibleToolbar ) {\n\t\treturn (\n\t\t\t<Toolbar\n\t\t\t\tlabel={ props[ 'aria-label' ] }\n\t\t\t\tref={ toolbarRef }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Toolbar>\n\t\t);\n\t}\n\n\treturn (\n\t\t<NavigableMenu\n\t\t\torientation=\"horizontal\"\n\t\t\trole=\"toolbar\"\n\t\t\tref={ toolbarRef }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t</NavigableMenu>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAOA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,IAAA,GAAAL,OAAA;AACA,IAAAM,kBAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AAKA,IAAAQ,MAAA,GAAAR,OAAA;AApBA;AACA;AACA;;AAeA;AACA;AACA;;AAGA,SAASS,kBAAkBA,CAAEC,QAAQ,EAAG;EACvC,MAAMC,QAAQ,GAAG,aAAa;EAC9B,OAAO,CAAED,QAAQ,CAACE,IAAI,CAAIC,OAAO,IAAM,EAAIF,QAAQ,IAAIE,OAAO,CAACC,OAAO,CAAG,CAAC;AAC3E;AAEA,SAASC,oBAAoBA,CAAEC,SAAS,EAAG;EAC1C,OAAOC,KAAK,CAACC,IAAI,CAAEF,SAAS,CAACG,gBAAgB,CAAE,qBAAsB,CAAE,CAAC;AACzE;AAEA,SAASC,cAAcA,CAAEJ,SAAS,EAAG;EACpC,OAAOA,SAAS,CAACK,QAAQ,CAAEL,SAAS,CAACM,aAAa,CAACC,aAAc,CAAC;AACnE;AAEA,SAASC,oBAAoBA,CAAER,SAAS,EAAG;EAC1C,MAAM,CAAES,aAAa,CAAE,GAAGC,UAAK,CAACC,QAAQ,CAACC,IAAI,CAAEZ,SAAU,CAAC;EAE1D,IAAKS,aAAa,EAAG;IACpBA,aAAa,CAACC,KAAK,CAAE;MACpB;MACA;MACA;MACAG,aAAa,EAAE;IAChB,CAAE,CAAC;EACJ;AACD;AAEA,SAASC,sBAAsBA,CAAEC,UAAU,EAAG;EAC7C;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACC,MAAMC,6BAA6B,GAAG,IAAI;;EAE1C;EACA;EACA;EACA;EACA,MAAM,CAAEC,mBAAmB,EAAEC,sBAAsB,CAAE,GAAG,IAAAC,iBAAQ,EAC/DH,6BACD,CAAC;EAED,MAAMI,4BAA4B,GAAG,IAAAC,oBAAW,EAAE,MAAM;IACvD,MAAMC,SAAS,GAAGZ,UAAK,CAACC,QAAQ,CAACC,IAAI,CAAEG,UAAU,CAACQ,OAAQ,CAAC;IAC3D,MAAMC,eAAe,GAAG/B,kBAAkB,CAAE6B,SAAU,CAAC;IACvD,IAAK,CAAEE,eAAe,EAAG;MACxB,IAAAC,mBAAU,EAAE,6CAA6C,EAAE;QAC1DC,KAAK,EAAE,KAAK;QACZC,WAAW,EACV,8DAA8D;QAC/DC,IAAI,EAAE;MACP,CAAE,CAAC;IACJ;IACAV,sBAAsB,CAAEM,eAAgB,CAAC;EAC1C,CAAC,EAAE,CAAET,UAAU,CAAG,CAAC;EAEnB,IAAAc,wBAAe,EAAE,MAAM;IACtB;IACA;IACA,MAAMC,QAAQ,GAAG,IAAIC,MAAM,CAACC,gBAAgB,CAC3CZ,4BACD,CAAC;IACDU,QAAQ,CAACG,OAAO,CAAElB,UAAU,CAACQ,OAAO,EAAE;MACrCW,SAAS,EAAE,IAAI;MACfC,OAAO,EAAE;IACV,CAAE,CAAC;IACH,OAAO,MAAML,QAAQ,CAACM,UAAU,CAAC,CAAC;EACnC,CAAC,EAAE,CAAEhB,4BAA4B,EAAEH,mBAAmB,EAAEF,UAAU,CAAG,CAAC;EAEtE,OAAOE,mBAAmB;AAC3B;AAEA,SAASoB,eAAeA,CAAE;EACzBtB,UAAU;EACVuB,YAAY;EACZrB,mBAAmB;EACnBsB,YAAY;EACZC,aAAa;EACbC,8BAA8B;EAC9BC;AACD,CAAC,EAAG;EACH;EACA,MAAM,CAAEC,mBAAmB,CAAE,GAAG,IAAAxB,iBAAQ,EAAEmB,YAAa,CAAC;EACxD,MAAM,CAAEM,YAAY,CAAE,GAAG,IAAAzB,iBAAQ,EAAEoB,YAAa,CAAC;EAEjD,MAAMM,YAAY,GAAG,IAAAxB,oBAAW,EAAE,MAAM;IACvCb,oBAAoB,CAAEO,UAAU,CAACQ,OAAQ,CAAC;EAC3C,CAAC,EAAE,CAAER,UAAU,CAAG,CAAC;EAEnB,MAAM+B,uBAAuB,GAAGA,CAAA,KAAM;IACrC,IAAKL,8BAA8B,EAAG;MACrCI,YAAY,CAAC,CAAC;IACf;EACD,CAAC;;EAED;EACA,IAAAE,8BAAW,EAAE,iCAAiC,EAAED,uBAAwB,CAAC;EAEzE,IAAAE,kBAAS,EAAE,MAAM;IAChB,IAAKL,mBAAmB,EAAG;MAC1BE,YAAY,CAAC,CAAC;IACf;EACD,CAAC,EAAE,CAAE5B,mBAAmB,EAAE0B,mBAAmB,EAAEE,YAAY,CAAG,CAAC;EAE/D,IAAAG,kBAAS,EAAE,MAAM;IAChB;IACA,MAAMC,mBAAmB,GAAGlC,UAAU,CAACQ,OAAO;IAC9C;IACA;IACA;IACA;IACA,IAAI2B,GAAG,GAAG,CAAC;IACX,IAAK,CAAEP,mBAAmB,EAAG;MAC5BO,GAAG,GAAGnB,MAAM,CAACoB,qBAAqB,CAAE,MAAM;QACzC,MAAMC,KAAK,GAAGrD,oBAAoB,CAAEkD,mBAAoB,CAAC;QACzD,MAAMI,KAAK,GAAGT,YAAY,IAAI,CAAC;QAC/B,IAAKQ,KAAK,CAAEC,KAAK,CAAE,IAAIjD,cAAc,CAAE6C,mBAAoB,CAAC,EAAG;UAC9DG,KAAK,CAAEC,KAAK,CAAE,CAAC3C,KAAK,CAAE;YACrB;YACA;YACA;YACAG,aAAa,EAAE;UAChB,CAAE,CAAC;QACJ;MACD,CAAE,CAAC;IACJ;IACA,OAAO,MAAM;MACZkB,MAAM,CAACuB,oBAAoB,CAAEJ,GAAI,CAAC;MAClC,IAAK,CAAEV,aAAa,IAAI,CAAES,mBAAmB,EAAG;MAChD;MACA;MACA,MAAMG,KAAK,GAAGrD,oBAAoB,CAAEkD,mBAAoB,CAAC;MACzD,MAAMI,KAAK,GAAGD,KAAK,CAACG,SAAS,CAAIC,IAAI,IAAMA,IAAI,CAACC,QAAQ,KAAK,CAAE,CAAC;MAChEjB,aAAa,CAAEa,KAAM,CAAC;IACvB,CAAC;EACF,CAAC,EAAE,CAAET,YAAY,EAAED,mBAAmB,EAAE5B,UAAU,CAAG,CAAC;EAEtD,MAAM;IAAE2C;EAAU,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC9C,MAAM;MAAEC;IAAa,CAAC,GAAGD,MAAM,CAAEE,YAAiB,CAAC;IACnD,OAAO;MACNJ,SAAS,EAAEG,YAAY,CAAC;IACzB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP;AACD;AACA;EACC,IAAAb,kBAAS,EAAE,MAAM;IAChB,MAAMC,mBAAmB,GAAGlC,UAAU,CAACQ,OAAO;IAE9C,IAAKmB,mBAAmB,EAAG;MAC1B,MAAMqB,aAAa,GAAKC,KAAK,IAAM;QAClC,IAAKA,KAAK,CAACC,OAAO,KAAKC,gBAAM,IAAIR,SAAS,EAAEnC,OAAO,EAAG;UACrD;UACAyC,KAAK,CAACG,cAAc,CAAC,CAAC;UACtBT,SAAS,CAACnC,OAAO,CAACb,KAAK,CAAC,CAAC;QAC1B;MACD,CAAC;MACDuC,mBAAmB,CAACmB,gBAAgB,CAAE,SAAS,EAAEL,aAAc,CAAC;MAChE,OAAO,MAAM;QACZd,mBAAmB,CAACoB,mBAAmB,CACtC,SAAS,EACTN,aACD,CAAC;MACF,CAAC;IACF;EACD,CAAC,EAAE,CAAErB,mBAAmB,EAAEgB,SAAS,EAAE3C,UAAU,CAAG,CAAC;AACpD;AAEe,SAASuD,gBAAgBA,CAAE;EACzCC,QAAQ;EACRjC,YAAY;EACZI,mBAAmB,GAAG,KAAK;EAC3BD,8BAA8B,GAAG,IAAI;EACrC+B,0BAA0B,EAAE5B,YAAY;EACxC6B,2BAA2B,EAAEjC,aAAa;EAC1C,GAAGkC;AACJ,CAAC,EAAG;EACH,MAAM3D,UAAU,GAAG,IAAA4D,eAAM,EAAC,CAAC;EAC3B,MAAM1D,mBAAmB,GAAGH,sBAAsB,CAAEC,UAAW,CAAC;EAEhEsB,eAAe,CAAE;IAChBtB,UAAU;IACVuB,YAAY;IACZrB,mBAAmB;IACnBsB,YAAY,EAAEK,YAAY;IAC1BJ,aAAa;IACbC,8BAA8B;IAC9BC;EACD,CAAE,CAAC;EAEH,IAAKzB,mBAAmB,EAAG;IAC1B,OACC,IAAA2D,MAAA,CAAAC,aAAA,EAAC9F,WAAA,CAAA+F,OAAO;MACPC,KAAK,EAAGL,KAAK,CAAE,YAAY,CAAI;MAC/BM,GAAG,EAAGjE,UAAY;MAAA,GACb2D;IAAK,GAERH,QACM,CAAC;EAEZ;EAEA,OACC,IAAAK,MAAA,CAAAC,aAAA,EAAC9F,WAAA,CAAAkG,aAAa;IACbC,WAAW,EAAC,YAAY;IACxBC,IAAI,EAAC,SAAS;IACdH,GAAG,EAAGjE,UAAY;IAAA,GACb2D;EAAK,GAERH,QACY,CAAC;AAElB"}
1
+ {"version":3,"names":["_components","require","_element","_data","_deprecated","_interopRequireDefault","_dom","_keyboardShortcuts","_keycodes","_store","hasOnlyToolbarItem","elements","dataProp","some","element","dataset","getAllToolbarItemsIn","container","Array","from","querySelectorAll","hasFocusWithin","contains","ownerDocument","activeElement","focusFirstTabbableIn","firstTabbable","focus","tabbable","find","preventScroll","useIsAccessibleToolbar","toolbarRef","initialAccessibleToolbarState","isAccessibleToolbar","setIsAccessibleToolbar","useState","determineIsAccessibleToolbar","useCallback","tabbables","current","onlyToolbarItem","deprecated","since","alternative","link","useLayoutEffect","observer","window","MutationObserver","observe","childList","subtree","disconnect","useToolbarFocus","focusOnMount","defaultIndex","onIndexChange","shouldUseKeyboardFocusShortcut","focusEditorOnEscape","initialFocusOnMount","initialIndex","focusToolbar","focusToolbarViaShortcut","useShortcut","useEffect","navigableToolbarRef","raf","requestAnimationFrame","items","index","cancelAnimationFrame","findIndex","item","tabIndex","lastFocus","useSelect","select","getLastFocus","blockEditorStore","handleKeyDown","event","keyCode","ESCAPE","preventDefault","addEventListener","removeEventListener","NavigableToolbar","children","__experimentalInitialIndex","__experimentalOnIndexChange","props","useRef","_react","createElement","Toolbar","label","ref","NavigableMenu","orientation","role"],"sources":["@wordpress/block-editor/src/components/navigable-toolbar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { NavigableMenu, Toolbar } from '@wordpress/components';\nimport {\n\tuseState,\n\tuseRef,\n\tuseLayoutEffect,\n\tuseEffect,\n\tuseCallback,\n} from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport { focus } from '@wordpress/dom';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { ESCAPE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nfunction hasOnlyToolbarItem( elements ) {\n\tconst dataProp = 'toolbarItem';\n\treturn ! elements.some( ( element ) => ! ( dataProp in element.dataset ) );\n}\n\nfunction getAllToolbarItemsIn( container ) {\n\treturn Array.from( container.querySelectorAll( '[data-toolbar-item]' ) );\n}\n\nfunction hasFocusWithin( container ) {\n\treturn container.contains( container.ownerDocument.activeElement );\n}\n\nfunction focusFirstTabbableIn( container ) {\n\tconst [ firstTabbable ] = focus.tabbable.find( container );\n\n\tif ( firstTabbable ) {\n\t\tfirstTabbable.focus( {\n\t\t\t// When focusing newly mounted toolbars,\n\t\t\t// the position of the popover is often not right on the first render\n\t\t\t// This prevents the layout shifts when focusing the dialogs.\n\t\t\tpreventScroll: true,\n\t\t} );\n\t}\n}\n\nfunction useIsAccessibleToolbar( toolbarRef ) {\n\t/*\n\t * By default, we'll assume the starting accessible state of the Toolbar\n\t * is true, as it seems to be the most common case.\n\t *\n\t * Transitioning from an (initial) false to true state causes the\n\t * <Toolbar /> component to mount twice, which is causing undesired\n\t * side-effects. These side-effects appear to only affect certain\n\t * E2E tests.\n\t *\n\t * This was initial discovered in this pull-request:\n\t * https://github.com/WordPress/gutenberg/pull/23425\n\t */\n\tconst initialAccessibleToolbarState = true;\n\n\t// By default, it's gonna render NavigableMenu. If all the tabbable elements\n\t// inside the toolbar are ToolbarItem components (or derived components like\n\t// ToolbarButton), then we can wrap them with the accessible Toolbar\n\t// component.\n\tconst [ isAccessibleToolbar, setIsAccessibleToolbar ] = useState(\n\t\tinitialAccessibleToolbarState\n\t);\n\n\tconst determineIsAccessibleToolbar = useCallback( () => {\n\t\tconst tabbables = focus.tabbable.find( toolbarRef.current );\n\t\tconst onlyToolbarItem = hasOnlyToolbarItem( tabbables );\n\t\tif ( ! onlyToolbarItem ) {\n\t\t\tdeprecated( 'Using custom components as toolbar controls', {\n\t\t\t\tsince: '5.6',\n\t\t\t\talternative:\n\t\t\t\t\t'ToolbarItem, ToolbarButton or ToolbarDropdownMenu components',\n\t\t\t\tlink: 'https://developer.wordpress.org/block-editor/components/toolbar-button/#inside-blockcontrols',\n\t\t\t} );\n\t\t}\n\t\tsetIsAccessibleToolbar( onlyToolbarItem );\n\t}, [ toolbarRef ] );\n\n\tuseLayoutEffect( () => {\n\t\t// Toolbar buttons may be rendered asynchronously, so we use\n\t\t// MutationObserver to check if the toolbar subtree has been modified.\n\t\tconst observer = new window.MutationObserver(\n\t\t\tdetermineIsAccessibleToolbar\n\t\t);\n\t\tobserver.observe( toolbarRef.current, {\n\t\t\tchildList: true,\n\t\t\tsubtree: true,\n\t\t} );\n\t\treturn () => observer.disconnect();\n\t}, [ determineIsAccessibleToolbar, isAccessibleToolbar, toolbarRef ] );\n\n\treturn isAccessibleToolbar;\n}\n\nfunction useToolbarFocus( {\n\ttoolbarRef,\n\tfocusOnMount,\n\tisAccessibleToolbar,\n\tdefaultIndex,\n\tonIndexChange,\n\tshouldUseKeyboardFocusShortcut,\n\tfocusEditorOnEscape,\n} ) {\n\t// Make sure we don't use modified versions of this prop.\n\tconst [ initialFocusOnMount ] = useState( focusOnMount );\n\tconst [ initialIndex ] = useState( defaultIndex );\n\n\tconst focusToolbar = useCallback( () => {\n\t\tfocusFirstTabbableIn( toolbarRef.current );\n\t}, [ toolbarRef ] );\n\n\tconst focusToolbarViaShortcut = () => {\n\t\tif ( shouldUseKeyboardFocusShortcut ) {\n\t\t\tfocusToolbar();\n\t\t}\n\t};\n\n\t// Focus on toolbar when pressing alt+F10 when the toolbar is visible.\n\tuseShortcut( 'core/block-editor/focus-toolbar', focusToolbarViaShortcut );\n\n\tuseEffect( () => {\n\t\tif ( initialFocusOnMount ) {\n\t\t\tfocusToolbar();\n\t\t}\n\t}, [ isAccessibleToolbar, initialFocusOnMount, focusToolbar ] );\n\n\tuseEffect( () => {\n\t\t// Store ref so we have access on useEffect cleanup: https://legacy.reactjs.org/blog/2020/08/10/react-v17-rc.html#effect-cleanup-timing\n\t\tconst navigableToolbarRef = toolbarRef.current;\n\t\t// If initialIndex is passed, we focus on that toolbar item when the\n\t\t// toolbar gets mounted and initial focus is not forced.\n\t\t// We have to wait for the next browser paint because block controls aren't\n\t\t// rendered right away when the toolbar gets mounted.\n\t\tlet raf = 0;\n\t\tif ( ! initialFocusOnMount ) {\n\t\t\traf = window.requestAnimationFrame( () => {\n\t\t\t\tconst items = getAllToolbarItemsIn( navigableToolbarRef );\n\t\t\t\tconst index = initialIndex || 0;\n\t\t\t\tif ( items[ index ] && hasFocusWithin( navigableToolbarRef ) ) {\n\t\t\t\t\titems[ index ].focus( {\n\t\t\t\t\t\t// When focusing newly mounted toolbars,\n\t\t\t\t\t\t// the position of the popover is often not right on the first render\n\t\t\t\t\t\t// This prevents the layout shifts when focusing the dialogs.\n\t\t\t\t\t\tpreventScroll: true,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t\treturn () => {\n\t\t\twindow.cancelAnimationFrame( raf );\n\t\t\tif ( ! onIndexChange || ! navigableToolbarRef ) return;\n\t\t\t// When the toolbar element is unmounted and onIndexChange is passed, we\n\t\t\t// pass the focused toolbar item index so it can be hydrated later.\n\t\t\tconst items = getAllToolbarItemsIn( navigableToolbarRef );\n\t\t\tconst index = items.findIndex( ( item ) => item.tabIndex === 0 );\n\t\t\tonIndexChange( index );\n\t\t};\n\t}, [ initialIndex, initialFocusOnMount, onIndexChange, toolbarRef ] );\n\n\tconst { lastFocus } = useSelect( ( select ) => {\n\t\tconst { getLastFocus } = select( blockEditorStore );\n\t\treturn {\n\t\t\tlastFocus: getLastFocus(),\n\t\t};\n\t}, [] );\n\t/**\n\t * Handles returning focus to the block editor canvas when pressing escape.\n\t */\n\tuseEffect( () => {\n\t\tconst navigableToolbarRef = toolbarRef.current;\n\n\t\tif ( focusEditorOnEscape ) {\n\t\t\tconst handleKeyDown = ( event ) => {\n\t\t\t\tif ( event.keyCode === ESCAPE && lastFocus?.current ) {\n\t\t\t\t\t// Focus the last focused element when pressing escape.\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tlastFocus.current.focus();\n\t\t\t\t}\n\t\t\t};\n\t\t\tnavigableToolbarRef.addEventListener( 'keydown', handleKeyDown );\n\t\t\treturn () => {\n\t\t\t\tnavigableToolbarRef.removeEventListener(\n\t\t\t\t\t'keydown',\n\t\t\t\t\thandleKeyDown\n\t\t\t\t);\n\t\t\t};\n\t\t}\n\t}, [ focusEditorOnEscape, lastFocus, toolbarRef ] );\n}\n\nexport default function NavigableToolbar( {\n\tchildren,\n\tfocusOnMount,\n\tfocusEditorOnEscape = false,\n\tshouldUseKeyboardFocusShortcut = true,\n\t__experimentalInitialIndex: initialIndex,\n\t__experimentalOnIndexChange: onIndexChange,\n\t...props\n} ) {\n\tconst toolbarRef = useRef();\n\tconst isAccessibleToolbar = useIsAccessibleToolbar( toolbarRef );\n\n\tuseToolbarFocus( {\n\t\ttoolbarRef,\n\t\tfocusOnMount,\n\t\tdefaultIndex: initialIndex,\n\t\tonIndexChange,\n\t\tisAccessibleToolbar,\n\t\tshouldUseKeyboardFocusShortcut,\n\t\tfocusEditorOnEscape,\n\t} );\n\n\tif ( isAccessibleToolbar ) {\n\t\treturn (\n\t\t\t<Toolbar\n\t\t\t\tlabel={ props[ 'aria-label' ] }\n\t\t\t\tref={ toolbarRef }\n\t\t\t\t{ ...props }\n\t\t\t>\n\t\t\t\t{ children }\n\t\t\t</Toolbar>\n\t\t);\n\t}\n\n\treturn (\n\t\t<NavigableMenu\n\t\t\torientation=\"horizontal\"\n\t\t\trole=\"toolbar\"\n\t\t\tref={ toolbarRef }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children }\n\t\t</NavigableMenu>\n\t);\n}\n"],"mappings":"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"}
@@ -5,71 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = PreviewOptions;
8
- var _react = require("react");
9
- var _classnames = _interopRequireDefault(require("classnames"));
10
- var _compose = require("@wordpress/compose");
11
- var _components = require("@wordpress/components");
12
- var _i18n = require("@wordpress/i18n");
13
- var _icons = require("@wordpress/icons");
14
- /**
15
- * External dependencies
16
- */
17
-
8
+ var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
18
9
  /**
19
10
  * WordPress dependencies
20
11
  */
21
12
 
22
- function PreviewOptions({
23
- children,
24
- viewLabel,
25
- className,
26
- isEnabled = true,
27
- deviceType,
28
- setDeviceType,
29
- label,
30
- showIconLabels
31
- }) {
32
- const isMobile = (0, _compose.useViewportMatch)('small', '<');
33
- if (isMobile) return null;
34
- const popoverProps = {
35
- className: (0, _classnames.default)(className, 'block-editor-post-preview__dropdown-content'),
36
- placement: 'bottom-end'
37
- };
38
- const toggleProps = {
39
- className: 'block-editor-post-preview__button-toggle',
40
- disabled: !isEnabled,
41
- __experimentalIsFocusable: !isEnabled,
42
- children: viewLabel,
43
- showTooltip: !showIconLabels
44
- };
45
- const menuProps = {
46
- 'aria-label': (0, _i18n.__)('View options')
47
- };
48
- const deviceIcons = {
49
- mobile: _icons.mobile,
50
- tablet: _icons.tablet,
51
- desktop: _icons.desktop
52
- };
53
- return (0, _react.createElement)(_components.DropdownMenu, {
54
- className: "block-editor-post-preview__dropdown",
55
- popoverProps: popoverProps,
56
- toggleProps: toggleProps,
57
- menuProps: menuProps,
58
- icon: deviceIcons[deviceType.toLowerCase()],
59
- label: label || (0, _i18n.__)('Preview'),
60
- disableOpenOnArrowDown: !isEnabled
61
- }, renderProps => (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.MenuGroup, null, (0, _react.createElement)(_components.MenuItem, {
62
- className: "block-editor-post-preview__button-resize",
63
- onClick: () => setDeviceType('Desktop'),
64
- icon: deviceType === 'Desktop' && _icons.check
65
- }, (0, _i18n.__)('Desktop')), (0, _react.createElement)(_components.MenuItem, {
66
- className: "block-editor-post-preview__button-resize",
67
- onClick: () => setDeviceType('Tablet'),
68
- icon: deviceType === 'Tablet' && _icons.check
69
- }, (0, _i18n.__)('Tablet')), (0, _react.createElement)(_components.MenuItem, {
70
- className: "block-editor-post-preview__button-resize",
71
- onClick: () => setDeviceType('Mobile'),
72
- icon: deviceType === 'Mobile' && _icons.check
73
- }, (0, _i18n.__)('Mobile'))), children?.(renderProps)));
13
+ function PreviewOptions() {
14
+ (0, _deprecated.default)('wp.blockEditor.PreviewOptions', {
15
+ version: '6.5'
16
+ });
17
+ return null;
74
18
  }
75
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_compose","_components","_i18n","_icons","PreviewOptions","children","viewLabel","className","isEnabled","deviceType","setDeviceType","label","showIconLabels","isMobile","useViewportMatch","popoverProps","classnames","placement","toggleProps","disabled","__experimentalIsFocusable","showTooltip","menuProps","__","deviceIcons","mobile","tablet","desktop","_react","createElement","DropdownMenu","icon","toLowerCase","disableOpenOnArrowDown","renderProps","Fragment","MenuGroup","MenuItem","onClick","check"],"sources":["@wordpress/block-editor/src/components/preview-options/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { DropdownMenu, MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check, desktop, mobile, tablet } from '@wordpress/icons';\n\nexport default function PreviewOptions( {\n\tchildren,\n\tviewLabel,\n\tclassName,\n\tisEnabled = true,\n\tdeviceType,\n\tsetDeviceType,\n\tlabel,\n\tshowIconLabels,\n} ) {\n\tconst isMobile = useViewportMatch( 'small', '<' );\n\tif ( isMobile ) return null;\n\n\tconst popoverProps = {\n\t\tclassName: classnames(\n\t\t\tclassName,\n\t\t\t'block-editor-post-preview__dropdown-content'\n\t\t),\n\t\tplacement: 'bottom-end',\n\t};\n\tconst toggleProps = {\n\t\tclassName: 'block-editor-post-preview__button-toggle',\n\t\tdisabled: ! isEnabled,\n\t\t__experimentalIsFocusable: ! isEnabled,\n\t\tchildren: viewLabel,\n\t\tshowTooltip: ! showIconLabels,\n\t};\n\tconst menuProps = {\n\t\t'aria-label': __( 'View options' ),\n\t};\n\n\tconst deviceIcons = {\n\t\tmobile,\n\t\ttablet,\n\t\tdesktop,\n\t};\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-post-preview__dropdown\"\n\t\t\tpopoverProps={ popoverProps }\n\t\t\ttoggleProps={ toggleProps }\n\t\t\tmenuProps={ menuProps }\n\t\t\ticon={ deviceIcons[ deviceType.toLowerCase() ] }\n\t\t\tlabel={ label || __( 'Preview' ) }\n\t\t\tdisableOpenOnArrowDown={ ! isEnabled }\n\t\t>\n\t\t\t{ ( renderProps ) => (\n\t\t\t\t<>\n\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tclassName=\"block-editor-post-preview__button-resize\"\n\t\t\t\t\t\t\tonClick={ () => setDeviceType( 'Desktop' ) }\n\t\t\t\t\t\t\ticon={ deviceType === 'Desktop' && check }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Desktop' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tclassName=\"block-editor-post-preview__button-resize\"\n\t\t\t\t\t\t\tonClick={ () => setDeviceType( 'Tablet' ) }\n\t\t\t\t\t\t\ticon={ deviceType === 'Tablet' && check }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Tablet' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tclassName=\"block-editor-post-preview__button-resize\"\n\t\t\t\t\t\t\tonClick={ () => setDeviceType( 'Mobile' ) }\n\t\t\t\t\t\t\ticon={ deviceType === 'Mobile' && check }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Mobile' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t{ children?.( renderProps ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAGA;AACA;AACA;;AAMe,SAASK,cAAcA,CAAE;EACvCC,QAAQ;EACRC,SAAS;EACTC,SAAS;EACTC,SAAS,GAAG,IAAI;EAChBC,UAAU;EACVC,aAAa;EACbC,KAAK;EACLC;AACD,CAAC,EAAG;EACH,MAAMC,QAAQ,GAAG,IAAAC,yBAAgB,EAAE,OAAO,EAAE,GAAI,CAAC;EACjD,IAAKD,QAAQ,EAAG,OAAO,IAAI;EAE3B,MAAME,YAAY,GAAG;IACpBR,SAAS,EAAE,IAAAS,mBAAU,EACpBT,SAAS,EACT,6CACD,CAAC;IACDU,SAAS,EAAE;EACZ,CAAC;EACD,MAAMC,WAAW,GAAG;IACnBX,SAAS,EAAE,0CAA0C;IACrDY,QAAQ,EAAE,CAAEX,SAAS;IACrBY,yBAAyB,EAAE,CAAEZ,SAAS;IACtCH,QAAQ,EAAEC,SAAS;IACnBe,WAAW,EAAE,CAAET;EAChB,CAAC;EACD,MAAMU,SAAS,GAAG;IACjB,YAAY,EAAE,IAAAC,QAAE,EAAE,cAAe;EAClC,CAAC;EAED,MAAMC,WAAW,GAAG;IACnBC,MAAM,EAANA,aAAM;IACNC,MAAM,EAANA,aAAM;IACNC,OAAO,EAAPA;EACD,CAAC;EAED,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAA6B,YAAY;IACZvB,SAAS,EAAC,qCAAqC;IAC/CQ,YAAY,EAAGA,YAAc;IAC7BG,WAAW,EAAGA,WAAa;IAC3BI,SAAS,EAAGA,SAAW;IACvBS,IAAI,EAAGP,WAAW,CAAEf,UAAU,CAACuB,WAAW,CAAC,CAAC,CAAI;IAChDrB,KAAK,EAAGA,KAAK,IAAI,IAAAY,QAAE,EAAE,SAAU,CAAG;IAClCU,sBAAsB,EAAG,CAAEzB;EAAW,GAElC0B,WAAW,IACd,IAAAN,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAO,QAAA,QACC,IAAAP,MAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAAmC,SAAS,QACT,IAAAR,MAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAAoC,QAAQ;IACR9B,SAAS,EAAC,0CAA0C;IACpD+B,OAAO,EAAGA,CAAA,KAAM5B,aAAa,CAAE,SAAU,CAAG;IAC5CqB,IAAI,EAAGtB,UAAU,KAAK,SAAS,IAAI8B;EAAO,GAExC,IAAAhB,QAAE,EAAE,SAAU,CACP,CAAC,EACX,IAAAK,MAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAAoC,QAAQ;IACR9B,SAAS,EAAC,0CAA0C;IACpD+B,OAAO,EAAGA,CAAA,KAAM5B,aAAa,CAAE,QAAS,CAAG;IAC3CqB,IAAI,EAAGtB,UAAU,KAAK,QAAQ,IAAI8B;EAAO,GAEvC,IAAAhB,QAAE,EAAE,QAAS,CACN,CAAC,EACX,IAAAK,MAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAAoC,QAAQ;IACR9B,SAAS,EAAC,0CAA0C;IACpD+B,OAAO,EAAGA,CAAA,KAAM5B,aAAa,CAAE,QAAS,CAAG;IAC3CqB,IAAI,EAAGtB,UAAU,KAAK,QAAQ,IAAI8B;EAAO,GAEvC,IAAAhB,QAAE,EAAE,QAAS,CACN,CACA,CAAC,EACVlB,QAAQ,GAAI6B,WAAY,CACzB,CAEU,CAAC;AAEjB"}
1
+ {"version":3,"names":["_deprecated","_interopRequireDefault","require","PreviewOptions","deprecated","version"],"sources":["@wordpress/block-editor/src/components/preview-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\n\nexport default function PreviewOptions() {\n\tdeprecated( 'wp.blockEditor.PreviewOptions', {\n\t\tversion: '6.5',\n\t} );\n\treturn null;\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAHA;AACA;AACA;;AAGe,SAASC,cAAcA,CAAA,EAAG;EACxC,IAAAC,mBAAU,EAAE,+BAA+B,EAAE;IAC5CC,OAAO,EAAE;EACV,CAAE,CAAC;EACH,OAAO,IAAI;AACZ"}
@@ -4,11 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.Content = void 0;
7
+ exports.Content = Content;
8
8
  var _react = require("react");
9
9
  var _element = require("@wordpress/element");
10
10
  var _blocks = require("@wordpress/blocks");
11
11
  var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
12
+ var _ = _interopRequireDefault(require("./"));
12
13
  var _utils = require("./utils");
13
14
  /**
14
15
  * WordPress dependencies
@@ -18,37 +19,39 @@ var _utils = require("./utils");
18
19
  * Internal dependencies
19
20
  */
20
21
 
21
- const Content = ({
22
+ /**
23
+ * Internal dependencies
24
+ */
25
+
26
+ function Content({
22
27
  value,
23
28
  tagName: Tag,
24
29
  multiline,
30
+ format,
25
31
  ...props
26
- }) => {
27
- // Handle deprecated `children` and `node` sources.
28
- if (Array.isArray(value)) {
32
+ }) {
33
+ if (_.default.isEmpty(value)) {
34
+ const MultilineTag = (0, _utils.getMultilineTag)(multiline);
35
+ value = MultilineTag ? (0, _react.createElement)(MultilineTag, null) : null;
36
+ } else if (Array.isArray(value)) {
29
37
  (0, _deprecated.default)('wp.blockEditor.RichText value prop as children type', {
30
38
  since: '6.1',
31
39
  version: '6.3',
32
40
  alternative: 'value prop as string',
33
41
  link: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/'
34
42
  });
35
- value = _blocks.children.toHTML(value);
36
- }
37
- const MultilineTag = (0, _utils.getMultilineTag)(multiline);
38
- if (!value && MultilineTag) {
39
- value = `<${MultilineTag}></${MultilineTag}>`;
43
+ value = (0, _react.createElement)(_element.RawHTML, null, _blocks.children.toHTML(value));
44
+ } else if (typeof value === 'string') {
45
+ // To do: deprecate.
46
+ value = (0, _react.createElement)(_element.RawHTML, null, value);
47
+ } else {
48
+ // To do: create a toReactComponent method on RichTextData, which we
49
+ // might in the future also use for the editable tree. See
50
+ // https://github.com/WordPress/gutenberg/pull/41655.
51
+ value = (0, _react.createElement)(_element.RawHTML, null, value.toHTMLString());
40
52
  }
41
- const content = (0, _react.createElement)(_element.RawHTML, null, value);
42
- if (Tag) {
43
- const {
44
- format,
45
- ...restProps
46
- } = props;
47
- return (0, _react.createElement)(Tag, {
48
- ...restProps
49
- }, content);
50
- }
51
- return content;
52
- };
53
- exports.Content = Content;
53
+ return Tag ? (0, _react.createElement)(Tag, {
54
+ ...props
55
+ }, value) : value;
56
+ }
54
57
  //# sourceMappingURL=content.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_blocks","_deprecated","_interopRequireDefault","_utils","Content","value","tagName","Tag","multiline","props","Array","isArray","deprecated","since","version","alternative","link","childrenSource","toHTML","MultilineTag","getMultilineTag","content","_react","createElement","RawHTML","format","restProps","exports"],"sources":["@wordpress/block-editor/src/components/rich-text/content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RawHTML } from '@wordpress/element';\nimport { children as childrenSource } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { getMultilineTag } from './utils';\n\nexport const Content = ( { value, tagName: Tag, multiline, ...props } ) => {\n\t// Handle deprecated `children` and `node` sources.\n\tif ( Array.isArray( value ) ) {\n\t\tdeprecated( 'wp.blockEditor.RichText value prop as children type', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: 'value prop as string',\n\t\t\tlink: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/',\n\t\t} );\n\n\t\tvalue = childrenSource.toHTML( value );\n\t}\n\n\tconst MultilineTag = getMultilineTag( multiline );\n\n\tif ( ! value && MultilineTag ) {\n\t\tvalue = `<${ MultilineTag }></${ MultilineTag }>`;\n\t}\n\n\tconst content = <RawHTML>{ value }</RawHTML>;\n\n\tif ( Tag ) {\n\t\tconst { format, ...restProps } = props;\n\t\treturn <Tag { ...restProps }>{ content }</Tag>;\n\t}\n\n\treturn content;\n};\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAKA;AACA;AACA;;AAGO,MAAMK,OAAO,GAAGA,CAAE;EAAEC,KAAK;EAAEC,OAAO,EAAEC,GAAG;EAAEC,SAAS;EAAE,GAAGC;AAAM,CAAC,KAAM;EAC1E;EACA,IAAKC,KAAK,CAACC,OAAO,CAAEN,KAAM,CAAC,EAAG;IAC7B,IAAAO,mBAAU,EAAE,qDAAqD,EAAE;MAClEC,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE,KAAK;MACdC,WAAW,EAAE,sBAAsB;MACnCC,IAAI,EAAE;IACP,CAAE,CAAC;IAEHX,KAAK,GAAGY,gBAAc,CAACC,MAAM,CAAEb,KAAM,CAAC;EACvC;EAEA,MAAMc,YAAY,GAAG,IAAAC,sBAAe,EAAEZ,SAAU,CAAC;EAEjD,IAAK,CAAEH,KAAK,IAAIc,YAAY,EAAG;IAC9Bd,KAAK,GAAI,IAAIc,YAAc,MAAMA,YAAc,GAAE;EAClD;EAEA,MAAME,OAAO,GAAG,IAAAC,MAAA,CAAAC,aAAA,EAACzB,QAAA,CAAA0B,OAAO,QAAGnB,KAAgB,CAAC;EAE5C,IAAKE,GAAG,EAAG;IACV,MAAM;MAAEkB,MAAM;MAAE,GAAGC;IAAU,CAAC,GAAGjB,KAAK;IACtC,OAAO,IAAAa,MAAA,CAAAC,aAAA,EAAChB,GAAG;MAAA,GAAMmB;IAAS,GAAKL,OAAc,CAAC;EAC/C;EAEA,OAAOA,OAAO;AACf,CAAC;AAACM,OAAA,CAAAvB,OAAA,GAAAA,OAAA"}
1
+ {"version":3,"names":["_element","require","_blocks","_deprecated","_interopRequireDefault","_","_utils","Content","value","tagName","Tag","multiline","format","props","RichText","isEmpty","MultilineTag","getMultilineTag","_react","createElement","Array","isArray","deprecated","since","version","alternative","link","RawHTML","childrenSource","toHTML","toHTMLString"],"sources":["@wordpress/block-editor/src/components/rich-text/content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RawHTML } from '@wordpress/element';\nimport { children as childrenSource } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport RichText from './';\n\n/**\n * Internal dependencies\n */\nimport { getMultilineTag } from './utils';\n\nexport function Content( {\n\tvalue,\n\ttagName: Tag,\n\tmultiline,\n\tformat,\n\t...props\n} ) {\n\tif ( RichText.isEmpty( value ) ) {\n\t\tconst MultilineTag = getMultilineTag( multiline );\n\t\tvalue = MultilineTag ? <MultilineTag /> : null;\n\t} else if ( Array.isArray( value ) ) {\n\t\tdeprecated( 'wp.blockEditor.RichText value prop as children type', {\n\t\t\tsince: '6.1',\n\t\t\tversion: '6.3',\n\t\t\talternative: 'value prop as string',\n\t\t\tlink: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/',\n\t\t} );\n\t\tvalue = <RawHTML>{ childrenSource.toHTML( value ) }</RawHTML>;\n\t} else if ( typeof value === 'string' ) {\n\t\t// To do: deprecate.\n\t\tvalue = <RawHTML>{ value }</RawHTML>;\n\t} else {\n\t\t// To do: create a toReactComponent method on RichTextData, which we\n\t\t// might in the future also use for the editable tree. See\n\t\t// https://github.com/WordPress/gutenberg/pull/41655.\n\t\tvalue = <RawHTML>{ value.toHTMLString() }</RawHTML>;\n\t}\n\n\treturn Tag ? <Tag { ...props }>{ value }</Tag> : value;\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AAKA,IAAAI,CAAA,GAAAD,sBAAA,CAAAH,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AAfA;AACA;AACA;;AAKA;AACA;AACA;;AAGA;AACA;AACA;;AAGO,SAASM,OAAOA,CAAE;EACxBC,KAAK;EACLC,OAAO,EAAEC,GAAG;EACZC,SAAS;EACTC,MAAM;EACN,GAAGC;AACJ,CAAC,EAAG;EACH,IAAKC,SAAQ,CAACC,OAAO,CAAEP,KAAM,CAAC,EAAG;IAChC,MAAMQ,YAAY,GAAG,IAAAC,sBAAe,EAAEN,SAAU,CAAC;IACjDH,KAAK,GAAGQ,YAAY,GAAG,IAAAE,MAAA,CAAAC,aAAA,EAACH,YAAY,MAAE,CAAC,GAAG,IAAI;EAC/C,CAAC,MAAM,IAAKI,KAAK,CAACC,OAAO,CAAEb,KAAM,CAAC,EAAG;IACpC,IAAAc,mBAAU,EAAE,qDAAqD,EAAE;MAClEC,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE,KAAK;MACdC,WAAW,EAAE,sBAAsB;MACnCC,IAAI,EAAE;IACP,CAAE,CAAC;IACHlB,KAAK,GAAG,IAAAU,MAAA,CAAAC,aAAA,EAACnB,QAAA,CAAA2B,OAAO,QAAGC,gBAAc,CAACC,MAAM,CAAErB,KAAM,CAAY,CAAC;EAC9D,CAAC,MAAM,IAAK,OAAOA,KAAK,KAAK,QAAQ,EAAG;IACvC;IACAA,KAAK,GAAG,IAAAU,MAAA,CAAAC,aAAA,EAACnB,QAAA,CAAA2B,OAAO,QAAGnB,KAAgB,CAAC;EACrC,CAAC,MAAM;IACN;IACA;IACA;IACAA,KAAK,GAAG,IAAAU,MAAA,CAAAC,aAAA,EAACnB,QAAA,CAAA2B,OAAO,QAAGnB,KAAK,CAACsB,YAAY,CAAC,CAAY,CAAC;EACpD;EAEA,OAAOpB,GAAG,GAAG,IAAAQ,MAAA,CAAAC,aAAA,EAACT,GAAG;IAAA,GAAMG;EAAK,GAAKL,KAAY,CAAC,GAAGA,KAAK;AACvD"}
@@ -8,6 +8,7 @@ exports.getRichTextValues = getRichTextValues;
8
8
  var _react = require("react");
9
9
  var _element = require("@wordpress/element");
10
10
  var _blocks = require("@wordpress/blocks");
11
+ var _richText = require("@wordpress/rich-text");
11
12
  var _innerBlocks = _interopRequireDefault(require("../inner-blocks"));
12
13
  var _content = require("./content");
13
14
  /**
@@ -88,6 +89,6 @@ function getRichTextValues(blocks = []) {
88
89
  const values = [];
89
90
  addValuesForBlocks(values, blocks);
90
91
  _blocks.__unstableGetBlockProps.skipFilters = false;
91
- return values;
92
+ return values.map(value => value instanceof _richText.RichTextData ? value : _richText.RichTextData.fromHTMLString(value));
92
93
  }
93
94
  //# sourceMappingURL=get-rich-text-values.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_blocks","_innerBlocks","_interopRequireDefault","_content","addValuesForElement","element","values","innerBlocks","undefined","Array","isArray","addValuesForElements","type","props","StrictMode","Fragment","children","RawHTML","InnerBlocks","Content","addValuesForBlocks","push","value","el","prototype","render","args","i","length","blocks","name","attributes","saveElement","getSaveElement","_react","createElement","default","getRichTextValues","getBlockProps","skipFilters"],"sources":["@wordpress/block-editor/src/components/rich-text/get-rich-text-values.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RawHTML, StrictMode, Fragment } from '@wordpress/element';\nimport {\n\tgetSaveElement,\n\t__unstableGetBlockProps as getBlockProps,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport InnerBlocks from '../inner-blocks';\nimport { Content } from './content';\n\n/*\n * This function is similar to `@wordpress/element`'s `renderToString` function,\n * except that it does not render the elements to a string, but instead collects\n * the values of all rich text `Content` elements.\n */\nfunction addValuesForElement( element, values, innerBlocks ) {\n\tif ( null === element || undefined === element || false === element ) {\n\t\treturn;\n\t}\n\n\tif ( Array.isArray( element ) ) {\n\t\treturn addValuesForElements( element, values, innerBlocks );\n\t}\n\n\tswitch ( typeof element ) {\n\t\tcase 'string':\n\t\tcase 'number':\n\t\t\treturn;\n\t}\n\n\tconst { type, props } = element;\n\n\tswitch ( type ) {\n\t\tcase StrictMode:\n\t\tcase Fragment:\n\t\t\treturn addValuesForElements( props.children, values, innerBlocks );\n\t\tcase RawHTML:\n\t\t\treturn;\n\t\tcase InnerBlocks.Content:\n\t\t\treturn addValuesForBlocks( values, innerBlocks );\n\t\tcase Content:\n\t\t\tvalues.push( props.value );\n\t\t\treturn;\n\t}\n\n\tswitch ( typeof type ) {\n\t\tcase 'string':\n\t\t\tif ( typeof props.children !== 'undefined' ) {\n\t\t\t\treturn addValuesForElements(\n\t\t\t\t\tprops.children,\n\t\t\t\t\tvalues,\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn;\n\t\tcase 'function':\n\t\t\tconst el =\n\t\t\t\ttype.prototype && typeof type.prototype.render === 'function'\n\t\t\t\t\t? new type( props ).render()\n\t\t\t\t\t: type( props );\n\t\t\treturn addValuesForElement( el, values, innerBlocks );\n\t}\n}\n\nfunction addValuesForElements( children, ...args ) {\n\tchildren = Array.isArray( children ) ? children : [ children ];\n\n\tfor ( let i = 0; i < children.length; i++ ) {\n\t\taddValuesForElement( children[ i ], ...args );\n\t}\n}\n\nfunction addValuesForBlocks( values, blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tconst { name, attributes, innerBlocks } = blocks[ i ];\n\t\tconst saveElement = getSaveElement(\n\t\t\tname,\n\t\t\tattributes,\n\t\t\t// Instead of letting save elements use `useInnerBlocksProps.save`,\n\t\t\t// force them to use InnerBlocks.Content instead so we can intercept\n\t\t\t// a single component.\n\t\t\t<InnerBlocks.Content />\n\t\t);\n\t\taddValuesForElement( saveElement, values, innerBlocks );\n\t}\n}\n\nexport function getRichTextValues( blocks = [] ) {\n\tgetBlockProps.skipFilters = true;\n\tconst values = [];\n\taddValuesForBlocks( values, blocks );\n\tgetBlockProps.skipFilters = false;\n\treturn values;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_blocks","_richText","_innerBlocks","_interopRequireDefault","_content","addValuesForElement","element","values","innerBlocks","undefined","Array","isArray","addValuesForElements","type","props","StrictMode","Fragment","children","RawHTML","InnerBlocks","Content","addValuesForBlocks","push","value","el","prototype","render","args","i","length","blocks","name","attributes","saveElement","getSaveElement","_react","createElement","default","getRichTextValues","getBlockProps","skipFilters","map","RichTextData","fromHTMLString"],"sources":["@wordpress/block-editor/src/components/rich-text/get-rich-text-values.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RawHTML, StrictMode, Fragment } from '@wordpress/element';\nimport {\n\tgetSaveElement,\n\t__unstableGetBlockProps as getBlockProps,\n} from '@wordpress/blocks';\nimport { RichTextData } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport InnerBlocks from '../inner-blocks';\nimport { Content } from './content';\n\n/*\n * This function is similar to `@wordpress/element`'s `renderToString` function,\n * except that it does not render the elements to a string, but instead collects\n * the values of all rich text `Content` elements.\n */\nfunction addValuesForElement( element, values, innerBlocks ) {\n\tif ( null === element || undefined === element || false === element ) {\n\t\treturn;\n\t}\n\n\tif ( Array.isArray( element ) ) {\n\t\treturn addValuesForElements( element, values, innerBlocks );\n\t}\n\n\tswitch ( typeof element ) {\n\t\tcase 'string':\n\t\tcase 'number':\n\t\t\treturn;\n\t}\n\n\tconst { type, props } = element;\n\n\tswitch ( type ) {\n\t\tcase StrictMode:\n\t\tcase Fragment:\n\t\t\treturn addValuesForElements( props.children, values, innerBlocks );\n\t\tcase RawHTML:\n\t\t\treturn;\n\t\tcase InnerBlocks.Content:\n\t\t\treturn addValuesForBlocks( values, innerBlocks );\n\t\tcase Content:\n\t\t\tvalues.push( props.value );\n\t\t\treturn;\n\t}\n\n\tswitch ( typeof type ) {\n\t\tcase 'string':\n\t\t\tif ( typeof props.children !== 'undefined' ) {\n\t\t\t\treturn addValuesForElements(\n\t\t\t\t\tprops.children,\n\t\t\t\t\tvalues,\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn;\n\t\tcase 'function':\n\t\t\tconst el =\n\t\t\t\ttype.prototype && typeof type.prototype.render === 'function'\n\t\t\t\t\t? new type( props ).render()\n\t\t\t\t\t: type( props );\n\t\t\treturn addValuesForElement( el, values, innerBlocks );\n\t}\n}\n\nfunction addValuesForElements( children, ...args ) {\n\tchildren = Array.isArray( children ) ? children : [ children ];\n\n\tfor ( let i = 0; i < children.length; i++ ) {\n\t\taddValuesForElement( children[ i ], ...args );\n\t}\n}\n\nfunction addValuesForBlocks( values, blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tconst { name, attributes, innerBlocks } = blocks[ i ];\n\t\tconst saveElement = getSaveElement(\n\t\t\tname,\n\t\t\tattributes,\n\t\t\t// Instead of letting save elements use `useInnerBlocksProps.save`,\n\t\t\t// force them to use InnerBlocks.Content instead so we can intercept\n\t\t\t// a single component.\n\t\t\t<InnerBlocks.Content />\n\t\t);\n\t\taddValuesForElement( saveElement, values, innerBlocks );\n\t}\n}\n\nexport function getRichTextValues( blocks = [] ) {\n\tgetBlockProps.skipFilters = true;\n\tconst values = [];\n\taddValuesForBlocks( values, blocks );\n\tgetBlockProps.skipFilters = false;\n\treturn values.map( ( value ) =>\n\t\tvalue instanceof RichTextData\n\t\t\t? value\n\t\t\t: RichTextData.fromHTMLString( value )\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAIA,IAAAE,SAAA,GAAAF,OAAA;AAKA,IAAAG,YAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAdA;AACA;AACA;;AAQA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA,SAASM,mBAAmBA,CAAEC,OAAO,EAAEC,MAAM,EAAEC,WAAW,EAAG;EAC5D,IAAK,IAAI,KAAKF,OAAO,IAAIG,SAAS,KAAKH,OAAO,IAAI,KAAK,KAAKA,OAAO,EAAG;IACrE;EACD;EAEA,IAAKI,KAAK,CAACC,OAAO,CAAEL,OAAQ,CAAC,EAAG;IAC/B,OAAOM,oBAAoB,CAAEN,OAAO,EAAEC,MAAM,EAAEC,WAAY,CAAC;EAC5D;EAEA,QAAS,OAAOF,OAAO;IACtB,KAAK,QAAQ;IACb,KAAK,QAAQ;MACZ;EACF;EAEA,MAAM;IAAEO,IAAI;IAAEC;EAAM,CAAC,GAAGR,OAAO;EAE/B,QAASO,IAAI;IACZ,KAAKE,mBAAU;IACf,KAAKC,iBAAQ;MACZ,OAAOJ,oBAAoB,CAAEE,KAAK,CAACG,QAAQ,EAAEV,MAAM,EAAEC,WAAY,CAAC;IACnE,KAAKU,gBAAO;MACX;IACD,KAAKC,oBAAW,CAACC,OAAO;MACvB,OAAOC,kBAAkB,CAAEd,MAAM,EAAEC,WAAY,CAAC;IACjD,KAAKY,gBAAO;MACXb,MAAM,CAACe,IAAI,CAAER,KAAK,CAACS,KAAM,CAAC;MAC1B;EACF;EAEA,QAAS,OAAOV,IAAI;IACnB,KAAK,QAAQ;MACZ,IAAK,OAAOC,KAAK,CAACG,QAAQ,KAAK,WAAW,EAAG;QAC5C,OAAOL,oBAAoB,CAC1BE,KAAK,CAACG,QAAQ,EACdV,MAAM,EACNC,WACD,CAAC;MACF;MACA;IACD,KAAK,UAAU;MACd,MAAMgB,EAAE,GACPX,IAAI,CAACY,SAAS,IAAI,OAAOZ,IAAI,CAACY,SAAS,CAACC,MAAM,KAAK,UAAU,GAC1D,IAAIb,IAAI,CAAEC,KAAM,CAAC,CAACY,MAAM,CAAC,CAAC,GAC1Bb,IAAI,CAAEC,KAAM,CAAC;MACjB,OAAOT,mBAAmB,CAAEmB,EAAE,EAAEjB,MAAM,EAAEC,WAAY,CAAC;EACvD;AACD;AAEA,SAASI,oBAAoBA,CAAEK,QAAQ,EAAE,GAAGU,IAAI,EAAG;EAClDV,QAAQ,GAAGP,KAAK,CAACC,OAAO,CAAEM,QAAS,CAAC,GAAGA,QAAQ,GAAG,CAAEA,QAAQ,CAAE;EAE9D,KAAM,IAAIW,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGX,QAAQ,CAACY,MAAM,EAAED,CAAC,EAAE,EAAG;IAC3CvB,mBAAmB,CAAEY,QAAQ,CAAEW,CAAC,CAAE,EAAE,GAAGD,IAAK,CAAC;EAC9C;AACD;AAEA,SAASN,kBAAkBA,CAAEd,MAAM,EAAEuB,MAAM,EAAG;EAC7C,KAAM,IAAIF,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGE,MAAM,CAACD,MAAM,EAAED,CAAC,EAAE,EAAG;IACzC,MAAM;MAAEG,IAAI;MAAEC,UAAU;MAAExB;IAAY,CAAC,GAAGsB,MAAM,CAAEF,CAAC,CAAE;IACrD,MAAMK,WAAW,GAAG,IAAAC,sBAAc,EACjCH,IAAI,EACJC,UAAU;IACV;IACA;IACA;IACA,IAAAG,MAAA,CAAAC,aAAA,EAAClC,YAAA,CAAAmC,OAAW,CAACjB,OAAO,MAAE,CACvB,CAAC;IACDf,mBAAmB,CAAE4B,WAAW,EAAE1B,MAAM,EAAEC,WAAY,CAAC;EACxD;AACD;AAEO,SAAS8B,iBAAiBA,CAAER,MAAM,GAAG,EAAE,EAAG;EAChDS,+BAAa,CAACC,WAAW,GAAG,IAAI;EAChC,MAAMjC,MAAM,GAAG,EAAE;EACjBc,kBAAkB,CAAEd,MAAM,EAAEuB,MAAO,CAAC;EACpCS,+BAAa,CAACC,WAAW,GAAG,KAAK;EACjC,OAAOjC,MAAM,CAACkC,GAAG,CAAIlB,KAAK,IACzBA,KAAK,YAAYmB,sBAAY,GAC1BnB,KAAK,GACLmB,sBAAY,CAACC,cAAc,CAAEpB,KAAM,CACvC,CAAC;AACF"}
@@ -28,10 +28,8 @@ var _react = require("react");
28
28
  var _classnames = _interopRequireDefault(require("classnames"));
29
29
  var _element = require("@wordpress/element");
30
30
  var _data = require("@wordpress/data");
31
- var _blocks = require("@wordpress/blocks");
32
31
  var _compose = require("@wordpress/compose");
33
32
  var _richText = require("@wordpress/rich-text");
34
- var _deprecated = _interopRequireDefault(require("@wordpress/deprecated"));
35
33
  var _components = require("@wordpress/components");
36
34
  var _autocomplete = require("../autocomplete");
37
35
  var _blockEdit = require("../block-edit");
@@ -53,7 +51,7 @@ var _useFirefoxCompat = require("./use-firefox-compat");
53
51
  var _formatEdit = _interopRequireDefault(require("./format-edit"));
54
52
  var _utils = require("./utils");
55
53
  var _content = require("./content");
56
- var _multiline = _interopRequireDefault(require("./multiline"));
54
+ var _withDeprecations = require("./with-deprecations");
57
55
  var _shortcut = require("./shortcut");
58
56
  var _toolbarButton = require("./toolbar-button");
59
57
  var _inputEvent = require("./input-event");
@@ -353,33 +351,7 @@ function RichTextWrapper({
353
351
  tabIndex: props.tabIndex === 0 ? null : props.tabIndex
354
352
  }));
355
353
  }
356
- const ForwardedRichTextWrapper = (0, _element.forwardRef)(RichTextWrapper);
357
- function RichTextSwitcher(props, ref) {
358
- let value = props.value;
359
- let onChange = props.onChange;
360
-
361
- // Handle deprecated format.
362
- if (Array.isArray(value)) {
363
- (0, _deprecated.default)('wp.blockEditor.RichText value prop as children type', {
364
- since: '6.1',
365
- version: '6.3',
366
- alternative: 'value prop as string',
367
- link: 'https://developer.wordpress.org/block-editor/how-to-guides/block-tutorial/introducing-attributes-and-editable-fields/'
368
- });
369
- value = _blocks.children.toHTML(props.value);
370
- onChange = newValue => props.onChange(_blocks.children.fromDOM((0, _richText.__unstableCreateElement)(document, newValue).childNodes));
371
- }
372
- const Component = props.multiline ? _multiline.default : ForwardedRichTextWrapper;
373
- const instanceId = (0, _compose.useInstanceId)(RichTextSwitcher);
374
- return (0, _react.createElement)(Component, {
375
- ...props,
376
- identifier: props.identifier || instanceId,
377
- value: value,
378
- onChange: onChange,
379
- ref: ref
380
- });
381
- }
382
- const ForwardedRichTextContainer = (0, _element.forwardRef)(RichTextSwitcher);
354
+ const ForwardedRichTextContainer = (0, _withDeprecations.withDeprecations)((0, _element.forwardRef)(RichTextWrapper));
383
355
  ForwardedRichTextContainer.Content = _content.Content;
384
356
  ForwardedRichTextContainer.isEmpty = value => {
385
357
  return !value || value.length === 0;