@wordpress/block-editor 8.0.16 → 8.1.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 (436) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +12 -1
  4. package/build/components/block-caption/index.native.js +14 -3
  5. package/build/components/block-caption/index.native.js.map +1 -1
  6. package/build/components/block-edit/index.js +9 -0
  7. package/build/components/block-edit/index.js.map +1 -1
  8. package/build/components/block-inspector/index.js +8 -20
  9. package/build/components/block-inspector/index.js.map +1 -1
  10. package/build/components/block-list-appender/index.js +3 -11
  11. package/build/components/block-list-appender/index.js.map +1 -1
  12. package/build/components/block-media-update-progress/index.native.js +2 -1
  13. package/build/components/block-media-update-progress/index.native.js.map +1 -1
  14. package/build/components/block-preview/auto.js +10 -2
  15. package/build/components/block-preview/auto.js.map +1 -1
  16. package/build/components/block-settings/container.native.js +2 -1
  17. package/build/components/block-settings/container.native.js.map +1 -1
  18. package/build/components/block-styles/index.js +110 -134
  19. package/build/components/block-styles/index.js.map +1 -1
  20. package/build/components/block-styles/menu-items.js +63 -0
  21. package/build/components/block-styles/menu-items.js.map +1 -0
  22. package/build/components/block-styles/preview-panel.js +45 -0
  23. package/build/components/block-styles/preview-panel.js.map +1 -0
  24. package/build/components/block-styles/preview.native.js +2 -2
  25. package/build/components/block-styles/preview.native.js.map +1 -1
  26. package/build/components/block-styles/use-styles-for-block.js +119 -0
  27. package/build/components/block-styles/use-styles-for-block.js.map +1 -0
  28. package/build/components/block-styles/utils.js +39 -0
  29. package/build/components/block-styles/utils.js.map +1 -1
  30. package/build/components/block-switcher/block-styles-menu.js +3 -23
  31. package/build/components/block-switcher/block-styles-menu.js.map +1 -1
  32. package/build/components/block-tools/back-compat.js +2 -1
  33. package/build/components/block-tools/back-compat.js.map +1 -1
  34. package/build/components/block-tools/block-selection-button.js +5 -1
  35. package/build/components/block-tools/block-selection-button.js.map +1 -1
  36. package/build/components/block-tools/insertion-point.js +11 -1
  37. package/build/components/block-tools/insertion-point.js.map +1 -1
  38. package/build/components/block-types-list/index.native.js +2 -2
  39. package/build/components/block-types-list/index.native.js.map +1 -1
  40. package/build/components/button-block-appender/index.js +2 -1
  41. package/build/components/button-block-appender/index.js.map +1 -1
  42. package/build/components/colors-gradients/dropdown.js +88 -0
  43. package/build/components/colors-gradients/dropdown.js.map +1 -0
  44. package/build/components/colors-gradients/panel-color-gradient-settings.js +6 -5
  45. package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  46. package/build/components/colors-gradients/panel-color-gradient-settings.native.js +6 -3
  47. package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  48. package/build/components/contrast-checker/index.js +34 -9
  49. package/build/components/contrast-checker/index.js.map +1 -1
  50. package/build/components/contrast-checker/index.native.js +108 -0
  51. package/build/components/contrast-checker/index.native.js.map +1 -0
  52. package/build/components/default-block-appender/index.js +16 -19
  53. package/build/components/default-block-appender/index.js.map +1 -1
  54. package/build/components/default-style-picker/index.js +18 -3
  55. package/build/components/default-style-picker/index.js.map +1 -1
  56. package/build/components/iframe/index.js +4 -5
  57. package/build/components/iframe/index.js.map +1 -1
  58. package/build/components/index.js +18 -9
  59. package/build/components/index.js.map +1 -1
  60. package/build/components/index.native.js +9 -0
  61. package/build/components/index.native.js.map +1 -1
  62. package/build/components/inner-blocks/default-block-appender.js +2 -4
  63. package/build/components/inner-blocks/default-block-appender.js.map +1 -1
  64. package/build/components/inner-blocks/use-nested-settings-update.js +16 -14
  65. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  66. package/build/components/inserter/index.js +61 -3
  67. package/build/components/inserter/index.js.map +1 -1
  68. package/build/components/inserter/index.native.js +1 -1
  69. package/build/components/inserter/index.native.js.map +1 -1
  70. package/build/components/inserter/library.js +5 -3
  71. package/build/components/inserter/library.js.map +1 -1
  72. package/build/components/inserter/menu.js +11 -3
  73. package/build/components/inserter/menu.js.map +1 -1
  74. package/build/components/inserter/tabs.native.js +7 -4
  75. package/build/components/inserter/tabs.native.js.map +1 -1
  76. package/build/components/inspector-controls/block-support-slot-container.js +2 -1
  77. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  78. package/build/components/inspector-controls/block-support-tools-panel.js +11 -43
  79. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  80. package/build/components/inspector-controls/fill.native.js +3 -5
  81. package/build/components/inspector-controls/fill.native.js.map +1 -1
  82. package/build/components/inspector-controls/groups.js +2 -0
  83. package/build/components/inspector-controls/groups.js.map +1 -1
  84. package/build/components/inspector-controls/slot.js +1 -3
  85. package/build/components/inspector-controls/slot.js.map +1 -1
  86. package/build/components/letter-spacing-control/index.js +6 -6
  87. package/build/components/letter-spacing-control/index.js.map +1 -1
  88. package/build/components/link-control/link-preview.js +1 -1
  89. package/build/components/link-control/link-preview.js.map +1 -1
  90. package/build/components/link-control/search-item.js +11 -1
  91. package/build/components/link-control/search-item.js.map +1 -1
  92. package/build/components/link-control/search-results.js +2 -1
  93. package/build/components/link-control/search-results.js.map +1 -1
  94. package/build/components/link-control/use-search-handler.js +18 -5
  95. package/build/components/link-control/use-search-handler.js.map +1 -1
  96. package/build/components/list-view/block-select-button.js +23 -3
  97. package/build/components/list-view/block-select-button.js.map +1 -1
  98. package/build/components/list-view/block.js +8 -0
  99. package/build/components/list-view/block.js.map +1 -1
  100. package/build/components/media-placeholder/index.js +2 -0
  101. package/build/components/media-placeholder/index.js.map +1 -1
  102. package/build/components/media-replace-flow/index.js +32 -6
  103. package/build/components/media-replace-flow/index.js.map +1 -1
  104. package/build/components/media-upload-progress/index.native.js +2 -1
  105. package/build/components/media-upload-progress/index.native.js.map +1 -1
  106. package/build/components/panel-color-settings/index.js +7 -3
  107. package/build/components/panel-color-settings/index.js.map +1 -1
  108. package/build/components/provider/block-refs-provider.js +4 -1
  109. package/build/components/provider/block-refs-provider.js.map +1 -1
  110. package/build/components/rich-text/file-paste-handler.js +1 -1
  111. package/build/components/rich-text/file-paste-handler.js.map +1 -1
  112. package/build/components/rich-text/prevent-event-discovery.js +33 -0
  113. package/build/components/rich-text/prevent-event-discovery.js.map +1 -0
  114. package/build/components/rich-text/use-input-rules.js +3 -1
  115. package/build/components/rich-text/use-input-rules.js.map +1 -1
  116. package/build/components/selection-scroll-into-view/index.js +2 -1
  117. package/build/components/selection-scroll-into-view/index.js.map +1 -1
  118. package/build/components/use-display-block-controls/index.native.js +45 -0
  119. package/build/components/use-display-block-controls/index.native.js.map +1 -0
  120. package/build/components/use-on-block-drop/index.js +7 -3
  121. package/build/components/use-on-block-drop/index.js.map +1 -1
  122. package/build/components/writing-flow/use-multi-selection.js +3 -1
  123. package/build/components/writing-flow/use-multi-selection.js.map +1 -1
  124. package/build/hooks/border-color.js +74 -10
  125. package/build/hooks/border-color.js.map +1 -1
  126. package/build/hooks/border-radius.js +47 -0
  127. package/build/hooks/border-radius.js.map +1 -1
  128. package/build/hooks/border-style.js +41 -0
  129. package/build/hooks/border-style.js.map +1 -1
  130. package/build/hooks/border-width.js +70 -31
  131. package/build/hooks/border-width.js.map +1 -1
  132. package/build/hooks/border.js +81 -11
  133. package/build/hooks/border.js.map +1 -1
  134. package/build/hooks/color-panel.js +4 -1
  135. package/build/hooks/color-panel.js.map +1 -1
  136. package/build/hooks/color-panel.native.js +77 -0
  137. package/build/hooks/color-panel.native.js.map +1 -0
  138. package/build/hooks/color.js +6 -5
  139. package/build/hooks/color.js.map +1 -1
  140. package/build/hooks/index.native.js +2 -0
  141. package/build/hooks/index.native.js.map +1 -1
  142. package/build/hooks/layout.native.js +20 -0
  143. package/build/hooks/layout.native.js.map +1 -0
  144. package/build/hooks/letter-spacing.js +1 -1
  145. package/build/hooks/letter-spacing.js.map +1 -1
  146. package/build/hooks/typography.js +1 -1
  147. package/build/hooks/typography.js.map +1 -1
  148. package/build/store/actions.js +1 -2
  149. package/build/store/actions.js.map +1 -1
  150. package/build/store/defaults.js +5 -1
  151. package/build/store/defaults.js.map +1 -1
  152. package/build/store/defaults.native.js +2 -6
  153. package/build/store/defaults.native.js.map +1 -1
  154. package/build/store/selectors.js +10 -5
  155. package/build/store/selectors.js.map +1 -1
  156. package/build/utils/get-paste-event-data.js +1 -1
  157. package/build/utils/get-paste-event-data.js.map +1 -1
  158. package/build/utils/parse-css-unit-to-px.js +1 -1
  159. package/build/utils/parse-css-unit-to-px.js.map +1 -1
  160. package/build-module/components/block-caption/index.native.js +13 -3
  161. package/build-module/components/block-caption/index.native.js.map +1 -1
  162. package/build-module/components/block-edit/index.js +9 -0
  163. package/build-module/components/block-edit/index.js.map +1 -1
  164. package/build-module/components/block-inspector/index.js +8 -20
  165. package/build-module/components/block-inspector/index.js.map +1 -1
  166. package/build-module/components/block-list-appender/index.js +3 -10
  167. package/build-module/components/block-list-appender/index.js.map +1 -1
  168. package/build-module/components/block-media-update-progress/index.native.js +2 -1
  169. package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
  170. package/build-module/components/block-preview/auto.js +10 -2
  171. package/build-module/components/block-preview/auto.js.map +1 -1
  172. package/build-module/components/block-settings/container.native.js +2 -1
  173. package/build-module/components/block-settings/container.native.js.map +1 -1
  174. package/build-module/components/block-styles/index.js +112 -133
  175. package/build-module/components/block-styles/index.js.map +1 -1
  176. package/build-module/components/block-styles/menu-items.js +50 -0
  177. package/build-module/components/block-styles/menu-items.js.map +1 -0
  178. package/build-module/components/block-styles/preview-panel.js +35 -0
  179. package/build-module/components/block-styles/preview-panel.js.map +1 -0
  180. package/build-module/components/block-styles/preview.native.js +2 -2
  181. package/build-module/components/block-styles/preview.native.js.map +1 -1
  182. package/build-module/components/block-styles/use-styles-for-block.js +107 -0
  183. package/build-module/components/block-styles/use-styles-for-block.js.map +1 -0
  184. package/build-module/components/block-styles/utils.js +34 -0
  185. package/build-module/components/block-styles/utils.js.map +1 -1
  186. package/build-module/components/block-switcher/block-styles-menu.js +3 -21
  187. package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
  188. package/build-module/components/block-tools/back-compat.js +2 -1
  189. package/build-module/components/block-tools/back-compat.js.map +1 -1
  190. package/build-module/components/block-tools/block-selection-button.js +5 -1
  191. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  192. package/build-module/components/block-tools/insertion-point.js +11 -1
  193. package/build-module/components/block-tools/insertion-point.js.map +1 -1
  194. package/build-module/components/block-types-list/index.native.js +2 -2
  195. package/build-module/components/block-types-list/index.native.js.map +1 -1
  196. package/build-module/components/button-block-appender/index.js +2 -1
  197. package/build-module/components/button-block-appender/index.js.map +1 -1
  198. package/build-module/components/colors-gradients/dropdown.js +75 -0
  199. package/build-module/components/colors-gradients/dropdown.js.map +1 -0
  200. package/build-module/components/colors-gradients/panel-color-gradient-settings.js +8 -7
  201. package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
  202. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +7 -4
  203. package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
  204. package/build-module/components/contrast-checker/index.js +34 -9
  205. package/build-module/components/contrast-checker/index.js.map +1 -1
  206. package/build-module/components/contrast-checker/index.native.js +90 -0
  207. package/build-module/components/contrast-checker/index.native.js.map +1 -0
  208. package/build-module/components/default-block-appender/index.js +15 -18
  209. package/build-module/components/default-block-appender/index.js.map +1 -1
  210. package/build-module/components/default-style-picker/index.js +17 -3
  211. package/build-module/components/default-style-picker/index.js.map +1 -1
  212. package/build-module/components/iframe/index.js +4 -5
  213. package/build-module/components/iframe/index.js.map +1 -1
  214. package/build-module/components/index.js +2 -1
  215. package/build-module/components/index.js.map +1 -1
  216. package/build-module/components/index.native.js +1 -0
  217. package/build-module/components/index.native.js.map +1 -1
  218. package/build-module/components/inner-blocks/default-block-appender.js +2 -4
  219. package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
  220. package/build-module/components/inner-blocks/use-nested-settings-update.js +16 -14
  221. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  222. package/build-module/components/inserter/index.js +61 -3
  223. package/build-module/components/inserter/index.js.map +1 -1
  224. package/build-module/components/inserter/index.native.js +2 -2
  225. package/build-module/components/inserter/index.native.js.map +1 -1
  226. package/build-module/components/inserter/library.js +5 -3
  227. package/build-module/components/inserter/library.js.map +1 -1
  228. package/build-module/components/inserter/menu.js +11 -4
  229. package/build-module/components/inserter/menu.js.map +1 -1
  230. package/build-module/components/inserter/tabs.native.js +7 -4
  231. package/build-module/components/inserter/tabs.native.js.map +1 -1
  232. package/build-module/components/inspector-controls/block-support-slot-container.js +2 -1
  233. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  234. package/build-module/components/inspector-controls/block-support-tools-panel.js +12 -43
  235. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  236. package/build-module/components/inspector-controls/fill.native.js +3 -5
  237. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  238. package/build-module/components/inspector-controls/groups.js +2 -0
  239. package/build-module/components/inspector-controls/groups.js.map +1 -1
  240. package/build-module/components/inspector-controls/slot.js +1 -3
  241. package/build-module/components/inspector-controls/slot.js.map +1 -1
  242. package/build-module/components/letter-spacing-control/index.js +6 -6
  243. package/build-module/components/letter-spacing-control/index.js.map +1 -1
  244. package/build-module/components/link-control/link-preview.js +1 -1
  245. package/build-module/components/link-control/link-preview.js.map +1 -1
  246. package/build-module/components/link-control/search-item.js +11 -1
  247. package/build-module/components/link-control/search-item.js.map +1 -1
  248. package/build-module/components/link-control/search-results.js +2 -1
  249. package/build-module/components/link-control/search-results.js.map +1 -1
  250. package/build-module/components/link-control/use-search-handler.js +18 -5
  251. package/build-module/components/link-control/use-search-handler.js.map +1 -1
  252. package/build-module/components/list-view/block-select-button.js +22 -3
  253. package/build-module/components/list-view/block-select-button.js.map +1 -1
  254. package/build-module/components/list-view/block.js +6 -0
  255. package/build-module/components/list-view/block.js.map +1 -1
  256. package/build-module/components/media-placeholder/index.js +2 -0
  257. package/build-module/components/media-placeholder/index.js.map +1 -1
  258. package/build-module/components/media-replace-flow/index.js +32 -6
  259. package/build-module/components/media-replace-flow/index.js.map +1 -1
  260. package/build-module/components/media-upload-progress/index.native.js +2 -1
  261. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  262. package/build-module/components/panel-color-settings/index.js +7 -3
  263. package/build-module/components/panel-color-settings/index.js.map +1 -1
  264. package/build-module/components/provider/block-refs-provider.js +4 -1
  265. package/build-module/components/provider/block-refs-provider.js.map +1 -1
  266. package/build-module/components/rich-text/file-paste-handler.js +1 -1
  267. package/build-module/components/rich-text/file-paste-handler.js.map +1 -1
  268. package/build-module/components/rich-text/prevent-event-discovery.js +25 -0
  269. package/build-module/components/rich-text/prevent-event-discovery.js.map +1 -0
  270. package/build-module/components/rich-text/use-input-rules.js +2 -1
  271. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  272. package/build-module/components/selection-scroll-into-view/index.js +2 -1
  273. package/build-module/components/selection-scroll-into-view/index.js.map +1 -1
  274. package/build-module/components/use-display-block-controls/index.native.js +34 -0
  275. package/build-module/components/use-display-block-controls/index.native.js.map +1 -0
  276. package/build-module/components/use-on-block-drop/index.js +7 -3
  277. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  278. package/build-module/components/writing-flow/use-multi-selection.js +3 -4
  279. package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
  280. package/build-module/hooks/border-color.js +72 -12
  281. package/build-module/hooks/border-color.js.map +1 -1
  282. package/build-module/hooks/border-radius.js +42 -0
  283. package/build-module/hooks/border-radius.js.map +1 -1
  284. package/build-module/hooks/border-style.js +36 -0
  285. package/build-module/hooks/border-style.js.map +1 -1
  286. package/build-module/hooks/border-width.js +66 -32
  287. package/build-module/hooks/border-width.js.map +1 -1
  288. package/build-module/hooks/border.js +80 -12
  289. package/build-module/hooks/border.js.map +1 -1
  290. package/build-module/hooks/color-panel.js +4 -1
  291. package/build-module/hooks/color-panel.js.map +1 -1
  292. package/build-module/hooks/color-panel.native.js +62 -0
  293. package/build-module/hooks/color-panel.native.js.map +1 -0
  294. package/build-module/hooks/color.js +6 -5
  295. package/build-module/hooks/color.js.map +1 -1
  296. package/build-module/hooks/index.native.js +1 -0
  297. package/build-module/hooks/index.native.js.map +1 -1
  298. package/build-module/hooks/layout.native.js +16 -0
  299. package/build-module/hooks/layout.native.js.map +1 -0
  300. package/build-module/hooks/letter-spacing.js +1 -1
  301. package/build-module/hooks/letter-spacing.js.map +1 -1
  302. package/build-module/hooks/typography.js +1 -1
  303. package/build-module/hooks/typography.js.map +1 -1
  304. package/build-module/store/actions.js +1 -2
  305. package/build-module/store/actions.js.map +1 -1
  306. package/build-module/store/defaults.js +5 -1
  307. package/build-module/store/defaults.js.map +1 -1
  308. package/build-module/store/defaults.native.js +2 -5
  309. package/build-module/store/defaults.native.js.map +1 -1
  310. package/build-module/store/selectors.js +10 -5
  311. package/build-module/store/selectors.js.map +1 -1
  312. package/build-module/utils/get-paste-event-data.js +1 -1
  313. package/build-module/utils/get-paste-event-data.js.map +1 -1
  314. package/build-module/utils/parse-css-unit-to-px.js +1 -1
  315. package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
  316. package/build-style/style-rtl.css +226 -181
  317. package/build-style/style.css +226 -181
  318. package/package.json +31 -27
  319. package/src/components/block-caption/index.native.js +22 -4
  320. package/src/components/block-card/README.md +1 -1
  321. package/src/components/block-edit/index.js +8 -0
  322. package/src/components/block-edit/test/edit.native.js +10 -9
  323. package/src/components/block-inspector/index.js +9 -16
  324. package/src/components/block-list-appender/index.js +5 -21
  325. package/src/components/block-media-update-progress/index.native.js +1 -1
  326. package/src/components/block-media-update-progress/test/index.native.js +136 -93
  327. package/src/components/block-mover/test/__snapshots__/index.native.js.snap +108 -47
  328. package/src/components/block-mover/test/index.native.js +5 -5
  329. package/src/components/block-preview/README.md +14 -26
  330. package/src/components/block-preview/auto.js +7 -2
  331. package/src/components/block-preview/test/index.js +2 -0
  332. package/src/components/block-settings/container.native.js +1 -0
  333. package/src/components/block-styles/index.js +125 -145
  334. package/src/components/block-styles/menu-items.js +49 -0
  335. package/src/components/block-styles/preview-panel.js +36 -0
  336. package/src/components/block-styles/preview.native.js +5 -2
  337. package/src/components/block-styles/style.scss +59 -51
  338. package/src/components/block-styles/test/{index.js → utils.js} +60 -1
  339. package/src/components/block-styles/use-styles-for-block.js +99 -0
  340. package/src/components/block-styles/utils.js +39 -0
  341. package/src/components/block-switcher/block-styles-menu.js +3 -38
  342. package/src/components/block-tools/back-compat.js +1 -0
  343. package/src/components/block-tools/block-selection-button.js +7 -1
  344. package/src/components/block-tools/insertion-point.js +10 -1
  345. package/src/components/block-types-list/index.native.js +5 -2
  346. package/src/components/border-radius-control/style.scss +1 -1
  347. package/src/components/border-style-control/style.scss +0 -1
  348. package/src/components/button-block-appender/index.js +1 -0
  349. package/src/components/color-palette/test/__snapshots__/control.js.snap +9 -4
  350. package/src/components/colors-gradients/dropdown.js +96 -0
  351. package/src/components/colors-gradients/panel-color-gradient-settings.js +23 -19
  352. package/src/components/colors-gradients/panel-color-gradient-settings.native.js +13 -2
  353. package/src/components/colors-gradients/style.scss +59 -5
  354. package/src/components/contrast-checker/README.md +3 -1
  355. package/src/components/contrast-checker/index.js +48 -20
  356. package/src/components/contrast-checker/index.native.js +113 -0
  357. package/src/components/contrast-checker/style.native.scss +26 -0
  358. package/src/components/contrast-checker/test/index.js +65 -0
  359. package/src/components/default-block-appender/index.js +17 -24
  360. package/src/components/default-block-appender/style.scss +4 -0
  361. package/src/components/default-block-appender/test/__snapshots__/index.js.snap +12 -24
  362. package/src/components/default-block-appender/test/index.js +4 -14
  363. package/src/components/default-style-picker/index.js +18 -6
  364. package/src/components/iframe/index.js +7 -3
  365. package/src/components/index.js +2 -1
  366. package/src/components/index.native.js +1 -0
  367. package/src/components/inner-blocks/README.md +2 -0
  368. package/src/components/inner-blocks/default-block-appender.js +2 -7
  369. package/src/components/inner-blocks/use-nested-settings-update.js +16 -14
  370. package/src/components/inserter/index.js +77 -5
  371. package/src/components/inserter/index.native.js +2 -2
  372. package/src/components/inserter/library.js +17 -12
  373. package/src/components/inserter/menu.js +31 -13
  374. package/src/components/inserter/tabs.native.js +5 -4
  375. package/src/components/inserter/test/block-types-tab.native.js +9 -10
  376. package/src/components/inserter/test/index.native.js +3 -7
  377. package/src/components/inserter/test/reusable-blocks-tab.native.js +8 -10
  378. package/src/components/inspector-controls/block-support-slot-container.js +3 -1
  379. package/src/components/inspector-controls/block-support-tools-panel.js +39 -58
  380. package/src/components/inspector-controls/fill.native.js +4 -3
  381. package/src/components/inspector-controls/groups.js +2 -0
  382. package/src/components/inspector-controls/slot.js +2 -7
  383. package/src/components/letter-spacing-control/index.js +6 -6
  384. package/src/components/link-control/README.md +1 -1
  385. package/src/components/link-control/link-preview.js +1 -1
  386. package/src/components/link-control/search-item.js +11 -2
  387. package/src/components/link-control/search-results.js +1 -0
  388. package/src/components/link-control/style.scss +2 -1
  389. package/src/components/link-control/test/index.js +4 -0
  390. package/src/components/link-control/use-search-handler.js +25 -4
  391. package/src/components/list-view/block-select-button.js +20 -1
  392. package/src/components/list-view/block.js +10 -0
  393. package/src/components/media-placeholder/index.js +2 -0
  394. package/src/components/media-replace-flow/index.js +35 -5
  395. package/src/components/media-upload/test/index.native.js +28 -47
  396. package/src/components/media-upload-progress/index.native.js +1 -0
  397. package/src/components/media-upload-progress/test/index.native.js +60 -47
  398. package/src/components/panel-color-settings/index.js +8 -4
  399. package/src/components/provider/block-refs-provider.js +4 -1
  400. package/src/components/rich-text/file-paste-handler.js +3 -1
  401. package/src/components/rich-text/prevent-event-discovery.js +23 -0
  402. package/src/components/rich-text/use-input-rules.js +2 -1
  403. package/src/components/selection-scroll-into-view/index.js +1 -0
  404. package/src/components/url-input/README.md +5 -0
  405. package/src/components/use-display-block-controls/index.native.js +38 -0
  406. package/src/components/use-on-block-drop/index.js +7 -3
  407. package/src/components/writing-flow/test/use-multi-selection.js +36 -0
  408. package/src/components/writing-flow/use-multi-selection.js +12 -9
  409. package/src/hooks/border-color.js +69 -9
  410. package/src/hooks/border-radius.js +32 -0
  411. package/src/hooks/border-style.js +26 -0
  412. package/src/hooks/border-width.js +56 -32
  413. package/src/hooks/border.js +115 -20
  414. package/src/hooks/border.scss +3 -17
  415. package/src/hooks/color-panel.js +3 -0
  416. package/src/hooks/color-panel.native.js +63 -0
  417. package/src/hooks/color.js +8 -7
  418. package/src/hooks/dimensions.scss +5 -0
  419. package/src/hooks/index.native.js +1 -0
  420. package/src/hooks/layout.native.js +23 -0
  421. package/src/hooks/letter-spacing.js +1 -1
  422. package/src/hooks/typography.js +1 -1
  423. package/src/store/actions.js +1 -2
  424. package/src/store/defaults.js +2 -0
  425. package/src/store/defaults.native.js +2 -6
  426. package/src/store/selectors.js +10 -5
  427. package/src/style.scss +4 -3
  428. package/src/utils/get-paste-event-data.js +1 -1
  429. package/src/utils/parse-css-unit-to-px.js +1 -1
  430. package/src/utils/test/parse-css-unit-to-px.js +3 -0
  431. package/tsconfig.tsbuildinfo +1 -1
  432. package/build/components/use-canvas-click-redirect/index.js +0 -66
  433. package/build/components/use-canvas-click-redirect/index.js.map +0 -1
  434. package/build-module/components/use-canvas-click-redirect/index.js +0 -54
  435. package/build-module/components/use-canvas-click-redirect/index.js.map +0 -1
  436. package/src/components/use-canvas-click-redirect/index.js +0 -57
package/CHANGELOG.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 8.1.0 (2022-01-27)
6
+
5
7
  ## 8.0.0 (2021-11-07)
6
8
 
7
9
  ### Performance
package/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Gutenberg
2
2
 
3
- Copyright 2016-2021 by the contributors
3
+ Copyright 2016-2022 by the contributors
4
4
 
5
5
  **License for Contributions (on and after April 15, 2021)**
6
6
 
package/README.md CHANGED
@@ -209,6 +209,10 @@ _Returns_
209
209
 
210
210
  - `WPElement`: Element.
211
211
 
212
+ ### BlockStyles
213
+
214
+ Undocumented declaration.
215
+
212
216
  ### BlockTitle
213
217
 
214
218
  Renders the block's configured title as a string, or empty if the title
@@ -658,7 +662,14 @@ _Returns_
658
662
 
659
663
  ### useBlockEditContext
660
664
 
661
- Undocumented declaration.
665
+ The `useBlockEditContext` hook provides information about the block this hook is being used in.
666
+ It returns an object with the `name`, `isSelected` state, and the `clientId` of the block.
667
+ It is useful if you want to create custom hooks that need access to the current blocks clientId
668
+ but don't want to rely on the data getting passed in as a parameter.
669
+
670
+ _Returns_
671
+
672
+ - `Object`: Block edit context
662
673
 
663
674
  ### useBlockProps
664
675
 
@@ -17,6 +17,8 @@ var _compose = require("@wordpress/compose");
17
17
 
18
18
  var _data = require("@wordpress/data");
19
19
 
20
+ var _blocks = require("@wordpress/blocks");
21
+
20
22
  var _styles = _interopRequireDefault(require("./styles.scss"));
21
23
 
22
24
  var _store = require("../../store");
@@ -65,15 +67,24 @@ var _default = (0, _compose.compose)([(0, _data.withSelect)((select, _ref2) => {
65
67
  } = _ref2;
66
68
  const {
67
69
  getBlockAttributes,
68
- getSelectedBlockClientId
70
+ getSelectedBlockClientId,
71
+ getBlockName,
72
+ getBlockRootClientId
69
73
  } = select(_store.store);
70
74
  const {
71
75
  caption
72
76
  } = getBlockAttributes(clientId) || {};
73
- const isBlockSelected = getSelectedBlockClientId() === clientId; // We'll render the caption so that the soft keyboard is not forced to close on Android
77
+ const isBlockSelected = getSelectedBlockClientId() === clientId; // Detect whether the block is an inner block by checking if it has a parent block.
78
+ // getBlockRootClientId() will return an empty string for all top-level blocks.
79
+ // If the block is an inner block, its parent may explicitly hide child block controls.
80
+ // See: https://github.com/wordpress-mobile/gutenberg-mobile/pull/4256
81
+
82
+ const parentId = getBlockRootClientId(clientId);
83
+ const parentBlockName = getBlockName(parentId);
84
+ const hideCaption = (0, _blocks.hasBlockSupport)(parentBlockName, '__experimentalHideChildBlockControls', false); // We'll render the caption so that the soft keyboard is not forced to close on Android
74
85
  // but still hide it by setting its display style to none. See wordpress-mobile/gutenberg-mobile#1221
75
86
 
76
- const shouldDisplay = !_blockEditor.RichText.isEmpty(caption) > 0 || isBlockSelected;
87
+ const shouldDisplay = !hideCaption && (!_blockEditor.RichText.isEmpty(caption) > 0 || isBlockSelected);
77
88
  return {
78
89
  shouldDisplay,
79
90
  text: caption
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-caption/index.native.js"],"names":["BlockCaption","accessible","accessibilityLabelCreator","onBlur","onChange","onFocus","isSelected","shouldDisplay","text","insertBlocksAfter","styles","container","padding","select","clientId","getBlockAttributes","getSelectedBlockClientId","blockEditorStore","caption","isBlockSelected","RichText","isEmpty","dispatch","updateBlockAttributes"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAKA;;AACA;;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAIA,MAAMA,YAAY,GAAG;AAAA,MAAE;AACtBC,IAAAA,UADsB;AAEtBC,IAAAA,yBAFsB;AAGtBC,IAAAA,MAHsB;AAItBC,IAAAA,QAJsB;AAKtBC,IAAAA,OALsB;AAMtBC,IAAAA,UANsB;AAOtBC,IAAAA,aAPsB;AAQtBC,IAAAA,IARsB;AAStBC,IAAAA;AATsB,GAAF;AAAA,SAWpB,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAG,CAAEC,gBAAOC,SAAT,EAAoBJ,aAAa,IAAIG,gBAAOE,OAA5C;AAAd,KACC,4BAAC,oBAAD;AACC,IAAA,yBAAyB,EAAGV,yBAD7B;AAEC,IAAA,UAAU,EAAGD,UAFd;AAGC,IAAA,UAAU,EAAGK,UAHd;AAIC,IAAA,MAAM,EAAGH,MAJV;AAKC,IAAA,QAAQ,EAAGC,QALZ;AAMC,IAAA,OAAO,EAAGC,OANX;AAOC,IAAA,aAAa,EAAGE,aAPjB;AAQC,IAAA,KAAK,EAAGC,IART;AASC,IAAA,iBAAiB,EAAGC;AATrB,IADD,CAXoB;AAAA,CAArB;;eA0Be,sBAAS,CACvB,sBAAY,CAAEI,MAAF,YAA4B;AAAA,MAAlB;AAAEC,IAAAA;AAAF,GAAkB;AACvC,QAAM;AAAEC,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,MAAmDH,MAAM,CAC9DI,YAD8D,CAA/D;AAGA,QAAM;AAAEC,IAAAA;AAAF,MAAcH,kBAAkB,CAAED,QAAF,CAAlB,IAAkC,EAAtD;AACA,QAAMK,eAAe,GAAGH,wBAAwB,OAAOF,QAAvD,CALuC,CAOvC;AACA;;AACA,QAAMP,aAAa,GAClB,CAAEa,sBAASC,OAAT,CAAkBH,OAAlB,CAAF,GAAgC,CAAhC,IAAqCC,eADtC;AAGA,SAAO;AACNZ,IAAAA,aADM;AAENC,IAAAA,IAAI,EAAEU;AAFA,GAAP;AAIA,CAhBD,CADuB,EAkBvB,wBAAc,CAAEI,QAAF,YAA8B;AAAA,MAAlB;AAAER,IAAAA;AAAF,GAAkB;AAC3C,QAAM;AAAES,IAAAA;AAAF,MAA4BD,QAAQ,CAAEL,YAAF,CAA1C;AACA,SAAO;AACNb,IAAAA,QAAQ,EAAIc,OAAF,IAAe;AACxBK,MAAAA,qBAAqB,CAAET,QAAF,EAAY;AAAEI,QAAAA;AAAF,OAAZ,CAArB;AACA;AAHK,GAAP;AAKA,CAPD,CAlBuB,CAAT,EA0BVlB,YA1BU,C","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Caption, RichText } from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockCaption = ( {\n\taccessible,\n\taccessibilityLabelCreator,\n\tonBlur,\n\tonChange,\n\tonFocus,\n\tisSelected,\n\tshouldDisplay,\n\ttext,\n\tinsertBlocksAfter,\n} ) => (\n\t<View style={ [ styles.container, shouldDisplay && styles.padding ] }>\n\t\t<Caption\n\t\t\taccessibilityLabelCreator={ accessibilityLabelCreator }\n\t\t\taccessible={ accessible }\n\t\t\tisSelected={ isSelected }\n\t\t\tonBlur={ onBlur }\n\t\t\tonChange={ onChange }\n\t\t\tonFocus={ onFocus }\n\t\t\tshouldDisplay={ shouldDisplay }\n\t\t\tvalue={ text }\n\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t/>\n\t</View>\n);\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlockAttributes, getSelectedBlockClientId } = select(\n\t\t\tblockEditorStore\n\t\t);\n\t\tconst { caption } = getBlockAttributes( clientId ) || {};\n\t\tconst isBlockSelected = getSelectedBlockClientId() === clientId;\n\n\t\t// We'll render the caption so that the soft keyboard is not forced to close on Android\n\t\t// but still hide it by setting its display style to none. See wordpress-mobile/gutenberg-mobile#1221\n\t\tconst shouldDisplay =\n\t\t\t! RichText.isEmpty( caption ) > 0 || isBlockSelected;\n\n\t\treturn {\n\t\t\tshouldDisplay,\n\t\t\ttext: caption,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId } ) => {\n\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\treturn {\n\t\t\tonChange: ( caption ) => {\n\t\t\t\tupdateBlockAttributes( clientId, { caption } );\n\t\t\t},\n\t\t};\n\t} ),\n] )( BlockCaption );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-caption/index.native.js"],"names":["BlockCaption","accessible","accessibilityLabelCreator","onBlur","onChange","onFocus","isSelected","shouldDisplay","text","insertBlocksAfter","styles","container","padding","select","clientId","getBlockAttributes","getSelectedBlockClientId","getBlockName","getBlockRootClientId","blockEditorStore","caption","isBlockSelected","parentId","parentBlockName","hideCaption","RichText","isEmpty","dispatch","updateBlockAttributes"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AAIA,MAAMA,YAAY,GAAG;AAAA,MAAE;AACtBC,IAAAA,UADsB;AAEtBC,IAAAA,yBAFsB;AAGtBC,IAAAA,MAHsB;AAItBC,IAAAA,QAJsB;AAKtBC,IAAAA,OALsB;AAMtBC,IAAAA,UANsB;AAOtBC,IAAAA,aAPsB;AAQtBC,IAAAA,IARsB;AAStBC,IAAAA;AATsB,GAAF;AAAA,SAWpB,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAG,CAAEC,gBAAOC,SAAT,EAAoBJ,aAAa,IAAIG,gBAAOE,OAA5C;AAAd,KACC,4BAAC,oBAAD;AACC,IAAA,yBAAyB,EAAGV,yBAD7B;AAEC,IAAA,UAAU,EAAGD,UAFd;AAGC,IAAA,UAAU,EAAGK,UAHd;AAIC,IAAA,MAAM,EAAGH,MAJV;AAKC,IAAA,QAAQ,EAAGC,QALZ;AAMC,IAAA,OAAO,EAAGC,OANX;AAOC,IAAA,aAAa,EAAGE,aAPjB;AAQC,IAAA,KAAK,EAAGC,IART;AASC,IAAA,iBAAiB,EAAGC;AATrB,IADD,CAXoB;AAAA,CAArB;;eA0Be,sBAAS,CACvB,sBAAY,CAAEI,MAAF,YAA4B;AAAA,MAAlB;AAAEC,IAAAA;AAAF,GAAkB;AACvC,QAAM;AACLC,IAAAA,kBADK;AAELC,IAAAA,wBAFK;AAGLC,IAAAA,YAHK;AAILC,IAAAA;AAJK,MAKFL,MAAM,CAAEM,YAAF,CALV;AAMA,QAAM;AAAEC,IAAAA;AAAF,MAAcL,kBAAkB,CAAED,QAAF,CAAlB,IAAkC,EAAtD;AACA,QAAMO,eAAe,GAAGL,wBAAwB,OAAOF,QAAvD,CARuC,CAUvC;AACA;AACA;AACA;;AACA,QAAMQ,QAAQ,GAAGJ,oBAAoB,CAAEJ,QAAF,CAArC;AACA,QAAMS,eAAe,GAAGN,YAAY,CAAEK,QAAF,CAApC;AAEA,QAAME,WAAW,GAAG,6BACnBD,eADmB,EAEnB,sCAFmB,EAGnB,KAHmB,CAApB,CAjBuC,CAuBvC;AACA;;AACA,QAAMhB,aAAa,GAClB,CAAEiB,WAAF,KACE,CAAEC,sBAASC,OAAT,CAAkBN,OAAlB,CAAF,GAAgC,CAAhC,IAAqCC,eADvC,CADD;AAIA,SAAO;AACNd,IAAAA,aADM;AAENC,IAAAA,IAAI,EAAEY;AAFA,GAAP;AAIA,CAjCD,CADuB,EAmCvB,wBAAc,CAAEO,QAAF,YAA8B;AAAA,MAAlB;AAAEb,IAAAA;AAAF,GAAkB;AAC3C,QAAM;AAAEc,IAAAA;AAAF,MAA4BD,QAAQ,CAAER,YAAF,CAA1C;AACA,SAAO;AACNf,IAAAA,QAAQ,EAAIgB,OAAF,IAAe;AACxBQ,MAAAA,qBAAqB,CAAEd,QAAF,EAAY;AAAEM,QAAAA;AAAF,OAAZ,CAArB;AACA;AAHK,GAAP;AAKA,CAPD,CAnCuB,CAAT,EA2CVpB,YA3CU,C","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Caption, RichText } from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { hasBlockSupport } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockCaption = ( {\n\taccessible,\n\taccessibilityLabelCreator,\n\tonBlur,\n\tonChange,\n\tonFocus,\n\tisSelected,\n\tshouldDisplay,\n\ttext,\n\tinsertBlocksAfter,\n} ) => (\n\t<View style={ [ styles.container, shouldDisplay && styles.padding ] }>\n\t\t<Caption\n\t\t\taccessibilityLabelCreator={ accessibilityLabelCreator }\n\t\t\taccessible={ accessible }\n\t\t\tisSelected={ isSelected }\n\t\t\tonBlur={ onBlur }\n\t\t\tonChange={ onChange }\n\t\t\tonFocus={ onFocus }\n\t\t\tshouldDisplay={ shouldDisplay }\n\t\t\tvalue={ text }\n\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t/>\n\t</View>\n);\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockAttributes,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlockName,\n\t\t\tgetBlockRootClientId,\n\t\t} = select( blockEditorStore );\n\t\tconst { caption } = getBlockAttributes( clientId ) || {};\n\t\tconst isBlockSelected = getSelectedBlockClientId() === clientId;\n\n\t\t// Detect whether the block is an inner block by checking if it has a parent block.\n\t\t// getBlockRootClientId() will return an empty string for all top-level blocks.\n\t\t// If the block is an inner block, its parent may explicitly hide child block controls.\n\t\t// See: https://github.com/wordpress-mobile/gutenberg-mobile/pull/4256\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst parentBlockName = getBlockName( parentId );\n\n\t\tconst hideCaption = hasBlockSupport(\n\t\t\tparentBlockName,\n\t\t\t'__experimentalHideChildBlockControls',\n\t\t\tfalse\n\t\t);\n\n\t\t// We'll render the caption so that the soft keyboard is not forced to close on Android\n\t\t// but still hide it by setting its display style to none. See wordpress-mobile/gutenberg-mobile#1221\n\t\tconst shouldDisplay =\n\t\t\t! hideCaption &&\n\t\t\t( ! RichText.isEmpty( caption ) > 0 || isBlockSelected );\n\n\t\treturn {\n\t\t\tshouldDisplay,\n\t\t\ttext: caption,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId } ) => {\n\t\tconst { updateBlockAttributes } = dispatch( blockEditorStore );\n\t\treturn {\n\t\t\tonChange: ( caption ) => {\n\t\t\t\tupdateBlockAttributes( clientId, { caption } );\n\t\t\t},\n\t\t};\n\t} ),\n] )( BlockCaption );\n"]}
@@ -26,6 +26,15 @@ var _context = require("./context");
26
26
  /**
27
27
  * Internal dependencies
28
28
  */
29
+
30
+ /**
31
+ * The `useBlockEditContext` hook provides information about the block this hook is being used in.
32
+ * It returns an object with the `name`, `isSelected` state, and the `clientId` of the block.
33
+ * It is useful if you want to create custom hooks that need access to the current blocks clientId
34
+ * but don't want to rely on the data getting passed in as a parameter.
35
+ *
36
+ * @return {Object} Block edit context
37
+ */
29
38
  function BlockEdit(props) {
30
39
  const {
31
40
  name,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-edit/index.js"],"names":["BlockEdit","props","name","isSelected","clientId","context","Object","values"],"mappings":";;;;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAMe,SAASA,SAAT,CAAoBC,KAApB,EAA4B;AAC1C,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,UAAR;AAAoBC,IAAAA;AAApB,MAAiCH,KAAvC;AACA,QAAMI,OAAO,GAAG;AACfH,IAAAA,IADe;AAEfC,IAAAA,UAFe;AAGfC,IAAAA;AAHe,GAAhB;AAKA,SACC,4BAAC,iCAAD,CACC;AACA;AACA;AAHD;AAIC,IAAA,KAAK,EAAG,sBAAS,MAAMC,OAAf,EAAwBC,MAAM,CAACC,MAAP,CAAeF,OAAf,CAAxB;AAJT,KAMC,4BAAC,aAAD,EAAWJ,KAAX,CAND,CADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Edit from './edit';\nimport { BlockEditContextProvider, useBlockEditContext } from './context';\n\nexport { useBlockEditContext };\n\nexport default function BlockEdit( props ) {\n\tconst { name, isSelected, clientId } = props;\n\tconst context = {\n\t\tname,\n\t\tisSelected,\n\t\tclientId,\n\t};\n\treturn (\n\t\t<BlockEditContextProvider\n\t\t\t// It is important to return the same object if props haven't\n\t\t\t// changed to avoid unnecessary rerenders.\n\t\t\t// See https://reactjs.org/docs/context.html#caveats.\n\t\t\tvalue={ useMemo( () => context, Object.values( context ) ) }\n\t\t>\n\t\t\t<Edit { ...props } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-edit/index.js"],"names":["BlockEdit","props","name","isSelected","clientId","context","Object","values"],"mappings":";;;;;;;;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGe,SAASA,SAAT,CAAoBC,KAApB,EAA4B;AAC1C,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,UAAR;AAAoBC,IAAAA;AAApB,MAAiCH,KAAvC;AACA,QAAMI,OAAO,GAAG;AACfH,IAAAA,IADe;AAEfC,IAAAA,UAFe;AAGfC,IAAAA;AAHe,GAAhB;AAKA,SACC,4BAAC,iCAAD,CACC;AACA;AACA;AAHD;AAIC,IAAA,KAAK,EAAG,sBAAS,MAAMC,OAAf,EAAwBC,MAAM,CAACC,MAAP,CAAeF,OAAf,CAAxB;AAJT,KAMC,4BAAC,aAAD,EAAWJ,KAAX,CAND,CADD;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Edit from './edit';\nimport { BlockEditContextProvider, useBlockEditContext } from './context';\n\n/**\n * The `useBlockEditContext` hook provides information about the block this hook is being used in.\n * It returns an object with the `name`, `isSelected` state, and the `clientId` of the block.\n * It is useful if you want to create custom hooks that need access to the current blocks clientId\n * but don't want to rely on the data getting passed in as a parameter.\n *\n * @return {Object} Block edit context\n */\nexport { useBlockEditContext };\n\nexport default function BlockEdit( props ) {\n\tconst { name, isSelected, clientId } = props;\n\tconst context = {\n\t\tname,\n\t\tisSelected,\n\t\tclientId,\n\t};\n\treturn (\n\t\t<BlockEditContextProvider\n\t\t\t// It is important to return the same object if props haven't\n\t\t\t// changed to avoid unnecessary rerenders.\n\t\t\t// See https://reactjs.org/docs/context.html#caveats.\n\t\t\tvalue={ useMemo( () => context, Object.values( context ) ) }\n\t\t>\n\t\t\t<Edit { ...props } />\n\t\t</BlockEditContextProvider>\n\t);\n}\n"]}
@@ -48,8 +48,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
48
48
  */
49
49
  const BlockInspector = _ref => {
50
50
  let {
51
- showNoBlockSelectedMessage = true,
52
- bubblesVirtually = true
51
+ showNoBlockSelectedMessage = true
53
52
  } = _ref;
54
53
  const {
55
54
  count,
@@ -118,8 +117,7 @@ const BlockInspector = _ref => {
118
117
  return (0, _element.createElement)(BlockInspectorSingleBlock, {
119
118
  clientId: selectedBlockClientId,
120
119
  blockName: blockType.name,
121
- hasBlockStyles: hasBlockStyles,
122
- bubblesVirtually: bubblesVirtually
120
+ hasBlockStyles: hasBlockStyles
123
121
  });
124
122
  };
125
123
 
@@ -127,8 +125,7 @@ const BlockInspectorSingleBlock = _ref2 => {
127
125
  let {
128
126
  clientId,
129
127
  blockName,
130
- hasBlockStyles,
131
- bubblesVirtually
128
+ hasBlockStyles
132
129
  } = _ref2;
133
130
  const blockInformation = (0, _useBlockDisplayInformation.default)(clientId);
134
131
  return (0, _element.createElement)("div", {
@@ -138,33 +135,25 @@ const BlockInspectorSingleBlock = _ref2 => {
138
135
  }), hasBlockStyles && (0, _element.createElement)("div", null, (0, _element.createElement)(_components.PanelBody, {
139
136
  title: (0, _i18n.__)('Styles')
140
137
  }, (0, _element.createElement)(_blockStyles.default, {
138
+ scope: "core/block-inspector",
141
139
  clientId: clientId
142
140
  }), (0, _blocks.hasBlockSupport)(blockName, 'defaultStylePicker', true) && (0, _element.createElement)(_defaultStylePicker.default, {
143
141
  blockName: blockName
144
- }))), (0, _element.createElement)(_inspectorControls.default.Slot, {
145
- bubblesVirtually: bubblesVirtually
146
- }), (0, _element.createElement)(_inspectorControls.default.Slot, {
142
+ }))), (0, _element.createElement)(_inspectorControls.default.Slot, null), (0, _element.createElement)(_inspectorControls.default.Slot, {
147
143
  __experimentalGroup: "typography",
148
- bubblesVirtually: bubblesVirtually,
149
144
  label: (0, _i18n.__)('Typography')
150
145
  }), (0, _element.createElement)(_inspectorControls.default.Slot, {
151
146
  __experimentalGroup: "dimensions",
152
- bubblesVirtually: bubblesVirtually,
153
147
  label: (0, _i18n.__)('Dimensions')
154
148
  }), (0, _element.createElement)(_inspectorControls.default.Slot, {
155
149
  __experimentalGroup: "border",
156
150
  label: (0, _i18n.__)('Border')
157
- }), (0, _element.createElement)("div", null, (0, _element.createElement)(AdvancedControls, {
158
- bubblesVirtually: bubblesVirtually
159
- })), (0, _element.createElement)(_skipToSelectedBlock.default, {
151
+ }), (0, _element.createElement)("div", null, (0, _element.createElement)(AdvancedControls, null)), (0, _element.createElement)(_skipToSelectedBlock.default, {
160
152
  key: "back"
161
153
  }));
162
154
  };
163
155
 
164
- const AdvancedControls = _ref3 => {
165
- let {
166
- bubblesVirtually
167
- } = _ref3;
156
+ const AdvancedControls = () => {
168
157
  const slot = (0, _components.__experimentalUseSlot)(_inspectorControls.InspectorAdvancedControls.slotName);
169
158
  const hasFills = Boolean(slot.fills && slot.fills.length);
170
159
 
@@ -177,8 +166,7 @@ const AdvancedControls = _ref3 => {
177
166
  title: (0, _i18n.__)('Advanced'),
178
167
  initialOpen: false
179
168
  }, (0, _element.createElement)(_inspectorControls.default.Slot, {
180
- __experimentalGroup: "advanced",
181
- bubblesVirtually: bubblesVirtually
169
+ __experimentalGroup: "advanced"
182
170
  }));
183
171
  };
184
172
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"names":["BlockInspector","showNoBlockSelectedMessage","bubblesVirtually","count","hasBlockStyles","selectedBlockName","selectedBlockClientId","blockType","select","getSelectedBlockClientId","getSelectedBlockCount","getBlockName","blockEditorStore","getBlockStyles","blocksStore","_selectedBlockClientId","_selectedBlockName","_blockType","blockStyles","length","isSelectedBlockUnregistered","name","BlockInspectorSingleBlock","clientId","blockName","blockInformation","AdvancedControls","slot","InspectorAdvancedControls","slotName","hasFills","Boolean","fills"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\t__experimentalUseSlot as useSlot,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from '../inspector-controls';\nimport BlockStyles from '../block-styles';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport DefaultStylePicker from '../default-style-picker';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockInspector = ( {\n\tshowNoBlockSelectedMessage = true,\n\tbubblesVirtually = true,\n} ) => {\n\tconst {\n\t\tcount,\n\t\thasBlockStyles,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t} = select( blockEditorStore );\n\t\tconst { getBlockStyles } = select( blocksStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\t\tconst blockStyles =\n\t\t\t_selectedBlockName && getBlockStyles( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\thasBlockStyles: blockStyles && blockStyles.length > 0,\n\t\t};\n\t}, [] );\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"typography\"\n\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"dimensions\"\n\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"border\"\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\treturn (\n\t\t<BlockInspectorSingleBlock\n\t\t\tclientId={ selectedBlockClientId }\n\t\t\tblockName={ blockType.name }\n\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t/>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( {\n\tclientId,\n\tblockName,\n\thasBlockStyles,\n\tbubblesVirtually,\n} ) => {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard { ...blockInformation } />\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<div>\n\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) && <DefaultStylePicker blockName={ blockName } /> }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<InspectorControls.Slot bubblesVirtually={ bubblesVirtually } />\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"typography\"\n\t\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"dimensions\"\n\t\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"border\"\n\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<AdvancedControls bubblesVirtually={ bubblesVirtually } />\n\t\t\t</div>\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\nconst AdvancedControls = ( { bubblesVirtually } ) => {\n\tconst slot = useSlot( InspectorAdvancedControls.slotName );\n\tconst hasFills = Boolean( slot.fills && slot.fills.length );\n\n\tif ( ! hasFills ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\tclassName=\"block-editor-block-inspector__advanced\"\n\t\t\ttitle={ __( 'Advanced' ) }\n\t\t\tinitialOpen={ false }\n\t\t>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"advanced\"\n\t\t\t\tbubblesVirtually={ bubblesVirtually }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n};\n\nexport default BlockInspector;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-inspector/index.js"],"names":["BlockInspector","showNoBlockSelectedMessage","count","hasBlockStyles","selectedBlockName","selectedBlockClientId","blockType","select","getSelectedBlockClientId","getSelectedBlockCount","getBlockName","blockEditorStore","getBlockStyles","blocksStore","_selectedBlockClientId","_selectedBlockName","_blockType","blockStyles","length","isSelectedBlockUnregistered","name","BlockInspectorSingleBlock","clientId","blockName","blockInformation","AdvancedControls","slot","InspectorAdvancedControls","slotName","hasFills","Boolean","fills"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tgetBlockType,\n\tgetUnregisteredTypeHandlerName,\n\thasBlockSupport,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\t__experimentalUseSlot as useSlot,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SkipToSelectedBlock from '../skip-to-selected-block';\nimport BlockCard from '../block-card';\nimport {\n\tdefault as InspectorControls,\n\tInspectorAdvancedControls,\n} from '../inspector-controls';\nimport BlockStyles from '../block-styles';\nimport MultiSelectionInspector from '../multi-selection-inspector';\nimport DefaultStylePicker from '../default-style-picker';\nimport BlockVariationTransforms from '../block-variation-transforms';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockInspector = ( { showNoBlockSelectedMessage = true } ) => {\n\tconst {\n\t\tcount,\n\t\thasBlockStyles,\n\t\tselectedBlockName,\n\t\tselectedBlockClientId,\n\t\tblockType,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetSelectedBlockCount,\n\t\t\tgetBlockName,\n\t\t} = select( blockEditorStore );\n\t\tconst { getBlockStyles } = select( blocksStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst _selectedBlockName =\n\t\t\t_selectedBlockClientId && getBlockName( _selectedBlockClientId );\n\t\tconst _blockType =\n\t\t\t_selectedBlockName && getBlockType( _selectedBlockName );\n\t\tconst blockStyles =\n\t\t\t_selectedBlockName && getBlockStyles( _selectedBlockName );\n\n\t\treturn {\n\t\t\tcount: getSelectedBlockCount(),\n\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\tselectedBlockName: _selectedBlockName,\n\t\t\tblockType: _blockType,\n\t\t\thasBlockStyles: blockStyles && blockStyles.length > 0,\n\t\t};\n\t}, [] );\n\n\tif ( count > 1 ) {\n\t\treturn (\n\t\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t\t<MultiSelectionInspector />\n\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"typography\"\n\t\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"dimensions\"\n\t\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t\t/>\n\t\t\t\t<InspectorControls.Slot\n\t\t\t\t\t__experimentalGroup=\"border\"\n\t\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst isSelectedBlockUnregistered =\n\t\tselectedBlockName === getUnregisteredTypeHandlerName();\n\n\t/*\n\t * If the selected block is of an unregistered type, avoid showing it as an actual selection\n\t * because we want the user to focus on the unregistered block warning, not block settings.\n\t */\n\tif (\n\t\t! blockType ||\n\t\t! selectedBlockClientId ||\n\t\tisSelectedBlockUnregistered\n\t) {\n\t\tif ( showNoBlockSelectedMessage ) {\n\t\t\treturn (\n\t\t\t\t<span className=\"block-editor-block-inspector__no-blocks\">\n\t\t\t\t\t{ __( 'No block selected.' ) }\n\t\t\t\t</span>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}\n\treturn (\n\t\t<BlockInspectorSingleBlock\n\t\t\tclientId={ selectedBlockClientId }\n\t\t\tblockName={ blockType.name }\n\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t/>\n\t);\n};\n\nconst BlockInspectorSingleBlock = ( {\n\tclientId,\n\tblockName,\n\thasBlockStyles,\n} ) => {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\treturn (\n\t\t<div className=\"block-editor-block-inspector\">\n\t\t\t<BlockCard { ...blockInformation } />\n\t\t\t<BlockVariationTransforms blockClientId={ clientId } />\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<div>\n\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t<BlockStyles\n\t\t\t\t\t\t\tscope=\"core/block-inspector\"\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) && <DefaultStylePicker blockName={ blockName } /> }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<InspectorControls.Slot />\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"typography\"\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"dimensions\"\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\t__experimentalGroup=\"border\"\n\t\t\t\tlabel={ __( 'Border' ) }\n\t\t\t/>\n\t\t\t<div>\n\t\t\t\t<AdvancedControls />\n\t\t\t</div>\n\t\t\t<SkipToSelectedBlock key=\"back\" />\n\t\t</div>\n\t);\n};\n\nconst AdvancedControls = () => {\n\tconst slot = useSlot( InspectorAdvancedControls.slotName );\n\tconst hasFills = Boolean( slot.fills && slot.fills.length );\n\n\tif ( ! hasFills ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PanelBody\n\t\t\tclassName=\"block-editor-block-inspector__advanced\"\n\t\t\ttitle={ __( 'Advanced' ) }\n\t\t\tinitialOpen={ false }\n\t\t>\n\t\t\t<InspectorControls.Slot __experimentalGroup=\"advanced\" />\n\t\t</PanelBody>\n\t);\n};\n\nexport default BlockInspector;\n"]}
@@ -9,8 +9,6 @@ exports.default = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
- var _lodash = require("lodash");
13
-
14
12
  var _classnames = _interopRequireDefault(require("classnames"));
15
13
 
16
14
  var _data = require("@wordpress/data");
@@ -36,7 +34,6 @@ var _store = require("../../store");
36
34
  */
37
35
  function BlockListAppender(_ref) {
38
36
  let {
39
- blockClientIds,
40
37
  rootClientId,
41
38
  canInsertDefaultBlock,
42
39
  isLocked,
@@ -56,11 +53,9 @@ function BlockListAppender(_ref) {
56
53
  // Prefer custom render prop if provided.
57
54
  appender = (0, _element.createElement)(CustomAppender, null);
58
55
  } else {
59
- const isDocumentAppender = !rootClientId;
60
- const isParentSelected = selectedBlockClientId === rootClientId;
61
- const isAnotherDefaultAppenderAlreadyDisplayed = selectedBlockClientId && !blockClientIds.includes(selectedBlockClientId);
56
+ const isParentSelected = selectedBlockClientId === rootClientId || !rootClientId && !selectedBlockClientId;
62
57
 
63
- if (!isDocumentAppender && !isParentSelected && (!selectedBlockClientId || isAnotherDefaultAppenderAlreadyDisplayed)) {
58
+ if (!isParentSelected) {
64
59
  return null;
65
60
  }
66
61
 
@@ -68,8 +63,7 @@ function BlockListAppender(_ref) {
68
63
  // Render the default block appender when renderAppender has not been
69
64
  // provided and the context supports use of the default appender.
70
65
  appender = (0, _element.createElement)(_defaultBlockAppender.default, {
71
- rootClientId: rootClientId,
72
- lastBlockClientId: (0, _lodash.last)(blockClientIds)
66
+ rootClientId: rootClientId
73
67
  });
74
68
  } else {
75
69
  // Fallback in the case no renderAppender has been provided and the
@@ -108,14 +102,12 @@ var _default = (0, _data.withSelect)((select, _ref2) => {
108
102
  rootClientId
109
103
  } = _ref2;
110
104
  const {
111
- getBlockOrder,
112
105
  canInsertBlockType,
113
106
  getTemplateLock,
114
107
  getSelectedBlockClientId
115
108
  } = select(_store.store);
116
109
  return {
117
110
  isLocked: !!getTemplateLock(rootClientId),
118
- blockClientIds: getBlockOrder(rootClientId),
119
111
  canInsertDefaultBlock: canInsertBlockType((0, _blocks.getDefaultBlockName)(), rootClientId),
120
112
  selectedBlockClientId: getSelectedBlockClientId()
121
113
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-list-appender/index.js"],"names":["BlockListAppender","blockClientIds","rootClientId","canInsertDefaultBlock","isLocked","renderAppender","CustomAppender","className","selectedBlockClientId","tagName","TagName","appender","isDocumentAppender","isParentSelected","isAnotherDefaultAppenderAlreadyDisplayed","includes","select","getBlockOrder","canInsertBlockType","getTemplateLock","getSelectedBlockClientId","blockEditorStore"],"mappings":";;;;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAKA;;AACA;;AACA;;AAjBA;AACA;AACA;;AAIA;AACA;AACA;;AAIA;AACA;AACA;AAKA,SAASA,iBAAT,OASI;AAAA,MATwB;AAC3BC,IAAAA,cAD2B;AAE3BC,IAAAA,YAF2B;AAG3BC,IAAAA,qBAH2B;AAI3BC,IAAAA,QAJ2B;AAK3BC,IAAAA,cAAc,EAAEC,cALW;AAM3BC,IAAAA,SAN2B;AAO3BC,IAAAA,qBAP2B;AAQ3BC,IAAAA,OAAO,EAAEC,OAAO,GAAG;AARQ,GASxB;;AACH,MAAKN,QAAQ,IAAIE,cAAc,KAAK,KAApC,EAA4C;AAC3C,WAAO,IAAP;AACA;;AAED,MAAIK,QAAJ;;AACA,MAAKL,cAAL,EAAsB;AACrB;AACAK,IAAAA,QAAQ,GAAG,4BAAC,cAAD,OAAX;AACA,GAHD,MAGO;AACN,UAAMC,kBAAkB,GAAG,CAAEV,YAA7B;AACA,UAAMW,gBAAgB,GAAGL,qBAAqB,KAAKN,YAAnD;AACA,UAAMY,wCAAwC,GAC7CN,qBAAqB,IACrB,CAAEP,cAAc,CAACc,QAAf,CAAyBP,qBAAzB,CAFH;;AAIA,QACC,CAAEI,kBAAF,IACA,CAAEC,gBADF,KAEE,CAAEL,qBAAF,IACDM,wCAHD,CADD,EAKE;AACD,aAAO,IAAP;AACA;;AAED,QAAKX,qBAAL,EAA6B;AAC5B;AACA;AACAQ,MAAAA,QAAQ,GACP,4BAAC,6BAAD;AACC,QAAA,YAAY,EAAGT,YADhB;AAEC,QAAA,iBAAiB,EAAG,kBAAMD,cAAN;AAFrB,QADD;AAMA,KATD,MASO;AACN;AACA;AACAU,MAAAA,QAAQ,GACP,4BAAC,4BAAD;AACC,QAAA,YAAY,EAAGT,YADhB;AAEC,QAAA,SAAS,EAAC;AAFX,QADD;AAMA;AACD;;AAED,SACC,4BAAC,OAAD,CACC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARD;AASC,IAAA,QAAQ,EAAG,CAAC,CATb;AAUC,IAAA,SAAS,EAAG,yBACX,8BADW,EAEXK,SAFW,CAVb,CAcC;AACA;AACA;AACA;AACA;AACA;AACA;AApBD;AAqBC;AArBD,KAuBGI,QAvBH,CADD;AA2BA;;eAEc,sBAAY,CAAEK,MAAF,YAAgC;AAAA,MAAtB;AAAEd,IAAAA;AAAF,GAAsB;AAC1D,QAAM;AACLe,IAAAA,aADK;AAELC,IAAAA,kBAFK;AAGLC,IAAAA,eAHK;AAILC,IAAAA;AAJK,MAKFJ,MAAM,CAAEK,YAAF,CALV;AAOA,SAAO;AACNjB,IAAAA,QAAQ,EAAE,CAAC,CAAEe,eAAe,CAAEjB,YAAF,CADtB;AAEND,IAAAA,cAAc,EAAEgB,aAAa,CAAEf,YAAF,CAFvB;AAGNC,IAAAA,qBAAqB,EAAEe,kBAAkB,CACxC,kCADwC,EAExChB,YAFwC,CAHnC;AAONM,IAAAA,qBAAqB,EAAEY,wBAAwB;AAPzC,GAAP;AASA,CAjBc,EAiBVpB,iBAjBU,C","sourcesContent":["/**\n * External dependencies\n */\nimport { last } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport DefaultBlockAppender from '../default-block-appender';\nimport ButtonBlockAppender from '../button-block-appender';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockListAppender( {\n\tblockClientIds,\n\trootClientId,\n\tcanInsertDefaultBlock,\n\tisLocked,\n\trenderAppender: CustomAppender,\n\tclassName,\n\tselectedBlockClientId,\n\ttagName: TagName = 'div',\n} ) {\n\tif ( isLocked || CustomAppender === false ) {\n\t\treturn null;\n\t}\n\n\tlet appender;\n\tif ( CustomAppender ) {\n\t\t// Prefer custom render prop if provided.\n\t\tappender = <CustomAppender />;\n\t} else {\n\t\tconst isDocumentAppender = ! rootClientId;\n\t\tconst isParentSelected = selectedBlockClientId === rootClientId;\n\t\tconst isAnotherDefaultAppenderAlreadyDisplayed =\n\t\t\tselectedBlockClientId &&\n\t\t\t! blockClientIds.includes( selectedBlockClientId );\n\n\t\tif (\n\t\t\t! isDocumentAppender &&\n\t\t\t! isParentSelected &&\n\t\t\t( ! selectedBlockClientId ||\n\t\t\t\tisAnotherDefaultAppenderAlreadyDisplayed )\n\t\t) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif ( canInsertDefaultBlock ) {\n\t\t\t// Render the default block appender when renderAppender has not been\n\t\t\t// provided and the context supports use of the default appender.\n\t\t\tappender = (\n\t\t\t\t<DefaultBlockAppender\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tlastBlockClientId={ last( blockClientIds ) }\n\t\t\t\t/>\n\t\t\t);\n\t\t} else {\n\t\t\t// Fallback in the case no renderAppender has been provided and the\n\t\t\t// default block can't be inserted.\n\t\t\tappender = (\n\t\t\t\t<ButtonBlockAppender\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclassName=\"block-list-appender__toggle\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t<TagName\n\t\t\t// A `tabIndex` is used on the wrapping `div` element in order to\n\t\t\t// force a focus event to occur when an appender `button` element\n\t\t\t// is clicked. In some browsers (Firefox, Safari), button clicks do\n\t\t\t// not emit a focus event, which could cause this event to propagate\n\t\t\t// unexpectedly. The `tabIndex` ensures that the interaction is\n\t\t\t// captured as a focus, without also adding an extra tab stop.\n\t\t\t//\n\t\t\t// See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n\t\t\ttabIndex={ -1 }\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-list-appender wp-block',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\t// The appender exists to let you add the first Paragraph before\n\t\t\t// any is inserted. To that end, this appender should visually be\n\t\t\t// presented as a block. That means theme CSS should style it as if\n\t\t\t// it were an empty paragraph block. That means a `wp-block` class to\n\t\t\t// ensure the width is correct, and a [data-block] attribute to ensure\n\t\t\t// the correct margin is applied, especially for classic themes which\n\t\t\t// have commonly targeted that attribute for margins.\n\t\t\tdata-block\n\t\t>\n\t\t\t{ appender }\n\t\t</TagName>\n\t);\n}\n\nexport default withSelect( ( select, { rootClientId } ) => {\n\tconst {\n\t\tgetBlockOrder,\n\t\tcanInsertBlockType,\n\t\tgetTemplateLock,\n\t\tgetSelectedBlockClientId,\n\t} = select( blockEditorStore );\n\n\treturn {\n\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\tblockClientIds: getBlockOrder( rootClientId ),\n\t\tcanInsertDefaultBlock: canInsertBlockType(\n\t\t\tgetDefaultBlockName(),\n\t\t\trootClientId\n\t\t),\n\t\tselectedBlockClientId: getSelectedBlockClientId(),\n\t};\n} )( BlockListAppender );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-list-appender/index.js"],"names":["BlockListAppender","rootClientId","canInsertDefaultBlock","isLocked","renderAppender","CustomAppender","className","selectedBlockClientId","tagName","TagName","appender","isParentSelected","select","canInsertBlockType","getTemplateLock","getSelectedBlockClientId","blockEditorStore"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AACA;;AAKA;;AACA;;AACA;;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AAKA,SAASA,iBAAT,OAQI;AAAA,MARwB;AAC3BC,IAAAA,YAD2B;AAE3BC,IAAAA,qBAF2B;AAG3BC,IAAAA,QAH2B;AAI3BC,IAAAA,cAAc,EAAEC,cAJW;AAK3BC,IAAAA,SAL2B;AAM3BC,IAAAA,qBAN2B;AAO3BC,IAAAA,OAAO,EAAEC,OAAO,GAAG;AAPQ,GAQxB;;AACH,MAAKN,QAAQ,IAAIE,cAAc,KAAK,KAApC,EAA4C;AAC3C,WAAO,IAAP;AACA;;AAED,MAAIK,QAAJ;;AACA,MAAKL,cAAL,EAAsB;AACrB;AACAK,IAAAA,QAAQ,GAAG,4BAAC,cAAD,OAAX;AACA,GAHD,MAGO;AACN,UAAMC,gBAAgB,GACrBJ,qBAAqB,KAAKN,YAA1B,IACE,CAAEA,YAAF,IAAkB,CAAEM,qBAFvB;;AAIA,QAAK,CAAEI,gBAAP,EAA0B;AACzB,aAAO,IAAP;AACA;;AAED,QAAKT,qBAAL,EAA6B;AAC5B;AACA;AACAQ,MAAAA,QAAQ,GAAG,4BAAC,6BAAD;AAAsB,QAAA,YAAY,EAAGT;AAArC,QAAX;AACA,KAJD,MAIO;AACN;AACA;AACAS,MAAAA,QAAQ,GACP,4BAAC,4BAAD;AACC,QAAA,YAAY,EAAGT,YADhB;AAEC,QAAA,SAAS,EAAC;AAFX,QADD;AAMA;AACD;;AAED,SACC,4BAAC,OAAD,CACC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARD;AASC,IAAA,QAAQ,EAAG,CAAC,CATb;AAUC,IAAA,SAAS,EAAG,yBACX,8BADW,EAEXK,SAFW,CAVb,CAcC;AACA;AACA;AACA;AACA;AACA;AACA;AApBD;AAqBC;AArBD,KAuBGI,QAvBH,CADD;AA2BA;;eAEc,sBAAY,CAAEE,MAAF,YAAgC;AAAA,MAAtB;AAAEX,IAAAA;AAAF,GAAsB;AAC1D,QAAM;AACLY,IAAAA,kBADK;AAELC,IAAAA,eAFK;AAGLC,IAAAA;AAHK,MAIFH,MAAM,CAAEI,YAAF,CAJV;AAMA,SAAO;AACNb,IAAAA,QAAQ,EAAE,CAAC,CAAEW,eAAe,CAAEb,YAAF,CADtB;AAENC,IAAAA,qBAAqB,EAAEW,kBAAkB,CACxC,kCADwC,EAExCZ,YAFwC,CAFnC;AAMNM,IAAAA,qBAAqB,EAAEQ,wBAAwB;AANzC,GAAP;AAQA,CAfc,EAeVf,iBAfU,C","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport DefaultBlockAppender from '../default-block-appender';\nimport ButtonBlockAppender from '../button-block-appender';\nimport { store as blockEditorStore } from '../../store';\n\nfunction BlockListAppender( {\n\trootClientId,\n\tcanInsertDefaultBlock,\n\tisLocked,\n\trenderAppender: CustomAppender,\n\tclassName,\n\tselectedBlockClientId,\n\ttagName: TagName = 'div',\n} ) {\n\tif ( isLocked || CustomAppender === false ) {\n\t\treturn null;\n\t}\n\n\tlet appender;\n\tif ( CustomAppender ) {\n\t\t// Prefer custom render prop if provided.\n\t\tappender = <CustomAppender />;\n\t} else {\n\t\tconst isParentSelected =\n\t\t\tselectedBlockClientId === rootClientId ||\n\t\t\t( ! rootClientId && ! selectedBlockClientId );\n\n\t\tif ( ! isParentSelected ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif ( canInsertDefaultBlock ) {\n\t\t\t// Render the default block appender when renderAppender has not been\n\t\t\t// provided and the context supports use of the default appender.\n\t\t\tappender = <DefaultBlockAppender rootClientId={ rootClientId } />;\n\t\t} else {\n\t\t\t// Fallback in the case no renderAppender has been provided and the\n\t\t\t// default block can't be inserted.\n\t\t\tappender = (\n\t\t\t\t<ButtonBlockAppender\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tclassName=\"block-list-appender__toggle\"\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\t}\n\n\treturn (\n\t\t<TagName\n\t\t\t// A `tabIndex` is used on the wrapping `div` element in order to\n\t\t\t// force a focus event to occur when an appender `button` element\n\t\t\t// is clicked. In some browsers (Firefox, Safari), button clicks do\n\t\t\t// not emit a focus event, which could cause this event to propagate\n\t\t\t// unexpectedly. The `tabIndex` ensures that the interaction is\n\t\t\t// captured as a focus, without also adding an extra tab stop.\n\t\t\t//\n\t\t\t// See: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button#Clicking_and_focus\n\t\t\ttabIndex={ -1 }\n\t\t\tclassName={ classnames(\n\t\t\t\t'block-list-appender wp-block',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\t// The appender exists to let you add the first Paragraph before\n\t\t\t// any is inserted. To that end, this appender should visually be\n\t\t\t// presented as a block. That means theme CSS should style it as if\n\t\t\t// it were an empty paragraph block. That means a `wp-block` class to\n\t\t\t// ensure the width is correct, and a [data-block] attribute to ensure\n\t\t\t// the correct margin is applied, especially for classic themes which\n\t\t\t// have commonly targeted that attribute for margins.\n\t\t\tdata-block\n\t\t>\n\t\t\t{ appender }\n\t\t</TagName>\n\t);\n}\n\nexport default withSelect( ( select, { rootClientId } ) => {\n\tconst {\n\t\tcanInsertBlockType,\n\t\tgetTemplateLock,\n\t\tgetSelectedBlockClientId,\n\t} = select( blockEditorStore );\n\n\treturn {\n\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\tcanInsertDefaultBlock: canInsertBlockType(\n\t\t\tgetDefaultBlockName(),\n\t\t\trootClientId\n\t\t),\n\t\tselectedBlockClientId: getSelectedBlockClientId(),\n\t};\n} )( BlockListAppender );\n"]}
@@ -331,7 +331,8 @@ class BlockMediaUpdateProgress extends _element.Component {
331
331
  }, showSpinner && (0, _element.createElement)(_reactNative.View, {
332
332
  style: _styles.default.progressBar
333
333
  }, (0, _element.createElement)(_components.Spinner, {
334
- progress: progress
334
+ progress: progress,
335
+ testID: "spinner"
335
336
  })), renderContent({
336
337
  isUploadInProgress,
337
338
  isUploadFailed,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-media-update-progress/index.native.js"],"names":["MEDIA_UPLOAD_STATE_UPLOADING","MEDIA_UPLOAD_STATE_SUCCEEDED","MEDIA_UPLOAD_STATE_FAILED","MEDIA_UPLOAD_STATE_RESET","MEDIA_SAVE_STATE_SAVING","MEDIA_SAVE_STATE_SUCCEEDED","MEDIA_SAVE_STATE_FAILED","MEDIA_SAVE_STATE_RESET","MEDIA_SAVE_FINAL_STATE_RESULT","MEDIA_SAVE_MEDIAID_CHANGED","BlockMediaUpdateProgress","Component","constructor","props","state","progress","isSaveInProgress","isSaveFailed","isUploadInProgress","isUploadFailed","mediaUpload","bind","mediaSave","componentDidMount","addMediaUploadListener","addMediaSaveListener","componentWillUnmount","removeMediaUploadListener","removeMediaSaveListener","mediaIdContainedInMediaFiles","mediaId","mediaFiles","undefined","some","element","id","toString","payload","updateMediaUploadProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","mediaUploadStateReset","updateMediaSaveProgress","finishMediaSaveWithSuccess","finishMediaSaveWithFailure","mediaSaveStateReset","finalSaveResult","mediaIdChanged","setState","onUpdateMediaSaveProgress","onFinishMediaSaveWithSuccess","onFinishMediaSaveWithFailure","onMediaSaveStateReset","success","onFinalSaveResult","onMediaIdChanged","onUpdateMediaUploadProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","subscriptionParentMediaUpload","remove","subscriptionParentMediaSave","render","renderContent","showSpinner","retryMessageSave","retryMessageUpload","retryMessage","styles","mediaUploadProgress","progressBar"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tsubscribeMediaUpload,\n\tsubscribeMediaSave,\n} from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nexport const MEDIA_UPLOAD_STATE_UPLOADING = 1;\nexport const MEDIA_UPLOAD_STATE_SUCCEEDED = 2;\nexport const MEDIA_UPLOAD_STATE_FAILED = 3;\nexport const MEDIA_UPLOAD_STATE_RESET = 4;\n\nexport const MEDIA_SAVE_STATE_SAVING = 5;\nexport const MEDIA_SAVE_STATE_SUCCEEDED = 6;\nexport const MEDIA_SAVE_STATE_FAILED = 7;\nexport const MEDIA_SAVE_STATE_RESET = 8;\nexport const MEDIA_SAVE_FINAL_STATE_RESULT = 9;\nexport const MEDIA_SAVE_MEDIAID_CHANGED = 10;\n\nexport class BlockMediaUpdateProgress extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tprogress: 0,\n\t\t\tisSaveInProgress: false,\n\t\t\tisSaveFailed: false,\n\t\t\tisUploadInProgress: false,\n\t\t\tisUploadFailed: false,\n\t\t};\n\n\t\tthis.mediaUpload = this.mediaUpload.bind( this );\n\t\tthis.mediaSave = this.mediaSave.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.addMediaUploadListener();\n\t\tthis.addMediaSaveListener();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.removeMediaUploadListener();\n\t\tthis.removeMediaSaveListener();\n\t}\n\n\tmediaIdContainedInMediaFiles( mediaId, mediaFiles ) {\n\t\tif ( mediaId !== undefined && mediaFiles !== undefined ) {\n\t\t\treturn mediaFiles.some(\n\t\t\t\t( element ) => element.id === mediaId.toString()\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t}\n\n\tmediaUpload( payload ) {\n\t\tconst { mediaFiles } = this.props;\n\n\t\tif (\n\t\t\tthis.mediaIdContainedInMediaFiles( payload.mediaId, mediaFiles ) ===\n\t\t\tfalse\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( payload.state ) {\n\t\t\tcase MEDIA_UPLOAD_STATE_UPLOADING:\n\t\t\t\tthis.updateMediaUploadProgress( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_UPLOAD_STATE_SUCCEEDED:\n\t\t\t\tthis.finishMediaUploadWithSuccess( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_UPLOAD_STATE_FAILED:\n\t\t\t\tthis.finishMediaUploadWithFailure( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_UPLOAD_STATE_RESET:\n\t\t\t\tthis.mediaUploadStateReset( payload );\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tmediaSave( payload ) {\n\t\tconst { mediaFiles } = this.props;\n\n\t\tif (\n\t\t\tthis.mediaIdContainedInMediaFiles( payload.mediaId, mediaFiles ) ===\n\t\t\tfalse\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( payload.state ) {\n\t\t\tcase MEDIA_SAVE_STATE_SAVING:\n\t\t\t\tthis.updateMediaSaveProgress( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_SAVE_STATE_SUCCEEDED:\n\t\t\t\tthis.finishMediaSaveWithSuccess( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_SAVE_STATE_FAILED:\n\t\t\t\tthis.finishMediaSaveWithFailure( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_SAVE_STATE_RESET:\n\t\t\t\tthis.mediaSaveStateReset( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_SAVE_FINAL_STATE_RESULT:\n\t\t\t\tthis.finalSaveResult( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_SAVE_MEDIAID_CHANGED:\n\t\t\t\tthis.mediaIdChanged( payload );\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t// ---- Block media save actions\n\tupdateMediaSaveProgress( payload ) {\n\t\tthis.setState( {\n\t\t\tprogress: payload.progress,\n\t\t\tisUploadInProgress: false,\n\t\t\tisUploadFailed: false,\n\t\t\tisSaveInProgress: true,\n\t\t\tisSaveFailed: false,\n\t\t} );\n\t\tif ( this.props.onUpdateMediaSaveProgress ) {\n\t\t\tthis.props.onUpdateMediaSaveProgress( payload );\n\t\t}\n\t}\n\n\tfinishMediaSaveWithSuccess( payload ) {\n\t\tthis.setState( { isSaveInProgress: false } );\n\t\tif ( this.props.onFinishMediaSaveWithSuccess ) {\n\t\t\tthis.props.onFinishMediaSaveWithSuccess( payload );\n\t\t}\n\t}\n\n\tfinishMediaSaveWithFailure( payload ) {\n\t\tthis.setState( { isSaveInProgress: false, isSaveFailed: true } );\n\t\tif ( this.props.onFinishMediaSaveWithFailure ) {\n\t\t\tthis.props.onFinishMediaSaveWithFailure( payload );\n\t\t}\n\t}\n\n\tmediaSaveStateReset( payload ) {\n\t\tthis.setState( { isSaveInProgress: false, isSaveFailed: false } );\n\t\tif ( this.props.onMediaSaveStateReset ) {\n\t\t\tthis.props.onMediaSaveStateReset( payload );\n\t\t}\n\t}\n\n\tfinalSaveResult( payload ) {\n\t\tthis.setState( {\n\t\t\tprogress: payload.progress,\n\t\t\tisUploadInProgress: false,\n\t\t\tisUploadFailed: false,\n\t\t\tisSaveInProgress: false,\n\t\t\tisSaveFailed: ! payload.success,\n\t\t} );\n\t\tif ( this.props.onFinalSaveResult ) {\n\t\t\tthis.props.onFinalSaveResult( payload );\n\t\t}\n\t}\n\n\tmediaIdChanged( payload ) {\n\t\tthis.setState( {\n\t\t\tisUploadInProgress: false,\n\t\t\tisUploadFailed: false,\n\t\t\tisSaveInProgress: false,\n\t\t\tisSaveFailed: false,\n\t\t} );\n\t\tif ( this.props.onMediaIdChanged ) {\n\t\t\tthis.props.onMediaIdChanged( payload );\n\t\t}\n\t}\n\n\t// ---- Block media upload actions\n\tupdateMediaUploadProgress( payload ) {\n\t\tthis.setState( {\n\t\t\tprogress: payload.progress,\n\t\t\tisUploadInProgress: true,\n\t\t\tisUploadFailed: false,\n\t\t\tisSaveInProgress: false,\n\t\t\tisSaveFailed: false,\n\t\t} );\n\t\tif ( this.props.onUpdateMediaUploadProgress ) {\n\t\t\tthis.props.onUpdateMediaUploadProgress( payload );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tthis.setState( { isUploadInProgress: false, isSaveInProgress: false } );\n\t\tif ( this.props.onFinishMediaUploadWithSuccess ) {\n\t\t\tthis.props.onFinishMediaUploadWithSuccess( payload );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tthis.setState( { isUploadInProgress: false, isUploadFailed: true } );\n\t\tif ( this.props.onFinishMediaUploadWithFailure ) {\n\t\t\tthis.props.onFinishMediaUploadWithFailure( payload );\n\t\t}\n\t}\n\n\tmediaUploadStateReset( payload ) {\n\t\tthis.setState( { isUploadInProgress: false, isUploadFailed: false } );\n\t\tif ( this.props.onMediaUploadStateReset ) {\n\t\t\tthis.props.onMediaUploadStateReset( payload );\n\t\t}\n\t}\n\n\taddMediaUploadListener() {\n\t\t//if we already have a subscription not worth doing it again\n\t\tif ( this.subscriptionParentMediaUpload ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.subscriptionParentMediaUpload = subscribeMediaUpload(\n\t\t\t( payload ) => {\n\t\t\t\tthis.mediaUpload( payload );\n\t\t\t}\n\t\t);\n\t}\n\n\tremoveMediaUploadListener() {\n\t\tif ( this.subscriptionParentMediaUpload ) {\n\t\t\tthis.subscriptionParentMediaUpload.remove();\n\t\t}\n\t}\n\n\taddMediaSaveListener() {\n\t\t//if we already have a subscription not worth doing it again\n\t\tif ( this.subscriptionParentMediaSave ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.subscriptionParentMediaSave = subscribeMediaSave( ( payload ) => {\n\t\t\tthis.mediaSave( payload );\n\t\t} );\n\t}\n\n\tremoveMediaSaveListener() {\n\t\tif ( this.subscriptionParentMediaSave ) {\n\t\t\tthis.subscriptionParentMediaSave.remove();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { renderContent = () => null } = this.props;\n\t\tconst {\n\t\t\tisUploadInProgress,\n\t\t\tisUploadFailed,\n\t\t\tisSaveInProgress,\n\t\t\tisSaveFailed,\n\t\t} = this.state;\n\t\tconst showSpinner =\n\t\t\tthis.state.isUploadInProgress || this.state.isSaveInProgress;\n\t\tconst progress = this.state.progress * 100;\n\t\t// eslint-disable-next-line @wordpress/i18n-no-collapsible-whitespace\n\t\tconst retryMessageSave = __(\n\t\t\t'Failed to save files.\\nPlease tap for options.'\n\t\t);\n\t\t// eslint-disable-next-line @wordpress/i18n-no-collapsible-whitespace\n\t\tconst retryMessageUpload = __(\n\t\t\t'Failed to upload files.\\nPlease tap for options.'\n\t\t);\n\t\tlet retryMessage = retryMessageSave;\n\t\tif ( isUploadFailed ) {\n\t\t\tretryMessage = retryMessageUpload;\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ styles.mediaUploadProgress } pointerEvents=\"box-none\">\n\t\t\t\t{ showSpinner && (\n\t\t\t\t\t<View style={ styles.progressBar }>\n\t\t\t\t\t\t<Spinner progress={ progress } />\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t\t{ renderContent( {\n\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\tisUploadFailed,\n\t\t\t\t\tisSaveInProgress,\n\t\t\t\t\tisSaveFailed,\n\t\t\t\t\tretryMessage,\n\t\t\t\t} ) }\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nexport default BlockMediaUpdateProgress;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-media-update-progress/index.native.js"],"names":["MEDIA_UPLOAD_STATE_UPLOADING","MEDIA_UPLOAD_STATE_SUCCEEDED","MEDIA_UPLOAD_STATE_FAILED","MEDIA_UPLOAD_STATE_RESET","MEDIA_SAVE_STATE_SAVING","MEDIA_SAVE_STATE_SUCCEEDED","MEDIA_SAVE_STATE_FAILED","MEDIA_SAVE_STATE_RESET","MEDIA_SAVE_FINAL_STATE_RESULT","MEDIA_SAVE_MEDIAID_CHANGED","BlockMediaUpdateProgress","Component","constructor","props","state","progress","isSaveInProgress","isSaveFailed","isUploadInProgress","isUploadFailed","mediaUpload","bind","mediaSave","componentDidMount","addMediaUploadListener","addMediaSaveListener","componentWillUnmount","removeMediaUploadListener","removeMediaSaveListener","mediaIdContainedInMediaFiles","mediaId","mediaFiles","undefined","some","element","id","toString","payload","updateMediaUploadProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","mediaUploadStateReset","updateMediaSaveProgress","finishMediaSaveWithSuccess","finishMediaSaveWithFailure","mediaSaveStateReset","finalSaveResult","mediaIdChanged","setState","onUpdateMediaSaveProgress","onFinishMediaSaveWithSuccess","onFinishMediaSaveWithFailure","onMediaSaveStateReset","success","onFinalSaveResult","onMediaIdChanged","onUpdateMediaUploadProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","subscriptionParentMediaUpload","remove","subscriptionParentMediaSave","render","renderContent","showSpinner","retryMessageSave","retryMessageUpload","retryMessage","styles","mediaUploadProgress","progressBar"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tsubscribeMediaUpload,\n\tsubscribeMediaSave,\n} from '@wordpress/react-native-bridge';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\n\nexport const MEDIA_UPLOAD_STATE_UPLOADING = 1;\nexport const MEDIA_UPLOAD_STATE_SUCCEEDED = 2;\nexport const MEDIA_UPLOAD_STATE_FAILED = 3;\nexport const MEDIA_UPLOAD_STATE_RESET = 4;\n\nexport const MEDIA_SAVE_STATE_SAVING = 5;\nexport const MEDIA_SAVE_STATE_SUCCEEDED = 6;\nexport const MEDIA_SAVE_STATE_FAILED = 7;\nexport const MEDIA_SAVE_STATE_RESET = 8;\nexport const MEDIA_SAVE_FINAL_STATE_RESULT = 9;\nexport const MEDIA_SAVE_MEDIAID_CHANGED = 10;\n\nexport class BlockMediaUpdateProgress extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tprogress: 0,\n\t\t\tisSaveInProgress: false,\n\t\t\tisSaveFailed: false,\n\t\t\tisUploadInProgress: false,\n\t\t\tisUploadFailed: false,\n\t\t};\n\n\t\tthis.mediaUpload = this.mediaUpload.bind( this );\n\t\tthis.mediaSave = this.mediaSave.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.addMediaUploadListener();\n\t\tthis.addMediaSaveListener();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.removeMediaUploadListener();\n\t\tthis.removeMediaSaveListener();\n\t}\n\n\tmediaIdContainedInMediaFiles( mediaId, mediaFiles ) {\n\t\tif ( mediaId !== undefined && mediaFiles !== undefined ) {\n\t\t\treturn mediaFiles.some(\n\t\t\t\t( element ) => element.id === mediaId.toString()\n\t\t\t);\n\t\t}\n\t\treturn false;\n\t}\n\n\tmediaUpload( payload ) {\n\t\tconst { mediaFiles } = this.props;\n\n\t\tif (\n\t\t\tthis.mediaIdContainedInMediaFiles( payload.mediaId, mediaFiles ) ===\n\t\t\tfalse\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( payload.state ) {\n\t\t\tcase MEDIA_UPLOAD_STATE_UPLOADING:\n\t\t\t\tthis.updateMediaUploadProgress( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_UPLOAD_STATE_SUCCEEDED:\n\t\t\t\tthis.finishMediaUploadWithSuccess( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_UPLOAD_STATE_FAILED:\n\t\t\t\tthis.finishMediaUploadWithFailure( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_UPLOAD_STATE_RESET:\n\t\t\t\tthis.mediaUploadStateReset( payload );\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\tmediaSave( payload ) {\n\t\tconst { mediaFiles } = this.props;\n\n\t\tif (\n\t\t\tthis.mediaIdContainedInMediaFiles( payload.mediaId, mediaFiles ) ===\n\t\t\tfalse\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tswitch ( payload.state ) {\n\t\t\tcase MEDIA_SAVE_STATE_SAVING:\n\t\t\t\tthis.updateMediaSaveProgress( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_SAVE_STATE_SUCCEEDED:\n\t\t\t\tthis.finishMediaSaveWithSuccess( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_SAVE_STATE_FAILED:\n\t\t\t\tthis.finishMediaSaveWithFailure( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_SAVE_STATE_RESET:\n\t\t\t\tthis.mediaSaveStateReset( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_SAVE_FINAL_STATE_RESULT:\n\t\t\t\tthis.finalSaveResult( payload );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_SAVE_MEDIAID_CHANGED:\n\t\t\t\tthis.mediaIdChanged( payload );\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\t// ---- Block media save actions\n\tupdateMediaSaveProgress( payload ) {\n\t\tthis.setState( {\n\t\t\tprogress: payload.progress,\n\t\t\tisUploadInProgress: false,\n\t\t\tisUploadFailed: false,\n\t\t\tisSaveInProgress: true,\n\t\t\tisSaveFailed: false,\n\t\t} );\n\t\tif ( this.props.onUpdateMediaSaveProgress ) {\n\t\t\tthis.props.onUpdateMediaSaveProgress( payload );\n\t\t}\n\t}\n\n\tfinishMediaSaveWithSuccess( payload ) {\n\t\tthis.setState( { isSaveInProgress: false } );\n\t\tif ( this.props.onFinishMediaSaveWithSuccess ) {\n\t\t\tthis.props.onFinishMediaSaveWithSuccess( payload );\n\t\t}\n\t}\n\n\tfinishMediaSaveWithFailure( payload ) {\n\t\tthis.setState( { isSaveInProgress: false, isSaveFailed: true } );\n\t\tif ( this.props.onFinishMediaSaveWithFailure ) {\n\t\t\tthis.props.onFinishMediaSaveWithFailure( payload );\n\t\t}\n\t}\n\n\tmediaSaveStateReset( payload ) {\n\t\tthis.setState( { isSaveInProgress: false, isSaveFailed: false } );\n\t\tif ( this.props.onMediaSaveStateReset ) {\n\t\t\tthis.props.onMediaSaveStateReset( payload );\n\t\t}\n\t}\n\n\tfinalSaveResult( payload ) {\n\t\tthis.setState( {\n\t\t\tprogress: payload.progress,\n\t\t\tisUploadInProgress: false,\n\t\t\tisUploadFailed: false,\n\t\t\tisSaveInProgress: false,\n\t\t\tisSaveFailed: ! payload.success,\n\t\t} );\n\t\tif ( this.props.onFinalSaveResult ) {\n\t\t\tthis.props.onFinalSaveResult( payload );\n\t\t}\n\t}\n\n\tmediaIdChanged( payload ) {\n\t\tthis.setState( {\n\t\t\tisUploadInProgress: false,\n\t\t\tisUploadFailed: false,\n\t\t\tisSaveInProgress: false,\n\t\t\tisSaveFailed: false,\n\t\t} );\n\t\tif ( this.props.onMediaIdChanged ) {\n\t\t\tthis.props.onMediaIdChanged( payload );\n\t\t}\n\t}\n\n\t// ---- Block media upload actions\n\tupdateMediaUploadProgress( payload ) {\n\t\tthis.setState( {\n\t\t\tprogress: payload.progress,\n\t\t\tisUploadInProgress: true,\n\t\t\tisUploadFailed: false,\n\t\t\tisSaveInProgress: false,\n\t\t\tisSaveFailed: false,\n\t\t} );\n\t\tif ( this.props.onUpdateMediaUploadProgress ) {\n\t\t\tthis.props.onUpdateMediaUploadProgress( payload );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tthis.setState( { isUploadInProgress: false, isSaveInProgress: false } );\n\t\tif ( this.props.onFinishMediaUploadWithSuccess ) {\n\t\t\tthis.props.onFinishMediaUploadWithSuccess( payload );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tthis.setState( { isUploadInProgress: false, isUploadFailed: true } );\n\t\tif ( this.props.onFinishMediaUploadWithFailure ) {\n\t\t\tthis.props.onFinishMediaUploadWithFailure( payload );\n\t\t}\n\t}\n\n\tmediaUploadStateReset( payload ) {\n\t\tthis.setState( { isUploadInProgress: false, isUploadFailed: false } );\n\t\tif ( this.props.onMediaUploadStateReset ) {\n\t\t\tthis.props.onMediaUploadStateReset( payload );\n\t\t}\n\t}\n\n\taddMediaUploadListener() {\n\t\t//if we already have a subscription not worth doing it again\n\t\tif ( this.subscriptionParentMediaUpload ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.subscriptionParentMediaUpload = subscribeMediaUpload(\n\t\t\t( payload ) => {\n\t\t\t\tthis.mediaUpload( payload );\n\t\t\t}\n\t\t);\n\t}\n\n\tremoveMediaUploadListener() {\n\t\tif ( this.subscriptionParentMediaUpload ) {\n\t\t\tthis.subscriptionParentMediaUpload.remove();\n\t\t}\n\t}\n\n\taddMediaSaveListener() {\n\t\t//if we already have a subscription not worth doing it again\n\t\tif ( this.subscriptionParentMediaSave ) {\n\t\t\treturn;\n\t\t}\n\t\tthis.subscriptionParentMediaSave = subscribeMediaSave( ( payload ) => {\n\t\t\tthis.mediaSave( payload );\n\t\t} );\n\t}\n\n\tremoveMediaSaveListener() {\n\t\tif ( this.subscriptionParentMediaSave ) {\n\t\t\tthis.subscriptionParentMediaSave.remove();\n\t\t}\n\t}\n\n\trender() {\n\t\tconst { renderContent = () => null } = this.props;\n\t\tconst {\n\t\t\tisUploadInProgress,\n\t\t\tisUploadFailed,\n\t\t\tisSaveInProgress,\n\t\t\tisSaveFailed,\n\t\t} = this.state;\n\t\tconst showSpinner =\n\t\t\tthis.state.isUploadInProgress || this.state.isSaveInProgress;\n\t\tconst progress = this.state.progress * 100;\n\t\t// eslint-disable-next-line @wordpress/i18n-no-collapsible-whitespace\n\t\tconst retryMessageSave = __(\n\t\t\t'Failed to save files.\\nPlease tap for options.'\n\t\t);\n\t\t// eslint-disable-next-line @wordpress/i18n-no-collapsible-whitespace\n\t\tconst retryMessageUpload = __(\n\t\t\t'Failed to upload files.\\nPlease tap for options.'\n\t\t);\n\t\tlet retryMessage = retryMessageSave;\n\t\tif ( isUploadFailed ) {\n\t\t\tretryMessage = retryMessageUpload;\n\t\t}\n\n\t\treturn (\n\t\t\t<View style={ styles.mediaUploadProgress } pointerEvents=\"box-none\">\n\t\t\t\t{ showSpinner && (\n\t\t\t\t\t<View style={ styles.progressBar }>\n\t\t\t\t\t\t<Spinner progress={ progress } testID=\"spinner\" />\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t\t{ renderContent( {\n\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\tisUploadFailed,\n\t\t\t\t\tisSaveInProgress,\n\t\t\t\t\tisSaveFailed,\n\t\t\t\t\tretryMessage,\n\t\t\t\t} ) }\n\t\t\t</View>\n\t\t);\n\t}\n}\n\nexport default BlockMediaUpdateProgress;\n"]}
@@ -45,8 +45,15 @@ function AutoBlockPreview(_ref) {
45
45
  const [contentResizeListener, {
46
46
  height: contentHeight
47
47
  }] = (0, _compose.useResizeObserver)();
48
- const styles = (0, _data.useSelect)(select => {
49
- return select(_store.store).getSettings().styles;
48
+ const {
49
+ styles,
50
+ assets
51
+ } = (0, _data.useSelect)(select => {
52
+ const settings = select(_store.store).getSettings();
53
+ return {
54
+ styles: settings.styles,
55
+ assets: settings.__unstableResolvedAssets
56
+ };
50
57
  }, []); // Avoid scrollbars for pattern previews.
51
58
 
52
59
  const editorStyles = (0, _element.useMemo)(() => {
@@ -75,6 +82,7 @@ function AutoBlockPreview(_ref) {
75
82
  head: (0, _element.createElement)(_editorStyles.default, {
76
83
  styles: editorStyles
77
84
  }),
85
+ assets: assets,
78
86
  contentRef: (0, _compose.useRefEffect)(bodyElement => {
79
87
  const {
80
88
  ownerDocument: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-preview/auto.js"],"names":["MemoizedBlockList","MAX_HEIGHT","AutoBlockPreview","viewportWidth","__experimentalPadding","containerResizeListener","width","containerWidth","contentResizeListener","height","contentHeight","styles","select","store","getSettings","editorStyles","css","__unstableType","BlockList","scale","transform","maxHeight","undefined","bodyElement","ownerDocument","documentElement","classList","add","style","position","padding","pointerEvents"],"mappings":";;;;;;;;;AAMA;;AAHA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AAdA;AACA;AACA;;AAMA;AACA;AACA;AAMA;AACA,IAAIA,iBAAJ;AAEA,MAAMC,UAAU,GAAG,IAAnB;;AAEA,SAASC,gBAAT,OAAsE;AAAA,MAA3C;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,GAA2C;AACrE,QAAM,CACLC,uBADK,EAEL;AAAEC,IAAAA,KAAK,EAAEC;AAAT,GAFK,IAGF,iCAHJ;AAIA,QAAM,CACLC,qBADK,EAEL;AAAEC,IAAAA,MAAM,EAAEC;AAAV,GAFK,IAGF,iCAHJ;AAIA,QAAMC,MAAM,GAAG,qBAAaC,MAAF,IAAc;AACvC,WAAOA,MAAM,CAAEC,YAAF,CAAN,CAAgBC,WAAhB,GAA8BH,MAArC;AACA,GAFc,EAEZ,EAFY,CAAf,CATqE,CAarE;;AACA,QAAMI,YAAY,GAAG,sBAAS,MAAM;AACnC,QAAKJ,MAAL,EAAc;AACb,aAAO,CACN,GAAGA,MADG,EAEN;AACCK,QAAAA,GAAG,EAAE,oCADN;AAECC,QAAAA,cAAc,EAAE;AAFjB,OAFM,CAAP;AAOA;;AAED,WAAON,MAAP;AACA,GAZoB,EAYlB,CAAEA,MAAF,CAZkB,CAArB,CAdqE,CA4BrE;;AACAX,EAAAA,iBAAiB,GAAGA,iBAAiB,IAAI,mBAAMkB,kBAAN,CAAzC;AAEA,QAAMC,KAAK,GAAGZ,cAAc,GAAGJ,aAA/B;AAEA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGE,uBADH,EAEC,4BAAC,oBAAD;AACC,IAAA,SAAS,EAAC,qCADX;AAEC,IAAA,KAAK,EAAG;AACPe,MAAAA,SAAS,EAAG,SAASD,KAAO,GADrB;AAEPV,MAAAA,MAAM,EAAEC,aAAa,GAAGS,KAFjB;AAGPE,MAAAA,SAAS,EACRX,aAAa,GAAGT,UAAhB,GACGA,UAAU,GAAGkB,KADhB,GAEGG;AANG;AAFT,KAWC,4BAAC,eAAD;AACC,IAAA,IAAI,EAAG,4BAAC,qBAAD;AAAc,MAAA,MAAM,EAAGP;AAAvB,MADR;AAEC,IAAA,UAAU,EAAG,2BAAgBQ,WAAF,IAAmB;AAC7C,YAAM;AACLC,QAAAA,aAAa,EAAE;AAAEC,UAAAA;AAAF;AADV,UAEFF,WAFJ;AAGAE,MAAAA,eAAe,CAACC,SAAhB,CAA0BC,GAA1B,CACC,4CADD;AAGAF,MAAAA,eAAe,CAACG,KAAhB,CAAsBC,QAAtB,GAAiC,UAAjC;AACAJ,MAAAA,eAAe,CAACG,KAAhB,CAAsBtB,KAAtB,GAA8B,MAA9B;AACAiB,MAAAA,WAAW,CAACK,KAAZ,CAAkBE,OAAlB,GACC1B,qBAAqB,GAAG,IADzB;AAEA,KAXY,EAWV,EAXU,CAFd;AAcC,uBAdD;AAeC,IAAA,QAAQ,EAAG,CAAC,CAfb;AAgBC,IAAA,KAAK,EAAG;AACPyB,MAAAA,QAAQ,EAAE,UADH;AAEPvB,MAAAA,KAAK,EAAEH,aAFA;AAGPM,MAAAA,MAAM,EAAEC,aAHD;AAIPqB,MAAAA,aAAa,EAAE,MAJR;AAKP;AACA;AACAV,MAAAA,SAAS,EAAEpB;AAPJ;AAhBT,KA0BGO,qBA1BH,EA2BC,4BAAC,iBAAD;AAAmB,IAAA,cAAc,EAAG;AAApC,IA3BD,CAXD,CAFD,CADD;AA8CA;;eAEcN,gB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Disabled } from '@wordpress/components';\nimport { useResizeObserver, pure, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport Iframe from '../iframe';\nimport EditorStyles from '../editor-styles';\nimport { store } from '../../store';\n\n// This is used to avoid rendering the block list if the sizes change.\nlet MemoizedBlockList;\n\nconst MAX_HEIGHT = 2000;\n\nfunction AutoBlockPreview( { viewportWidth, __experimentalPadding } ) {\n\tconst [\n\t\tcontainerResizeListener,\n\t\t{ width: containerWidth },\n\t] = useResizeObserver();\n\tconst [\n\t\tcontentResizeListener,\n\t\t{ height: contentHeight },\n\t] = useResizeObserver();\n\tconst styles = useSelect( ( select ) => {\n\t\treturn select( store ).getSettings().styles;\n\t}, [] );\n\n\t// Avoid scrollbars for pattern previews.\n\tconst editorStyles = useMemo( () => {\n\t\tif ( styles ) {\n\t\t\treturn [\n\t\t\t\t...styles,\n\t\t\t\t{\n\t\t\t\t\tcss: 'body{height:auto;overflow:hidden;}',\n\t\t\t\t\t__unstableType: 'presets',\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\treturn styles;\n\t}, [ styles ] );\n\n\t// Initialize on render instead of module top level, to avoid circular dependency issues.\n\tMemoizedBlockList = MemoizedBlockList || pure( BlockList );\n\n\tconst scale = containerWidth / viewportWidth;\n\n\treturn (\n\t\t<div className=\"block-editor-block-preview__container\">\n\t\t\t{ containerResizeListener }\n\t\t\t<Disabled\n\t\t\t\tclassName=\"block-editor-block-preview__content\"\n\t\t\t\tstyle={ {\n\t\t\t\t\ttransform: `scale(${ scale })`,\n\t\t\t\t\theight: contentHeight * scale,\n\t\t\t\t\tmaxHeight:\n\t\t\t\t\t\tcontentHeight > MAX_HEIGHT\n\t\t\t\t\t\t\t? MAX_HEIGHT * scale\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<Iframe\n\t\t\t\t\thead={ <EditorStyles styles={ editorStyles } /> }\n\t\t\t\t\tcontentRef={ useRefEffect( ( bodyElement ) => {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\townerDocument: { documentElement },\n\t\t\t\t\t\t} = bodyElement;\n\t\t\t\t\t\tdocumentElement.classList.add(\n\t\t\t\t\t\t\t'block-editor-block-preview__content-iframe'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdocumentElement.style.position = 'absolute';\n\t\t\t\t\t\tdocumentElement.style.width = '100%';\n\t\t\t\t\t\tbodyElement.style.padding =\n\t\t\t\t\t\t\t__experimentalPadding + 'px';\n\t\t\t\t\t}, [] ) }\n\t\t\t\t\taria-hidden\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\twidth: viewportWidth,\n\t\t\t\t\t\theight: contentHeight,\n\t\t\t\t\t\tpointerEvents: 'none',\n\t\t\t\t\t\t// This is a catch-all max-height for patterns.\n\t\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/38175.\n\t\t\t\t\t\tmaxHeight: MAX_HEIGHT,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t<MemoizedBlockList renderAppender={ false } />\n\t\t\t\t</Iframe>\n\t\t\t</Disabled>\n\t\t</div>\n\t);\n}\n\nexport default AutoBlockPreview;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-preview/auto.js"],"names":["MemoizedBlockList","MAX_HEIGHT","AutoBlockPreview","viewportWidth","__experimentalPadding","containerResizeListener","width","containerWidth","contentResizeListener","height","contentHeight","styles","assets","select","settings","store","getSettings","__unstableResolvedAssets","editorStyles","css","__unstableType","BlockList","scale","transform","maxHeight","undefined","bodyElement","ownerDocument","documentElement","classList","add","style","position","padding","pointerEvents"],"mappings":";;;;;;;;;AAMA;;AAHA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AAdA;AACA;AACA;;AAMA;AACA;AACA;AAMA;AACA,IAAIA,iBAAJ;AAEA,MAAMC,UAAU,GAAG,IAAnB;;AAEA,SAASC,gBAAT,OAAsE;AAAA,MAA3C;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,GAA2C;AACrE,QAAM,CACLC,uBADK,EAEL;AAAEC,IAAAA,KAAK,EAAEC;AAAT,GAFK,IAGF,iCAHJ;AAIA,QAAM,CACLC,qBADK,EAEL;AAAEC,IAAAA,MAAM,EAAEC;AAAV,GAFK,IAGF,iCAHJ;AAIA,QAAM;AAAEC,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAqB,qBAAaC,MAAF,IAAc;AACnD,UAAMC,QAAQ,GAAGD,MAAM,CAAEE,YAAF,CAAN,CAAgBC,WAAhB,EAAjB;AACA,WAAO;AACNL,MAAAA,MAAM,EAAEG,QAAQ,CAACH,MADX;AAENC,MAAAA,MAAM,EAAEE,QAAQ,CAACG;AAFX,KAAP;AAIA,GAN0B,EAMxB,EANwB,CAA3B,CATqE,CAiBrE;;AACA,QAAMC,YAAY,GAAG,sBAAS,MAAM;AACnC,QAAKP,MAAL,EAAc;AACb,aAAO,CACN,GAAGA,MADG,EAEN;AACCQ,QAAAA,GAAG,EAAE,oCADN;AAECC,QAAAA,cAAc,EAAE;AAFjB,OAFM,CAAP;AAOA;;AAED,WAAOT,MAAP;AACA,GAZoB,EAYlB,CAAEA,MAAF,CAZkB,CAArB,CAlBqE,CAgCrE;;AACAX,EAAAA,iBAAiB,GAAGA,iBAAiB,IAAI,mBAAMqB,kBAAN,CAAzC;AAEA,QAAMC,KAAK,GAAGf,cAAc,GAAGJ,aAA/B;AAEA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGE,uBADH,EAEC,4BAAC,oBAAD;AACC,IAAA,SAAS,EAAC,qCADX;AAEC,IAAA,KAAK,EAAG;AACPkB,MAAAA,SAAS,EAAG,SAASD,KAAO,GADrB;AAEPb,MAAAA,MAAM,EAAEC,aAAa,GAAGY,KAFjB;AAGPE,MAAAA,SAAS,EACRd,aAAa,GAAGT,UAAhB,GACGA,UAAU,GAAGqB,KADhB,GAEGG;AANG;AAFT,KAWC,4BAAC,eAAD;AACC,IAAA,IAAI,EAAG,4BAAC,qBAAD;AAAc,MAAA,MAAM,EAAGP;AAAvB,MADR;AAEC,IAAA,MAAM,EAAGN,MAFV;AAGC,IAAA,UAAU,EAAG,2BAAgBc,WAAF,IAAmB;AAC7C,YAAM;AACLC,QAAAA,aAAa,EAAE;AAAEC,UAAAA;AAAF;AADV,UAEFF,WAFJ;AAGAE,MAAAA,eAAe,CAACC,SAAhB,CAA0BC,GAA1B,CACC,4CADD;AAGAF,MAAAA,eAAe,CAACG,KAAhB,CAAsBC,QAAtB,GAAiC,UAAjC;AACAJ,MAAAA,eAAe,CAACG,KAAhB,CAAsBzB,KAAtB,GAA8B,MAA9B;AACAoB,MAAAA,WAAW,CAACK,KAAZ,CAAkBE,OAAlB,GACC7B,qBAAqB,GAAG,IADzB;AAEA,KAXY,EAWV,EAXU,CAHd;AAeC,uBAfD;AAgBC,IAAA,QAAQ,EAAG,CAAC,CAhBb;AAiBC,IAAA,KAAK,EAAG;AACP4B,MAAAA,QAAQ,EAAE,UADH;AAEP1B,MAAAA,KAAK,EAAEH,aAFA;AAGPM,MAAAA,MAAM,EAAEC,aAHD;AAIPwB,MAAAA,aAAa,EAAE,MAJR;AAKP;AACA;AACAV,MAAAA,SAAS,EAAEvB;AAPJ;AAjBT,KA2BGO,qBA3BH,EA4BC,4BAAC,iBAAD;AAAmB,IAAA,cAAc,EAAG;AAApC,IA5BD,CAXD,CAFD,CADD;AA+CA;;eAEcN,gB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Disabled } from '@wordpress/components';\nimport { useResizeObserver, pure, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport BlockList from '../block-list';\nimport Iframe from '../iframe';\nimport EditorStyles from '../editor-styles';\nimport { store } from '../../store';\n\n// This is used to avoid rendering the block list if the sizes change.\nlet MemoizedBlockList;\n\nconst MAX_HEIGHT = 2000;\n\nfunction AutoBlockPreview( { viewportWidth, __experimentalPadding } ) {\n\tconst [\n\t\tcontainerResizeListener,\n\t\t{ width: containerWidth },\n\t] = useResizeObserver();\n\tconst [\n\t\tcontentResizeListener,\n\t\t{ height: contentHeight },\n\t] = useResizeObserver();\n\tconst { styles, assets } = useSelect( ( select ) => {\n\t\tconst settings = select( store ).getSettings();\n\t\treturn {\n\t\t\tstyles: settings.styles,\n\t\t\tassets: settings.__unstableResolvedAssets,\n\t\t};\n\t}, [] );\n\n\t// Avoid scrollbars for pattern previews.\n\tconst editorStyles = useMemo( () => {\n\t\tif ( styles ) {\n\t\t\treturn [\n\t\t\t\t...styles,\n\t\t\t\t{\n\t\t\t\t\tcss: 'body{height:auto;overflow:hidden;}',\n\t\t\t\t\t__unstableType: 'presets',\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\treturn styles;\n\t}, [ styles ] );\n\n\t// Initialize on render instead of module top level, to avoid circular dependency issues.\n\tMemoizedBlockList = MemoizedBlockList || pure( BlockList );\n\n\tconst scale = containerWidth / viewportWidth;\n\n\treturn (\n\t\t<div className=\"block-editor-block-preview__container\">\n\t\t\t{ containerResizeListener }\n\t\t\t<Disabled\n\t\t\t\tclassName=\"block-editor-block-preview__content\"\n\t\t\t\tstyle={ {\n\t\t\t\t\ttransform: `scale(${ scale })`,\n\t\t\t\t\theight: contentHeight * scale,\n\t\t\t\t\tmaxHeight:\n\t\t\t\t\t\tcontentHeight > MAX_HEIGHT\n\t\t\t\t\t\t\t? MAX_HEIGHT * scale\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<Iframe\n\t\t\t\t\thead={ <EditorStyles styles={ editorStyles } /> }\n\t\t\t\t\tassets={ assets }\n\t\t\t\t\tcontentRef={ useRefEffect( ( bodyElement ) => {\n\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\townerDocument: { documentElement },\n\t\t\t\t\t\t} = bodyElement;\n\t\t\t\t\t\tdocumentElement.classList.add(\n\t\t\t\t\t\t\t'block-editor-block-preview__content-iframe'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tdocumentElement.style.position = 'absolute';\n\t\t\t\t\t\tdocumentElement.style.width = '100%';\n\t\t\t\t\t\tbodyElement.style.padding =\n\t\t\t\t\t\t\t__experimentalPadding + 'px';\n\t\t\t\t\t}, [] ) }\n\t\t\t\t\taria-hidden\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tposition: 'absolute',\n\t\t\t\t\t\twidth: viewportWidth,\n\t\t\t\t\t\theight: contentHeight,\n\t\t\t\t\t\tpointerEvents: 'none',\n\t\t\t\t\t\t// This is a catch-all max-height for patterns.\n\t\t\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/38175.\n\t\t\t\t\t\tmaxHeight: MAX_HEIGHT,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t<MemoizedBlockList renderAppender={ false } />\n\t\t\t\t</Iframe>\n\t\t\t</Disabled>\n\t\t</div>\n\t);\n}\n\nexport default AutoBlockPreview;\n"]}
@@ -55,7 +55,8 @@ function BottomSheetSettings(_ref) {
55
55
  onClose: closeGeneralSidebar,
56
56
  hideHeader: true,
57
57
  contentStyle: _containerNative.default.content,
58
- hasNavigation: true
58
+ hasNavigation: true,
59
+ testID: "block-settings-modal"
59
60
  }, props), (0, _element.createElement)(_components.BottomSheet.NavigationContainer, {
60
61
  animate: true,
61
62
  main: true
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-editor/src/components/block-settings/container.native.js"],"names":["blockSettingsScreens","settings","color","focalPoint","linkPicker","imageLinkDestinations","BottomSheetSettings","editorSidebarOpened","closeGeneralSidebar","props","colorSettings","colors","gradients","styles","content","BottomSheet","SubSheet","screenName","select","isEditorSidebarOpened","getSettings","blockEditorStore","dispatch"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAOA;;AACA;;AAIA;;AACA;;AAjBA;AACA;AACA;;AAWA;AACA;AACA;AAIO,MAAMA,oBAAoB,GAAG;AACnCC,EAAAA,QAAQ,EAAE,UADyB;AAEnCC,EAAAA,KAAK,EAAE,OAF4B;AAGnCC,EAAAA,UAAU,EAAE,YAHuB;AAInCC,EAAAA,UAAU,EAAE,YAJuB;AAKnCC,EAAAA,qBAAqB,EAAE;AALY,CAA7B;;;AAQP,SAASC,mBAAT,OAKI;AAAA,MAL0B;AAC7BC,IAAAA,mBAD6B;AAE7BC,IAAAA,mBAF6B;AAG7BP,IAAAA,QAH6B;AAI7B,OAAGQ;AAJ0B,GAK1B;AACH,QAAMC,aAAa,GAAG;AACrBC,IAAAA,MAAM,EAAE,6BAAY,eAAZ,KAAiCV,QAAQ,CAACU,MAD7B;AAErBC,IAAAA,SAAS,EAAE,6BAAY,iBAAZ,KAAmCX,QAAQ,CAACW;AAFlC,GAAtB;AAKA,SACC,4BAAC,uBAAD;AACC,IAAA,SAAS,EAAGL,mBADb;AAEC,IAAA,OAAO,EAAGC,mBAFX;AAGC,IAAA,UAAU,MAHX;AAIC,IAAA,YAAY,EAAGK,yBAAOC,OAJvB;AAKC,IAAA,aAAa;AALd,KAMML,KANN,GAQC,4BAAC,uBAAD,CAAa,mBAAb;AAAiC,IAAA,OAAO,MAAxC;AAAyC,IAAA,IAAI;AAA7C,KACC,4BAAC,uBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGT,oBAAoB,CAACC;AAD7B,KAGC,4BAAC,8BAAD,CAAmB,IAAnB,OAHD,CADD,EAMC,4BAAC,uBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGc,wBAAYC,QAAZ,CAAqBC;AAD7B,KAGC,4BAAC,uBAAD,CAAa,QAAb,CAAsB,IAAtB,OAHD,CAND,EAYC,4BAAC,uBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGjB,oBAAoB,CAACE;AAD7B,KAGC,4BAAC,yBAAD;AAAe,IAAA,eAAe,EAAGQ;AAAjC,IAHD,CAZD,EAiBC,4BAAC,uBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGV,oBAAoB,CAACG,UAD7B;AAEC,IAAA,UAAU;AAFX,KAIC,4BAAC,mCAAD,OAJD,CAjBD,EAuBC,4BAAC,uBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGH,oBAAoB,CAACI,UAD7B;AAEC,IAAA,UAAU,MAFX;AAGC,IAAA,YAAY;AAHb,KAKC,4BAAC,4BAAD;AACC,IAAA,gBAAgB,EAAGJ,oBAAoB,CAACC;AADzC,IALD,CAvBD,EAgCC,4BAAC,uBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGD,oBAAoB,CAACK;AAD7B,KAGC,4BAAC,uCAAD,EAAkCI,KAAlC,CAHD,CAhCD,CARD,CADD;AAiDA;;eAEc,sBAAS,CACvB,sBAAcS,MAAF,IAAc;AACzB,QAAM;AAAEC,IAAAA;AAAF,MAA4BD,MAAM,CAAE,gBAAF,CAAxC;AACA,QAAM;AAAEE,IAAAA;AAAF,MAAkBF,MAAM,CAAEG,YAAF,CAA9B;AACA,SAAO;AACNpB,IAAAA,QAAQ,EAAEmB,WAAW,EADf;AAENb,IAAAA,mBAAmB,EAAEY,qBAAqB;AAFpC,GAAP;AAIA,CAPD,CADuB,EASvB,wBAAgBG,QAAF,IAAgB;AAC7B,QAAM;AAAEd,IAAAA;AAAF,MAA0Bc,QAAQ,CAAE,gBAAF,CAAxC;AAEA,SAAO;AACNd,IAAAA;AADM,GAAP;AAGA,CAND,CATuB,CAAT,EAgBVF,mBAhBU,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InspectorControls, useSetting } from '@wordpress/block-editor';\nimport {\n\tBottomSheet,\n\tColorSettings,\n\tFocalPointSettingsPanel,\n\tImageLinkDestinationsScreen,\n\tLinkPickerScreen,\n} from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\n/**\n * Internal dependencies\n */\nimport styles from './container.native.scss';\nimport { store as blockEditorStore } from '../../store';\n\nexport const blockSettingsScreens = {\n\tsettings: 'Settings',\n\tcolor: 'Color',\n\tfocalPoint: 'FocalPoint',\n\tlinkPicker: 'linkPicker',\n\timageLinkDestinations: 'imageLinkDestinations',\n};\n\nfunction BottomSheetSettings( {\n\teditorSidebarOpened,\n\tcloseGeneralSidebar,\n\tsettings,\n\t...props\n} ) {\n\tconst colorSettings = {\n\t\tcolors: useSetting( 'color.palette' ) || settings.colors,\n\t\tgradients: useSetting( 'color.gradients' ) || settings.gradients,\n\t};\n\n\treturn (\n\t\t<BottomSheet\n\t\t\tisVisible={ editorSidebarOpened }\n\t\t\tonClose={ closeGeneralSidebar }\n\t\t\thideHeader\n\t\t\tcontentStyle={ styles.content }\n\t\t\thasNavigation\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<BottomSheet.NavigationContainer animate main>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ blockSettingsScreens.settings }\n\t\t\t\t>\n\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ BottomSheet.SubSheet.screenName }\n\t\t\t\t>\n\t\t\t\t\t<BottomSheet.SubSheet.Slot />\n\t\t\t\t</BottomSheet.NavigationScreen>\n\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ blockSettingsScreens.color }\n\t\t\t\t>\n\t\t\t\t\t<ColorSettings defaultSettings={ colorSettings } />\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ blockSettingsScreens.focalPoint }\n\t\t\t\t\tfullScreen\n\t\t\t\t>\n\t\t\t\t\t<FocalPointSettingsPanel />\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ blockSettingsScreens.linkPicker }\n\t\t\t\t\tfullScreen\n\t\t\t\t\tisScrollable\n\t\t\t\t>\n\t\t\t\t\t<LinkPickerScreen\n\t\t\t\t\t\treturnScreenName={ blockSettingsScreens.settings }\n\t\t\t\t\t/>\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ blockSettingsScreens.imageLinkDestinations }\n\t\t\t\t>\n\t\t\t\t\t<ImageLinkDestinationsScreen { ...props } />\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t</BottomSheet.NavigationContainer>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tsettings: getSettings(),\n\t\t\teditorSidebarOpened: isEditorSidebarOpened(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { closeGeneralSidebar } = dispatch( 'core/edit-post' );\n\n\t\treturn {\n\t\t\tcloseGeneralSidebar,\n\t\t};\n\t} ),\n] )( BottomSheetSettings );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-editor/src/components/block-settings/container.native.js"],"names":["blockSettingsScreens","settings","color","focalPoint","linkPicker","imageLinkDestinations","BottomSheetSettings","editorSidebarOpened","closeGeneralSidebar","props","colorSettings","colors","gradients","styles","content","BottomSheet","SubSheet","screenName","select","isEditorSidebarOpened","getSettings","blockEditorStore","dispatch"],"mappings":";;;;;;;;;;;;;AAGA;;AACA;;AAOA;;AACA;;AAIA;;AACA;;AAjBA;AACA;AACA;;AAWA;AACA;AACA;AAIO,MAAMA,oBAAoB,GAAG;AACnCC,EAAAA,QAAQ,EAAE,UADyB;AAEnCC,EAAAA,KAAK,EAAE,OAF4B;AAGnCC,EAAAA,UAAU,EAAE,YAHuB;AAInCC,EAAAA,UAAU,EAAE,YAJuB;AAKnCC,EAAAA,qBAAqB,EAAE;AALY,CAA7B;;;AAQP,SAASC,mBAAT,OAKI;AAAA,MAL0B;AAC7BC,IAAAA,mBAD6B;AAE7BC,IAAAA,mBAF6B;AAG7BP,IAAAA,QAH6B;AAI7B,OAAGQ;AAJ0B,GAK1B;AACH,QAAMC,aAAa,GAAG;AACrBC,IAAAA,MAAM,EAAE,6BAAY,eAAZ,KAAiCV,QAAQ,CAACU,MAD7B;AAErBC,IAAAA,SAAS,EAAE,6BAAY,iBAAZ,KAAmCX,QAAQ,CAACW;AAFlC,GAAtB;AAKA,SACC,4BAAC,uBAAD;AACC,IAAA,SAAS,EAAGL,mBADb;AAEC,IAAA,OAAO,EAAGC,mBAFX;AAGC,IAAA,UAAU,MAHX;AAIC,IAAA,YAAY,EAAGK,yBAAOC,OAJvB;AAKC,IAAA,aAAa,MALd;AAMC,IAAA,MAAM,EAAC;AANR,KAOML,KAPN,GASC,4BAAC,uBAAD,CAAa,mBAAb;AAAiC,IAAA,OAAO,MAAxC;AAAyC,IAAA,IAAI;AAA7C,KACC,4BAAC,uBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGT,oBAAoB,CAACC;AAD7B,KAGC,4BAAC,8BAAD,CAAmB,IAAnB,OAHD,CADD,EAMC,4BAAC,uBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGc,wBAAYC,QAAZ,CAAqBC;AAD7B,KAGC,4BAAC,uBAAD,CAAa,QAAb,CAAsB,IAAtB,OAHD,CAND,EAYC,4BAAC,uBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGjB,oBAAoB,CAACE;AAD7B,KAGC,4BAAC,yBAAD;AAAe,IAAA,eAAe,EAAGQ;AAAjC,IAHD,CAZD,EAiBC,4BAAC,uBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGV,oBAAoB,CAACG,UAD7B;AAEC,IAAA,UAAU;AAFX,KAIC,4BAAC,mCAAD,OAJD,CAjBD,EAuBC,4BAAC,uBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGH,oBAAoB,CAACI,UAD7B;AAEC,IAAA,UAAU,MAFX;AAGC,IAAA,YAAY;AAHb,KAKC,4BAAC,4BAAD;AACC,IAAA,gBAAgB,EAAGJ,oBAAoB,CAACC;AADzC,IALD,CAvBD,EAgCC,4BAAC,uBAAD,CAAa,gBAAb;AACC,IAAA,IAAI,EAAGD,oBAAoB,CAACK;AAD7B,KAGC,4BAAC,uCAAD,EAAkCI,KAAlC,CAHD,CAhCD,CATD,CADD;AAkDA;;eAEc,sBAAS,CACvB,sBAAcS,MAAF,IAAc;AACzB,QAAM;AAAEC,IAAAA;AAAF,MAA4BD,MAAM,CAAE,gBAAF,CAAxC;AACA,QAAM;AAAEE,IAAAA;AAAF,MAAkBF,MAAM,CAAEG,YAAF,CAA9B;AACA,SAAO;AACNpB,IAAAA,QAAQ,EAAEmB,WAAW,EADf;AAENb,IAAAA,mBAAmB,EAAEY,qBAAqB;AAFpC,GAAP;AAIA,CAPD,CADuB,EASvB,wBAAgBG,QAAF,IAAgB;AAC7B,QAAM;AAAEd,IAAAA;AAAF,MAA0Bc,QAAQ,CAAE,gBAAF,CAAxC;AAEA,SAAO;AACNd,IAAAA;AADM,GAAP;AAGA,CAND,CATuB,CAAT,EAgBVF,mBAhBU,C","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InspectorControls, useSetting } from '@wordpress/block-editor';\nimport {\n\tBottomSheet,\n\tColorSettings,\n\tFocalPointSettingsPanel,\n\tImageLinkDestinationsScreen,\n\tLinkPickerScreen,\n} from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\n/**\n * Internal dependencies\n */\nimport styles from './container.native.scss';\nimport { store as blockEditorStore } from '../../store';\n\nexport const blockSettingsScreens = {\n\tsettings: 'Settings',\n\tcolor: 'Color',\n\tfocalPoint: 'FocalPoint',\n\tlinkPicker: 'linkPicker',\n\timageLinkDestinations: 'imageLinkDestinations',\n};\n\nfunction BottomSheetSettings( {\n\teditorSidebarOpened,\n\tcloseGeneralSidebar,\n\tsettings,\n\t...props\n} ) {\n\tconst colorSettings = {\n\t\tcolors: useSetting( 'color.palette' ) || settings.colors,\n\t\tgradients: useSetting( 'color.gradients' ) || settings.gradients,\n\t};\n\n\treturn (\n\t\t<BottomSheet\n\t\t\tisVisible={ editorSidebarOpened }\n\t\t\tonClose={ closeGeneralSidebar }\n\t\t\thideHeader\n\t\t\tcontentStyle={ styles.content }\n\t\t\thasNavigation\n\t\t\ttestID=\"block-settings-modal\"\n\t\t\t{ ...props }\n\t\t>\n\t\t\t<BottomSheet.NavigationContainer animate main>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ blockSettingsScreens.settings }\n\t\t\t\t>\n\t\t\t\t\t<InspectorControls.Slot />\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ BottomSheet.SubSheet.screenName }\n\t\t\t\t>\n\t\t\t\t\t<BottomSheet.SubSheet.Slot />\n\t\t\t\t</BottomSheet.NavigationScreen>\n\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ blockSettingsScreens.color }\n\t\t\t\t>\n\t\t\t\t\t<ColorSettings defaultSettings={ colorSettings } />\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ blockSettingsScreens.focalPoint }\n\t\t\t\t\tfullScreen\n\t\t\t\t>\n\t\t\t\t\t<FocalPointSettingsPanel />\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ blockSettingsScreens.linkPicker }\n\t\t\t\t\tfullScreen\n\t\t\t\t\tisScrollable\n\t\t\t\t>\n\t\t\t\t\t<LinkPickerScreen\n\t\t\t\t\t\treturnScreenName={ blockSettingsScreens.settings }\n\t\t\t\t\t/>\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t\t<BottomSheet.NavigationScreen\n\t\t\t\t\tname={ blockSettingsScreens.imageLinkDestinations }\n\t\t\t\t>\n\t\t\t\t\t<ImageLinkDestinationsScreen { ...props } />\n\t\t\t\t</BottomSheet.NavigationScreen>\n\t\t\t</BottomSheet.NavigationContainer>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tsettings: getSettings(),\n\t\t\teditorSidebarOpened: isEditorSidebarOpened(),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { closeGeneralSidebar } = dispatch( 'core/edit-post' );\n\n\t\treturn {\n\t\t\tcloseGeneralSidebar,\n\t\t};\n\t} ),\n] )( BottomSheetSettings );\n"]}