@wordpress/block-editor 12.9.0 → 12.10.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 (463) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +33 -3
  3. package/build/components/block-canvas/index.js +107 -0
  4. package/build/components/block-canvas/index.js.map +1 -0
  5. package/build/components/block-inspector/index.js +4 -1
  6. package/build/components/block-inspector/index.js.map +1 -1
  7. package/build/components/block-patterns-list/index.js +19 -4
  8. package/build/components/block-patterns-list/index.js.map +1 -1
  9. package/build/components/block-patterns-paging/index.js +66 -0
  10. package/build/components/block-patterns-paging/index.js.map +1 -0
  11. package/build/components/block-settings-menu/block-settings-dropdown.js +28 -0
  12. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  13. package/build/components/block-settings-menu-controls/index.js +4 -7
  14. package/build/components/block-settings-menu-controls/index.js.map +1 -1
  15. package/build/components/block-styles/index.js +1 -0
  16. package/build/components/block-styles/index.js.map +1 -1
  17. package/build/components/block-toolbar/block-toolbar-menu.native.js +3 -7
  18. package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  19. package/build/components/block-tools/block-contextual-toolbar.js +18 -7
  20. package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
  21. package/build/components/block-tools/block-selection-button.js +5 -1
  22. package/build/components/block-tools/block-selection-button.js.map +1 -1
  23. package/build/components/border-radius-control/input-controls.js +1 -1
  24. package/build/components/border-radius-control/input-controls.js.map +1 -1
  25. package/build/components/border-radius-control/linked-button.js +2 -4
  26. package/build/components/border-radius-control/linked-button.js.map +1 -1
  27. package/build/components/colors/with-colors.js.map +1 -1
  28. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -21
  29. package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  30. package/build/components/default-block-appender/index.native.js +20 -1
  31. package/build/components/default-block-appender/index.native.js.map +1 -1
  32. package/build/components/duotone/utils.js +68 -0
  33. package/build/components/duotone/utils.js.map +1 -1
  34. package/build/components/editor-styles/index.js +28 -9
  35. package/build/components/editor-styles/index.js.map +1 -1
  36. package/build/components/global-styles/hooks.js +2 -101
  37. package/build/components/global-styles/hooks.js.map +1 -1
  38. package/build/components/global-styles/image-settings-panel.js +61 -0
  39. package/build/components/global-styles/image-settings-panel.js.map +1 -0
  40. package/build/components/global-styles/index.js +11 -17
  41. package/build/components/global-styles/index.js.map +1 -1
  42. package/build/components/global-styles/use-global-styles-output.js +19 -15
  43. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  44. package/build/components/global-styles/utils.js +1 -1
  45. package/build/components/global-styles/utils.js.map +1 -1
  46. package/build/components/iframe/index.js +67 -33
  47. package/build/components/iframe/index.js.map +1 -1
  48. package/build/components/image-editor/use-save-image.js +2 -5
  49. package/build/components/image-editor/use-save-image.js.map +1 -1
  50. package/build/components/image-editor/use-transform-image.js +9 -9
  51. package/build/components/image-editor/use-transform-image.js.map +1 -1
  52. package/build/components/index.js +8 -12
  53. package/build/components/index.js.map +1 -1
  54. package/build/components/index.native.js +6 -5
  55. package/build/components/index.native.js.map +1 -1
  56. package/build/components/inner-blocks/use-nested-settings-update.js +13 -7
  57. package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  58. package/build/components/inserter/block-patterns-explorer/explorer.js +12 -6
  59. package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  60. package/build/components/inserter/block-patterns-explorer/patterns-list.js +57 -23
  61. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  62. package/build/components/inserter/block-patterns-explorer/sidebar.js +24 -9
  63. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  64. package/build/components/inserter/block-patterns-source-filter.js +54 -0
  65. package/build/components/inserter/block-patterns-source-filter.js.map +1 -0
  66. package/build/components/inserter/block-patterns-sync-filter.js +46 -0
  67. package/build/components/inserter/block-patterns-sync-filter.js.map +1 -0
  68. package/build/components/inserter/block-patterns-tab.js +91 -45
  69. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  70. package/build/components/inserter/hooks/use-patterns-paging.js +57 -0
  71. package/build/components/inserter/hooks/use-patterns-paging.js.map +1 -0
  72. package/build/components/inserter/hooks/use-patterns-state.js +21 -10
  73. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  74. package/build/components/inserter/menu.js +13 -11
  75. package/build/components/inserter/menu.js.map +1 -1
  76. package/build/components/inserter/search-results.js +4 -3
  77. package/build/components/inserter/search-results.js.map +1 -1
  78. package/build/components/inserter/tabs.js +1 -12
  79. package/build/components/inserter/tabs.js.map +1 -1
  80. package/build/components/inspector-controls/block-support-slot-container.js +12 -1
  81. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  82. package/build/components/inspector-controls/fill.js +24 -13
  83. package/build/components/inspector-controls/fill.js.map +1 -1
  84. package/build/components/inspector-controls/groups.js +5 -3
  85. package/build/components/inspector-controls/groups.js.map +1 -1
  86. package/build/components/inspector-controls/slot.js +13 -0
  87. package/build/components/inspector-controls/slot.js.map +1 -1
  88. package/build/components/inspector-controls-tabs/styles-tab.js +3 -0
  89. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  90. package/build/components/link-control/index.js +13 -2
  91. package/build/components/link-control/index.js.map +1 -1
  92. package/build/components/link-control/settings.js +2 -1
  93. package/build/components/link-control/settings.js.map +1 -1
  94. package/build/components/list-view/block-select-button.js +1 -3
  95. package/build/components/list-view/block-select-button.js.map +1 -1
  96. package/build/components/list-view/block.js +13 -1
  97. package/build/components/list-view/block.js.map +1 -1
  98. package/build/components/list-view/use-block-selection.js +29 -24
  99. package/build/components/list-view/use-block-selection.js.map +1 -1
  100. package/build/components/media-placeholder/index.js +2 -2
  101. package/build/components/media-placeholder/index.js.map +1 -1
  102. package/build/components/media-placeholder/index.native.js +11 -11
  103. package/build/components/media-placeholder/index.native.js.map +1 -1
  104. package/build/components/media-replace-flow/index.js +2 -3
  105. package/build/components/media-replace-flow/index.js.map +1 -1
  106. package/build/components/media-upload/constants.js +30 -0
  107. package/build/components/media-upload/constants.js.map +1 -0
  108. package/build/components/media-upload/index.native.js +63 -53
  109. package/build/components/media-upload/index.native.js.map +1 -1
  110. package/build/components/preview-options/index.js +1 -1
  111. package/build/components/preview-options/index.js.map +1 -1
  112. package/build/components/rich-text/index.js +34 -35
  113. package/build/components/rich-text/index.js.map +1 -1
  114. package/build/components/rich-text/index.native.js +14 -32
  115. package/build/components/rich-text/index.native.js.map +1 -1
  116. package/build/components/rich-text/multiline.js +95 -0
  117. package/build/components/rich-text/multiline.js.map +1 -0
  118. package/build/components/rich-text/split-value.js +10 -16
  119. package/build/components/rich-text/split-value.js.map +1 -1
  120. package/build/components/rich-text/use-enter.js +31 -40
  121. package/build/components/rich-text/use-enter.js.map +1 -1
  122. package/build/components/rich-text/use-paste-handler.js +18 -33
  123. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  124. package/build/components/spacing-sizes-control/utils.js +1 -1
  125. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  126. package/build/components/use-block-commands/index.js +30 -18
  127. package/build/components/use-block-commands/index.js.map +1 -1
  128. package/build/components/use-block-display-information/index.js +5 -2
  129. package/build/components/use-block-display-information/index.js.map +1 -1
  130. package/build/hooks/background.js +258 -0
  131. package/build/hooks/background.js.map +1 -0
  132. package/build/hooks/block-hooks.js +188 -0
  133. package/build/hooks/block-hooks.js.map +1 -0
  134. package/build/hooks/block-rename-ui.js +160 -0
  135. package/build/hooks/block-rename-ui.js.map +1 -0
  136. package/build/hooks/duotone.js +29 -42
  137. package/build/hooks/duotone.js.map +1 -1
  138. package/build/hooks/index.js +2 -2
  139. package/build/hooks/index.js.map +1 -1
  140. package/build/hooks/layout.js +31 -14
  141. package/build/hooks/layout.js.map +1 -1
  142. package/build/hooks/position.js +4 -2
  143. package/build/hooks/position.js.map +1 -1
  144. package/build/hooks/style.js +74 -25
  145. package/build/hooks/style.js.map +1 -1
  146. package/build/hooks/utils.js +4 -0
  147. package/build/hooks/utils.js.map +1 -1
  148. package/build/private-apis.js +2 -0
  149. package/build/private-apis.js.map +1 -1
  150. package/build/store/actions.js +33 -10
  151. package/build/store/actions.js.map +1 -1
  152. package/build/store/private-actions.js +42 -8
  153. package/build/store/private-actions.js.map +1 -1
  154. package/build/store/private-selectors.js +23 -0
  155. package/build/store/private-selectors.js.map +1 -1
  156. package/build/store/reducer.js +43 -1
  157. package/build/store/reducer.js.map +1 -1
  158. package/build/store/selectors.js +84 -23
  159. package/build/store/selectors.js.map +1 -1
  160. package/build/store/utils.js +0 -4
  161. package/build/store/utils.js.map +1 -1
  162. package/build-module/components/block-canvas/index.js +97 -0
  163. package/build-module/components/block-canvas/index.js.map +1 -0
  164. package/build-module/components/block-inspector/index.js +4 -1
  165. package/build-module/components/block-inspector/index.js.map +1 -1
  166. package/build-module/components/block-patterns-list/index.js +20 -5
  167. package/build-module/components/block-patterns-list/index.js.map +1 -1
  168. package/build-module/components/block-patterns-paging/index.js +59 -0
  169. package/build-module/components/block-patterns-paging/index.js.map +1 -0
  170. package/build-module/components/block-settings-menu/block-settings-dropdown.js +28 -0
  171. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  172. package/build-module/components/block-settings-menu-controls/index.js +4 -7
  173. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  174. package/build-module/components/block-styles/index.js +1 -0
  175. package/build-module/components/block-styles/index.js.map +1 -1
  176. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +3 -7
  177. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  178. package/build-module/components/block-tools/block-contextual-toolbar.js +18 -7
  179. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  180. package/build-module/components/block-tools/block-selection-button.js +5 -1
  181. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  182. package/build-module/components/border-radius-control/input-controls.js +1 -1
  183. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  184. package/build-module/components/border-radius-control/linked-button.js +2 -4
  185. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  186. package/build-module/components/colors/with-colors.js.map +1 -1
  187. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -21
  188. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  189. package/build-module/components/default-block-appender/index.native.js +20 -1
  190. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  191. package/build-module/components/duotone/utils.js +65 -0
  192. package/build-module/components/duotone/utils.js.map +1 -1
  193. package/build-module/components/editor-styles/index.js +28 -9
  194. package/build-module/components/editor-styles/index.js.map +1 -1
  195. package/build-module/components/global-styles/hooks.js +3 -100
  196. package/build-module/components/global-styles/hooks.js.map +1 -1
  197. package/build-module/components/global-styles/image-settings-panel.js +53 -0
  198. package/build-module/components/global-styles/image-settings-panel.js.map +1 -0
  199. package/build-module/components/global-styles/index.js +2 -2
  200. package/build-module/components/global-styles/index.js.map +1 -1
  201. package/build-module/components/global-styles/use-global-styles-output.js +18 -16
  202. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  203. package/build-module/components/global-styles/utils.js +1 -1
  204. package/build-module/components/global-styles/utils.js.map +1 -1
  205. package/build-module/components/iframe/index.js +66 -33
  206. package/build-module/components/iframe/index.js.map +1 -1
  207. package/build-module/components/image-editor/use-save-image.js +2 -5
  208. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  209. package/build-module/components/image-editor/use-transform-image.js +9 -9
  210. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  211. package/build-module/components/index.js +1 -1
  212. package/build-module/components/index.js.map +1 -1
  213. package/build-module/components/index.native.js +2 -1
  214. package/build-module/components/index.native.js.map +1 -1
  215. package/build-module/components/inner-blocks/use-nested-settings-update.js +14 -8
  216. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  217. package/build-module/components/inserter/block-patterns-explorer/explorer.js +12 -6
  218. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  219. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +59 -25
  220. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  221. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +23 -9
  222. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  223. package/build-module/components/inserter/block-patterns-source-filter.js +44 -0
  224. package/build-module/components/inserter/block-patterns-source-filter.js.map +1 -0
  225. package/build-module/components/inserter/block-patterns-sync-filter.js +38 -0
  226. package/build-module/components/inserter/block-patterns-sync-filter.js.map +1 -0
  227. package/build-module/components/inserter/block-patterns-tab.js +87 -46
  228. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  229. package/build-module/components/inserter/hooks/use-patterns-paging.js +50 -0
  230. package/build-module/components/inserter/hooks/use-patterns-paging.js.map +1 -0
  231. package/build-module/components/inserter/hooks/use-patterns-state.js +22 -10
  232. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  233. package/build-module/components/inserter/menu.js +13 -11
  234. package/build-module/components/inserter/menu.js.map +1 -1
  235. package/build-module/components/inserter/search-results.js +4 -3
  236. package/build-module/components/inserter/search-results.js.map +1 -1
  237. package/build-module/components/inserter/tabs.js +1 -12
  238. package/build-module/components/inserter/tabs.js.map +1 -1
  239. package/build-module/components/inspector-controls/block-support-slot-container.js +13 -2
  240. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  241. package/build-module/components/inspector-controls/fill.js +25 -14
  242. package/build-module/components/inspector-controls/fill.js.map +1 -1
  243. package/build-module/components/inspector-controls/groups.js +5 -3
  244. package/build-module/components/inspector-controls/groups.js.map +1 -1
  245. package/build-module/components/inspector-controls/slot.js +15 -1
  246. package/build-module/components/inspector-controls/slot.js.map +1 -1
  247. package/build-module/components/inspector-controls-tabs/styles-tab.js +3 -0
  248. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  249. package/build-module/components/link-control/index.js +13 -2
  250. package/build-module/components/link-control/index.js.map +1 -1
  251. package/build-module/components/link-control/settings.js +2 -1
  252. package/build-module/components/link-control/settings.js.map +1 -1
  253. package/build-module/components/list-view/block-select-button.js +1 -3
  254. package/build-module/components/list-view/block-select-button.js.map +1 -1
  255. package/build-module/components/list-view/block.js +13 -1
  256. package/build-module/components/list-view/block.js.map +1 -1
  257. package/build-module/components/list-view/use-block-selection.js +30 -25
  258. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  259. package/build-module/components/media-placeholder/index.js +2 -2
  260. package/build-module/components/media-placeholder/index.js.map +1 -1
  261. package/build-module/components/media-placeholder/index.native.js +7 -7
  262. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  263. package/build-module/components/media-replace-flow/index.js +2 -3
  264. package/build-module/components/media-replace-flow/index.js.map +1 -1
  265. package/build-module/components/media-upload/constants.js +14 -0
  266. package/build-module/components/media-upload/constants.js.map +1 -0
  267. package/build-module/components/media-upload/index.native.js +53 -34
  268. package/build-module/components/media-upload/index.native.js.map +1 -1
  269. package/build-module/components/preview-options/index.js +1 -1
  270. package/build-module/components/preview-options/index.js.map +1 -1
  271. package/build-module/components/rich-text/index.js +35 -37
  272. package/build-module/components/rich-text/index.js.map +1 -1
  273. package/build-module/components/rich-text/index.native.js +15 -33
  274. package/build-module/components/rich-text/index.native.js.map +1 -1
  275. package/build-module/components/rich-text/multiline.js +87 -0
  276. package/build-module/components/rich-text/multiline.js.map +1 -0
  277. package/build-module/components/rich-text/split-value.js +10 -16
  278. package/build-module/components/rich-text/split-value.js.map +1 -1
  279. package/build-module/components/rich-text/use-enter.js +33 -42
  280. package/build-module/components/rich-text/use-enter.js.map +1 -1
  281. package/build-module/components/rich-text/use-paste-handler.js +19 -34
  282. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  283. package/build-module/components/spacing-sizes-control/utils.js +2 -2
  284. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  285. package/build-module/components/use-block-commands/index.js +28 -16
  286. package/build-module/components/use-block-commands/index.js.map +1 -1
  287. package/build-module/components/use-block-display-information/index.js +5 -2
  288. package/build-module/components/use-block-display-information/index.js.map +1 -1
  289. package/build-module/hooks/background.js +244 -0
  290. package/build-module/hooks/background.js.map +1 -0
  291. package/build-module/hooks/block-hooks.js +181 -0
  292. package/build-module/hooks/block-hooks.js.map +1 -0
  293. package/build-module/hooks/block-rename-ui.js +153 -0
  294. package/build-module/hooks/block-rename-ui.js.map +1 -0
  295. package/build-module/hooks/duotone.js +26 -39
  296. package/build-module/hooks/duotone.js.map +1 -1
  297. package/build-module/hooks/index.js +2 -2
  298. package/build-module/hooks/index.js.map +1 -1
  299. package/build-module/hooks/layout.js +33 -16
  300. package/build-module/hooks/layout.js.map +1 -1
  301. package/build-module/hooks/position.js +4 -2
  302. package/build-module/hooks/position.js.map +1 -1
  303. package/build-module/hooks/style.js +73 -24
  304. package/build-module/hooks/style.js.map +1 -1
  305. package/build-module/hooks/utils.js +4 -0
  306. package/build-module/hooks/utils.js.map +1 -1
  307. package/build-module/private-apis.js +2 -0
  308. package/build-module/private-apis.js.map +1 -1
  309. package/build-module/store/actions.js +33 -10
  310. package/build-module/store/actions.js.map +1 -1
  311. package/build-module/store/private-actions.js +39 -8
  312. package/build-module/store/private-actions.js.map +1 -1
  313. package/build-module/store/private-selectors.js +21 -0
  314. package/build-module/store/private-selectors.js.map +1 -1
  315. package/build-module/store/reducer.js +41 -1
  316. package/build-module/store/reducer.js.map +1 -1
  317. package/build-module/store/selectors.js +78 -22
  318. package/build-module/store/selectors.js.map +1 -1
  319. package/build-module/store/utils.js +0 -4
  320. package/build-module/store/utils.js.map +1 -1
  321. package/build-style/content-rtl.css +0 -1
  322. package/build-style/content.css +0 -1
  323. package/build-style/style-rtl.css +174 -131
  324. package/build-style/style.css +174 -131
  325. package/package.json +32 -32
  326. package/src/components/block-canvas/index.js +108 -0
  327. package/src/components/block-inspector/index.js +5 -1
  328. package/src/components/block-list/content.scss +0 -1
  329. package/src/components/block-patterns-list/index.js +32 -7
  330. package/src/components/block-patterns-list/style.scss +26 -9
  331. package/src/components/block-patterns-paging/index.js +92 -0
  332. package/src/components/block-patterns-paging/style.scss +42 -0
  333. package/src/components/block-settings-menu/block-settings-dropdown.js +44 -0
  334. package/src/components/block-settings-menu-controls/index.js +4 -9
  335. package/src/components/block-styles/index.js +1 -0
  336. package/src/components/block-styles/style.scss +3 -3
  337. package/src/components/block-toolbar/block-toolbar-menu.native.js +1 -6
  338. package/src/components/block-tools/block-contextual-toolbar.js +16 -5
  339. package/src/components/block-tools/block-selection-button.js +9 -1
  340. package/src/components/block-tools/style.scss +0 -98
  341. package/src/components/border-radius-control/input-controls.js +1 -1
  342. package/src/components/border-radius-control/linked-button.js +8 -11
  343. package/src/components/color-palette/test/__snapshots__/control.js.snap +34 -21
  344. package/src/components/colors/with-colors.js +3 -2
  345. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -35
  346. package/src/components/default-block-appender/index.native.js +26 -3
  347. package/src/components/duotone/utils.js +65 -0
  348. package/src/components/editor-styles/index.js +32 -23
  349. package/src/components/global-styles/hooks.js +4 -112
  350. package/src/components/global-styles/image-settings-panel.js +71 -0
  351. package/src/components/global-styles/index.js +4 -3
  352. package/src/components/global-styles/use-global-styles-output.js +25 -16
  353. package/src/components/global-styles/utils.js +1 -2
  354. package/src/components/iframe/index.js +72 -33
  355. package/src/components/image-editor/use-save-image.js +2 -9
  356. package/src/components/image-editor/use-transform-image.js +9 -9
  357. package/src/components/index.js +1 -1
  358. package/src/components/index.native.js +2 -2
  359. package/src/components/inner-blocks/use-nested-settings-update.js +15 -10
  360. package/src/components/inserter/block-patterns-explorer/explorer.js +17 -5
  361. package/src/components/inserter/block-patterns-explorer/patterns-list.js +109 -40
  362. package/src/components/inserter/block-patterns-explorer/sidebar.js +23 -8
  363. package/src/components/inserter/block-patterns-source-filter.js +40 -0
  364. package/src/components/inserter/block-patterns-sync-filter.js +35 -0
  365. package/src/components/inserter/block-patterns-tab.js +168 -57
  366. package/src/components/inserter/hooks/use-patterns-paging.js +65 -0
  367. package/src/components/inserter/hooks/use-patterns-state.js +27 -16
  368. package/src/components/inserter/menu.js +15 -17
  369. package/src/components/inserter/search-results.js +6 -4
  370. package/src/components/inserter/style.scss +23 -2
  371. package/src/components/inserter/tabs.js +2 -12
  372. package/src/components/inserter/test/index.native.js +8 -12
  373. package/src/components/inspector-controls/block-support-slot-container.js +19 -3
  374. package/src/components/inspector-controls/fill.js +28 -14
  375. package/src/components/inspector-controls/groups.js +6 -2
  376. package/src/components/inspector-controls/slot.js +28 -3
  377. package/src/components/inspector-controls-tabs/styles-tab.js +4 -0
  378. package/src/components/link-control/index.js +14 -0
  379. package/src/components/link-control/settings.js +1 -0
  380. package/src/components/link-control/style.scss +28 -7
  381. package/src/components/link-control/test/index.js +88 -6
  382. package/src/components/list-view/block-select-button.js +1 -3
  383. package/src/components/list-view/block.js +19 -1
  384. package/src/components/list-view/style.scss +1 -2
  385. package/src/components/list-view/use-block-selection.js +38 -32
  386. package/src/components/media-placeholder/README.md +2 -2
  387. package/src/components/media-placeholder/index.js +2 -2
  388. package/src/components/media-placeholder/index.native.js +11 -12
  389. package/src/components/media-replace-flow/index.js +2 -2
  390. package/src/components/media-replace-flow/test/index.js +5 -23
  391. package/src/components/media-upload/README.md +3 -2
  392. package/src/components/media-upload/constants.js +15 -0
  393. package/src/components/media-upload/index.native.js +66 -40
  394. package/src/components/media-upload/style.native.scss +4 -0
  395. package/src/components/media-upload/test/index.native.js +2 -2
  396. package/src/components/preview-options/README.md +7 -0
  397. package/src/components/preview-options/index.js +1 -1
  398. package/src/components/rich-text/index.js +48 -44
  399. package/src/components/rich-text/index.native.js +14 -42
  400. package/src/components/rich-text/multiline.js +121 -0
  401. package/src/components/rich-text/split-value.js +10 -35
  402. package/src/components/rich-text/use-enter.js +32 -42
  403. package/src/components/rich-text/use-paste-handler.js +16 -40
  404. package/src/components/spacing-sizes-control/style.scss +5 -7
  405. package/src/components/spacing-sizes-control/utils.js +1 -2
  406. package/src/components/use-block-commands/index.js +28 -20
  407. package/src/components/use-block-display-information/index.js +3 -0
  408. package/src/hooks/background.js +288 -0
  409. package/src/hooks/background.scss +57 -0
  410. package/src/hooks/block-hooks.js +257 -0
  411. package/src/hooks/block-hooks.scss +16 -0
  412. package/src/hooks/block-rename-ui.js +230 -0
  413. package/src/hooks/block-rename-ui.scss +3 -0
  414. package/src/hooks/duotone.js +42 -43
  415. package/src/hooks/index.js +2 -2
  416. package/src/hooks/layout.js +31 -33
  417. package/src/hooks/position.js +4 -3
  418. package/src/hooks/style.js +96 -37
  419. package/src/hooks/test/align.native.js +4 -3
  420. package/src/hooks/utils.js +4 -0
  421. package/src/private-apis.js +2 -0
  422. package/src/store/actions.js +52 -10
  423. package/src/store/private-actions.js +37 -6
  424. package/src/store/private-selectors.js +21 -0
  425. package/src/store/reducer.js +38 -0
  426. package/src/store/selectors.js +107 -26
  427. package/src/store/test/actions.js +19 -8
  428. package/src/store/test/private-actions.js +17 -0
  429. package/src/store/test/reducer.js +25 -0
  430. package/src/store/test/selectors.js +130 -123
  431. package/src/store/utils.js +3 -10
  432. package/src/style.scss +4 -0
  433. package/build/components/duotone/components.js +0 -135
  434. package/build/components/duotone/components.js.map +0 -1
  435. package/build/components/duotone/index.js +0 -38
  436. package/build/components/duotone/index.js.map +0 -1
  437. package/build/components/global-styles/behaviors-panel.js +0 -64
  438. package/build/components/global-styles/behaviors-panel.js.map +0 -1
  439. package/build/components/inserter/reusable-blocks-tab.js +0 -85
  440. package/build/components/inserter/reusable-blocks-tab.js.map +0 -1
  441. package/build/hooks/auto-inserting-blocks.js +0 -174
  442. package/build/hooks/auto-inserting-blocks.js.map +0 -1
  443. package/build/hooks/behaviors.js +0 -173
  444. package/build/hooks/behaviors.js.map +0 -1
  445. package/build-module/components/duotone/components.js +0 -126
  446. package/build-module/components/duotone/components.js.map +0 -1
  447. package/build-module/components/duotone/index.js +0 -3
  448. package/build-module/components/duotone/index.js.map +0 -1
  449. package/build-module/components/global-styles/behaviors-panel.js +0 -57
  450. package/build-module/components/global-styles/behaviors-panel.js.map +0 -1
  451. package/build-module/components/inserter/reusable-blocks-tab.js +0 -76
  452. package/build-module/components/inserter/reusable-blocks-tab.js.map +0 -1
  453. package/build-module/hooks/auto-inserting-blocks.js +0 -167
  454. package/build-module/hooks/auto-inserting-blocks.js.map +0 -1
  455. package/build-module/hooks/behaviors.js +0 -166
  456. package/build-module/hooks/behaviors.js.map +0 -1
  457. package/src/components/duotone/components.js +0 -133
  458. package/src/components/duotone/index.js +0 -7
  459. package/src/components/global-styles/behaviors-panel.js +0 -71
  460. package/src/components/inserter/reusable-blocks-tab.js +0 -84
  461. package/src/components/inserter/test/reusable-blocks-tab.js +0 -73
  462. package/src/hooks/auto-inserting-blocks.js +0 -232
  463. package/src/hooks/behaviors.js +0 -206
@@ -219,8 +219,9 @@ describe( 'actions', () => {
219
219
  };
220
220
  const dispatch = jest.fn();
221
221
  dispatch.ensureDefaultBlock = jest.fn();
222
+ const registry = createRegistry();
222
223
 
223
- replaceBlock( 'chicken', block )( { select, dispatch } );
224
+ replaceBlock( 'chicken', block )( { select, dispatch, registry } );
224
225
 
225
226
  expect( dispatch ).toHaveBeenCalledWith( {
226
227
  type: 'REPLACE_BLOCKS',
@@ -285,8 +286,12 @@ describe( 'actions', () => {
285
286
  };
286
287
  const dispatch = jest.fn();
287
288
  dispatch.ensureDefaultBlock = jest.fn();
289
+ const registry = createRegistry();
288
290
 
289
- replaceBlocks( [ 'chicken' ], blocks )( { select, dispatch } );
291
+ replaceBlocks(
292
+ [ 'chicken' ],
293
+ blocks
294
+ )( { select, dispatch, registry } );
290
295
 
291
296
  expect( dispatch ).toHaveBeenCalledWith( {
292
297
  type: 'REPLACE_BLOCKS',
@@ -319,6 +324,7 @@ describe( 'actions', () => {
319
324
  };
320
325
  const dispatch = jest.fn();
321
326
  dispatch.ensureDefaultBlock = jest.fn();
327
+ const registry = createRegistry();
322
328
 
323
329
  replaceBlocks(
324
330
  [ 'chicken' ],
@@ -326,7 +332,7 @@ describe( 'actions', () => {
326
332
  null,
327
333
  null,
328
334
  meta
329
- )( { select, dispatch } );
335
+ )( { select, dispatch, registry } );
330
336
 
331
337
  expect( dispatch ).toHaveBeenCalledWith( {
332
338
  type: 'REPLACE_BLOCKS',
@@ -628,8 +634,9 @@ describe( 'actions', () => {
628
634
  const dispatch = Object.assign( jest.fn(), {
629
635
  selectPreviousBlock: jest.fn(),
630
636
  } );
637
+ const registry = createRegistry();
631
638
 
632
- removeBlocks( clientIds )( { select, dispatch } );
639
+ removeBlocks( clientIds )( { select, dispatch, registry } );
633
640
 
634
641
  expect( dispatch.selectPreviousBlock ).toHaveBeenCalledWith(
635
642
  clientId,
@@ -739,8 +746,8 @@ describe( 'actions', () => {
739
746
  const dispatch = Object.assign( jest.fn(), {
740
747
  selectPreviousBlock: jest.fn(),
741
748
  } );
742
-
743
- removeBlock( clientId )( { select, dispatch } );
749
+ const registry = createRegistry();
750
+ removeBlock( clientId )( { select, dispatch, registry } );
744
751
 
745
752
  expect( dispatch.selectPreviousBlock ).toHaveBeenCalledWith(
746
753
  clientId,
@@ -753,7 +760,7 @@ describe( 'actions', () => {
753
760
  } );
754
761
  } );
755
762
 
756
- it( 'should dispatch REMOVE_BLOCKS action, opting out of select previous', () => {
763
+ it( 'should dispatch REMOVE_BLOCKS action, opting out of select previous', async () => {
757
764
  const clientId = 'myclientid';
758
765
 
759
766
  const select = {
@@ -765,7 +772,11 @@ describe( 'actions', () => {
765
772
  selectPreviousBlock: jest.fn(),
766
773
  } );
767
774
 
768
- removeBlocks( [ clientId ], false )( { select, dispatch } );
775
+ const registry = createRegistry();
776
+ removeBlocks(
777
+ [ clientId ],
778
+ false
779
+ )( { select, dispatch, registry } );
769
780
 
770
781
  expect( dispatch.selectPreviousBlock ).not.toHaveBeenCalled();
771
782
 
@@ -5,6 +5,7 @@ import {
5
5
  hideBlockInterface,
6
6
  showBlockInterface,
7
7
  __experimentalUpdateSettings,
8
+ setOpenedBlockSettingsMenu,
8
9
  } from '../private-actions';
9
10
 
10
11
  describe( 'private actions', () => {
@@ -78,4 +79,20 @@ describe( 'private actions', () => {
78
79
  } );
79
80
  } );
80
81
  } );
82
+
83
+ describe( 'setOpenedBlockSettingsMenu', () => {
84
+ it( 'should return the SET_OPENED_BLOCK_SETTINGS_MENU action', () => {
85
+ expect( setOpenedBlockSettingsMenu() ).toEqual( {
86
+ clientId: undefined,
87
+ type: 'SET_OPENED_BLOCK_SETTINGS_MENU',
88
+ } );
89
+ } );
90
+
91
+ it( 'should return the SET_OPENED_BLOCK_SETTINGS_MENU action with client id if provided', () => {
92
+ expect( setOpenedBlockSettingsMenu( 'abcd' ) ).toEqual( {
93
+ clientId: 'abcd',
94
+ type: 'SET_OPENED_BLOCK_SETTINGS_MENU',
95
+ } );
96
+ } );
97
+ } );
81
98
  } );
@@ -33,6 +33,7 @@ import {
33
33
  lastBlockAttributesChange,
34
34
  lastBlockInserted,
35
35
  blockEditingModes,
36
+ openedBlockSettingsMenu,
36
37
  } from '../reducer';
37
38
 
38
39
  const noop = () => {};
@@ -3415,4 +3416,28 @@ describe( 'state', () => {
3415
3416
  );
3416
3417
  } );
3417
3418
  } );
3419
+
3420
+ describe( 'openedBlockSettingsMenu', () => {
3421
+ it( 'should return null by default', () => {
3422
+ expect( openedBlockSettingsMenu( undefined, {} ) ).toBe( null );
3423
+ } );
3424
+
3425
+ it( 'should set client id for opened block settings menu', () => {
3426
+ const state = openedBlockSettingsMenu( null, {
3427
+ type: 'SET_OPENED_BLOCK_SETTINGS_MENU',
3428
+ clientId: '14501cc2-90a6-4f52-aa36-ab6e896135d1',
3429
+ } );
3430
+ expect( state ).toBe( '14501cc2-90a6-4f52-aa36-ab6e896135d1' );
3431
+ } );
3432
+
3433
+ it( 'should clear the state when no client id is passed', () => {
3434
+ const state = openedBlockSettingsMenu(
3435
+ '14501cc2-90a6-4f52-aa36-ab6e896135d1',
3436
+ {
3437
+ type: 'SET_OPENED_BLOCK_SETTINGS_MENU',
3438
+ }
3439
+ );
3440
+ expect( state ).toBe( null );
3441
+ } );
3442
+ } );
3418
3443
  } );
@@ -526,130 +526,131 @@ describe( 'selectors', () => {
526
526
  } );
527
527
 
528
528
  describe( 'getClientIdsOfDescendants', () => {
529
+ const state = {
530
+ blocks: {
531
+ byClientId: new Map(
532
+ Object.entries( {
533
+ 'uuid-2': {
534
+ clientId: 'uuid-2',
535
+ name: 'core/image',
536
+ },
537
+ 'uuid-4': {
538
+ clientId: 'uuid-4',
539
+ name: 'core/paragraph',
540
+ },
541
+ 'uuid-6': {
542
+ clientId: 'uuid-6',
543
+ name: 'core/paragraph',
544
+ },
545
+ 'uuid-8': {
546
+ clientId: 'uuid-8',
547
+ name: 'core/block',
548
+ },
549
+ 'uuid-10': {
550
+ clientId: 'uuid-10',
551
+ name: 'core/columns',
552
+ },
553
+ 'uuid-12': {
554
+ clientId: 'uuid-12',
555
+ name: 'core/column',
556
+ },
557
+ 'uuid-14': {
558
+ clientId: 'uuid-14',
559
+ name: 'core/column',
560
+ },
561
+ 'uuid-16': {
562
+ clientId: 'uuid-16',
563
+ name: 'core/quote',
564
+ },
565
+ 'uuid-18': {
566
+ clientId: 'uuid-18',
567
+ name: 'core/block',
568
+ },
569
+ 'uuid-20': {
570
+ clientId: 'uuid-20',
571
+ name: 'core/gallery',
572
+ },
573
+ 'uuid-22': {
574
+ clientId: 'uuid-22',
575
+ name: 'core/block',
576
+ },
577
+ 'uuid-24': {
578
+ clientId: 'uuid-24',
579
+ name: 'core/columns',
580
+ },
581
+ 'uuid-26': {
582
+ clientId: 'uuid-26',
583
+ name: 'core/column',
584
+ },
585
+ 'uuid-28': {
586
+ clientId: 'uuid-28',
587
+ name: 'core/column',
588
+ },
589
+ 'uuid-30': {
590
+ clientId: 'uuid-30',
591
+ name: 'core/paragraph',
592
+ },
593
+ } )
594
+ ),
595
+ attributes: new Map(
596
+ Object.entries( {
597
+ 'uuid-2': {},
598
+ 'uuid-4': {},
599
+ 'uuid-6': {},
600
+ 'uuid-8': {},
601
+ 'uuid-10': {},
602
+ 'uuid-12': {},
603
+ 'uuid-14': {},
604
+ 'uuid-16': {},
605
+ 'uuid-18': {},
606
+ 'uuid-20': {},
607
+ 'uuid-22': {},
608
+ 'uuid-24': {},
609
+ 'uuid-26': {},
610
+ 'uuid-28': {},
611
+ 'uuid-30': {},
612
+ } )
613
+ ),
614
+ order: new Map(
615
+ Object.entries( {
616
+ '': [ 'uuid-6', 'uuid-8', 'uuid-10', 'uuid-22' ],
617
+ 'uuid-2': [],
618
+ 'uuid-4': [],
619
+ 'uuid-6': [],
620
+ 'uuid-8': [],
621
+ 'uuid-10': [ 'uuid-12', 'uuid-14' ],
622
+ 'uuid-12': [ 'uuid-16' ],
623
+ 'uuid-14': [ 'uuid-18' ],
624
+ 'uuid-16': [],
625
+ 'uuid-18': [ 'uuid-24' ],
626
+ 'uuid-20': [],
627
+ 'uuid-22': [],
628
+ 'uuid-24': [ 'uuid-26', 'uuid-28' ],
629
+ 'uuid-26': [],
630
+ 'uuid-28': [ 'uuid-30' ],
631
+ } )
632
+ ),
633
+ parents: new Map(
634
+ Object.entries( {
635
+ 'uuid-6': '',
636
+ 'uuid-8': '',
637
+ 'uuid-10': '',
638
+ 'uuid-22': '',
639
+ 'uuid-12': 'uuid-10',
640
+ 'uuid-14': 'uuid-10',
641
+ 'uuid-16': 'uuid-12',
642
+ 'uuid-18': 'uuid-14',
643
+ 'uuid-24': 'uuid-18',
644
+ 'uuid-26': 'uuid-24',
645
+ 'uuid-28': 'uuid-24',
646
+ 'uuid-30': 'uuid-28',
647
+ } )
648
+ ),
649
+ controlledInnerBlocks: {},
650
+ },
651
+ };
652
+
529
653
  it( 'should return the ids of any descendants in sequential order, given an array of clientIds', () => {
530
- const state = {
531
- blocks: {
532
- byClientId: new Map(
533
- Object.entries( {
534
- 'uuid-2': {
535
- clientId: 'uuid-2',
536
- name: 'core/image',
537
- },
538
- 'uuid-4': {
539
- clientId: 'uuid-4',
540
- name: 'core/paragraph',
541
- },
542
- 'uuid-6': {
543
- clientId: 'uuid-6',
544
- name: 'core/paragraph',
545
- },
546
- 'uuid-8': {
547
- clientId: 'uuid-8',
548
- name: 'core/block',
549
- },
550
- 'uuid-10': {
551
- clientId: 'uuid-10',
552
- name: 'core/columns',
553
- },
554
- 'uuid-12': {
555
- clientId: 'uuid-12',
556
- name: 'core/column',
557
- },
558
- 'uuid-14': {
559
- clientId: 'uuid-14',
560
- name: 'core/column',
561
- },
562
- 'uuid-16': {
563
- clientId: 'uuid-16',
564
- name: 'core/quote',
565
- },
566
- 'uuid-18': {
567
- clientId: 'uuid-18',
568
- name: 'core/block',
569
- },
570
- 'uuid-20': {
571
- clientId: 'uuid-20',
572
- name: 'core/gallery',
573
- },
574
- 'uuid-22': {
575
- clientId: 'uuid-22',
576
- name: 'core/block',
577
- },
578
- 'uuid-24': {
579
- clientId: 'uuid-24',
580
- name: 'core/columns',
581
- },
582
- 'uuid-26': {
583
- clientId: 'uuid-26',
584
- name: 'core/column',
585
- },
586
- 'uuid-28': {
587
- clientId: 'uuid-28',
588
- name: 'core/column',
589
- },
590
- 'uuid-30': {
591
- clientId: 'uuid-30',
592
- name: 'core/paragraph',
593
- },
594
- } )
595
- ),
596
- attributes: new Map(
597
- Object.entries( {
598
- 'uuid-2': {},
599
- 'uuid-4': {},
600
- 'uuid-6': {},
601
- 'uuid-8': {},
602
- 'uuid-10': {},
603
- 'uuid-12': {},
604
- 'uuid-14': {},
605
- 'uuid-16': {},
606
- 'uuid-18': {},
607
- 'uuid-20': {},
608
- 'uuid-22': {},
609
- 'uuid-24': {},
610
- 'uuid-26': {},
611
- 'uuid-28': {},
612
- 'uuid-30': {},
613
- } )
614
- ),
615
- order: new Map(
616
- Object.entries( {
617
- '': [ 'uuid-6', 'uuid-8', 'uuid-10', 'uuid-22' ],
618
- 'uuid-2': [],
619
- 'uuid-4': [],
620
- 'uuid-6': [],
621
- 'uuid-8': [],
622
- 'uuid-10': [ 'uuid-12', 'uuid-14' ],
623
- 'uuid-12': [ 'uuid-16' ],
624
- 'uuid-14': [ 'uuid-18' ],
625
- 'uuid-16': [],
626
- 'uuid-18': [ 'uuid-24' ],
627
- 'uuid-20': [],
628
- 'uuid-22': [],
629
- 'uuid-24': [ 'uuid-26', 'uuid-28' ],
630
- 'uuid-26': [],
631
- 'uuid-28': [ 'uuid-30' ],
632
- } )
633
- ),
634
- parents: new Map(
635
- Object.entries( {
636
- 'uuid-6': '',
637
- 'uuid-8': '',
638
- 'uuid-10': '',
639
- 'uuid-22': '',
640
- 'uuid-12': 'uuid-10',
641
- 'uuid-14': 'uuid-10',
642
- 'uuid-16': 'uuid-12',
643
- 'uuid-18': 'uuid-14',
644
- 'uuid-24': 'uuid-18',
645
- 'uuid-26': 'uuid-24',
646
- 'uuid-28': 'uuid-24',
647
- 'uuid-30': 'uuid-28',
648
- } )
649
- ),
650
- controlledInnerBlocks: {},
651
- },
652
- };
653
654
  expect( getClientIdsOfDescendants( state, [ 'uuid-10' ] ) ).toEqual(
654
655
  [
655
656
  'uuid-12',
@@ -663,6 +664,12 @@ describe( 'selectors', () => {
663
664
  ]
664
665
  );
665
666
  } );
667
+
668
+ it( 'should return same value when called with same state and argument', () => {
669
+ expect( getClientIdsOfDescendants( state, 'uuid-10' ) ).toBe(
670
+ getClientIdsOfDescendants( state, 'uuid-10' )
671
+ );
672
+ } );
666
673
  } );
667
674
 
668
675
  describe( 'getClientIdsWithDescendants', () => {
@@ -6,14 +6,7 @@
6
6
  * @return {Object} The mapped object.
7
7
  */
8
8
  export function mapRichTextSettings( attributeDefinition ) {
9
- const {
10
- multiline: multilineTag,
11
- __unstableMultilineWrapperTags: multilineWrapperTags,
12
- __unstablePreserveWhiteSpace: preserveWhiteSpace,
13
- } = attributeDefinition;
14
- return {
15
- multilineTag,
16
- multilineWrapperTags,
17
- preserveWhiteSpace,
18
- };
9
+ const { __unstablePreserveWhiteSpace: preserveWhiteSpace } =
10
+ attributeDefinition;
11
+ return { preserveWhiteSpace };
19
12
  }
package/src/style.scss CHANGED
@@ -12,6 +12,7 @@
12
12
  @import "./components/block-navigation/style.scss";
13
13
  @import "./components/block-parent-selector/style.scss";
14
14
  @import "./components/block-patterns-list/style.scss";
15
+ @import "./components/block-patterns-paging/style.scss";
15
16
  @import "./components/block-popover/style.scss";
16
17
  @import "./components/block-preview/style.scss";
17
18
  @import "./components/block-settings-menu/style.scss";
@@ -46,6 +47,8 @@
46
47
  @import "./components/url-input/style.scss";
47
48
  @import "./components/url-popover/style.scss";
48
49
  @import "./hooks/anchor.scss";
50
+ @import "./hooks/block-hooks.scss";
51
+ @import "./hooks/background.scss";
49
52
  @import "./hooks/border.scss";
50
53
  @import "./hooks/color.scss";
51
54
  @import "./hooks/dimensions.scss";
@@ -53,6 +56,7 @@
53
56
  @import "./hooks/padding.scss";
54
57
  @import "./hooks/position.scss";
55
58
  @import "./hooks/typography.scss";
59
+ @import "./hooks/block-rename-ui.scss";
56
60
 
57
61
  @import "./components/block-toolbar/style.scss";
58
62
  @import "./components/inserter/style.scss";
@@ -1,135 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.DuotoneFilter = DuotoneFilter;
7
- exports.DuotoneStylesheet = DuotoneStylesheet;
8
- exports.DuotoneUnsetStylesheet = DuotoneUnsetStylesheet;
9
- exports.PresetDuotoneFilter = PresetDuotoneFilter;
10
- var _element = require("@wordpress/element");
11
- var _components = require("@wordpress/components");
12
- var _index = require("./index");
13
- /**
14
- * WordPress dependencies
15
- */
16
-
17
- /**
18
- * Internal dependencies
19
- */
20
-
21
- /**
22
- * SVG and stylesheet needed for rendering the duotone filter.
23
- *
24
- * @param {Object} props Duotone props.
25
- * @param {string} props.selector Selector to apply the filter to.
26
- * @param {string} props.id Unique id for this duotone filter.
27
- *
28
- * @return {WPElement} Duotone element.
29
- */
30
- function DuotoneStylesheet({
31
- selector,
32
- id
33
- }) {
34
- const css = `
35
- ${selector} {
36
- filter: url( #${id} );
37
- }
38
- `;
39
- return (0, _element.createElement)("style", null, css);
40
- }
41
-
42
- /**
43
- * Stylesheet for disabling a global styles duotone filter.
44
- *
45
- * @param {Object} props Duotone props.
46
- * @param {string} props.selector Selector to disable the filter for.
47
- *
48
- * @return {WPElement} Filter none style element.
49
- */
50
- function DuotoneUnsetStylesheet({
51
- selector
52
- }) {
53
- const css = `
54
- ${selector} {
55
- filter: none;
56
- }
57
- `;
58
- return (0, _element.createElement)("style", null, css);
59
- }
60
-
61
- /**
62
- * The SVG part of the duotone filter.
63
- *
64
- * @param {Object} props Duotone props.
65
- * @param {string} props.id Unique id for this duotone filter.
66
- * @param {string[]} props.colors Color strings from dark to light.
67
- *
68
- * @return {WPElement} Duotone SVG.
69
- */
70
- function DuotoneFilter({
71
- id,
72
- colors
73
- }) {
74
- const values = (0, _index.__unstableGetValuesFromColors)(colors);
75
- return (0, _element.createElement)(_components.SVG, {
76
- xmlnsXlink: "http://www.w3.org/1999/xlink",
77
- viewBox: "0 0 0 0",
78
- width: "0",
79
- height: "0",
80
- focusable: "false",
81
- role: "none",
82
- style: {
83
- visibility: 'hidden',
84
- position: 'absolute',
85
- left: '-9999px',
86
- overflow: 'hidden'
87
- }
88
- }, (0, _element.createElement)("defs", null, (0, _element.createElement)("filter", {
89
- id: id
90
- }, (0, _element.createElement)("feColorMatrix", {
91
- // Use sRGB instead of linearRGB so transparency looks correct.
92
- colorInterpolationFilters: "sRGB",
93
- type: "matrix"
94
- // Use perceptual brightness to convert to grayscale.
95
- ,
96
- values: " .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 "
97
- }), (0, _element.createElement)("feComponentTransfer", {
98
- // Use sRGB instead of linearRGB to be consistent with how CSS gradients work.
99
- colorInterpolationFilters: "sRGB"
100
- }, (0, _element.createElement)("feFuncR", {
101
- type: "table",
102
- tableValues: values.r.join(' ')
103
- }), (0, _element.createElement)("feFuncG", {
104
- type: "table",
105
- tableValues: values.g.join(' ')
106
- }), (0, _element.createElement)("feFuncB", {
107
- type: "table",
108
- tableValues: values.b.join(' ')
109
- }), (0, _element.createElement)("feFuncA", {
110
- type: "table",
111
- tableValues: values.a.join(' ')
112
- })), (0, _element.createElement)("feComposite", {
113
- // Re-mask the image with the original transparency since the feColorMatrix above loses that information.
114
- in2: "SourceGraphic",
115
- operator: "in"
116
- }))));
117
- }
118
-
119
- /**
120
- * SVG from a duotone preset
121
- *
122
- * @param {Object} props Duotone props.
123
- * @param {Object} props.preset Duotone preset settings.
124
- *
125
- * @return {WPElement} Duotone element.
126
- */
127
- function PresetDuotoneFilter({
128
- preset
129
- }) {
130
- return (0, _element.createElement)(DuotoneFilter, {
131
- id: `wp-duotone-${preset.slug}`,
132
- colors: preset.colors
133
- });
134
- }
135
- //# sourceMappingURL=components.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_components","require","_index","DuotoneStylesheet","selector","id","css","_element","createElement","DuotoneUnsetStylesheet","DuotoneFilter","colors","values","getValuesFromColors","SVG","xmlnsXlink","viewBox","width","height","focusable","role","style","visibility","position","left","overflow","colorInterpolationFilters","type","tableValues","r","join","g","b","a","in2","operator","PresetDuotoneFilter","preset","slug"],"sources":["@wordpress/block-editor/src/components/duotone/components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { __unstableGetValuesFromColors as getValuesFromColors } from './index';\n\n/**\n * SVG and stylesheet needed for rendering the duotone filter.\n *\n * @param {Object} props Duotone props.\n * @param {string} props.selector Selector to apply the filter to.\n * @param {string} props.id Unique id for this duotone filter.\n *\n * @return {WPElement} Duotone element.\n */\nexport function DuotoneStylesheet( { selector, id } ) {\n\tconst css = `\n${ selector } {\n\tfilter: url( #${ id } );\n}\n`;\n\treturn <style>{ css }</style>;\n}\n\n/**\n * Stylesheet for disabling a global styles duotone filter.\n *\n * @param {Object} props Duotone props.\n * @param {string} props.selector Selector to disable the filter for.\n *\n * @return {WPElement} Filter none style element.\n */\nexport function DuotoneUnsetStylesheet( { selector } ) {\n\tconst css = `\n${ selector } {\n\tfilter: none;\n}\n`;\n\treturn <style>{ css }</style>;\n}\n\n/**\n * The SVG part of the duotone filter.\n *\n * @param {Object} props Duotone props.\n * @param {string} props.id Unique id for this duotone filter.\n * @param {string[]} props.colors Color strings from dark to light.\n *\n * @return {WPElement} Duotone SVG.\n */\nexport function DuotoneFilter( { id, colors } ) {\n\tconst values = getValuesFromColors( colors );\n\treturn (\n\t\t<SVG\n\t\t\txmlnsXlink=\"http://www.w3.org/1999/xlink\"\n\t\t\tviewBox=\"0 0 0 0\"\n\t\t\twidth=\"0\"\n\t\t\theight=\"0\"\n\t\t\tfocusable=\"false\"\n\t\t\trole=\"none\"\n\t\t\tstyle={ {\n\t\t\t\tvisibility: 'hidden',\n\t\t\t\tposition: 'absolute',\n\t\t\t\tleft: '-9999px',\n\t\t\t\toverflow: 'hidden',\n\t\t\t} }\n\t\t>\n\t\t\t<defs>\n\t\t\t\t<filter id={ id }>\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\t// Use sRGB instead of linearRGB so transparency looks correct.\n\t\t\t\t\t\tcolorInterpolationFilters=\"sRGB\"\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\t// Use perceptual brightness to convert to grayscale.\n\t\t\t\t\t\tvalues=\"\n\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feComponentTransfer\n\t\t\t\t\t\t// Use sRGB instead of linearRGB to be consistent with how CSS gradients work.\n\t\t\t\t\t\tcolorInterpolationFilters=\"sRGB\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<feFuncR\n\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\ttableValues={ values.r.join( ' ' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<feFuncG\n\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\ttableValues={ values.g.join( ' ' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<feFuncB\n\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\ttableValues={ values.b.join( ' ' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<feFuncA\n\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\ttableValues={ values.a.join( ' ' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</feComponentTransfer>\n\t\t\t\t\t<feComposite\n\t\t\t\t\t\t// Re-mask the image with the original transparency since the feColorMatrix above loses that information.\n\t\t\t\t\t\tin2=\"SourceGraphic\"\n\t\t\t\t\t\toperator=\"in\"\n\t\t\t\t\t/>\n\t\t\t\t</filter>\n\t\t\t</defs>\n\t\t</SVG>\n\t);\n}\n\n/**\n * SVG from a duotone preset\n *\n * @param {Object} props Duotone props.\n * @param {Object} props.preset Duotone preset settings.\n *\n * @return {WPElement} Duotone element.\n */\nexport function PresetDuotoneFilter( { preset } ) {\n\treturn (\n\t\t<DuotoneFilter\n\t\t\tid={ `wp-duotone-${ preset.slug }` }\n\t\t\tcolors={ preset.colors }\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASE,iBAAiBA,CAAE;EAAEC,QAAQ;EAAEC;AAAG,CAAC,EAAG;EACrD,MAAMC,GAAG,GAAI;AACd,EAAGF,QAAU;AACb,iBAAkBC,EAAI;AACtB;AACA,CAAC;EACA,OAAO,IAAAE,QAAA,CAAAC,aAAA,iBAASF,GAAY,CAAC;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASG,sBAAsBA,CAAE;EAAEL;AAAS,CAAC,EAAG;EACtD,MAAME,GAAG,GAAI;AACd,EAAGF,QAAU;AACb;AACA;AACA,CAAC;EACA,OAAO,IAAAG,QAAA,CAAAC,aAAA,iBAASF,GAAY,CAAC;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,aAAaA,CAAE;EAAEL,EAAE;EAAEM;AAAO,CAAC,EAAG;EAC/C,MAAMC,MAAM,GAAG,IAAAC,oCAAmB,EAAEF,MAAO,CAAC;EAC5C,OACC,IAAAJ,QAAA,CAAAC,aAAA,EAACR,WAAA,CAAAc,GAAG;IACHC,UAAU,EAAC,8BAA8B;IACzCC,OAAO,EAAC,SAAS;IACjBC,KAAK,EAAC,GAAG;IACTC,MAAM,EAAC,GAAG;IACVC,SAAS,EAAC,OAAO;IACjBC,IAAI,EAAC,MAAM;IACXC,KAAK,EAAG;MACPC,UAAU,EAAE,QAAQ;MACpBC,QAAQ,EAAE,UAAU;MACpBC,IAAI,EAAE,SAAS;MACfC,QAAQ,EAAE;IACX;EAAG,GAEH,IAAAlB,QAAA,CAAAC,aAAA,gBACC,IAAAD,QAAA,CAAAC,aAAA;IAAQH,EAAE,EAAGA;EAAI,GAChB,IAAAE,QAAA,CAAAC,aAAA;IACC;IACAkB,yBAAyB,EAAC,MAAM;IAChCC,IAAI,EAAC;IACL;IAAA;IACAf,MAAM,EAAC;EAKN,CACD,CAAC,EACF,IAAAL,QAAA,CAAAC,aAAA;IACC;IACAkB,yBAAyB,EAAC;EAAM,GAEhC,IAAAnB,QAAA,CAAAC,aAAA;IACCmB,IAAI,EAAC,OAAO;IACZC,WAAW,EAAGhB,MAAM,CAACiB,CAAC,CAACC,IAAI,CAAE,GAAI;EAAG,CACpC,CAAC,EACF,IAAAvB,QAAA,CAAAC,aAAA;IACCmB,IAAI,EAAC,OAAO;IACZC,WAAW,EAAGhB,MAAM,CAACmB,CAAC,CAACD,IAAI,CAAE,GAAI;EAAG,CACpC,CAAC,EACF,IAAAvB,QAAA,CAAAC,aAAA;IACCmB,IAAI,EAAC,OAAO;IACZC,WAAW,EAAGhB,MAAM,CAACoB,CAAC,CAACF,IAAI,CAAE,GAAI;EAAG,CACpC,CAAC,EACF,IAAAvB,QAAA,CAAAC,aAAA;IACCmB,IAAI,EAAC,OAAO;IACZC,WAAW,EAAGhB,MAAM,CAACqB,CAAC,CAACH,IAAI,CAAE,GAAI;EAAG,CACpC,CACmB,CAAC,EACtB,IAAAvB,QAAA,CAAAC,aAAA;IACC;IACA0B,GAAG,EAAC,eAAe;IACnBC,QAAQ,EAAC;EAAI,CACb,CACM,CACH,CACF,CAAC;AAER;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmBA,CAAE;EAAEC;AAAO,CAAC,EAAG;EACjD,OACC,IAAA9B,QAAA,CAAAC,aAAA,EAACE,aAAa;IACbL,EAAE,EAAI,cAAcgC,MAAM,CAACC,IAAM,EAAG;IACpC3B,MAAM,EAAG0B,MAAM,CAAC1B;EAAQ,CACxB,CAAC;AAEJ"}
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "__unstableDuotoneFilter", {
7
- enumerable: true,
8
- get: function () {
9
- return _components.DuotoneFilter;
10
- }
11
- });
12
- Object.defineProperty(exports, "__unstableDuotoneStylesheet", {
13
- enumerable: true,
14
- get: function () {
15
- return _components.DuotoneStylesheet;
16
- }
17
- });
18
- Object.defineProperty(exports, "__unstableDuotoneUnsetStylesheet", {
19
- enumerable: true,
20
- get: function () {
21
- return _components.DuotoneUnsetStylesheet;
22
- }
23
- });
24
- Object.defineProperty(exports, "__unstableGetValuesFromColors", {
25
- enumerable: true,
26
- get: function () {
27
- return _utils.getValuesFromColors;
28
- }
29
- });
30
- Object.defineProperty(exports, "__unstablePresetDuotoneFilter", {
31
- enumerable: true,
32
- get: function () {
33
- return _components.PresetDuotoneFilter;
34
- }
35
- });
36
- var _utils = require("./utils");
37
- var _components = require("./components");
38
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_utils","require","_components"],"sources":["@wordpress/block-editor/src/components/duotone/index.js"],"sourcesContent":["export { getValuesFromColors as __unstableGetValuesFromColors } from './utils';\nexport {\n\tDuotoneFilter as __unstableDuotoneFilter,\n\tPresetDuotoneFilter as __unstablePresetDuotoneFilter,\n\tDuotoneStylesheet as __unstableDuotoneStylesheet,\n\tDuotoneUnsetStylesheet as __unstableDuotoneUnsetStylesheet,\n} from './components';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA"}