@wordpress/block-editor 8.3.1 → 8.4.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.
- package/CHANGELOG.md +2 -0
- package/README.md +1 -0
- package/build/components/block-list/block-html.js +4 -1
- package/build/components/block-list/block-html.js.map +1 -1
- package/build/components/block-list/block.js +4 -1
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +19 -0
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-lock/index.js +32 -0
- package/build/components/block-lock/index.js.map +1 -0
- package/build/components/block-lock/menu-item.js +58 -0
- package/build/components/block-lock/menu-item.js.map +1 -0
- package/build/components/block-lock/modal.js +143 -0
- package/build/components/block-lock/modal.js.map +1 -0
- package/build/components/block-lock/toolbar.js +70 -0
- package/build/components/block-lock/toolbar.js.map +1 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js +26 -6
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +19 -9
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-title/use-block-display-title.js +7 -5
- package/build/components/block-title/use-block-display-title.js.map +1 -1
- package/build/components/block-toolbar/index.js +4 -0
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/border-radius-control/index.js +0 -1
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/utils.js +1 -1
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/colors-gradients/control.js +3 -1
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/date-format-picker/index.js +132 -0
- package/build/components/date-format-picker/index.js.map +1 -0
- package/build/components/index.js +9 -0
- package/build/components/index.js.map +1 -1
- package/build/components/line-height-control/index.js +5 -3
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/list-view/block-select-button.js +4 -22
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +33 -12
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +16 -13
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js +7 -1
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +9 -2
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/rich-text/index.js +2 -2
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +13 -9
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +11 -27
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/hooks/anchor.js +7 -6
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/gap.js +70 -5
- package/build/hooks/gap.js.map +1 -1
- package/build/layouts/flex.js +8 -5
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js +16 -12
- package/build/layouts/flow.js.map +1 -1
- package/build/store/defaults.js +1 -0
- package/build/store/defaults.js.map +1 -1
- package/build/store/selectors.js +29 -3
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-list/block-html.js +5 -2
- package/build-module/components/block-list/block-html.js.map +1 -1
- package/build-module/components/block-list/block.js +5 -2
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +18 -0
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-lock/index.js +4 -0
- package/build-module/components/block-lock/index.js.map +1 -0
- package/build-module/components/block-lock/menu-item.js +44 -0
- package/build-module/components/block-lock/menu-item.js.map +1 -0
- package/build-module/components/block-lock/modal.js +128 -0
- package/build-module/components/block-lock/modal.js.map +1 -0
- package/build-module/components/block-lock/toolbar.js +55 -0
- package/build-module/components/block-lock/toolbar.js.map +1 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +26 -6
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +18 -9
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-title/use-block-display-title.js +7 -5
- package/build-module/components/block-title/use-block-display-title.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +3 -0
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +0 -1
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/utils.js +1 -1
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +3 -1
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +122 -0
- package/build-module/components/date-format-picker/index.js.map +1 -0
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +5 -3
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +5 -20
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +31 -12
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +16 -13
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js +7 -1
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +10 -3
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/rich-text/index.js +2 -2
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +13 -9
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +12 -28
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/hooks/anchor.js +7 -6
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/gap.js +68 -7
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/layouts/flex.js +7 -5
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js +15 -12
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/store/defaults.js +1 -0
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/selectors.js +24 -1
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +157 -0
- package/build-style/style.css +157 -0
- package/package.json +28 -27
- package/src/components/block-list/block-html.js +8 -4
- package/src/components/block-list/block.js +5 -1
- package/src/components/block-list/use-block-props/use-focus-first-element.js +28 -0
- package/src/components/block-lock/index.js +3 -0
- package/src/components/block-lock/menu-item.js +52 -0
- package/src/components/block-lock/modal.js +165 -0
- package/src/components/block-lock/style.scss +67 -0
- package/src/components/block-lock/toolbar.js +58 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +47 -5
- package/src/components/block-settings-menu-controls/index.js +33 -12
- package/src/components/block-title/README.md +6 -1
- package/src/components/block-title/test/index.js +43 -1
- package/src/components/block-title/use-block-display-title.js +9 -6
- package/src/components/block-toolbar/index.js +6 -0
- package/src/components/block-toolbar/style.scss +4 -0
- package/src/components/block-tools/style.scss +29 -0
- package/src/components/border-radius-control/index.js +0 -1
- package/src/components/border-radius-control/test/utils.js +4 -0
- package/src/components/border-radius-control/utils.js +2 -1
- package/src/components/color-palette/test/__snapshots__/control.js.snap +70 -4
- package/src/components/colors-gradients/control.js +1 -1
- package/src/components/colors-gradients/style.scss +6 -0
- package/src/components/date-format-picker/README.md +58 -0
- package/src/components/date-format-picker/index.js +161 -0
- package/src/components/date-format-picker/style.scss +31 -0
- package/src/components/index.js +1 -0
- package/src/components/line-height-control/index.js +3 -3
- package/src/components/link-control/README.md +1 -1
- package/src/components/list-view/block-select-button.js +2 -29
- package/src/components/list-view/block.js +47 -12
- package/src/components/list-view/branch.js +37 -15
- package/src/components/list-view/index.js +6 -0
- package/src/components/list-view/use-block-selection.js +15 -2
- package/src/components/rich-text/index.js +1 -1
- package/src/components/rich-text/index.native.js +24 -8
- package/src/components/url-popover/image-url-input-ui.js +16 -29
- package/src/hooks/anchor.js +8 -6
- package/src/hooks/gap.js +83 -12
- package/src/hooks/test/gap.js +42 -0
- package/src/layouts/flex.js +6 -3
- package/src/layouts/flow.js +16 -11
- package/src/store/defaults.js +1 -0
- package/src/store/selectors.js +26 -1
- package/src/store/test/selectors.js +63 -0
- package/src/style.scss +2 -0
package/src/store/selectors.js
CHANGED
|
@@ -278,6 +278,29 @@ export const getGlobalBlockCount = createSelector(
|
|
|
278
278
|
( state ) => [ state.blocks.order, state.blocks.byClientId ]
|
|
279
279
|
);
|
|
280
280
|
|
|
281
|
+
/**
|
|
282
|
+
* Returns all global blocks that match a blockName. Results include nested blocks.
|
|
283
|
+
*
|
|
284
|
+
* @param {Object} state Global application state.
|
|
285
|
+
* @param {?string} blockName Optional block name, if not specified, returns an empty array.
|
|
286
|
+
*
|
|
287
|
+
* @return {Array} Array of clientIds of blocks with name equal to blockName.
|
|
288
|
+
*/
|
|
289
|
+
export const __experimentalGetGlobalBlocksByName = createSelector(
|
|
290
|
+
( state, blockName ) => {
|
|
291
|
+
if ( ! blockName ) {
|
|
292
|
+
return EMPTY_ARRAY;
|
|
293
|
+
}
|
|
294
|
+
const clientIds = getClientIdsWithDescendants( state );
|
|
295
|
+
const foundBlocks = clientIds.filter( ( clientId ) => {
|
|
296
|
+
const block = state.blocks.byClientId[ clientId ];
|
|
297
|
+
return block.name === blockName;
|
|
298
|
+
} );
|
|
299
|
+
return foundBlocks.length > 0 ? foundBlocks : EMPTY_ARRAY;
|
|
300
|
+
},
|
|
301
|
+
( state ) => [ state.blocks.order, state.blocks.byClientId ]
|
|
302
|
+
);
|
|
303
|
+
|
|
281
304
|
/**
|
|
282
305
|
* Given an array of block client IDs, returns the corresponding array of block
|
|
283
306
|
* objects.
|
|
@@ -1914,7 +1937,9 @@ export const __experimentalGetParsedPattern = createSelector(
|
|
|
1914
1937
|
}
|
|
1915
1938
|
return {
|
|
1916
1939
|
...pattern,
|
|
1917
|
-
blocks: parse( pattern.content
|
|
1940
|
+
blocks: parse( pattern.content, {
|
|
1941
|
+
__unstableSkipMigrationLogs: true,
|
|
1942
|
+
} ),
|
|
1918
1943
|
};
|
|
1919
1944
|
},
|
|
1920
1945
|
( state ) => [ state.settings.__experimentalBlockPatterns ]
|
|
@@ -77,6 +77,7 @@ const {
|
|
|
77
77
|
__unstableGetClientIdsTree,
|
|
78
78
|
__experimentalGetPatternTransformItems,
|
|
79
79
|
wasBlockJustInserted,
|
|
80
|
+
__experimentalGetGlobalBlocksByName,
|
|
80
81
|
} = selectors;
|
|
81
82
|
|
|
82
83
|
describe( 'selectors', () => {
|
|
@@ -797,6 +798,68 @@ describe( 'selectors', () => {
|
|
|
797
798
|
} );
|
|
798
799
|
} );
|
|
799
800
|
|
|
801
|
+
describe( '__experimentalGetGlobalBlocksByName', () => {
|
|
802
|
+
const state = {
|
|
803
|
+
blocks: {
|
|
804
|
+
byClientId: {
|
|
805
|
+
123: { clientId: 123, name: 'core/heading' },
|
|
806
|
+
456: { clientId: 456, name: 'core/paragraph' },
|
|
807
|
+
789: { clientId: 789, name: 'core/paragraph' },
|
|
808
|
+
1011: { clientId: 1011, name: 'core/group' },
|
|
809
|
+
1213: { clientId: 1213, name: 'core/paragraph' },
|
|
810
|
+
1415: { clientId: 1213, name: 'core/paragraph' },
|
|
811
|
+
},
|
|
812
|
+
attributes: {
|
|
813
|
+
123: {},
|
|
814
|
+
456: {},
|
|
815
|
+
789: {},
|
|
816
|
+
1011: {},
|
|
817
|
+
1213: {},
|
|
818
|
+
1415: {},
|
|
819
|
+
},
|
|
820
|
+
order: {
|
|
821
|
+
'': [ 123, 456, 1011 ],
|
|
822
|
+
1011: [ 1415, 1213 ],
|
|
823
|
+
},
|
|
824
|
+
parents: {
|
|
825
|
+
123: '',
|
|
826
|
+
456: '',
|
|
827
|
+
1011: '',
|
|
828
|
+
1213: 1011,
|
|
829
|
+
1415: 1011,
|
|
830
|
+
},
|
|
831
|
+
},
|
|
832
|
+
};
|
|
833
|
+
|
|
834
|
+
it( 'should return the clientIds of blocks of a given type', () => {
|
|
835
|
+
expect(
|
|
836
|
+
__experimentalGetGlobalBlocksByName( state, 'core/heading' )
|
|
837
|
+
).toStrictEqual( [ 123 ] );
|
|
838
|
+
} );
|
|
839
|
+
|
|
840
|
+
it( 'should return the clientIds of blocks of a given type even if blocks are nested', () => {
|
|
841
|
+
expect(
|
|
842
|
+
__experimentalGetGlobalBlocksByName( state, 'core/paragraph' )
|
|
843
|
+
).toStrictEqual( [ 456, 1415, 1213 ] );
|
|
844
|
+
} );
|
|
845
|
+
|
|
846
|
+
it( 'Should return empty array if no blocks match. The empty array should be the same reference', () => {
|
|
847
|
+
const result = __experimentalGetGlobalBlocksByName(
|
|
848
|
+
state,
|
|
849
|
+
'test/missing'
|
|
850
|
+
);
|
|
851
|
+
expect(
|
|
852
|
+
__experimentalGetGlobalBlocksByName( state, 'test/missing' )
|
|
853
|
+
).toStrictEqual( [] );
|
|
854
|
+
expect(
|
|
855
|
+
__experimentalGetGlobalBlocksByName(
|
|
856
|
+
state,
|
|
857
|
+
'test/missing2'
|
|
858
|
+
) === result
|
|
859
|
+
).toBe( true );
|
|
860
|
+
} );
|
|
861
|
+
} );
|
|
862
|
+
|
|
800
863
|
describe( 'getSelectedBlockClientId', () => {
|
|
801
864
|
it( 'should return null if no block is selected', () => {
|
|
802
865
|
const state = {
|
package/src/style.scss
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
@import "./components/block-list/style.scss";
|
|
7
7
|
@import "./components/block-tools/style.scss";
|
|
8
8
|
@import "./components/block-list-appender/style.scss";
|
|
9
|
+
@import "./components/block-lock/style.scss";
|
|
9
10
|
@import "./components/block-breadcrumb/style.scss";
|
|
10
11
|
@import "./components/block-card/style.scss";
|
|
11
12
|
@import "./components/block-compare/style.scss";
|
|
@@ -30,6 +31,7 @@
|
|
|
30
31
|
@import "./components/colors-gradients/style.scss";
|
|
31
32
|
@import "./components/contrast-checker/style.scss";
|
|
32
33
|
@import "./components/default-block-appender/style.scss";
|
|
34
|
+
@import "./components/date-format-picker/style.scss";
|
|
33
35
|
@import "./components/duotone-control/style.scss";
|
|
34
36
|
@import "./components/font-appearance-control/style.scss";
|
|
35
37
|
@import "./components/image-size-control/style.scss";
|