@wordpress/block-editor 13.0.3 → 13.0.5

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 (85) hide show
  1. package/build/components/global-styles/background-panel.js +2 -1
  2. package/build/components/global-styles/background-panel.js.map +1 -1
  3. package/build/components/global-styles/border-panel.js +2 -1
  4. package/build/components/global-styles/border-panel.js.map +1 -1
  5. package/build/components/global-styles/color-panel.js +2 -1
  6. package/build/components/global-styles/color-panel.js.map +1 -1
  7. package/build/components/global-styles/dimensions-panel.js +2 -1
  8. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  9. package/build/components/global-styles/filters-panel.js +2 -1
  10. package/build/components/global-styles/filters-panel.js.map +1 -1
  11. package/build/components/global-styles/image-settings-panel.js +2 -1
  12. package/build/components/global-styles/image-settings-panel.js.map +1 -1
  13. package/build/components/global-styles/typography-panel.js +2 -1
  14. package/build/components/global-styles/typography-panel.js.map +1 -1
  15. package/build/components/global-styles/use-global-styles-output.js +8 -8
  16. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  17. package/build/components/global-styles/utils.js +17 -7
  18. package/build/components/global-styles/utils.js.map +1 -1
  19. package/build/components/inspector-controls/block-support-tools-panel.js +2 -1
  20. package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  21. package/build/hooks/block-style-variation.js +171 -6
  22. package/build/hooks/block-style-variation.js.map +1 -1
  23. package/build/hooks/duotone.js +16 -11
  24. package/build/hooks/duotone.js.map +1 -1
  25. package/build/hooks/index.js +7 -1
  26. package/build/hooks/index.js.map +1 -1
  27. package/build/hooks/use-bindings-attributes.js +11 -6
  28. package/build/hooks/use-bindings-attributes.js.map +1 -1
  29. package/build/hooks/utils.js +2 -0
  30. package/build/hooks/utils.js.map +1 -1
  31. package/build/private-apis.js +2 -1
  32. package/build/private-apis.js.map +1 -1
  33. package/build-module/components/global-styles/background-panel.js +3 -2
  34. package/build-module/components/global-styles/background-panel.js.map +1 -1
  35. package/build-module/components/global-styles/border-panel.js +3 -2
  36. package/build-module/components/global-styles/border-panel.js.map +1 -1
  37. package/build-module/components/global-styles/color-panel.js +3 -2
  38. package/build-module/components/global-styles/color-panel.js.map +1 -1
  39. package/build-module/components/global-styles/dimensions-panel.js +3 -2
  40. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  41. package/build-module/components/global-styles/filters-panel.js +3 -2
  42. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  43. package/build-module/components/global-styles/image-settings-panel.js +3 -2
  44. package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
  45. package/build-module/components/global-styles/typography-panel.js +3 -2
  46. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  47. package/build-module/components/global-styles/use-global-styles-output.js +8 -8
  48. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  49. package/build-module/components/global-styles/utils.js +15 -6
  50. package/build-module/components/global-styles/utils.js.map +1 -1
  51. package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -2
  52. package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
  53. package/build-module/hooks/block-style-variation.js +170 -6
  54. package/build-module/hooks/block-style-variation.js.map +1 -1
  55. package/build-module/hooks/duotone.js +16 -11
  56. package/build-module/hooks/duotone.js.map +1 -1
  57. package/build-module/hooks/index.js +1 -0
  58. package/build-module/hooks/index.js.map +1 -1
  59. package/build-module/hooks/use-bindings-attributes.js +11 -6
  60. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  61. package/build-module/hooks/utils.js +2 -0
  62. package/build-module/hooks/utils.js.map +1 -1
  63. package/build-module/private-apis.js +3 -2
  64. package/build-module/private-apis.js.map +1 -1
  65. package/build-style/content-rtl.css +1 -0
  66. package/build-style/content.css +1 -0
  67. package/package.json +2 -2
  68. package/src/components/global-styles/background-panel.js +3 -2
  69. package/src/components/global-styles/border-panel.js +3 -2
  70. package/src/components/global-styles/color-panel.js +3 -2
  71. package/src/components/global-styles/dimensions-panel.js +3 -2
  72. package/src/components/global-styles/filters-panel.js +3 -2
  73. package/src/components/global-styles/image-settings-panel.js +3 -2
  74. package/src/components/global-styles/typography-panel.js +3 -2
  75. package/src/components/global-styles/use-global-styles-output.js +8 -8
  76. package/src/components/global-styles/utils.js +17 -6
  77. package/src/components/iframe/content.scss +1 -0
  78. package/src/components/inspector-controls/block-support-tools-panel.js +3 -3
  79. package/src/hooks/block-style-variation.js +204 -5
  80. package/src/hooks/duotone.js +16 -12
  81. package/src/hooks/index.js +1 -0
  82. package/src/hooks/test/get-variation-styles-with-ref-values.js +91 -0
  83. package/src/hooks/use-bindings-attributes.js +13 -4
  84. package/src/hooks/utils.js +2 -0
  85. package/src/private-apis.js +6 -1
@@ -97,6 +97,7 @@ export const withBlockBindingSupport = createHigherOrderComponent(
97
97
  unlock( select( blocksStore ) ).getAllBlockBindingsSources()
98
98
  );
99
99
  const { name, clientId, context } = props;
100
+ const hasParentPattern = !! props.context[ 'pattern/overrides' ];
100
101
  const hasPatternOverridesDefaultBinding =
101
102
  props.attributes.metadata?.bindings?.[ DEFAULT_ATTRIBUTE ]
102
103
  ?.source === 'core/pattern-overrides';
@@ -216,13 +217,20 @@ export const withBlockBindingSupport = createHigherOrderComponent(
216
217
  }
217
218
  }
218
219
 
219
- // Only apply normal attribute updates to blocks
220
- // that have partial bindings. Currently this is
221
- // only skipped for pattern overrides sources.
222
220
  if (
223
- ! hasPatternOverridesDefaultBinding &&
221
+ // Don't update non-connected attributes if the block is using pattern overrides
222
+ // and the editing is happening while overriding the pattern (not editing the original).
223
+ ! (
224
+ hasPatternOverridesDefaultBinding &&
225
+ hasParentPattern
226
+ ) &&
224
227
  Object.keys( keptAttributes ).length
225
228
  ) {
229
+ // Don't update caption and href until they are supported.
230
+ if ( hasPatternOverridesDefaultBinding ) {
231
+ delete keptAttributes?.caption;
232
+ delete keptAttributes?.href;
233
+ }
226
234
  setAttributes( keptAttributes );
227
235
  }
228
236
  } );
@@ -236,6 +244,7 @@ export const withBlockBindingSupport = createHigherOrderComponent(
236
244
  setAttributes,
237
245
  sources,
238
246
  hasPatternOverridesDefaultBinding,
247
+ hasParentPattern,
239
248
  ]
240
249
  );
241
250
 
@@ -140,6 +140,7 @@ export function useStyleOverride( {
140
140
  css,
141
141
  assets,
142
142
  __unstableType,
143
+ variation,
143
144
  clientId,
144
145
  } = {} ) {
145
146
  const { setStyleOverride, deleteStyleOverride } = unlock(
@@ -159,6 +160,7 @@ export function useStyleOverride( {
159
160
  css,
160
161
  assets,
161
162
  __unstableType,
163
+ variation,
162
164
  clientId,
163
165
  };
164
166
  // Batch updates to style overrides to avoid triggering cascading renders
@@ -20,7 +20,11 @@ import { cleanEmptyObject, useStyleOverride } from './hooks/utils';
20
20
  import BlockQuickNavigation from './components/block-quick-navigation';
21
21
  import { LayoutStyle } from './components/block-list/layout';
22
22
  import { BlockRemovalWarningModal } from './components/block-removal-warning-modal';
23
- import { useLayoutClasses, useLayoutStyles } from './hooks';
23
+ import {
24
+ useLayoutClasses,
25
+ useLayoutStyles,
26
+ __unstableBlockStyleVariationOverridesWithConfig,
27
+ } from './hooks';
24
28
  import DimensionsTool from './components/dimensions-tool';
25
29
  import ResolutionTool from './components/resolution-tool';
26
30
  import TextAlignmentControl from './components/text-alignment-control';
@@ -88,4 +92,5 @@ lock( privateApis, {
88
92
  PrivatePublishDateTimePicker,
89
93
  useSpacingSizes,
90
94
  useBlockDisplayTitle,
95
+ __unstableBlockStyleVariationOverridesWithConfig,
91
96
  } );