@wordpress/block-editor 11.2.0 → 11.3.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 +5 -0
- package/README.md +28 -4
- package/build/components/alignment-control/ui.js +1 -1
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/autocomplete/index.js +2 -7
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +2 -2
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-card/index.js +2 -4
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-edit/index.js +8 -0
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-inspector/index.js +15 -14
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +5 -0
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-lock/modal.js +0 -1
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-mover/mover-description.js +2 -2
- package/build/components/block-mover/mover-description.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +3 -1
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +1 -1
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/use-patterns-setup.js +2 -2
- package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
- package/build/components/block-patterns-list/index.js +31 -3
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-preview/auto.js +9 -11
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js +32 -8
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-selection-clearer/index.js +1 -1
- package/build/components/block-selection-clearer/index.js.map +1 -1
- package/build/components/block-settings/container.native.js +7 -33
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +12 -6
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +2 -8
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-switcher/utils.js +1 -1
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +55 -47
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-vertical-alignment-control/icons.js +15 -1
- package/build/components/block-vertical-alignment-control/icons.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +9 -4
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/color-style-selector/index.js +3 -1
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +3 -4
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/font-family/index.js +1 -7
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js +1 -1
- package/build/components/font-sizes/fluid-utils.js.map +1 -1
- package/build/components/font-sizes/utils.js +1 -1
- package/build/components/font-sizes/utils.js.map +1 -1
- package/build/components/global-styles/context.js +22 -0
- package/build/components/global-styles/context.js.map +1 -0
- package/build/components/global-styles/hooks.js +142 -0
- package/build/components/global-styles/hooks.js.map +1 -0
- package/build/components/global-styles/index.js +42 -0
- package/build/components/global-styles/index.js.map +1 -0
- package/build/components/global-styles/typography-utils.js +92 -0
- package/build/components/global-styles/typography-utils.js.map +1 -0
- package/build/components/global-styles/use-global-styles-output.js +974 -0
- package/build/components/global-styles/use-global-styles-output.js.map +1 -0
- package/build/components/global-styles/utils.js +340 -0
- package/build/components/global-styles/utils.js.map +1 -0
- package/build/components/height-control/index.js +13 -1
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/image-editor/constants.js +1 -1
- package/build/components/image-editor/constants.js.map +1 -1
- package/build/components/image-editor/context.js +1 -2
- package/build/components/image-editor/context.js.map +1 -1
- package/build/components/image-editor/cropper.js +3 -1
- package/build/components/image-editor/cropper.js.map +1 -1
- package/build/components/image-editor/index.js +13 -9
- package/build/components/image-editor/index.js.map +1 -1
- package/build/components/image-editor/use-transform-image.js +11 -35
- package/build/components/image-editor/use-transform-image.js.map +1 -1
- package/build/components/image-size-control/index.js +1 -7
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/index.js +8 -24
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +22 -32
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +8 -23
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-block-context.js +53 -0
- package/build/components/inner-blocks/use-block-context.js.map +1 -0
- package/build/components/inserter/block-patterns-explorer/explorer.js +0 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +7 -1
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +2 -2
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +1 -7
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js +5 -4
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/media-tab/hooks.js +142 -56
- package/build/components/inserter/media-tab/hooks.js.map +1 -1
- package/build/components/inserter/media-tab/media-list.js +74 -21
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +11 -13
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +6 -3
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/media-tab/utils.js +26 -15
- package/build/components/inserter/media-tab/utils.js.map +1 -1
- package/build/components/inserter/menu.js +1 -0
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/preview-panel.js +5 -3
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/search-results.js +2 -7
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter-list-item/index.js +1 -9
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inspector-controls/fill.js +15 -2
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +14 -1
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/groups.js +4 -0
- package/build/components/inspector-controls/groups.js.map +1 -1
- package/build/components/inspector-controls/index.js +2 -2
- package/build/components/inspector-controls/index.js.map +1 -1
- package/build/components/inspector-controls/slot.js +14 -1
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js +14 -1
- package/build/components/inspector-controls/slot.native.js.map +1 -1
- package/build/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
- package/build/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +2 -2
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +6 -4
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js +17 -12
- package/build/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build/components/justify-content-control/ui.js +8 -1
- package/build/components/justify-content-control/ui.js.map +1 -1
- package/build/components/link-control/index.js +45 -17
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/list-view/block.js +1 -1
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/media-upload/index.native.js +4 -1
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/off-canvas-editor/appender.js +50 -3
- package/build/components/off-canvas-editor/appender.js.map +1 -1
- package/build/components/off-canvas-editor/block-select-button.js +10 -4
- package/build/components/off-canvas-editor/block-select-button.js.map +1 -1
- package/build/components/off-canvas-editor/block.js +6 -27
- package/build/components/off-canvas-editor/block.js.map +1 -1
- package/build/components/off-canvas-editor/branch.js +25 -10
- package/build/components/off-canvas-editor/branch.js.map +1 -1
- package/build/components/off-canvas-editor/index.js +11 -16
- package/build/components/off-canvas-editor/index.js.map +1 -1
- package/build/components/off-canvas-editor/link-ui.js +2 -2
- package/build/components/off-canvas-editor/link-ui.js.map +1 -1
- package/build/components/off-canvas-editor/use-list-view-drop-zone.js +1 -1
- package/build/components/off-canvas-editor/use-list-view-drop-zone.js.map +1 -1
- package/build/components/provider/index.js +21 -9
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +5 -6
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/rich-text/use-before-input-rules.js +11 -3
- package/build/components/rich-text/use-before-input-rules.js.map +1 -1
- package/build/components/rich-text/utils.js +1 -1
- package/build/components/rich-text/utils.js.map +1 -1
- package/build/components/spacing-sizes-control/utils.js +2 -8
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/tool-selector/index.js +3 -1
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +7 -8
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/use-block-display-information/index.js +1 -1
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/experiments.js +45 -0
- package/build/experiments.js.map +1 -0
- package/build/experiments.native.js +40 -0
- package/build/experiments.native.js.map +1 -0
- package/build/hooks/anchor.js +2 -1
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/border.js +1 -1
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/child-layout.js +5 -1
- package/build/hooks/child-layout.js.map +1 -1
- package/build/hooks/color-panel.js +1 -1
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color.js +3 -3
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/custom-class-name.js +2 -1
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/dimensions.js +7 -5
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/margin.js +1 -0
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +1 -0
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/position.js +34 -15
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/typography.js +1 -1
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/use-color-props.js +3 -3
- package/build/hooks/use-color-props.js.map +1 -1
- package/build/hooks/utils.js +69 -3
- package/build/hooks/utils.js.map +1 -1
- package/build/index.js +10 -1
- package/build/index.js.map +1 -1
- package/build/layouts/constrained.js +3 -0
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js +59 -9
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js +0 -18
- package/build/layouts/flow.js.map +1 -1
- package/build/store/actions.js +3 -30
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +5 -2
- package/build/store/defaults.js.map +1 -1
- package/build/store/index.js +11 -2
- package/build/store/index.js.map +1 -1
- package/build/store/private-actions.js +78 -0
- package/build/store/private-actions.js.map +1 -0
- package/build/store/private-selectors.js +18 -0
- package/build/store/private-selectors.js.map +1 -0
- package/build/store/reducer.js +1 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +60 -34
- package/build/store/selectors.js.map +1 -1
- package/build/utils/block-variation-transforms.js +1 -1
- package/build/utils/block-variation-transforms.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +1 -1
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build/utils/transform-styles/index.js +1 -7
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +1 -1
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/autocomplete/index.js +2 -6
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +2 -2
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-card/index.js +2 -4
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-edit/index.js +7 -0
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +15 -14
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +5 -0
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-lock/modal.js +0 -1
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-mover/mover-description.js +2 -2
- package/build-module/components/block-mover/mover-description.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +3 -1
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +1 -1
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/use-patterns-setup.js +2 -2
- package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +32 -3
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +9 -11
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js +31 -8
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-selection-clearer/index.js +1 -1
- package/build-module/components/block-selection-clearer/index.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +6 -30
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -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 +2 -7
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +1 -1
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +55 -48
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/icons.js +12 -0
- package/build-module/components/block-vertical-alignment-control/icons.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +10 -5
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/color-style-selector/index.js +3 -1
- package/build-module/components/color-style-selector/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +4 -5
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/font-family/index.js +1 -6
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js +1 -1
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
- package/build-module/components/font-sizes/utils.js +1 -1
- package/build-module/components/font-sizes/utils.js.map +1 -1
- package/build-module/components/global-styles/context.js +12 -0
- package/build-module/components/global-styles/context.js.map +1 -0
- package/build-module/components/global-styles/hooks.js +121 -0
- package/build-module/components/global-styles/hooks.js.map +1 -0
- package/build-module/components/global-styles/index.js +4 -0
- package/build-module/components/global-styles/index.js.map +1 -0
- package/build-module/components/global-styles/typography-utils.js +84 -0
- package/build-module/components/global-styles/typography-utils.js.map +1 -0
- package/build-module/components/global-styles/use-global-styles-output.js +930 -0
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -0
- package/build-module/components/global-styles/utils.js +321 -0
- package/build-module/components/global-styles/utils.js.map +1 -0
- package/build-module/components/height-control/index.js +14 -1
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/image-editor/constants.js +1 -1
- package/build-module/components/image-editor/constants.js.map +1 -1
- package/build-module/components/image-editor/context.js +1 -2
- package/build-module/components/image-editor/context.js.map +1 -1
- package/build-module/components/image-editor/cropper.js +3 -1
- package/build-module/components/image-editor/cropper.js.map +1 -1
- package/build-module/components/image-editor/index.js +13 -3
- package/build-module/components/image-editor/index.js.map +1 -1
- package/build-module/components/image-editor/use-transform-image.js +12 -37
- package/build-module/components/image-editor/use-transform-image.js.map +1 -1
- package/build-module/components/image-size-control/index.js +1 -6
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/index.js +2 -3
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +21 -32
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +9 -22
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-block-context.js +43 -0
- package/build-module/components/inner-blocks/use-block-context.js.map +1 -0
- package/build-module/components/inserter/block-patterns-explorer/explorer.js +0 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +7 -1
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +3 -3
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +1 -6
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js +5 -4
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/hooks.js +145 -56
- package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.js +74 -24
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +14 -14
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +7 -4
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/media-tab/utils.js +27 -15
- package/build-module/components/inserter/media-tab/utils.js.map +1 -1
- package/build-module/components/inserter/menu.js +1 -0
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +5 -3
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/search-results.js +2 -6
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +1 -9
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +14 -2
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +13 -1
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/groups.js +4 -0
- package/build-module/components/inspector-controls/groups.js.map +1 -1
- package/build-module/components/inspector-controls/index.js +2 -2
- package/build-module/components/inspector-controls/index.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +13 -1
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls/slot.native.js +13 -1
- package/build-module/components/inspector-controls/slot.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
- package/build-module/components/inspector-controls-tabs/advanced-controls-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +2 -2
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +6 -4
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js +17 -12
- package/build-module/components/inspector-controls-tabs/use-inspector-controls-tabs.js.map +1 -1
- package/build-module/components/justify-content-control/ui.js +9 -2
- package/build-module/components/justify-content-control/ui.js.map +1 -1
- package/build-module/components/link-control/index.js +45 -16
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/list-view/block.js +1 -1
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +4 -1
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/off-canvas-editor/appender.js +47 -4
- package/build-module/components/off-canvas-editor/appender.js.map +1 -1
- package/build-module/components/off-canvas-editor/block-select-button.js +9 -4
- package/build-module/components/off-canvas-editor/block-select-button.js.map +1 -1
- package/build-module/components/off-canvas-editor/block.js +6 -25
- package/build-module/components/off-canvas-editor/block.js.map +1 -1
- package/build-module/components/off-canvas-editor/branch.js +23 -11
- package/build-module/components/off-canvas-editor/branch.js.map +1 -1
- package/build-module/components/off-canvas-editor/index.js +11 -15
- package/build-module/components/off-canvas-editor/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/link-ui.js +2 -2
- package/build-module/components/off-canvas-editor/link-ui.js.map +1 -1
- package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js +1 -1
- package/build-module/components/off-canvas-editor/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/provider/index.js +16 -9
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +4 -4
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-before-input-rules.js +10 -2
- package/build-module/components/rich-text/use-before-input-rules.js.map +1 -1
- package/build-module/components/rich-text/utils.js +1 -1
- package/build-module/components/rich-text/utils.js.map +1 -1
- package/build-module/components/spacing-sizes-control/utils.js +2 -7
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/tool-selector/index.js +3 -1
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +8 -8
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +1 -1
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/experiments.js +25 -0
- package/build-module/experiments.js.map +1 -0
- package/build-module/experiments.native.js +23 -0
- package/build-module/experiments.native.js.map +1 -0
- package/build-module/hooks/anchor.js +2 -1
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/border.js +1 -1
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/child-layout.js +5 -1
- package/build-module/hooks/child-layout.js.map +1 -1
- package/build-module/hooks/color-panel.js +1 -1
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/color.js +3 -3
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +2 -1
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/dimensions.js +6 -5
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/margin.js +1 -0
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +1 -0
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/position.js +31 -14
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/typography.js +1 -1
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/use-color-props.js +3 -3
- package/build-module/hooks/use-color-props.js.map +1 -1
- package/build-module/hooks/utils.js +70 -4
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/layouts/constrained.js +3 -0
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/flex.js +60 -10
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js +0 -18
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/store/actions.js +2 -26
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +5 -2
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/index.js +8 -2
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/private-actions.js +66 -0
- package/build-module/store/private-actions.js.map +1 -0
- package/build-module/store/private-selectors.js +11 -0
- package/build-module/store/private-selectors.js.map +1 -0
- package/build-module/store/reducer.js +1 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +48 -25
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/block-variation-transforms.js +1 -1
- package/build-module/utils/block-variation-transforms.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +1 -1
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +1 -6
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/content-rtl.css +283 -3
- package/build-style/content.css +283 -3
- package/build-style/style-rtl.css +105 -221
- package/build-style/style.css +105 -221
- package/package.json +30 -29
- package/src/components/alignment-control/test/__snapshots__/index.js.snap +3 -3
- package/src/components/alignment-control/test/index.js +5 -15
- package/src/components/alignment-control/ui.js +1 -1
- package/src/components/autocomplete/index.js +3 -6
- package/src/components/block-alignment-control/test/index.js +3 -11
- package/src/components/block-alignment-matrix-control/index.js +1 -2
- package/src/components/block-card/index.js +1 -4
- package/src/components/block-content-overlay/content.scss +4 -4
- package/src/components/block-edit/index.js +15 -1
- package/src/components/block-icon/content.scss +31 -0
- package/src/components/block-inspector/index.js +13 -17
- package/src/components/block-list/use-in-between-inserter.js +5 -0
- package/src/components/block-lock/modal.js +0 -1
- package/src/components/block-mover/mover-description.js +2 -2
- package/src/components/block-mover/stories/index.js +3 -3
- package/src/components/block-navigation/dropdown.js +1 -1
- package/src/components/block-pattern-setup/index.js +1 -4
- package/src/components/block-pattern-setup/use-patterns-setup.js +2 -5
- package/src/components/block-patterns-list/index.js +29 -3
- package/src/components/block-preview/README.md +9 -9
- package/src/components/block-preview/auto.js +9 -11
- package/src/components/block-preview/content.scss +23 -0
- package/src/components/block-preview/index.js +40 -10
- package/src/components/block-preview/style.scss +0 -23
- package/src/components/block-selection-clearer/index.js +1 -1
- package/src/components/block-selection-clearer/test/index.js +6 -6
- package/src/components/block-settings/container.native.js +7 -26
- package/src/components/block-settings-menu/block-settings-dropdown.js +13 -5
- package/src/components/block-settings-menu-controls/index.js +2 -10
- package/src/components/block-switcher/test/index.js +43 -44
- package/src/components/block-switcher/utils.js +1 -1
- package/src/components/block-tools/selected-block-popover.js +77 -80
- package/src/components/block-tools/style.scss +0 -1
- package/src/components/block-variation-picker/{style.scss → content.scss} +0 -0
- package/src/components/block-vertical-alignment-control/icons.js +12 -0
- package/src/components/block-vertical-alignment-control/test/index.js +3 -11
- package/src/components/block-vertical-alignment-control/ui.js +16 -6
- package/src/components/color-style-selector/index.js +1 -1
- package/src/components/colors/test/with-colors.js +2 -8
- package/src/components/date-format-picker/index.js +23 -24
- package/src/components/date-format-picker/style.scss +0 -6
- package/src/components/default-block-appender/content.scss +18 -0
- package/src/components/default-block-appender/test/index.js +2 -8
- package/src/components/font-family/index.js +1 -6
- package/src/components/font-sizes/fluid-utils.js +1 -1
- package/src/components/font-sizes/utils.js +1 -1
- package/src/components/global-styles/README.md +77 -0
- package/src/components/global-styles/context.js +15 -0
- package/src/components/global-styles/hooks.js +145 -0
- package/src/components/global-styles/index.js +7 -0
- package/src/components/global-styles/test/typography-utils.js +393 -0
- package/src/components/global-styles/test/use-global-styles-output.js +814 -0
- package/src/components/global-styles/test/utils.js +206 -0
- package/src/components/global-styles/typography-utils.js +87 -0
- package/src/components/global-styles/use-global-styles-output.js +1088 -0
- package/src/components/global-styles/utils.js +373 -0
- package/src/components/height-control/README.md +55 -0
- package/src/components/height-control/index.js +13 -1
- package/src/components/image-editor/constants.js +1 -1
- package/src/components/image-editor/context.js +5 -9
- package/src/components/image-editor/cropper.js +3 -1
- package/src/components/image-editor/index.js +13 -4
- package/src/components/image-editor/use-transform-image.js +14 -55
- package/src/components/image-size-control/index.js +1 -6
- package/src/components/index.js +2 -6
- package/src/components/inner-blocks/index.js +29 -33
- package/src/components/inner-blocks/index.native.js +27 -47
- package/src/components/inner-blocks/use-block-context.js +47 -0
- package/src/components/inserter/block-patterns-explorer/explorer.js +0 -1
- package/src/components/inserter/block-patterns-tab.js +7 -0
- package/src/components/inserter/block-types-tab.js +3 -4
- package/src/components/inserter/hooks/use-patterns-state.js +1 -6
- package/src/components/inserter/index.js +3 -4
- package/src/components/inserter/media-tab/hooks.js +167 -65
- package/src/components/inserter/media-tab/media-list.js +94 -26
- package/src/components/inserter/media-tab/media-panel.js +9 -20
- package/src/components/inserter/media-tab/media-tab.js +12 -4
- package/src/components/inserter/media-tab/utils.js +20 -10
- package/src/components/inserter/menu.js +1 -0
- package/src/components/inserter/preview-panel.js +4 -2
- package/src/components/inserter/search-results.js +2 -6
- package/src/components/inserter/stories/index.js +9 -9
- package/src/components/inserter/style.scss +58 -11
- package/src/components/inserter-list-item/index.js +0 -7
- package/src/components/inspector-controls/README.md +3 -7
- package/src/components/inspector-controls/fill.js +15 -1
- package/src/components/inspector-controls/fill.native.js +14 -1
- package/src/components/inspector-controls/groups.js +3 -0
- package/src/components/inspector-controls/index.js +2 -6
- package/src/components/inspector-controls/slot.js +14 -1
- package/src/components/inspector-controls/slot.native.js +14 -1
- package/src/components/inspector-controls-tabs/advanced-controls-panel.js +1 -1
- package/src/components/inspector-controls-tabs/index.js +2 -4
- package/src/components/inspector-controls-tabs/position-controls-panel.js +1 -1
- package/src/components/inspector-controls-tabs/styles-tab.js +5 -7
- package/src/components/inspector-controls-tabs/use-inspector-controls-tabs.js +21 -10
- package/src/components/justify-content-control/ui.js +9 -0
- package/src/components/link-control/index.js +59 -23
- package/src/components/link-control/style.scss +7 -24
- package/src/components/link-control/test/index.js +134 -5
- package/src/components/list-view/block.js +1 -1
- package/src/components/list-view/use-list-view-drop-zone.js +1 -1
- package/src/components/media-replace-flow/test/index.js +4 -12
- package/src/components/media-upload/index.native.js +2 -2
- package/src/components/off-canvas-editor/README.md +2 -2
- package/src/components/off-canvas-editor/appender.js +93 -37
- package/src/components/off-canvas-editor/block-select-button.js +12 -1
- package/src/components/off-canvas-editor/block.js +3 -42
- package/src/components/off-canvas-editor/branch.js +32 -5
- package/src/components/off-canvas-editor/index.js +10 -25
- package/src/components/off-canvas-editor/link-ui.js +2 -2
- package/src/components/off-canvas-editor/style.scss +5 -1
- package/src/components/off-canvas-editor/use-list-view-drop-zone.js +1 -1
- package/src/components/provider/index.js +33 -14
- package/src/components/provider/index.native.js +4 -3
- package/src/components/provider/test/experimental-provider.js +94 -0
- package/src/components/provider/test/use-block-sync.js +10 -0
- package/src/components/responsive-block-control/test/index.js +1 -5
- package/src/components/rich-text/use-before-input-rules.js +10 -2
- package/src/components/rich-text/utils.js +1 -1
- package/src/components/spacing-sizes-control/utils.js +2 -7
- package/src/components/tool-selector/index.js +1 -1
- package/src/components/url-input/test/button.js +24 -24
- package/src/components/url-popover/image-url-input-ui.js +7 -8
- package/src/components/url-popover/style.scss +0 -10
- package/src/components/use-block-display-information/index.js +1 -1
- package/src/components/warning/{style.scss → content.scss} +0 -0
- package/src/components/warning/test/index.js +1 -5
- package/src/content.scss +7 -0
- package/src/experiments.js +27 -0
- package/src/experiments.native.js +25 -0
- package/src/hooks/anchor.js +2 -1
- package/src/hooks/border.js +1 -1
- package/src/hooks/child-layout.js +6 -1
- package/src/hooks/color-panel.js +1 -1
- package/src/hooks/color.js +3 -3
- package/src/hooks/custom-class-name.js +2 -1
- package/src/hooks/dimensions.js +6 -6
- package/src/hooks/layout.scss +4 -0
- package/src/hooks/margin.js +1 -0
- package/src/hooks/padding.js +1 -0
- package/src/hooks/position.js +52 -36
- package/src/hooks/test/align.native.js +1 -1
- package/src/hooks/test/utils.js +104 -0
- package/src/hooks/typography.js +1 -1
- package/src/hooks/use-color-props.js +3 -3
- package/src/hooks/utils.js +68 -2
- package/src/index.js +1 -0
- package/src/layouts/constrained.js +3 -0
- package/src/layouts/flex.js +66 -14
- package/src/layouts/flow.js +0 -9
- package/src/store/actions.js +2 -26
- package/src/store/defaults.js +7 -2
- package/src/store/index.js +8 -2
- package/src/store/private-actions.js +65 -0
- package/src/store/private-selectors.js +10 -0
- package/src/store/reducer.js +1 -1
- package/src/store/selectors.js +103 -52
- package/src/store/test/actions.js +0 -18
- package/src/store/test/private-actions.js +22 -0
- package/src/store/test/private-selectors.js +24 -0
- package/src/store/test/selectors.js +52 -30
- package/src/style.scss +3 -5
- package/src/utils/block-variation-transforms.js +1 -1
- package/src/utils/parse-css-unit-to-px.js +3 -1
- package/src/utils/test/parse-css-unit-to-px.js +16 -24
- package/src/utils/transform-styles/index.js +1 -6
- package/build/components/inner-blocks/get-block-context.js +0 -45
- package/build/components/inner-blocks/get-block-context.js.map +0 -1
- package/build/components/off-canvas-editor/block-edit-button.js +0 -50
- package/build/components/off-canvas-editor/block-edit-button.js.map +0 -1
- package/build-module/components/inner-blocks/get-block-context.js +0 -37
- package/build-module/components/inner-blocks/get-block-context.js.map +0 -1
- package/build-module/components/off-canvas-editor/block-edit-button.js +0 -35
- package/build-module/components/off-canvas-editor/block-edit-button.js.map +0 -1
- package/src/components/inner-blocks/get-block-context.js +0 -39
- package/src/components/off-canvas-editor/block-edit-button.js +0 -27
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import classnames from 'classnames';
|
|
5
|
+
|
|
1
6
|
/**
|
|
2
7
|
* WordPress dependencies
|
|
3
8
|
*/
|
|
@@ -6,10 +11,14 @@ import {
|
|
|
6
11
|
__unstableUseCompositeState as useCompositeState,
|
|
7
12
|
__unstableCompositeItem as CompositeItem,
|
|
8
13
|
Tooltip,
|
|
14
|
+
DropdownMenu,
|
|
15
|
+
MenuGroup,
|
|
16
|
+
MenuItem,
|
|
9
17
|
} from '@wordpress/components';
|
|
10
|
-
import { __ } from '@wordpress/i18n';
|
|
11
|
-
import { useMemo, useCallback } from '@wordpress/element';
|
|
18
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
19
|
+
import { useMemo, useCallback, useState } from '@wordpress/element';
|
|
12
20
|
import { cloneBlock } from '@wordpress/blocks';
|
|
21
|
+
import { moreVertical, external } from '@wordpress/icons';
|
|
13
22
|
|
|
14
23
|
/**
|
|
15
24
|
* Internal dependencies
|
|
@@ -17,39 +26,98 @@ import { cloneBlock } from '@wordpress/blocks';
|
|
|
17
26
|
import InserterDraggableBlocks from '../../inserter-draggable-blocks';
|
|
18
27
|
import { getBlockAndPreviewFromMedia } from './utils';
|
|
19
28
|
|
|
20
|
-
|
|
29
|
+
const MAXIMUM_TITLE_LENGTH = 25;
|
|
30
|
+
const MEDIA_OPTIONS_POPOVER_PROPS = {
|
|
31
|
+
position: 'bottom left',
|
|
32
|
+
className:
|
|
33
|
+
'block-editor-inserter__media-list__item-preview-options__popover',
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
function MediaPreviewOptions( { category, media } ) {
|
|
37
|
+
if ( ! category.getReportUrl ) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
const reportUrl = category.getReportUrl( media );
|
|
41
|
+
return (
|
|
42
|
+
<DropdownMenu
|
|
43
|
+
className="block-editor-inserter__media-list__item-preview-options"
|
|
44
|
+
label={ __( 'Options' ) }
|
|
45
|
+
popoverProps={ MEDIA_OPTIONS_POPOVER_PROPS }
|
|
46
|
+
icon={ moreVertical }
|
|
47
|
+
>
|
|
48
|
+
{ () => (
|
|
49
|
+
<MenuGroup>
|
|
50
|
+
<MenuItem
|
|
51
|
+
onClick={ () =>
|
|
52
|
+
window.open( reportUrl, '_blank' ).focus()
|
|
53
|
+
}
|
|
54
|
+
icon={ external }
|
|
55
|
+
>
|
|
56
|
+
{ sprintf(
|
|
57
|
+
/* translators: %s: The media type to report e.g: "image", "video", "audio" */
|
|
58
|
+
__( 'Report %s' ),
|
|
59
|
+
category.mediaType
|
|
60
|
+
) }
|
|
61
|
+
</MenuItem>
|
|
62
|
+
</MenuGroup>
|
|
63
|
+
) }
|
|
64
|
+
</DropdownMenu>
|
|
65
|
+
);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function MediaPreview( { media, onClick, composite, category } ) {
|
|
69
|
+
const [ isHovered, setIsHovered ] = useState( false );
|
|
21
70
|
const [ block, preview ] = useMemo(
|
|
22
|
-
() => getBlockAndPreviewFromMedia( media, mediaType ),
|
|
23
|
-
[ media, mediaType ]
|
|
71
|
+
() => getBlockAndPreviewFromMedia( media, category.mediaType ),
|
|
72
|
+
[ media, category.mediaType ]
|
|
24
73
|
);
|
|
25
74
|
const title = media.title?.rendered || media.title;
|
|
26
|
-
|
|
75
|
+
let truncatedTitle;
|
|
76
|
+
if ( title.length > MAXIMUM_TITLE_LENGTH ) {
|
|
77
|
+
const omission = '...';
|
|
78
|
+
truncatedTitle =
|
|
79
|
+
title.slice( 0, MAXIMUM_TITLE_LENGTH - omission.length ) + omission;
|
|
80
|
+
}
|
|
81
|
+
const onMouseEnter = useCallback( () => setIsHovered( true ), [] );
|
|
82
|
+
const onMouseLeave = useCallback( () => setIsHovered( false ), [] );
|
|
27
83
|
return (
|
|
28
84
|
<InserterDraggableBlocks isEnabled={ true } blocks={ [ block ] }>
|
|
29
85
|
{ ( { draggable, onDragStart, onDragEnd } ) => (
|
|
30
86
|
<div
|
|
31
|
-
className={
|
|
87
|
+
className={ classnames(
|
|
88
|
+
'block-editor-inserter__media-list__list-item',
|
|
89
|
+
{
|
|
90
|
+
'is-hovered': isHovered,
|
|
91
|
+
}
|
|
92
|
+
) }
|
|
32
93
|
draggable={ draggable }
|
|
33
94
|
onDragStart={ onDragStart }
|
|
34
95
|
onDragEnd={ onDragEnd }
|
|
35
96
|
>
|
|
36
|
-
<Tooltip text={ title }>
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
{
|
|
41
|
-
|
|
42
|
-
onClick={ () => {
|
|
43
|
-
onClick( block );
|
|
44
|
-
} }
|
|
45
|
-
aria-label={ title }
|
|
97
|
+
<Tooltip text={ truncatedTitle || title }>
|
|
98
|
+
{ /* Adding `is-hovered` class to the wrapper element is needed
|
|
99
|
+
because the options Popover is rendered outside of this node. */ }
|
|
100
|
+
<div
|
|
101
|
+
onMouseEnter={ onMouseEnter }
|
|
102
|
+
onMouseLeave={ onMouseLeave }
|
|
46
103
|
>
|
|
47
|
-
<
|
|
48
|
-
|
|
104
|
+
<CompositeItem
|
|
105
|
+
role="option"
|
|
106
|
+
as="div"
|
|
107
|
+
{ ...composite }
|
|
108
|
+
className="block-editor-inserter__media-list__item"
|
|
109
|
+
onClick={ () => onClick( block ) }
|
|
110
|
+
aria-label={ title }
|
|
49
111
|
>
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
112
|
+
<div className="block-editor-inserter__media-list__item-preview">
|
|
113
|
+
{ preview }
|
|
114
|
+
</div>
|
|
115
|
+
</CompositeItem>
|
|
116
|
+
<MediaPreviewOptions
|
|
117
|
+
category={ category }
|
|
118
|
+
media={ media }
|
|
119
|
+
/>
|
|
120
|
+
</div>
|
|
53
121
|
</Tooltip>
|
|
54
122
|
</div>
|
|
55
123
|
) }
|
|
@@ -59,7 +127,7 @@ function MediaPreview( { media, onClick, composite, mediaType } ) {
|
|
|
59
127
|
|
|
60
128
|
function MediaList( {
|
|
61
129
|
mediaList,
|
|
62
|
-
|
|
130
|
+
category,
|
|
63
131
|
onClick,
|
|
64
132
|
label = __( 'Media List' ),
|
|
65
133
|
} ) {
|
|
@@ -77,11 +145,11 @@ function MediaList( {
|
|
|
77
145
|
className="block-editor-inserter__media-list"
|
|
78
146
|
aria-label={ label }
|
|
79
147
|
>
|
|
80
|
-
{ mediaList.map( ( media ) => (
|
|
148
|
+
{ mediaList.map( ( media, index ) => (
|
|
81
149
|
<MediaPreview
|
|
82
|
-
key={ media.id }
|
|
150
|
+
key={ media.id || media.sourceId || index }
|
|
83
151
|
media={ media }
|
|
84
|
-
|
|
152
|
+
category={ category }
|
|
85
153
|
onClick={ onPreviewClick }
|
|
86
154
|
composite={ composite }
|
|
87
155
|
/>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { useRef, useEffect } from '@wordpress/element';
|
|
5
5
|
import { Spinner, SearchControl } from '@wordpress/components';
|
|
6
6
|
import { focus } from '@wordpress/dom';
|
|
7
|
-
import { __
|
|
7
|
+
import { __ } from '@wordpress/i18n';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Internal dependencies
|
|
@@ -38,44 +38,33 @@ export function MediaCategoryDialog( { rootClientId, onInsert, category } ) {
|
|
|
38
38
|
|
|
39
39
|
export function MediaCategoryPanel( { rootClientId, onInsert, category } ) {
|
|
40
40
|
const [ search, setSearch, debouncedSearch ] = useDebouncedInput();
|
|
41
|
-
const mediaList = useMediaResults( {
|
|
41
|
+
const { mediaList, isLoading } = useMediaResults( category, {
|
|
42
42
|
per_page: !! debouncedSearch ? 20 : INITIAL_MEDIA_ITEMS_PER_PAGE,
|
|
43
|
-
media_type: category.mediaType,
|
|
44
43
|
search: debouncedSearch,
|
|
45
|
-
orderBy: !! debouncedSearch ? 'relevance' : 'date',
|
|
46
44
|
} );
|
|
47
45
|
const baseCssClass = 'block-editor-inserter__media-panel';
|
|
46
|
+
const searchLabel = category.labels.search_items || __( 'Search' );
|
|
48
47
|
return (
|
|
49
48
|
<div className={ baseCssClass }>
|
|
50
49
|
<SearchControl
|
|
51
50
|
className={ `${ baseCssClass }-search` }
|
|
52
51
|
onChange={ setSearch }
|
|
53
52
|
value={ search }
|
|
54
|
-
label={
|
|
55
|
-
|
|
56
|
-
__( 'Search %s' ),
|
|
57
|
-
category.label.toLocaleLowerCase()
|
|
58
|
-
) }
|
|
59
|
-
placeholder={ sprintf(
|
|
60
|
-
/* translators: %s: Name of the media category(ex. 'images, videos'). */
|
|
61
|
-
__( 'Search %s' ),
|
|
62
|
-
category.label.toLocaleLowerCase()
|
|
63
|
-
) }
|
|
53
|
+
label={ searchLabel }
|
|
54
|
+
placeholder={ searchLabel }
|
|
64
55
|
/>
|
|
65
|
-
{
|
|
56
|
+
{ isLoading && (
|
|
66
57
|
<div className={ `${ baseCssClass }-spinner` }>
|
|
67
58
|
<Spinner />
|
|
68
59
|
</div>
|
|
69
60
|
) }
|
|
70
|
-
{
|
|
71
|
-
|
|
72
|
-
) }
|
|
73
|
-
{ !! mediaList?.length && (
|
|
61
|
+
{ ! isLoading && ! mediaList?.length && <InserterNoResults /> }
|
|
62
|
+
{ ! isLoading && !! mediaList?.length && (
|
|
74
63
|
<MediaList
|
|
75
64
|
rootClientId={ rootClientId }
|
|
76
65
|
onClick={ onInsert }
|
|
77
66
|
mediaList={ mediaList }
|
|
78
|
-
|
|
67
|
+
category={ category }
|
|
79
68
|
/>
|
|
80
69
|
) }
|
|
81
70
|
</div>
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
FlexBlock,
|
|
16
16
|
Button,
|
|
17
17
|
} from '@wordpress/components';
|
|
18
|
-
import { useCallback } from '@wordpress/element';
|
|
18
|
+
import { useCallback, useMemo } from '@wordpress/element';
|
|
19
19
|
import { Icon, chevronRight } from '@wordpress/icons';
|
|
20
20
|
|
|
21
21
|
/**
|
|
@@ -49,6 +49,14 @@ function MediaTab( {
|
|
|
49
49
|
},
|
|
50
50
|
[ onInsert ]
|
|
51
51
|
);
|
|
52
|
+
const mobileMediaCategories = useMemo(
|
|
53
|
+
() =>
|
|
54
|
+
mediaCategories.map( ( mediaCategory ) => ( {
|
|
55
|
+
...mediaCategory,
|
|
56
|
+
label: mediaCategory.labels.name,
|
|
57
|
+
} ) ),
|
|
58
|
+
[ mediaCategories ]
|
|
59
|
+
);
|
|
52
60
|
return (
|
|
53
61
|
<>
|
|
54
62
|
{ ! isMobile && (
|
|
@@ -70,7 +78,7 @@ function MediaTab( {
|
|
|
70
78
|
mediaCategory,
|
|
71
79
|
}
|
|
72
80
|
) }
|
|
73
|
-
aria-label={ mediaCategory.
|
|
81
|
+
aria-label={ mediaCategory.labels.name }
|
|
74
82
|
aria-current={
|
|
75
83
|
mediaCategory === selectedCategory
|
|
76
84
|
? 'true'
|
|
@@ -79,7 +87,7 @@ function MediaTab( {
|
|
|
79
87
|
>
|
|
80
88
|
<HStack>
|
|
81
89
|
<FlexBlock>
|
|
82
|
-
{ mediaCategory.
|
|
90
|
+
{ mediaCategory.labels.name }
|
|
83
91
|
</FlexBlock>
|
|
84
92
|
<Icon icon={ chevronRight } />
|
|
85
93
|
</HStack>
|
|
@@ -118,7 +126,7 @@ function MediaTab( {
|
|
|
118
126
|
</div>
|
|
119
127
|
) }
|
|
120
128
|
{ isMobile && (
|
|
121
|
-
<MobileTabNavigation categories={
|
|
129
|
+
<MobileTabNavigation categories={ mobileMediaCategories }>
|
|
122
130
|
{ ( category ) => (
|
|
123
131
|
<MediaCategoryPanel
|
|
124
132
|
onInsert={ onInsert }
|
|
@@ -5,19 +5,23 @@ import { createBlock } from '@wordpress/blocks';
|
|
|
5
5
|
|
|
6
6
|
const mediaTypeTag = { image: 'img', video: 'video', audio: 'audio' };
|
|
7
7
|
|
|
8
|
+
/** @typedef {import('./hooks').InserterMediaItem} InserterMediaItem */
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Creates a block and a preview element from a media object.
|
|
12
|
+
*
|
|
13
|
+
* @param {InserterMediaItem} media The media object to create the block from.
|
|
14
|
+
* @param {('image'|'audio'|'video')} mediaType The media type to create the block for.
|
|
15
|
+
* @return {[WPBlock, JSX.Element]} An array containing the block and the preview element.
|
|
16
|
+
*/
|
|
8
17
|
export function getBlockAndPreviewFromMedia( media, mediaType ) {
|
|
9
18
|
// Add the common attributes between the different media types.
|
|
10
19
|
const attributes = {
|
|
11
|
-
id: media.id,
|
|
20
|
+
id: media.id || undefined,
|
|
21
|
+
caption: media.caption || undefined,
|
|
12
22
|
};
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const mediaSrc = media.source_url || media.url;
|
|
16
|
-
const alt = media.alt_text || media.alt || undefined;
|
|
17
|
-
const caption = media.caption?.raw || media.caption;
|
|
18
|
-
if ( caption && typeof caption === 'string' ) {
|
|
19
|
-
attributes.caption = caption;
|
|
20
|
-
}
|
|
23
|
+
const mediaSrc = media.url;
|
|
24
|
+
const alt = media.alt || undefined;
|
|
21
25
|
if ( mediaType === 'image' ) {
|
|
22
26
|
attributes.url = mediaSrc;
|
|
23
27
|
attributes.alt = alt;
|
|
@@ -27,10 +31,16 @@ export function getBlockAndPreviewFromMedia( media, mediaType ) {
|
|
|
27
31
|
const PreviewTag = mediaTypeTag[ mediaType ];
|
|
28
32
|
const preview = (
|
|
29
33
|
<PreviewTag
|
|
30
|
-
src={ mediaSrc }
|
|
34
|
+
src={ media.previewUrl || mediaSrc }
|
|
31
35
|
alt={ alt }
|
|
32
36
|
controls={ mediaType === 'audio' ? true : undefined }
|
|
33
37
|
inert="true"
|
|
38
|
+
onError={ ( { currentTarget } ) => {
|
|
39
|
+
// Fall back to the media source if the preview cannot be loaded.
|
|
40
|
+
if ( currentTarget.src === media.previewUrl ) {
|
|
41
|
+
currentTarget.src = mediaSrc;
|
|
42
|
+
}
|
|
43
|
+
} }
|
|
34
44
|
/>
|
|
35
45
|
);
|
|
36
46
|
return [ createBlock( `core/${ mediaType }`, attributes ), preview ];
|
|
@@ -23,8 +23,6 @@ function InserterPreviewPanel( { item } ) {
|
|
|
23
23
|
{ isReusable || example ? (
|
|
24
24
|
<div className="block-editor-inserter__preview-content">
|
|
25
25
|
<BlockPreview
|
|
26
|
-
__experimentalPadding={ 16 }
|
|
27
|
-
viewportWidth={ example?.viewportWidth ?? 500 }
|
|
28
26
|
blocks={
|
|
29
27
|
example
|
|
30
28
|
? getBlockFromExample( name, {
|
|
@@ -36,6 +34,10 @@ function InserterPreviewPanel( { item } ) {
|
|
|
36
34
|
} )
|
|
37
35
|
: createBlock( name, initialAttributes )
|
|
38
36
|
}
|
|
37
|
+
viewportWidth={ example?.viewportWidth ?? 500 }
|
|
38
|
+
additionalStyles={ [
|
|
39
|
+
{ css: 'body { padding: 16px; }' },
|
|
40
|
+
] }
|
|
39
41
|
/>
|
|
40
42
|
</div>
|
|
41
43
|
) : (
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { isEmpty } from 'lodash';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* WordPress dependencies
|
|
8
3
|
*/
|
|
@@ -135,7 +130,7 @@ function InserterSearchResults( {
|
|
|
135
130
|
);
|
|
136
131
|
|
|
137
132
|
const hasItems =
|
|
138
|
-
|
|
133
|
+
filteredBlockTypes.length > 0 || filteredBlockPatterns.length > 0;
|
|
139
134
|
|
|
140
135
|
const blocksUI = !! filteredBlockTypes.length && (
|
|
141
136
|
<InserterPanel
|
|
@@ -162,6 +157,7 @@ function InserterSearchResults( {
|
|
|
162
157
|
shownPatterns={ currentShownPatterns }
|
|
163
158
|
blockPatterns={ filteredBlockPatterns }
|
|
164
159
|
onClickPattern={ onSelectBlockPattern }
|
|
160
|
+
onHover={ onHover }
|
|
165
161
|
isDraggable={ isDraggable }
|
|
166
162
|
/>
|
|
167
163
|
</div>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Internal dependencies
|
|
3
3
|
*/
|
|
4
4
|
import BlockLibrary from '../library';
|
|
5
|
-
import
|
|
5
|
+
import { ExperimentalBlockEditorProvider } from '../../provider';
|
|
6
6
|
import { patternCategories, patterns, reusableBlocks } from './utils/fixtures';
|
|
7
7
|
import Inserter from '../';
|
|
8
8
|
|
|
@@ -16,11 +16,11 @@ export const libraryWithoutPatterns = () => {
|
|
|
16
16
|
display: 'inline-block',
|
|
17
17
|
};
|
|
18
18
|
return (
|
|
19
|
-
<
|
|
19
|
+
<ExperimentalBlockEditorProvider>
|
|
20
20
|
<div style={ wrapperStyle }>
|
|
21
21
|
<BlockLibrary showInserterHelpPanel />
|
|
22
22
|
</div>
|
|
23
|
-
</
|
|
23
|
+
</ExperimentalBlockEditorProvider>
|
|
24
24
|
);
|
|
25
25
|
};
|
|
26
26
|
|
|
@@ -32,7 +32,7 @@ export const libraryWithPatterns = () => {
|
|
|
32
32
|
display: 'inline-block',
|
|
33
33
|
};
|
|
34
34
|
return (
|
|
35
|
-
<
|
|
35
|
+
<ExperimentalBlockEditorProvider
|
|
36
36
|
settings={ {
|
|
37
37
|
__experimentalBlockPatternCategories: patternCategories,
|
|
38
38
|
__experimentalBlockPatterns: patterns,
|
|
@@ -41,7 +41,7 @@ export const libraryWithPatterns = () => {
|
|
|
41
41
|
<div style={ wrapperStyle }>
|
|
42
42
|
<BlockLibrary showInserterHelpPanel />
|
|
43
43
|
</div>
|
|
44
|
-
</
|
|
44
|
+
</ExperimentalBlockEditorProvider>
|
|
45
45
|
);
|
|
46
46
|
};
|
|
47
47
|
|
|
@@ -53,7 +53,7 @@ export const libraryWithPatternsAndReusableBlocks = () => {
|
|
|
53
53
|
display: 'inline-block',
|
|
54
54
|
};
|
|
55
55
|
return (
|
|
56
|
-
<
|
|
56
|
+
<ExperimentalBlockEditorProvider
|
|
57
57
|
settings={ {
|
|
58
58
|
__experimentalBlockPatternCategories: patternCategories,
|
|
59
59
|
__experimentalBlockPatterns: patterns,
|
|
@@ -63,7 +63,7 @@ export const libraryWithPatternsAndReusableBlocks = () => {
|
|
|
63
63
|
<div style={ wrapperStyle }>
|
|
64
64
|
<BlockLibrary showInserterHelpPanel />
|
|
65
65
|
</div>
|
|
66
|
-
</
|
|
66
|
+
</ExperimentalBlockEditorProvider>
|
|
67
67
|
);
|
|
68
68
|
};
|
|
69
69
|
|
|
@@ -75,7 +75,7 @@ export const quickInserter = () => {
|
|
|
75
75
|
display: 'inline-block',
|
|
76
76
|
};
|
|
77
77
|
return (
|
|
78
|
-
<
|
|
78
|
+
<ExperimentalBlockEditorProvider
|
|
79
79
|
settings={ {
|
|
80
80
|
__experimentalBlockPatternCategories: patternCategories,
|
|
81
81
|
__experimentalBlockPatterns: patterns,
|
|
@@ -85,6 +85,6 @@ export const quickInserter = () => {
|
|
|
85
85
|
<div style={ wrapperStyle }>
|
|
86
86
|
<Inserter __experimentalIsQuick />
|
|
87
87
|
</div>
|
|
88
|
-
</
|
|
88
|
+
</ExperimentalBlockEditorProvider>
|
|
89
89
|
);
|
|
90
90
|
};
|
|
@@ -564,8 +564,10 @@ $block-inserter-tabs-height: 44px;
|
|
|
564
564
|
}
|
|
565
565
|
|
|
566
566
|
.block-editor-inserter__media-panel {
|
|
567
|
-
height: 100%;
|
|
567
|
+
min-height: 100%;
|
|
568
568
|
padding: 0 $grid-unit-20;
|
|
569
|
+
display: flex;
|
|
570
|
+
flex-direction: column;
|
|
569
571
|
|
|
570
572
|
@include break-medium {
|
|
571
573
|
padding: 0;
|
|
@@ -576,6 +578,7 @@ $block-inserter-tabs-height: 44px;
|
|
|
576
578
|
display: flex;
|
|
577
579
|
align-items: center;
|
|
578
580
|
justify-content: center;
|
|
581
|
+
flex: 1;
|
|
579
582
|
}
|
|
580
583
|
|
|
581
584
|
.block-editor-inserter__media-panel-search {
|
|
@@ -583,13 +586,19 @@ $block-inserter-tabs-height: 44px;
|
|
|
583
586
|
input[type="search"].components-search-control__input {
|
|
584
587
|
background: $white;
|
|
585
588
|
}
|
|
589
|
+
button.components-button {
|
|
590
|
+
min-width: auto;
|
|
591
|
+
padding-left: $grid-unit-05 * 0.5;
|
|
592
|
+
padding-right: $grid-unit-05 * 0.5;
|
|
593
|
+
}
|
|
586
594
|
}
|
|
587
595
|
}
|
|
588
596
|
}
|
|
589
597
|
|
|
590
598
|
.block-editor-inserter__media-list {
|
|
591
599
|
margin-top: $grid-unit-20;
|
|
592
|
-
|
|
600
|
+
.block-editor-inserter__media-list__list-item {
|
|
601
|
+
position: relative;
|
|
593
602
|
cursor: pointer;
|
|
594
603
|
margin-bottom: $grid-unit-30;
|
|
595
604
|
|
|
@@ -600,16 +609,52 @@ $block-inserter-tabs-height: 44px;
|
|
|
600
609
|
&[draggable="true"] .block-editor-block-preview__container {
|
|
601
610
|
cursor: grab;
|
|
602
611
|
}
|
|
612
|
+
|
|
613
|
+
&.is-hovered {
|
|
614
|
+
.block-editor-inserter__media-list__item-preview {
|
|
615
|
+
box-shadow: 0 0 0 2px $gray-900, 0 15px 25px rgb(0 0 0 / 7%);
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
.block-editor-inserter__media-list__item-preview-options > button {
|
|
619
|
+
display: block;
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
|
|
623
|
+
.block-editor-inserter__media-list__item-preview-options {
|
|
624
|
+
position: absolute;
|
|
625
|
+
right: $grid-unit-10;
|
|
626
|
+
top: $grid-unit-10;
|
|
627
|
+
|
|
628
|
+
> button {
|
|
629
|
+
background: $white;
|
|
630
|
+
border-radius: $radius-block-ui;
|
|
631
|
+
display: none;
|
|
632
|
+
|
|
633
|
+
// These styles are important so as focus isn't lost
|
|
634
|
+
// when the button is focused and we hover away.
|
|
635
|
+
&.is-opened,
|
|
636
|
+
&:focus {
|
|
637
|
+
display: block;
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
&:hover {
|
|
641
|
+
box-shadow: inset 0 0 0 2px $white, 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
|
|
642
|
+
|
|
643
|
+
// Windows High Contrast mode will show this outline, but not the box-shadow.
|
|
644
|
+
outline: 2px solid transparent;
|
|
645
|
+
}
|
|
646
|
+
}
|
|
647
|
+
}
|
|
603
648
|
}
|
|
604
649
|
|
|
605
|
-
|
|
650
|
+
.block-editor-inserter__media-list__item {
|
|
606
651
|
height: 100%;
|
|
607
652
|
|
|
608
|
-
|
|
653
|
+
.block-editor-inserter__media-list__item-preview {
|
|
609
654
|
display: flex;
|
|
610
655
|
align-items: center;
|
|
611
656
|
overflow: hidden;
|
|
612
|
-
border-radius:
|
|
657
|
+
border-radius: 2px;
|
|
613
658
|
|
|
614
659
|
> * {
|
|
615
660
|
margin: 0 auto;
|
|
@@ -617,12 +662,8 @@ $block-inserter-tabs-height: 44px;
|
|
|
617
662
|
}
|
|
618
663
|
}
|
|
619
664
|
|
|
620
|
-
&:
|
|
621
|
-
box-shadow: 0 0 0 2px var(--wp-admin-theme-color);
|
|
622
|
-
}
|
|
623
|
-
|
|
624
|
-
&:focus &-preview {
|
|
625
|
-
box-shadow: inset 0 0 0 1px $white, 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
|
|
665
|
+
&:focus .block-editor-inserter__media-list__item-preview {
|
|
666
|
+
box-shadow: inset 0 0 0 2px $white, 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
|
|
626
667
|
|
|
627
668
|
// Windows High Contrast mode will show this outline, but not the box-shadow.
|
|
628
669
|
outline: 2px solid transparent;
|
|
@@ -630,6 +671,12 @@ $block-inserter-tabs-height: 44px;
|
|
|
630
671
|
}
|
|
631
672
|
}
|
|
632
673
|
|
|
674
|
+
.block-editor-inserter__media-list__item-preview-options__popover {
|
|
675
|
+
.components-menu-item__button .components-menu-item__item {
|
|
676
|
+
min-width: auto;
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
|
|
633
680
|
|
|
634
681
|
.block-editor-inserter__mobile-tab-navigation {
|
|
635
682
|
padding: $grid-unit-20;
|
|
@@ -107,12 +107,6 @@ function InserterListItem( {
|
|
|
107
107
|
onHover( null );
|
|
108
108
|
}
|
|
109
109
|
} }
|
|
110
|
-
onFocus={ () => {
|
|
111
|
-
if ( isDragging.current ) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
onHover( item );
|
|
115
|
-
} }
|
|
116
110
|
onMouseEnter={ () => {
|
|
117
111
|
if ( isDragging.current ) {
|
|
118
112
|
return;
|
|
@@ -120,7 +114,6 @@ function InserterListItem( {
|
|
|
120
114
|
onHover( item );
|
|
121
115
|
} }
|
|
122
116
|
onMouseLeave={ () => onHover( null ) }
|
|
123
|
-
onBlur={ () => onHover( null ) }
|
|
124
117
|
{ ...props }
|
|
125
118
|
>
|
|
126
119
|
<span
|
|
@@ -188,9 +188,7 @@ Inspector Advanced Controls appear under the _Advanced_ panel of a block's [Insp
|
|
|
188
188
|
### Usage
|
|
189
189
|
|
|
190
190
|
```js
|
|
191
|
-
import {
|
|
192
|
-
TextControl,
|
|
193
|
-
} from '@wordpress/components';
|
|
191
|
+
import { TextControl } from '@wordpress/components';
|
|
194
192
|
import {
|
|
195
193
|
InspectorControls,
|
|
196
194
|
InspectorAdvancedControls,
|
|
@@ -199,11 +197,9 @@ import {
|
|
|
199
197
|
function MyBlockEdit( { attributes, setAttributes } ) {
|
|
200
198
|
return (
|
|
201
199
|
<>
|
|
202
|
-
<div>
|
|
203
|
-
{ /* Block markup goes here */ }
|
|
204
|
-
</div
|
|
200
|
+
<div>{ /* Block markup goes here */ }</div>
|
|
205
201
|
<InspectorControls>
|
|
206
|
-
{ /* Regular control goes here */
|
|
202
|
+
{ /* Regular control goes here */ }
|
|
207
203
|
</InspectorControls>
|
|
208
204
|
<InspectorAdvancedControls>
|
|
209
205
|
<TextControl
|
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
__experimentalToolsPanelContext as ToolsPanelContext,
|
|
12
12
|
} from '@wordpress/components';
|
|
13
13
|
import warning from '@wordpress/warning';
|
|
14
|
+
import deprecated from '@wordpress/deprecated';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* Internal dependencies
|
|
@@ -19,9 +20,22 @@ import useDisplayBlockControls from '../use-display-block-controls';
|
|
|
19
20
|
import groups from './groups';
|
|
20
21
|
|
|
21
22
|
export default function InspectorControlsFill( {
|
|
22
|
-
__experimentalGroup: group = 'default',
|
|
23
23
|
children,
|
|
24
|
+
group = 'default',
|
|
25
|
+
__experimentalGroup,
|
|
24
26
|
} ) {
|
|
27
|
+
if ( __experimentalGroup ) {
|
|
28
|
+
deprecated(
|
|
29
|
+
'`__experimentalGroup` property in `InspectorControlsFill`',
|
|
30
|
+
{
|
|
31
|
+
since: '6.2',
|
|
32
|
+
version: '6.4',
|
|
33
|
+
alternative: '`group`',
|
|
34
|
+
}
|
|
35
|
+
);
|
|
36
|
+
group = __experimentalGroup;
|
|
37
|
+
}
|
|
38
|
+
|
|
25
39
|
const isDisplayed = useDisplayBlockControls();
|
|
26
40
|
const Fill = groups[ group ]?.Fill;
|
|
27
41
|
if ( ! Fill ) {
|