@wordpress/block-editor 12.9.1-next.5a1d1283.0 → 12.10.1

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 (448) 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 +28 -8
  8. package/build/components/block-patterns-list/index.js.map +1 -1
  9. package/build/components/block-patterns-paging/index.js +68 -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 +45 -22
  61. package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  62. package/build/components/inserter/block-patterns-explorer/sidebar.js +9 -9
  63. package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  64. package/build/components/inserter/block-patterns-filter.js +137 -0
  65. package/build/components/inserter/block-patterns-filter.js.map +1 -0
  66. package/build/components/inserter/block-patterns-tab.js +128 -42
  67. package/build/components/inserter/block-patterns-tab.js.map +1 -1
  68. package/build/components/inserter/hooks/use-patterns-paging.js +61 -0
  69. package/build/components/inserter/hooks/use-patterns-paging.js.map +1 -0
  70. package/build/components/inserter/hooks/use-patterns-state.js +21 -10
  71. package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
  72. package/build/components/inserter/menu.js +13 -11
  73. package/build/components/inserter/menu.js.map +1 -1
  74. package/build/components/inserter/search-results.js +4 -3
  75. package/build/components/inserter/search-results.js.map +1 -1
  76. package/build/components/inserter/tabs.js +1 -12
  77. package/build/components/inserter/tabs.js.map +1 -1
  78. package/build/components/inspector-controls/block-support-slot-container.js +12 -1
  79. package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
  80. package/build/components/inspector-controls/fill.js +24 -13
  81. package/build/components/inspector-controls/fill.js.map +1 -1
  82. package/build/components/inspector-controls/groups.js +5 -3
  83. package/build/components/inspector-controls/groups.js.map +1 -1
  84. package/build/components/inspector-controls/slot.js +13 -0
  85. package/build/components/inspector-controls/slot.js.map +1 -1
  86. package/build/components/inspector-controls-tabs/styles-tab.js +3 -0
  87. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  88. package/build/components/link-control/index.js +12 -2
  89. package/build/components/link-control/index.js.map +1 -1
  90. package/build/components/list-view/block-select-button.js +1 -3
  91. package/build/components/list-view/block-select-button.js.map +1 -1
  92. package/build/components/list-view/block.js +13 -1
  93. package/build/components/list-view/block.js.map +1 -1
  94. package/build/components/list-view/use-block-selection.js +29 -24
  95. package/build/components/list-view/use-block-selection.js.map +1 -1
  96. package/build/components/media-placeholder/index.js +2 -2
  97. package/build/components/media-placeholder/index.js.map +1 -1
  98. package/build/components/media-placeholder/index.native.js +11 -11
  99. package/build/components/media-placeholder/index.native.js.map +1 -1
  100. package/build/components/media-replace-flow/index.js +2 -3
  101. package/build/components/media-replace-flow/index.js.map +1 -1
  102. package/build/components/media-upload/constants.js +30 -0
  103. package/build/components/media-upload/constants.js.map +1 -0
  104. package/build/components/media-upload/index.native.js +63 -53
  105. package/build/components/media-upload/index.native.js.map +1 -1
  106. package/build/components/preview-options/index.js +1 -1
  107. package/build/components/preview-options/index.js.map +1 -1
  108. package/build/components/rich-text/index.js +34 -35
  109. package/build/components/rich-text/index.js.map +1 -1
  110. package/build/components/rich-text/index.native.js +14 -32
  111. package/build/components/rich-text/index.native.js.map +1 -1
  112. package/build/components/rich-text/multiline.js +95 -0
  113. package/build/components/rich-text/multiline.js.map +1 -0
  114. package/build/components/rich-text/split-value.js +10 -16
  115. package/build/components/rich-text/split-value.js.map +1 -1
  116. package/build/components/rich-text/use-enter.js +31 -40
  117. package/build/components/rich-text/use-enter.js.map +1 -1
  118. package/build/components/rich-text/use-paste-handler.js +18 -33
  119. package/build/components/rich-text/use-paste-handler.js.map +1 -1
  120. package/build/components/spacing-sizes-control/utils.js +1 -1
  121. package/build/components/spacing-sizes-control/utils.js.map +1 -1
  122. package/build/components/use-block-commands/index.js +30 -18
  123. package/build/components/use-block-commands/index.js.map +1 -1
  124. package/build/components/use-block-display-information/index.js +5 -2
  125. package/build/components/use-block-display-information/index.js.map +1 -1
  126. package/build/hooks/background.js +263 -0
  127. package/build/hooks/background.js.map +1 -0
  128. package/build/hooks/block-hooks.js +188 -0
  129. package/build/hooks/block-hooks.js.map +1 -0
  130. package/build/hooks/block-rename-ui.js +161 -0
  131. package/build/hooks/block-rename-ui.js.map +1 -0
  132. package/build/hooks/duotone.js +29 -42
  133. package/build/hooks/duotone.js.map +1 -1
  134. package/build/hooks/index.js +2 -2
  135. package/build/hooks/index.js.map +1 -1
  136. package/build/hooks/layout.js +31 -14
  137. package/build/hooks/layout.js.map +1 -1
  138. package/build/hooks/position.js +4 -2
  139. package/build/hooks/position.js.map +1 -1
  140. package/build/hooks/style.js +10 -3
  141. package/build/hooks/style.js.map +1 -1
  142. package/build/private-apis.js +2 -0
  143. package/build/private-apis.js.map +1 -1
  144. package/build/store/actions.js +33 -10
  145. package/build/store/actions.js.map +1 -1
  146. package/build/store/private-actions.js +42 -8
  147. package/build/store/private-actions.js.map +1 -1
  148. package/build/store/private-selectors.js +25 -3
  149. package/build/store/private-selectors.js.map +1 -1
  150. package/build/store/reducer.js +43 -1
  151. package/build/store/reducer.js.map +1 -1
  152. package/build/store/selectors.js +84 -23
  153. package/build/store/selectors.js.map +1 -1
  154. package/build/store/utils.js +0 -4
  155. package/build/store/utils.js.map +1 -1
  156. package/build-module/components/block-canvas/index.js +97 -0
  157. package/build-module/components/block-canvas/index.js.map +1 -0
  158. package/build-module/components/block-inspector/index.js +4 -1
  159. package/build-module/components/block-inspector/index.js.map +1 -1
  160. package/build-module/components/block-patterns-list/index.js +30 -10
  161. package/build-module/components/block-patterns-list/index.js.map +1 -1
  162. package/build-module/components/block-patterns-paging/index.js +61 -0
  163. package/build-module/components/block-patterns-paging/index.js.map +1 -0
  164. package/build-module/components/block-settings-menu/block-settings-dropdown.js +28 -0
  165. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  166. package/build-module/components/block-settings-menu-controls/index.js +4 -7
  167. package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
  168. package/build-module/components/block-styles/index.js +1 -0
  169. package/build-module/components/block-styles/index.js.map +1 -1
  170. package/build-module/components/block-toolbar/block-toolbar-menu.native.js +3 -7
  171. package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
  172. package/build-module/components/block-tools/block-contextual-toolbar.js +18 -7
  173. package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
  174. package/build-module/components/block-tools/block-selection-button.js +5 -1
  175. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  176. package/build-module/components/border-radius-control/input-controls.js +1 -1
  177. package/build-module/components/border-radius-control/input-controls.js.map +1 -1
  178. package/build-module/components/border-radius-control/linked-button.js +2 -4
  179. package/build-module/components/border-radius-control/linked-button.js.map +1 -1
  180. package/build-module/components/colors/with-colors.js.map +1 -1
  181. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -21
  182. package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
  183. package/build-module/components/default-block-appender/index.native.js +20 -1
  184. package/build-module/components/default-block-appender/index.native.js.map +1 -1
  185. package/build-module/components/duotone/utils.js +65 -0
  186. package/build-module/components/duotone/utils.js.map +1 -1
  187. package/build-module/components/editor-styles/index.js +28 -9
  188. package/build-module/components/editor-styles/index.js.map +1 -1
  189. package/build-module/components/global-styles/hooks.js +3 -100
  190. package/build-module/components/global-styles/hooks.js.map +1 -1
  191. package/build-module/components/global-styles/image-settings-panel.js +53 -0
  192. package/build-module/components/global-styles/image-settings-panel.js.map +1 -0
  193. package/build-module/components/global-styles/index.js +2 -2
  194. package/build-module/components/global-styles/index.js.map +1 -1
  195. package/build-module/components/global-styles/use-global-styles-output.js +18 -16
  196. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  197. package/build-module/components/global-styles/utils.js +1 -1
  198. package/build-module/components/global-styles/utils.js.map +1 -1
  199. package/build-module/components/iframe/index.js +66 -33
  200. package/build-module/components/iframe/index.js.map +1 -1
  201. package/build-module/components/image-editor/use-save-image.js +2 -5
  202. package/build-module/components/image-editor/use-save-image.js.map +1 -1
  203. package/build-module/components/image-editor/use-transform-image.js +9 -9
  204. package/build-module/components/image-editor/use-transform-image.js.map +1 -1
  205. package/build-module/components/index.js +1 -1
  206. package/build-module/components/index.js.map +1 -1
  207. package/build-module/components/index.native.js +2 -1
  208. package/build-module/components/index.native.js.map +1 -1
  209. package/build-module/components/inner-blocks/use-nested-settings-update.js +14 -8
  210. package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
  211. package/build-module/components/inserter/block-patterns-explorer/explorer.js +12 -6
  212. package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
  213. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +47 -24
  214. package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
  215. package/build-module/components/inserter/block-patterns-explorer/sidebar.js +9 -9
  216. package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
  217. package/build-module/components/inserter/block-patterns-filter.js +128 -0
  218. package/build-module/components/inserter/block-patterns-filter.js.map +1 -0
  219. package/build-module/components/inserter/block-patterns-tab.js +125 -44
  220. package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
  221. package/build-module/components/inserter/hooks/use-patterns-paging.js +54 -0
  222. package/build-module/components/inserter/hooks/use-patterns-paging.js.map +1 -0
  223. package/build-module/components/inserter/hooks/use-patterns-state.js +22 -10
  224. package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
  225. package/build-module/components/inserter/menu.js +13 -11
  226. package/build-module/components/inserter/menu.js.map +1 -1
  227. package/build-module/components/inserter/search-results.js +4 -3
  228. package/build-module/components/inserter/search-results.js.map +1 -1
  229. package/build-module/components/inserter/tabs.js +1 -12
  230. package/build-module/components/inserter/tabs.js.map +1 -1
  231. package/build-module/components/inspector-controls/block-support-slot-container.js +13 -2
  232. package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
  233. package/build-module/components/inspector-controls/fill.js +25 -14
  234. package/build-module/components/inspector-controls/fill.js.map +1 -1
  235. package/build-module/components/inspector-controls/groups.js +5 -3
  236. package/build-module/components/inspector-controls/groups.js.map +1 -1
  237. package/build-module/components/inspector-controls/slot.js +15 -1
  238. package/build-module/components/inspector-controls/slot.js.map +1 -1
  239. package/build-module/components/inspector-controls-tabs/styles-tab.js +3 -0
  240. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  241. package/build-module/components/link-control/index.js +12 -2
  242. package/build-module/components/link-control/index.js.map +1 -1
  243. package/build-module/components/list-view/block-select-button.js +1 -3
  244. package/build-module/components/list-view/block-select-button.js.map +1 -1
  245. package/build-module/components/list-view/block.js +13 -1
  246. package/build-module/components/list-view/block.js.map +1 -1
  247. package/build-module/components/list-view/use-block-selection.js +30 -25
  248. package/build-module/components/list-view/use-block-selection.js.map +1 -1
  249. package/build-module/components/media-placeholder/index.js +2 -2
  250. package/build-module/components/media-placeholder/index.js.map +1 -1
  251. package/build-module/components/media-placeholder/index.native.js +7 -7
  252. package/build-module/components/media-placeholder/index.native.js.map +1 -1
  253. package/build-module/components/media-replace-flow/index.js +2 -3
  254. package/build-module/components/media-replace-flow/index.js.map +1 -1
  255. package/build-module/components/media-upload/constants.js +14 -0
  256. package/build-module/components/media-upload/constants.js.map +1 -0
  257. package/build-module/components/media-upload/index.native.js +53 -34
  258. package/build-module/components/media-upload/index.native.js.map +1 -1
  259. package/build-module/components/preview-options/index.js +1 -1
  260. package/build-module/components/preview-options/index.js.map +1 -1
  261. package/build-module/components/rich-text/index.js +35 -37
  262. package/build-module/components/rich-text/index.js.map +1 -1
  263. package/build-module/components/rich-text/index.native.js +15 -33
  264. package/build-module/components/rich-text/index.native.js.map +1 -1
  265. package/build-module/components/rich-text/multiline.js +87 -0
  266. package/build-module/components/rich-text/multiline.js.map +1 -0
  267. package/build-module/components/rich-text/split-value.js +10 -16
  268. package/build-module/components/rich-text/split-value.js.map +1 -1
  269. package/build-module/components/rich-text/use-enter.js +33 -42
  270. package/build-module/components/rich-text/use-enter.js.map +1 -1
  271. package/build-module/components/rich-text/use-paste-handler.js +19 -34
  272. package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
  273. package/build-module/components/spacing-sizes-control/utils.js +2 -2
  274. package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
  275. package/build-module/components/use-block-commands/index.js +28 -16
  276. package/build-module/components/use-block-commands/index.js.map +1 -1
  277. package/build-module/components/use-block-display-information/index.js +5 -2
  278. package/build-module/components/use-block-display-information/index.js.map +1 -1
  279. package/build-module/hooks/background.js +249 -0
  280. package/build-module/hooks/background.js.map +1 -0
  281. package/build-module/hooks/block-hooks.js +181 -0
  282. package/build-module/hooks/block-hooks.js.map +1 -0
  283. package/build-module/hooks/block-rename-ui.js +154 -0
  284. package/build-module/hooks/block-rename-ui.js.map +1 -0
  285. package/build-module/hooks/duotone.js +26 -39
  286. package/build-module/hooks/duotone.js.map +1 -1
  287. package/build-module/hooks/index.js +2 -2
  288. package/build-module/hooks/index.js.map +1 -1
  289. package/build-module/hooks/layout.js +33 -16
  290. package/build-module/hooks/layout.js.map +1 -1
  291. package/build-module/hooks/position.js +4 -2
  292. package/build-module/hooks/position.js.map +1 -1
  293. package/build-module/hooks/style.js +10 -3
  294. package/build-module/hooks/style.js.map +1 -1
  295. package/build-module/private-apis.js +2 -0
  296. package/build-module/private-apis.js.map +1 -1
  297. package/build-module/store/actions.js +33 -10
  298. package/build-module/store/actions.js.map +1 -1
  299. package/build-module/store/private-actions.js +39 -8
  300. package/build-module/store/private-actions.js.map +1 -1
  301. package/build-module/store/private-selectors.js +23 -3
  302. package/build-module/store/private-selectors.js.map +1 -1
  303. package/build-module/store/reducer.js +41 -1
  304. package/build-module/store/reducer.js.map +1 -1
  305. package/build-module/store/selectors.js +78 -22
  306. package/build-module/store/selectors.js.map +1 -1
  307. package/build-module/store/utils.js +0 -4
  308. package/build-module/store/utils.js.map +1 -1
  309. package/build-style/content-rtl.css +0 -1
  310. package/build-style/content.css +0 -1
  311. package/build-style/style-rtl.css +201 -131
  312. package/build-style/style.css +201 -131
  313. package/package.json +32 -32
  314. package/src/components/block-canvas/index.js +108 -0
  315. package/src/components/block-inspector/index.js +5 -1
  316. package/src/components/block-list/content.scss +0 -1
  317. package/src/components/block-patterns-list/index.js +53 -19
  318. package/src/components/block-patterns-list/style.scss +26 -9
  319. package/src/components/block-patterns-paging/index.js +92 -0
  320. package/src/components/block-patterns-paging/style.scss +45 -0
  321. package/src/components/block-settings-menu/block-settings-dropdown.js +44 -0
  322. package/src/components/block-settings-menu-controls/index.js +4 -9
  323. package/src/components/block-styles/index.js +1 -0
  324. package/src/components/block-styles/style.scss +3 -3
  325. package/src/components/block-toolbar/block-toolbar-menu.native.js +1 -6
  326. package/src/components/block-tools/block-contextual-toolbar.js +16 -5
  327. package/src/components/block-tools/block-selection-button.js +9 -1
  328. package/src/components/block-tools/style.scss +0 -98
  329. package/src/components/border-radius-control/input-controls.js +1 -1
  330. package/src/components/border-radius-control/linked-button.js +8 -11
  331. package/src/components/color-palette/test/__snapshots__/control.js.snap +34 -21
  332. package/src/components/colors/with-colors.js +3 -2
  333. package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -35
  334. package/src/components/default-block-appender/index.native.js +26 -3
  335. package/src/components/duotone/utils.js +65 -0
  336. package/src/components/editor-styles/index.js +32 -23
  337. package/src/components/global-styles/hooks.js +4 -112
  338. package/src/components/global-styles/image-settings-panel.js +71 -0
  339. package/src/components/global-styles/index.js +4 -3
  340. package/src/components/global-styles/use-global-styles-output.js +25 -16
  341. package/src/components/global-styles/utils.js +1 -2
  342. package/src/components/iframe/index.js +72 -33
  343. package/src/components/image-editor/use-save-image.js +2 -9
  344. package/src/components/image-editor/use-transform-image.js +9 -9
  345. package/src/components/index.js +1 -1
  346. package/src/components/index.native.js +2 -2
  347. package/src/components/inner-blocks/use-nested-settings-update.js +15 -10
  348. package/src/components/inserter/block-patterns-explorer/explorer.js +17 -5
  349. package/src/components/inserter/block-patterns-explorer/patterns-list.js +68 -43
  350. package/src/components/inserter/block-patterns-explorer/sidebar.js +8 -8
  351. package/src/components/inserter/block-patterns-filter.js +183 -0
  352. package/src/components/inserter/block-patterns-tab.js +217 -58
  353. package/src/components/inserter/hooks/use-patterns-paging.js +76 -0
  354. package/src/components/inserter/hooks/use-patterns-state.js +27 -16
  355. package/src/components/inserter/menu.js +15 -17
  356. package/src/components/inserter/search-results.js +6 -4
  357. package/src/components/inserter/style.scss +36 -7
  358. package/src/components/inserter/tabs.js +2 -12
  359. package/src/components/inserter/test/index.native.js +8 -12
  360. package/src/components/inspector-controls/block-support-slot-container.js +19 -3
  361. package/src/components/inspector-controls/fill.js +28 -14
  362. package/src/components/inspector-controls/groups.js +6 -2
  363. package/src/components/inspector-controls/slot.js +28 -3
  364. package/src/components/inspector-controls-tabs/styles-tab.js +4 -0
  365. package/src/components/link-control/index.js +13 -0
  366. package/src/components/link-control/style.scss +23 -2
  367. package/src/components/link-control/test/index.js +88 -6
  368. package/src/components/list-view/block-select-button.js +1 -3
  369. package/src/components/list-view/block.js +19 -1
  370. package/src/components/list-view/style.scss +1 -2
  371. package/src/components/list-view/use-block-selection.js +38 -32
  372. package/src/components/media-placeholder/README.md +2 -2
  373. package/src/components/media-placeholder/index.js +2 -2
  374. package/src/components/media-placeholder/index.native.js +11 -12
  375. package/src/components/media-replace-flow/index.js +2 -2
  376. package/src/components/media-replace-flow/test/index.js +5 -23
  377. package/src/components/media-upload/README.md +3 -2
  378. package/src/components/media-upload/constants.js +15 -0
  379. package/src/components/media-upload/index.native.js +66 -40
  380. package/src/components/media-upload/style.native.scss +4 -0
  381. package/src/components/media-upload/test/index.native.js +2 -2
  382. package/src/components/preview-options/README.md +7 -0
  383. package/src/components/preview-options/index.js +1 -1
  384. package/src/components/rich-text/index.js +48 -44
  385. package/src/components/rich-text/index.native.js +14 -42
  386. package/src/components/rich-text/multiline.js +121 -0
  387. package/src/components/rich-text/split-value.js +10 -35
  388. package/src/components/rich-text/use-enter.js +32 -42
  389. package/src/components/rich-text/use-paste-handler.js +16 -40
  390. package/src/components/spacing-sizes-control/style.scss +5 -7
  391. package/src/components/spacing-sizes-control/utils.js +1 -2
  392. package/src/components/use-block-commands/index.js +28 -20
  393. package/src/components/use-block-display-information/index.js +3 -0
  394. package/src/hooks/background.js +299 -0
  395. package/src/hooks/background.scss +75 -0
  396. package/src/hooks/block-hooks.js +257 -0
  397. package/src/hooks/block-hooks.scss +16 -0
  398. package/src/hooks/block-rename-ui.js +231 -0
  399. package/src/hooks/block-rename-ui.scss +3 -0
  400. package/src/hooks/duotone.js +42 -43
  401. package/src/hooks/index.js +2 -2
  402. package/src/hooks/layout.js +31 -33
  403. package/src/hooks/position.js +4 -3
  404. package/src/hooks/style.js +11 -2
  405. package/src/hooks/test/align.native.js +4 -3
  406. package/src/private-apis.js +2 -0
  407. package/src/store/actions.js +52 -10
  408. package/src/store/private-actions.js +37 -6
  409. package/src/store/private-selectors.js +28 -3
  410. package/src/store/reducer.js +38 -0
  411. package/src/store/selectors.js +107 -26
  412. package/src/store/test/actions.js +19 -8
  413. package/src/store/test/private-actions.js +17 -0
  414. package/src/store/test/reducer.js +25 -0
  415. package/src/store/test/selectors.js +130 -123
  416. package/src/store/utils.js +3 -10
  417. package/src/style.scss +4 -0
  418. package/build/components/duotone/components.js +0 -135
  419. package/build/components/duotone/components.js.map +0 -1
  420. package/build/components/duotone/index.js +0 -38
  421. package/build/components/duotone/index.js.map +0 -1
  422. package/build/components/global-styles/behaviors-panel.js +0 -64
  423. package/build/components/global-styles/behaviors-panel.js.map +0 -1
  424. package/build/components/inserter/reusable-blocks-tab.js +0 -85
  425. package/build/components/inserter/reusable-blocks-tab.js.map +0 -1
  426. package/build/hooks/auto-inserting-blocks.js +0 -174
  427. package/build/hooks/auto-inserting-blocks.js.map +0 -1
  428. package/build/hooks/behaviors.js +0 -173
  429. package/build/hooks/behaviors.js.map +0 -1
  430. package/build-module/components/duotone/components.js +0 -126
  431. package/build-module/components/duotone/components.js.map +0 -1
  432. package/build-module/components/duotone/index.js +0 -3
  433. package/build-module/components/duotone/index.js.map +0 -1
  434. package/build-module/components/global-styles/behaviors-panel.js +0 -57
  435. package/build-module/components/global-styles/behaviors-panel.js.map +0 -1
  436. package/build-module/components/inserter/reusable-blocks-tab.js +0 -76
  437. package/build-module/components/inserter/reusable-blocks-tab.js.map +0 -1
  438. package/build-module/hooks/auto-inserting-blocks.js +0 -167
  439. package/build-module/hooks/auto-inserting-blocks.js.map +0 -1
  440. package/build-module/hooks/behaviors.js +0 -166
  441. package/build-module/hooks/behaviors.js.map +0 -1
  442. package/src/components/duotone/components.js +0 -133
  443. package/src/components/duotone/index.js +0 -7
  444. package/src/components/global-styles/behaviors-panel.js +0 -71
  445. package/src/components/inserter/reusable-blocks-tab.js +0 -84
  446. package/src/components/inserter/test/reusable-blocks-tab.js +0 -73
  447. package/src/hooks/auto-inserting-blocks.js +0 -232
  448. package/src/hooks/behaviors.js +0 -206
@@ -1,174 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.withAutoInsertingBlocks = void 0;
7
- var _element = require("@wordpress/element");
8
- var _i18n = require("@wordpress/i18n");
9
- var _hooks = require("@wordpress/hooks");
10
- var _components = require("@wordpress/components");
11
- var _compose = require("@wordpress/compose");
12
- var _blocks = require("@wordpress/blocks");
13
- var _data = require("@wordpress/data");
14
- var _components2 = require("../components");
15
- var _store = require("../store");
16
- /**
17
- * WordPress dependencies
18
- */
19
-
20
- /**
21
- * Internal dependencies
22
- */
23
-
24
- function AutoInsertingBlocksControl(props) {
25
- const {
26
- autoInsertedBlocksForCurrentBlock,
27
- groupedAutoInsertedBlocks
28
- } = (0, _data.useSelect)(select => {
29
- const {
30
- getBlockTypes
31
- } = select(_blocks.store);
32
- const _autoInsertedBlocksForCurrentBlock = getBlockTypes()?.filter(({
33
- autoInsert
34
- }) => autoInsert && props.blockName in autoInsert);
35
-
36
- // Group by block namespace (i.e. prefix before the slash).
37
- const _groupedAutoInsertedBlocks = _autoInsertedBlocksForCurrentBlock?.reduce((groups, block) => {
38
- const [namespace] = block.name.split('/');
39
- if (!groups[namespace]) {
40
- groups[namespace] = [];
41
- }
42
- groups[namespace].push(block);
43
- return groups;
44
- }, {});
45
- return {
46
- autoInsertedBlocksForCurrentBlock: _autoInsertedBlocksForCurrentBlock,
47
- groupedAutoInsertedBlocks: _groupedAutoInsertedBlocks
48
- };
49
- }, [props.blockName]);
50
- const {
51
- autoInsertedBlockClientIds,
52
- blockIndex,
53
- rootClientId,
54
- innerBlocksLength
55
- } = (0, _data.useSelect)(select => {
56
- const {
57
- getBlock,
58
- getBlockIndex,
59
- getBlockRootClientId
60
- } = select(_store.store);
61
- const _rootClientId = getBlockRootClientId(props.clientId);
62
- const _autoInsertedBlockClientIds = autoInsertedBlocksForCurrentBlock.reduce((clientIds, block) => {
63
- const relativePosition = block?.autoInsert?.[props.blockName];
64
- let candidates;
65
- switch (relativePosition) {
66
- case 'before':
67
- case 'after':
68
- // Any of the current block's siblings (with the right block type) qualifies
69
- // as an auto-inserted block (inserted `before` or `after` the current one),
70
- // as the block might've been auto-inserted and then moved around a bit by the user.
71
- candidates = getBlock(_rootClientId)?.innerBlocks;
72
- break;
73
- case 'first_child':
74
- case 'last_child':
75
- // Any of the current block's child blocks (with the right block type) qualifies
76
- // as an auto-inserted first or last child block, as the block might've been
77
- // auto-inserted and then moved around a bit by the user.
78
- candidates = getBlock(props.clientId).innerBlocks;
79
- break;
80
- }
81
- const autoInsertedBlock = candidates?.find(({
82
- name
83
- }) => name === block.name);
84
- if (autoInsertedBlock) {
85
- clientIds[block.name] = autoInsertedBlock.clientId;
86
- }
87
-
88
- // TOOD: If no auto-inserted block was found in any of its designated locations,
89
- // we want to check if it's present elsewhere in the block tree.
90
- // If it is, we'd consider it manually inserted and would want to remove the
91
- // corresponding toggle from the block inspector panel.
92
-
93
- return clientIds;
94
- }, {});
95
- return {
96
- blockIndex: getBlockIndex(props.clientId),
97
- innerBlocksLength: getBlock(props.clientId)?.innerBlocks?.length,
98
- rootClientId: _rootClientId,
99
- autoInsertedBlockClientIds: _autoInsertedBlockClientIds
100
- };
101
- }, [autoInsertedBlocksForCurrentBlock, props.blockName, props.clientId]);
102
- const {
103
- insertBlock,
104
- removeBlock
105
- } = (0, _data.useDispatch)(_store.store);
106
- if (!autoInsertedBlocksForCurrentBlock.length) {
107
- return null;
108
- }
109
- const insertBlockIntoDesignatedLocation = (block, relativePosition) => {
110
- switch (relativePosition) {
111
- case 'before':
112
- case 'after':
113
- insertBlock(block, relativePosition === 'after' ? blockIndex + 1 : blockIndex, rootClientId,
114
- // Insert as a child of the current block's parent
115
- false);
116
- break;
117
- case 'first_child':
118
- case 'last_child':
119
- insertBlock(block,
120
- // TODO: It'd be great if insertBlock() would accept negative indices for insertion.
121
- relativePosition === 'first_child' ? 0 : innerBlocksLength, props.clientId,
122
- // Insert as a child of the current block.
123
- false);
124
- break;
125
- }
126
- };
127
- return (0, _element.createElement)(_components2.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
128
- title: (0, _i18n.__)('Plugins'),
129
- initialOpen: true
130
- }, Object.keys(groupedAutoInsertedBlocks).map(vendor => {
131
- return (0, _element.createElement)(_element.Fragment, {
132
- key: vendor
133
- }, (0, _element.createElement)("h3", null, vendor), groupedAutoInsertedBlocks[vendor].map(block => {
134
- // TODO: Display block icon.
135
- // <BlockIcon icon={ block.icon } />
136
-
137
- const checked = (block.name in autoInsertedBlockClientIds);
138
- return (0, _element.createElement)(_components.ToggleControl, {
139
- checked: checked,
140
- key: block.title,
141
- label: block.title,
142
- onChange: () => {
143
- if (!checked) {
144
- // Create and insert block.
145
- const relativePosition = block.autoInsert[props.blockName];
146
- insertBlockIntoDesignatedLocation((0, _blocks.createBlock)(block.name), relativePosition);
147
- return;
148
- }
149
-
150
- // Remove block.
151
- const clientId = autoInsertedBlockClientIds[block.name];
152
- removeBlock(clientId, false);
153
- }
154
- });
155
- }));
156
- })));
157
- }
158
- const withAutoInsertingBlocks = (0, _compose.createHigherOrderComponent)(BlockEdit => {
159
- return props => {
160
- const blockEdit = (0, _element.createElement)(BlockEdit, {
161
- key: "edit",
162
- ...props
163
- });
164
- return (0, _element.createElement)(_element.Fragment, null, blockEdit, (0, _element.createElement)(AutoInsertingBlocksControl, {
165
- blockName: props.name,
166
- clientId: props.clientId
167
- }));
168
- };
169
- }, 'withAutoInsertingBlocks');
170
- exports.withAutoInsertingBlocks = withAutoInsertingBlocks;
171
- if (window?.__experimentalAutoInsertingBlocks) {
172
- (0, _hooks.addFilter)('editor.BlockEdit', 'core/auto-inserting-blocks/with-inspector-control', withAutoInsertingBlocks);
173
- }
174
- //# sourceMappingURL=auto-inserting-blocks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_element","require","_i18n","_hooks","_components","_compose","_blocks","_data","_components2","_store","AutoInsertingBlocksControl","props","autoInsertedBlocksForCurrentBlock","groupedAutoInsertedBlocks","useSelect","select","getBlockTypes","blocksStore","_autoInsertedBlocksForCurrentBlock","filter","autoInsert","blockName","_groupedAutoInsertedBlocks","reduce","groups","block","namespace","name","split","push","autoInsertedBlockClientIds","blockIndex","rootClientId","innerBlocksLength","getBlock","getBlockIndex","getBlockRootClientId","blockEditorStore","_rootClientId","clientId","_autoInsertedBlockClientIds","clientIds","relativePosition","candidates","innerBlocks","autoInsertedBlock","find","length","insertBlock","removeBlock","useDispatch","insertBlockIntoDesignatedLocation","createElement","InspectorControls","PanelBody","title","__","initialOpen","Object","keys","map","vendor","Fragment","key","checked","ToggleControl","label","onChange","createBlock","withAutoInsertingBlocks","createHigherOrderComponent","BlockEdit","blockEdit","exports","window","__experimentalAutoInsertingBlocks","addFilter"],"sources":["@wordpress/block-editor/src/hooks/auto-inserting-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { addFilter } from '@wordpress/hooks';\nimport { Fragment } from '@wordpress/element';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { InspectorControls } from '../components';\nimport { store as blockEditorStore } from '../store';\n\nfunction AutoInsertingBlocksControl( props ) {\n\tconst { autoInsertedBlocksForCurrentBlock, groupedAutoInsertedBlocks } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\t\tconst _autoInsertedBlocksForCurrentBlock =\n\t\t\t\t\tgetBlockTypes()?.filter(\n\t\t\t\t\t\t( { autoInsert } ) =>\n\t\t\t\t\t\t\tautoInsert && props.blockName in autoInsert\n\t\t\t\t\t);\n\n\t\t\t\t// Group by block namespace (i.e. prefix before the slash).\n\t\t\t\tconst _groupedAutoInsertedBlocks =\n\t\t\t\t\t_autoInsertedBlocksForCurrentBlock?.reduce(\n\t\t\t\t\t\t( groups, block ) => {\n\t\t\t\t\t\t\tconst [ namespace ] = block.name.split( '/' );\n\t\t\t\t\t\t\tif ( ! groups[ namespace ] ) {\n\t\t\t\t\t\t\t\tgroups[ namespace ] = [];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tgroups[ namespace ].push( block );\n\t\t\t\t\t\t\treturn groups;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tautoInsertedBlocksForCurrentBlock:\n\t\t\t\t\t\t_autoInsertedBlocksForCurrentBlock,\n\t\t\t\t\tgroupedAutoInsertedBlocks: _groupedAutoInsertedBlocks,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ props.blockName ]\n\t\t);\n\n\tconst {\n\t\tautoInsertedBlockClientIds,\n\t\tblockIndex,\n\t\trootClientId,\n\t\tinnerBlocksLength,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlockIndex, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst _rootClientId = getBlockRootClientId( props.clientId );\n\n\t\t\tconst _autoInsertedBlockClientIds =\n\t\t\t\tautoInsertedBlocksForCurrentBlock.reduce(\n\t\t\t\t\t( clientIds, block ) => {\n\t\t\t\t\t\tconst relativePosition =\n\t\t\t\t\t\t\tblock?.autoInsert?.[ props.blockName ];\n\t\t\t\t\t\tlet candidates;\n\n\t\t\t\t\t\tswitch ( relativePosition ) {\n\t\t\t\t\t\t\tcase 'before':\n\t\t\t\t\t\t\tcase 'after':\n\t\t\t\t\t\t\t\t// Any of the current block's siblings (with the right block type) qualifies\n\t\t\t\t\t\t\t\t// as an auto-inserted block (inserted `before` or `after` the current one),\n\t\t\t\t\t\t\t\t// as the block might've been auto-inserted and then moved around a bit by the user.\n\t\t\t\t\t\t\t\tcandidates =\n\t\t\t\t\t\t\t\t\tgetBlock( _rootClientId )?.innerBlocks;\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 'first_child':\n\t\t\t\t\t\t\tcase 'last_child':\n\t\t\t\t\t\t\t\t// Any of the current block's child blocks (with the right block type) qualifies\n\t\t\t\t\t\t\t\t// as an auto-inserted first or last child block, as the block might've been\n\t\t\t\t\t\t\t\t// auto-inserted and then moved around a bit by the user.\n\t\t\t\t\t\t\t\tcandidates = getBlock(\n\t\t\t\t\t\t\t\t\tprops.clientId\n\t\t\t\t\t\t\t\t).innerBlocks;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst autoInsertedBlock = candidates?.find(\n\t\t\t\t\t\t\t( { name } ) => name === block.name\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif ( autoInsertedBlock ) {\n\t\t\t\t\t\t\tclientIds[ block.name ] =\n\t\t\t\t\t\t\t\tautoInsertedBlock.clientId;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// TOOD: If no auto-inserted block was found in any of its designated locations,\n\t\t\t\t\t\t// we want to check if it's present elsewhere in the block tree.\n\t\t\t\t\t\t// If it is, we'd consider it manually inserted and would want to remove the\n\t\t\t\t\t\t// corresponding toggle from the block inspector panel.\n\n\t\t\t\t\t\treturn clientIds;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tblockIndex: getBlockIndex( props.clientId ),\n\t\t\t\tinnerBlocksLength: getBlock( props.clientId )?.innerBlocks\n\t\t\t\t\t?.length,\n\t\t\t\trootClientId: _rootClientId,\n\t\t\t\tautoInsertedBlockClientIds: _autoInsertedBlockClientIds,\n\t\t\t};\n\t\t},\n\t\t[ autoInsertedBlocksForCurrentBlock, props.blockName, props.clientId ]\n\t);\n\n\tconst { insertBlock, removeBlock } = useDispatch( blockEditorStore );\n\n\tif ( ! autoInsertedBlocksForCurrentBlock.length ) {\n\t\treturn null;\n\t}\n\n\tconst insertBlockIntoDesignatedLocation = ( block, relativePosition ) => {\n\t\tswitch ( relativePosition ) {\n\t\t\tcase 'before':\n\t\t\tcase 'after':\n\t\t\t\tinsertBlock(\n\t\t\t\t\tblock,\n\t\t\t\t\trelativePosition === 'after' ? blockIndex + 1 : blockIndex,\n\t\t\t\t\trootClientId, // Insert as a child of the current block's parent\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\tcase 'first_child':\n\t\t\tcase 'last_child':\n\t\t\t\tinsertBlock(\n\t\t\t\t\tblock,\n\t\t\t\t\t// TODO: It'd be great if insertBlock() would accept negative indices for insertion.\n\t\t\t\t\trelativePosition === 'first_child' ? 0 : innerBlocksLength,\n\t\t\t\t\tprops.clientId, // Insert as a child of the current block.\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Plugins' ) } initialOpen={ true }>\n\t\t\t\t{ Object.keys( groupedAutoInsertedBlocks ).map( ( vendor ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment key={ vendor }>\n\t\t\t\t\t\t\t<h3>{ vendor }</h3>\n\t\t\t\t\t\t\t{ groupedAutoInsertedBlocks[ vendor ].map(\n\t\t\t\t\t\t\t\t( block ) => {\n\t\t\t\t\t\t\t\t\t// TODO: Display block icon.\n\t\t\t\t\t\t\t\t\t// <BlockIcon icon={ block.icon } />\n\n\t\t\t\t\t\t\t\t\tconst checked =\n\t\t\t\t\t\t\t\t\t\tblock.name in\n\t\t\t\t\t\t\t\t\t\tautoInsertedBlockClientIds;\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t\tchecked={ checked }\n\t\t\t\t\t\t\t\t\t\t\tkey={ block.title }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ block.title }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tif ( ! checked ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// Create and insert block.\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst relativePosition =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tblock.autoInsert[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprops.blockName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tinsertBlockIntoDesignatedLocation(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tblock.name\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trelativePosition\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Remove block.\n\t\t\t\t\t\t\t\t\t\t\t\tconst clientId =\n\t\t\t\t\t\t\t\t\t\t\t\t\tautoInsertedBlockClientIds[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tblock.name\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\tremoveBlock( clientId, false );\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n}\n\nexport const withAutoInsertingBlocks = createHigherOrderComponent(\n\t( BlockEdit ) => {\n\t\treturn ( props ) => {\n\t\t\tconst blockEdit = <BlockEdit key=\"edit\" { ...props } />;\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ blockEdit }\n\t\t\t\t\t<AutoInsertingBlocksControl\n\t\t\t\t\t\tblockName={ props.name }\n\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t};\n\t},\n\t'withAutoInsertingBlocks'\n);\n\nif ( window?.__experimentalAutoInsertingBlocks ) {\n\taddFilter(\n\t\t'editor.BlockEdit',\n\t\t'core/auto-inserting-blocks/with-inspector-control',\n\t\twithAutoInsertingBlocks\n\t);\n}\n"],"mappings":"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"}
@@ -1,173 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.withBehaviors = void 0;
7
- var _element = require("@wordpress/element");
8
- var _hooks = require("@wordpress/hooks");
9
- var _components = require("@wordpress/components");
10
- var _i18n = require("@wordpress/i18n");
11
- var _blocks = require("@wordpress/blocks");
12
- var _compose = require("@wordpress/compose");
13
- var _data = require("@wordpress/data");
14
- var _store = require("../store");
15
- var _components2 = require("../components");
16
- /**
17
- * WordPress dependencies
18
- */
19
-
20
- /**
21
- * Internal dependencies
22
- */
23
-
24
- function BehaviorsControl({
25
- blockName,
26
- blockBehaviors,
27
- onChangeBehavior,
28
- onChangeAnimation,
29
- disabled = false
30
- }) {
31
- const {
32
- settings
33
- } = (0, _data.useSelect)(select => {
34
- const {
35
- getSettings
36
- } = select(_store.store);
37
- return {
38
- settings: getSettings()?.__experimentalFeatures?.blocks?.[blockName]?.behaviors || {}
39
- };
40
- }, [blockName]);
41
- const defaultBehaviors = {
42
- default: {
43
- value: 'default',
44
- label: (0, _i18n.__)('Default')
45
- },
46
- noBehaviors: {
47
- value: '',
48
- label: (0, _i18n.__)('No behaviors')
49
- }
50
- };
51
- const behaviorsOptions = Object.entries(settings).filter(([behaviorName, behaviorValue]) => (0, _blocks.hasBlockSupport)(blockName, `behaviors.${behaviorName}`) && behaviorValue) // Filter out behaviors that are disabled.
52
- .map(([behaviorName]) => ({
53
- value: behaviorName,
54
- // Capitalize the first letter of the behavior name.
55
- label: `${behaviorName.charAt(0).toUpperCase()}${behaviorName.slice(1).toLowerCase()}`
56
- }));
57
- const options = [...Object.values(defaultBehaviors), ...behaviorsOptions];
58
- const {
59
- behaviors,
60
- behaviorsValue
61
- } = (0, _element.useMemo)(() => {
62
- const mergedBehaviors = {
63
- ...(blockBehaviors || {})
64
- };
65
- let value = '';
66
- if (blockBehaviors === undefined) {
67
- value = 'default';
68
- }
69
- if (blockBehaviors?.lightbox.enabled) {
70
- value = 'lightbox';
71
- }
72
- return {
73
- behaviors: mergedBehaviors,
74
- behaviorsValue: value
75
- };
76
- }, [blockBehaviors]);
77
-
78
- // If every behavior is disabled, do not show the behaviors inspector control.
79
- if (behaviorsOptions.length === 0) {
80
- return null;
81
- }
82
- const helpText = disabled ? (0, _i18n.__)('The lightbox behavior is disabled for linked images.') : '';
83
- return (0, _element.createElement)(_components2.InspectorControls, {
84
- group: "advanced"
85
- }, (0, _element.createElement)("div", null, (0, _element.createElement)(_components.SelectControl, {
86
- label: (0, _i18n.__)('Behaviors')
87
- // At the moment we are only supporting one behavior (Lightbox)
88
- ,
89
- value: behaviorsValue,
90
- options: options,
91
- onChange: onChangeBehavior,
92
- hideCancelButton: true,
93
- help: helpText,
94
- size: "__unstable-large",
95
- disabled: disabled
96
- }), behaviorsValue === 'lightbox' && (0, _element.createElement)(_components.SelectControl, {
97
- label: (0, _i18n.__)('Animation')
98
- // At the moment we are only supporting one behavior (Lightbox)
99
- ,
100
- value: behaviors?.lightbox.animation ? behaviors?.lightbox.animation : '',
101
- options: [{
102
- value: 'zoom',
103
- label: (0, _i18n.__)('Zoom')
104
- }, {
105
- value: 'fade',
106
- label: (0, _i18n.__)('Fade')
107
- }],
108
- onChange: onChangeAnimation,
109
- hideCancelButton: false,
110
- size: "__unstable-large",
111
- disabled: disabled
112
- })));
113
- }
114
-
115
- /**
116
- * Override the default edit UI to include a new block inspector control for
117
- * assigning behaviors to blocks if behaviors are enabled in the theme.json.
118
- *
119
- * Currently, only the `core/image` block is supported.
120
- *
121
- * @param {WPComponent} BlockEdit Original component.
122
- *
123
- * @return {WPComponent} Wrapped component.
124
- */
125
- const withBehaviors = (0, _compose.createHigherOrderComponent)(BlockEdit => {
126
- return props => {
127
- const blockEdit = (0, _element.createElement)(BlockEdit, {
128
- key: "edit",
129
- ...props
130
- });
131
- // Only add behaviors to blocks with support.
132
- if (!(0, _blocks.hasBlockSupport)(props.name, 'behaviors')) {
133
- return blockEdit;
134
- }
135
- const blockHasLink = typeof props.attributes?.linkDestination !== 'undefined' && props.attributes?.linkDestination !== 'none';
136
- return (0, _element.createElement)(_element.Fragment, null, blockEdit, (0, _element.createElement)(BehaviorsControl, {
137
- blockName: props.name,
138
- blockBehaviors: props.attributes.behaviors,
139
- onChangeBehavior: nextValue => {
140
- if (nextValue === 'default') {
141
- props.setAttributes({
142
- behaviors: undefined
143
- });
144
- } else {
145
- // If the user selects something, it means that they want to
146
- // change the default value (true) so we save it in the attributes.
147
- props.setAttributes({
148
- behaviors: {
149
- lightbox: {
150
- enabled: nextValue === 'lightbox',
151
- animation: nextValue === 'lightbox' ? 'zoom' : ''
152
- }
153
- }
154
- });
155
- }
156
- },
157
- onChangeAnimation: nextValue => {
158
- props.setAttributes({
159
- behaviors: {
160
- lightbox: {
161
- enabled: props.attributes.behaviors.lightbox.enabled,
162
- animation: nextValue
163
- }
164
- }
165
- });
166
- },
167
- disabled: blockHasLink
168
- }));
169
- };
170
- }, 'withBehaviors');
171
- exports.withBehaviors = withBehaviors;
172
- (0, _hooks.addFilter)('editor.BlockEdit', 'core/behaviors/with-inspector-control', withBehaviors);
173
- //# sourceMappingURL=behaviors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_element","require","_hooks","_components","_i18n","_blocks","_compose","_data","_store","_components2","BehaviorsControl","blockName","blockBehaviors","onChangeBehavior","onChangeAnimation","disabled","settings","useSelect","select","getSettings","blockEditorStore","__experimentalFeatures","blocks","behaviors","defaultBehaviors","default","value","label","__","noBehaviors","behaviorsOptions","Object","entries","filter","behaviorName","behaviorValue","hasBlockSupport","map","charAt","toUpperCase","slice","toLowerCase","options","values","behaviorsValue","useMemo","mergedBehaviors","undefined","lightbox","enabled","length","helpText","createElement","InspectorControls","group","SelectControl","onChange","hideCancelButton","help","size","animation","withBehaviors","createHigherOrderComponent","BlockEdit","props","blockEdit","key","name","blockHasLink","attributes","linkDestination","Fragment","nextValue","setAttributes","exports","addFilter"],"sources":["@wordpress/block-editor/src/hooks/behaviors.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { InspectorControls } from '../components';\n\nfunction BehaviorsControl( {\n\tblockName,\n\tblockBehaviors,\n\tonChangeBehavior,\n\tonChangeAnimation,\n\tdisabled = false,\n} ) {\n\tconst { settings } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tsettings:\n\t\t\t\t\tgetSettings()?.__experimentalFeatures?.blocks?.[ blockName ]\n\t\t\t\t\t\t?.behaviors || {},\n\t\t\t};\n\t\t},\n\t\t[ blockName ]\n\t);\n\n\tconst defaultBehaviors = {\n\t\tdefault: {\n\t\t\tvalue: 'default',\n\t\t\tlabel: __( 'Default' ),\n\t\t},\n\t\tnoBehaviors: {\n\t\t\tvalue: '',\n\t\t\tlabel: __( 'No behaviors' ),\n\t\t},\n\t};\n\tconst behaviorsOptions = Object.entries( settings )\n\t\t.filter(\n\t\t\t( [ behaviorName, behaviorValue ] ) =>\n\t\t\t\thasBlockSupport( blockName, `behaviors.${ behaviorName }` ) &&\n\t\t\t\tbehaviorValue\n\t\t) // Filter out behaviors that are disabled.\n\t\t.map( ( [ behaviorName ] ) => ( {\n\t\t\tvalue: behaviorName,\n\t\t\t// Capitalize the first letter of the behavior name.\n\t\t\tlabel: `${ behaviorName.charAt( 0 ).toUpperCase() }${ behaviorName\n\t\t\t\t.slice( 1 )\n\t\t\t\t.toLowerCase() }`,\n\t\t} ) );\n\tconst options = [\n\t\t...Object.values( defaultBehaviors ),\n\t\t...behaviorsOptions,\n\t];\n\n\tconst { behaviors, behaviorsValue } = useMemo( () => {\n\t\tconst mergedBehaviors = {\n\t\t\t...( blockBehaviors || {} ),\n\t\t};\n\n\t\tlet value = '';\n\t\tif ( blockBehaviors === undefined ) {\n\t\t\tvalue = 'default';\n\t\t}\n\t\tif ( blockBehaviors?.lightbox.enabled ) {\n\t\t\tvalue = 'lightbox';\n\t\t}\n\t\treturn {\n\t\t\tbehaviors: mergedBehaviors,\n\t\t\tbehaviorsValue: value,\n\t\t};\n\t}, [ blockBehaviors ] );\n\n\t// If every behavior is disabled, do not show the behaviors inspector control.\n\tif ( behaviorsOptions.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst helpText = disabled\n\t\t? __( 'The lightbox behavior is disabled for linked images.' )\n\t\t: '';\n\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<div>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Behaviors' ) }\n\t\t\t\t\t// At the moment we are only supporting one behavior (Lightbox)\n\t\t\t\t\tvalue={ behaviorsValue }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\tonChange={ onChangeBehavior }\n\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\thelp={ helpText }\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t/>\n\t\t\t\t{ behaviorsValue === 'lightbox' && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Animation' ) }\n\t\t\t\t\t\t// At the moment we are only supporting one behavior (Lightbox)\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tbehaviors?.lightbox.animation\n\t\t\t\t\t\t\t\t? behaviors?.lightbox.animation\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'zoom',\n\t\t\t\t\t\t\t\tlabel: __( 'Zoom' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'fade',\n\t\t\t\t\t\t\t\tlabel: __( 'Fade' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ onChangeAnimation }\n\t\t\t\t\t\thideCancelButton={ false }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</InspectorControls>\n\t);\n}\n\n/**\n * Override the default edit UI to include a new block inspector control for\n * assigning behaviors to blocks if behaviors are enabled in the theme.json.\n *\n * Currently, only the `core/image` block is supported.\n *\n * @param {WPComponent} BlockEdit Original component.\n *\n * @return {WPComponent} Wrapped component.\n */\nexport const withBehaviors = createHigherOrderComponent( ( BlockEdit ) => {\n\treturn ( props ) => {\n\t\tconst blockEdit = <BlockEdit key=\"edit\" { ...props } />;\n\t\t// Only add behaviors to blocks with support.\n\t\tif ( ! hasBlockSupport( props.name, 'behaviors' ) ) {\n\t\t\treturn blockEdit;\n\t\t}\n\t\tconst blockHasLink =\n\t\t\ttypeof props.attributes?.linkDestination !== 'undefined' &&\n\t\t\tprops.attributes?.linkDestination !== 'none';\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockEdit }\n\t\t\t\t<BehaviorsControl\n\t\t\t\t\tblockName={ props.name }\n\t\t\t\t\tblockBehaviors={ props.attributes.behaviors }\n\t\t\t\t\tonChangeBehavior={ ( nextValue ) => {\n\t\t\t\t\t\tif ( nextValue === 'default' ) {\n\t\t\t\t\t\t\tprops.setAttributes( {\n\t\t\t\t\t\t\t\tbehaviors: undefined,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// If the user selects something, it means that they want to\n\t\t\t\t\t\t\t// change the default value (true) so we save it in the attributes.\n\t\t\t\t\t\t\tprops.setAttributes( {\n\t\t\t\t\t\t\t\tbehaviors: {\n\t\t\t\t\t\t\t\t\tlightbox: {\n\t\t\t\t\t\t\t\t\t\tenabled: nextValue === 'lightbox',\n\t\t\t\t\t\t\t\t\t\tanimation:\n\t\t\t\t\t\t\t\t\t\t\tnextValue === 'lightbox'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'zoom'\n\t\t\t\t\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonChangeAnimation={ ( nextValue ) => {\n\t\t\t\t\t\tprops.setAttributes( {\n\t\t\t\t\t\t\tbehaviors: {\n\t\t\t\t\t\t\t\tlightbox: {\n\t\t\t\t\t\t\t\t\tenabled:\n\t\t\t\t\t\t\t\t\t\tprops.attributes.behaviors.lightbox\n\t\t\t\t\t\t\t\t\t\t\t.enabled,\n\t\t\t\t\t\t\t\t\tanimation: nextValue,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdisabled={ blockHasLink }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t};\n}, 'withBehaviors' );\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/behaviors/with-inspector-control',\n\twithBehaviors\n);\n"],"mappings":"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"}
@@ -1,126 +0,0 @@
1
- import { createElement } from "@wordpress/element";
2
- /**
3
- * WordPress dependencies
4
- */
5
- import { SVG } from '@wordpress/components';
6
-
7
- /**
8
- * Internal dependencies
9
- */
10
- import { __unstableGetValuesFromColors as getValuesFromColors } from './index';
11
-
12
- /**
13
- * SVG and stylesheet needed for rendering the duotone filter.
14
- *
15
- * @param {Object} props Duotone props.
16
- * @param {string} props.selector Selector to apply the filter to.
17
- * @param {string} props.id Unique id for this duotone filter.
18
- *
19
- * @return {WPElement} Duotone element.
20
- */
21
- export function DuotoneStylesheet({
22
- selector,
23
- id
24
- }) {
25
- const css = `
26
- ${selector} {
27
- filter: url( #${id} );
28
- }
29
- `;
30
- return createElement("style", null, css);
31
- }
32
-
33
- /**
34
- * Stylesheet for disabling a global styles duotone filter.
35
- *
36
- * @param {Object} props Duotone props.
37
- * @param {string} props.selector Selector to disable the filter for.
38
- *
39
- * @return {WPElement} Filter none style element.
40
- */
41
- export function DuotoneUnsetStylesheet({
42
- selector
43
- }) {
44
- const css = `
45
- ${selector} {
46
- filter: none;
47
- }
48
- `;
49
- return createElement("style", null, css);
50
- }
51
-
52
- /**
53
- * The SVG part of the duotone filter.
54
- *
55
- * @param {Object} props Duotone props.
56
- * @param {string} props.id Unique id for this duotone filter.
57
- * @param {string[]} props.colors Color strings from dark to light.
58
- *
59
- * @return {WPElement} Duotone SVG.
60
- */
61
- export function DuotoneFilter({
62
- id,
63
- colors
64
- }) {
65
- const values = getValuesFromColors(colors);
66
- return createElement(SVG, {
67
- xmlnsXlink: "http://www.w3.org/1999/xlink",
68
- viewBox: "0 0 0 0",
69
- width: "0",
70
- height: "0",
71
- focusable: "false",
72
- role: "none",
73
- style: {
74
- visibility: 'hidden',
75
- position: 'absolute',
76
- left: '-9999px',
77
- overflow: 'hidden'
78
- }
79
- }, createElement("defs", null, createElement("filter", {
80
- id: id
81
- }, createElement("feColorMatrix", {
82
- // Use sRGB instead of linearRGB so transparency looks correct.
83
- colorInterpolationFilters: "sRGB",
84
- type: "matrix"
85
- // Use perceptual brightness to convert to grayscale.
86
- ,
87
- values: " .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 "
88
- }), createElement("feComponentTransfer", {
89
- // Use sRGB instead of linearRGB to be consistent with how CSS gradients work.
90
- colorInterpolationFilters: "sRGB"
91
- }, createElement("feFuncR", {
92
- type: "table",
93
- tableValues: values.r.join(' ')
94
- }), createElement("feFuncG", {
95
- type: "table",
96
- tableValues: values.g.join(' ')
97
- }), createElement("feFuncB", {
98
- type: "table",
99
- tableValues: values.b.join(' ')
100
- }), createElement("feFuncA", {
101
- type: "table",
102
- tableValues: values.a.join(' ')
103
- })), createElement("feComposite", {
104
- // Re-mask the image with the original transparency since the feColorMatrix above loses that information.
105
- in2: "SourceGraphic",
106
- operator: "in"
107
- }))));
108
- }
109
-
110
- /**
111
- * SVG from a duotone preset
112
- *
113
- * @param {Object} props Duotone props.
114
- * @param {Object} props.preset Duotone preset settings.
115
- *
116
- * @return {WPElement} Duotone element.
117
- */
118
- export function PresetDuotoneFilter({
119
- preset
120
- }) {
121
- return createElement(DuotoneFilter, {
122
- id: `wp-duotone-${preset.slug}`,
123
- colors: preset.colors
124
- });
125
- }
126
- //# sourceMappingURL=components.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["SVG","__unstableGetValuesFromColors","getValuesFromColors","DuotoneStylesheet","selector","id","css","createElement","DuotoneUnsetStylesheet","DuotoneFilter","colors","values","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":";AAAA;AACA;AACA;AACA,SAASA,GAAG,QAAQ,uBAAuB;;AAE3C;AACA;AACA;AACA,SAASC,6BAA6B,IAAIC,mBAAmB,QAAQ,SAAS;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAE;EAAEC,QAAQ;EAAEC;AAAG,CAAC,EAAG;EACrD,MAAMC,GAAG,GAAI;AACd,EAAGF,QAAU;AACb,iBAAkBC,EAAI;AACtB;AACA,CAAC;EACA,OAAOE,aAAA,gBAASD,GAAY,CAAC;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,sBAAsBA,CAAE;EAAEJ;AAAS,CAAC,EAAG;EACtD,MAAME,GAAG,GAAI;AACd,EAAGF,QAAU;AACb;AACA;AACA,CAAC;EACA,OAAOG,aAAA,gBAASD,GAAY,CAAC;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,aAAaA,CAAE;EAAEJ,EAAE;EAAEK;AAAO,CAAC,EAAG;EAC/C,MAAMC,MAAM,GAAGT,mBAAmB,CAAEQ,MAAO,CAAC;EAC5C,OACCH,aAAA,CAACP,GAAG;IACHY,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,GAEHf,aAAA,eACCA,aAAA;IAAQF,EAAE,EAAGA;EAAI,GAChBE,aAAA;IACC;IACAgB,yBAAyB,EAAC,MAAM;IAChCC,IAAI,EAAC;IACL;IAAA;IACAb,MAAM,EAAC;EAKN,CACD,CAAC,EACFJ,aAAA;IACC;IACAgB,yBAAyB,EAAC;EAAM,GAEhChB,aAAA;IACCiB,IAAI,EAAC,OAAO;IACZC,WAAW,EAAGd,MAAM,CAACe,CAAC,CAACC,IAAI,CAAE,GAAI;EAAG,CACpC,CAAC,EACFpB,aAAA;IACCiB,IAAI,EAAC,OAAO;IACZC,WAAW,EAAGd,MAAM,CAACiB,CAAC,CAACD,IAAI,CAAE,GAAI;EAAG,CACpC,CAAC,EACFpB,aAAA;IACCiB,IAAI,EAAC,OAAO;IACZC,WAAW,EAAGd,MAAM,CAACkB,CAAC,CAACF,IAAI,CAAE,GAAI;EAAG,CACpC,CAAC,EACFpB,aAAA;IACCiB,IAAI,EAAC,OAAO;IACZC,WAAW,EAAGd,MAAM,CAACmB,CAAC,CAACH,IAAI,CAAE,GAAI;EAAG,CACpC,CACmB,CAAC,EACtBpB,aAAA;IACC;IACAwB,GAAG,EAAC,eAAe;IACnBC,QAAQ,EAAC;EAAI,CACb,CACM,CACH,CACF,CAAC;AAER;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAE;EAAEC;AAAO,CAAC,EAAG;EACjD,OACC3B,aAAA,CAACE,aAAa;IACbJ,EAAE,EAAI,cAAc6B,MAAM,CAACC,IAAM,EAAG;IACpCzB,MAAM,EAAGwB,MAAM,CAACxB;EAAQ,CACxB,CAAC;AAEJ"}
@@ -1,3 +0,0 @@
1
- export { getValuesFromColors as __unstableGetValuesFromColors } from './utils';
2
- export { DuotoneFilter as __unstableDuotoneFilter, PresetDuotoneFilter as __unstablePresetDuotoneFilter, DuotoneStylesheet as __unstableDuotoneStylesheet, DuotoneUnsetStylesheet as __unstableDuotoneUnsetStylesheet } from './components';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["getValuesFromColors","__unstableGetValuesFromColors","DuotoneFilter","__unstableDuotoneFilter","PresetDuotoneFilter","__unstablePresetDuotoneFilter","DuotoneStylesheet","__unstableDuotoneStylesheet","DuotoneUnsetStylesheet","__unstableDuotoneUnsetStylesheet"],"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,SAASA,mBAAmB,IAAIC,6BAA6B,QAAQ,SAAS;AAC9E,SACCC,aAAa,IAAIC,uBAAuB,EACxCC,mBAAmB,IAAIC,6BAA6B,EACpDC,iBAAiB,IAAIC,2BAA2B,EAChDC,sBAAsB,IAAIC,gCAAgC,QACpD,cAAc"}
@@ -1,57 +0,0 @@
1
- import { createElement } from "@wordpress/element";
2
- /**
3
- * WordPress dependencies
4
- */
5
- import { SelectControl } from '@wordpress/components';
6
- import { __ } from '@wordpress/i18n';
7
- export default function ({
8
- onChange,
9
- value,
10
- behaviors
11
- }) {
12
- const defaultBehaviors = {
13
- default: {
14
- value: 'default',
15
- label: __('Default')
16
- },
17
- noBehaviors: {
18
- value: '',
19
- label: __('No behaviors')
20
- }
21
- };
22
- const behaviorsOptions = Object.entries(behaviors).map(([behaviorName]) => ({
23
- value: behaviorName,
24
- // Capitalize the first letter of the behavior name.
25
- label: `${behaviorName.charAt(0).toUpperCase()}${behaviorName.slice(1).toLowerCase()}`
26
- }));
27
- const options = [...Object.values(defaultBehaviors), ...behaviorsOptions];
28
- const animations = [{
29
- value: 'zoom',
30
- label: __('Zoom')
31
- }, {
32
- value: 'fade',
33
- label: __('Fade')
34
- }];
35
- return createElement("div", {
36
- style: {
37
- marginTop: '2rem'
38
- }
39
- }, createElement(SelectControl, {
40
- label: __('Behaviors')
41
- // At the moment we are only supporting one behavior (Lightbox)
42
- ,
43
- value: value,
44
- options: options,
45
- onChange: onChange,
46
- hideCancelButton: true,
47
- size: "__unstable-large"
48
- }), value === 'lightbox' && createElement(SelectControl, {
49
- label: __('Animation'),
50
- value: behaviors?.lightbox.animation ? behaviors?.lightbox.animation : '',
51
- options: animations,
52
- onChange: onChange,
53
- hideCancelButton: false,
54
- size: "__unstable-large"
55
- }));
56
- }
57
- //# sourceMappingURL=behaviors-panel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["SelectControl","__","onChange","value","behaviors","defaultBehaviors","default","label","noBehaviors","behaviorsOptions","Object","entries","map","behaviorName","charAt","toUpperCase","slice","toLowerCase","options","values","animations","createElement","style","marginTop","hideCancelButton","size","lightbox","animation"],"sources":["@wordpress/block-editor/src/components/global-styles/behaviors-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ( { onChange, value, behaviors } ) {\n\tconst defaultBehaviors = {\n\t\tdefault: {\n\t\t\tvalue: 'default',\n\t\t\tlabel: __( 'Default' ),\n\t\t},\n\t\tnoBehaviors: {\n\t\t\tvalue: '',\n\t\t\tlabel: __( 'No behaviors' ),\n\t\t},\n\t};\n\n\tconst behaviorsOptions = Object.entries( behaviors ).map(\n\t\t( [ behaviorName ] ) => ( {\n\t\t\tvalue: behaviorName,\n\t\t\t// Capitalize the first letter of the behavior name.\n\t\t\tlabel: `${ behaviorName.charAt( 0 ).toUpperCase() }${ behaviorName\n\t\t\t\t.slice( 1 )\n\t\t\t\t.toLowerCase() }`,\n\t\t} )\n\t);\n\n\tconst options = [\n\t\t...Object.values( defaultBehaviors ),\n\t\t...behaviorsOptions,\n\t];\n\n\tconst animations = [\n\t\t{\n\t\t\tvalue: 'zoom',\n\t\t\tlabel: __( 'Zoom' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'fade',\n\t\t\tlabel: __( 'Fade' ),\n\t\t},\n\t];\n\treturn (\n\t\t<div style={ { marginTop: '2rem' } }>\n\t\t\t<SelectControl\n\t\t\t\tlabel={ __( 'Behaviors' ) }\n\t\t\t\t// At the moment we are only supporting one behavior (Lightbox)\n\t\t\t\tvalue={ value }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onChange }\n\t\t\t\thideCancelButton={ true }\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t/>\n\t\t\t{ value === 'lightbox' && (\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Animation' ) }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tbehaviors?.lightbox.animation\n\t\t\t\t\t\t\t? behaviors?.lightbox.animation\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t\toptions={ animations }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\thideCancelButton={ false }\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,EAAE,QAAQ,iBAAiB;AAEpC,eAAe,UAAW;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAU,CAAC,EAAG;EAC1D,MAAMC,gBAAgB,GAAG;IACxBC,OAAO,EAAE;MACRH,KAAK,EAAE,SAAS;MAChBI,KAAK,EAAEN,EAAE,CAAE,SAAU;IACtB,CAAC;IACDO,WAAW,EAAE;MACZL,KAAK,EAAE,EAAE;MACTI,KAAK,EAAEN,EAAE,CAAE,cAAe;IAC3B;EACD,CAAC;EAED,MAAMQ,gBAAgB,GAAGC,MAAM,CAACC,OAAO,CAAEP,SAAU,CAAC,CAACQ,GAAG,CACvD,CAAE,CAAEC,YAAY,CAAE,MAAQ;IACzBV,KAAK,EAAEU,YAAY;IACnB;IACAN,KAAK,EAAG,GAAGM,YAAY,CAACC,MAAM,CAAE,CAAE,CAAC,CAACC,WAAW,CAAC,CAAG,GAAGF,YAAY,CAChEG,KAAK,CAAE,CAAE,CAAC,CACVC,WAAW,CAAC,CAAG;EAClB,CAAC,CACF,CAAC;EAED,MAAMC,OAAO,GAAG,CACf,GAAGR,MAAM,CAACS,MAAM,CAAEd,gBAAiB,CAAC,EACpC,GAAGI,gBAAgB,CACnB;EAED,MAAMW,UAAU,GAAG,CAClB;IACCjB,KAAK,EAAE,MAAM;IACbI,KAAK,EAAEN,EAAE,CAAE,MAAO;EACnB,CAAC,EACD;IACCE,KAAK,EAAE,MAAM;IACbI,KAAK,EAAEN,EAAE,CAAE,MAAO;EACnB,CAAC,CACD;EACD,OACCoB,aAAA;IAAKC,KAAK,EAAG;MAAEC,SAAS,EAAE;IAAO;EAAG,GACnCF,aAAA,CAACrB,aAAa;IACbO,KAAK,EAAGN,EAAE,CAAE,WAAY;IACxB;IAAA;IACAE,KAAK,EAAGA,KAAO;IACfe,OAAO,EAAGA,OAAS;IACnBhB,QAAQ,EAAGA,QAAU;IACrBsB,gBAAgB,EAAG,IAAM;IACzBC,IAAI,EAAC;EAAkB,CACvB,CAAC,EACAtB,KAAK,KAAK,UAAU,IACrBkB,aAAA,CAACrB,aAAa;IACbO,KAAK,EAAGN,EAAE,CAAE,WAAY,CAAG;IAC3BE,KAAK,EACJC,SAAS,EAAEsB,QAAQ,CAACC,SAAS,GAC1BvB,SAAS,EAAEsB,QAAQ,CAACC,SAAS,GAC7B,EACH;IACDT,OAAO,EAAGE,UAAY;IACtBlB,QAAQ,EAAGA,QAAU;IACrBsB,gBAAgB,EAAG,KAAO;IAC1BC,IAAI,EAAC;EAAkB,CACvB,CAEE,CAAC;AAER"}