@wordpress/block-editor 13.0.1 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-actions/index.js +4 -6
  3. package/build/components/block-actions/index.js.map +1 -1
  4. package/build/components/block-draggable/index.js +1 -1
  5. package/build/components/block-draggable/index.js.map +1 -1
  6. package/build/components/block-list/block.js +2 -2
  7. package/build/components/block-list/block.js.map +1 -1
  8. package/build/components/block-list/block.native.js +2 -2
  9. package/build/components/block-list/block.native.js.map +1 -1
  10. package/build/components/block-list/use-in-between-inserter.js +3 -1
  11. package/build/components/block-list/use-in-between-inserter.js.map +1 -1
  12. package/build/components/block-lock/use-block-lock.js +2 -4
  13. package/build/components/block-lock/use-block-lock.js.map +1 -1
  14. package/build/components/block-mover/index.js +1 -1
  15. package/build/components/block-mover/index.js.map +1 -1
  16. package/build/components/block-mover/index.native.js +1 -1
  17. package/build/components/block-mover/index.native.js.map +1 -1
  18. package/build/components/block-settings-menu/block-settings-dropdown.js +1 -1
  19. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  20. package/build/components/block-switcher/block-variation-transformations.js +1 -3
  21. package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
  22. package/build/components/block-switcher/index.js +13 -6
  23. package/build/components/block-switcher/index.js.map +1 -1
  24. package/build/components/block-toolbar/index.js +6 -10
  25. package/build/components/block-toolbar/index.js.map +1 -1
  26. package/build/components/block-tools/block-selection-button.js +2 -2
  27. package/build/components/block-tools/block-selection-button.js.map +1 -1
  28. package/build/components/date-format-picker/index.js +18 -10
  29. package/build/components/date-format-picker/index.js.map +1 -1
  30. package/build/components/global-styles/hooks.js +1 -1
  31. package/build/components/global-styles/hooks.js.map +1 -1
  32. package/build/components/global-styles/use-global-styles-output.js +14 -1
  33. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  34. package/build/components/inserter/block-types-tab.native.js +1 -1
  35. package/build/components/inserter/block-types-tab.native.js.map +1 -1
  36. package/build/components/link-control/link-preview.js +12 -1
  37. package/build/components/link-control/link-preview.js.map +1 -1
  38. package/build/components/list-view/block.js +7 -6
  39. package/build/components/list-view/block.js.map +1 -1
  40. package/build/components/list-view/branch.js +3 -1
  41. package/build/components/list-view/branch.js.map +1 -1
  42. package/build/components/list-view/use-clipboard-handler.js +1 -1
  43. package/build/components/list-view/use-clipboard-handler.js.map +1 -1
  44. package/build/components/provider/use-block-sync.js +1 -7
  45. package/build/components/provider/use-block-sync.js.map +1 -1
  46. package/build/components/rich-text/index.native.js +4 -0
  47. package/build/components/rich-text/index.native.js.map +1 -1
  48. package/build/components/rich-text/native/index.native.js +6 -4
  49. package/build/components/rich-text/native/index.native.js.map +1 -1
  50. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +4 -4
  51. package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  52. package/build/components/use-block-commands/index.js +3 -3
  53. package/build/components/use-block-commands/index.js.map +1 -1
  54. package/build/hooks/block-bindings.js +19 -16
  55. package/build/hooks/block-bindings.js.map +1 -1
  56. package/build/hooks/block-style-variation.js +2 -2
  57. package/build/hooks/block-style-variation.js.map +1 -1
  58. package/build/hooks/use-bindings-attributes.js +7 -2
  59. package/build/hooks/use-bindings-attributes.js.map +1 -1
  60. package/build/private-apis.js +3 -1
  61. package/build/private-apis.js.map +1 -1
  62. package/build/store/actions.js +3 -3
  63. package/build/store/actions.js.map +1 -1
  64. package/build/store/private-actions.js +1 -36
  65. package/build/store/private-actions.js.map +1 -1
  66. package/build/store/selectors.js +17 -19
  67. package/build/store/selectors.js.map +1 -1
  68. package/build-module/components/block-actions/index.js +4 -6
  69. package/build-module/components/block-actions/index.js.map +1 -1
  70. package/build-module/components/block-draggable/index.js +1 -1
  71. package/build-module/components/block-draggable/index.js.map +1 -1
  72. package/build-module/components/block-list/block.js +2 -2
  73. package/build-module/components/block-list/block.js.map +1 -1
  74. package/build-module/components/block-list/block.native.js +2 -2
  75. package/build-module/components/block-list/block.native.js.map +1 -1
  76. package/build-module/components/block-list/use-in-between-inserter.js +3 -1
  77. package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
  78. package/build-module/components/block-lock/use-block-lock.js +2 -4
  79. package/build-module/components/block-lock/use-block-lock.js.map +1 -1
  80. package/build-module/components/block-mover/index.js +1 -1
  81. package/build-module/components/block-mover/index.js.map +1 -1
  82. package/build-module/components/block-mover/index.native.js +1 -1
  83. package/build-module/components/block-mover/index.native.js.map +1 -1
  84. package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -1
  85. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  86. package/build-module/components/block-switcher/block-variation-transformations.js +1 -3
  87. package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
  88. package/build-module/components/block-switcher/index.js +15 -8
  89. package/build-module/components/block-switcher/index.js.map +1 -1
  90. package/build-module/components/block-toolbar/index.js +7 -10
  91. package/build-module/components/block-toolbar/index.js.map +1 -1
  92. package/build-module/components/block-tools/block-selection-button.js +2 -2
  93. package/build-module/components/block-tools/block-selection-button.js.map +1 -1
  94. package/build-module/components/date-format-picker/index.js +19 -11
  95. package/build-module/components/date-format-picker/index.js.map +1 -1
  96. package/build-module/components/global-styles/hooks.js +1 -1
  97. package/build-module/components/global-styles/hooks.js.map +1 -1
  98. package/build-module/components/global-styles/use-global-styles-output.js +14 -1
  99. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  100. package/build-module/components/inserter/block-types-tab.native.js +1 -1
  101. package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
  102. package/build-module/components/link-control/link-preview.js +14 -1
  103. package/build-module/components/link-control/link-preview.js.map +1 -1
  104. package/build-module/components/list-view/block.js +7 -6
  105. package/build-module/components/list-view/block.js.map +1 -1
  106. package/build-module/components/list-view/branch.js +3 -1
  107. package/build-module/components/list-view/branch.js.map +1 -1
  108. package/build-module/components/list-view/use-clipboard-handler.js +1 -1
  109. package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
  110. package/build-module/components/provider/use-block-sync.js +1 -7
  111. package/build-module/components/provider/use-block-sync.js.map +1 -1
  112. package/build-module/components/rich-text/index.native.js +4 -0
  113. package/build-module/components/rich-text/index.native.js.map +1 -1
  114. package/build-module/components/rich-text/native/index.native.js +6 -4
  115. package/build-module/components/rich-text/native/index.native.js.map +1 -1
  116. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +4 -4
  117. package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
  118. package/build-module/components/use-block-commands/index.js +3 -3
  119. package/build-module/components/use-block-commands/index.js.map +1 -1
  120. package/build-module/hooks/block-bindings.js +20 -17
  121. package/build-module/hooks/block-bindings.js.map +1 -1
  122. package/build-module/hooks/block-style-variation.js +2 -2
  123. package/build-module/hooks/block-style-variation.js.map +1 -1
  124. package/build-module/hooks/use-bindings-attributes.js +7 -2
  125. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  126. package/build-module/private-apis.js +3 -1
  127. package/build-module/private-apis.js.map +1 -1
  128. package/build-module/store/actions.js +3 -3
  129. package/build-module/store/actions.js.map +1 -1
  130. package/build-module/store/private-actions.js +1 -35
  131. package/build-module/store/private-actions.js.map +1 -1
  132. package/build-module/store/selectors.js +17 -19
  133. package/build-module/store/selectors.js.map +1 -1
  134. package/build-style/style-rtl.css +7 -15
  135. package/build-style/style.css +7 -15
  136. package/package.json +31 -31
  137. package/src/components/block-actions/index.js +3 -7
  138. package/src/components/block-draggable/index.js +1 -1
  139. package/src/components/block-list/block.js +2 -2
  140. package/src/components/block-list/block.native.js +2 -2
  141. package/src/components/block-list/use-in-between-inserter.js +3 -1
  142. package/src/components/block-lock/use-block-lock.js +2 -4
  143. package/src/components/block-mover/index.js +1 -1
  144. package/src/components/block-mover/index.native.js +1 -1
  145. package/src/components/block-settings-menu/block-settings-dropdown.js +1 -1
  146. package/src/components/block-switcher/block-variation-transformations.js +4 -9
  147. package/src/components/block-switcher/index.js +27 -12
  148. package/src/components/block-switcher/style.scss +5 -0
  149. package/src/components/block-toolbar/index.js +7 -9
  150. package/src/components/block-toolbar/style.scss +9 -6
  151. package/src/components/block-tools/block-selection-button.js +2 -2
  152. package/src/components/date-format-picker/index.js +25 -13
  153. package/src/components/global-styles/hooks.js +1 -4
  154. package/src/components/global-styles/use-global-styles-output.js +24 -4
  155. package/src/components/inserter/block-types-tab.native.js +2 -1
  156. package/src/components/link-control/link-preview.js +18 -1
  157. package/src/components/list-view/block.js +7 -7
  158. package/src/components/list-view/branch.js +5 -1
  159. package/src/components/list-view/use-clipboard-handler.js +1 -6
  160. package/src/components/provider/use-block-sync.js +0 -6
  161. package/src/components/rich-text/index.native.js +4 -0
  162. package/src/components/rich-text/native/index.native.js +3 -1
  163. package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +2 -9
  164. package/src/components/use-block-commands/index.js +3 -4
  165. package/src/hooks/block-bindings.js +28 -22
  166. package/src/hooks/block-style-variation.js +2 -2
  167. package/src/hooks/use-bindings-attributes.js +11 -1
  168. package/src/private-apis.js +2 -0
  169. package/src/store/actions.js +3 -9
  170. package/src/store/private-actions.js +1 -34
  171. package/src/store/selectors.js +19 -26
  172. package/src/style.scss +0 -1
  173. package/build/components/block-bindings-toolbar-indicator/index.js +0 -106
  174. package/build/components/block-bindings-toolbar-indicator/index.js.map +0 -1
  175. package/build/store/undo-ignore.js +0 -11
  176. package/build/store/undo-ignore.js.map +0 -1
  177. package/build-module/components/block-bindings-toolbar-indicator/index.js +0 -99
  178. package/build-module/components/block-bindings-toolbar-indicator/index.js.map +0 -1
  179. package/build-module/store/undo-ignore.js +0 -5
  180. package/build-module/store/undo-ignore.js.map +0 -1
  181. package/src/components/block-bindings-toolbar-indicator/index.js +0 -137
  182. package/src/components/block-bindings-toolbar-indicator/style.scss +0 -12
  183. package/src/store/undo-ignore.js +0 -4
@@ -56,23 +56,26 @@ const BlockBindingsPanel = ({
56
56
  }
57
57
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_inspectorControls.default, {
58
58
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PanelBody, {
59
- title: (0, _i18n.__)('Bindings'),
59
+ title: (0, _i18n.__)('Attributes'),
60
60
  className: "components-panel__block-bindings-panel",
61
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalItemGroup, {
62
- isBordered: true,
63
- isSeparated: true,
64
- size: "large",
65
- children: Object.keys(filteredBindings).map(key => {
66
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalItem, {
67
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
68
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
69
- children: key
70
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
71
- className: "components-item__block-bindings-source",
72
- children: sources[filteredBindings[key].source] ? sources[filteredBindings[key].source].label : filteredBindings[key].source
73
- })]
74
- })
75
- }, key);
61
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.BaseControl, {
62
+ help: (0, _i18n.__)('Attributes connected to various sources.'),
63
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalItemGroup, {
64
+ isBordered: true,
65
+ isSeparated: true,
66
+ size: "large",
67
+ children: Object.keys(filteredBindings).map(key => {
68
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalItem, {
69
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
70
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
71
+ children: key
72
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
73
+ className: "components-item__block-bindings-source",
74
+ children: sources[filteredBindings[key].source] ? sources[filteredBindings[key].source].label : filteredBindings[key].source
75
+ })]
76
+ })
77
+ }, key);
78
+ })
76
79
  })
77
80
  })
78
81
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_blocks","_components","_data","_useBindingsAttributes","_lockUnlock","_inspectorControls","_interopRequireDefault","_jsxRuntime","BlockBindingsPanel","name","metadata","bindings","sources","useSelect","select","_sources","unlock","blocksStore","getAllBlockBindingsSources","filteredBindings","Object","keys","forEach","key","canBindAttribute","source","length","jsx","default","children","PanelBody","title","__","className","__experimentalItemGroup","isBordered","isSeparated","size","map","__experimentalItem","jsxs","__experimentalHStack","label","exports","_default","edit","attributeKeys","hasSupport"],"sources":["@wordpress/block-editor/src/hooks/block-bindings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tPanelBody,\n\t__experimentalHStack as HStack,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { canBindAttribute } from '../hooks/use-bindings-attributes';\nimport { unlock } from '../lock-unlock';\nimport InspectorControls from '../components/inspector-controls';\n\nexport const BlockBindingsPanel = ( { name, metadata } ) => {\n\tconst { bindings } = metadata || {};\n\tconst { sources } = useSelect( ( select ) => {\n\t\tconst _sources = unlock(\n\t\t\tselect( blocksStore )\n\t\t).getAllBlockBindingsSources();\n\n\t\treturn {\n\t\t\tsources: _sources,\n\t\t};\n\t}, [] );\n\n\tif ( ! bindings ) {\n\t\treturn null;\n\t}\n\n\t// Don't show not allowed attributes.\n\t// Don't show the bindings connected to pattern overrides in the inspectors panel.\n\t// TODO: Explore if this should be abstracted to let other sources decide.\n\tconst filteredBindings = { ...bindings };\n\tObject.keys( filteredBindings ).forEach( ( key ) => {\n\t\tif (\n\t\t\t! canBindAttribute( name, key ) ||\n\t\t\tfilteredBindings[ key ].source === 'core/pattern-overrides'\n\t\t) {\n\t\t\tdelete filteredBindings[ key ];\n\t\t}\n\t} );\n\n\tif ( Object.keys( filteredBindings ).length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody\n\t\t\t\ttitle={ __( 'Bindings' ) }\n\t\t\t\tclassName=\"components-panel__block-bindings-panel\"\n\t\t\t>\n\t\t\t\t<ItemGroup isBordered isSeparated size=\"large\">\n\t\t\t\t\t{ Object.keys( filteredBindings ).map( ( key ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Item key={ key }>\n\t\t\t\t\t\t\t\t<HStack>\n\t\t\t\t\t\t\t\t\t<span>{ key }</span>\n\t\t\t\t\t\t\t\t\t<span className=\"components-item__block-bindings-source\">\n\t\t\t\t\t\t\t\t\t\t{ sources[\n\t\t\t\t\t\t\t\t\t\t\tfilteredBindings[ key ].source\n\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t? sources[\n\t\t\t\t\t\t\t\t\t\t\t\t\tfilteredBindings[ key ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.source\n\t\t\t\t\t\t\t\t\t\t\t ].label\n\t\t\t\t\t\t\t\t\t\t\t: filteredBindings[ key ].source }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</ItemGroup>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n};\n\nexport default {\n\tedit: BlockBindingsPanel,\n\tattributeKeys: [ 'metadata' ],\n\thasSupport() {\n\t\treturn true;\n\t},\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_i18n","require","_blocks","_components","_data","_useBindingsAttributes","_lockUnlock","_inspectorControls","_interopRequireDefault","_jsxRuntime","BlockBindingsPanel","name","metadata","bindings","sources","useSelect","select","_sources","unlock","blocksStore","getAllBlockBindingsSources","filteredBindings","Object","keys","forEach","key","canBindAttribute","source","length","jsx","default","children","PanelBody","title","__","className","BaseControl","help","__experimentalItemGroup","isBordered","isSeparated","size","map","__experimentalItem","jsxs","__experimentalHStack","label","exports","_default","edit","attributeKeys","hasSupport"],"sources":["@wordpress/block-editor/src/hooks/block-bindings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport {\n\tBaseControl,\n\tPanelBody,\n\t__experimentalHStack as HStack,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { canBindAttribute } from '../hooks/use-bindings-attributes';\nimport { unlock } from '../lock-unlock';\nimport InspectorControls from '../components/inspector-controls';\n\nexport const BlockBindingsPanel = ( { name, metadata } ) => {\n\tconst { bindings } = metadata || {};\n\tconst { sources } = useSelect( ( select ) => {\n\t\tconst _sources = unlock(\n\t\t\tselect( blocksStore )\n\t\t).getAllBlockBindingsSources();\n\n\t\treturn {\n\t\t\tsources: _sources,\n\t\t};\n\t}, [] );\n\n\tif ( ! bindings ) {\n\t\treturn null;\n\t}\n\n\t// Don't show not allowed attributes.\n\t// Don't show the bindings connected to pattern overrides in the inspectors panel.\n\t// TODO: Explore if this should be abstracted to let other sources decide.\n\tconst filteredBindings = { ...bindings };\n\tObject.keys( filteredBindings ).forEach( ( key ) => {\n\t\tif (\n\t\t\t! canBindAttribute( name, key ) ||\n\t\t\tfilteredBindings[ key ].source === 'core/pattern-overrides'\n\t\t) {\n\t\t\tdelete filteredBindings[ key ];\n\t\t}\n\t} );\n\n\tif ( Object.keys( filteredBindings ).length === 0 ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody\n\t\t\t\ttitle={ __( 'Attributes' ) }\n\t\t\t\tclassName=\"components-panel__block-bindings-panel\"\n\t\t\t>\n\t\t\t\t<BaseControl\n\t\t\t\t\thelp={ __( 'Attributes connected to various sources.' ) }\n\t\t\t\t>\n\t\t\t\t\t<ItemGroup isBordered isSeparated size=\"large\">\n\t\t\t\t\t\t{ Object.keys( filteredBindings ).map( ( key ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<Item key={ key }>\n\t\t\t\t\t\t\t\t\t<HStack>\n\t\t\t\t\t\t\t\t\t\t<span>{ key }</span>\n\t\t\t\t\t\t\t\t\t\t<span className=\"components-item__block-bindings-source\">\n\t\t\t\t\t\t\t\t\t\t\t{ sources[\n\t\t\t\t\t\t\t\t\t\t\t\tfilteredBindings[ key ].source\n\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t? sources[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilteredBindings[ key ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t.source\n\t\t\t\t\t\t\t\t\t\t\t\t ].label\n\t\t\t\t\t\t\t\t\t\t\t\t: filteredBindings[ key ]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.source }\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t</ItemGroup>\n\t\t\t\t</BaseControl>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n};\n\nexport default {\n\tedit: BlockBindingsPanel,\n\tattributeKeys: [ 'metadata' ],\n\thasSupport() {\n\t\treturn true;\n\t},\n};\n"],"mappings":"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","ignoreList":[]}
@@ -42,7 +42,7 @@ function getVariationNameFromClass(className, registeredStyles = []) {
42
42
  }
43
43
  return null;
44
44
  }
45
- function useBlockSyleVariation(name, variation, clientId) {
45
+ function useBlockStyleVariation(name, variation, clientId) {
46
46
  // Prefer global styles data in GlobalStylesContext, which are available
47
47
  // if in the site editor. Otherwise fall back to whatever is in the
48
48
  // editor settings and available in the post editor.
@@ -98,7 +98,7 @@ function useBlockProps({
98
98
  const {
99
99
  settings,
100
100
  styles
101
- } = useBlockSyleVariation(name, variation, clientId);
101
+ } = useBlockStyleVariation(name, variation, clientId);
102
102
  const variationStyles = (0, _element.useMemo)(() => {
103
103
  if (!variation) {
104
104
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_data","_element","_globalStyles","_utils","_store","_privateKeys","getVariationNameFromClass","className","registeredStyles","matches","match","variationClass","variation","substring","some","style","name","useBlockSyleVariation","clientId","merged","mergedConfig","useContext","GlobalStylesContext","globalSettings","globalStyles","useSelect","select","settings","blockEditorStore","getSettings","__experimentalFeatures","globalStylesDataKey","useMemo","_mergedConfig$styles","_mergedConfig$setting","styles","variationStyles","blocks","variations","useBlockProps","getBlockStyles","blocksStore","variationConfig","blockSelectors","getBlockSelectors","getBlockTypes","hasBlockGapSupport","hasFallbackGapSupport","disableLayoutStyles","isTemplate","toStyles","blockGap","blockStyles","layoutStyles","marginReset","presets","rootPadding","useStyleOverride","id","css","__unstableType","_default","exports","default","hasSupport","attributeKeys"],"sources":["@wordpress/block-editor/src/hooks/block-style-variation.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockTypes, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tGlobalStylesContext,\n\ttoStyles,\n\tgetBlockSelectors,\n} from '../components/global-styles';\nimport { useStyleOverride } from './utils';\nimport { store as blockEditorStore } from '../store';\nimport { globalStylesDataKey } from '../store/private-keys';\n\n/**\n * Get the first block style variation that has been registered from the class string.\n *\n * @param {string} className CSS class string for a block.\n * @param {Array} registeredStyles Currently registered block styles.\n *\n * @return {string|null} The name of the first registered variation.\n */\nfunction getVariationNameFromClass( className, registeredStyles = [] ) {\n\t// The global flag affects how capturing groups work in JS. So the regex\n\t// below will only return full CSS classes not just the variation name.\n\tconst matches = className?.match( /\\bis-style-(?!default)(\\S+)\\b/g );\n\n\tif ( ! matches ) {\n\t\treturn null;\n\t}\n\n\tfor ( const variationClass of matches ) {\n\t\tconst variation = variationClass.substring( 9 ); // Remove 'is-style-' prefix.\n\t\tif ( registeredStyles.some( ( style ) => style.name === variation ) ) {\n\t\t\treturn variation;\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction useBlockSyleVariation( name, variation, clientId ) {\n\t// Prefer global styles data in GlobalStylesContext, which are available\n\t// if in the site editor. Otherwise fall back to whatever is in the\n\t// editor settings and available in the post editor.\n\tconst { merged: mergedConfig } = useContext( GlobalStylesContext );\n\tconst { globalSettings, globalStyles } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tglobalSettings: settings.__experimentalFeatures,\n\t\t\tglobalStyles: settings[ globalStylesDataKey ],\n\t\t};\n\t}, [] );\n\n\treturn useMemo( () => {\n\t\tconst styles = mergedConfig?.styles ?? globalStyles;\n\t\tconst variationStyles =\n\t\t\tstyles?.blocks?.[ name ]?.variations?.[ variation ];\n\n\t\treturn {\n\t\t\tsettings: mergedConfig?.settings ?? globalSettings,\n\t\t\t// The variation style data is all that is needed to generate\n\t\t\t// the styles for the current application to a block. The variation\n\t\t\t// name is updated to match the instance specific class name.\n\t\t\tstyles: {\n\t\t\t\tblocks: {\n\t\t\t\t\t[ name ]: {\n\t\t\t\t\t\tvariations: {\n\t\t\t\t\t\t\t[ `${ variation }-${ clientId }` ]: variationStyles,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tglobalSettings,\n\t\tglobalStyles,\n\t\tvariation,\n\t\tclientId,\n\t\tname,\n\t] );\n}\n\n// Rather than leveraging `useInstanceId` here, the `clientId` is used.\n// This is so that the variation style override's ID is predictable\n// when the order of applied style variations changes.\nfunction useBlockProps( { name, className, clientId } ) {\n\tconst { getBlockStyles } = useSelect( blocksStore );\n\n\tconst registeredStyles = getBlockStyles( name );\n\tconst variation = getVariationNameFromClass( className, registeredStyles );\n\tconst variationClass = `is-style-${ variation }-${ clientId }`;\n\n\tconst { settings, styles } = useBlockSyleVariation(\n\t\tname,\n\t\tvariation,\n\t\tclientId\n\t);\n\n\tconst variationStyles = useMemo( () => {\n\t\tif ( ! variation ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst variationConfig = { settings, styles };\n\t\tconst blockSelectors = getBlockSelectors(\n\t\t\tgetBlockTypes(),\n\t\t\tgetBlockStyles,\n\t\t\tclientId\n\t\t);\n\t\tconst hasBlockGapSupport = false;\n\t\tconst hasFallbackGapSupport = true;\n\t\tconst disableLayoutStyles = true;\n\t\tconst isTemplate = true;\n\n\t\treturn toStyles(\n\t\t\tvariationConfig,\n\t\t\tblockSelectors,\n\t\t\thasBlockGapSupport,\n\t\t\thasFallbackGapSupport,\n\t\t\tdisableLayoutStyles,\n\t\t\tisTemplate,\n\t\t\t{\n\t\t\t\tblockGap: false,\n\t\t\t\tblockStyles: true,\n\t\t\t\tlayoutStyles: false,\n\t\t\t\tmarginReset: false,\n\t\t\t\tpresets: false,\n\t\t\t\trootPadding: false,\n\t\t\t}\n\t\t);\n\t}, [ variation, settings, styles, getBlockStyles, clientId ] );\n\n\tuseStyleOverride( {\n\t\tid: `variation-${ clientId }`,\n\t\tcss: variationStyles,\n\t\t__unstableType: 'variation',\n\t\t// The clientId will be stored with the override and used to ensure\n\t\t// the order of overrides matches the order of blocks so that the\n\t\t// correct CSS cascade is maintained.\n\t\tclientId,\n\t} );\n\n\treturn variation ? { className: variationClass } : {};\n}\n\nexport default {\n\thasSupport: () => true,\n\tattributeKeys: [ 'className' ],\n\tuseBlockProps,\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blocks","require","_data","_element","_globalStyles","_utils","_store","_privateKeys","getVariationNameFromClass","className","registeredStyles","matches","match","variationClass","variation","substring","some","style","name","useBlockStyleVariation","clientId","merged","mergedConfig","useContext","GlobalStylesContext","globalSettings","globalStyles","useSelect","select","settings","blockEditorStore","getSettings","__experimentalFeatures","globalStylesDataKey","useMemo","_mergedConfig$styles","_mergedConfig$setting","styles","variationStyles","blocks","variations","useBlockProps","getBlockStyles","blocksStore","variationConfig","blockSelectors","getBlockSelectors","getBlockTypes","hasBlockGapSupport","hasFallbackGapSupport","disableLayoutStyles","isTemplate","toStyles","blockGap","blockStyles","layoutStyles","marginReset","presets","rootPadding","useStyleOverride","id","css","__unstableType","_default","exports","default","hasSupport","attributeKeys"],"sources":["@wordpress/block-editor/src/hooks/block-style-variation.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockTypes, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tGlobalStylesContext,\n\ttoStyles,\n\tgetBlockSelectors,\n} from '../components/global-styles';\nimport { useStyleOverride } from './utils';\nimport { store as blockEditorStore } from '../store';\nimport { globalStylesDataKey } from '../store/private-keys';\n\n/**\n * Get the first block style variation that has been registered from the class string.\n *\n * @param {string} className CSS class string for a block.\n * @param {Array} registeredStyles Currently registered block styles.\n *\n * @return {string|null} The name of the first registered variation.\n */\nfunction getVariationNameFromClass( className, registeredStyles = [] ) {\n\t// The global flag affects how capturing groups work in JS. So the regex\n\t// below will only return full CSS classes not just the variation name.\n\tconst matches = className?.match( /\\bis-style-(?!default)(\\S+)\\b/g );\n\n\tif ( ! matches ) {\n\t\treturn null;\n\t}\n\n\tfor ( const variationClass of matches ) {\n\t\tconst variation = variationClass.substring( 9 ); // Remove 'is-style-' prefix.\n\t\tif ( registeredStyles.some( ( style ) => style.name === variation ) ) {\n\t\t\treturn variation;\n\t\t}\n\t}\n\treturn null;\n}\n\nfunction useBlockStyleVariation( name, variation, clientId ) {\n\t// Prefer global styles data in GlobalStylesContext, which are available\n\t// if in the site editor. Otherwise fall back to whatever is in the\n\t// editor settings and available in the post editor.\n\tconst { merged: mergedConfig } = useContext( GlobalStylesContext );\n\tconst { globalSettings, globalStyles } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tglobalSettings: settings.__experimentalFeatures,\n\t\t\tglobalStyles: settings[ globalStylesDataKey ],\n\t\t};\n\t}, [] );\n\n\treturn useMemo( () => {\n\t\tconst styles = mergedConfig?.styles ?? globalStyles;\n\t\tconst variationStyles =\n\t\t\tstyles?.blocks?.[ name ]?.variations?.[ variation ];\n\n\t\treturn {\n\t\t\tsettings: mergedConfig?.settings ?? globalSettings,\n\t\t\t// The variation style data is all that is needed to generate\n\t\t\t// the styles for the current application to a block. The variation\n\t\t\t// name is updated to match the instance specific class name.\n\t\t\tstyles: {\n\t\t\t\tblocks: {\n\t\t\t\t\t[ name ]: {\n\t\t\t\t\t\tvariations: {\n\t\t\t\t\t\t\t[ `${ variation }-${ clientId }` ]: variationStyles,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}, [\n\t\tmergedConfig,\n\t\tglobalSettings,\n\t\tglobalStyles,\n\t\tvariation,\n\t\tclientId,\n\t\tname,\n\t] );\n}\n\n// Rather than leveraging `useInstanceId` here, the `clientId` is used.\n// This is so that the variation style override's ID is predictable\n// when the order of applied style variations changes.\nfunction useBlockProps( { name, className, clientId } ) {\n\tconst { getBlockStyles } = useSelect( blocksStore );\n\n\tconst registeredStyles = getBlockStyles( name );\n\tconst variation = getVariationNameFromClass( className, registeredStyles );\n\tconst variationClass = `is-style-${ variation }-${ clientId }`;\n\n\tconst { settings, styles } = useBlockStyleVariation(\n\t\tname,\n\t\tvariation,\n\t\tclientId\n\t);\n\n\tconst variationStyles = useMemo( () => {\n\t\tif ( ! variation ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst variationConfig = { settings, styles };\n\t\tconst blockSelectors = getBlockSelectors(\n\t\t\tgetBlockTypes(),\n\t\t\tgetBlockStyles,\n\t\t\tclientId\n\t\t);\n\t\tconst hasBlockGapSupport = false;\n\t\tconst hasFallbackGapSupport = true;\n\t\tconst disableLayoutStyles = true;\n\t\tconst isTemplate = true;\n\n\t\treturn toStyles(\n\t\t\tvariationConfig,\n\t\t\tblockSelectors,\n\t\t\thasBlockGapSupport,\n\t\t\thasFallbackGapSupport,\n\t\t\tdisableLayoutStyles,\n\t\t\tisTemplate,\n\t\t\t{\n\t\t\t\tblockGap: false,\n\t\t\t\tblockStyles: true,\n\t\t\t\tlayoutStyles: false,\n\t\t\t\tmarginReset: false,\n\t\t\t\tpresets: false,\n\t\t\t\trootPadding: false,\n\t\t\t}\n\t\t);\n\t}, [ variation, settings, styles, getBlockStyles, clientId ] );\n\n\tuseStyleOverride( {\n\t\tid: `variation-${ clientId }`,\n\t\tcss: variationStyles,\n\t\t__unstableType: 'variation',\n\t\t// The clientId will be stored with the override and used to ensure\n\t\t// the order of overrides matches the order of blocks so that the\n\t\t// correct CSS cascade is maintained.\n\t\tclientId,\n\t} );\n\n\treturn variation ? { className: variationClass } : {};\n}\n\nexport default {\n\thasSupport: () => true,\n\tattributeKeys: [ 'className' ],\n\tuseBlockProps,\n};\n"],"mappings":"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","ignoreList":[]}
@@ -96,6 +96,7 @@ const withBlockBindingSupport = exports.withBlockBindingSupport = (0, _compose.c
96
96
  clientId,
97
97
  context
98
98
  } = props;
99
+ const hasPatternOverridesDefaultBinding = props.attributes.metadata?.bindings?.[DEFAULT_ATTRIBUTE]?.source === 'core/pattern-overrides';
99
100
  const bindings = (0, _element.useMemo)(() => replacePatternOverrideDefaultBindings(name, props.attributes.metadata?.bindings), [props.attributes.metadata?.bindings, name]);
100
101
  const boundAttributes = (0, _data.useSelect)(() => {
101
102
  if (!bindings) {
@@ -179,11 +180,15 @@ const withBlockBindingSupport = exports.withBlockBindingSupport = (0, _compose.c
179
180
  }
180
181
  }
181
182
  }
182
- if (Object.keys(keptAttributes).length) {
183
+
184
+ // Only apply normal attribute updates to blocks
185
+ // that have partial bindings. Currently this is
186
+ // only skipped for pattern overrides sources.
187
+ if (!hasPatternOverridesDefaultBinding && Object.keys(keptAttributes).length) {
183
188
  setAttributes(keptAttributes);
184
189
  }
185
190
  });
186
- }, [registry, bindings, name, clientId, context, setAttributes, sources]);
191
+ }, [registry, bindings, name, clientId, context, setAttributes, sources, hasPatternOverridesDefaultBinding]);
187
192
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
188
193
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockEdit, {
189
194
  ...props,
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_compose","_data","_element","_hooks","_lockUnlock","_jsxRuntime","BLOCK_BINDINGS_ALLOWED_BLOCKS","DEFAULT_ATTRIBUTE","replacePatternOverrideDefaultBindings","blockName","bindings","source","supportedAttributes","bindingsWithDefaults","attributeName","bindingSource","canBindBlock","canBindAttribute","includes","withBlockBindingSupport","exports","createHigherOrderComponent","BlockEdit","props","registry","useRegistry","sources","useSelect","select","unlock","blocksStore","getAllBlockBindingsSources","name","clientId","context","useMemo","attributes","metadata","boundAttributes","boundAttribute","Object","entries","getValue","args","undefined","getPlaceholder","setAttributes","_setAttributes","useCallback","nextAttributes","batch","keptAttributes","updatesBySource","Map","newValue","binding","setValue","setValues","set","get","size","value","keys","length","jsx","Fragment","children","shimAttributeSource","settings","edit","addFilter"],"sources":["@wordpress/block-editor/src/hooks/use-bindings-attributes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useRegistry, useSelect } from '@wordpress/data';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\n/** @typedef {import('@wordpress/compose').WPHigherOrderComponent} WPHigherOrderComponent */\n/** @typedef {import('@wordpress/blocks').WPBlockSettings} WPBlockSettings */\n\n/**\n * Given a binding of block attributes, returns a higher order component that\n * overrides its `attributes` and `setAttributes` props to sync any changes needed.\n *\n * @return {WPHigherOrderComponent} Higher-order component.\n */\n\nconst BLOCK_BINDINGS_ALLOWED_BLOCKS = {\n\t'core/paragraph': [ 'content' ],\n\t'core/heading': [ 'content' ],\n\t'core/image': [ 'id', 'url', 'title', 'alt' ],\n\t'core/button': [ 'url', 'text', 'linkTarget', 'rel' ],\n};\n\nconst DEFAULT_ATTRIBUTE = '__default';\n\n/**\n * Returns the bindings with the `__default` binding for pattern overrides\n * replaced with the full-set of supported attributes. e.g.:\n *\n * bindings passed in: `{ __default: { source: 'core/pattern-overrides' } }`\n * bindings returned: `{ content: { source: 'core/pattern-overrides' } }`\n *\n * @param {string} blockName The block name (e.g. 'core/paragraph').\n * @param {Object} bindings A block's bindings from the metadata attribute.\n *\n * @return {Object} The bindings with default replaced for pattern overrides.\n */\nfunction replacePatternOverrideDefaultBindings( blockName, bindings ) {\n\t// The `__default` binding currently only works for pattern overrides.\n\tif (\n\t\tbindings?.[ DEFAULT_ATTRIBUTE ]?.source === 'core/pattern-overrides'\n\t) {\n\t\tconst supportedAttributes = BLOCK_BINDINGS_ALLOWED_BLOCKS[ blockName ];\n\t\tconst bindingsWithDefaults = {};\n\t\tfor ( const attributeName of supportedAttributes ) {\n\t\t\t// If the block has mixed binding sources, retain any non pattern override bindings.\n\t\t\tconst bindingSource = bindings[ attributeName ]\n\t\t\t\t? bindings[ attributeName ]\n\t\t\t\t: { source: 'core/pattern-overrides' };\n\t\t\tbindingsWithDefaults[ attributeName ] = bindingSource;\n\t\t}\n\n\t\treturn bindingsWithDefaults;\n\t}\n\n\treturn bindings;\n}\n\n/**\n * Based on the given block name,\n * check if it is possible to bind the block.\n *\n * @param {string} blockName - The block name.\n * @return {boolean} Whether it is possible to bind the block to sources.\n */\nexport function canBindBlock( blockName ) {\n\treturn blockName in BLOCK_BINDINGS_ALLOWED_BLOCKS;\n}\n\n/**\n * Based on the given block name and attribute name,\n * check if it is possible to bind the block attribute.\n *\n * @param {string} blockName - The block name.\n * @param {string} attributeName - The attribute name.\n * @return {boolean} Whether it is possible to bind the block attribute.\n */\nexport function canBindAttribute( blockName, attributeName ) {\n\treturn (\n\t\tcanBindBlock( blockName ) &&\n\t\tBLOCK_BINDINGS_ALLOWED_BLOCKS[ blockName ].includes( attributeName )\n\t);\n}\n\nexport const withBlockBindingSupport = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst registry = useRegistry();\n\t\tconst sources = useSelect( ( select ) =>\n\t\t\tunlock( select( blocksStore ) ).getAllBlockBindingsSources()\n\t\t);\n\t\tconst { name, clientId, context } = props;\n\t\tconst bindings = useMemo(\n\t\t\t() =>\n\t\t\t\treplacePatternOverrideDefaultBindings(\n\t\t\t\t\tname,\n\t\t\t\t\tprops.attributes.metadata?.bindings\n\t\t\t\t),\n\t\t\t[ props.attributes.metadata?.bindings, name ]\n\t\t);\n\t\tconst boundAttributes = useSelect( () => {\n\t\t\tif ( ! bindings ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst attributes = {};\n\n\t\t\tfor ( const [ attributeName, boundAttribute ] of Object.entries(\n\t\t\t\tbindings\n\t\t\t) ) {\n\t\t\t\tconst source = sources[ boundAttribute.source ];\n\t\t\t\tif (\n\t\t\t\t\t! source?.getValue ||\n\t\t\t\t\t! canBindAttribute( name, attributeName )\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst args = {\n\t\t\t\t\tregistry,\n\t\t\t\t\tcontext,\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeName,\n\t\t\t\t\targs: boundAttribute.args,\n\t\t\t\t};\n\n\t\t\t\tattributes[ attributeName ] = source.getValue( args );\n\n\t\t\t\tif ( attributes[ attributeName ] === undefined ) {\n\t\t\t\t\tif ( attributeName === 'url' ) {\n\t\t\t\t\t\tattributes[ attributeName ] = null;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tattributes[ attributeName ] =\n\t\t\t\t\t\t\tsource.getPlaceholder?.( args );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn attributes;\n\t\t}, [ bindings, name, clientId, context, registry, sources ] );\n\n\t\tconst { setAttributes } = props;\n\n\t\tconst _setAttributes = useCallback(\n\t\t\t( nextAttributes ) => {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tif ( ! bindings ) {\n\t\t\t\t\t\tsetAttributes( nextAttributes );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst keptAttributes = { ...nextAttributes };\n\t\t\t\t\tconst updatesBySource = new Map();\n\n\t\t\t\t\t// Loop only over the updated attributes to avoid modifying the bound ones that haven't changed.\n\t\t\t\t\tfor ( const [ attributeName, newValue ] of Object.entries(\n\t\t\t\t\t\tkeptAttributes\n\t\t\t\t\t) ) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! bindings[ attributeName ] ||\n\t\t\t\t\t\t\t! canBindAttribute( name, attributeName )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst binding = bindings[ attributeName ];\n\t\t\t\t\t\tconst source = sources[ binding?.source ];\n\t\t\t\t\t\tif ( ! source?.setValue && ! source?.setValues ) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupdatesBySource.set( source, {\n\t\t\t\t\t\t\t...updatesBySource.get( source ),\n\t\t\t\t\t\t\t[ attributeName ]: newValue,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tdelete keptAttributes[ attributeName ];\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( updatesBySource.size ) {\n\t\t\t\t\t\tfor ( const [\n\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t] of updatesBySource ) {\n\t\t\t\t\t\t\tif ( source.setValues ) {\n\t\t\t\t\t\t\t\tsource.setValues( {\n\t\t\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor ( const [\n\t\t\t\t\t\t\t\t\tattributeName,\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t] of Object.entries( attributes ) ) {\n\t\t\t\t\t\t\t\t\tconst binding = bindings[ attributeName ];\n\t\t\t\t\t\t\t\t\tsource.setValue( {\n\t\t\t\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\t\tattributeName,\n\t\t\t\t\t\t\t\t\t\targs: binding.args,\n\t\t\t\t\t\t\t\t\t\tvalue,\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\n\t\t\t\t\tif ( Object.keys( keptAttributes ).length ) {\n\t\t\t\t\t\tsetAttributes( keptAttributes );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t},\n\t\t\t[\n\t\t\t\tregistry,\n\t\t\t\tbindings,\n\t\t\t\tname,\n\t\t\t\tclientId,\n\t\t\t\tcontext,\n\t\t\t\tsetAttributes,\n\t\t\t\tsources,\n\t\t\t]\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tattributes={ { ...props.attributes, ...boundAttributes } }\n\t\t\t\t\tsetAttributes={ _setAttributes }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t},\n\t'withBlockBindingSupport'\n);\n\n/**\n * Filters a registered block's settings to enhance a block's `edit` component\n * to upgrade bound attributes.\n *\n * @param {WPBlockSettings} settings - Registered block settings.\n * @param {string} name - Block name.\n * @return {WPBlockSettings} Filtered block settings.\n */\nfunction shimAttributeSource( settings, name ) {\n\tif ( ! canBindBlock( name ) ) {\n\t\treturn settings;\n\t}\n\n\treturn {\n\t\t...settings,\n\t\tedit: withBlockBindingSupport( settings.edit ),\n\t};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/custom-sources-backwards-compatibility/shim-attribute-source',\n\tshimAttributeSource\n);\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_blocks","require","_compose","_data","_element","_hooks","_lockUnlock","_jsxRuntime","BLOCK_BINDINGS_ALLOWED_BLOCKS","DEFAULT_ATTRIBUTE","replacePatternOverrideDefaultBindings","blockName","bindings","source","supportedAttributes","bindingsWithDefaults","attributeName","bindingSource","canBindBlock","canBindAttribute","includes","withBlockBindingSupport","exports","createHigherOrderComponent","BlockEdit","props","registry","useRegistry","sources","useSelect","select","unlock","blocksStore","getAllBlockBindingsSources","name","clientId","context","hasPatternOverridesDefaultBinding","attributes","metadata","useMemo","boundAttributes","boundAttribute","Object","entries","getValue","args","undefined","getPlaceholder","setAttributes","_setAttributes","useCallback","nextAttributes","batch","keptAttributes","updatesBySource","Map","newValue","binding","setValue","setValues","set","get","size","value","keys","length","jsx","Fragment","children","shimAttributeSource","settings","edit","addFilter"],"sources":["@wordpress/block-editor/src/hooks/use-bindings-attributes.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useRegistry, useSelect } from '@wordpress/data';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\n/** @typedef {import('@wordpress/compose').WPHigherOrderComponent} WPHigherOrderComponent */\n/** @typedef {import('@wordpress/blocks').WPBlockSettings} WPBlockSettings */\n\n/**\n * Given a binding of block attributes, returns a higher order component that\n * overrides its `attributes` and `setAttributes` props to sync any changes needed.\n *\n * @return {WPHigherOrderComponent} Higher-order component.\n */\n\nconst BLOCK_BINDINGS_ALLOWED_BLOCKS = {\n\t'core/paragraph': [ 'content' ],\n\t'core/heading': [ 'content' ],\n\t'core/image': [ 'id', 'url', 'title', 'alt' ],\n\t'core/button': [ 'url', 'text', 'linkTarget', 'rel' ],\n};\n\nconst DEFAULT_ATTRIBUTE = '__default';\n\n/**\n * Returns the bindings with the `__default` binding for pattern overrides\n * replaced with the full-set of supported attributes. e.g.:\n *\n * bindings passed in: `{ __default: { source: 'core/pattern-overrides' } }`\n * bindings returned: `{ content: { source: 'core/pattern-overrides' } }`\n *\n * @param {string} blockName The block name (e.g. 'core/paragraph').\n * @param {Object} bindings A block's bindings from the metadata attribute.\n *\n * @return {Object} The bindings with default replaced for pattern overrides.\n */\nfunction replacePatternOverrideDefaultBindings( blockName, bindings ) {\n\t// The `__default` binding currently only works for pattern overrides.\n\tif (\n\t\tbindings?.[ DEFAULT_ATTRIBUTE ]?.source === 'core/pattern-overrides'\n\t) {\n\t\tconst supportedAttributes = BLOCK_BINDINGS_ALLOWED_BLOCKS[ blockName ];\n\t\tconst bindingsWithDefaults = {};\n\t\tfor ( const attributeName of supportedAttributes ) {\n\t\t\t// If the block has mixed binding sources, retain any non pattern override bindings.\n\t\t\tconst bindingSource = bindings[ attributeName ]\n\t\t\t\t? bindings[ attributeName ]\n\t\t\t\t: { source: 'core/pattern-overrides' };\n\t\t\tbindingsWithDefaults[ attributeName ] = bindingSource;\n\t\t}\n\n\t\treturn bindingsWithDefaults;\n\t}\n\n\treturn bindings;\n}\n\n/**\n * Based on the given block name,\n * check if it is possible to bind the block.\n *\n * @param {string} blockName - The block name.\n * @return {boolean} Whether it is possible to bind the block to sources.\n */\nexport function canBindBlock( blockName ) {\n\treturn blockName in BLOCK_BINDINGS_ALLOWED_BLOCKS;\n}\n\n/**\n * Based on the given block name and attribute name,\n * check if it is possible to bind the block attribute.\n *\n * @param {string} blockName - The block name.\n * @param {string} attributeName - The attribute name.\n * @return {boolean} Whether it is possible to bind the block attribute.\n */\nexport function canBindAttribute( blockName, attributeName ) {\n\treturn (\n\t\tcanBindBlock( blockName ) &&\n\t\tBLOCK_BINDINGS_ALLOWED_BLOCKS[ blockName ].includes( attributeName )\n\t);\n}\n\nexport const withBlockBindingSupport = createHigherOrderComponent(\n\t( BlockEdit ) => ( props ) => {\n\t\tconst registry = useRegistry();\n\t\tconst sources = useSelect( ( select ) =>\n\t\t\tunlock( select( blocksStore ) ).getAllBlockBindingsSources()\n\t\t);\n\t\tconst { name, clientId, context } = props;\n\t\tconst hasPatternOverridesDefaultBinding =\n\t\t\tprops.attributes.metadata?.bindings?.[ DEFAULT_ATTRIBUTE ]\n\t\t\t\t?.source === 'core/pattern-overrides';\n\t\tconst bindings = useMemo(\n\t\t\t() =>\n\t\t\t\treplacePatternOverrideDefaultBindings(\n\t\t\t\t\tname,\n\t\t\t\t\tprops.attributes.metadata?.bindings\n\t\t\t\t),\n\t\t\t[ props.attributes.metadata?.bindings, name ]\n\t\t);\n\t\tconst boundAttributes = useSelect( () => {\n\t\t\tif ( ! bindings ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst attributes = {};\n\n\t\t\tfor ( const [ attributeName, boundAttribute ] of Object.entries(\n\t\t\t\tbindings\n\t\t\t) ) {\n\t\t\t\tconst source = sources[ boundAttribute.source ];\n\t\t\t\tif (\n\t\t\t\t\t! source?.getValue ||\n\t\t\t\t\t! canBindAttribute( name, attributeName )\n\t\t\t\t) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tconst args = {\n\t\t\t\t\tregistry,\n\t\t\t\t\tcontext,\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeName,\n\t\t\t\t\targs: boundAttribute.args,\n\t\t\t\t};\n\n\t\t\t\tattributes[ attributeName ] = source.getValue( args );\n\n\t\t\t\tif ( attributes[ attributeName ] === undefined ) {\n\t\t\t\t\tif ( attributeName === 'url' ) {\n\t\t\t\t\t\tattributes[ attributeName ] = null;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tattributes[ attributeName ] =\n\t\t\t\t\t\t\tsource.getPlaceholder?.( args );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn attributes;\n\t\t}, [ bindings, name, clientId, context, registry, sources ] );\n\n\t\tconst { setAttributes } = props;\n\n\t\tconst _setAttributes = useCallback(\n\t\t\t( nextAttributes ) => {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tif ( ! bindings ) {\n\t\t\t\t\t\tsetAttributes( nextAttributes );\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst keptAttributes = { ...nextAttributes };\n\t\t\t\t\tconst updatesBySource = new Map();\n\n\t\t\t\t\t// Loop only over the updated attributes to avoid modifying the bound ones that haven't changed.\n\t\t\t\t\tfor ( const [ attributeName, newValue ] of Object.entries(\n\t\t\t\t\t\tkeptAttributes\n\t\t\t\t\t) ) {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! bindings[ attributeName ] ||\n\t\t\t\t\t\t\t! canBindAttribute( name, attributeName )\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst binding = bindings[ attributeName ];\n\t\t\t\t\t\tconst source = sources[ binding?.source ];\n\t\t\t\t\t\tif ( ! source?.setValue && ! source?.setValues ) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tupdatesBySource.set( source, {\n\t\t\t\t\t\t\t...updatesBySource.get( source ),\n\t\t\t\t\t\t\t[ attributeName ]: newValue,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tdelete keptAttributes[ attributeName ];\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( updatesBySource.size ) {\n\t\t\t\t\t\tfor ( const [\n\t\t\t\t\t\t\tsource,\n\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t] of updatesBySource ) {\n\t\t\t\t\t\t\tif ( source.setValues ) {\n\t\t\t\t\t\t\t\tsource.setValues( {\n\t\t\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tfor ( const [\n\t\t\t\t\t\t\t\t\tattributeName,\n\t\t\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\t\t] of Object.entries( attributes ) ) {\n\t\t\t\t\t\t\t\t\tconst binding = bindings[ attributeName ];\n\t\t\t\t\t\t\t\t\tsource.setValue( {\n\t\t\t\t\t\t\t\t\t\tregistry,\n\t\t\t\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\t\tattributeName,\n\t\t\t\t\t\t\t\t\t\targs: binding.args,\n\t\t\t\t\t\t\t\t\t\tvalue,\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\n\t\t\t\t\t// Only apply normal attribute updates to blocks\n\t\t\t\t\t// that have partial bindings. Currently this is\n\t\t\t\t\t// only skipped for pattern overrides sources.\n\t\t\t\t\tif (\n\t\t\t\t\t\t! hasPatternOverridesDefaultBinding &&\n\t\t\t\t\t\tObject.keys( keptAttributes ).length\n\t\t\t\t\t) {\n\t\t\t\t\t\tsetAttributes( keptAttributes );\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t},\n\t\t\t[\n\t\t\t\tregistry,\n\t\t\t\tbindings,\n\t\t\t\tname,\n\t\t\t\tclientId,\n\t\t\t\tcontext,\n\t\t\t\tsetAttributes,\n\t\t\t\tsources,\n\t\t\t\thasPatternOverridesDefaultBinding,\n\t\t\t]\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockEdit\n\t\t\t\t\t{ ...props }\n\t\t\t\t\tattributes={ { ...props.attributes, ...boundAttributes } }\n\t\t\t\t\tsetAttributes={ _setAttributes }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t},\n\t'withBlockBindingSupport'\n);\n\n/**\n * Filters a registered block's settings to enhance a block's `edit` component\n * to upgrade bound attributes.\n *\n * @param {WPBlockSettings} settings - Registered block settings.\n * @param {string} name - Block name.\n * @return {WPBlockSettings} Filtered block settings.\n */\nfunction shimAttributeSource( settings, name ) {\n\tif ( ! canBindBlock( name ) ) {\n\t\treturn settings;\n\t}\n\n\treturn {\n\t\t...settings,\n\t\tedit: withBlockBindingSupport( settings.edit ),\n\t};\n}\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/editor/custom-sources-backwards-compatibility/shim-attribute-source',\n\tshimAttributeSource\n);\n"],"mappings":"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","ignoreList":[]}
@@ -36,6 +36,7 @@ var _blockPopover = require("./components/block-popover");
36
36
  var _library = require("./components/inserter/library");
37
37
  var _publishDateTimePicker = require("./components/publish-date-time-picker");
38
38
  var _useSpacingSizes = _interopRequireDefault(require("./components/spacing-sizes-control/hooks/use-spacing-sizes"));
39
+ var _useBlockDisplayTitle = _interopRequireDefault(require("./components/block-title/use-block-display-title"));
39
40
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
40
41
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
41
42
  /**
@@ -83,6 +84,7 @@ const privateApis = exports.privateApis = {};
83
84
  reusableBlocksSelectKey: _privateKeys.reusableBlocksSelectKey,
84
85
  PrivateBlockPopover: _blockPopover.PrivateBlockPopover,
85
86
  PrivatePublishDateTimePicker: _publishDateTimePicker.PrivatePublishDateTimePicker,
86
- useSpacingSizes: _useSpacingSizes.default
87
+ useSpacingSizes: _useSpacingSizes.default,
88
+ useBlockDisplayTitle: _useBlockDisplayTitle.default
87
89
  });
88
90
  //# sourceMappingURL=private-apis.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["globalStyles","_interopRequireWildcard","require","_provider","_lockUnlock","_getRichTextValues","_resizableBoxPopover","_interopRequireDefault","_inserter","_quickInserter","_searchItems","_listView","_blockInfoSlotFill","_useHasBlockToolbar","_utils","_blockQuickNavigation","_layout","_blockRemovalWarningModal","_hooks","_dimensionsTool","_resolutionTool","_textAlignmentControl","_reusableBlockRenameHint","_formatEdit","_blockCanvas","_utils2","_useFlashEditableBlocks","_privateKeys","_utils3","_richText","_blockPopover","_library","_publishDateTimePicker","_useSpacingSizes","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","privateApis","exports","lock","ExperimentalBlockCanvas","ExperimentalBlockEditorProvider","getDuotoneFilter","getRichTextValues","PrivateInserter","PrivateQuickInserter","extractWords","getNormalizedSearchTerms","normalizeString","PrivateListView","ResizableBoxPopover","BlockInfo","useHasBlockToolbar","cleanEmptyObject","useStyleOverride","BlockQuickNavigation","LayoutStyle","BlockRemovalWarningModal","useLayoutClasses","useLayoutStyles","DimensionsTool","ResolutionTool","TextAlignmentControl","ReusableBlocksRenameHint","useReusableBlocksRenameHint","usesContextKey","useFlashEditableBlocks","globalStylesDataKey","selectBlockPatternsKey","requiresWrapperOnCopy","PrivateRichText","PrivateInserterLibrary","reusableBlocksSelectKey","PrivateBlockPopover","PrivatePublishDateTimePicker","useSpacingSizes"],"sources":["@wordpress/block-editor/src/private-apis.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport * as globalStyles from './components/global-styles';\nimport { ExperimentalBlockEditorProvider } from './components/provider';\nimport { lock } from './lock-unlock';\nimport { getRichTextValues } from './components/rich-text/get-rich-text-values';\nimport ResizableBoxPopover from './components/resizable-box-popover';\nimport { ComposedPrivateInserter as PrivateInserter } from './components/inserter';\nimport { default as PrivateQuickInserter } from './components/inserter/quick-inserter';\nimport {\n\textractWords,\n\tgetNormalizedSearchTerms,\n\tnormalizeString,\n} from './components/inserter/search-items';\nimport { PrivateListView } from './components/list-view';\nimport BlockInfo from './components/block-info-slot-fill';\nimport { useHasBlockToolbar } from './components/block-toolbar/use-has-block-toolbar';\nimport { cleanEmptyObject, useStyleOverride } from './hooks/utils';\nimport BlockQuickNavigation from './components/block-quick-navigation';\nimport { LayoutStyle } from './components/block-list/layout';\nimport { BlockRemovalWarningModal } from './components/block-removal-warning-modal';\nimport { useLayoutClasses, useLayoutStyles } from './hooks';\nimport DimensionsTool from './components/dimensions-tool';\nimport ResolutionTool from './components/resolution-tool';\nimport TextAlignmentControl from './components/text-alignment-control';\nimport {\n\tdefault as ReusableBlocksRenameHint,\n\tuseReusableBlocksRenameHint,\n} from './components/inserter/reusable-block-rename-hint';\nimport { usesContextKey } from './components/rich-text/format-edit';\nimport { ExperimentalBlockCanvas } from './components/block-canvas';\nimport { getDuotoneFilter } from './components/duotone/utils';\nimport { useFlashEditableBlocks } from './components/use-flash-editable-blocks';\nimport {\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n\tglobalStylesDataKey,\n} from './store/private-keys';\nimport { requiresWrapperOnCopy } from './components/writing-flow/utils';\nimport { PrivateRichText } from './components/rich-text/';\nimport { PrivateBlockPopover } from './components/block-popover';\nimport { PrivateInserterLibrary } from './components/inserter/library';\nimport { PrivatePublishDateTimePicker } from './components/publish-date-time-picker';\nimport useSpacingSizes from './components/spacing-sizes-control/hooks/use-spacing-sizes';\n\n/**\n * Private @wordpress/block-editor APIs.\n */\nexport const privateApis = {};\nlock( privateApis, {\n\t...globalStyles,\n\tExperimentalBlockCanvas,\n\tExperimentalBlockEditorProvider,\n\tgetDuotoneFilter,\n\tgetRichTextValues,\n\tPrivateInserter,\n\tPrivateQuickInserter,\n\textractWords,\n\tgetNormalizedSearchTerms,\n\tnormalizeString,\n\tPrivateListView,\n\tResizableBoxPopover,\n\tBlockInfo,\n\tuseHasBlockToolbar,\n\tcleanEmptyObject,\n\tuseStyleOverride,\n\tBlockQuickNavigation,\n\tLayoutStyle,\n\tBlockRemovalWarningModal,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tDimensionsTool,\n\tResolutionTool,\n\tTextAlignmentControl,\n\tReusableBlocksRenameHint,\n\tuseReusableBlocksRenameHint,\n\tusesContextKey,\n\tuseFlashEditableBlocks,\n\tglobalStylesDataKey,\n\tselectBlockPatternsKey,\n\trequiresWrapperOnCopy,\n\tPrivateRichText,\n\tPrivateInserterLibrary,\n\treusableBlocksSelectKey,\n\tPrivateBlockPopover,\n\tPrivatePublishDateTimePicker,\n\tuseSpacingSizes,\n} );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["globalStyles","_interopRequireWildcard","require","_provider","_lockUnlock","_getRichTextValues","_resizableBoxPopover","_interopRequireDefault","_inserter","_quickInserter","_searchItems","_listView","_blockInfoSlotFill","_useHasBlockToolbar","_utils","_blockQuickNavigation","_layout","_blockRemovalWarningModal","_hooks","_dimensionsTool","_resolutionTool","_textAlignmentControl","_reusableBlockRenameHint","_formatEdit","_blockCanvas","_utils2","_useFlashEditableBlocks","_privateKeys","_utils3","_richText","_blockPopover","_library","_publishDateTimePicker","_useSpacingSizes","_useBlockDisplayTitle","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","privateApis","exports","lock","ExperimentalBlockCanvas","ExperimentalBlockEditorProvider","getDuotoneFilter","getRichTextValues","PrivateInserter","PrivateQuickInserter","extractWords","getNormalizedSearchTerms","normalizeString","PrivateListView","ResizableBoxPopover","BlockInfo","useHasBlockToolbar","cleanEmptyObject","useStyleOverride","BlockQuickNavigation","LayoutStyle","BlockRemovalWarningModal","useLayoutClasses","useLayoutStyles","DimensionsTool","ResolutionTool","TextAlignmentControl","ReusableBlocksRenameHint","useReusableBlocksRenameHint","usesContextKey","useFlashEditableBlocks","globalStylesDataKey","selectBlockPatternsKey","requiresWrapperOnCopy","PrivateRichText","PrivateInserterLibrary","reusableBlocksSelectKey","PrivateBlockPopover","PrivatePublishDateTimePicker","useSpacingSizes","useBlockDisplayTitle"],"sources":["@wordpress/block-editor/src/private-apis.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport * as globalStyles from './components/global-styles';\nimport { ExperimentalBlockEditorProvider } from './components/provider';\nimport { lock } from './lock-unlock';\nimport { getRichTextValues } from './components/rich-text/get-rich-text-values';\nimport ResizableBoxPopover from './components/resizable-box-popover';\nimport { ComposedPrivateInserter as PrivateInserter } from './components/inserter';\nimport { default as PrivateQuickInserter } from './components/inserter/quick-inserter';\nimport {\n\textractWords,\n\tgetNormalizedSearchTerms,\n\tnormalizeString,\n} from './components/inserter/search-items';\nimport { PrivateListView } from './components/list-view';\nimport BlockInfo from './components/block-info-slot-fill';\nimport { useHasBlockToolbar } from './components/block-toolbar/use-has-block-toolbar';\nimport { cleanEmptyObject, useStyleOverride } from './hooks/utils';\nimport BlockQuickNavigation from './components/block-quick-navigation';\nimport { LayoutStyle } from './components/block-list/layout';\nimport { BlockRemovalWarningModal } from './components/block-removal-warning-modal';\nimport { useLayoutClasses, useLayoutStyles } from './hooks';\nimport DimensionsTool from './components/dimensions-tool';\nimport ResolutionTool from './components/resolution-tool';\nimport TextAlignmentControl from './components/text-alignment-control';\nimport {\n\tdefault as ReusableBlocksRenameHint,\n\tuseReusableBlocksRenameHint,\n} from './components/inserter/reusable-block-rename-hint';\nimport { usesContextKey } from './components/rich-text/format-edit';\nimport { ExperimentalBlockCanvas } from './components/block-canvas';\nimport { getDuotoneFilter } from './components/duotone/utils';\nimport { useFlashEditableBlocks } from './components/use-flash-editable-blocks';\nimport {\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n\tglobalStylesDataKey,\n} from './store/private-keys';\nimport { requiresWrapperOnCopy } from './components/writing-flow/utils';\nimport { PrivateRichText } from './components/rich-text/';\nimport { PrivateBlockPopover } from './components/block-popover';\nimport { PrivateInserterLibrary } from './components/inserter/library';\nimport { PrivatePublishDateTimePicker } from './components/publish-date-time-picker';\nimport useSpacingSizes from './components/spacing-sizes-control/hooks/use-spacing-sizes';\nimport useBlockDisplayTitle from './components/block-title/use-block-display-title';\n\n/**\n * Private @wordpress/block-editor APIs.\n */\nexport const privateApis = {};\nlock( privateApis, {\n\t...globalStyles,\n\tExperimentalBlockCanvas,\n\tExperimentalBlockEditorProvider,\n\tgetDuotoneFilter,\n\tgetRichTextValues,\n\tPrivateInserter,\n\tPrivateQuickInserter,\n\textractWords,\n\tgetNormalizedSearchTerms,\n\tnormalizeString,\n\tPrivateListView,\n\tResizableBoxPopover,\n\tBlockInfo,\n\tuseHasBlockToolbar,\n\tcleanEmptyObject,\n\tuseStyleOverride,\n\tBlockQuickNavigation,\n\tLayoutStyle,\n\tBlockRemovalWarningModal,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tDimensionsTool,\n\tResolutionTool,\n\tTextAlignmentControl,\n\tReusableBlocksRenameHint,\n\tuseReusableBlocksRenameHint,\n\tusesContextKey,\n\tuseFlashEditableBlocks,\n\tglobalStylesDataKey,\n\tselectBlockPatternsKey,\n\trequiresWrapperOnCopy,\n\tPrivateRichText,\n\tPrivateInserterLibrary,\n\treusableBlocksSelectKey,\n\tPrivateBlockPopover,\n\tPrivatePublishDateTimePicker,\n\tuseSpacingSizes,\n\tuseBlockDisplayTitle,\n} );\n"],"mappings":"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","ignoreList":[]}
@@ -434,7 +434,7 @@ const createOnMove = type => (clientIds, rootClientId) => ({
434
434
  dispatch
435
435
  }) => {
436
436
  // If one of the blocks is locked or the parent is locked, we cannot move any block.
437
- const canMoveBlocks = select.canMoveBlocks(clientIds, rootClientId);
437
+ const canMoveBlocks = select.canMoveBlocks(clientIds);
438
438
  if (!canMoveBlocks) {
439
439
  return;
440
440
  }
@@ -459,7 +459,7 @@ const moveBlocksToPosition = (clientIds, fromRootClientId = '', toRootClientId =
459
459
  select,
460
460
  dispatch
461
461
  }) => {
462
- const canMoveBlocks = select.canMoveBlocks(clientIds, fromRootClientId);
462
+ const canMoveBlocks = select.canMoveBlocks(clientIds);
463
463
 
464
464
  // If one of the blocks is locked or the parent is locked, we cannot move any block.
465
465
  if (!canMoveBlocks) {
@@ -468,7 +468,7 @@ const moveBlocksToPosition = (clientIds, fromRootClientId = '', toRootClientId =
468
468
 
469
469
  // If moving inside the same root block the move is always possible.
470
470
  if (fromRootClientId !== toRootClientId) {
471
- const canRemoveBlocks = select.canRemoveBlocks(clientIds, fromRootClientId);
471
+ const canRemoveBlocks = select.canRemoveBlocks(clientIds);
472
472
 
473
473
  // If we're moving to another block, it means we're deleting blocks from
474
474
  // the original block, so we need to check if removing is possible.