@wordpress/block-editor 14.2.0 → 14.2.1-next.1f6eadc42.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/build/components/block-breadcrumb/index.js +4 -10
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-compare/block-view.js +2 -4
- package/build/components/block-compare/block-view.js.map +1 -1
- package/build/components/block-edit/multiple-usage-warning.js +4 -8
- package/build/components/block-edit/multiple-usage-warning.js.map +1 -1
- package/build/components/block-inspector/index.js +0 -2
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +2 -4
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-list/index.js +14 -3
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +7 -0
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
- package/build/components/block-list/zoom-out-separator.js +98 -0
- package/build/components/block-list/zoom-out-separator.js.map +1 -0
- package/build/components/block-mover/button.js +2 -4
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +2 -4
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +2 -7
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-patterns-list/index.js +2 -7
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-switcher/index.js +8 -2
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +2 -7
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-toolbar/index.js +10 -4
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/index.js +1 -1
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +3 -12
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-tools/zoom-out-toolbar.js +13 -3
- package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build/components/button-block-appender/index.js +7 -21
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +2 -11
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/grid/grid-item-resizer.js +2 -2
- package/build/components/grid/grid-item-resizer.js.map +1 -1
- package/build/components/iframe/get-compatibility-styles.js +1 -1
- package/build/components/iframe/get-compatibility-styles.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +23 -13
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/index.js +4 -11
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/media-tab/media-list.js +1 -5
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +1 -5
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +0 -4
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter-listbox/index.js +2 -8
- package/build/components/inserter-listbox/index.js.map +1 -1
- package/build/components/inserter-listbox/item.js +2 -10
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inserter-listbox/row.js +1 -9
- package/build/components/inserter-listbox/row.js.map +1 -1
- package/build/components/list-view/index.js +3 -7
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/media-placeholder/index.js +4 -4
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +8 -9
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/linked-button.js +35 -0
- package/build/components/spacing-sizes-control/linked-button.js.map +1 -0
- package/build/components/spacing-sizes-control/utils.js +4 -15
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +27 -1
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/hooks/block-bindings.js +1 -0
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/layout.js +0 -1
- package/build/hooks/layout.js.map +1 -1
- package/build/layouts/constrained.js +5 -6
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/grid.js +19 -16
- package/build/layouts/grid.js.map +1 -1
- package/build/private-apis.js +0 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/private-selectors.js +3 -3
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +0 -2
- package/build/store/reducer.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +4 -10
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-compare/block-view.js +2 -4
- package/build-module/components/block-compare/block-view.js.map +1 -1
- package/build-module/components/block-edit/multiple-usage-warning.js +4 -8
- package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
- package/build-module/components/block-inspector/index.js +0 -2
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +2 -4
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-list/index.js +14 -3
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +8 -1
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
- package/build-module/components/block-list/zoom-out-separator.js +90 -0
- package/build-module/components/block-list/zoom-out-separator.js.map +1 -0
- package/build-module/components/block-mover/button.js +2 -4
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +2 -4
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +2 -7
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +2 -7
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +8 -2
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +2 -7
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +10 -4
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/index.js +1 -1
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +3 -13
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js +13 -3
- package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +8 -23
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +2 -11
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/grid/grid-item-resizer.js +2 -2
- package/build-module/components/grid/grid-item-resizer.js.map +1 -1
- package/build-module/components/iframe/get-compatibility-styles.js +1 -1
- package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +23 -13
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/index.js +4 -11
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.js +1 -5
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +2 -6
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +1 -5
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter-listbox/index.js +1 -5
- package/build-module/components/inserter-listbox/index.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js +3 -11
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/inserter-listbox/row.js +2 -10
- package/build-module/components/inserter-listbox/row.js.map +1 -1
- package/build-module/components/list-view/index.js +3 -7
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +4 -4
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +9 -10
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/linked-button.js +28 -0
- package/build-module/components/spacing-sizes-control/linked-button.js.map +1 -0
- package/build-module/components/spacing-sizes-control/utils.js +4 -15
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +27 -1
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/hooks/block-bindings.js +1 -0
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/layout.js +0 -1
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/layouts/constrained.js +7 -8
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/grid.js +21 -18
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/private-apis.js +0 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/private-selectors.js +3 -3
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +0 -2
- package/build-module/store/reducer.js.map +1 -1
- package/build-style/content-rtl.css +17 -0
- package/build-style/content.css +17 -0
- package/build-style/style-rtl.css +13 -82
- package/build-style/style.css +13 -82
- package/package.json +32 -32
- package/src/components/block-breadcrumb/index.js +2 -6
- package/src/components/block-breadcrumb/style.scss +1 -30
- package/src/components/block-compare/block-view.js +1 -2
- package/src/components/block-compare/test/__snapshots__/block-view.js.snap +1 -1
- package/src/components/block-edit/multiple-usage-warning.js +2 -4
- package/src/components/block-inspector/index.js +0 -1
- package/src/components/block-inspector/style.scss +2 -4
- package/src/components/block-list/block-invalid-warning.js +1 -2
- package/src/components/block-list/content.scss +21 -0
- package/src/components/block-list/index.js +59 -38
- package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +13 -1
- package/src/components/block-list/zoom-out-separator.js +110 -0
- package/src/components/block-mover/button.js +1 -2
- package/src/components/block-mover/index.js +1 -2
- package/src/components/block-pattern-setup/index.js +3 -11
- package/src/components/block-patterns-list/index.js +3 -8
- package/src/components/block-switcher/index.js +19 -3
- package/src/components/block-switcher/pattern-transformations-menu.js +3 -8
- package/src/components/block-switcher/style.scss +0 -24
- package/src/components/block-toolbar/index.js +10 -3
- package/src/components/block-toolbar/style.scss +4 -1
- package/src/components/block-tools/index.js +1 -1
- package/src/components/block-tools/zoom-out-mode-inserters.js +0 -12
- package/src/components/block-tools/zoom-out-toolbar.js +11 -0
- package/src/components/button-block-appender/index.js +16 -25
- package/src/components/global-styles/shadow-panel-components.js +2 -10
- package/src/components/grid/grid-item-resizer.js +2 -2
- package/src/components/iframe/get-compatibility-styles.js +6 -1
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +32 -15
- package/src/components/inserter/index.js +4 -10
- package/src/components/inserter/media-tab/media-list.js +1 -4
- package/src/components/inserter/media-tab/media-preview.js +3 -6
- package/src/components/inserter/quick-inserter.js +1 -4
- package/src/components/inserter/style.scss +4 -9
- package/src/components/inserter-listbox/index.js +1 -4
- package/src/components/inserter-listbox/item.js +3 -13
- package/src/components/inserter-listbox/row.js +2 -9
- package/src/components/list-view/index.js +3 -8
- package/src/components/media-placeholder/README.md +2 -2
- package/src/components/media-placeholder/index.js +7 -4
- package/src/components/spacing-sizes-control/index.js +10 -13
- package/src/components/spacing-sizes-control/linked-button.js +32 -0
- package/src/components/spacing-sizes-control/test/utils.js +14 -15
- package/src/components/spacing-sizes-control/utils.js +5 -18
- package/src/components/use-block-drop-zone/index.js +33 -1
- package/src/hooks/block-bindings.js +1 -1
- package/src/hooks/layout.js +0 -1
- package/src/hooks/layout.scss +6 -20
- package/src/layouts/constrained.js +9 -7
- package/src/layouts/grid.js +29 -22
- package/src/private-apis.js +0 -2
- package/src/store/private-selectors.js +6 -3
- package/src/store/reducer.js +0 -2
- package/build/components/spacing-sizes-control/sides-dropdown/index.js +0 -86
- package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +0 -1
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +0 -81
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +0 -1
- package/src/components/spacing-sizes-control/sides-dropdown/index.js +0 -91
|
@@ -364,6 +364,11 @@ export function getInitialView( values = {}, sides ) {
|
|
|
364
364
|
const hasNoValuesAndBalancedSides =
|
|
365
365
|
! sideValues.length && hasBalancedSidesSupport( sides );
|
|
366
366
|
|
|
367
|
+
// Only single side supported and no value defined.
|
|
368
|
+
if ( sides?.length === 1 ) {
|
|
369
|
+
return sides[ 0 ];
|
|
370
|
+
}
|
|
371
|
+
|
|
367
372
|
if (
|
|
368
373
|
hasAxisSupport( sides ) &&
|
|
369
374
|
( hasMatchingAxialValues || hasNoValuesAndBalancedSides )
|
|
@@ -371,24 +376,6 @@ export function getInitialView( values = {}, sides ) {
|
|
|
371
376
|
return VIEWS.axial;
|
|
372
377
|
}
|
|
373
378
|
|
|
374
|
-
// Single side.
|
|
375
|
-
// - Ensure the side returned is the first side that has a value.
|
|
376
|
-
if ( sideValues.length === 1 ) {
|
|
377
|
-
let side;
|
|
378
|
-
|
|
379
|
-
Object.entries( values ).some( ( [ key, value ] ) => {
|
|
380
|
-
side = key;
|
|
381
|
-
return value !== undefined;
|
|
382
|
-
} );
|
|
383
|
-
|
|
384
|
-
return side;
|
|
385
|
-
}
|
|
386
|
-
|
|
387
|
-
// Only single side supported and no value defined.
|
|
388
|
-
if ( sides?.length === 1 && ! sideValues.length ) {
|
|
389
|
-
return sides[ 0 ];
|
|
390
|
-
}
|
|
391
|
-
|
|
392
379
|
// Default to the Custom (separated sides) view.
|
|
393
380
|
return VIEWS.custom;
|
|
394
381
|
}
|
|
@@ -274,6 +274,23 @@ export function isDropTargetValid(
|
|
|
274
274
|
return areBlocksAllowed && targetMatchesDraggedBlockParents;
|
|
275
275
|
}
|
|
276
276
|
|
|
277
|
+
/**
|
|
278
|
+
* Checks if the given element is an insertion point.
|
|
279
|
+
*
|
|
280
|
+
* @param {EventTarget|null} targetToCheck - The element to check.
|
|
281
|
+
* @param {Document} ownerDocument - The owner document of the element.
|
|
282
|
+
* @return {boolean} True if the element is a insertion point, false otherwise.
|
|
283
|
+
*/
|
|
284
|
+
function isInsertionPoint( targetToCheck, ownerDocument ) {
|
|
285
|
+
const { defaultView } = ownerDocument;
|
|
286
|
+
|
|
287
|
+
return !! (
|
|
288
|
+
defaultView &&
|
|
289
|
+
targetToCheck instanceof defaultView.HTMLElement &&
|
|
290
|
+
targetToCheck.dataset.isInsertionPoint
|
|
291
|
+
);
|
|
292
|
+
}
|
|
293
|
+
|
|
277
294
|
/**
|
|
278
295
|
* @typedef {Object} WPBlockDropZoneConfig
|
|
279
296
|
* @property {?HTMLElement} dropZoneElement Optional element to be used as the drop zone.
|
|
@@ -422,6 +439,10 @@ export default function useBlockDropZone( {
|
|
|
422
439
|
const [ targetIndex, operation, nearestSide ] =
|
|
423
440
|
dropTargetPosition;
|
|
424
441
|
|
|
442
|
+
if ( isZoomOutMode() && operation !== 'insert' ) {
|
|
443
|
+
return;
|
|
444
|
+
}
|
|
445
|
+
|
|
425
446
|
if ( operation === 'group' ) {
|
|
426
447
|
const targetBlock = blocks[ targetIndex ];
|
|
427
448
|
const areAllImages = [
|
|
@@ -521,7 +542,18 @@ export default function useBlockDropZone( {
|
|
|
521
542
|
// https://developer.mozilla.org/en-US/docs/Web/API/Event/currentTarget
|
|
522
543
|
throttled( event, event.currentTarget.ownerDocument );
|
|
523
544
|
},
|
|
524
|
-
onDragLeave() {
|
|
545
|
+
onDragLeave( event ) {
|
|
546
|
+
const { ownerDocument } = event.currentTarget;
|
|
547
|
+
|
|
548
|
+
// If the drag event is leaving the drop zone and entering an insertion point,
|
|
549
|
+
// do not hide the insertion point as it is conceptually within the dropzone.
|
|
550
|
+
if (
|
|
551
|
+
isInsertionPoint( event.relatedTarget, ownerDocument ) ||
|
|
552
|
+
isInsertionPoint( event.target, ownerDocument )
|
|
553
|
+
) {
|
|
554
|
+
return;
|
|
555
|
+
}
|
|
556
|
+
|
|
525
557
|
throttled.cancel();
|
|
526
558
|
hideInsertionPoint();
|
|
527
559
|
},
|
|
@@ -98,7 +98,7 @@ function BlockBindingsAttribute( { attribute, binding } ) {
|
|
|
98
98
|
unlock( blocksPrivateApis ).getBlockBindingsSource( sourceName );
|
|
99
99
|
const isSourceInvalid = ! sourceProps;
|
|
100
100
|
return (
|
|
101
|
-
<VStack className="block-editor-bindings__item">
|
|
101
|
+
<VStack className="block-editor-bindings__item" spacing={ 0 }>
|
|
102
102
|
<Text truncate>{ attribute }</Text>
|
|
103
103
|
{ !! binding && (
|
|
104
104
|
<Text
|
package/src/hooks/layout.js
CHANGED
package/src/hooks/layout.scss
CHANGED
|
@@ -1,23 +1,13 @@
|
|
|
1
|
-
.block-editor-hooks__layout-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
.block-editor-block-inspector .block-editor-hooks__layout-controls-unit-input {
|
|
8
|
-
margin-bottom: 0;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.block-editor-hooks__layout-controls-reset {
|
|
12
|
-
display: flex;
|
|
13
|
-
justify-content: flex-end;
|
|
14
|
-
margin-bottom: $grid-unit-30;
|
|
1
|
+
.block-editor-hooks__layout-constrained {
|
|
2
|
+
.components-base-control {
|
|
3
|
+
margin-bottom: 0; // Cancel out margins added by block inspector
|
|
4
|
+
}
|
|
15
5
|
}
|
|
16
6
|
|
|
17
|
-
.block-editor-hooks__layout-
|
|
7
|
+
.block-editor-hooks__layout-constrained-helptext {
|
|
18
8
|
color: $gray-700;
|
|
19
9
|
font-size: $helptext-font-size;
|
|
20
|
-
margin-bottom:
|
|
10
|
+
margin-bottom: 0; // Cancel out margins added by common.css
|
|
21
11
|
}
|
|
22
12
|
|
|
23
13
|
.block-editor-hooks__flex-layout-justification-controls,
|
|
@@ -27,7 +17,3 @@
|
|
|
27
17
|
margin-bottom: $grid-unit-10;
|
|
28
18
|
}
|
|
29
19
|
}
|
|
30
|
-
|
|
31
|
-
.block-editor-hooks__toggle-control.block-editor-hooks__toggle-control {
|
|
32
|
-
margin-bottom: $grid-unit-20;
|
|
33
|
-
}
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
__experimentalToggleGroupControl as ToggleGroupControl,
|
|
8
8
|
__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,
|
|
9
9
|
__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,
|
|
10
|
+
__experimentalVStack as VStack,
|
|
10
11
|
} from '@wordpress/components';
|
|
11
12
|
import { __ } from '@wordpress/i18n';
|
|
12
13
|
import {
|
|
@@ -70,12 +71,14 @@ export default {
|
|
|
70
71
|
availableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],
|
|
71
72
|
} );
|
|
72
73
|
return (
|
|
73
|
-
|
|
74
|
+
<VStack
|
|
75
|
+
spacing={ 4 }
|
|
76
|
+
className="block-editor-hooks__layout-constrained"
|
|
77
|
+
>
|
|
74
78
|
{ allowCustomContentAndWideSize && (
|
|
75
|
-
|
|
79
|
+
<>
|
|
76
80
|
<UnitControl
|
|
77
81
|
__next40pxDefaultSize
|
|
78
|
-
className="block-editor-hooks__layout-controls-unit-input"
|
|
79
82
|
label={ __( 'Content width' ) }
|
|
80
83
|
labelPosition="top"
|
|
81
84
|
value={ contentSize || wideSize || '' }
|
|
@@ -98,7 +101,6 @@ export default {
|
|
|
98
101
|
/>
|
|
99
102
|
<UnitControl
|
|
100
103
|
__next40pxDefaultSize
|
|
101
|
-
className="block-editor-hooks__layout-controls-unit-input"
|
|
102
104
|
label={ __( 'Wide width' ) }
|
|
103
105
|
labelPosition="top"
|
|
104
106
|
value={ wideSize || contentSize || '' }
|
|
@@ -119,12 +121,12 @@ export default {
|
|
|
119
121
|
</InputControlPrefixWrapper>
|
|
120
122
|
}
|
|
121
123
|
/>
|
|
122
|
-
<p className="block-editor-hooks__layout-
|
|
124
|
+
<p className="block-editor-hooks__layout-constrained-helptext">
|
|
123
125
|
{ __(
|
|
124
126
|
'Customize the width for all elements that are assigned to the center or wide columns.'
|
|
125
127
|
) }
|
|
126
128
|
</p>
|
|
127
|
-
|
|
129
|
+
</>
|
|
128
130
|
) }
|
|
129
131
|
{ allowJustification && (
|
|
130
132
|
<ToggleGroupControl
|
|
@@ -148,7 +150,7 @@ export default {
|
|
|
148
150
|
) }
|
|
149
151
|
</ToggleGroupControl>
|
|
150
152
|
) }
|
|
151
|
-
|
|
153
|
+
</VStack>
|
|
152
154
|
);
|
|
153
155
|
},
|
|
154
156
|
toolBarControls: function DefaultLayoutToolbarControls( {
|
package/src/layouts/grid.js
CHANGED
|
@@ -13,6 +13,7 @@ import {
|
|
|
13
13
|
__experimentalToggleGroupControlOption as ToggleGroupControlOption,
|
|
14
14
|
__experimentalUnitControl as UnitControl,
|
|
15
15
|
__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,
|
|
16
|
+
__experimentalVStack as VStack,
|
|
16
17
|
} from '@wordpress/components';
|
|
17
18
|
import { useState } from '@wordpress/element';
|
|
18
19
|
|
|
@@ -74,7 +75,8 @@ export default {
|
|
|
74
75
|
// In the experiment we want to also show column control in Auto mode, and
|
|
75
76
|
// the minimum width control in Manual mode.
|
|
76
77
|
const showColumnsControl =
|
|
77
|
-
window.__experimentalEnableGridInteractivity ||
|
|
78
|
+
window.__experimentalEnableGridInteractivity ||
|
|
79
|
+
!! layout?.columnCount;
|
|
78
80
|
const showMinWidthControl =
|
|
79
81
|
window.__experimentalEnableGridInteractivity ||
|
|
80
82
|
! layout?.columnCount;
|
|
@@ -84,19 +86,21 @@ export default {
|
|
|
84
86
|
layout={ layout }
|
|
85
87
|
onChange={ onChange }
|
|
86
88
|
/>
|
|
87
|
-
{
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
89
|
+
<VStack spacing={ 4 }>
|
|
90
|
+
{ showColumnsControl && (
|
|
91
|
+
<GridLayoutColumnsAndRowsControl
|
|
92
|
+
layout={ layout }
|
|
93
|
+
onChange={ onChange }
|
|
94
|
+
allowSizingOnChildren={ allowSizingOnChildren }
|
|
95
|
+
/>
|
|
96
|
+
) }
|
|
97
|
+
{ showMinWidthControl && (
|
|
98
|
+
<GridLayoutMinimumWidthControl
|
|
99
|
+
layout={ layout }
|
|
100
|
+
onChange={ onChange }
|
|
101
|
+
/>
|
|
102
|
+
) }
|
|
103
|
+
</VStack>
|
|
100
104
|
</>
|
|
101
105
|
);
|
|
102
106
|
},
|
|
@@ -317,7 +321,7 @@ function GridLayoutColumnsAndRowsControl( {
|
|
|
317
321
|
const defaultNewColumnCount =
|
|
318
322
|
isManualPlacement ? 1 : undefined;
|
|
319
323
|
const newColumnCount =
|
|
320
|
-
value === ''
|
|
324
|
+
value === '' || value === '0'
|
|
321
325
|
? defaultNewColumnCount
|
|
322
326
|
: parseInt( value, 10 );
|
|
323
327
|
onChange( {
|
|
@@ -327,7 +331,7 @@ function GridLayoutColumnsAndRowsControl( {
|
|
|
327
331
|
} else {
|
|
328
332
|
// Don't allow unsetting the column count.
|
|
329
333
|
const newColumnCount =
|
|
330
|
-
value === ''
|
|
334
|
+
value === '' || value === '0'
|
|
331
335
|
? 1
|
|
332
336
|
: parseInt( value, 10 );
|
|
333
337
|
onChange( {
|
|
@@ -337,7 +341,7 @@ function GridLayoutColumnsAndRowsControl( {
|
|
|
337
341
|
}
|
|
338
342
|
} }
|
|
339
343
|
value={ columnCount }
|
|
340
|
-
min={
|
|
344
|
+
min={ 1 }
|
|
341
345
|
label={ __( 'Columns' ) }
|
|
342
346
|
hideLabelFromVision={
|
|
343
347
|
! window.__experimentalEnableGridInteractivity ||
|
|
@@ -355,7 +359,7 @@ function GridLayoutColumnsAndRowsControl( {
|
|
|
355
359
|
onChange={ ( value ) => {
|
|
356
360
|
// Don't allow unsetting the row count.
|
|
357
361
|
const newRowCount =
|
|
358
|
-
value === ''
|
|
362
|
+
value === '' || value === '0'
|
|
359
363
|
? 1
|
|
360
364
|
: parseInt( value, 10 );
|
|
361
365
|
onChange( {
|
|
@@ -364,21 +368,24 @@ function GridLayoutColumnsAndRowsControl( {
|
|
|
364
368
|
} );
|
|
365
369
|
} }
|
|
366
370
|
value={ rowCount }
|
|
367
|
-
min={
|
|
371
|
+
min={ 1 }
|
|
368
372
|
label={ __( 'Rows' ) }
|
|
369
373
|
/>
|
|
370
374
|
) : (
|
|
371
375
|
<RangeControl
|
|
372
376
|
__next40pxDefaultSize
|
|
373
377
|
__nextHasNoMarginBottom
|
|
374
|
-
value={ columnCount ??
|
|
378
|
+
value={ columnCount ?? 1 }
|
|
375
379
|
onChange={ ( value ) =>
|
|
376
380
|
onChange( {
|
|
377
381
|
...layout,
|
|
378
|
-
columnCount:
|
|
382
|
+
columnCount:
|
|
383
|
+
value === '' || value === '0'
|
|
384
|
+
? 1
|
|
385
|
+
: value,
|
|
379
386
|
} )
|
|
380
387
|
}
|
|
381
|
-
min={
|
|
388
|
+
min={ 1 }
|
|
382
389
|
max={ 16 }
|
|
383
390
|
withInputField={ false }
|
|
384
391
|
label={ __( 'Columns' ) }
|
package/src/private-apis.js
CHANGED
|
@@ -6,7 +6,6 @@ import { ExperimentalBlockEditorProvider } from './components/provider';
|
|
|
6
6
|
import { lock } from './lock-unlock';
|
|
7
7
|
import { getRichTextValues } from './components/rich-text/get-rich-text-values';
|
|
8
8
|
import ResizableBoxPopover from './components/resizable-box-popover';
|
|
9
|
-
import { ComposedPrivateInserter as PrivateInserter } from './components/inserter';
|
|
10
9
|
import { default as PrivateQuickInserter } from './components/inserter/quick-inserter';
|
|
11
10
|
import {
|
|
12
11
|
extractWords,
|
|
@@ -60,7 +59,6 @@ lock( privateApis, {
|
|
|
60
59
|
ExperimentalBlockEditorProvider,
|
|
61
60
|
getDuotoneFilter,
|
|
62
61
|
getRichTextValues,
|
|
63
|
-
PrivateInserter,
|
|
64
62
|
PrivateQuickInserter,
|
|
65
63
|
extractWords,
|
|
66
64
|
getNormalizedSearchTerms,
|
|
@@ -114,6 +114,7 @@ export const getEnabledClientIdsTree = createSelector(
|
|
|
114
114
|
state.blockEditingModes,
|
|
115
115
|
state.settings.templateLock,
|
|
116
116
|
state.blockListSettings,
|
|
117
|
+
state.editorMode,
|
|
117
118
|
]
|
|
118
119
|
);
|
|
119
120
|
|
|
@@ -422,9 +423,11 @@ const EMPTY_ARRAY = [];
|
|
|
422
423
|
export const getReusableBlocks = createRegistrySelector(
|
|
423
424
|
( select ) => ( state ) => {
|
|
424
425
|
const reusableBlocksSelect = state.settings[ reusableBlocksSelectKey ];
|
|
425
|
-
return
|
|
426
|
-
|
|
427
|
-
|
|
426
|
+
return (
|
|
427
|
+
( reusableBlocksSelect
|
|
428
|
+
? reusableBlocksSelect( select )
|
|
429
|
+
: state.settings.__experimentalReusableBlocks ) ?? EMPTY_ARRAY
|
|
430
|
+
);
|
|
428
431
|
}
|
|
429
432
|
);
|
|
430
433
|
|
package/src/store/reducer.js
CHANGED
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = SidesDropdown;
|
|
7
|
-
var _components = require("@wordpress/components");
|
|
8
|
-
var _icons = require("@wordpress/icons");
|
|
9
|
-
var _utils = require("../utils");
|
|
10
|
-
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
-
/**
|
|
12
|
-
* WordPress dependencies
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Internal dependencies
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
const checkIcon = /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
|
|
20
|
-
icon: _icons.check,
|
|
21
|
-
size: 24
|
|
22
|
-
});
|
|
23
|
-
function SidesDropdown({
|
|
24
|
-
label: labelProp,
|
|
25
|
-
onChange,
|
|
26
|
-
sides,
|
|
27
|
-
value
|
|
28
|
-
}) {
|
|
29
|
-
if (!sides || !sides.length) {
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
const supportedItems = (0, _utils.getSupportedMenuItems)(sides);
|
|
33
|
-
const sideIcon = supportedItems[value].icon;
|
|
34
|
-
const {
|
|
35
|
-
custom: customItem,
|
|
36
|
-
...menuItems
|
|
37
|
-
} = supportedItems;
|
|
38
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.DropdownMenu, {
|
|
39
|
-
icon: sideIcon,
|
|
40
|
-
label: labelProp,
|
|
41
|
-
className: "spacing-sizes-control__dropdown",
|
|
42
|
-
toggleProps: {
|
|
43
|
-
size: 'small'
|
|
44
|
-
},
|
|
45
|
-
children: ({
|
|
46
|
-
onClose
|
|
47
|
-
}) => {
|
|
48
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
49
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuGroup, {
|
|
50
|
-
children: Object.entries(menuItems).map(([slug, {
|
|
51
|
-
label,
|
|
52
|
-
icon
|
|
53
|
-
}]) => {
|
|
54
|
-
const isSelected = value === slug;
|
|
55
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
|
|
56
|
-
icon: icon,
|
|
57
|
-
iconPosition: "left",
|
|
58
|
-
isSelected: isSelected,
|
|
59
|
-
role: "menuitemradio",
|
|
60
|
-
onClick: () => {
|
|
61
|
-
onChange(slug);
|
|
62
|
-
onClose();
|
|
63
|
-
},
|
|
64
|
-
suffix: isSelected ? checkIcon : undefined,
|
|
65
|
-
children: label
|
|
66
|
-
}, slug);
|
|
67
|
-
})
|
|
68
|
-
}), !!customItem && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuGroup, {
|
|
69
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.MenuItem, {
|
|
70
|
-
icon: customItem.icon,
|
|
71
|
-
iconPosition: "left",
|
|
72
|
-
isSelected: value === _utils.VIEWS.custom,
|
|
73
|
-
role: "menuitemradio",
|
|
74
|
-
onClick: () => {
|
|
75
|
-
onChange(_utils.VIEWS.custom);
|
|
76
|
-
onClose();
|
|
77
|
-
},
|
|
78
|
-
suffix: value === _utils.VIEWS.custom ? checkIcon : undefined,
|
|
79
|
-
children: customItem.label
|
|
80
|
-
})
|
|
81
|
-
})]
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
});
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_icons","_utils","_jsxRuntime","checkIcon","jsx","Icon","icon","check","size","SidesDropdown","label","labelProp","onChange","sides","value","length","supportedItems","getSupportedMenuItems","sideIcon","custom","customItem","menuItems","DropdownMenu","className","toggleProps","children","onClose","jsxs","Fragment","MenuGroup","Object","entries","map","slug","isSelected","MenuItem","iconPosition","role","onClick","suffix","undefined","VIEWS"],"sources":["@wordpress/block-editor/src/components/spacing-sizes-control/sides-dropdown/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu, Icon, MenuGroup, MenuItem } from '@wordpress/components';\nimport { check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getSupportedMenuItems, VIEWS } from '../utils';\n\nconst checkIcon = <Icon icon={ check } size={ 24 } />;\n\nexport default function SidesDropdown( {\n\tlabel: labelProp,\n\tonChange,\n\tsides,\n\tvalue,\n} ) {\n\tif ( ! sides || ! sides.length ) {\n\t\treturn;\n\t}\n\n\tconst supportedItems = getSupportedMenuItems( sides );\n\tconst sideIcon = supportedItems[ value ].icon;\n\tconst { custom: customItem, ...menuItems } = supportedItems;\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ sideIcon }\n\t\t\tlabel={ labelProp }\n\t\t\tclassName=\"spacing-sizes-control__dropdown\"\n\t\t\ttoggleProps={ { size: 'small' } }\n\t\t>\n\t\t\t{ ( { onClose } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ Object.entries( menuItems ).map(\n\t\t\t\t\t\t\t\t( [ slug, { label, icon } ] ) => {\n\t\t\t\t\t\t\t\t\tconst isSelected = value === slug;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonChange( slug );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected\n\t\t\t\t\t\t\t\t\t\t\t\t\t? checkIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\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</MenuGroup>\n\t\t\t\t\t\t{ !! customItem && (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\ticon={ customItem.icon }\n\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\tisSelected={ value === VIEWS.custom }\n\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tonChange( VIEWS.custom );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\tvalue === VIEWS.custom\n\t\t\t\t\t\t\t\t\t\t\t? checkIcon\n\t\t\t\t\t\t\t\t\t\t\t: undefined\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\t\t{ customItem.label }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</MenuGroup>\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</DropdownMenu>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AAAwD,IAAAG,WAAA,GAAAH,OAAA;AATxD;AACA;AACA;;AAIA;AACA;AACA;;AAGA,MAAMI,SAAS,gBAAG,IAAAD,WAAA,CAAAE,GAAA,EAACN,WAAA,CAAAO,IAAI;EAACC,IAAI,EAAGC,YAAO;EAACC,IAAI,EAAG;AAAI,CAAE,CAAC;AAEtC,SAASC,aAAaA,CAAE;EACtCC,KAAK,EAAEC,SAAS;EAChBC,QAAQ;EACRC,KAAK;EACLC;AACD,CAAC,EAAG;EACH,IAAK,CAAED,KAAK,IAAI,CAAEA,KAAK,CAACE,MAAM,EAAG;IAChC;EACD;EAEA,MAAMC,cAAc,GAAG,IAAAC,4BAAqB,EAAEJ,KAAM,CAAC;EACrD,MAAMK,QAAQ,GAAGF,cAAc,CAAEF,KAAK,CAAE,CAACR,IAAI;EAC7C,MAAM;IAAEa,MAAM,EAAEC,UAAU;IAAE,GAAGC;EAAU,CAAC,GAAGL,cAAc;EAE3D,oBACC,IAAAd,WAAA,CAAAE,GAAA,EAACN,WAAA,CAAAwB,YAAY;IACZhB,IAAI,EAAGY,QAAU;IACjBR,KAAK,EAAGC,SAAW;IACnBY,SAAS,EAAC,iCAAiC;IAC3CC,WAAW,EAAG;MAAEhB,IAAI,EAAE;IAAQ,CAAG;IAAAiB,QAAA,EAE/BA,CAAE;MAAEC;IAAQ,CAAC,KAAM;MACpB,oBACC,IAAAxB,WAAA,CAAAyB,IAAA,EAAAzB,WAAA,CAAA0B,QAAA;QAAAH,QAAA,gBACC,IAAAvB,WAAA,CAAAE,GAAA,EAACN,WAAA,CAAA+B,SAAS;UAAAJ,QAAA,EACPK,MAAM,CAACC,OAAO,CAAEV,SAAU,CAAC,CAACW,GAAG,CAChC,CAAE,CAAEC,IAAI,EAAE;YAAEvB,KAAK;YAAEJ;UAAK,CAAC,CAAE,KAAM;YAChC,MAAM4B,UAAU,GAAGpB,KAAK,KAAKmB,IAAI;YACjC,oBACC,IAAA/B,WAAA,CAAAE,GAAA,EAACN,WAAA,CAAAqC,QAAQ;cAER7B,IAAI,EAAGA,IAAM;cACb8B,YAAY,EAAC,MAAM;cACnBF,UAAU,EAAGA,UAAY;cACzBG,IAAI,EAAC,eAAe;cACpBC,OAAO,EAAGA,CAAA,KAAM;gBACf1B,QAAQ,CAAEqB,IAAK,CAAC;gBAChBP,OAAO,CAAC,CAAC;cACV,CAAG;cACHa,MAAM,EACLL,UAAU,GACP/B,SAAS,GACTqC,SACH;cAAAf,QAAA,EAECf;YAAK,GAfDuB,IAgBG,CAAC;UAEb,CACD;QAAC,CACS,CAAC,EACV,CAAC,CAAEb,UAAU,iBACd,IAAAlB,WAAA,CAAAE,GAAA,EAACN,WAAA,CAAA+B,SAAS;UAAAJ,QAAA,eACT,IAAAvB,WAAA,CAAAE,GAAA,EAACN,WAAA,CAAAqC,QAAQ;YACR7B,IAAI,EAAGc,UAAU,CAACd,IAAM;YACxB8B,YAAY,EAAC,MAAM;YACnBF,UAAU,EAAGpB,KAAK,KAAK2B,YAAK,CAACtB,MAAQ;YACrCkB,IAAI,EAAC,eAAe;YACpBC,OAAO,EAAGA,CAAA,KAAM;cACf1B,QAAQ,CAAE6B,YAAK,CAACtB,MAAO,CAAC;cACxBO,OAAO,CAAC,CAAC;YACV,CAAG;YACHa,MAAM,EACLzB,KAAK,KAAK2B,YAAK,CAACtB,MAAM,GACnBhB,SAAS,GACTqC,SACH;YAAAf,QAAA,EAECL,UAAU,CAACV;UAAK,CACT;QAAC,CACD,CACX;MAAA,CACA,CAAC;IAEL;EAAC,CACY,CAAC;AAEjB","ignoreList":[]}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { DropdownMenu, Icon, MenuGroup, MenuItem } from '@wordpress/components';
|
|
5
|
-
import { check } from '@wordpress/icons';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Internal dependencies
|
|
9
|
-
*/
|
|
10
|
-
import { getSupportedMenuItems, VIEWS } from '../utils';
|
|
11
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
12
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
13
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
14
|
-
const checkIcon = /*#__PURE__*/_jsx(Icon, {
|
|
15
|
-
icon: check,
|
|
16
|
-
size: 24
|
|
17
|
-
});
|
|
18
|
-
export default function SidesDropdown({
|
|
19
|
-
label: labelProp,
|
|
20
|
-
onChange,
|
|
21
|
-
sides,
|
|
22
|
-
value
|
|
23
|
-
}) {
|
|
24
|
-
if (!sides || !sides.length) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
const supportedItems = getSupportedMenuItems(sides);
|
|
28
|
-
const sideIcon = supportedItems[value].icon;
|
|
29
|
-
const {
|
|
30
|
-
custom: customItem,
|
|
31
|
-
...menuItems
|
|
32
|
-
} = supportedItems;
|
|
33
|
-
return /*#__PURE__*/_jsx(DropdownMenu, {
|
|
34
|
-
icon: sideIcon,
|
|
35
|
-
label: labelProp,
|
|
36
|
-
className: "spacing-sizes-control__dropdown",
|
|
37
|
-
toggleProps: {
|
|
38
|
-
size: 'small'
|
|
39
|
-
},
|
|
40
|
-
children: ({
|
|
41
|
-
onClose
|
|
42
|
-
}) => {
|
|
43
|
-
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
44
|
-
children: [/*#__PURE__*/_jsx(MenuGroup, {
|
|
45
|
-
children: Object.entries(menuItems).map(([slug, {
|
|
46
|
-
label,
|
|
47
|
-
icon
|
|
48
|
-
}]) => {
|
|
49
|
-
const isSelected = value === slug;
|
|
50
|
-
return /*#__PURE__*/_jsx(MenuItem, {
|
|
51
|
-
icon: icon,
|
|
52
|
-
iconPosition: "left",
|
|
53
|
-
isSelected: isSelected,
|
|
54
|
-
role: "menuitemradio",
|
|
55
|
-
onClick: () => {
|
|
56
|
-
onChange(slug);
|
|
57
|
-
onClose();
|
|
58
|
-
},
|
|
59
|
-
suffix: isSelected ? checkIcon : undefined,
|
|
60
|
-
children: label
|
|
61
|
-
}, slug);
|
|
62
|
-
})
|
|
63
|
-
}), !!customItem && /*#__PURE__*/_jsx(MenuGroup, {
|
|
64
|
-
children: /*#__PURE__*/_jsx(MenuItem, {
|
|
65
|
-
icon: customItem.icon,
|
|
66
|
-
iconPosition: "left",
|
|
67
|
-
isSelected: value === VIEWS.custom,
|
|
68
|
-
role: "menuitemradio",
|
|
69
|
-
onClick: () => {
|
|
70
|
-
onChange(VIEWS.custom);
|
|
71
|
-
onClose();
|
|
72
|
-
},
|
|
73
|
-
suffix: value === VIEWS.custom ? checkIcon : undefined,
|
|
74
|
-
children: customItem.label
|
|
75
|
-
})
|
|
76
|
-
})]
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["DropdownMenu","Icon","MenuGroup","MenuItem","check","getSupportedMenuItems","VIEWS","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","checkIcon","icon","size","SidesDropdown","label","labelProp","onChange","sides","value","length","supportedItems","sideIcon","custom","customItem","menuItems","className","toggleProps","children","onClose","Object","entries","map","slug","isSelected","iconPosition","role","onClick","suffix","undefined"],"sources":["@wordpress/block-editor/src/components/spacing-sizes-control/sides-dropdown/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { DropdownMenu, Icon, MenuGroup, MenuItem } from '@wordpress/components';\nimport { check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getSupportedMenuItems, VIEWS } from '../utils';\n\nconst checkIcon = <Icon icon={ check } size={ 24 } />;\n\nexport default function SidesDropdown( {\n\tlabel: labelProp,\n\tonChange,\n\tsides,\n\tvalue,\n} ) {\n\tif ( ! sides || ! sides.length ) {\n\t\treturn;\n\t}\n\n\tconst supportedItems = getSupportedMenuItems( sides );\n\tconst sideIcon = supportedItems[ value ].icon;\n\tconst { custom: customItem, ...menuItems } = supportedItems;\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ sideIcon }\n\t\t\tlabel={ labelProp }\n\t\t\tclassName=\"spacing-sizes-control__dropdown\"\n\t\t\ttoggleProps={ { size: 'small' } }\n\t\t>\n\t\t\t{ ( { onClose } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ Object.entries( menuItems ).map(\n\t\t\t\t\t\t\t\t( [ slug, { label, icon } ] ) => {\n\t\t\t\t\t\t\t\t\tconst isSelected = value === slug;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tonChange( slug );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected\n\t\t\t\t\t\t\t\t\t\t\t\t\t? checkIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\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</MenuGroup>\n\t\t\t\t\t\t{ !! customItem && (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\ticon={ customItem.icon }\n\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\tisSelected={ value === VIEWS.custom }\n\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tonChange( VIEWS.custom );\n\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\t\t\tvalue === VIEWS.custom\n\t\t\t\t\t\t\t\t\t\t\t? checkIcon\n\t\t\t\t\t\t\t\t\t\t\t: undefined\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\t\t{ customItem.label }\n\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t</MenuGroup>\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</DropdownMenu>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,EAAEC,IAAI,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,uBAAuB;AAC/E,SAASC,KAAK,QAAQ,kBAAkB;;AAExC;AACA;AACA;AACA,SAASC,qBAAqB,EAAEC,KAAK,QAAQ,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAExD,MAAMC,SAAS,gBAAGL,IAAA,CAACP,IAAI;EAACa,IAAI,EAAGV,KAAO;EAACW,IAAI,EAAG;AAAI,CAAE,CAAC;AAErD,eAAe,SAASC,aAAaA,CAAE;EACtCC,KAAK,EAAEC,SAAS;EAChBC,QAAQ;EACRC,KAAK;EACLC;AACD,CAAC,EAAG;EACH,IAAK,CAAED,KAAK,IAAI,CAAEA,KAAK,CAACE,MAAM,EAAG;IAChC;EACD;EAEA,MAAMC,cAAc,GAAGlB,qBAAqB,CAAEe,KAAM,CAAC;EACrD,MAAMI,QAAQ,GAAGD,cAAc,CAAEF,KAAK,CAAE,CAACP,IAAI;EAC7C,MAAM;IAAEW,MAAM,EAAEC,UAAU;IAAE,GAAGC;EAAU,CAAC,GAAGJ,cAAc;EAE3D,oBACCf,IAAA,CAACR,YAAY;IACZc,IAAI,EAAGU,QAAU;IACjBP,KAAK,EAAGC,SAAW;IACnBU,SAAS,EAAC,iCAAiC;IAC3CC,WAAW,EAAG;MAAEd,IAAI,EAAE;IAAQ,CAAG;IAAAe,QAAA,EAE/BA,CAAE;MAAEC;IAAQ,CAAC,KAAM;MACpB,oBACCnB,KAAA,CAAAF,SAAA;QAAAoB,QAAA,gBACCtB,IAAA,CAACN,SAAS;UAAA4B,QAAA,EACPE,MAAM,CAACC,OAAO,CAAEN,SAAU,CAAC,CAACO,GAAG,CAChC,CAAE,CAAEC,IAAI,EAAE;YAAElB,KAAK;YAAEH;UAAK,CAAC,CAAE,KAAM;YAChC,MAAMsB,UAAU,GAAGf,KAAK,KAAKc,IAAI;YACjC,oBACC3B,IAAA,CAACL,QAAQ;cAERW,IAAI,EAAGA,IAAM;cACbuB,YAAY,EAAC,MAAM;cACnBD,UAAU,EAAGA,UAAY;cACzBE,IAAI,EAAC,eAAe;cACpBC,OAAO,EAAGA,CAAA,KAAM;gBACfpB,QAAQ,CAAEgB,IAAK,CAAC;gBAChBJ,OAAO,CAAC,CAAC;cACV,CAAG;cACHS,MAAM,EACLJ,UAAU,GACPvB,SAAS,GACT4B,SACH;cAAAX,QAAA,EAECb;YAAK,GAfDkB,IAgBG,CAAC;UAEb,CACD;QAAC,CACS,CAAC,EACV,CAAC,CAAET,UAAU,iBACdlB,IAAA,CAACN,SAAS;UAAA4B,QAAA,eACTtB,IAAA,CAACL,QAAQ;YACRW,IAAI,EAAGY,UAAU,CAACZ,IAAM;YACxBuB,YAAY,EAAC,MAAM;YACnBD,UAAU,EAAGf,KAAK,KAAKf,KAAK,CAACmB,MAAQ;YACrCa,IAAI,EAAC,eAAe;YACpBC,OAAO,EAAGA,CAAA,KAAM;cACfpB,QAAQ,CAAEb,KAAK,CAACmB,MAAO,CAAC;cACxBM,OAAO,CAAC,CAAC;YACV,CAAG;YACHS,MAAM,EACLnB,KAAK,KAAKf,KAAK,CAACmB,MAAM,GACnBZ,SAAS,GACT4B,SACH;YAAAX,QAAA,EAECJ,UAAU,CAACT;UAAK,CACT;QAAC,CACD,CACX;MAAA,CACA,CAAC;IAEL;EAAC,CACY,CAAC;AAEjB","ignoreList":[]}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { DropdownMenu, Icon, MenuGroup, MenuItem } from '@wordpress/components';
|
|
5
|
-
import { check } from '@wordpress/icons';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Internal dependencies
|
|
9
|
-
*/
|
|
10
|
-
import { getSupportedMenuItems, VIEWS } from '../utils';
|
|
11
|
-
|
|
12
|
-
const checkIcon = <Icon icon={ check } size={ 24 } />;
|
|
13
|
-
|
|
14
|
-
export default function SidesDropdown( {
|
|
15
|
-
label: labelProp,
|
|
16
|
-
onChange,
|
|
17
|
-
sides,
|
|
18
|
-
value,
|
|
19
|
-
} ) {
|
|
20
|
-
if ( ! sides || ! sides.length ) {
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
const supportedItems = getSupportedMenuItems( sides );
|
|
25
|
-
const sideIcon = supportedItems[ value ].icon;
|
|
26
|
-
const { custom: customItem, ...menuItems } = supportedItems;
|
|
27
|
-
|
|
28
|
-
return (
|
|
29
|
-
<DropdownMenu
|
|
30
|
-
icon={ sideIcon }
|
|
31
|
-
label={ labelProp }
|
|
32
|
-
className="spacing-sizes-control__dropdown"
|
|
33
|
-
toggleProps={ { size: 'small' } }
|
|
34
|
-
>
|
|
35
|
-
{ ( { onClose } ) => {
|
|
36
|
-
return (
|
|
37
|
-
<>
|
|
38
|
-
<MenuGroup>
|
|
39
|
-
{ Object.entries( menuItems ).map(
|
|
40
|
-
( [ slug, { label, icon } ] ) => {
|
|
41
|
-
const isSelected = value === slug;
|
|
42
|
-
return (
|
|
43
|
-
<MenuItem
|
|
44
|
-
key={ slug }
|
|
45
|
-
icon={ icon }
|
|
46
|
-
iconPosition="left"
|
|
47
|
-
isSelected={ isSelected }
|
|
48
|
-
role="menuitemradio"
|
|
49
|
-
onClick={ () => {
|
|
50
|
-
onChange( slug );
|
|
51
|
-
onClose();
|
|
52
|
-
} }
|
|
53
|
-
suffix={
|
|
54
|
-
isSelected
|
|
55
|
-
? checkIcon
|
|
56
|
-
: undefined
|
|
57
|
-
}
|
|
58
|
-
>
|
|
59
|
-
{ label }
|
|
60
|
-
</MenuItem>
|
|
61
|
-
);
|
|
62
|
-
}
|
|
63
|
-
) }
|
|
64
|
-
</MenuGroup>
|
|
65
|
-
{ !! customItem && (
|
|
66
|
-
<MenuGroup>
|
|
67
|
-
<MenuItem
|
|
68
|
-
icon={ customItem.icon }
|
|
69
|
-
iconPosition="left"
|
|
70
|
-
isSelected={ value === VIEWS.custom }
|
|
71
|
-
role="menuitemradio"
|
|
72
|
-
onClick={ () => {
|
|
73
|
-
onChange( VIEWS.custom );
|
|
74
|
-
onClose();
|
|
75
|
-
} }
|
|
76
|
-
suffix={
|
|
77
|
-
value === VIEWS.custom
|
|
78
|
-
? checkIcon
|
|
79
|
-
: undefined
|
|
80
|
-
}
|
|
81
|
-
>
|
|
82
|
-
{ customItem.label }
|
|
83
|
-
</MenuItem>
|
|
84
|
-
</MenuGroup>
|
|
85
|
-
) }
|
|
86
|
-
</>
|
|
87
|
-
);
|
|
88
|
-
} }
|
|
89
|
-
</DropdownMenu>
|
|
90
|
-
);
|
|
91
|
-
}
|