@wordpress/block-editor 12.15.0 → 12.16.1-next.79a6196f.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 (927) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +12 -10
  4. package/build/components/block-canvas/index.js +21 -7
  5. package/build/components/block-canvas/index.js.map +1 -1
  6. package/build/components/block-card/index.js +2 -2
  7. package/build/components/block-card/index.js.map +1 -1
  8. package/build/components/block-controls/hook.js +3 -23
  9. package/build/components/block-controls/hook.js.map +1 -1
  10. package/build/components/block-draggable/draggable-chip.js +6 -1
  11. package/build/components/block-draggable/draggable-chip.js.map +1 -1
  12. package/build/components/block-draggable/index.js +76 -6
  13. package/build/components/block-draggable/index.js.map +1 -1
  14. package/build/components/block-draggable/index.native.js +0 -6
  15. package/build/components/block-draggable/index.native.js.map +1 -1
  16. package/build/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  17. package/build/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  18. package/build/components/block-edit/context.js +5 -1
  19. package/build/components/block-edit/context.js.map +1 -1
  20. package/build/components/block-edit/index.js +18 -9
  21. package/build/components/block-edit/index.js.map +1 -1
  22. package/build/components/block-editing-mode/index.js +2 -3
  23. package/build/components/block-editing-mode/index.js.map +1 -1
  24. package/build/components/block-info-slot-fill/index.js +3 -4
  25. package/build/components/block-info-slot-fill/index.js.map +1 -1
  26. package/build/components/block-inspector/index.js +1 -1
  27. package/build/components/block-inspector/index.js.map +1 -1
  28. package/build/components/block-list/block-list-item-cell.native.js +1 -0
  29. package/build/components/block-list/block-list-item-cell.native.js.map +1 -1
  30. package/build/components/block-list/block.js +257 -95
  31. package/build/components/block-list/block.js.map +1 -1
  32. package/build/components/block-list/block.native.js +58 -23
  33. package/build/components/block-list/block.native.js.map +1 -1
  34. package/build/components/block-list/index.native.js +3 -5
  35. package/build/components/block-list/index.native.js.map +1 -1
  36. package/build/components/block-list/private-block-context.js +14 -0
  37. package/build/components/block-list/private-block-context.js.map +1 -0
  38. package/build/components/block-list/use-block-props/index.js +49 -69
  39. package/build/components/block-list/use-block-props/index.js.map +1 -1
  40. package/build/components/block-list/use-block-props/use-focus-first-element.js +4 -29
  41. package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  42. package/build/components/block-list/use-block-props/use-is-hovered.js +4 -14
  43. package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  44. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
  45. package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  46. package/build/components/block-list/use-in-between-inserter.js +3 -2
  47. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  48. package/build/components/block-list/use-scroll-upon-insertion.native.js +41 -0
  49. package/build/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  50. package/build/components/block-lock/toolbar.js +21 -27
  51. package/build/components/block-lock/toolbar.js.map +1 -1
  52. package/build/components/block-mover/index.js +2 -1
  53. package/build/components/block-mover/index.js.map +1 -1
  54. package/build/components/block-patterns-list/index.js +5 -5
  55. package/build/components/block-patterns-list/index.js.map +1 -1
  56. package/build/components/block-removal-warning-modal/index.js +2 -9
  57. package/build/components/block-removal-warning-modal/index.js.map +1 -1
  58. package/build/components/block-rename/modal.js +3 -0
  59. package/build/components/block-rename/modal.js.map +1 -1
  60. package/build/components/block-settings/container.native.js +6 -4
  61. package/build/components/block-settings/container.native.js.map +1 -1
  62. package/build/components/block-styles/index.js +1 -1
  63. package/build/components/block-styles/index.js.map +1 -1
  64. package/build/components/block-styles/index.native.js +3 -2
  65. package/build/components/block-styles/index.native.js.map +1 -1
  66. package/build/components/block-switcher/index.js +4 -4
  67. package/build/components/block-switcher/index.js.map +1 -1
  68. package/build/components/block-toolbar/index.js +90 -29
  69. package/build/components/block-toolbar/index.js.map +1 -1
  70. package/build/components/block-tools/block-toolbar-breadcrumb.js +49 -0
  71. package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
  72. package/build/components/block-tools/block-toolbar-popover.js +84 -0
  73. package/build/components/block-tools/block-toolbar-popover.js.map +1 -0
  74. package/build/components/block-tools/index.js +27 -24
  75. package/build/components/block-tools/index.js.map +1 -1
  76. package/build/components/block-types-list/index.native.js +4 -3
  77. package/build/components/block-types-list/index.native.js.map +1 -1
  78. package/build/components/block-variation-picker/index.native.js +2 -1
  79. package/build/components/block-variation-picker/index.native.js.map +1 -1
  80. package/build/components/block-variation-transforms/index.js +29 -2
  81. package/build/components/block-variation-transforms/index.js.map +1 -1
  82. package/build/components/border-radius-control/linked-button.js +1 -1
  83. package/build/components/border-radius-control/linked-button.js.map +1 -1
  84. package/build/components/colors/utils.js +10 -2
  85. package/build/components/colors/utils.js.map +1 -1
  86. package/build/components/colors/with-colors.js +6 -2
  87. package/build/components/colors/with-colors.js.map +1 -1
  88. package/build/components/colors-gradients/control.js +28 -17
  89. package/build/components/colors-gradients/control.js.map +1 -1
  90. package/build/components/duotone-control/index.js +1 -4
  91. package/build/components/duotone-control/index.js.map +1 -1
  92. package/build/components/font-sizes/utils.js +10 -2
  93. package/build/components/font-sizes/utils.js.map +1 -1
  94. package/build/components/global-styles/border-panel.js +2 -1
  95. package/build/components/global-styles/border-panel.js.map +1 -1
  96. package/build/components/global-styles/color-panel.js +24 -21
  97. package/build/components/global-styles/color-panel.js.map +1 -1
  98. package/build/components/global-styles/dimensions-panel.js +4 -3
  99. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  100. package/build/components/global-styles/effects-panel.js +2 -1
  101. package/build/components/global-styles/effects-panel.js.map +1 -1
  102. package/build/components/global-styles/filters-panel.js +6 -3
  103. package/build/components/global-styles/filters-panel.js.map +1 -1
  104. package/build/components/global-styles/get-global-styles-changes.js +192 -0
  105. package/build/components/global-styles/get-global-styles-changes.js.map +1 -0
  106. package/build/components/global-styles/hooks.js +3 -2
  107. package/build/components/global-styles/hooks.js.map +1 -1
  108. package/build/components/global-styles/image-settings-panel.js +7 -1
  109. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  110. package/build/components/global-styles/index.js +7 -0
  111. package/build/components/global-styles/index.js.map +1 -1
  112. package/build/components/global-styles/typography-panel.js +43 -36
  113. package/build/components/global-styles/typography-panel.js.map +1 -1
  114. package/build/components/global-styles/use-global-styles-output.js +22 -8
  115. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  116. package/build/components/global-styles/utils.js +8 -1
  117. package/build/components/global-styles/utils.js.map +1 -1
  118. package/build/components/height-control/index.js +6 -2
  119. package/build/components/height-control/index.js.map +1 -1
  120. package/build/components/image-link-destinations/index.native.js +118 -0
  121. package/build/components/image-link-destinations/index.native.js.map +1 -0
  122. package/build/components/image-size-control/index.js +2 -2
  123. package/build/components/image-size-control/index.js.map +1 -1
  124. package/build/components/index.native.js +14 -5
  125. package/build/components/index.native.js.map +1 -1
  126. package/build/components/inner-blocks/index.js +61 -22
  127. package/build/components/inner-blocks/index.js.map +1 -1
  128. package/build/components/inner-blocks/index.native.js +18 -4
  129. package/build/components/inner-blocks/index.native.js.map +1 -1
  130. package/build/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  131. package/build/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  132. package/build/components/inner-blocks/use-nested-settings-update.js +5 -9
  133. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  134. package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -1
  135. package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  136. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +10 -9
  137. package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  138. package/build/components/inserter/block-patterns-tab/patterns-filter.js +10 -10
  139. package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  140. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +9 -9
  141. package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  142. package/build/components/inserter/block-patterns-tab/utils.js +10 -14
  143. package/build/components/inserter/block-patterns-tab/utils.js.map +1 -1
  144. package/build/components/inserter/hooks/use-block-types-state.js +4 -14
  145. package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
  146. package/build/components/inserter/hooks/use-patterns-state.js +1 -1
  147. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  148. package/build/components/inserter/index.js +1 -2
  149. package/build/components/inserter/index.js.map +1 -1
  150. package/build/components/inserter/library.js +3 -7
  151. package/build/components/inserter/library.js.map +1 -1
  152. package/build/components/inserter/media-tab/media-panel.js +2 -2
  153. package/build/components/inserter/media-tab/media-panel.js.map +1 -1
  154. package/build/components/inserter/menu.js +26 -33
  155. package/build/components/inserter/menu.js.map +1 -1
  156. package/build/components/inserter/preview-panel.js +2 -2
  157. package/build/components/inserter/preview-panel.js.map +1 -1
  158. package/build/components/inserter/tabs.js +21 -21
  159. package/build/components/inserter/tabs.js.map +1 -1
  160. package/build/components/inserter-button/index.native.js +98 -0
  161. package/build/components/inserter-button/index.native.js.map +1 -0
  162. package/build/components/inserter-button/sparkles.js +23 -0
  163. package/build/components/inserter-button/sparkles.js.map +1 -0
  164. package/build/components/inserter-draggable-blocks/index.js +8 -4
  165. package/build/components/inserter-draggable-blocks/index.js.map +1 -1
  166. package/build/components/inserter-list-item/index.js +2 -4
  167. package/build/components/inserter-list-item/index.js.map +1 -1
  168. package/build/components/inspector-controls/block-support-tools-panel.js +3 -1
  169. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  170. package/build/components/inspector-controls/fill.js +3 -3
  171. package/build/components/inspector-controls/fill.js.map +1 -1
  172. package/build/components/inspector-controls/fill.native.js +3 -3
  173. package/build/components/inspector-controls/fill.native.js.map +1 -1
  174. package/build/components/inspector-controls-tabs/index.js +34 -23
  175. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  176. package/build/components/list-view/block-select-button.js +4 -0
  177. package/build/components/list-view/block-select-button.js.map +1 -1
  178. package/build/components/list-view/block.js +57 -3
  179. package/build/components/list-view/block.js.map +1 -1
  180. package/build/components/media-upload-progress/constants.js +19 -0
  181. package/build/components/media-upload-progress/constants.js.map +1 -0
  182. package/build/components/media-upload-progress/index.native.js +42 -17
  183. package/build/components/media-upload-progress/index.native.js.map +1 -1
  184. package/build/components/navigable-toolbar/index.js +11 -16
  185. package/build/components/navigable-toolbar/index.js.map +1 -1
  186. package/build/components/plain-text/index.native.js +8 -3
  187. package/build/components/plain-text/index.native.js.map +1 -1
  188. package/build/components/preview-options/index.js +6 -62
  189. package/build/components/preview-options/index.js.map +1 -1
  190. package/build/components/provider/index.js +3 -1
  191. package/build/components/provider/index.js.map +1 -1
  192. package/build/components/provider/use-block-sync.js +7 -1
  193. package/build/components/provider/use-block-sync.js.map +1 -1
  194. package/build/components/rich-text/content.js +26 -23
  195. package/build/components/rich-text/content.js.map +1 -1
  196. package/build/components/rich-text/get-rich-text-values.js +2 -1
  197. package/build/components/rich-text/get-rich-text-values.js.map +1 -1
  198. package/build/components/rich-text/index.js +19 -37
  199. package/build/components/rich-text/index.js.map +1 -1
  200. package/build/components/rich-text/index.native.js +9 -16
  201. package/build/components/rich-text/index.native.js.map +1 -1
  202. package/build/components/rich-text/native/get-format-colors.native.js +22 -24
  203. package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
  204. package/build/components/rich-text/native/index.native.js +22 -57
  205. package/build/components/rich-text/native/index.native.js.map +1 -1
  206. package/build/components/rich-text/use-input-rules.js +7 -3
  207. package/build/components/rich-text/use-input-rules.js.map +1 -1
  208. package/build/components/rich-text/use-mark-persistent.js +1 -1
  209. package/build/components/rich-text/use-mark-persistent.js.map +1 -1
  210. package/build/components/rich-text/with-deprecations.js +50 -0
  211. package/build/components/rich-text/with-deprecations.js.map +1 -0
  212. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  213. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  214. package/build/components/url-input/index.js +9 -6
  215. package/build/components/url-input/index.js.map +1 -1
  216. package/build/components/use-block-commands/index.js +14 -18
  217. package/build/components/use-block-commands/index.js.map +1 -1
  218. package/build/components/use-block-drop-zone/index.js +108 -17
  219. package/build/components/use-block-drop-zone/index.js.map +1 -1
  220. package/build/components/use-moving-animation/index.js +100 -92
  221. package/build/components/use-moving-animation/index.js.map +1 -1
  222. package/build/components/use-on-block-drop/index.js +9 -12
  223. package/build/components/use-on-block-drop/index.js.map +1 -1
  224. package/build/components/use-resize-canvas/index.js +4 -1
  225. package/build/components/use-resize-canvas/index.js.map +1 -1
  226. package/build/components/use-settings/index.js +14 -0
  227. package/build/components/use-settings/index.js.map +1 -1
  228. package/build/components/writing-flow/index.js +0 -1
  229. package/build/components/writing-flow/index.js.map +1 -1
  230. package/build/components/writing-flow/use-drag-selection.js +15 -4
  231. package/build/components/writing-flow/use-drag-selection.js.map +1 -1
  232. package/build/components/writing-flow/use-selection-observer.js +73 -27
  233. package/build/components/writing-flow/use-selection-observer.js.map +1 -1
  234. package/build/components/writing-flow/use-tab-nav.js +7 -4
  235. package/build/components/writing-flow/use-tab-nav.js.map +1 -1
  236. package/build/hooks/align.js +21 -69
  237. package/build/hooks/align.js.map +1 -1
  238. package/build/hooks/align.native.js +11 -1
  239. package/build/hooks/align.native.js.map +1 -1
  240. package/build/hooks/anchor.js +14 -30
  241. package/build/hooks/anchor.js.map +1 -1
  242. package/build/hooks/aria-label.js +9 -1
  243. package/build/hooks/aria-label.js.map +1 -1
  244. package/build/hooks/background.js +198 -36
  245. package/build/hooks/background.js.map +1 -1
  246. package/build/hooks/block-hooks.js +24 -32
  247. package/build/hooks/block-hooks.js.map +1 -1
  248. package/build/hooks/block-renaming.js +18 -22
  249. package/build/hooks/block-renaming.js.map +1 -1
  250. package/build/hooks/border.js +53 -80
  251. package/build/hooks/border.js.map +1 -1
  252. package/build/hooks/color.js +79 -90
  253. package/build/hooks/color.js.map +1 -1
  254. package/build/hooks/content-lock-ui.js +29 -29
  255. package/build/hooks/content-lock-ui.js.map +1 -1
  256. package/build/hooks/custom-class-name.js +13 -30
  257. package/build/hooks/custom-class-name.js.map +1 -1
  258. package/build/hooks/custom-class-name.native.js +9 -1
  259. package/build/hooks/custom-class-name.native.js.map +1 -1
  260. package/build/hooks/dimensions.js +13 -14
  261. package/build/hooks/dimensions.js.map +1 -1
  262. package/build/hooks/duotone.js +31 -61
  263. package/build/hooks/duotone.js.map +1 -1
  264. package/build/hooks/font-family.js +23 -28
  265. package/build/hooks/font-family.js.map +1 -1
  266. package/build/hooks/font-size.js +52 -120
  267. package/build/hooks/font-size.js.map +1 -1
  268. package/build/hooks/index.js +27 -16
  269. package/build/hooks/index.js.map +1 -1
  270. package/build/hooks/index.native.js +15 -6
  271. package/build/hooks/index.native.js.map +1 -1
  272. package/build/hooks/layout-child.js +68 -0
  273. package/build/hooks/layout-child.js.map +1 -0
  274. package/build/hooks/layout.js +25 -104
  275. package/build/hooks/layout.js.map +1 -1
  276. package/build/hooks/padding.js +2 -2
  277. package/build/hooks/padding.js.map +1 -1
  278. package/build/hooks/position.js +40 -62
  279. package/build/hooks/position.js.map +1 -1
  280. package/build/hooks/style.js +52 -89
  281. package/build/hooks/style.js.map +1 -1
  282. package/build/hooks/typography.js +25 -10
  283. package/build/hooks/typography.js.map +1 -1
  284. package/build/hooks/typography.native.js +43 -18
  285. package/build/hooks/typography.native.js.map +1 -1
  286. package/build/hooks/use-typography-props.js +10 -2
  287. package/build/hooks/use-typography-props.js.map +1 -1
  288. package/build/hooks/utils.js +200 -10
  289. package/build/hooks/utils.js.map +1 -1
  290. package/build/private-apis.js +2 -6
  291. package/build/private-apis.js.map +1 -1
  292. package/build/private-apis.native.js +0 -2
  293. package/build/private-apis.native.js.map +1 -1
  294. package/build/store/actions.js +0 -16
  295. package/build/store/actions.js.map +1 -1
  296. package/build/store/private-actions.js +54 -0
  297. package/build/store/private-actions.js.map +1 -1
  298. package/build/store/private-selectors.js +46 -0
  299. package/build/store/private-selectors.js.map +1 -1
  300. package/build/store/reducer.js +18 -2
  301. package/build/store/reducer.js.map +1 -1
  302. package/build/store/selectors.js +11 -73
  303. package/build/store/selectors.js.map +1 -1
  304. package/build/store/undo-ignore.js +12 -0
  305. package/build/store/undo-ignore.js.map +1 -0
  306. package/build/store/utils.js +66 -0
  307. package/build/store/utils.js.map +1 -0
  308. package/build/utils/get-px-from-css-unit.js +16 -0
  309. package/build/utils/get-px-from-css-unit.js.map +1 -0
  310. package/build/utils/index.js +2 -2
  311. package/build/utils/index.js.map +1 -1
  312. package/build/utils/object.js +38 -99
  313. package/build/utils/object.js.map +1 -1
  314. package/build/utils/selection.js +9 -1
  315. package/build/utils/selection.js.map +1 -1
  316. package/build/utils/use-can-block-toolbar-be-focused.js +46 -0
  317. package/build/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  318. package/build-module/components/block-canvas/index.js +22 -8
  319. package/build-module/components/block-canvas/index.js.map +1 -1
  320. package/build-module/components/block-card/index.js +2 -2
  321. package/build-module/components/block-card/index.js.map +1 -1
  322. package/build-module/components/block-controls/hook.js +4 -24
  323. package/build-module/components/block-controls/hook.js.map +1 -1
  324. package/build-module/components/block-draggable/draggable-chip.js +6 -1
  325. package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
  326. package/build-module/components/block-draggable/index.js +76 -6
  327. package/build-module/components/block-draggable/index.js.map +1 -1
  328. package/build-module/components/block-draggable/index.native.js +1 -7
  329. package/build-module/components/block-draggable/index.native.js.map +1 -1
  330. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  331. package/build-module/components/block-draggable/use-scroll-when-dragging.native.js.map +1 -1
  332. package/build-module/components/block-edit/context.js +2 -0
  333. package/build-module/components/block-edit/context.js.map +1 -1
  334. package/build-module/components/block-edit/index.js +19 -10
  335. package/build-module/components/block-edit/index.js.map +1 -1
  336. package/build-module/components/block-editing-mode/index.js +3 -4
  337. package/build-module/components/block-editing-mode/index.js.map +1 -1
  338. package/build-module/components/block-info-slot-fill/index.js +3 -3
  339. package/build-module/components/block-info-slot-fill/index.js.map +1 -1
  340. package/build-module/components/block-inspector/index.js +1 -1
  341. package/build-module/components/block-inspector/index.js.map +1 -1
  342. package/build-module/components/block-list/block-list-item-cell.native.js +1 -0
  343. package/build-module/components/block-list/block-list-item-cell.native.js.map +1 -1
  344. package/build-module/components/block-list/block.js +261 -99
  345. package/build-module/components/block-list/block.js.map +1 -1
  346. package/build-module/components/block-list/block.native.js +60 -25
  347. package/build-module/components/block-list/block.native.js.map +1 -1
  348. package/build-module/components/block-list/index.native.js +3 -5
  349. package/build-module/components/block-list/index.native.js.map +1 -1
  350. package/build-module/components/block-list/private-block-context.js +6 -0
  351. package/build-module/components/block-list/private-block-context.js.map +1 -0
  352. package/build-module/components/block-list/use-block-props/index.js +50 -70
  353. package/build-module/components/block-list/use-block-props/index.js.map +1 -1
  354. package/build-module/components/block-list/use-block-props/use-focus-first-element.js +4 -29
  355. package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
  356. package/build-module/components/block-list/use-block-props/use-is-hovered.js +4 -14
  357. package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
  358. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +4 -2
  359. package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
  360. package/build-module/components/block-list/use-in-between-inserter.js +3 -2
  361. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  362. package/build-module/components/block-list/use-scroll-upon-insertion.native.js +33 -0
  363. package/build-module/components/block-list/use-scroll-upon-insertion.native.js.map +1 -0
  364. package/build-module/components/block-lock/toolbar.js +22 -28
  365. package/build-module/components/block-lock/toolbar.js.map +1 -1
  366. package/build-module/components/block-mover/index.js +2 -1
  367. package/build-module/components/block-mover/index.js.map +1 -1
  368. package/build-module/components/block-patterns-list/index.js +6 -6
  369. package/build-module/components/block-patterns-list/index.js.map +1 -1
  370. package/build-module/components/block-removal-warning-modal/index.js +3 -10
  371. package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
  372. package/build-module/components/block-rename/modal.js +3 -0
  373. package/build-module/components/block-rename/modal.js.map +1 -1
  374. package/build-module/components/block-settings/container.native.js +4 -2
  375. package/build-module/components/block-settings/container.native.js.map +1 -1
  376. package/build-module/components/block-styles/index.js +1 -1
  377. package/build-module/components/block-styles/index.js.map +1 -1
  378. package/build-module/components/block-styles/index.native.js +3 -2
  379. package/build-module/components/block-styles/index.native.js.map +1 -1
  380. package/build-module/components/block-switcher/index.js +4 -4
  381. package/build-module/components/block-switcher/index.js.map +1 -1
  382. package/build-module/components/block-toolbar/index.js +89 -27
  383. package/build-module/components/block-toolbar/index.js.map +1 -1
  384. package/build-module/components/block-tools/block-toolbar-breadcrumb.js +41 -0
  385. package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -0
  386. package/build-module/components/block-tools/block-toolbar-popover.js +74 -0
  387. package/build-module/components/block-tools/block-toolbar-popover.js.map +1 -0
  388. package/build-module/components/block-tools/index.js +27 -24
  389. package/build-module/components/block-tools/index.js.map +1 -1
  390. package/build-module/components/block-types-list/index.native.js +2 -1
  391. package/build-module/components/block-types-list/index.native.js.map +1 -1
  392. package/build-module/components/block-variation-picker/index.native.js +2 -1
  393. package/build-module/components/block-variation-picker/index.native.js.map +1 -1
  394. package/build-module/components/block-variation-transforms/index.js +30 -3
  395. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  396. package/build-module/components/border-radius-control/linked-button.js +1 -1
  397. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  398. package/build-module/components/colors/utils.js +9 -1
  399. package/build-module/components/colors/utils.js.map +1 -1
  400. package/build-module/components/colors/with-colors.js +5 -1
  401. package/build-module/components/colors/with-colors.js.map +1 -1
  402. package/build-module/components/colors-gradients/control.js +29 -18
  403. package/build-module/components/colors-gradients/control.js.map +1 -1
  404. package/build-module/components/duotone-control/index.js +1 -4
  405. package/build-module/components/duotone-control/index.js.map +1 -1
  406. package/build-module/components/font-sizes/utils.js +9 -1
  407. package/build-module/components/font-sizes/utils.js.map +1 -1
  408. package/build-module/components/global-styles/border-panel.js +3 -2
  409. package/build-module/components/global-styles/border-panel.js.map +1 -1
  410. package/build-module/components/global-styles/color-panel.js +26 -23
  411. package/build-module/components/global-styles/color-panel.js.map +1 -1
  412. package/build-module/components/global-styles/dimensions-panel.js +5 -4
  413. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  414. package/build-module/components/global-styles/effects-panel.js +3 -2
  415. package/build-module/components/global-styles/effects-panel.js.map +1 -1
  416. package/build-module/components/global-styles/filters-panel.js +8 -5
  417. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  418. package/build-module/components/global-styles/get-global-styles-changes.js +184 -0
  419. package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -0
  420. package/build-module/components/global-styles/hooks.js +3 -2
  421. package/build-module/components/global-styles/hooks.js.map +1 -1
  422. package/build-module/components/global-styles/image-settings-panel.js +7 -1
  423. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  424. package/build-module/components/global-styles/index.js +1 -0
  425. package/build-module/components/global-styles/index.js.map +1 -1
  426. package/build-module/components/global-styles/typography-panel.js +45 -38
  427. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  428. package/build-module/components/global-styles/use-global-styles-output.js +15 -1
  429. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  430. package/build-module/components/global-styles/utils.js +7 -0
  431. package/build-module/components/global-styles/utils.js.map +1 -1
  432. package/build-module/components/height-control/index.js +6 -2
  433. package/build-module/components/height-control/index.js.map +1 -1
  434. package/build-module/components/image-link-destinations/index.native.js +109 -0
  435. package/build-module/components/image-link-destinations/index.native.js.map +1 -0
  436. package/build-module/components/image-size-control/index.js +2 -2
  437. package/build-module/components/image-size-control/index.js.map +1 -1
  438. package/build-module/components/index.native.js +3 -1
  439. package/build-module/components/index.native.js.map +1 -1
  440. package/build-module/components/inner-blocks/index.js +62 -23
  441. package/build-module/components/inner-blocks/index.js.map +1 -1
  442. package/build-module/components/inner-blocks/index.native.js +18 -4
  443. package/build-module/components/inner-blocks/index.native.js.map +1 -1
  444. package/build-module/components/inner-blocks/use-inner-block-template-sync.js +5 -6
  445. package/build-module/components/inner-blocks/use-inner-block-template-sync.js.map +1 -1
  446. package/build-module/components/inner-blocks/use-nested-settings-update.js +6 -10
  447. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  448. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  449. package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
  450. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +11 -10
  451. package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
  452. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +11 -11
  453. package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
  454. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +11 -11
  455. package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
  456. package/build-module/components/inserter/block-patterns-tab/utils.js +7 -11
  457. package/build-module/components/inserter/block-patterns-tab/utils.js.map +1 -1
  458. package/build-module/components/inserter/hooks/use-block-types-state.js +4 -14
  459. package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
  460. package/build-module/components/inserter/hooks/use-patterns-state.js +2 -2
  461. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  462. package/build-module/components/inserter/index.js +1 -2
  463. package/build-module/components/inserter/index.js.map +1 -1
  464. package/build-module/components/inserter/library.js +3 -7
  465. package/build-module/components/inserter/library.js.map +1 -1
  466. package/build-module/components/inserter/media-tab/media-panel.js +1 -1
  467. package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
  468. package/build-module/components/inserter/menu.js +26 -33
  469. package/build-module/components/inserter/menu.js.map +1 -1
  470. package/build-module/components/inserter/preview-panel.js +2 -2
  471. package/build-module/components/inserter/preview-panel.js.map +1 -1
  472. package/build-module/components/inserter/tabs.js +22 -22
  473. package/build-module/components/inserter/tabs.js.map +1 -1
  474. package/build-module/components/inserter-button/index.native.js +89 -0
  475. package/build-module/components/inserter-button/index.native.js.map +1 -0
  476. package/build-module/components/inserter-button/sparkles.js +15 -0
  477. package/build-module/components/inserter-button/sparkles.js.map +1 -0
  478. package/build-module/components/inserter-draggable-blocks/index.js +9 -5
  479. package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
  480. package/build-module/components/inserter-list-item/index.js +2 -4
  481. package/build-module/components/inserter-list-item/index.js.map +1 -1
  482. package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -1
  483. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  484. package/build-module/components/inspector-controls/fill.js +3 -3
  485. package/build-module/components/inspector-controls/fill.js.map +1 -1
  486. package/build-module/components/inspector-controls/fill.native.js +3 -3
  487. package/build-module/components/inspector-controls/fill.native.js.map +1 -1
  488. package/build-module/components/inspector-controls-tabs/index.js +35 -24
  489. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  490. package/build-module/components/list-view/block-select-button.js +4 -0
  491. package/build-module/components/list-view/block-select-button.js.map +1 -1
  492. package/build-module/components/list-view/block.js +58 -4
  493. package/build-module/components/list-view/block.js.map +1 -1
  494. package/build-module/components/media-upload-progress/constants.js +7 -0
  495. package/build-module/components/media-upload-progress/constants.js.map +1 -0
  496. package/build-module/components/media-upload-progress/index.native.js +37 -8
  497. package/build-module/components/media-upload-progress/index.native.js.map +1 -1
  498. package/build-module/components/navigable-toolbar/index.js +11 -16
  499. package/build-module/components/navigable-toolbar/index.js.map +1 -1
  500. package/build-module/components/plain-text/index.native.js +6 -1
  501. package/build-module/components/plain-text/index.native.js.map +1 -1
  502. package/build-module/components/preview-options/index.js +6 -62
  503. package/build-module/components/preview-options/index.js.map +1 -1
  504. package/build-module/components/provider/index.js +3 -1
  505. package/build-module/components/provider/index.js.map +1 -1
  506. package/build-module/components/provider/use-block-sync.js +7 -1
  507. package/build-module/components/provider/use-block-sync.js.map +1 -1
  508. package/build-module/components/rich-text/content.js +25 -21
  509. package/build-module/components/rich-text/content.js.map +1 -1
  510. package/build-module/components/rich-text/get-rich-text-values.js +2 -1
  511. package/build-module/components/rich-text/get-rich-text-values.js.map +1 -1
  512. package/build-module/components/rich-text/index.js +21 -39
  513. package/build-module/components/rich-text/index.js.map +1 -1
  514. package/build-module/components/rich-text/index.native.js +10 -18
  515. package/build-module/components/rich-text/index.native.js.map +1 -1
  516. package/build-module/components/rich-text/native/get-format-colors.native.js +22 -24
  517. package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
  518. package/build-module/components/rich-text/native/index.native.js +22 -56
  519. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  520. package/build-module/components/rich-text/use-input-rules.js +7 -3
  521. package/build-module/components/rich-text/use-input-rules.js.map +1 -1
  522. package/build-module/components/rich-text/use-mark-persistent.js +1 -1
  523. package/build-module/components/rich-text/use-mark-persistent.js.map +1 -1
  524. package/build-module/components/rich-text/with-deprecations.js +42 -0
  525. package/build-module/components/rich-text/with-deprecations.js.map +1 -0
  526. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  527. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  528. package/build-module/components/url-input/index.js +9 -6
  529. package/build-module/components/url-input/index.js.map +1 -1
  530. package/build-module/components/use-block-commands/index.js +14 -18
  531. package/build-module/components/use-block-commands/index.js.map +1 -1
  532. package/build-module/components/use-block-drop-zone/index.js +107 -18
  533. package/build-module/components/use-block-drop-zone/index.js.map +1 -1
  534. package/build-module/components/use-moving-animation/index.js +102 -94
  535. package/build-module/components/use-moving-animation/index.js.map +1 -1
  536. package/build-module/components/use-on-block-drop/index.js +9 -12
  537. package/build-module/components/use-on-block-drop/index.js.map +1 -1
  538. package/build-module/components/use-resize-canvas/index.js +4 -1
  539. package/build-module/components/use-resize-canvas/index.js.map +1 -1
  540. package/build-module/components/use-settings/index.js +13 -1
  541. package/build-module/components/use-settings/index.js.map +1 -1
  542. package/build-module/components/writing-flow/index.js +0 -1
  543. package/build-module/components/writing-flow/index.js.map +1 -1
  544. package/build-module/components/writing-flow/use-drag-selection.js +15 -4
  545. package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
  546. package/build-module/components/writing-flow/use-selection-observer.js +73 -27
  547. package/build-module/components/writing-flow/use-selection-observer.js.map +1 -1
  548. package/build-module/components/writing-flow/use-tab-nav.js +7 -4
  549. package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
  550. package/build-module/hooks/align.js +20 -67
  551. package/build-module/hooks/align.js.map +1 -1
  552. package/build-module/hooks/align.native.js +1 -0
  553. package/build-module/hooks/align.native.js.map +1 -1
  554. package/build-module/hooks/anchor.js +12 -27
  555. package/build-module/hooks/anchor.js.map +1 -1
  556. package/build-module/hooks/aria-label.js +7 -1
  557. package/build-module/hooks/aria-label.js.map +1 -1
  558. package/build-module/hooks/background.js +197 -37
  559. package/build-module/hooks/background.js.map +1 -1
  560. package/build-module/hooks/block-hooks.js +22 -30
  561. package/build-module/hooks/block-hooks.js.map +1 -1
  562. package/build-module/hooks/block-renaming.js +17 -21
  563. package/build-module/hooks/block-renaming.js.map +1 -1
  564. package/build-module/hooks/border.js +52 -79
  565. package/build-module/hooks/border.js.map +1 -1
  566. package/build-module/hooks/color.js +78 -88
  567. package/build-module/hooks/color.js.map +1 -1
  568. package/build-module/hooks/content-lock-ui.js +27 -27
  569. package/build-module/hooks/content-lock-ui.js.map +1 -1
  570. package/build-module/hooks/custom-class-name.js +12 -28
  571. package/build-module/hooks/custom-class-name.js.map +1 -1
  572. package/build-module/hooks/custom-class-name.native.js +7 -1
  573. package/build-module/hooks/custom-class-name.native.js.map +1 -1
  574. package/build-module/hooks/dimensions.js +15 -16
  575. package/build-module/hooks/dimensions.js.map +1 -1
  576. package/build-module/hooks/duotone.js +30 -61
  577. package/build-module/hooks/duotone.js.map +1 -1
  578. package/build-module/hooks/font-family.js +20 -25
  579. package/build-module/hooks/font-family.js.map +1 -1
  580. package/build-module/hooks/font-size.js +50 -120
  581. package/build-module/hooks/font-size.js.map +1 -1
  582. package/build-module/hooks/index.js +20 -16
  583. package/build-module/hooks/index.js.map +1 -1
  584. package/build-module/hooks/index.native.js +10 -6
  585. package/build-module/hooks/index.native.js.map +1 -1
  586. package/build-module/hooks/layout-child.js +60 -0
  587. package/build-module/hooks/layout-child.js.map +1 -0
  588. package/build-module/hooks/layout.js +21 -100
  589. package/build-module/hooks/layout.js.map +1 -1
  590. package/build-module/hooks/padding.js +2 -2
  591. package/build-module/hooks/padding.js.map +1 -1
  592. package/build-module/hooks/position.js +38 -59
  593. package/build-module/hooks/position.js.map +1 -1
  594. package/build-module/hooks/style.js +52 -85
  595. package/build-module/hooks/style.js.map +1 -1
  596. package/build-module/hooks/typography.js +26 -11
  597. package/build-module/hooks/typography.js.map +1 -1
  598. package/build-module/hooks/typography.native.js +43 -17
  599. package/build-module/hooks/typography.native.js.map +1 -1
  600. package/build-module/hooks/use-typography-props.js +9 -1
  601. package/build-module/hooks/use-typography-props.js.map +1 -1
  602. package/build-module/hooks/utils.js +194 -9
  603. package/build-module/hooks/utils.js.map +1 -1
  604. package/build-module/private-apis.js +2 -6
  605. package/build-module/private-apis.js.map +1 -1
  606. package/build-module/private-apis.native.js +0 -2
  607. package/build-module/private-apis.native.js.map +1 -1
  608. package/build-module/store/actions.js +0 -15
  609. package/build-module/store/actions.js.map +1 -1
  610. package/build-module/store/private-actions.js +52 -0
  611. package/build-module/store/private-actions.js.map +1 -1
  612. package/build-module/store/private-selectors.js +44 -1
  613. package/build-module/store/private-selectors.js.map +1 -1
  614. package/build-module/store/reducer.js +18 -2
  615. package/build-module/store/reducer.js.map +1 -1
  616. package/build-module/store/selectors.js +4 -65
  617. package/build-module/store/selectors.js.map +1 -1
  618. package/build-module/store/undo-ignore.js +5 -0
  619. package/build-module/store/undo-ignore.js.map +1 -0
  620. package/build-module/store/utils.js +56 -0
  621. package/build-module/store/utils.js.map +1 -0
  622. package/build-module/utils/get-px-from-css-unit.js +9 -0
  623. package/build-module/utils/get-px-from-css-unit.js.map +1 -0
  624. package/build-module/utils/index.js +1 -1
  625. package/build-module/utils/index.js.map +1 -1
  626. package/build-module/utils/object.js +37 -97
  627. package/build-module/utils/object.js.map +1 -1
  628. package/build-module/utils/selection.js +9 -1
  629. package/build-module/utils/selection.js.map +1 -1
  630. package/build-module/utils/use-can-block-toolbar-be-focused.js +40 -0
  631. package/build-module/utils/use-can-block-toolbar-be-focused.js.map +1 -0
  632. package/build-style/content-rtl.css +7 -6
  633. package/build-style/content.css +7 -6
  634. package/build-style/style-rtl.css +164 -301
  635. package/build-style/style.css +164 -301
  636. package/package.json +31 -31
  637. package/src/components/alignment-control/README.md +0 -5
  638. package/src/components/block-alignment-control/README.md +0 -5
  639. package/src/components/block-alignment-matrix-control/README.md +0 -10
  640. package/src/components/block-breadcrumb/README.md +0 -5
  641. package/src/components/block-canvas/index.js +29 -17
  642. package/src/components/block-canvas/style.scss +6 -0
  643. package/src/components/block-caption/README.md +2 -7
  644. package/src/components/block-card/README.md +0 -5
  645. package/src/components/block-card/index.js +6 -4
  646. package/src/components/block-card/style.scss +7 -3
  647. package/src/components/block-controls/hook.js +8 -30
  648. package/src/components/block-controls/test/index.js +3 -3
  649. package/src/components/block-draggable/draggable-chip.js +11 -1
  650. package/src/components/block-draggable/index.js +116 -4
  651. package/src/components/block-draggable/index.native.js +0 -5
  652. package/src/components/block-draggable/style.scss +35 -0
  653. package/src/components/block-draggable/test/helpers.native.js +8 -7
  654. package/src/components/block-draggable/use-scroll-when-dragging.native.js +1 -1
  655. package/src/components/block-edit/context.js +3 -0
  656. package/src/components/block-edit/index.js +36 -10
  657. package/src/components/block-editing-mode/index.js +3 -3
  658. package/src/components/block-icon/README.md +0 -5
  659. package/src/components/block-info-slot-fill/index.js +6 -3
  660. package/src/components/block-inspector/README.md +0 -5
  661. package/src/components/block-inspector/index.js +3 -1
  662. package/src/components/block-inspector/style.scss +0 -4
  663. package/src/components/block-list/block-list-item-cell.native.js +5 -1
  664. package/src/components/block-list/block.js +309 -104
  665. package/src/components/block-list/block.native.js +69 -21
  666. package/src/components/block-list/content.scss +14 -10
  667. package/src/components/block-list/index.native.js +3 -5
  668. package/src/components/block-list/{block-list-block-context.js → private-block-context.js} +1 -1
  669. package/src/components/block-list/use-block-props/index.js +43 -86
  670. package/src/components/block-list/use-block-props/use-focus-first-element.js +1 -34
  671. package/src/components/block-list/use-block-props/use-is-hovered.js +2 -13
  672. package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +1 -5
  673. package/src/components/block-list/use-in-between-inserter.js +4 -1
  674. package/src/components/block-list/use-scroll-upon-insertion.native.js +52 -0
  675. package/src/components/block-lock/toolbar.js +23 -34
  676. package/src/components/block-mover/README.md +0 -5
  677. package/src/components/block-mover/index.js +1 -1
  678. package/src/components/block-parent-selector/README.md +0 -5
  679. package/src/components/block-patterns-list/README.md +0 -5
  680. package/src/components/block-patterns-list/index.js +9 -6
  681. package/src/components/block-removal-warning-modal/index.js +7 -14
  682. package/src/components/block-rename/modal.js +7 -1
  683. package/src/components/block-settings/container.native.js +3 -5
  684. package/src/components/block-styles/index.js +1 -1
  685. package/src/components/block-styles/index.native.js +4 -2
  686. package/src/components/block-styles/style.scss +0 -11
  687. package/src/components/block-switcher/index.js +49 -59
  688. package/src/components/block-switcher/test/__snapshots__/index.js.snap +3 -1
  689. package/src/components/block-toolbar/README.md +0 -5
  690. package/src/components/block-toolbar/index.js +179 -95
  691. package/src/components/block-toolbar/style.scss +50 -66
  692. package/src/components/block-tools/block-toolbar-breadcrumb.js +46 -0
  693. package/src/components/block-tools/block-toolbar-popover.js +84 -0
  694. package/src/components/block-tools/index.js +42 -29
  695. package/src/components/block-tools/style.scss +60 -172
  696. package/src/components/block-types-list/README.md +0 -5
  697. package/src/components/block-types-list/index.native.js +2 -1
  698. package/src/components/block-variation-picker/README.md +0 -5
  699. package/src/components/block-variation-picker/index.native.js +1 -1
  700. package/src/components/block-variation-transforms/README.md +0 -5
  701. package/src/components/block-variation-transforms/index.js +49 -3
  702. package/src/components/border-radius-control/linked-button.js +1 -1
  703. package/src/components/caption/README.md +0 -5
  704. package/src/components/color-palette/test/__snapshots__/control.js.snap +0 -1
  705. package/src/components/colors/utils.js +8 -1
  706. package/src/components/colors/with-colors.js +3 -1
  707. package/src/components/colors-gradients/control.js +49 -30
  708. package/src/components/colors-gradients/style.scss +0 -7
  709. package/src/components/contrast-checker/README.md +0 -4
  710. package/src/components/copy-handler/README.md +0 -10
  711. package/src/components/duotone-control/index.js +2 -5
  712. package/src/components/duotone-control/style.scss +1 -6
  713. package/src/components/font-sizes/utils.js +7 -1
  714. package/src/components/global-styles/border-panel.js +2 -1
  715. package/src/components/global-styles/color-panel.js +36 -26
  716. package/src/components/global-styles/dimensions-panel.js +4 -3
  717. package/src/components/global-styles/effects-panel.js +2 -1
  718. package/src/components/global-styles/filters-panel.js +6 -5
  719. package/src/components/global-styles/get-global-styles-changes.js +210 -0
  720. package/src/components/global-styles/hooks.js +5 -0
  721. package/src/components/global-styles/image-settings-panel.js +6 -0
  722. package/src/components/global-styles/index.js +1 -0
  723. package/src/components/global-styles/test/get-global-styles-changes.js +234 -0
  724. package/src/components/global-styles/typography-panel.js +60 -47
  725. package/src/components/global-styles/use-global-styles-output.js +9 -5
  726. package/src/components/global-styles/utils.js +7 -0
  727. package/src/components/height-control/README.md +2 -7
  728. package/src/components/height-control/index.js +4 -0
  729. package/src/components/image-link-destinations/index.native.js +152 -0
  730. package/src/components/image-link-destinations/style.native.scss +16 -0
  731. package/src/components/image-size-control/index.js +5 -2
  732. package/src/components/index.native.js +3 -2
  733. package/src/components/inner-blocks/README.md +13 -2
  734. package/src/components/inner-blocks/index.js +68 -29
  735. package/src/components/inner-blocks/index.native.js +19 -7
  736. package/src/components/inner-blocks/use-inner-block-template-sync.js +5 -7
  737. package/src/components/inner-blocks/use-nested-settings-update.js +6 -13
  738. package/src/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
  739. package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +15 -15
  740. package/src/components/inserter/block-patterns-tab/patterns-filter.js +15 -13
  741. package/src/components/inserter/block-patterns-tab/use-pattern-categories.js +15 -18
  742. package/src/components/inserter/block-patterns-tab/utils.js +11 -12
  743. package/src/components/inserter/hooks/use-block-types-state.js +9 -11
  744. package/src/components/inserter/hooks/use-patterns-state.js +2 -2
  745. package/src/components/inserter/index.js +0 -1
  746. package/src/components/inserter/library.js +2 -8
  747. package/src/components/inserter/media-tab/media-panel.js +1 -1
  748. package/src/components/inserter/menu.js +26 -36
  749. package/src/components/inserter/preview-panel.js +2 -2
  750. package/src/components/inserter/style.scss +21 -21
  751. package/src/components/inserter/tabs.js +34 -25
  752. package/src/components/inserter-button/README.md +62 -0
  753. package/src/components/inserter-button/index.native.js +116 -0
  754. package/src/components/inserter-button/sparkles.js +15 -0
  755. package/src/components/inserter-button/style.native.scss +72 -0
  756. package/src/components/inserter-draggable-blocks/index.js +18 -5
  757. package/src/components/inserter-list-item/index.js +6 -6
  758. package/src/components/inspector-controls/block-support-tools-panel.js +2 -0
  759. package/src/components/inspector-controls/fill.js +6 -3
  760. package/src/components/inspector-controls/fill.native.js +6 -3
  761. package/src/components/inspector-controls-tabs/index.js +39 -28
  762. package/src/components/inspector-controls-tabs/style.scss +3 -2
  763. package/src/components/letter-spacing-control/README.md +0 -5
  764. package/src/components/line-height-control/README.md +0 -5
  765. package/src/components/link-control/style.scss +1 -1
  766. package/src/components/link-control/test/index.js +1 -1
  767. package/src/components/list-view/README.md +0 -5
  768. package/src/components/list-view/block-select-button.js +4 -0
  769. package/src/components/list-view/block.js +73 -2
  770. package/src/components/list-view/style.scss +6 -0
  771. package/src/components/media-upload-progress/constants.js +6 -0
  772. package/src/components/media-upload-progress/index.native.js +66 -14
  773. package/src/components/media-upload-progress/test/index.native.js +2 -2
  774. package/src/components/multi-selection-inspector/README.md +0 -5
  775. package/src/components/navigable-toolbar/README.md +2 -0
  776. package/src/components/navigable-toolbar/index.js +15 -13
  777. package/src/components/plain-text/index.native.js +6 -1
  778. package/src/components/preview-options/index.js +6 -86
  779. package/src/components/provider/index.js +1 -1
  780. package/src/components/provider/test/use-block-sync.js +20 -17
  781. package/src/components/provider/use-block-sync.js +6 -0
  782. package/src/components/rich-text/content.js +27 -20
  783. package/src/components/rich-text/get-rich-text-values.js +6 -1
  784. package/src/components/rich-text/index.js +23 -52
  785. package/src/components/rich-text/index.native.js +8 -25
  786. package/src/components/rich-text/native/get-format-colors.native.js +33 -40
  787. package/src/components/rich-text/native/index.native.js +22 -71
  788. package/src/components/rich-text/native/test/__snapshots__/index.native.js.snap +3 -3
  789. package/src/components/rich-text/native/test/index.native.js +72 -5
  790. package/src/components/rich-text/use-input-rules.js +8 -3
  791. package/src/components/rich-text/use-mark-persistent.js +1 -2
  792. package/src/components/rich-text/with-deprecations.js +51 -0
  793. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -1
  794. package/src/components/text-decoration-control/README.md +40 -0
  795. package/src/components/text-transform-control/README.md +0 -4
  796. package/src/components/ungroup-button/README.md +0 -5
  797. package/src/components/unit-control/README.md +0 -4
  798. package/src/components/url-input/index.js +11 -11
  799. package/src/components/use-block-commands/index.js +18 -21
  800. package/src/components/use-block-drop-zone/index.js +181 -30
  801. package/src/components/use-moving-animation/index.js +107 -103
  802. package/src/components/use-on-block-drop/index.js +9 -24
  803. package/src/components/use-on-block-drop/test/index.js +12 -26
  804. package/src/components/use-resize-canvas/README.md +3 -7
  805. package/src/components/use-resize-canvas/index.js +4 -1
  806. package/src/components/use-settings/README.md +0 -4
  807. package/src/components/use-settings/index.js +15 -1
  808. package/src/components/writing-flow/index.js +0 -1
  809. package/src/components/writing-flow/use-drag-selection.js +18 -4
  810. package/src/components/writing-flow/use-selection-observer.js +99 -37
  811. package/src/components/writing-flow/use-tab-nav.js +7 -7
  812. package/src/hooks/align.js +16 -81
  813. package/src/hooks/align.native.js +1 -0
  814. package/src/hooks/anchor.js +14 -38
  815. package/src/hooks/aria-label.js +8 -5
  816. package/src/hooks/background.js +269 -32
  817. package/src/hooks/block-hooks.js +22 -51
  818. package/src/hooks/block-renaming.js +23 -37
  819. package/src/hooks/border.js +62 -124
  820. package/src/hooks/color.js +111 -138
  821. package/src/hooks/content-lock-ui.js +110 -122
  822. package/src/hooks/custom-class-name.js +9 -45
  823. package/src/hooks/custom-class-name.native.js +8 -5
  824. package/src/hooks/dimensions.js +14 -16
  825. package/src/hooks/duotone.js +70 -127
  826. package/src/hooks/font-family.js +14 -36
  827. package/src/hooks/font-size.js +67 -168
  828. package/src/hooks/index.js +58 -16
  829. package/src/hooks/index.native.js +22 -6
  830. package/src/hooks/layout-child.js +53 -0
  831. package/src/hooks/layout.js +17 -103
  832. package/src/hooks/padding.js +2 -2
  833. package/src/hooks/position.js +50 -90
  834. package/src/hooks/style.js +118 -193
  835. package/src/hooks/test/align.js +1 -178
  836. package/src/hooks/test/anchor.js +4 -9
  837. package/src/hooks/test/custom-class-name.js +3 -8
  838. package/src/hooks/test/style.js +4 -14
  839. package/src/hooks/typography.js +14 -16
  840. package/src/hooks/typography.native.js +31 -33
  841. package/src/hooks/use-typography-props.js +7 -1
  842. package/src/hooks/utils.js +261 -10
  843. package/src/private-apis.js +2 -6
  844. package/src/private-apis.native.js +0 -2
  845. package/src/store/actions.js +0 -15
  846. package/src/store/private-actions.js +48 -0
  847. package/src/store/private-selectors.js +56 -0
  848. package/src/store/reducer.js +20 -1
  849. package/src/store/selectors.js +10 -82
  850. package/src/store/undo-ignore.js +4 -0
  851. package/src/store/utils.js +74 -0
  852. package/src/style.scss +1 -2
  853. package/src/utils/get-px-from-css-unit.js +8 -0
  854. package/src/utils/index.js +1 -1
  855. package/src/utils/object.js +34 -104
  856. package/src/utils/selection.js +9 -2
  857. package/src/utils/test/object.js +1 -96
  858. package/src/utils/use-can-block-toolbar-be-focused.js +48 -0
  859. package/build/components/block-list/block-list-block-context.js +0 -14
  860. package/build/components/block-list/block-list-block-context.js.map +0 -1
  861. package/build/components/block-list/use-block-props/use-block-class-names.js +0 -67
  862. package/build/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
  863. package/build/components/block-list/use-block-props/use-block-custom-class-name.js +0 -46
  864. package/build/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
  865. package/build/components/block-list/use-block-props/use-block-default-class-name.js +0 -37
  866. package/build/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
  867. package/build/components/block-tools/back-compat.js +0 -45
  868. package/build/components/block-tools/back-compat.js.map +0 -1
  869. package/build/components/block-tools/block-contextual-toolbar.js +0 -91
  870. package/build/components/block-tools/block-contextual-toolbar.js.map +0 -1
  871. package/build/components/block-tools/selected-block-tools.js +0 -113
  872. package/build/components/block-tools/selected-block-tools.js.map +0 -1
  873. package/build/components/inserter/hooks/use-debounced-input.js +0 -22
  874. package/build/components/inserter/hooks/use-debounced-input.js.map +0 -1
  875. package/build/components/use-display-block-controls/index.js +0 -39
  876. package/build/components/use-display-block-controls/index.js.map +0 -1
  877. package/build/components/use-display-block-controls/index.native.js +0 -39
  878. package/build/components/use-display-block-controls/index.native.js.map +0 -1
  879. package/build/hooks/custom-fields.js +0 -120
  880. package/build/hooks/custom-fields.js.map +0 -1
  881. package/build/utils/parse-css-unit-to-px.js +0 -302
  882. package/build/utils/parse-css-unit-to-px.js.map +0 -1
  883. package/build/utils/use-should-contextual-toolbar-show.js +0 -63
  884. package/build/utils/use-should-contextual-toolbar-show.js.map +0 -1
  885. package/build-module/components/block-list/block-list-block-context.js +0 -6
  886. package/build-module/components/block-list/block-list-block-context.js.map +0 -1
  887. package/build-module/components/block-list/use-block-props/use-block-class-names.js +0 -60
  888. package/build-module/components/block-list/use-block-props/use-block-class-names.js.map +0 -1
  889. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js +0 -40
  890. package/build-module/components/block-list/use-block-props/use-block-custom-class-name.js.map +0 -1
  891. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js +0 -31
  892. package/build-module/components/block-list/use-block-props/use-block-default-class-name.js.map +0 -1
  893. package/build-module/components/block-tools/back-compat.js +0 -35
  894. package/build-module/components/block-tools/back-compat.js.map +0 -1
  895. package/build-module/components/block-tools/block-contextual-toolbar.js +0 -83
  896. package/build-module/components/block-tools/block-contextual-toolbar.js.map +0 -1
  897. package/build-module/components/block-tools/selected-block-tools.js +0 -105
  898. package/build-module/components/block-tools/selected-block-tools.js.map +0 -1
  899. package/build-module/components/inserter/hooks/use-debounced-input.js +0 -15
  900. package/build-module/components/inserter/hooks/use-debounced-input.js.map +0 -1
  901. package/build-module/components/use-display-block-controls/index.js +0 -32
  902. package/build-module/components/use-display-block-controls/index.js.map +0 -1
  903. package/build-module/components/use-display-block-controls/index.native.js +0 -32
  904. package/build-module/components/use-display-block-controls/index.native.js.map +0 -1
  905. package/build-module/hooks/custom-fields.js +0 -118
  906. package/build-module/hooks/custom-fields.js.map +0 -1
  907. package/build-module/utils/parse-css-unit-to-px.js +0 -294
  908. package/build-module/utils/parse-css-unit-to-px.js.map +0 -1
  909. package/build-module/utils/use-should-contextual-toolbar-show.js +0 -57
  910. package/build-module/utils/use-should-contextual-toolbar-show.js.map +0 -1
  911. package/src/components/block-list/use-block-props/use-block-class-names.js +0 -66
  912. package/src/components/block-list/use-block-props/use-block-custom-class-name.js +0 -44
  913. package/src/components/block-list/use-block-props/use-block-default-class-name.js +0 -35
  914. package/src/components/block-parent-selector/style.scss +0 -11
  915. package/src/components/block-tools/back-compat.js +0 -35
  916. package/src/components/block-tools/block-contextual-toolbar.js +0 -100
  917. package/src/components/block-tools/selected-block-tools.js +0 -127
  918. package/src/components/inserter/hooks/use-debounced-input.js +0 -18
  919. package/src/components/preview-options/README.md +0 -94
  920. package/src/components/preview-options/style.scss +0 -64
  921. package/src/components/use-display-block-controls/index.js +0 -36
  922. package/src/components/use-display-block-controls/index.native.js +0 -37
  923. package/src/hooks/custom-fields.js +0 -142
  924. package/src/hooks/test/color.js +0 -112
  925. package/src/utils/parse-css-unit-to-px.js +0 -329
  926. package/src/utils/test/parse-css-unit-to-px.js +0 -172
  927. package/src/utils/use-should-contextual-toolbar-show.js +0 -85
@@ -6,23 +6,24 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.COLOR_SUPPORT_KEY = void 0;
8
8
  exports.ColorEdit = ColorEdit;
9
- exports.addEditProps = addEditProps;
10
9
  exports.addSaveProps = addSaveProps;
11
10
  exports.addTransforms = addTransforms;
12
- exports.withColorPaletteStyles = void 0;
11
+ exports.default = void 0;
13
12
  var _react = require("react");
14
13
  var _classnames = _interopRequireDefault(require("classnames"));
15
14
  var _hooks = require("@wordpress/hooks");
16
15
  var _blocks = require("@wordpress/blocks");
17
16
  var _element = require("@wordpress/element");
18
- var _compose = require("@wordpress/compose");
17
+ var _data = require("@wordpress/data");
19
18
  var _colors = require("../components/colors");
20
19
  var _gradients = require("../components/gradients");
21
20
  var _utils = require("./utils");
21
+ var _background = require("./background");
22
22
  var _useSettings = require("../components/use-settings");
23
23
  var _inspectorControls = _interopRequireDefault(require("../components/inspector-controls"));
24
24
  var _colorPanel = _interopRequireWildcard(require("../components/global-styles/color-panel"));
25
25
  var _contrastChecker = _interopRequireDefault(require("./contrast-checker"));
26
+ var _store = require("../store");
26
27
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
28
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
28
29
  /**
@@ -39,8 +40,8 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
39
40
 
40
41
  const COLOR_SUPPORT_KEY = 'color';
41
42
  exports.COLOR_SUPPORT_KEY = COLOR_SUPPORT_KEY;
42
- const hasColorSupport = blockType => {
43
- const colorSupport = (0, _blocks.getBlockSupport)(blockType, COLOR_SUPPORT_KEY);
43
+ const hasColorSupport = blockNameOrType => {
44
+ const colorSupport = (0, _blocks.getBlockSupport)(blockNameOrType, COLOR_SUPPORT_KEY);
44
45
  return colorSupport && (colorSupport.link === true || colorSupport.gradient === true || colorSupport.background !== false || colorSupport.text !== false);
45
46
  };
46
47
  const hasLinkColorSupport = blockType => {
@@ -50,8 +51,8 @@ const hasLinkColorSupport = blockType => {
50
51
  const colorSupport = (0, _blocks.getBlockSupport)(blockType, COLOR_SUPPORT_KEY);
51
52
  return colorSupport !== null && typeof colorSupport === 'object' && !!colorSupport.link;
52
53
  };
53
- const hasGradientSupport = blockType => {
54
- const colorSupport = (0, _blocks.getBlockSupport)(blockType, COLOR_SUPPORT_KEY);
54
+ const hasGradientSupport = blockNameOrType => {
55
+ const colorSupport = (0, _blocks.getBlockSupport)(blockNameOrType, COLOR_SUPPORT_KEY);
55
56
  return colorSupport !== null && typeof colorSupport === 'object' && !!colorSupport.gradients;
56
57
  };
57
58
  const hasBackgroundColorSupport = blockType => {
@@ -104,17 +105,17 @@ function addAttributes(settings) {
104
105
  /**
105
106
  * Override props assigned to save component to inject colors classnames.
106
107
  *
107
- * @param {Object} props Additional props applied to save element.
108
- * @param {Object} blockType Block type.
109
- * @param {Object} attributes Block attributes.
108
+ * @param {Object} props Additional props applied to save element.
109
+ * @param {Object|string} blockNameOrType Block type.
110
+ * @param {Object} attributes Block attributes.
110
111
  *
111
112
  * @return {Object} Filtered props applied to save element.
112
113
  */
113
- function addSaveProps(props, blockType, attributes) {
114
- if (!hasColorSupport(blockType) || (0, _utils.shouldSkipSerialization)(blockType, COLOR_SUPPORT_KEY)) {
114
+ function addSaveProps(props, blockNameOrType, attributes) {
115
+ if (!hasColorSupport(blockNameOrType) || (0, _utils.shouldSkipSerialization)(blockNameOrType, COLOR_SUPPORT_KEY)) {
115
116
  return props;
116
117
  }
117
- const hasGradient = hasGradientSupport(blockType);
118
+ const hasGradient = hasGradientSupport(blockNameOrType);
118
119
 
119
120
  // I'd have preferred to avoid the "style" attribute usage here
120
121
  const {
@@ -123,7 +124,7 @@ function addSaveProps(props, blockType, attributes) {
123
124
  gradient,
124
125
  style
125
126
  } = attributes;
126
- const shouldSerialize = feature => !(0, _utils.shouldSkipSerialization)(blockType, COLOR_SUPPORT_KEY, feature);
127
+ const shouldSerialize = feature => !(0, _utils.shouldSkipSerialization)(blockNameOrType, COLOR_SUPPORT_KEY, feature);
127
128
 
128
129
  // Primary color classes must come before the `has-text-color`,
129
130
  // `has-background` and `has-link-color` classes to maintain backwards
@@ -143,29 +144,6 @@ function addSaveProps(props, blockType, attributes) {
143
144
  props.className = newClassName ? newClassName : undefined;
144
145
  return props;
145
146
  }
146
-
147
- /**
148
- * Filters registered block settings to extend the block edit wrapper
149
- * to apply the desired styles and classnames properly.
150
- *
151
- * @param {Object} settings Original block settings.
152
- *
153
- * @return {Object} Filtered block settings.
154
- */
155
- function addEditProps(settings) {
156
- if (!hasColorSupport(settings) || (0, _utils.shouldSkipSerialization)(settings, COLOR_SUPPORT_KEY)) {
157
- return settings;
158
- }
159
- const existingGetEditWrapperProps = settings.getEditWrapperProps;
160
- settings.getEditWrapperProps = attributes => {
161
- let props = {};
162
- if (existingGetEditWrapperProps) {
163
- props = existingGetEditWrapperProps(attributes);
164
- }
165
- return addSaveProps(props, settings, attributes);
166
- };
167
- return settings;
168
- }
169
147
  function styleToAttributes(style) {
170
148
  const textColorValue = style?.color?.text;
171
149
  const textColorSlug = textColorValue?.startsWith('var:preset|color|') ? textColorValue.substring('var:preset|color|'.length) : undefined;
@@ -217,35 +195,53 @@ function ColorInspectorControl({
217
195
  resetAllFilter: attributesResetAllFilter
218
196
  }, children);
219
197
  }
220
- function ColorEdit(props) {
221
- const {
222
- clientId,
223
- name,
224
- attributes,
225
- setAttributes
226
- } = props;
227
- const settings = (0, _utils.useBlockSettings)(name);
198
+ function ColorEdit({
199
+ clientId,
200
+ name,
201
+ setAttributes,
202
+ settings
203
+ }) {
228
204
  const isEnabled = (0, _colorPanel.useHasColorPanel)(settings);
205
+ function selector(select) {
206
+ const {
207
+ style,
208
+ textColor,
209
+ backgroundColor,
210
+ gradient
211
+ } = select(_store.store).getBlockAttributes(clientId) || {};
212
+ return {
213
+ style,
214
+ textColor,
215
+ backgroundColor,
216
+ gradient
217
+ };
218
+ }
219
+ const {
220
+ style,
221
+ textColor,
222
+ backgroundColor,
223
+ gradient
224
+ } = (0, _data.useSelect)(selector, [clientId]);
229
225
  const value = (0, _element.useMemo)(() => {
230
226
  return attributesToStyle({
231
- style: attributes.style,
232
- textColor: attributes.textColor,
233
- backgroundColor: attributes.backgroundColor,
234
- gradient: attributes.gradient
227
+ style,
228
+ textColor,
229
+ backgroundColor,
230
+ gradient
235
231
  });
236
- }, [attributes.style, attributes.textColor, attributes.backgroundColor, attributes.gradient]);
232
+ }, [style, textColor, backgroundColor, gradient]);
237
233
  const onChange = newStyle => {
238
234
  setAttributes(styleToAttributes(newStyle));
239
235
  };
240
236
  if (!isEnabled) {
241
237
  return null;
242
238
  }
243
- const defaultControls = (0, _blocks.getBlockSupport)(props.name, [COLOR_SUPPORT_KEY, '__experimentalDefaultControls']);
239
+ const defaultControls = (0, _blocks.getBlockSupport)(name, [COLOR_SUPPORT_KEY, '__experimentalDefaultControls']);
244
240
  const enableContrastChecking = _element.Platform.OS === 'web' && !value?.color?.gradient && (settings?.color?.text || settings?.color?.link) &&
245
241
  // Contrast checking is enabled by default.
246
242
  // Deactivating it requires `enableContrastChecker` to have
247
243
  // an explicit value of `false`.
248
- false !== (0, _blocks.getBlockSupport)(props.name, [COLOR_SUPPORT_KEY, 'enableContrastChecker']);
244
+ false !== (0, _blocks.getBlockSupport)(name, [COLOR_SUPPORT_KEY, 'enableContrastChecker']);
249
245
  return (0, _react.createElement)(_colorPanel.default, {
250
246
  as: ColorInspectorControl,
251
247
  panelId: clientId,
@@ -253,35 +249,22 @@ function ColorEdit(props) {
253
249
  value: value,
254
250
  onChange: onChange,
255
251
  defaultControls: defaultControls,
256
- enableContrastChecker: false !== (0, _blocks.getBlockSupport)(props.name, [COLOR_SUPPORT_KEY, 'enableContrastChecker'])
252
+ enableContrastChecker: false !== (0, _blocks.getBlockSupport)(name, [COLOR_SUPPORT_KEY, 'enableContrastChecker'])
257
253
  }, enableContrastChecking && (0, _react.createElement)(_contrastChecker.default, {
258
254
  clientId: clientId
259
255
  }));
260
256
  }
261
-
262
- /**
263
- * This adds inline styles for color palette colors.
264
- * Ideally, this is not needed and themes should load their palettes on the editor.
265
- *
266
- * @param {Function} BlockListBlock Original component.
267
- *
268
- * @return {Function} Wrapped component.
269
- */
270
- const withColorPaletteStyles = (0, _compose.createHigherOrderComponent)(BlockListBlock => props => {
271
- const {
272
- name,
273
- attributes
274
- } = props;
275
- const {
276
- backgroundColor,
277
- textColor
278
- } = attributes;
257
+ function useBlockProps({
258
+ name,
259
+ backgroundColor,
260
+ textColor,
261
+ gradient,
262
+ style
263
+ }) {
279
264
  const [userPalette, themePalette, defaultPalette] = (0, _useSettings.useSettings)('color.palette.custom', 'color.palette.theme', 'color.palette.default');
280
265
  const colors = (0, _element.useMemo)(() => [...(userPalette || []), ...(themePalette || []), ...(defaultPalette || [])], [userPalette, themePalette, defaultPalette]);
281
266
  if (!hasColorSupport(name) || (0, _utils.shouldSkipSerialization)(name, COLOR_SUPPORT_KEY)) {
282
- return (0, _react.createElement)(BlockListBlock, {
283
- ...props
284
- });
267
+ return {};
285
268
  }
286
269
  const extraStyles = {};
287
270
  if (textColor && !(0, _utils.shouldSkipSerialization)(name, COLOR_SUPPORT_KEY, 'text')) {
@@ -290,20 +273,29 @@ const withColorPaletteStyles = (0, _compose.createHigherOrderComponent)(BlockLis
290
273
  if (backgroundColor && !(0, _utils.shouldSkipSerialization)(name, COLOR_SUPPORT_KEY, 'background')) {
291
274
  extraStyles.backgroundColor = (0, _colors.getColorObjectByAttributeValues)(colors, backgroundColor)?.color;
292
275
  }
293
- let wrapperProps = props.wrapperProps;
294
- wrapperProps = {
295
- ...props.wrapperProps,
296
- style: {
297
- ...extraStyles,
298
- ...props.wrapperProps?.style
299
- }
300
- };
301
- return (0, _react.createElement)(BlockListBlock, {
302
- ...props,
303
- wrapperProps: wrapperProps
276
+ const saveProps = addSaveProps({
277
+ style: extraStyles
278
+ }, name, {
279
+ textColor,
280
+ backgroundColor,
281
+ gradient,
282
+ style
304
283
  });
305
- }, 'withColorPaletteStyles');
306
- exports.withColorPaletteStyles = withColorPaletteStyles;
284
+ const hasBackgroundValue = backgroundColor || style?.color?.background || gradient || style?.color?.gradient;
285
+ return {
286
+ ...saveProps,
287
+ className: (0, _classnames.default)(saveProps.className,
288
+ // Add background image classes in the editor, if not already handled by background color values.
289
+ !hasBackgroundValue && (0, _background.getBackgroundImageClasses)(style))
290
+ };
291
+ }
292
+ var _default = {
293
+ useBlockProps,
294
+ addSaveProps,
295
+ attributeKeys: ['backgroundColor', 'textColor', 'gradient', 'style'],
296
+ hasSupport: hasColorSupport
297
+ };
298
+ exports.default = _default;
307
299
  const MIGRATION_PATHS = {
308
300
  linkColor: [['style', 'elements', 'link', 'color', 'text']],
309
301
  textColor: [['textColor'], ['style', 'color', 'text']],
@@ -321,8 +313,5 @@ function addTransforms(result, source, index, results) {
321
313
  return (0, _utils.transformStyles)(activeSupports, MIGRATION_PATHS, result, source, index, results);
322
314
  }
323
315
  (0, _hooks.addFilter)('blocks.registerBlockType', 'core/color/addAttribute', addAttributes);
324
- (0, _hooks.addFilter)('blocks.getSaveContent.extraProps', 'core/color/addSaveProps', addSaveProps);
325
- (0, _hooks.addFilter)('blocks.registerBlockType', 'core/color/addEditProps', addEditProps);
326
- (0, _hooks.addFilter)('editor.BlockListBlock', 'core/color/with-color-palette-styles', withColorPaletteStyles);
327
316
  (0, _hooks.addFilter)('blocks.switchToBlockType.transformedBlock', 'core/color/addTransforms', addTransforms);
328
317
  //# sourceMappingURL=color.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_hooks","_blocks","_element","_compose","_colors","_gradients","_utils","_useSettings","_inspectorControls","_colorPanel","_interopRequireWildcard","_contrastChecker","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","COLOR_SUPPORT_KEY","exports","hasColorSupport","blockType","colorSupport","getBlockSupport","link","gradient","background","text","hasLinkColorSupport","Platform","OS","hasGradientSupport","gradients","hasBackgroundColorSupport","hasTextColorSupport","addAttributes","settings","attributes","backgroundColor","assign","type","textColor","addSaveProps","props","shouldSkipSerialization","hasGradient","style","shouldSerialize","feature","textClass","getColorClassName","undefined","gradientClass","__experimentalGetGradientClass","backgroundClass","serializeHasBackground","hasBackground","color","newClassName","classnames","className","elements","addEditProps","existingGetEditWrapperProps","getEditWrapperProps","styleToAttributes","textColorValue","textColorSlug","startsWith","substring","length","backgroundColorValue","backgroundColorSlug","gradientValue","gradientSlug","updatedStyle","cleanEmptyObject","attributesToStyle","ColorInspectorControl","children","resetAllFilter","attributesResetAllFilter","useCallback","existingStyle","_react","createElement","group","ColorEdit","clientId","name","setAttributes","useBlockSettings","isEnabled","useHasColorPanel","value","useMemo","onChange","newStyle","defaultControls","enableContrastChecking","as","panelId","enableContrastChecker","withColorPaletteStyles","createHigherOrderComponent","BlockListBlock","userPalette","themePalette","defaultPalette","useSettings","colors","extraStyles","getColorObjectByAttributeValues","wrapperProps","MIGRATION_PATHS","linkColor","addTransforms","result","source","index","results","destinationBlockType","activeSupports","transformStyles","addFilter"],"sources":["@wordpress/block-editor/src/hooks/color.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { useMemo, Platform, useCallback } from '@wordpress/element';\nimport { createHigherOrderComponent } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetColorClassName,\n\tgetColorObjectByAttributeValues,\n} from '../components/colors';\nimport { __experimentalGetGradientClass } from '../components/gradients';\nimport {\n\tcleanEmptyObject,\n\ttransformStyles,\n\tshouldSkipSerialization,\n\tuseBlockSettings,\n} from './utils';\nimport { useSettings } from '../components/use-settings';\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tuseHasColorPanel,\n\tdefault as StylesColorPanel,\n} from '../components/global-styles/color-panel';\nimport BlockColorContrastChecker from './contrast-checker';\n\nexport const COLOR_SUPPORT_KEY = 'color';\n\nconst hasColorSupport = ( blockType ) => {\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\treturn (\n\t\tcolorSupport &&\n\t\t( colorSupport.link === true ||\n\t\t\tcolorSupport.gradient === true ||\n\t\t\tcolorSupport.background !== false ||\n\t\t\tcolorSupport.text !== false )\n\t);\n};\n\nconst hasLinkColorSupport = ( blockType ) => {\n\tif ( Platform.OS !== 'web' ) {\n\t\treturn false;\n\t}\n\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn (\n\t\tcolorSupport !== null &&\n\t\ttypeof colorSupport === 'object' &&\n\t\t!! colorSupport.link\n\t);\n};\n\nconst hasGradientSupport = ( blockType ) => {\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn (\n\t\tcolorSupport !== null &&\n\t\ttypeof colorSupport === 'object' &&\n\t\t!! colorSupport.gradients\n\t);\n};\n\nconst hasBackgroundColorSupport = ( blockType ) => {\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn colorSupport && colorSupport.background !== false;\n};\n\nconst hasTextColorSupport = ( blockType ) => {\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn colorSupport && colorSupport.text !== false;\n};\n\n/**\n * Filters registered block settings, extending attributes to include\n * `backgroundColor` and `textColor` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasColorSupport( settings ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( ! settings.attributes.backgroundColor ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\tif ( ! settings.attributes.textColor ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\tif ( hasGradientSupport( settings ) && ! settings.attributes.gradient ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject colors classnames.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object} blockType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( props, blockType, attributes ) {\n\tif (\n\t\t! hasColorSupport( blockType ) ||\n\t\tshouldSkipSerialization( blockType, COLOR_SUPPORT_KEY )\n\t) {\n\t\treturn props;\n\t}\n\n\tconst hasGradient = hasGradientSupport( blockType );\n\n\t// I'd have preferred to avoid the \"style\" attribute usage here\n\tconst { backgroundColor, textColor, gradient, style } = attributes;\n\n\tconst shouldSerialize = ( feature ) =>\n\t\t! shouldSkipSerialization( blockType, COLOR_SUPPORT_KEY, feature );\n\n\t// Primary color classes must come before the `has-text-color`,\n\t// `has-background` and `has-link-color` classes to maintain backwards\n\t// compatibility and avoid block invalidations.\n\tconst textClass = shouldSerialize( 'text' )\n\t\t? getColorClassName( 'color', textColor )\n\t\t: undefined;\n\n\tconst gradientClass = shouldSerialize( 'gradients' )\n\t\t? __experimentalGetGradientClass( gradient )\n\t\t: undefined;\n\n\tconst backgroundClass = shouldSerialize( 'background' )\n\t\t? getColorClassName( 'background-color', backgroundColor )\n\t\t: undefined;\n\n\tconst serializeHasBackground =\n\t\tshouldSerialize( 'background' ) || shouldSerialize( 'gradients' );\n\tconst hasBackground =\n\t\tbackgroundColor ||\n\t\tstyle?.color?.background ||\n\t\t( hasGradient && ( gradient || style?.color?.gradient ) );\n\n\tconst newClassName = classnames(\n\t\tprops.className,\n\t\ttextClass,\n\t\tgradientClass,\n\t\t{\n\t\t\t// Don't apply the background class if there's a custom gradient.\n\t\t\t[ backgroundClass ]:\n\t\t\t\t( ! hasGradient || ! style?.color?.gradient ) &&\n\t\t\t\t!! backgroundClass,\n\t\t\t'has-text-color':\n\t\t\t\tshouldSerialize( 'text' ) &&\n\t\t\t\t( textColor || style?.color?.text ),\n\t\t\t'has-background': serializeHasBackground && hasBackground,\n\t\t\t'has-link-color':\n\t\t\t\tshouldSerialize( 'link' ) && style?.elements?.link?.color,\n\t\t}\n\t);\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\n/**\n * Filters registered block settings to extend the block edit wrapper\n * to apply the desired styles and classnames properly.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addEditProps( settings ) {\n\tif (\n\t\t! hasColorSupport( settings ) ||\n\t\tshouldSkipSerialization( settings, COLOR_SUPPORT_KEY )\n\t) {\n\t\treturn settings;\n\t}\n\tconst existingGetEditWrapperProps = settings.getEditWrapperProps;\n\tsettings.getEditWrapperProps = ( attributes ) => {\n\t\tlet props = {};\n\t\tif ( existingGetEditWrapperProps ) {\n\t\t\tprops = existingGetEditWrapperProps( attributes );\n\t\t}\n\t\treturn addSaveProps( props, settings, attributes );\n\t};\n\n\treturn settings;\n}\n\nfunction styleToAttributes( style ) {\n\tconst textColorValue = style?.color?.text;\n\tconst textColorSlug = textColorValue?.startsWith( 'var:preset|color|' )\n\t\t? textColorValue.substring( 'var:preset|color|'.length )\n\t\t: undefined;\n\tconst backgroundColorValue = style?.color?.background;\n\tconst backgroundColorSlug = backgroundColorValue?.startsWith(\n\t\t'var:preset|color|'\n\t)\n\t\t? backgroundColorValue.substring( 'var:preset|color|'.length )\n\t\t: undefined;\n\tconst gradientValue = style?.color?.gradient;\n\tconst gradientSlug = gradientValue?.startsWith( 'var:preset|gradient|' )\n\t\t? gradientValue.substring( 'var:preset|gradient|'.length )\n\t\t: undefined;\n\tconst updatedStyle = { ...style };\n\tupdatedStyle.color = {\n\t\t...updatedStyle.color,\n\t\ttext: textColorSlug ? undefined : textColorValue,\n\t\tbackground: backgroundColorSlug ? undefined : backgroundColorValue,\n\t\tgradient: gradientSlug ? undefined : gradientValue,\n\t};\n\treturn {\n\t\tstyle: cleanEmptyObject( updatedStyle ),\n\t\ttextColor: textColorSlug,\n\t\tbackgroundColor: backgroundColorSlug,\n\t\tgradient: gradientSlug,\n\t};\n}\n\nfunction attributesToStyle( attributes ) {\n\treturn {\n\t\t...attributes.style,\n\t\tcolor: {\n\t\t\t...attributes.style?.color,\n\t\t\ttext: attributes.textColor\n\t\t\t\t? 'var:preset|color|' + attributes.textColor\n\t\t\t\t: attributes.style?.color?.text,\n\t\t\tbackground: attributes.backgroundColor\n\t\t\t\t? 'var:preset|color|' + attributes.backgroundColor\n\t\t\t\t: attributes.style?.color?.background,\n\t\t\tgradient: attributes.gradient\n\t\t\t\t? 'var:preset|gradient|' + attributes.gradient\n\t\t\t\t: attributes.style?.color?.gradient,\n\t\t},\n\t};\n}\n\nfunction ColorInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributesToStyle( attributes );\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\t...styleToAttributes( updatedStyle ),\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"color\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function ColorEdit( props ) {\n\tconst { clientId, name, attributes, setAttributes } = props;\n\tconst settings = useBlockSettings( name );\n\tconst isEnabled = useHasColorPanel( settings );\n\tconst value = useMemo( () => {\n\t\treturn attributesToStyle( {\n\t\t\tstyle: attributes.style,\n\t\t\ttextColor: attributes.textColor,\n\t\t\tbackgroundColor: attributes.backgroundColor,\n\t\t\tgradient: attributes.gradient,\n\t\t} );\n\t}, [\n\t\tattributes.style,\n\t\tattributes.textColor,\n\t\tattributes.backgroundColor,\n\t\tattributes.gradient,\n\t] );\n\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( styleToAttributes( newStyle ) );\n\t};\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultControls = getBlockSupport( props.name, [\n\t\tCOLOR_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\n\tconst enableContrastChecking =\n\t\tPlatform.OS === 'web' &&\n\t\t! value?.color?.gradient &&\n\t\t( settings?.color?.text || settings?.color?.link ) &&\n\t\t// Contrast checking is enabled by default.\n\t\t// Deactivating it requires `enableContrastChecker` to have\n\t\t// an explicit value of `false`.\n\t\tfalse !==\n\t\t\tgetBlockSupport( props.name, [\n\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\t'enableContrastChecker',\n\t\t\t] );\n\n\treturn (\n\t\t<StylesColorPanel\n\t\t\tas={ ColorInspectorControl }\n\t\t\tpanelId={ clientId }\n\t\t\tsettings={ settings }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tdefaultControls={ defaultControls }\n\t\t\tenableContrastChecker={\n\t\t\t\tfalse !==\n\t\t\t\tgetBlockSupport( props.name, [\n\t\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\t\t'enableContrastChecker',\n\t\t\t\t] )\n\t\t\t}\n\t\t>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<BlockColorContrastChecker clientId={ clientId } />\n\t\t\t) }\n\t\t</StylesColorPanel>\n\t);\n}\n\n/**\n * This adds inline styles for color palette colors.\n * Ideally, this is not needed and themes should load their palettes on the editor.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withColorPaletteStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst { name, attributes } = props;\n\t\tconst { backgroundColor, textColor } = attributes;\n\t\tconst [ userPalette, themePalette, defaultPalette ] = useSettings(\n\t\t\t'color.palette.custom',\n\t\t\t'color.palette.theme',\n\t\t\t'color.palette.default'\n\t\t);\n\n\t\tconst colors = useMemo(\n\t\t\t() => [\n\t\t\t\t...( userPalette || [] ),\n\t\t\t\t...( themePalette || [] ),\n\t\t\t\t...( defaultPalette || [] ),\n\t\t\t],\n\t\t\t[ userPalette, themePalette, defaultPalette ]\n\t\t);\n\t\tif (\n\t\t\t! hasColorSupport( name ) ||\n\t\t\tshouldSkipSerialization( name, COLOR_SUPPORT_KEY )\n\t\t) {\n\t\t\treturn <BlockListBlock { ...props } />;\n\t\t}\n\t\tconst extraStyles = {};\n\n\t\tif (\n\t\t\ttextColor &&\n\t\t\t! shouldSkipSerialization( name, COLOR_SUPPORT_KEY, 'text' )\n\t\t) {\n\t\t\textraStyles.color = getColorObjectByAttributeValues(\n\t\t\t\tcolors,\n\t\t\t\ttextColor\n\t\t\t)?.color;\n\t\t}\n\t\tif (\n\t\t\tbackgroundColor &&\n\t\t\t! shouldSkipSerialization( name, COLOR_SUPPORT_KEY, 'background' )\n\t\t) {\n\t\t\textraStyles.backgroundColor = getColorObjectByAttributeValues(\n\t\t\t\tcolors,\n\t\t\t\tbackgroundColor\n\t\t\t)?.color;\n\t\t}\n\n\t\tlet wrapperProps = props.wrapperProps;\n\t\twrapperProps = {\n\t\t\t...props.wrapperProps,\n\t\t\tstyle: {\n\t\t\t\t...extraStyles,\n\t\t\t\t...props.wrapperProps?.style,\n\t\t\t},\n\t\t};\n\n\t\treturn <BlockListBlock { ...props } wrapperProps={ wrapperProps } />;\n\t},\n\t'withColorPaletteStyles'\n);\n\nconst MIGRATION_PATHS = {\n\tlinkColor: [ [ 'style', 'elements', 'link', 'color', 'text' ] ],\n\ttextColor: [ [ 'textColor' ], [ 'style', 'color', 'text' ] ],\n\tbackgroundColor: [\n\t\t[ 'backgroundColor' ],\n\t\t[ 'style', 'color', 'background' ],\n\t],\n\tgradient: [ [ 'gradient' ], [ 'style', 'color', 'gradient' ] ],\n};\n\nexport function addTransforms( result, source, index, results ) {\n\tconst destinationBlockType = result.name;\n\tconst activeSupports = {\n\t\tlinkColor: hasLinkColorSupport( destinationBlockType ),\n\t\ttextColor: hasTextColorSupport( destinationBlockType ),\n\t\tbackgroundColor: hasBackgroundColorSupport( destinationBlockType ),\n\t\tgradient: hasGradientSupport( destinationBlockType ),\n\t};\n\treturn transformStyles(\n\t\tactiveSupports,\n\t\tMIGRATION_PATHS,\n\t\tresult,\n\t\tsource,\n\t\tindex,\n\t\tresults\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/color/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.getSaveContent.extraProps',\n\t'core/color/addSaveProps',\n\taddSaveProps\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/color/addEditProps',\n\taddEditProps\n);\n\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/color/with-color-palette-styles',\n\twithColorPaletteStyles\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/color/addTransforms',\n\taddTransforms\n);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_hooks","_blocks","_element","_data","_colors","_gradients","_utils","_background","_useSettings","_inspectorControls","_colorPanel","_interopRequireWildcard","_contrastChecker","_store","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","COLOR_SUPPORT_KEY","exports","hasColorSupport","blockNameOrType","colorSupport","getBlockSupport","link","gradient","background","text","hasLinkColorSupport","blockType","Platform","OS","hasGradientSupport","gradients","hasBackgroundColorSupport","hasTextColorSupport","addAttributes","settings","attributes","backgroundColor","assign","type","textColor","addSaveProps","props","shouldSkipSerialization","hasGradient","style","shouldSerialize","feature","textClass","getColorClassName","undefined","gradientClass","__experimentalGetGradientClass","backgroundClass","serializeHasBackground","hasBackground","color","newClassName","classnames","className","elements","styleToAttributes","textColorValue","textColorSlug","startsWith","substring","length","backgroundColorValue","backgroundColorSlug","gradientValue","gradientSlug","updatedStyle","cleanEmptyObject","attributesToStyle","ColorInspectorControl","children","resetAllFilter","attributesResetAllFilter","useCallback","existingStyle","_react","createElement","group","ColorEdit","clientId","name","setAttributes","isEnabled","useHasColorPanel","selector","select","blockEditorStore","getBlockAttributes","useSelect","value","useMemo","onChange","newStyle","defaultControls","enableContrastChecking","as","panelId","enableContrastChecker","useBlockProps","userPalette","themePalette","defaultPalette","useSettings","colors","extraStyles","getColorObjectByAttributeValues","saveProps","hasBackgroundValue","getBackgroundImageClasses","_default","attributeKeys","hasSupport","MIGRATION_PATHS","linkColor","addTransforms","result","source","index","results","destinationBlockType","activeSupports","transformStyles","addFilter"],"sources":["@wordpress/block-editor/src/hooks/color.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { useMemo, Platform, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetColorClassName,\n\tgetColorObjectByAttributeValues,\n} from '../components/colors';\nimport { __experimentalGetGradientClass } from '../components/gradients';\nimport {\n\tcleanEmptyObject,\n\ttransformStyles,\n\tshouldSkipSerialization,\n} from './utils';\nimport { getBackgroundImageClasses } from './background';\nimport { useSettings } from '../components/use-settings';\nimport InspectorControls from '../components/inspector-controls';\nimport {\n\tuseHasColorPanel,\n\tdefault as StylesColorPanel,\n} from '../components/global-styles/color-panel';\nimport BlockColorContrastChecker from './contrast-checker';\nimport { store as blockEditorStore } from '../store';\n\nexport const COLOR_SUPPORT_KEY = 'color';\n\nconst hasColorSupport = ( blockNameOrType ) => {\n\tconst colorSupport = getBlockSupport( blockNameOrType, COLOR_SUPPORT_KEY );\n\treturn (\n\t\tcolorSupport &&\n\t\t( colorSupport.link === true ||\n\t\t\tcolorSupport.gradient === true ||\n\t\t\tcolorSupport.background !== false ||\n\t\t\tcolorSupport.text !== false )\n\t);\n};\n\nconst hasLinkColorSupport = ( blockType ) => {\n\tif ( Platform.OS !== 'web' ) {\n\t\treturn false;\n\t}\n\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn (\n\t\tcolorSupport !== null &&\n\t\ttypeof colorSupport === 'object' &&\n\t\t!! colorSupport.link\n\t);\n};\n\nconst hasGradientSupport = ( blockNameOrType ) => {\n\tconst colorSupport = getBlockSupport( blockNameOrType, COLOR_SUPPORT_KEY );\n\n\treturn (\n\t\tcolorSupport !== null &&\n\t\ttypeof colorSupport === 'object' &&\n\t\t!! colorSupport.gradients\n\t);\n};\n\nconst hasBackgroundColorSupport = ( blockType ) => {\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn colorSupport && colorSupport.background !== false;\n};\n\nconst hasTextColorSupport = ( blockType ) => {\n\tconst colorSupport = getBlockSupport( blockType, COLOR_SUPPORT_KEY );\n\n\treturn colorSupport && colorSupport.text !== false;\n};\n\n/**\n * Filters registered block settings, extending attributes to include\n * `backgroundColor` and `textColor` attribute.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nfunction addAttributes( settings ) {\n\tif ( ! hasColorSupport( settings ) ) {\n\t\treturn settings;\n\t}\n\n\t// Allow blocks to specify their own attribute definition with default values if needed.\n\tif ( ! settings.attributes.backgroundColor ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\tif ( ! settings.attributes.textColor ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\tif ( hasGradientSupport( settings ) && ! settings.attributes.gradient ) {\n\t\tObject.assign( settings.attributes, {\n\t\t\tgradient: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn settings;\n}\n\n/**\n * Override props assigned to save component to inject colors classnames.\n *\n * @param {Object} props Additional props applied to save element.\n * @param {Object|string} blockNameOrType Block type.\n * @param {Object} attributes Block attributes.\n *\n * @return {Object} Filtered props applied to save element.\n */\nexport function addSaveProps( props, blockNameOrType, attributes ) {\n\tif (\n\t\t! hasColorSupport( blockNameOrType ) ||\n\t\tshouldSkipSerialization( blockNameOrType, COLOR_SUPPORT_KEY )\n\t) {\n\t\treturn props;\n\t}\n\n\tconst hasGradient = hasGradientSupport( blockNameOrType );\n\n\t// I'd have preferred to avoid the \"style\" attribute usage here\n\tconst { backgroundColor, textColor, gradient, style } = attributes;\n\n\tconst shouldSerialize = ( feature ) =>\n\t\t! shouldSkipSerialization(\n\t\t\tblockNameOrType,\n\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\tfeature\n\t\t);\n\n\t// Primary color classes must come before the `has-text-color`,\n\t// `has-background` and `has-link-color` classes to maintain backwards\n\t// compatibility and avoid block invalidations.\n\tconst textClass = shouldSerialize( 'text' )\n\t\t? getColorClassName( 'color', textColor )\n\t\t: undefined;\n\n\tconst gradientClass = shouldSerialize( 'gradients' )\n\t\t? __experimentalGetGradientClass( gradient )\n\t\t: undefined;\n\n\tconst backgroundClass = shouldSerialize( 'background' )\n\t\t? getColorClassName( 'background-color', backgroundColor )\n\t\t: undefined;\n\n\tconst serializeHasBackground =\n\t\tshouldSerialize( 'background' ) || shouldSerialize( 'gradients' );\n\tconst hasBackground =\n\t\tbackgroundColor ||\n\t\tstyle?.color?.background ||\n\t\t( hasGradient && ( gradient || style?.color?.gradient ) );\n\n\tconst newClassName = classnames(\n\t\tprops.className,\n\t\ttextClass,\n\t\tgradientClass,\n\t\t{\n\t\t\t// Don't apply the background class if there's a custom gradient.\n\t\t\t[ backgroundClass ]:\n\t\t\t\t( ! hasGradient || ! style?.color?.gradient ) &&\n\t\t\t\t!! backgroundClass,\n\t\t\t'has-text-color':\n\t\t\t\tshouldSerialize( 'text' ) &&\n\t\t\t\t( textColor || style?.color?.text ),\n\t\t\t'has-background': serializeHasBackground && hasBackground,\n\t\t\t'has-link-color':\n\t\t\t\tshouldSerialize( 'link' ) && style?.elements?.link?.color,\n\t\t}\n\t);\n\tprops.className = newClassName ? newClassName : undefined;\n\n\treturn props;\n}\n\nfunction styleToAttributes( style ) {\n\tconst textColorValue = style?.color?.text;\n\tconst textColorSlug = textColorValue?.startsWith( 'var:preset|color|' )\n\t\t? textColorValue.substring( 'var:preset|color|'.length )\n\t\t: undefined;\n\tconst backgroundColorValue = style?.color?.background;\n\tconst backgroundColorSlug = backgroundColorValue?.startsWith(\n\t\t'var:preset|color|'\n\t)\n\t\t? backgroundColorValue.substring( 'var:preset|color|'.length )\n\t\t: undefined;\n\tconst gradientValue = style?.color?.gradient;\n\tconst gradientSlug = gradientValue?.startsWith( 'var:preset|gradient|' )\n\t\t? gradientValue.substring( 'var:preset|gradient|'.length )\n\t\t: undefined;\n\tconst updatedStyle = { ...style };\n\tupdatedStyle.color = {\n\t\t...updatedStyle.color,\n\t\ttext: textColorSlug ? undefined : textColorValue,\n\t\tbackground: backgroundColorSlug ? undefined : backgroundColorValue,\n\t\tgradient: gradientSlug ? undefined : gradientValue,\n\t};\n\treturn {\n\t\tstyle: cleanEmptyObject( updatedStyle ),\n\t\ttextColor: textColorSlug,\n\t\tbackgroundColor: backgroundColorSlug,\n\t\tgradient: gradientSlug,\n\t};\n}\n\nfunction attributesToStyle( attributes ) {\n\treturn {\n\t\t...attributes.style,\n\t\tcolor: {\n\t\t\t...attributes.style?.color,\n\t\t\ttext: attributes.textColor\n\t\t\t\t? 'var:preset|color|' + attributes.textColor\n\t\t\t\t: attributes.style?.color?.text,\n\t\t\tbackground: attributes.backgroundColor\n\t\t\t\t? 'var:preset|color|' + attributes.backgroundColor\n\t\t\t\t: attributes.style?.color?.background,\n\t\t\tgradient: attributes.gradient\n\t\t\t\t? 'var:preset|gradient|' + attributes.gradient\n\t\t\t\t: attributes.style?.color?.gradient,\n\t\t},\n\t};\n}\n\nfunction ColorInspectorControl( { children, resetAllFilter } ) {\n\tconst attributesResetAllFilter = useCallback(\n\t\t( attributes ) => {\n\t\t\tconst existingStyle = attributesToStyle( attributes );\n\t\t\tconst updatedStyle = resetAllFilter( existingStyle );\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\t...styleToAttributes( updatedStyle ),\n\t\t\t};\n\t\t},\n\t\t[ resetAllFilter ]\n\t);\n\n\treturn (\n\t\t<InspectorControls\n\t\t\tgroup=\"color\"\n\t\t\tresetAllFilter={ attributesResetAllFilter }\n\t\t>\n\t\t\t{ children }\n\t\t</InspectorControls>\n\t);\n}\n\nexport function ColorEdit( { clientId, name, setAttributes, settings } ) {\n\tconst isEnabled = useHasColorPanel( settings );\n\tfunction selector( select ) {\n\t\tconst { style, textColor, backgroundColor, gradient } =\n\t\t\tselect( blockEditorStore ).getBlockAttributes( clientId ) || {};\n\t\treturn { style, textColor, backgroundColor, gradient };\n\t}\n\tconst { style, textColor, backgroundColor, gradient } = useSelect(\n\t\tselector,\n\t\t[ clientId ]\n\t);\n\tconst value = useMemo( () => {\n\t\treturn attributesToStyle( {\n\t\t\tstyle,\n\t\t\ttextColor,\n\t\t\tbackgroundColor,\n\t\t\tgradient,\n\t\t} );\n\t}, [ style, textColor, backgroundColor, gradient ] );\n\n\tconst onChange = ( newStyle ) => {\n\t\tsetAttributes( styleToAttributes( newStyle ) );\n\t};\n\n\tif ( ! isEnabled ) {\n\t\treturn null;\n\t}\n\n\tconst defaultControls = getBlockSupport( name, [\n\t\tCOLOR_SUPPORT_KEY,\n\t\t'__experimentalDefaultControls',\n\t] );\n\n\tconst enableContrastChecking =\n\t\tPlatform.OS === 'web' &&\n\t\t! value?.color?.gradient &&\n\t\t( settings?.color?.text || settings?.color?.link ) &&\n\t\t// Contrast checking is enabled by default.\n\t\t// Deactivating it requires `enableContrastChecker` to have\n\t\t// an explicit value of `false`.\n\t\tfalse !==\n\t\t\tgetBlockSupport( name, [\n\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\t'enableContrastChecker',\n\t\t\t] );\n\n\treturn (\n\t\t<StylesColorPanel\n\t\t\tas={ ColorInspectorControl }\n\t\t\tpanelId={ clientId }\n\t\t\tsettings={ settings }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tdefaultControls={ defaultControls }\n\t\t\tenableContrastChecker={\n\t\t\t\tfalse !==\n\t\t\t\tgetBlockSupport( name, [\n\t\t\t\t\tCOLOR_SUPPORT_KEY,\n\t\t\t\t\t'enableContrastChecker',\n\t\t\t\t] )\n\t\t\t}\n\t\t>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<BlockColorContrastChecker clientId={ clientId } />\n\t\t\t) }\n\t\t</StylesColorPanel>\n\t);\n}\n\nfunction useBlockProps( {\n\tname,\n\tbackgroundColor,\n\ttextColor,\n\tgradient,\n\tstyle,\n} ) {\n\tconst [ userPalette, themePalette, defaultPalette ] = useSettings(\n\t\t'color.palette.custom',\n\t\t'color.palette.theme',\n\t\t'color.palette.default'\n\t);\n\n\tconst colors = useMemo(\n\t\t() => [\n\t\t\t...( userPalette || [] ),\n\t\t\t...( themePalette || [] ),\n\t\t\t...( defaultPalette || [] ),\n\t\t],\n\t\t[ userPalette, themePalette, defaultPalette ]\n\t);\n\tif (\n\t\t! hasColorSupport( name ) ||\n\t\tshouldSkipSerialization( name, COLOR_SUPPORT_KEY )\n\t) {\n\t\treturn {};\n\t}\n\tconst extraStyles = {};\n\n\tif (\n\t\ttextColor &&\n\t\t! shouldSkipSerialization( name, COLOR_SUPPORT_KEY, 'text' )\n\t) {\n\t\textraStyles.color = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\ttextColor\n\t\t)?.color;\n\t}\n\tif (\n\t\tbackgroundColor &&\n\t\t! shouldSkipSerialization( name, COLOR_SUPPORT_KEY, 'background' )\n\t) {\n\t\textraStyles.backgroundColor = getColorObjectByAttributeValues(\n\t\t\tcolors,\n\t\t\tbackgroundColor\n\t\t)?.color;\n\t}\n\n\tconst saveProps = addSaveProps( { style: extraStyles }, name, {\n\t\ttextColor,\n\t\tbackgroundColor,\n\t\tgradient,\n\t\tstyle,\n\t} );\n\n\tconst hasBackgroundValue =\n\t\tbackgroundColor ||\n\t\tstyle?.color?.background ||\n\t\tgradient ||\n\t\tstyle?.color?.gradient;\n\n\treturn {\n\t\t...saveProps,\n\t\tclassName: classnames(\n\t\t\tsaveProps.className,\n\t\t\t// Add background image classes in the editor, if not already handled by background color values.\n\t\t\t! hasBackgroundValue && getBackgroundImageClasses( style )\n\t\t),\n\t};\n}\n\nexport default {\n\tuseBlockProps,\n\taddSaveProps,\n\tattributeKeys: [ 'backgroundColor', 'textColor', 'gradient', 'style' ],\n\thasSupport: hasColorSupport,\n};\n\nconst MIGRATION_PATHS = {\n\tlinkColor: [ [ 'style', 'elements', 'link', 'color', 'text' ] ],\n\ttextColor: [ [ 'textColor' ], [ 'style', 'color', 'text' ] ],\n\tbackgroundColor: [\n\t\t[ 'backgroundColor' ],\n\t\t[ 'style', 'color', 'background' ],\n\t],\n\tgradient: [ [ 'gradient' ], [ 'style', 'color', 'gradient' ] ],\n};\n\nexport function addTransforms( result, source, index, results ) {\n\tconst destinationBlockType = result.name;\n\tconst activeSupports = {\n\t\tlinkColor: hasLinkColorSupport( destinationBlockType ),\n\t\ttextColor: hasTextColorSupport( destinationBlockType ),\n\t\tbackgroundColor: hasBackgroundColorSupport( destinationBlockType ),\n\t\tgradient: hasGradientSupport( destinationBlockType ),\n\t};\n\treturn transformStyles(\n\t\tactiveSupports,\n\t\tMIGRATION_PATHS,\n\t\tresult,\n\t\tsource,\n\t\tindex,\n\t\tresults\n\t);\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/color/addAttribute',\n\taddAttributes\n);\n\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/color/addTransforms',\n\taddTransforms\n);\n"],"mappings":";;;;;;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAKA,IAAAK,OAAA,GAAAL,OAAA;AAIA,IAAAM,UAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAKA,IAAAQ,WAAA,GAAAR,OAAA;AACA,IAAAS,YAAA,GAAAT,OAAA;AACA,IAAAU,kBAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,WAAA,GAAAC,uBAAA,CAAAZ,OAAA;AAIA,IAAAa,gBAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,MAAA,GAAAd,OAAA;AAAqD,SAAAe,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAlCrD;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;;AAqBO,MAAMW,iBAAiB,GAAG,OAAO;AAACC,OAAA,CAAAD,iBAAA,GAAAA,iBAAA;AAEzC,MAAME,eAAe,GAAKC,eAAe,IAAM;EAC9C,MAAMC,YAAY,GAAG,IAAAC,uBAAe,EAAEF,eAAe,EAAEH,iBAAkB,CAAC;EAC1E,OACCI,YAAY,KACVA,YAAY,CAACE,IAAI,KAAK,IAAI,IAC3BF,YAAY,CAACG,QAAQ,KAAK,IAAI,IAC9BH,YAAY,CAACI,UAAU,KAAK,KAAK,IACjCJ,YAAY,CAACK,IAAI,KAAK,KAAK,CAAE;AAEhC,CAAC;AAED,MAAMC,mBAAmB,GAAKC,SAAS,IAAM;EAC5C,IAAKC,iBAAQ,CAACC,EAAE,KAAK,KAAK,EAAG;IAC5B,OAAO,KAAK;EACb;EAEA,MAAMT,YAAY,GAAG,IAAAC,uBAAe,EAAEM,SAAS,EAAEX,iBAAkB,CAAC;EAEpE,OACCI,YAAY,KAAK,IAAI,IACrB,OAAOA,YAAY,KAAK,QAAQ,IAChC,CAAC,CAAEA,YAAY,CAACE,IAAI;AAEtB,CAAC;AAED,MAAMQ,kBAAkB,GAAKX,eAAe,IAAM;EACjD,MAAMC,YAAY,GAAG,IAAAC,uBAAe,EAAEF,eAAe,EAAEH,iBAAkB,CAAC;EAE1E,OACCI,YAAY,KAAK,IAAI,IACrB,OAAOA,YAAY,KAAK,QAAQ,IAChC,CAAC,CAAEA,YAAY,CAACW,SAAS;AAE3B,CAAC;AAED,MAAMC,yBAAyB,GAAKL,SAAS,IAAM;EAClD,MAAMP,YAAY,GAAG,IAAAC,uBAAe,EAAEM,SAAS,EAAEX,iBAAkB,CAAC;EAEpE,OAAOI,YAAY,IAAIA,YAAY,CAACI,UAAU,KAAK,KAAK;AACzD,CAAC;AAED,MAAMS,mBAAmB,GAAKN,SAAS,IAAM;EAC5C,MAAMP,YAAY,GAAG,IAAAC,uBAAe,EAAEM,SAAS,EAAEX,iBAAkB,CAAC;EAEpE,OAAOI,YAAY,IAAIA,YAAY,CAACK,IAAI,KAAK,KAAK;AACnD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASS,aAAaA,CAAEC,QAAQ,EAAG;EAClC,IAAK,CAAEjB,eAAe,CAAEiB,QAAS,CAAC,EAAG;IACpC,OAAOA,QAAQ;EAChB;;EAEA;EACA,IAAK,CAAEA,QAAQ,CAACC,UAAU,CAACC,eAAe,EAAG;IAC5C9B,MAAM,CAAC+B,MAAM,CAAEH,QAAQ,CAACC,UAAU,EAAE;MACnCC,eAAe,EAAE;QAChBE,IAAI,EAAE;MACP;IACD,CAAE,CAAC;EACJ;EACA,IAAK,CAAEJ,QAAQ,CAACC,UAAU,CAACI,SAAS,EAAG;IACtCjC,MAAM,CAAC+B,MAAM,CAAEH,QAAQ,CAACC,UAAU,EAAE;MACnCI,SAAS,EAAE;QACVD,IAAI,EAAE;MACP;IACD,CAAE,CAAC;EACJ;EAEA,IAAKT,kBAAkB,CAAEK,QAAS,CAAC,IAAI,CAAEA,QAAQ,CAACC,UAAU,CAACb,QAAQ,EAAG;IACvEhB,MAAM,CAAC+B,MAAM,CAAEH,QAAQ,CAACC,UAAU,EAAE;MACnCb,QAAQ,EAAE;QACTgB,IAAI,EAAE;MACP;IACD,CAAE,CAAC;EACJ;EAEA,OAAOJ,QAAQ;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASM,YAAYA,CAAEC,KAAK,EAAEvB,eAAe,EAAEiB,UAAU,EAAG;EAClE,IACC,CAAElB,eAAe,CAAEC,eAAgB,CAAC,IACpC,IAAAwB,8BAAuB,EAAExB,eAAe,EAAEH,iBAAkB,CAAC,EAC5D;IACD,OAAO0B,KAAK;EACb;EAEA,MAAME,WAAW,GAAGd,kBAAkB,CAAEX,eAAgB,CAAC;;EAEzD;EACA,MAAM;IAAEkB,eAAe;IAAEG,SAAS;IAAEjB,QAAQ;IAAEsB;EAAM,CAAC,GAAGT,UAAU;EAElE,MAAMU,eAAe,GAAKC,OAAO,IAChC,CAAE,IAAAJ,8BAAuB,EACxBxB,eAAe,EACfH,iBAAiB,EACjB+B,OACD,CAAC;;EAEF;EACA;EACA;EACA,MAAMC,SAAS,GAAGF,eAAe,CAAE,MAAO,CAAC,GACxC,IAAAG,yBAAiB,EAAE,OAAO,EAAET,SAAU,CAAC,GACvCU,SAAS;EAEZ,MAAMC,aAAa,GAAGL,eAAe,CAAE,WAAY,CAAC,GACjD,IAAAM,yCAA8B,EAAE7B,QAAS,CAAC,GAC1C2B,SAAS;EAEZ,MAAMG,eAAe,GAAGP,eAAe,CAAE,YAAa,CAAC,GACpD,IAAAG,yBAAiB,EAAE,kBAAkB,EAAEZ,eAAgB,CAAC,GACxDa,SAAS;EAEZ,MAAMI,sBAAsB,GAC3BR,eAAe,CAAE,YAAa,CAAC,IAAIA,eAAe,CAAE,WAAY,CAAC;EAClE,MAAMS,aAAa,GAClBlB,eAAe,IACfQ,KAAK,EAAEW,KAAK,EAAEhC,UAAU,IACtBoB,WAAW,KAAMrB,QAAQ,IAAIsB,KAAK,EAAEW,KAAK,EAAEjC,QAAQ,CAAI;EAE1D,MAAMkC,YAAY,GAAG,IAAAC,mBAAU,EAC9BhB,KAAK,CAACiB,SAAS,EACfX,SAAS,EACTG,aAAa,EACb;IACC;IACA,CAAEE,eAAe,GAChB,CAAE,CAAET,WAAW,IAAI,CAAEC,KAAK,EAAEW,KAAK,EAAEjC,QAAQ,KAC3C,CAAC,CAAE8B,eAAe;IACnB,gBAAgB,EACfP,eAAe,CAAE,MAAO,CAAC,KACvBN,SAAS,IAAIK,KAAK,EAAEW,KAAK,EAAE/B,IAAI,CAAE;IACpC,gBAAgB,EAAE6B,sBAAsB,IAAIC,aAAa;IACzD,gBAAgB,EACfT,eAAe,CAAE,MAAO,CAAC,IAAID,KAAK,EAAEe,QAAQ,EAAEtC,IAAI,EAAEkC;EACtD,CACD,CAAC;EACDd,KAAK,CAACiB,SAAS,GAAGF,YAAY,GAAGA,YAAY,GAAGP,SAAS;EAEzD,OAAOR,KAAK;AACb;AAEA,SAASmB,iBAAiBA,CAAEhB,KAAK,EAAG;EACnC,MAAMiB,cAAc,GAAGjB,KAAK,EAAEW,KAAK,EAAE/B,IAAI;EACzC,MAAMsC,aAAa,GAAGD,cAAc,EAAEE,UAAU,CAAE,mBAAoB,CAAC,GACpEF,cAAc,CAACG,SAAS,CAAE,mBAAmB,CAACC,MAAO,CAAC,GACtDhB,SAAS;EACZ,MAAMiB,oBAAoB,GAAGtB,KAAK,EAAEW,KAAK,EAAEhC,UAAU;EACrD,MAAM4C,mBAAmB,GAAGD,oBAAoB,EAAEH,UAAU,CAC3D,mBACD,CAAC,GACEG,oBAAoB,CAACF,SAAS,CAAE,mBAAmB,CAACC,MAAO,CAAC,GAC5DhB,SAAS;EACZ,MAAMmB,aAAa,GAAGxB,KAAK,EAAEW,KAAK,EAAEjC,QAAQ;EAC5C,MAAM+C,YAAY,GAAGD,aAAa,EAAEL,UAAU,CAAE,sBAAuB,CAAC,GACrEK,aAAa,CAACJ,SAAS,CAAE,sBAAsB,CAACC,MAAO,CAAC,GACxDhB,SAAS;EACZ,MAAMqB,YAAY,GAAG;IAAE,GAAG1B;EAAM,CAAC;EACjC0B,YAAY,CAACf,KAAK,GAAG;IACpB,GAAGe,YAAY,CAACf,KAAK;IACrB/B,IAAI,EAAEsC,aAAa,GAAGb,SAAS,GAAGY,cAAc;IAChDtC,UAAU,EAAE4C,mBAAmB,GAAGlB,SAAS,GAAGiB,oBAAoB;IAClE5C,QAAQ,EAAE+C,YAAY,GAAGpB,SAAS,GAAGmB;EACtC,CAAC;EACD,OAAO;IACNxB,KAAK,EAAE,IAAA2B,uBAAgB,EAAED,YAAa,CAAC;IACvC/B,SAAS,EAAEuB,aAAa;IACxB1B,eAAe,EAAE+B,mBAAmB;IACpC7C,QAAQ,EAAE+C;EACX,CAAC;AACF;AAEA,SAASG,iBAAiBA,CAAErC,UAAU,EAAG;EACxC,OAAO;IACN,GAAGA,UAAU,CAACS,KAAK;IACnBW,KAAK,EAAE;MACN,GAAGpB,UAAU,CAACS,KAAK,EAAEW,KAAK;MAC1B/B,IAAI,EAAEW,UAAU,CAACI,SAAS,GACvB,mBAAmB,GAAGJ,UAAU,CAACI,SAAS,GAC1CJ,UAAU,CAACS,KAAK,EAAEW,KAAK,EAAE/B,IAAI;MAChCD,UAAU,EAAEY,UAAU,CAACC,eAAe,GACnC,mBAAmB,GAAGD,UAAU,CAACC,eAAe,GAChDD,UAAU,CAACS,KAAK,EAAEW,KAAK,EAAEhC,UAAU;MACtCD,QAAQ,EAAEa,UAAU,CAACb,QAAQ,GAC1B,sBAAsB,GAAGa,UAAU,CAACb,QAAQ,GAC5Ca,UAAU,CAACS,KAAK,EAAEW,KAAK,EAAEjC;IAC7B;EACD,CAAC;AACF;AAEA,SAASmD,qBAAqBA,CAAE;EAAEC,QAAQ;EAAEC;AAAe,CAAC,EAAG;EAC9D,MAAMC,wBAAwB,GAAG,IAAAC,oBAAW,EACzC1C,UAAU,IAAM;IACjB,MAAM2C,aAAa,GAAGN,iBAAiB,CAAErC,UAAW,CAAC;IACrD,MAAMmC,YAAY,GAAGK,cAAc,CAAEG,aAAc,CAAC;IACpD,OAAO;MACN,GAAG3C,UAAU;MACb,GAAGyB,iBAAiB,CAAEU,YAAa;IACpC,CAAC;EACF,CAAC,EACD,CAAEK,cAAc,CACjB,CAAC;EAED,OACC,IAAAI,MAAA,CAAAC,aAAA,EAAC5F,kBAAA,CAAAY,OAAiB;IACjBiF,KAAK,EAAC,OAAO;IACbN,cAAc,EAAGC;EAA0B,GAEzCF,QACgB,CAAC;AAEtB;AAEO,SAASQ,SAASA,CAAE;EAAEC,QAAQ;EAAEC,IAAI;EAAEC,aAAa;EAAEnD;AAAS,CAAC,EAAG;EACxE,MAAMoD,SAAS,GAAG,IAAAC,4BAAgB,EAAErD,QAAS,CAAC;EAC9C,SAASsD,QAAQA,CAAEC,MAAM,EAAG;IAC3B,MAAM;MAAE7C,KAAK;MAAEL,SAAS;MAAEH,eAAe;MAAEd;IAAS,CAAC,GACpDmE,MAAM,CAAEC,YAAiB,CAAC,CAACC,kBAAkB,CAAER,QAAS,CAAC,IAAI,CAAC,CAAC;IAChE,OAAO;MAAEvC,KAAK;MAAEL,SAAS;MAAEH,eAAe;MAAEd;IAAS,CAAC;EACvD;EACA,MAAM;IAAEsB,KAAK;IAAEL,SAAS;IAAEH,eAAe;IAAEd;EAAS,CAAC,GAAG,IAAAsE,eAAS,EAChEJ,QAAQ,EACR,CAAEL,QAAQ,CACX,CAAC;EACD,MAAMU,KAAK,GAAG,IAAAC,gBAAO,EAAE,MAAM;IAC5B,OAAOtB,iBAAiB,CAAE;MACzB5B,KAAK;MACLL,SAAS;MACTH,eAAe;MACfd;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEsB,KAAK,EAAEL,SAAS,EAAEH,eAAe,EAAEd,QAAQ,CAAG,CAAC;EAEpD,MAAMyE,QAAQ,GAAKC,QAAQ,IAAM;IAChCX,aAAa,CAAEzB,iBAAiB,CAAEoC,QAAS,CAAE,CAAC;EAC/C,CAAC;EAED,IAAK,CAAEV,SAAS,EAAG;IAClB,OAAO,IAAI;EACZ;EAEA,MAAMW,eAAe,GAAG,IAAA7E,uBAAe,EAAEgE,IAAI,EAAE,CAC9CrE,iBAAiB,EACjB,+BAA+B,CAC9B,CAAC;EAEH,MAAMmF,sBAAsB,GAC3BvE,iBAAQ,CAACC,EAAE,KAAK,KAAK,IACrB,CAAEiE,KAAK,EAAEtC,KAAK,EAAEjC,QAAQ,KACtBY,QAAQ,EAAEqB,KAAK,EAAE/B,IAAI,IAAIU,QAAQ,EAAEqB,KAAK,EAAElC,IAAI,CAAE;EAClD;EACA;EACA;EACA,KAAK,KACJ,IAAAD,uBAAe,EAAEgE,IAAI,EAAE,CACtBrE,iBAAiB,EACjB,uBAAuB,CACtB,CAAC;EAEL,OACC,IAAAgE,MAAA,CAAAC,aAAA,EAAC3F,WAAA,CAAAW,OAAgB;IAChBmG,EAAE,EAAG1B,qBAAuB;IAC5B2B,OAAO,EAAGjB,QAAU;IACpBjD,QAAQ,EAAGA,QAAU;IACrB2D,KAAK,EAAGA,KAAO;IACfE,QAAQ,EAAGA,QAAU;IACrBE,eAAe,EAAGA,eAAiB;IACnCI,qBAAqB,EACpB,KAAK,KACL,IAAAjF,uBAAe,EAAEgE,IAAI,EAAE,CACtBrE,iBAAiB,EACjB,uBAAuB,CACtB;EACF,GAECmF,sBAAsB,IACvB,IAAAnB,MAAA,CAAAC,aAAA,EAACzF,gBAAA,CAAAS,OAAyB;IAACmF,QAAQ,EAAGA;EAAU,CAAE,CAElC,CAAC;AAErB;AAEA,SAASmB,aAAaA,CAAE;EACvBlB,IAAI;EACJhD,eAAe;EACfG,SAAS;EACTjB,QAAQ;EACRsB;AACD,CAAC,EAAG;EACH,MAAM,CAAE2D,WAAW,EAAEC,YAAY,EAAEC,cAAc,CAAE,GAAG,IAAAC,wBAAW,EAChE,sBAAsB,EACtB,qBAAqB,EACrB,uBACD,CAAC;EAED,MAAMC,MAAM,GAAG,IAAAb,gBAAO,EACrB,MAAM,CACL,IAAKS,WAAW,IAAI,EAAE,CAAE,EACxB,IAAKC,YAAY,IAAI,EAAE,CAAE,EACzB,IAAKC,cAAc,IAAI,EAAE,CAAE,CAC3B,EACD,CAAEF,WAAW,EAAEC,YAAY,EAAEC,cAAc,CAC5C,CAAC;EACD,IACC,CAAExF,eAAe,CAAEmE,IAAK,CAAC,IACzB,IAAA1C,8BAAuB,EAAE0C,IAAI,EAAErE,iBAAkB,CAAC,EACjD;IACD,OAAO,CAAC,CAAC;EACV;EACA,MAAM6F,WAAW,GAAG,CAAC,CAAC;EAEtB,IACCrE,SAAS,IACT,CAAE,IAAAG,8BAAuB,EAAE0C,IAAI,EAAErE,iBAAiB,EAAE,MAAO,CAAC,EAC3D;IACD6F,WAAW,CAACrD,KAAK,GAAG,IAAAsD,uCAA+B,EAClDF,MAAM,EACNpE,SACD,CAAC,EAAEgB,KAAK;EACT;EACA,IACCnB,eAAe,IACf,CAAE,IAAAM,8BAAuB,EAAE0C,IAAI,EAAErE,iBAAiB,EAAE,YAAa,CAAC,EACjE;IACD6F,WAAW,CAACxE,eAAe,GAAG,IAAAyE,uCAA+B,EAC5DF,MAAM,EACNvE,eACD,CAAC,EAAEmB,KAAK;EACT;EAEA,MAAMuD,SAAS,GAAGtE,YAAY,CAAE;IAAEI,KAAK,EAAEgE;EAAY,CAAC,EAAExB,IAAI,EAAE;IAC7D7C,SAAS;IACTH,eAAe;IACfd,QAAQ;IACRsB;EACD,CAAE,CAAC;EAEH,MAAMmE,kBAAkB,GACvB3E,eAAe,IACfQ,KAAK,EAAEW,KAAK,EAAEhC,UAAU,IACxBD,QAAQ,IACRsB,KAAK,EAAEW,KAAK,EAAEjC,QAAQ;EAEvB,OAAO;IACN,GAAGwF,SAAS;IACZpD,SAAS,EAAE,IAAAD,mBAAU,EACpBqD,SAAS,CAACpD,SAAS;IACnB;IACA,CAAEqD,kBAAkB,IAAI,IAAAC,qCAAyB,EAAEpE,KAAM,CAC1D;EACD,CAAC;AACF;AAAC,IAAAqE,QAAA,GAEc;EACdX,aAAa;EACb9D,YAAY;EACZ0E,aAAa,EAAE,CAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,CAAE;EACtEC,UAAU,EAAElG;AACb,CAAC;AAAAD,OAAA,CAAAhB,OAAA,GAAAiH,QAAA;AAED,MAAMG,eAAe,GAAG;EACvBC,SAAS,EAAE,CAAE,CAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAE,CAAE;EAC/D9E,SAAS,EAAE,CAAE,CAAE,WAAW,CAAE,EAAE,CAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAE,CAAE;EAC5DH,eAAe,EAAE,CAChB,CAAE,iBAAiB,CAAE,EACrB,CAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAE,CAClC;EACDd,QAAQ,EAAE,CAAE,CAAE,UAAU,CAAE,EAAE,CAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAE;AAC7D,CAAC;AAEM,SAASgG,aAAaA,CAAEC,MAAM,EAAEC,MAAM,EAAEC,KAAK,EAAEC,OAAO,EAAG;EAC/D,MAAMC,oBAAoB,GAAGJ,MAAM,CAACnC,IAAI;EACxC,MAAMwC,cAAc,GAAG;IACtBP,SAAS,EAAE5F,mBAAmB,CAAEkG,oBAAqB,CAAC;IACtDpF,SAAS,EAAEP,mBAAmB,CAAE2F,oBAAqB,CAAC;IACtDvF,eAAe,EAAEL,yBAAyB,CAAE4F,oBAAqB,CAAC;IAClErG,QAAQ,EAAEO,kBAAkB,CAAE8F,oBAAqB;EACpD,CAAC;EACD,OAAO,IAAAE,sBAAe,EACrBD,cAAc,EACdR,eAAe,EACfG,MAAM,EACNC,MAAM,EACNC,KAAK,EACLC,OACD,CAAC;AACF;AAEA,IAAAI,gBAAS,EACR,0BAA0B,EAC1B,yBAAyB,EACzB7F,aACD,CAAC;AAED,IAAA6F,gBAAS,EACR,2CAA2C,EAC3C,0BAA0B,EAC1BR,aACD,CAAC"}
@@ -3,12 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.withContentLockControls = void 0;
6
+ exports.default = void 0;
7
7
  var _react = require("react");
8
8
  var _components = require("@wordpress/components");
9
- var _compose = require("@wordpress/compose");
10
9
  var _data = require("@wordpress/data");
11
- var _hooks = require("@wordpress/hooks");
12
10
  var _i18n = require("@wordpress/i18n");
13
11
  var _element = require("@wordpress/element");
14
12
  var _store = require("../store");
@@ -39,7 +37,10 @@ function StopEditingAsBlocksOnOutsideSelect({
39
37
  }, [isBlockOrDescendantSelected, stopEditingAsBlock]);
40
38
  return null;
41
39
  }
42
- const withContentLockControls = (0, _compose.createHigherOrderComponent)(BlockEdit => props => {
40
+ function ContentLockControlsPure({
41
+ clientId,
42
+ isSelected
43
+ }) {
43
44
  const {
44
45
  getBlockListSettings,
45
46
  getSettings
@@ -56,11 +57,11 @@ const withContentLockControls = (0, _compose.createHigherOrderComponent)(BlockEd
56
57
  __unstableGetTemporarilyEditingAsBlocks
57
58
  } = select(_store.store);
58
59
  return {
59
- templateLock: getTemplateLock(props.clientId),
60
- isLockedByParent: !!__unstableGetContentLockingParent(props.clientId),
61
- isEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks() === props.clientId
60
+ templateLock: getTemplateLock(clientId),
61
+ isLockedByParent: !!__unstableGetContentLockingParent(clientId),
62
+ isEditingAsBlocks: __unstableGetTemporarilyEditingAsBlocks() === clientId
62
63
  };
63
- }, [props.clientId]);
64
+ }, [clientId]);
64
65
  const {
65
66
  updateSettings,
66
67
  updateBlockListSettings,
@@ -73,28 +74,25 @@ const withContentLockControls = (0, _compose.createHigherOrderComponent)(BlockEd
73
74
  } = (0, _data.useDispatch)(_store.store);
74
75
  const stopEditingAsBlock = (0, _element.useCallback)(() => {
75
76
  __unstableMarkNextChangeAsNotPersistent();
76
- updateBlockAttributes(props.clientId, {
77
+ updateBlockAttributes(clientId, {
77
78
  templateLock: 'contentOnly'
78
79
  });
79
- updateBlockListSettings(props.clientId, {
80
- ...getBlockListSettings(props.clientId),
80
+ updateBlockListSettings(clientId, {
81
+ ...getBlockListSettings(clientId),
81
82
  templateLock: 'contentOnly'
82
83
  });
83
84
  updateSettings({
84
85
  focusMode: focusModeToRevert.current
85
86
  });
86
87
  __unstableSetTemporarilyEditingAsBlocks();
87
- }, [props.clientId, updateSettings, updateBlockListSettings, getBlockListSettings, __unstableMarkNextChangeAsNotPersistent, updateBlockAttributes, __unstableSetTemporarilyEditingAsBlocks]);
88
+ }, [clientId, updateSettings, updateBlockListSettings, getBlockListSettings, __unstableMarkNextChangeAsNotPersistent, updateBlockAttributes, __unstableSetTemporarilyEditingAsBlocks]);
88
89
  if (!isContentLocked && !isEditingAsBlocks) {
89
- return (0, _react.createElement)(BlockEdit, {
90
- key: "edit",
91
- ...props
92
- });
90
+ return null;
93
91
  }
94
92
  const showStopEditingAsBlocks = isEditingAsBlocks && !isContentLocked;
95
- const showStartEditingAsBlocks = !isEditingAsBlocks && isContentLocked && props.isSelected;
93
+ const showStartEditingAsBlocks = !isEditingAsBlocks && isContentLocked && isSelected;
96
94
  return (0, _react.createElement)(_react.Fragment, null, showStopEditingAsBlocks && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(StopEditingAsBlocksOnOutsideSelect, {
97
- clientId: props.clientId,
95
+ clientId: clientId,
98
96
  stopEditingAsBlock: stopEditingAsBlock
99
97
  }), (0, _react.createElement)(_components2.BlockControls, {
100
98
  group: "other"
@@ -107,25 +105,27 @@ const withContentLockControls = (0, _compose.createHigherOrderComponent)(BlockEd
107
105
  }) => (0, _react.createElement)(_components.MenuItem, {
108
106
  onClick: () => {
109
107
  __unstableMarkNextChangeAsNotPersistent();
110
- updateBlockAttributes(props.clientId, {
108
+ updateBlockAttributes(clientId, {
111
109
  templateLock: undefined
112
110
  });
113
- updateBlockListSettings(props.clientId, {
114
- ...getBlockListSettings(props.clientId),
111
+ updateBlockListSettings(clientId, {
112
+ ...getBlockListSettings(clientId),
115
113
  templateLock: false
116
114
  });
117
115
  focusModeToRevert.current = getSettings().focusMode;
118
116
  updateSettings({
119
117
  focusMode: true
120
118
  });
121
- __unstableSetTemporarilyEditingAsBlocks(props.clientId);
119
+ __unstableSetTemporarilyEditingAsBlocks(clientId);
122
120
  onClose();
123
121
  }
124
- }, (0, _i18n.__)('Modify'))), (0, _react.createElement)(BlockEdit, {
125
- key: "edit",
126
- ...props
127
- }));
128
- }, 'withContentLockControls');
129
- exports.withContentLockControls = withContentLockControls;
130
- (0, _hooks.addFilter)('editor.BlockEdit', 'core/content-lock-ui/with-block-controls', withContentLockControls);
122
+ }, (0, _i18n.__)('Modify'))));
123
+ }
124
+ var _default = {
125
+ edit: ContentLockControlsPure,
126
+ hasSupport() {
127
+ return true;
128
+ }
129
+ };
130
+ exports.default = _default;
131
131
  //# sourceMappingURL=content-lock-ui.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_components","require","_compose","_data","_hooks","_i18n","_element","_store","_components2","StopEditingAsBlocksOnOutsideSelect","clientId","stopEditingAsBlock","isBlockOrDescendantSelected","useSelect","select","isBlockSelected","hasSelectedInnerBlock","blockEditorStore","useEffect","withContentLockControls","createHigherOrderComponent","BlockEdit","props","getBlockListSettings","getSettings","focusModeToRevert","useRef","templateLock","isLockedByParent","isEditingAsBlocks","__unstableGetContentLockingParent","getTemplateLock","__unstableGetTemporarilyEditingAsBlocks","updateSettings","updateBlockListSettings","__unstableSetTemporarilyEditingAsBlocks","useDispatch","isContentLocked","__unstableMarkNextChangeAsNotPersistent","updateBlockAttributes","useCallback","focusMode","current","_react","createElement","key","showStopEditingAsBlocks","showStartEditingAsBlocks","isSelected","Fragment","BlockControls","group","ToolbarButton","onClick","__","BlockSettingsMenuControls","onClose","MenuItem","undefined","exports","addFilter"],"sources":["@wordpress/block-editor/src/hooks/content-lock-ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarButton, MenuItem } from '@wordpress/components';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { addFilter } from '@wordpress/hooks';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { BlockControls, BlockSettingsMenuControls } from '../components';\n\nfunction StopEditingAsBlocksOnOutsideSelect( {\n\tclientId,\n\tstopEditingAsBlock,\n} ) {\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingAsBlock();\n\t\t}\n\t}, [ isBlockOrDescendantSelected, stopEditingAsBlock ] );\n\treturn null;\n}\n\nexport const withContentLockControls = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst { getBlockListSettings, getSettings } =\n\t\t\tuseSelect( blockEditorStore );\n\t\tconst focusModeToRevert = useRef();\n\t\tconst { templateLock, isLockedByParent, isEditingAsBlocks } = useSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\t__unstableGetContentLockingParent,\n\t\t\t\t\tgetTemplateLock,\n\t\t\t\t\t__unstableGetTemporarilyEditingAsBlocks,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\treturn {\n\t\t\t\t\ttemplateLock: getTemplateLock( props.clientId ),\n\t\t\t\t\tisLockedByParent: !! __unstableGetContentLockingParent(\n\t\t\t\t\t\tprops.clientId\n\t\t\t\t\t),\n\t\t\t\t\tisEditingAsBlocks:\n\t\t\t\t\t\t__unstableGetTemporarilyEditingAsBlocks() ===\n\t\t\t\t\t\tprops.clientId,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ props.clientId ]\n\t\t);\n\n\t\tconst {\n\t\t\tupdateSettings,\n\t\t\tupdateBlockListSettings,\n\t\t\t__unstableSetTemporarilyEditingAsBlocks,\n\t\t} = useDispatch( blockEditorStore );\n\t\tconst isContentLocked =\n\t\t\t! isLockedByParent && templateLock === 'contentOnly';\n\t\tconst {\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t\tupdateBlockAttributes,\n\t\t} = useDispatch( blockEditorStore );\n\n\t\tconst stopEditingAsBlock = useCallback( () => {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( props.clientId, {\n\t\t\t\ttemplateLock: 'contentOnly',\n\t\t\t} );\n\t\t\tupdateBlockListSettings( props.clientId, {\n\t\t\t\t...getBlockListSettings( props.clientId ),\n\t\t\t\ttemplateLock: 'contentOnly',\n\t\t\t} );\n\t\t\tupdateSettings( { focusMode: focusModeToRevert.current } );\n\t\t\t__unstableSetTemporarilyEditingAsBlocks();\n\t\t}, [\n\t\t\tprops.clientId,\n\t\t\tupdateSettings,\n\t\t\tupdateBlockListSettings,\n\t\t\tgetBlockListSettings,\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t\tupdateBlockAttributes,\n\t\t\t__unstableSetTemporarilyEditingAsBlocks,\n\t\t] );\n\n\t\tif ( ! isContentLocked && ! isEditingAsBlocks ) {\n\t\t\treturn <BlockEdit key=\"edit\" { ...props } />;\n\t\t}\n\n\t\tconst showStopEditingAsBlocks = isEditingAsBlocks && ! isContentLocked;\n\t\tconst showStartEditingAsBlocks =\n\t\t\t! isEditingAsBlocks && isContentLocked && props.isSelected;\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ showStopEditingAsBlocks && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<StopEditingAsBlocksOnOutsideSelect\n\t\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t\t\tstopEditingAsBlock={ stopEditingAsBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tstopEditingAsBlock();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ showStartEditingAsBlocks && (\n\t\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\t\t\tupdateBlockAttributes( props.clientId, {\n\t\t\t\t\t\t\t\t\t\ttemplateLock: undefined,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\tupdateBlockListSettings( props.clientId, {\n\t\t\t\t\t\t\t\t\t\t...getBlockListSettings(\n\t\t\t\t\t\t\t\t\t\t\tprops.clientId\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\ttemplateLock: false,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\tfocusModeToRevert.current =\n\t\t\t\t\t\t\t\t\t\tgetSettings().focusMode;\n\t\t\t\t\t\t\t\t\tupdateSettings( { focusMode: true } );\n\t\t\t\t\t\t\t\t\t__unstableSetTemporarilyEditingAsBlocks(\n\t\t\t\t\t\t\t\t\t\tprops.clientId\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Modify' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</BlockSettingsMenuControls>\n\t\t\t\t) }\n\t\t\t\t<BlockEdit key=\"edit\" { ...props } />\n\t\t\t</>\n\t\t);\n\t},\n\t'withContentLockControls'\n);\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/content-lock-ui/with-block-controls',\n\twithContentLockControls\n);\n"],"mappings":"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"}
1
+ {"version":3,"names":["_components","require","_data","_i18n","_element","_store","_components2","StopEditingAsBlocksOnOutsideSelect","clientId","stopEditingAsBlock","isBlockOrDescendantSelected","useSelect","select","isBlockSelected","hasSelectedInnerBlock","blockEditorStore","useEffect","ContentLockControlsPure","isSelected","getBlockListSettings","getSettings","focusModeToRevert","useRef","templateLock","isLockedByParent","isEditingAsBlocks","__unstableGetContentLockingParent","getTemplateLock","__unstableGetTemporarilyEditingAsBlocks","updateSettings","updateBlockListSettings","__unstableSetTemporarilyEditingAsBlocks","useDispatch","isContentLocked","__unstableMarkNextChangeAsNotPersistent","updateBlockAttributes","useCallback","focusMode","current","showStopEditingAsBlocks","showStartEditingAsBlocks","_react","createElement","Fragment","BlockControls","group","ToolbarButton","onClick","__","BlockSettingsMenuControls","onClose","MenuItem","undefined","_default","edit","hasSupport","exports","default"],"sources":["@wordpress/block-editor/src/hooks/content-lock-ui.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarButton, MenuItem } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { BlockControls, BlockSettingsMenuControls } from '../components';\n\nfunction StopEditingAsBlocksOnOutsideSelect( {\n\tclientId,\n\tstopEditingAsBlock,\n} ) {\n\tconst isBlockOrDescendantSelected = useSelect(\n\t\t( select ) => {\n\t\t\tconst { isBlockSelected, hasSelectedInnerBlock } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\tisBlockSelected( clientId ) ||\n\t\t\t\thasSelectedInnerBlock( clientId, true )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tuseEffect( () => {\n\t\tif ( ! isBlockOrDescendantSelected ) {\n\t\t\tstopEditingAsBlock();\n\t\t}\n\t}, [ isBlockOrDescendantSelected, stopEditingAsBlock ] );\n\treturn null;\n}\n\nfunction ContentLockControlsPure( { clientId, isSelected } ) {\n\tconst { getBlockListSettings, getSettings } = useSelect( blockEditorStore );\n\tconst focusModeToRevert = useRef();\n\tconst { templateLock, isLockedByParent, isEditingAsBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\t__unstableGetContentLockingParent,\n\t\t\t\tgetTemplateLock,\n\t\t\t\t__unstableGetTemporarilyEditingAsBlocks,\n\t\t\t} = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\ttemplateLock: getTemplateLock( clientId ),\n\t\t\t\tisLockedByParent:\n\t\t\t\t\t!! __unstableGetContentLockingParent( clientId ),\n\t\t\t\tisEditingAsBlocks:\n\t\t\t\t\t__unstableGetTemporarilyEditingAsBlocks() === clientId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst {\n\t\tupdateSettings,\n\t\tupdateBlockListSettings,\n\t\t__unstableSetTemporarilyEditingAsBlocks,\n\t} = useDispatch( blockEditorStore );\n\tconst isContentLocked =\n\t\t! isLockedByParent && templateLock === 'contentOnly';\n\tconst { __unstableMarkNextChangeAsNotPersistent, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst stopEditingAsBlock = useCallback( () => {\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tupdateBlockAttributes( clientId, {\n\t\t\ttemplateLock: 'contentOnly',\n\t\t} );\n\t\tupdateBlockListSettings( clientId, {\n\t\t\t...getBlockListSettings( clientId ),\n\t\t\ttemplateLock: 'contentOnly',\n\t\t} );\n\t\tupdateSettings( { focusMode: focusModeToRevert.current } );\n\t\t__unstableSetTemporarilyEditingAsBlocks();\n\t}, [\n\t\tclientId,\n\t\tupdateSettings,\n\t\tupdateBlockListSettings,\n\t\tgetBlockListSettings,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tupdateBlockAttributes,\n\t\t__unstableSetTemporarilyEditingAsBlocks,\n\t] );\n\n\tif ( ! isContentLocked && ! isEditingAsBlocks ) {\n\t\treturn null;\n\t}\n\n\tconst showStopEditingAsBlocks = isEditingAsBlocks && ! isContentLocked;\n\tconst showStartEditingAsBlocks =\n\t\t! isEditingAsBlocks && isContentLocked && isSelected;\n\n\treturn (\n\t\t<>\n\t\t\t{ showStopEditingAsBlocks && (\n\t\t\t\t<>\n\t\t\t\t\t<StopEditingAsBlocksOnOutsideSelect\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tstopEditingAsBlock={ stopEditingAsBlock }\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tstopEditingAsBlock();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Done' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showStartEditingAsBlocks && (\n\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\t\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\t\t\t\t\ttemplateLock: undefined,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tupdateBlockListSettings( clientId, {\n\t\t\t\t\t\t\t\t\t...getBlockListSettings( clientId ),\n\t\t\t\t\t\t\t\t\ttemplateLock: false,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\tfocusModeToRevert.current =\n\t\t\t\t\t\t\t\t\tgetSettings().focusMode;\n\t\t\t\t\t\t\t\tupdateSettings( { focusMode: true } );\n\t\t\t\t\t\t\t\t__unstableSetTemporarilyEditingAsBlocks(\n\t\t\t\t\t\t\t\t\tclientId\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Modify' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t) }\n\t\t\t\t</BlockSettingsMenuControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default {\n\tedit: ContentLockControlsPure,\n\thasSupport() {\n\t\treturn true;\n\t},\n};\n"],"mappings":"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"}