@wordpress/block-editor 11.2.0 → 11.3.1
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-actions/index.js +7 -2
- package/build/components/block-actions/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/iframe/index.js +5 -3
- package/build/components/iframe/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 +9 -2
- 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 +4 -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-contents.js +3 -1
- package/build/components/off-canvas-editor/block-contents.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 +27 -20
- 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 +39 -17
- 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 +32 -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 -48
- 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-actions/index.js +7 -2
- package/build-module/components/block-actions/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/iframe/index.js +6 -4
- package/build-module/components/iframe/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 +9 -2
- 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 +4 -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-contents.js +2 -1
- package/build-module/components/off-canvas-editor/block-contents.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 +27 -19
- 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 +36 -16
- 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 +23 -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 -37
- 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-actions/index.js +9 -0
- 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/iframe/index.js +8 -2
- 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 +9 -1
- 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 +8 -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-contents.js +2 -1
- 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 +20 -20
- 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 +56 -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 +20 -0
- package/src/store/reducer.js +1 -1
- package/src/store/selectors.js +103 -62
- package/src/store/test/actions.js +0 -18
- package/src/store/test/private-actions.js +22 -0
- package/src/store/test/private-selectors.js +52 -0
- package/src/store/test/selectors.js +52 -54
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-list.js"],"names":["__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","Tooltip","__","useMemo","useCallback","cloneBlock","InserterDraggableBlocks","getBlockAndPreviewFromMedia","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-list.js"],"names":["classnames","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","Tooltip","DropdownMenu","MenuGroup","MenuItem","__","sprintf","useMemo","useCallback","useState","cloneBlock","moreVertical","external","InserterDraggableBlocks","getBlockAndPreviewFromMedia","MAXIMUM_TITLE_LENGTH","MEDIA_OPTIONS_POPOVER_PROPS","position","className","MediaPreviewOptions","category","media","getReportUrl","reportUrl","window","open","focus","mediaType","MediaPreview","onClick","composite","isHovered","setIsHovered","block","preview","title","rendered","truncatedTitle","length","omission","slice","onMouseEnter","onMouseLeave","draggable","onDragStart","onDragEnd","MediaList","mediaList","label","onPreviewClick","map","index","id","sourceId"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\n\tTooltip,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useCallback, useState } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { moreVertical, external } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport InserterDraggableBlocks from '../../inserter-draggable-blocks';\nimport { getBlockAndPreviewFromMedia } from './utils';\n\nconst MAXIMUM_TITLE_LENGTH = 25;\nconst MEDIA_OPTIONS_POPOVER_PROPS = {\n\tposition: 'bottom left',\n\tclassName:\n\t\t'block-editor-inserter__media-list__item-preview-options__popover',\n};\n\nfunction MediaPreviewOptions( { category, media } ) {\n\tif ( ! category.getReportUrl ) {\n\t\treturn null;\n\t}\n\tconst reportUrl = category.getReportUrl( media );\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-inserter__media-list__item-preview-options\"\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tpopoverProps={ MEDIA_OPTIONS_POPOVER_PROPS }\n\t\t\ticon={ moreVertical }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\twindow.open( reportUrl, '_blank' ).focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: The media type to report e.g: \"image\", \"video\", \"audio\" */\n\t\t\t\t\t\t\t__( 'Report %s' ),\n\t\t\t\t\t\t\tcategory.mediaType\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction MediaPreview( { media, onClick, composite, category } ) {\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ block, preview ] = useMemo(\n\t\t() => getBlockAndPreviewFromMedia( media, category.mediaType ),\n\t\t[ media, category.mediaType ]\n\t);\n\tconst title = media.title?.rendered || media.title;\n\tlet truncatedTitle;\n\tif ( title.length > MAXIMUM_TITLE_LENGTH ) {\n\t\tconst omission = '...';\n\t\ttruncatedTitle =\n\t\t\ttitle.slice( 0, MAXIMUM_TITLE_LENGTH - omission.length ) + omission;\n\t}\n\tconst onMouseEnter = useCallback( () => setIsHovered( true ), [] );\n\tconst onMouseLeave = useCallback( () => setIsHovered( false ), [] );\n\treturn (\n\t\t<InserterDraggableBlocks isEnabled={ true } blocks={ [ block ] }>\n\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t<div\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'block-editor-inserter__media-list__list-item',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\tonDragStart={ onDragStart }\n\t\t\t\t\tonDragEnd={ onDragEnd }\n\t\t\t\t>\n\t\t\t\t\t<Tooltip text={ truncatedTitle || title }>\n\t\t\t\t\t\t{ /* Adding `is-hovered` class to the wrapper element is needed\n\t\t\t\t\t\t\tbecause the options Popover is rendered outside of this node. */ }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\tas=\"div\"\n\t\t\t\t\t\t\t\t{ ...composite }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-list__item\"\n\t\t\t\t\t\t\t\tonClick={ () => onClick( block ) }\n\t\t\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview\">\n\t\t\t\t\t\t\t\t\t{ preview }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t\t\t<MediaPreviewOptions\n\t\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t\t\tmedia={ media }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</Tooltip>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</InserterDraggableBlocks>\n\t);\n}\n\nfunction MediaList( {\n\tmediaList,\n\tcategory,\n\tonClick,\n\tlabel = __( 'Media List' ),\n} ) {\n\tconst composite = useCompositeState();\n\tconst onPreviewClick = useCallback(\n\t\t( block ) => {\n\t\t\tonClick( cloneBlock( block ) );\n\t\t},\n\t\t[ onClick ]\n\t);\n\treturn (\n\t\t<Composite\n\t\t\t{ ...composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-inserter__media-list\"\n\t\t\taria-label={ label }\n\t\t>\n\t\t\t{ mediaList.map( ( media, index ) => (\n\t\t\t\t<MediaPreview\n\t\t\t\t\tkey={ media.id || media.sourceId || index }\n\t\t\t\t\tmedia={ media }\n\t\t\t\t\tcategory={ category }\n\t\t\t\t\tonClick={ onPreviewClick }\n\t\t\t\t\tcomposite={ composite }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport default MediaList;\n"]}
|
|
@@ -6,7 +6,7 @@ import { createElement } from "@wordpress/element";
|
|
|
6
6
|
import { useRef, useEffect } from '@wordpress/element';
|
|
7
7
|
import { Spinner, SearchControl } from '@wordpress/components';
|
|
8
8
|
import { focus } from '@wordpress/dom';
|
|
9
|
-
import { __
|
|
9
|
+
import { __ } from '@wordpress/i18n';
|
|
10
10
|
/**
|
|
11
11
|
* Internal dependencies
|
|
12
12
|
*/
|
|
@@ -46,32 +46,32 @@ export function MediaCategoryPanel(_ref2) {
|
|
|
46
46
|
category
|
|
47
47
|
} = _ref2;
|
|
48
48
|
const [search, setSearch, debouncedSearch] = useDebouncedInput();
|
|
49
|
-
const
|
|
49
|
+
const {
|
|
50
|
+
mediaList,
|
|
51
|
+
isLoading
|
|
52
|
+
} = useMediaResults(category, {
|
|
50
53
|
per_page: !!debouncedSearch ? 20 : INITIAL_MEDIA_ITEMS_PER_PAGE,
|
|
51
|
-
|
|
52
|
-
search: debouncedSearch,
|
|
53
|
-
orderBy: !!debouncedSearch ? 'relevance' : 'date'
|
|
54
|
+
search: debouncedSearch
|
|
54
55
|
});
|
|
55
56
|
const baseCssClass = 'block-editor-inserter__media-panel';
|
|
57
|
+
|
|
58
|
+
const searchLabel = category.labels.search_items || __('Search');
|
|
59
|
+
|
|
56
60
|
return createElement("div", {
|
|
57
61
|
className: baseCssClass
|
|
58
62
|
}, createElement(SearchControl, {
|
|
59
63
|
className: `${baseCssClass}-search`,
|
|
60
64
|
onChange: setSearch,
|
|
61
65
|
value: search,
|
|
62
|
-
label:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
placeholder: sprintf(
|
|
66
|
-
/* translators: %s: Name of the media category(ex. 'images, videos'). */
|
|
67
|
-
__('Search %s'), category.label.toLocaleLowerCase())
|
|
68
|
-
}), !mediaList && createElement("div", {
|
|
66
|
+
label: searchLabel,
|
|
67
|
+
placeholder: searchLabel
|
|
68
|
+
}), isLoading && createElement("div", {
|
|
69
69
|
className: `${baseCssClass}-spinner`
|
|
70
|
-
}, createElement(Spinner, null)),
|
|
70
|
+
}, createElement(Spinner, null)), !isLoading && !(mediaList !== null && mediaList !== void 0 && mediaList.length) && createElement(InserterNoResults, null), !isLoading && !!(mediaList !== null && mediaList !== void 0 && mediaList.length) && createElement(MediaList, {
|
|
71
71
|
rootClientId: rootClientId,
|
|
72
72
|
onClick: onInsert,
|
|
73
73
|
mediaList: mediaList,
|
|
74
|
-
|
|
74
|
+
category: category
|
|
75
75
|
}));
|
|
76
76
|
}
|
|
77
77
|
//# sourceMappingURL=media-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-panel.js"],"names":["useRef","useEffect","Spinner","SearchControl","focus","__","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-panel.js"],"names":["useRef","useEffect","Spinner","SearchControl","focus","__","MediaList","useDebouncedInput","useMediaResults","InserterNoResults","INITIAL_MEDIA_ITEMS_PER_PAGE","MediaCategoryDialog","rootClientId","onInsert","category","container","timeout","setTimeout","firstTabbable","tabbable","find","current","clearTimeout","MediaCategoryPanel","search","setSearch","debouncedSearch","mediaList","isLoading","per_page","baseCssClass","searchLabel","labels","search_items","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,MAAT,EAAiBC,SAAjB,QAAkC,oBAAlC;AACA,SAASC,OAAT,EAAkBC,aAAlB,QAAuC,uBAAvC;AACA,SAASC,KAAT,QAAsB,gBAAtB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,cAAtB;AACA,OAAOC,iBAAP,MAA8B,8BAA9B;AACA,SAASC,eAAT,QAAgC,SAAhC;AACA,OAAOC,iBAAP,MAA8B,eAA9B;AAEA,MAAMC,4BAA4B,GAAG,EAArC;AAEA,OAAO,SAASC,mBAAT,OAAqE;AAAA,MAAvC;AAAEC,IAAAA,YAAF;AAAgBC,IAAAA,QAAhB;AAA0BC,IAAAA;AAA1B,GAAuC;AAC3E,QAAMC,SAAS,GAAGf,MAAM,EAAxB;AACAC,EAAAA,SAAS,CAAE,MAAM;AAChB,UAAMe,OAAO,GAAGC,UAAU,CAAE,MAAM;AACjC,YAAM,CAAEC,aAAF,IAAoBd,KAAK,CAACe,QAAN,CAAeC,IAAf,CAAqBL,SAAS,CAACM,OAA/B,CAA1B;AACAH,MAAAA,aAAa,SAAb,IAAAA,aAAa,WAAb,YAAAA,aAAa,CAAEd,KAAf;AACA,KAHyB,CAA1B;AAIA,WAAO,MAAMkB,YAAY,CAAEN,OAAF,CAAzB;AACA,GANQ,EAMN,CAAEF,QAAF,CANM,CAAT;AAOA,SACC;AAAK,IAAA,GAAG,EAAGC,SAAX;AAAuB,IAAA,SAAS,EAAC;AAAjC,KACC,cAAC,kBAAD;AACC,IAAA,YAAY,EAAGH,YADhB;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,QAAQ,EAAGC;AAHZ,IADD,CADD;AASA;AAED,OAAO,SAASS,kBAAT,QAAoE;AAAA,MAAvC;AAAEX,IAAAA,YAAF;AAAgBC,IAAAA,QAAhB;AAA0BC,IAAAA;AAA1B,GAAuC;AAC1E,QAAM,CAAEU,MAAF,EAAUC,SAAV,EAAqBC,eAArB,IAAyCnB,iBAAiB,EAAhE;AACA,QAAM;AAAEoB,IAAAA,SAAF;AAAaC,IAAAA;AAAb,MAA2BpB,eAAe,CAAEM,QAAF,EAAY;AAC3De,IAAAA,QAAQ,EAAE,CAAC,CAAEH,eAAH,GAAqB,EAArB,GAA0BhB,4BADuB;AAE3Dc,IAAAA,MAAM,EAAEE;AAFmD,GAAZ,CAAhD;AAIA,QAAMI,YAAY,GAAG,oCAArB;;AACA,QAAMC,WAAW,GAAGjB,QAAQ,CAACkB,MAAT,CAAgBC,YAAhB,IAAgC5B,EAAE,CAAE,QAAF,CAAtD;;AACA,SACC;AAAK,IAAA,SAAS,EAAGyB;AAAjB,KACC,cAAC,aAAD;AACC,IAAA,SAAS,EAAI,GAAGA,YAAc,SAD/B;AAEC,IAAA,QAAQ,EAAGL,SAFZ;AAGC,IAAA,KAAK,EAAGD,MAHT;AAIC,IAAA,KAAK,EAAGO,WAJT;AAKC,IAAA,WAAW,EAAGA;AALf,IADD,EAQGH,SAAS,IACV;AAAK,IAAA,SAAS,EAAI,GAAGE,YAAc;AAAnC,KACC,cAAC,OAAD,OADD,CATF,EAaG,CAAEF,SAAF,IAAe,EAAED,SAAF,aAAEA,SAAF,eAAEA,SAAS,CAAEO,MAAb,CAAf,IAAsC,cAAC,iBAAD,OAbzC,EAcG,CAAEN,SAAF,IAAe,CAAC,EAAED,SAAF,aAAEA,SAAF,eAAEA,SAAS,CAAEO,MAAb,CAAhB,IACD,cAAC,SAAD;AACC,IAAA,YAAY,EAAGtB,YADhB;AAEC,IAAA,OAAO,EAAGC,QAFX;AAGC,IAAA,SAAS,EAAGc,SAHb;AAIC,IAAA,QAAQ,EAAGb;AAJZ,IAfF,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef, useEffect } from '@wordpress/element';\nimport { Spinner, SearchControl } from '@wordpress/components';\nimport { focus } from '@wordpress/dom';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport MediaList from './media-list';\nimport useDebouncedInput from '../hooks/use-debounced-input';\nimport { useMediaResults } from './hooks';\nimport InserterNoResults from '../no-results';\n\nconst INITIAL_MEDIA_ITEMS_PER_PAGE = 10;\n\nexport function MediaCategoryDialog( { rootClientId, onInsert, category } ) {\n\tconst container = useRef();\n\tuseEffect( () => {\n\t\tconst timeout = setTimeout( () => {\n\t\t\tconst [ firstTabbable ] = focus.tabbable.find( container.current );\n\t\t\tfirstTabbable?.focus();\n\t\t} );\n\t\treturn () => clearTimeout( timeout );\n\t}, [ category ] );\n\treturn (\n\t\t<div ref={ container } className=\"block-editor-inserter__media-dialog\">\n\t\t\t<MediaCategoryPanel\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t\tcategory={ category }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport function MediaCategoryPanel( { rootClientId, onInsert, category } ) {\n\tconst [ search, setSearch, debouncedSearch ] = useDebouncedInput();\n\tconst { mediaList, isLoading } = useMediaResults( category, {\n\t\tper_page: !! debouncedSearch ? 20 : INITIAL_MEDIA_ITEMS_PER_PAGE,\n\t\tsearch: debouncedSearch,\n\t} );\n\tconst baseCssClass = 'block-editor-inserter__media-panel';\n\tconst searchLabel = category.labels.search_items || __( 'Search' );\n\treturn (\n\t\t<div className={ baseCssClass }>\n\t\t\t<SearchControl\n\t\t\t\tclassName={ `${ baseCssClass }-search` }\n\t\t\t\tonChange={ setSearch }\n\t\t\t\tvalue={ search }\n\t\t\t\tlabel={ searchLabel }\n\t\t\t\tplaceholder={ searchLabel }\n\t\t\t/>\n\t\t\t{ isLoading && (\n\t\t\t\t<div className={ `${ baseCssClass }-spinner` }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ ! isLoading && ! mediaList?.length && <InserterNoResults /> }\n\t\t\t{ ! isLoading && !! mediaList?.length && (\n\t\t\t\t<MediaList\n\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\tonClick={ onInsert }\n\t\t\t\t\tmediaList={ mediaList }\n\t\t\t\t\tcategory={ category }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -11,7 +11,7 @@ import classNames from 'classnames';
|
|
|
11
11
|
import { __ } from '@wordpress/i18n';
|
|
12
12
|
import { useViewportMatch } from '@wordpress/compose';
|
|
13
13
|
import { __experimentalItemGroup as ItemGroup, __experimentalItem as Item, __experimentalHStack as HStack, FlexBlock, Button } from '@wordpress/components';
|
|
14
|
-
import { useCallback } from '@wordpress/element';
|
|
14
|
+
import { useCallback, useMemo } from '@wordpress/element';
|
|
15
15
|
import { Icon, chevronRight } from '@wordpress/icons';
|
|
16
16
|
/**
|
|
17
17
|
* Internal dependencies
|
|
@@ -43,6 +43,9 @@ function MediaTab(_ref) {
|
|
|
43
43
|
const [block] = getBlockAndPreviewFromMedia(media, media.type);
|
|
44
44
|
onInsert(block);
|
|
45
45
|
}, [onInsert]);
|
|
46
|
+
const mobileMediaCategories = useMemo(() => mediaCategories.map(mediaCategory => ({ ...mediaCategory,
|
|
47
|
+
label: mediaCategory.labels.name
|
|
48
|
+
})), [mediaCategories]);
|
|
46
49
|
return createElement(Fragment, null, !isMobile && createElement("div", {
|
|
47
50
|
className: `${baseCssClass}-container`
|
|
48
51
|
}, createElement("nav", {
|
|
@@ -57,9 +60,9 @@ function MediaTab(_ref) {
|
|
|
57
60
|
className: classNames(`${baseCssClass}__media-category`, {
|
|
58
61
|
'is-selected': selectedCategory === mediaCategory
|
|
59
62
|
}),
|
|
60
|
-
"aria-label": mediaCategory.
|
|
63
|
+
"aria-label": mediaCategory.labels.name,
|
|
61
64
|
"aria-current": mediaCategory === selectedCategory ? 'true' : undefined
|
|
62
|
-
}, createElement(HStack, null, createElement(FlexBlock, null, mediaCategory.
|
|
65
|
+
}, createElement(HStack, null, createElement(FlexBlock, null, mediaCategory.labels.name), createElement(Icon, {
|
|
63
66
|
icon: chevronRight
|
|
64
67
|
})))), createElement("div", {
|
|
65
68
|
role: "listitem"
|
|
@@ -88,7 +91,7 @@ function MediaTab(_ref) {
|
|
|
88
91
|
}, __('Open Media Library'));
|
|
89
92
|
}
|
|
90
93
|
})))))), isMobile && createElement(MobileTabNavigation, {
|
|
91
|
-
categories:
|
|
94
|
+
categories: mobileMediaCategories
|
|
92
95
|
}, category => createElement(MediaCategoryPanel, {
|
|
93
96
|
onInsert: onInsert,
|
|
94
97
|
rootClientId: rootClientId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-tab.js"],"names":["classNames","__","useViewportMatch","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalHStack","HStack","FlexBlock","Button","useCallback","Icon","chevronRight","MediaCategoryPanel","MediaUploadCheck","MediaUpload","useMediaCategories","getBlockAndPreviewFromMedia","MobileTabNavigation","ALLOWED_MEDIA_TYPES","MediaTab","rootClientId","selectedCategory","onSelectCategory","onInsert","mediaCategories","isMobile","baseCssClass","onSelectMedia","media","url","block","type","map","mediaCategory","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-tab.js"],"names":["classNames","__","useViewportMatch","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalHStack","HStack","FlexBlock","Button","useCallback","useMemo","Icon","chevronRight","MediaCategoryPanel","MediaUploadCheck","MediaUpload","useMediaCategories","getBlockAndPreviewFromMedia","MobileTabNavigation","ALLOWED_MEDIA_TYPES","MediaTab","rootClientId","selectedCategory","onSelectCategory","onInsert","mediaCategories","isMobile","baseCssClass","onSelectMedia","media","url","block","type","mobileMediaCategories","map","mediaCategory","label","labels","name","undefined","open","event","target","focus","category"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHStack as HStack,\n\tFlexBlock,\n\tButton,\n} from '@wordpress/components';\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { Icon, chevronRight } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { MediaCategoryPanel } from './media-panel';\nimport MediaUploadCheck from '../../media-upload/check';\nimport MediaUpload from '../../media-upload';\nimport { useMediaCategories } from './hooks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport MobileTabNavigation from '../mobile-tab-navigation';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video', 'audio' ];\n\nfunction MediaTab( {\n\trootClientId,\n\tselectedCategory,\n\tonSelectCategory,\n\tonInsert,\n} ) {\n\tconst mediaCategories = useMediaCategories( rootClientId );\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\tconst baseCssClass = 'block-editor-inserter__media-tabs';\n\tconst onSelectMedia = useCallback(\n\t\t( media ) => {\n\t\t\tif ( ! media?.url ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst [ block ] = getBlockAndPreviewFromMedia( media, media.type );\n\t\t\tonInsert( block );\n\t\t},\n\t\t[ onInsert ]\n\t);\n\tconst mobileMediaCategories = useMemo(\n\t\t() =>\n\t\t\tmediaCategories.map( ( mediaCategory ) => ( {\n\t\t\t\t...mediaCategory,\n\t\t\t\tlabel: mediaCategory.labels.name,\n\t\t\t} ) ),\n\t\t[ mediaCategories ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ ! isMobile && (\n\t\t\t\t<div className={ `${ baseCssClass }-container` }>\n\t\t\t\t\t<nav aria-label={ __( 'Media categories' ) }>\n\t\t\t\t\t\t<ItemGroup role=\"list\" className={ baseCssClass }>\n\t\t\t\t\t\t\t{ mediaCategories.map( ( mediaCategory ) => (\n\t\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\t\trole=\"listitem\"\n\t\t\t\t\t\t\t\t\tkey={ mediaCategory.name }\n\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\tonSelectCategory( mediaCategory )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tclassName={ classNames(\n\t\t\t\t\t\t\t\t\t\t`${ baseCssClass }__media-category`,\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-selected':\n\t\t\t\t\t\t\t\t\t\t\t\tselectedCategory ===\n\t\t\t\t\t\t\t\t\t\t\t\tmediaCategory,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\taria-label={ mediaCategory.labels.name }\n\t\t\t\t\t\t\t\t\taria-current={\n\t\t\t\t\t\t\t\t\t\tmediaCategory === selectedCategory\n\t\t\t\t\t\t\t\t\t\t\t? 'true'\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<HStack>\n\t\t\t\t\t\t\t\t\t\t<FlexBlock>\n\t\t\t\t\t\t\t\t\t\t\t{ mediaCategory.labels.name }\n\t\t\t\t\t\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ chevronRight } />\n\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t<div role=\"listitem\">\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\t\tmultiple={ false }\n\t\t\t\t\t\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// Safari doesn't emit a focus event on button elements when\n\t\t\t\t\t\t\t\t\t\t\t\t\t// clicked and we need to manually focus the button here.\n\t\t\t\t\t\t\t\t\t\t\t\t\t// The reason is that core's Media Library modal explicitly triggers a\n\t\t\t\t\t\t\t\t\t\t\t\t\t// focus event and therefore a `blur` event is triggered on a different\n\t\t\t\t\t\t\t\t\t\t\t\t\t// element, which doesn't contain the `data-unstable-ignore-focus-outside-for-relatedtarget`\n\t\t\t\t\t\t\t\t\t\t\t\t\t// attribute making the Inserter dialog to close.\n\t\t\t\t\t\t\t\t\t\t\t\t\tevent.target.focus();\n\t\t\t\t\t\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-library-button\"\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\tdata-unstable-ignore-focus-outside-for-relatedtarget=\".media-modal\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t</nav>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ isMobile && (\n\t\t\t\t<MobileTabNavigation categories={ mobileMediaCategories }>\n\t\t\t\t\t{ ( category ) => (\n\t\t\t\t\t\t<MediaCategoryPanel\n\t\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</MobileTabNavigation>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default MediaTab;\n"]}
|
|
@@ -9,22 +9,24 @@ const mediaTypeTag = {
|
|
|
9
9
|
video: 'video',
|
|
10
10
|
audio: 'audio'
|
|
11
11
|
};
|
|
12
|
-
|
|
13
|
-
var _media$caption;
|
|
12
|
+
/** @typedef {import('./hooks').InserterMediaItem} InserterMediaItem */
|
|
14
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Creates a block and a preview element from a media object.
|
|
16
|
+
*
|
|
17
|
+
* @param {InserterMediaItem} media The media object to create the block from.
|
|
18
|
+
* @param {('image'|'audio'|'video')} mediaType The media type to create the block for.
|
|
19
|
+
* @return {[WPBlock, JSX.Element]} An array containing the block and the preview element.
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
export function getBlockAndPreviewFromMedia(media, mediaType) {
|
|
15
23
|
// Add the common attributes between the different media types.
|
|
16
24
|
const attributes = {
|
|
17
|
-
id: media.id
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const
|
|
22
|
-
const alt = media.alt_text || media.alt || undefined;
|
|
23
|
-
const caption = ((_media$caption = media.caption) === null || _media$caption === void 0 ? void 0 : _media$caption.raw) || media.caption;
|
|
24
|
-
|
|
25
|
-
if (caption && typeof caption === 'string') {
|
|
26
|
-
attributes.caption = caption;
|
|
27
|
-
}
|
|
25
|
+
id: media.id || undefined,
|
|
26
|
+
caption: media.caption || undefined
|
|
27
|
+
};
|
|
28
|
+
const mediaSrc = media.url;
|
|
29
|
+
const alt = media.alt || undefined;
|
|
28
30
|
|
|
29
31
|
if (mediaType === 'image') {
|
|
30
32
|
attributes.url = mediaSrc;
|
|
@@ -35,10 +37,20 @@ export function getBlockAndPreviewFromMedia(media, mediaType) {
|
|
|
35
37
|
|
|
36
38
|
const PreviewTag = mediaTypeTag[mediaType];
|
|
37
39
|
const preview = createElement(PreviewTag, {
|
|
38
|
-
src: mediaSrc,
|
|
40
|
+
src: media.previewUrl || mediaSrc,
|
|
39
41
|
alt: alt,
|
|
40
42
|
controls: mediaType === 'audio' ? true : undefined,
|
|
41
|
-
inert: "true"
|
|
43
|
+
inert: "true",
|
|
44
|
+
onError: _ref => {
|
|
45
|
+
let {
|
|
46
|
+
currentTarget
|
|
47
|
+
} = _ref;
|
|
48
|
+
|
|
49
|
+
// Fall back to the media source if the preview cannot be loaded.
|
|
50
|
+
if (currentTarget.src === media.previewUrl) {
|
|
51
|
+
currentTarget.src = mediaSrc;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
42
54
|
});
|
|
43
55
|
return [createBlock(`core/${mediaType}`, attributes), preview];
|
|
44
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/media-tab/utils.js"],"names":["createBlock","mediaTypeTag","image","video","audio","getBlockAndPreviewFromMedia","media","mediaType","attributes","id","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/media-tab/utils.js"],"names":["createBlock","mediaTypeTag","image","video","audio","getBlockAndPreviewFromMedia","media","mediaType","attributes","id","undefined","caption","mediaSrc","url","alt","includes","src","PreviewTag","preview","previewUrl","currentTarget"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,mBAA5B;AAEA,MAAMC,YAAY,GAAG;AAAEC,EAAAA,KAAK,EAAE,KAAT;AAAgBC,EAAAA,KAAK,EAAE,OAAvB;AAAgCC,EAAAA,KAAK,EAAE;AAAvC,CAArB;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,2BAAT,CAAsCC,KAAtC,EAA6CC,SAA7C,EAAyD;AAC/D;AACA,QAAMC,UAAU,GAAG;AAClBC,IAAAA,EAAE,EAAEH,KAAK,CAACG,EAAN,IAAYC,SADE;AAElBC,IAAAA,OAAO,EAAEL,KAAK,CAACK,OAAN,IAAiBD;AAFR,GAAnB;AAIA,QAAME,QAAQ,GAAGN,KAAK,CAACO,GAAvB;AACA,QAAMC,GAAG,GAAGR,KAAK,CAACQ,GAAN,IAAaJ,SAAzB;;AACA,MAAKH,SAAS,KAAK,OAAnB,EAA6B;AAC5BC,IAAAA,UAAU,CAACK,GAAX,GAAiBD,QAAjB;AACAJ,IAAAA,UAAU,CAACM,GAAX,GAAiBA,GAAjB;AACA,GAHD,MAGO,IAAK,CAAE,OAAF,EAAW,OAAX,EAAqBC,QAArB,CAA+BR,SAA/B,CAAL,EAAkD;AACxDC,IAAAA,UAAU,CAACQ,GAAX,GAAiBJ,QAAjB;AACA;;AACD,QAAMK,UAAU,GAAGhB,YAAY,CAAEM,SAAF,CAA/B;AACA,QAAMW,OAAO,GACZ,cAAC,UAAD;AACC,IAAA,GAAG,EAAGZ,KAAK,CAACa,UAAN,IAAoBP,QAD3B;AAEC,IAAA,GAAG,EAAGE,GAFP;AAGC,IAAA,QAAQ,EAAGP,SAAS,KAAK,OAAd,GAAwB,IAAxB,GAA+BG,SAH3C;AAIC,IAAA,KAAK,EAAC,MAJP;AAKC,IAAA,OAAO,EAAG,QAAyB;AAAA,UAAvB;AAAEU,QAAAA;AAAF,OAAuB;;AAClC;AACA,UAAKA,aAAa,CAACJ,GAAd,KAAsBV,KAAK,CAACa,UAAjC,EAA8C;AAC7CC,QAAAA,aAAa,CAACJ,GAAd,GAAoBJ,QAApB;AACA;AACD;AAVF,IADD;AAcA,SAAO,CAAEZ,WAAW,CAAG,QAAQO,SAAW,EAAtB,EAAyBC,UAAzB,CAAb,EAAoDU,OAApD,CAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst mediaTypeTag = { image: 'img', video: 'video', audio: 'audio' };\n\n/** @typedef {import('./hooks').InserterMediaItem} InserterMediaItem */\n\n/**\n * Creates a block and a preview element from a media object.\n *\n * @param {InserterMediaItem} media The media object to create the block from.\n * @param {('image'|'audio'|'video')} mediaType The media type to create the block for.\n * @return {[WPBlock, JSX.Element]} An array containing the block and the preview element.\n */\nexport function getBlockAndPreviewFromMedia( media, mediaType ) {\n\t// Add the common attributes between the different media types.\n\tconst attributes = {\n\t\tid: media.id || undefined,\n\t\tcaption: media.caption || undefined,\n\t};\n\tconst mediaSrc = media.url;\n\tconst alt = media.alt || undefined;\n\tif ( mediaType === 'image' ) {\n\t\tattributes.url = mediaSrc;\n\t\tattributes.alt = alt;\n\t} else if ( [ 'video', 'audio' ].includes( mediaType ) ) {\n\t\tattributes.src = mediaSrc;\n\t}\n\tconst PreviewTag = mediaTypeTag[ mediaType ];\n\tconst preview = (\n\t\t<PreviewTag\n\t\t\tsrc={ media.previewUrl || mediaSrc }\n\t\t\talt={ alt }\n\t\t\tcontrols={ mediaType === 'audio' ? true : undefined }\n\t\t\tinert=\"true\"\n\t\t\tonError={ ( { currentTarget } ) => {\n\t\t\t\t// Fall back to the media source if the preview cannot be loaded.\n\t\t\t\tif ( currentTarget.src === media.previewUrl ) {\n\t\t\t\t\tcurrentTarget.src = mediaSrc;\n\t\t\t\t}\n\t\t\t} }\n\t\t/>\n\t);\n\treturn [ createBlock( `core/${ mediaType }`, attributes ), preview ];\n}\n"]}
|
|
@@ -90,6 +90,9 @@ function InserterMenu(_ref, ref) {
|
|
|
90
90
|
onToggleInsertionPoint(!!item);
|
|
91
91
|
setHoveredItem(item);
|
|
92
92
|
}, [onToggleInsertionPoint, setHoveredItem]);
|
|
93
|
+
const onHoverPattern = useCallback(item => {
|
|
94
|
+
onToggleInsertionPoint(!!item);
|
|
95
|
+
}, [onToggleInsertionPoint]);
|
|
93
96
|
const onClickPatternCategory = useCallback(patternCategory => {
|
|
94
97
|
setSelectedPatternCategory(patternCategory);
|
|
95
98
|
}, [setSelectedPatternCategory]);
|
|
@@ -188,6 +191,7 @@ function InserterMenu(_ref, ref) {
|
|
|
188
191
|
}), showPatternPanel && createElement(BlockPatternsCategoryDialog, {
|
|
189
192
|
rootClientId: destinationRootClientId,
|
|
190
193
|
onInsert: onInsertPattern,
|
|
194
|
+
onHover: onHoverPattern,
|
|
191
195
|
category: selectedPatternCategory,
|
|
192
196
|
showTitlesAsTooltip: true
|
|
193
197
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/menu.js"],"names":["classnames","forwardRef","useState","useCallback","useMemo","useImperativeHandle","useRef","VisuallyHidden","SearchControl","__","useSelect","Tips","InserterPreviewPanel","BlockTypesTab","BlockPatternsTabs","BlockPatternsCategoryDialog","ReusableBlocksTab","MediaTab","MediaCategoryDialog","useMediaCategories","InserterSearchResults","useDebouncedInput","useInsertionPoint","InserterTabs","store","blockEditorStore","InserterMenu","ref","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","prioritizePatterns","filterValue","setFilterValue","delayedFilterValue","hoveredItem","setHoveredItem","selectedPatternCategory","setSelectedPatternCategory","selectedMediaCategory","setSelectedMediaCategory","selectedTab","setSelectedTab","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","insertionIndex","showPatterns","inserterItems","select","__experimentalGetAllowedPatterns","getInserterItems","length","hasReusableBlocks","some","category","mediaCategories","showMedia","onInsert","blocks","meta","shouldForceFocusBlock","onInsertPattern","patternName","onHover","item","onClickPatternCategory","patternCategory","blocksTab","patternsTab","reusableBlocksTab","mediaTab","getCurrentTab","tab","name","searchRef","focusSearch","current","focus","showPatternPanel","showAsTabs","showMediaPanel","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tuseState,\n\tuseCallback,\n\tuseMemo,\n\tuseImperativeHandle,\n\tuseRef,\n} from '@wordpress/element';\nimport { VisuallyHidden, SearchControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Tips from './tips';\nimport InserterPreviewPanel from './preview-panel';\nimport BlockTypesTab from './block-types-tab';\nimport BlockPatternsTabs, {\n\tBlockPatternsCategoryDialog,\n} from './block-patterns-tab';\nimport ReusableBlocksTab from './reusable-blocks-tab';\nimport { MediaTab, MediaCategoryDialog, useMediaCategories } from './media-tab';\nimport InserterSearchResults from './search-results';\nimport useDebouncedInput from './hooks/use-debounced-input';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport InserterTabs from './tabs';\nimport { store as blockEditorStore } from '../../store';\n\nfunction InserterMenu(\n\t{\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\t__experimentalInsertionIndex,\n\t\tonSelect,\n\t\tshowInserterHelpPanel,\n\t\tshowMostUsedBlocks,\n\t\t__experimentalFilterValue = '',\n\t\tshouldFocusBlock = true,\n\t\tprioritizePatterns,\n\t},\n\tref\n) {\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( __experimentalFilterValue );\n\tconst [ hoveredItem, setHoveredItem ] = useState( null );\n\tconst [ selectedPatternCategory, setSelectedPatternCategory ] =\n\t\tuseState( null );\n\tconst [ selectedMediaCategory, setSelectedMediaCategory ] =\n\t\tuseState( null );\n\tconst [ selectedTab, setSelectedTab ] = useState( null );\n\n\tconst [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ] =\n\t\tuseInsertionPoint( {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\t\tshouldFocusBlock,\n\t\t} );\n\tconst { showPatterns, inserterItems } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __experimentalGetAllowedPatterns, getInserterItems } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tshowPatterns: !! __experimentalGetAllowedPatterns(\n\t\t\t\t\tdestinationRootClientId\n\t\t\t\t).length,\n\t\t\t\tinserterItems: getInserterItems( destinationRootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ destinationRootClientId ]\n\t);\n\tconst hasReusableBlocks = useMemo( () => {\n\t\treturn inserterItems.some(\n\t\t\t( { category } ) => category === 'reusable'\n\t\t);\n\t}, [ inserterItems ] );\n\n\tconst mediaCategories = useMediaCategories( destinationRootClientId );\n\tconst showMedia = !! mediaCategories.length;\n\n\tconst onInsert = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock ) => {\n\t\t\tonInsertBlocks( blocks, meta, shouldForceFocusBlock );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onInsertPattern = useCallback(\n\t\t( blocks, patternName ) => {\n\t\t\tonInsertBlocks( blocks, { patternName } );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onHover = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t\tsetHoveredItem( item );\n\t\t},\n\t\t[ onToggleInsertionPoint, setHoveredItem ]\n\t);\n\n\tconst onClickPatternCategory = useCallback(\n\t\t( patternCategory ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t},\n\t\t[ setSelectedPatternCategory ]\n\t);\n\n\tconst blocksTab = useMemo(\n\t\t() => (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-inserter__block-list\">\n\t\t\t\t\t<BlockTypesTab\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ showInserterHelpPanel && (\n\t\t\t\t\t<div className=\"block-editor-inserter__tips\">\n\t\t\t\t\t\t<VisuallyHidden as=\"h2\">\n\t\t\t\t\t\t\t{ __( 'A tip for using the block editor' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<Tips />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tonHover,\n\t\t\tdelayedFilterValue,\n\t\t\tshowMostUsedBlocks,\n\t\t\tshowInserterHelpPanel,\n\t\t]\n\t);\n\n\tconst patternsTab = useMemo(\n\t\t() => (\n\t\t\t<BlockPatternsTabs\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\tonSelectCategory={ onClickPatternCategory }\n\t\t\t\tselectedCategory={ selectedPatternCategory }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsertPattern,\n\t\t\tonClickPatternCategory,\n\t\t\tselectedPatternCategory,\n\t\t]\n\t);\n\n\tconst reusableBlocksTab = useMemo(\n\t\t() => (\n\t\t\t<ReusableBlocksTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t\tonHover={ onHover }\n\t\t\t/>\n\t\t),\n\t\t[ destinationRootClientId, onInsert, onHover ]\n\t);\n\n\tconst mediaTab = useMemo(\n\t\t() => (\n\t\t\t<MediaTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tselectedCategory={ selectedMediaCategory }\n\t\t\t\tonSelectCategory={ setSelectedMediaCategory }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tselectedMediaCategory,\n\t\t\tsetSelectedMediaCategory,\n\t\t]\n\t);\n\n\tconst getCurrentTab = useCallback(\n\t\t( tab ) => {\n\t\t\tif ( tab.name === 'blocks' ) {\n\t\t\t\treturn blocksTab;\n\t\t\t} else if ( tab.name === 'patterns' ) {\n\t\t\t\treturn patternsTab;\n\t\t\t} else if ( tab.name === 'reusable' ) {\n\t\t\t\treturn reusableBlocksTab;\n\t\t\t} else if ( tab.name === 'media' ) {\n\t\t\t\treturn mediaTab;\n\t\t\t}\n\t\t},\n\t\t[ blocksTab, patternsTab, reusableBlocksTab, mediaTab ]\n\t);\n\n\tconst searchRef = useRef();\n\tuseImperativeHandle( ref, () => ( {\n\t\tfocusSearch: () => {\n\t\t\tsearchRef.current.focus();\n\t\t},\n\t} ) );\n\n\tconst showPatternPanel =\n\t\tselectedTab === 'patterns' &&\n\t\t! delayedFilterValue &&\n\t\tselectedPatternCategory;\n\tconst showAsTabs =\n\t\t! delayedFilterValue &&\n\t\t( showPatterns || hasReusableBlocks || showMedia );\n\tconst showMediaPanel =\n\t\tselectedTab === 'media' &&\n\t\t! delayedFilterValue &&\n\t\tselectedMediaCategory;\n\treturn (\n\t\t<div className=\"block-editor-inserter__menu\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'block-editor-inserter__main-area', {\n\t\t\t\t\t'show-as-tabs': showAsTabs,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tif ( hoveredItem ) setHoveredItem( null );\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tref={ searchRef }\n\t\t\t\t/>\n\t\t\t\t{ !! delayedFilterValue && (\n\t\t\t\t\t<div className=\"block-editor-inserter__no-tab-container\">\n\t\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\t\tfilterValue={ delayedFilterValue }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\t\t\t__experimentalInsertionIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowBlockDirectory\n\t\t\t\t\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ showAsTabs && (\n\t\t\t\t\t<InserterTabs\n\t\t\t\t\t\tshowPatterns={ showPatterns }\n\t\t\t\t\t\tshowReusableBlocks={ hasReusableBlocks }\n\t\t\t\t\t\tshowMedia={ showMedia }\n\t\t\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t\t\t\tonSelect={ setSelectedTab }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ getCurrentTab }\n\t\t\t\t\t</InserterTabs>\n\t\t\t\t) }\n\t\t\t\t{ ! delayedFilterValue && ! showAsTabs && (\n\t\t\t\t\t<div className=\"block-editor-inserter__no-tab-container\">\n\t\t\t\t\t\t{ blocksTab }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ showMediaPanel && (\n\t\t\t\t<MediaCategoryDialog\n\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\tcategory={ selectedMediaCategory }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showInserterHelpPanel && hoveredItem && (\n\t\t\t\t<InserterPreviewPanel item={ hoveredItem } />\n\t\t\t) }\n\t\t\t{ showPatternPanel && (\n\t\t\t\t<BlockPatternsCategoryDialog\n\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\t\tcategory={ selectedPatternCategory }\n\t\t\t\t\tshowTitlesAsTooltip\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( InserterMenu );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/menu.js"],"names":["classnames","forwardRef","useState","useCallback","useMemo","useImperativeHandle","useRef","VisuallyHidden","SearchControl","__","useSelect","Tips","InserterPreviewPanel","BlockTypesTab","BlockPatternsTabs","BlockPatternsCategoryDialog","ReusableBlocksTab","MediaTab","MediaCategoryDialog","useMediaCategories","InserterSearchResults","useDebouncedInput","useInsertionPoint","InserterTabs","store","blockEditorStore","InserterMenu","ref","rootClientId","clientId","isAppender","__experimentalInsertionIndex","onSelect","showInserterHelpPanel","showMostUsedBlocks","__experimentalFilterValue","shouldFocusBlock","prioritizePatterns","filterValue","setFilterValue","delayedFilterValue","hoveredItem","setHoveredItem","selectedPatternCategory","setSelectedPatternCategory","selectedMediaCategory","setSelectedMediaCategory","selectedTab","setSelectedTab","destinationRootClientId","onInsertBlocks","onToggleInsertionPoint","insertionIndex","showPatterns","inserterItems","select","__experimentalGetAllowedPatterns","getInserterItems","length","hasReusableBlocks","some","category","mediaCategories","showMedia","onInsert","blocks","meta","shouldForceFocusBlock","onInsertPattern","patternName","onHover","item","onHoverPattern","onClickPatternCategory","patternCategory","blocksTab","patternsTab","reusableBlocksTab","mediaTab","getCurrentTab","tab","name","searchRef","focusSearch","current","focus","showPatternPanel","showAsTabs","showMediaPanel","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tforwardRef,\n\tuseState,\n\tuseCallback,\n\tuseMemo,\n\tuseImperativeHandle,\n\tuseRef,\n} from '@wordpress/element';\nimport { VisuallyHidden, SearchControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport Tips from './tips';\nimport InserterPreviewPanel from './preview-panel';\nimport BlockTypesTab from './block-types-tab';\nimport BlockPatternsTabs, {\n\tBlockPatternsCategoryDialog,\n} from './block-patterns-tab';\nimport ReusableBlocksTab from './reusable-blocks-tab';\nimport { MediaTab, MediaCategoryDialog, useMediaCategories } from './media-tab';\nimport InserterSearchResults from './search-results';\nimport useDebouncedInput from './hooks/use-debounced-input';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport InserterTabs from './tabs';\nimport { store as blockEditorStore } from '../../store';\n\nfunction InserterMenu(\n\t{\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\t__experimentalInsertionIndex,\n\t\tonSelect,\n\t\tshowInserterHelpPanel,\n\t\tshowMostUsedBlocks,\n\t\t__experimentalFilterValue = '',\n\t\tshouldFocusBlock = true,\n\t\tprioritizePatterns,\n\t},\n\tref\n) {\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( __experimentalFilterValue );\n\tconst [ hoveredItem, setHoveredItem ] = useState( null );\n\tconst [ selectedPatternCategory, setSelectedPatternCategory ] =\n\t\tuseState( null );\n\tconst [ selectedMediaCategory, setSelectedMediaCategory ] =\n\t\tuseState( null );\n\tconst [ selectedTab, setSelectedTab ] = useState( null );\n\n\tconst [ destinationRootClientId, onInsertBlocks, onToggleInsertionPoint ] =\n\t\tuseInsertionPoint( {\n\t\t\trootClientId,\n\t\t\tclientId,\n\t\t\tisAppender,\n\t\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\t\tshouldFocusBlock,\n\t\t} );\n\tconst { showPatterns, inserterItems } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __experimentalGetAllowedPatterns, getInserterItems } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tshowPatterns: !! __experimentalGetAllowedPatterns(\n\t\t\t\t\tdestinationRootClientId\n\t\t\t\t).length,\n\t\t\t\tinserterItems: getInserterItems( destinationRootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ destinationRootClientId ]\n\t);\n\tconst hasReusableBlocks = useMemo( () => {\n\t\treturn inserterItems.some(\n\t\t\t( { category } ) => category === 'reusable'\n\t\t);\n\t}, [ inserterItems ] );\n\n\tconst mediaCategories = useMediaCategories( destinationRootClientId );\n\tconst showMedia = !! mediaCategories.length;\n\n\tconst onInsert = useCallback(\n\t\t( blocks, meta, shouldForceFocusBlock ) => {\n\t\t\tonInsertBlocks( blocks, meta, shouldForceFocusBlock );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onInsertPattern = useCallback(\n\t\t( blocks, patternName ) => {\n\t\t\tonInsertBlocks( blocks, { patternName } );\n\t\t\tonSelect();\n\t\t},\n\t\t[ onInsertBlocks, onSelect ]\n\t);\n\n\tconst onHover = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t\tsetHoveredItem( item );\n\t\t},\n\t\t[ onToggleInsertionPoint, setHoveredItem ]\n\t);\n\n\tconst onHoverPattern = useCallback(\n\t\t( item ) => {\n\t\t\tonToggleInsertionPoint( !! item );\n\t\t},\n\t\t[ onToggleInsertionPoint ]\n\t);\n\n\tconst onClickPatternCategory = useCallback(\n\t\t( patternCategory ) => {\n\t\t\tsetSelectedPatternCategory( patternCategory );\n\t\t},\n\t\t[ setSelectedPatternCategory ]\n\t);\n\n\tconst blocksTab = useMemo(\n\t\t() => (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-inserter__block-list\">\n\t\t\t\t\t<BlockTypesTab\n\t\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\tshowMostUsedBlocks={ showMostUsedBlocks }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t{ showInserterHelpPanel && (\n\t\t\t\t\t<div className=\"block-editor-inserter__tips\">\n\t\t\t\t\t\t<VisuallyHidden as=\"h2\">\n\t\t\t\t\t\t\t{ __( 'A tip for using the block editor' ) }\n\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t<Tips />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tonHover,\n\t\t\tdelayedFilterValue,\n\t\t\tshowMostUsedBlocks,\n\t\t\tshowInserterHelpPanel,\n\t\t]\n\t);\n\n\tconst patternsTab = useMemo(\n\t\t() => (\n\t\t\t<BlockPatternsTabs\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\tonSelectCategory={ onClickPatternCategory }\n\t\t\t\tselectedCategory={ selectedPatternCategory }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsertPattern,\n\t\t\tonClickPatternCategory,\n\t\t\tselectedPatternCategory,\n\t\t]\n\t);\n\n\tconst reusableBlocksTab = useMemo(\n\t\t() => (\n\t\t\t<ReusableBlocksTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t\tonHover={ onHover }\n\t\t\t/>\n\t\t),\n\t\t[ destinationRootClientId, onInsert, onHover ]\n\t);\n\n\tconst mediaTab = useMemo(\n\t\t() => (\n\t\t\t<MediaTab\n\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\tselectedCategory={ selectedMediaCategory }\n\t\t\t\tonSelectCategory={ setSelectedMediaCategory }\n\t\t\t\tonInsert={ onInsert }\n\t\t\t/>\n\t\t),\n\t\t[\n\t\t\tdestinationRootClientId,\n\t\t\tonInsert,\n\t\t\tselectedMediaCategory,\n\t\t\tsetSelectedMediaCategory,\n\t\t]\n\t);\n\n\tconst getCurrentTab = useCallback(\n\t\t( tab ) => {\n\t\t\tif ( tab.name === 'blocks' ) {\n\t\t\t\treturn blocksTab;\n\t\t\t} else if ( tab.name === 'patterns' ) {\n\t\t\t\treturn patternsTab;\n\t\t\t} else if ( tab.name === 'reusable' ) {\n\t\t\t\treturn reusableBlocksTab;\n\t\t\t} else if ( tab.name === 'media' ) {\n\t\t\t\treturn mediaTab;\n\t\t\t}\n\t\t},\n\t\t[ blocksTab, patternsTab, reusableBlocksTab, mediaTab ]\n\t);\n\n\tconst searchRef = useRef();\n\tuseImperativeHandle( ref, () => ( {\n\t\tfocusSearch: () => {\n\t\t\tsearchRef.current.focus();\n\t\t},\n\t} ) );\n\n\tconst showPatternPanel =\n\t\tselectedTab === 'patterns' &&\n\t\t! delayedFilterValue &&\n\t\tselectedPatternCategory;\n\tconst showAsTabs =\n\t\t! delayedFilterValue &&\n\t\t( showPatterns || hasReusableBlocks || showMedia );\n\tconst showMediaPanel =\n\t\tselectedTab === 'media' &&\n\t\t! delayedFilterValue &&\n\t\tselectedMediaCategory;\n\treturn (\n\t\t<div className=\"block-editor-inserter__menu\">\n\t\t\t<div\n\t\t\t\tclassName={ classnames( 'block-editor-inserter__main-area', {\n\t\t\t\t\t'show-as-tabs': showAsTabs,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-editor-inserter__search\"\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tif ( hoveredItem ) setHoveredItem( null );\n\t\t\t\t\t\tsetFilterValue( value );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\tlabel={ __( 'Search for blocks and patterns' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t\tref={ searchRef }\n\t\t\t\t/>\n\t\t\t\t{ !! delayedFilterValue && (\n\t\t\t\t\t<div className=\"block-editor-inserter__no-tab-container\">\n\t\t\t\t\t\t<InserterSearchResults\n\t\t\t\t\t\t\tfilterValue={ delayedFilterValue }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tisAppender={ isAppender }\n\t\t\t\t\t\t\t__experimentalInsertionIndex={\n\t\t\t\t\t\t\t\t__experimentalInsertionIndex\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tshowBlockDirectory\n\t\t\t\t\t\t\tshouldFocusBlock={ shouldFocusBlock }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ showAsTabs && (\n\t\t\t\t\t<InserterTabs\n\t\t\t\t\t\tshowPatterns={ showPatterns }\n\t\t\t\t\t\tshowReusableBlocks={ hasReusableBlocks }\n\t\t\t\t\t\tshowMedia={ showMedia }\n\t\t\t\t\t\tprioritizePatterns={ prioritizePatterns }\n\t\t\t\t\t\tonSelect={ setSelectedTab }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ getCurrentTab }\n\t\t\t\t\t</InserterTabs>\n\t\t\t\t) }\n\t\t\t\t{ ! delayedFilterValue && ! showAsTabs && (\n\t\t\t\t\t<div className=\"block-editor-inserter__no-tab-container\">\n\t\t\t\t\t\t{ blocksTab }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ showMediaPanel && (\n\t\t\t\t<MediaCategoryDialog\n\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\tonInsert={ onInsert }\n\t\t\t\t\tcategory={ selectedMediaCategory }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showInserterHelpPanel && hoveredItem && (\n\t\t\t\t<InserterPreviewPanel item={ hoveredItem } />\n\t\t\t) }\n\t\t\t{ showPatternPanel && (\n\t\t\t\t<BlockPatternsCategoryDialog\n\t\t\t\t\trootClientId={ destinationRootClientId }\n\t\t\t\t\tonInsert={ onInsertPattern }\n\t\t\t\t\tonHover={ onHoverPattern }\n\t\t\t\t\tcategory={ selectedPatternCategory }\n\t\t\t\t\tshowTitlesAsTooltip\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default forwardRef( InserterMenu );\n"]}
|
|
@@ -34,14 +34,16 @@ function InserterPreviewPanel(_ref) {
|
|
|
34
34
|
}, isReusable || example ? createElement("div", {
|
|
35
35
|
className: "block-editor-inserter__preview-content"
|
|
36
36
|
}, createElement(BlockPreview, {
|
|
37
|
-
__experimentalPadding: 16,
|
|
38
|
-
viewportWidth: (_example$viewportWidt = example === null || example === void 0 ? void 0 : example.viewportWidth) !== null && _example$viewportWidt !== void 0 ? _example$viewportWidt : 500,
|
|
39
37
|
blocks: example ? getBlockFromExample(name, {
|
|
40
38
|
attributes: { ...example.attributes,
|
|
41
39
|
...initialAttributes
|
|
42
40
|
},
|
|
43
41
|
innerBlocks: example.innerBlocks
|
|
44
|
-
}) : createBlock(name, initialAttributes)
|
|
42
|
+
}) : createBlock(name, initialAttributes),
|
|
43
|
+
viewportWidth: (_example$viewportWidt = example === null || example === void 0 ? void 0 : example.viewportWidth) !== null && _example$viewportWidt !== void 0 ? _example$viewportWidt : 500,
|
|
44
|
+
additionalStyles: [{
|
|
45
|
+
css: 'body { padding: 16px; }'
|
|
46
|
+
}]
|
|
45
47
|
})) : createElement("div", {
|
|
46
48
|
className: "block-editor-inserter__preview-content-missing"
|
|
47
49
|
}, __('No Preview Available.'))), !isReusable && createElement(BlockCard, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/preview-panel.js"],"names":["isReusableBlock","createBlock","getBlockFromExample","__","BlockCard","BlockPreview","InserterPreviewPanel","item","name","title","icon","description","initialAttributes","example","isReusable","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/preview-panel.js"],"names":["isReusableBlock","createBlock","getBlockFromExample","__","BlockCard","BlockPreview","InserterPreviewPanel","item","name","title","icon","description","initialAttributes","example","isReusable","attributes","innerBlocks","viewportWidth","css"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,eADD,EAECC,WAFD,EAGCC,mBAHD,QAIO,mBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,eAAtB;AACA,OAAOC,YAAP,MAAyB,kBAAzB;;AAEA,SAASC,oBAAT,OAA0C;AAAA;;AAAA,MAAX;AAAEC,IAAAA;AAAF,GAAW;AACzC,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,KAAR;AAAeC,IAAAA,IAAf;AAAqBC,IAAAA,WAArB;AAAkCC,IAAAA,iBAAlC;AAAqDC,IAAAA;AAArD,MAAiEN,IAAvE;AACA,QAAMO,UAAU,GAAGd,eAAe,CAAEO,IAAF,CAAlC;AACA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGO,UAAU,IAAID,OAAd,GACD;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,YAAD;AACC,IAAA,MAAM,EACLA,OAAO,GACJX,mBAAmB,CAAEM,IAAF,EAAQ;AAC3BO,MAAAA,UAAU,EAAE,EACX,GAAGF,OAAO,CAACE,UADA;AAEX,WAAGH;AAFQ,OADe;AAK3BI,MAAAA,WAAW,EAAEH,OAAO,CAACG;AALM,KAAR,CADf,GAQJf,WAAW,CAAEO,IAAF,EAAQI,iBAAR,CAVhB;AAYC,IAAA,aAAa,2BAAGC,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEI,aAAZ,yEAA6B,GAZ3C;AAaC,IAAA,gBAAgB,EAAG,CAClB;AAAEC,MAAAA,GAAG,EAAE;AAAP,KADkB;AAbpB,IADD,CADC,GAqBD;AAAK,IAAA,SAAS,EAAC;AAAf,KACGf,EAAE,CAAE,uBAAF,CADL,CAtBF,CADD,EA4BG,CAAEW,UAAF,IACD,cAAC,SAAD;AACC,IAAA,KAAK,EAAGL,KADT;AAEC,IAAA,IAAI,EAAGC,IAFR;AAGC,IAAA,WAAW,EAAGC;AAHf,IA7BF,CADD;AAsCA;;AAED,eAAeL,oBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tisReusableBlock,\n\tcreateBlock,\n\tgetBlockFromExample,\n} from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockCard from '../block-card';\nimport BlockPreview from '../block-preview';\n\nfunction InserterPreviewPanel( { item } ) {\n\tconst { name, title, icon, description, initialAttributes, example } = item;\n\tconst isReusable = isReusableBlock( item );\n\treturn (\n\t\t<div className=\"block-editor-inserter__preview-container\">\n\t\t\t<div className=\"block-editor-inserter__preview\">\n\t\t\t\t{ isReusable || example ? (\n\t\t\t\t\t<div className=\"block-editor-inserter__preview-content\">\n\t\t\t\t\t\t<BlockPreview\n\t\t\t\t\t\t\tblocks={\n\t\t\t\t\t\t\t\texample\n\t\t\t\t\t\t\t\t\t? getBlockFromExample( name, {\n\t\t\t\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t\t\t\t...example.attributes,\n\t\t\t\t\t\t\t\t\t\t\t\t...initialAttributes,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\tinnerBlocks: example.innerBlocks,\n\t\t\t\t\t\t\t\t\t } )\n\t\t\t\t\t\t\t\t\t: createBlock( name, initialAttributes )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tviewportWidth={ example?.viewportWidth ?? 500 }\n\t\t\t\t\t\t\tadditionalStyles={ [\n\t\t\t\t\t\t\t\t{ css: 'body { padding: 16px; }' },\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<div className=\"block-editor-inserter__preview-content-missing\">\n\t\t\t\t\t\t{ __( 'No Preview Available.' ) }\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ ! isReusable && (\n\t\t\t\t<BlockCard\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tdescription={ description }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default InserterPreviewPanel;\n"]}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import { createElement } from "@wordpress/element";
|
|
2
2
|
|
|
3
|
-
/**
|
|
4
|
-
* External dependencies
|
|
5
|
-
*/
|
|
6
|
-
import { isEmpty } from 'lodash';
|
|
7
3
|
/**
|
|
8
4
|
* WordPress dependencies
|
|
9
5
|
*/
|
|
10
|
-
|
|
11
6
|
import { useMemo, useEffect } from '@wordpress/element';
|
|
12
7
|
import { __, _n, sprintf } from '@wordpress/i18n';
|
|
13
8
|
import { VisuallyHidden } from '@wordpress/components';
|
|
@@ -105,7 +100,7 @@ function InserterSearchResults(_ref) {
|
|
|
105
100
|
step: INITIAL_INSERTER_RESULTS
|
|
106
101
|
});
|
|
107
102
|
const currentShownPatterns = useAsyncList(currentShownBlockTypes.length === filteredBlockTypes.length ? filteredBlockPatterns : EMPTY_ARRAY);
|
|
108
|
-
const hasItems =
|
|
103
|
+
const hasItems = filteredBlockTypes.length > 0 || filteredBlockPatterns.length > 0;
|
|
109
104
|
const blocksUI = !!filteredBlockTypes.length && createElement(InserterPanel, {
|
|
110
105
|
title: createElement(VisuallyHidden, null, __('Blocks'))
|
|
111
106
|
}, createElement(BlockTypesList, {
|
|
@@ -123,6 +118,7 @@ function InserterSearchResults(_ref) {
|
|
|
123
118
|
shownPatterns: currentShownPatterns,
|
|
124
119
|
blockPatterns: filteredBlockPatterns,
|
|
125
120
|
onClickPattern: onSelectBlockPattern,
|
|
121
|
+
onHover: onHover,
|
|
126
122
|
isDraggable: isDraggable
|
|
127
123
|
})));
|
|
128
124
|
return createElement(InserterListbox, null, !showBlockDirectory && !hasItems && createElement(InserterNoResults, null), prioritizePatterns ? patternsUI : blocksUI, !!filteredBlockTypes.length && !!filteredBlockPatterns.length && createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/search-results.js"],"names":["isEmpty","useMemo","useEffect","__","_n","sprintf","VisuallyHidden","useDebounce","useAsyncList","speak","BlockTypesList","BlockPatternsList","__unstableInserterMenuExtension","InserterPanel","InserterNoResults","useInsertionPoint","usePatternsState","useBlockTypesState","searchBlockItems","searchItems","InserterListbox","orderBy","INITIAL_INSERTER_RESULTS","EMPTY_ARRAY","InserterSearchResults","filterValue","onSelect","onHover","rootClientId","clientId","isAppender","__experimentalInsertionIndex","maxBlockPatterns","maxBlockTypes","showBlockDirectory","isDraggable","shouldFocusBlock","prioritizePatterns","selectBlockOnInsert","debouncedSpeak","destinationRootClientId","onInsertBlocks","insertionIndex","blockTypes","blockTypeCategories","blockTypeCollections","onSelectBlockType","patterns","onSelectBlockPattern","filteredBlockPatterns","results","undefined","slice","maxBlockTypesToShow","length","filteredBlockTypes","count","resultsFoundMessage","currentShownBlockTypes","step","currentShownPatterns","hasItems","blocksUI","patternsUI","fills"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { VisuallyHidden } from '@wordpress/components';\nimport { useDebounce, useAsyncList } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport BlockPatternsList from '../block-patterns-list';\nimport __unstableInserterMenuExtension from '../inserter-menu-extension';\nimport InserterPanel from './panel';\nimport InserterNoResults from './no-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport usePatternsState from './hooks/use-patterns-state';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport { searchBlockItems, searchItems } from './search-items';\nimport InserterListbox from '../inserter-listbox';\nimport { orderBy } from '../../utils/sorting';\n\nconst INITIAL_INSERTER_RESULTS = 9;\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation and rerendering the component.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nfunction InserterSearchResults( {\n\tfilterValue,\n\tonSelect,\n\tonHover,\n\trootClientId,\n\tclientId,\n\tisAppender,\n\t__experimentalInsertionIndex,\n\tmaxBlockPatterns,\n\tmaxBlockTypes,\n\tshowBlockDirectory = false,\n\tisDraggable = true,\n\tshouldFocusBlock = true,\n\tprioritizePatterns,\n\tselectBlockOnInsert,\n} ) {\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tonSelect,\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\tshouldFocusBlock,\n\t\tselectBlockOnInsert,\n\t} );\n\tconst [\n\t\tblockTypes,\n\t\tblockTypeCategories,\n\t\tblockTypeCollections,\n\t\tonSelectBlockType,\n\t] = useBlockTypesState( destinationRootClientId, onInsertBlocks );\n\tconst [ patterns, , onSelectBlockPattern ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\tif ( maxBlockPatterns === 0 ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst results = searchItems( patterns, filterValue );\n\t\treturn maxBlockPatterns !== undefined\n\t\t\t? results.slice( 0, maxBlockPatterns )\n\t\t\t: results;\n\t}, [ filterValue, patterns, maxBlockPatterns ] );\n\n\tlet maxBlockTypesToShow = maxBlockTypes;\n\tif ( prioritizePatterns && filteredBlockPatterns.length > 2 ) {\n\t\tmaxBlockTypesToShow = 0;\n\t}\n\n\tconst filteredBlockTypes = useMemo( () => {\n\t\tif ( maxBlockTypesToShow === 0 ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst results = searchBlockItems(\n\t\t\torderBy( blockTypes, 'frecency', 'desc' ),\n\t\t\tblockTypeCategories,\n\t\t\tblockTypeCollections,\n\t\t\tfilterValue\n\t\t);\n\n\t\treturn maxBlockTypesToShow !== undefined\n\t\t\t? results.slice( 0, maxBlockTypesToShow )\n\t\t\t: results;\n\t}, [\n\t\tfilterValue,\n\t\tblockTypes,\n\t\tblockTypeCategories,\n\t\tblockTypeCollections,\n\t\tmaxBlockTypes,\n\t] );\n\n\t// Announce search results on change.\n\tuseEffect( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn;\n\t\t}\n\t\tconst count = filteredBlockTypes.length + filteredBlockPatterns.length;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage );\n\t}, [ filterValue, debouncedSpeak ] );\n\n\tconst currentShownBlockTypes = useAsyncList( filteredBlockTypes, {\n\t\tstep: INITIAL_INSERTER_RESULTS,\n\t} );\n\tconst currentShownPatterns = useAsyncList(\n\t\tcurrentShownBlockTypes.length === filteredBlockTypes.length\n\t\t\t? filteredBlockPatterns\n\t\t\t: EMPTY_ARRAY\n\t);\n\n\tconst hasItems =\n\t\t! isEmpty( filteredBlockTypes ) || ! isEmpty( filteredBlockPatterns );\n\n\tconst blocksUI = !! filteredBlockTypes.length && (\n\t\t<InserterPanel\n\t\t\ttitle={ <VisuallyHidden>{ __( 'Blocks' ) }</VisuallyHidden> }\n\t\t>\n\t\t\t<BlockTypesList\n\t\t\t\titems={ currentShownBlockTypes }\n\t\t\t\tonSelect={ onSelectBlockType }\n\t\t\t\tonHover={ onHover }\n\t\t\t\tlabel={ __( 'Blocks' ) }\n\t\t\t\tisDraggable={ isDraggable }\n\t\t\t/>\n\t\t</InserterPanel>\n\t);\n\n\tconst patternsUI = !! filteredBlockPatterns.length && (\n\t\t<InserterPanel\n\t\t\ttitle={\n\t\t\t\t<VisuallyHidden>{ __( 'Block Patterns' ) }</VisuallyHidden>\n\t\t\t}\n\t\t>\n\t\t\t<div className=\"block-editor-inserter__quick-inserter-patterns\">\n\t\t\t\t<BlockPatternsList\n\t\t\t\t\tshownPatterns={ currentShownPatterns }\n\t\t\t\t\tblockPatterns={ filteredBlockPatterns }\n\t\t\t\t\tonClickPattern={ onSelectBlockPattern }\n\t\t\t\t\tisDraggable={ isDraggable }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</InserterPanel>\n\t);\n\n\treturn (\n\t\t<InserterListbox>\n\t\t\t{ ! showBlockDirectory && ! hasItems && <InserterNoResults /> }\n\n\t\t\t{ prioritizePatterns ? patternsUI : blocksUI }\n\n\t\t\t{ !! filteredBlockTypes.length &&\n\t\t\t\t!! filteredBlockPatterns.length && (\n\t\t\t\t\t<div className=\"block-editor-inserter__quick-inserter-separator\" />\n\t\t\t\t) }\n\n\t\t\t{ prioritizePatterns ? blocksUI : patternsUI }\n\n\t\t\t{ showBlockDirectory && (\n\t\t\t\t<__unstableInserterMenuExtension.Slot\n\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\tonSelect: onSelectBlockType,\n\t\t\t\t\t\tonHover,\n\t\t\t\t\t\tfilterValue,\n\t\t\t\t\t\thasItems,\n\t\t\t\t\t\trootClientId: destinationRootClientId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ ( fills ) => {\n\t\t\t\t\t\tif ( fills.length ) {\n\t\t\t\t\t\t\treturn fills;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( ! hasItems ) {\n\t\t\t\t\t\t\treturn <InserterNoResults />;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t} }\n\t\t\t\t</__unstableInserterMenuExtension.Slot>\n\t\t\t) }\n\t\t</InserterListbox>\n\t);\n}\n\nexport default InserterSearchResults;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/inserter/search-results.js"],"names":["useMemo","useEffect","__","_n","sprintf","VisuallyHidden","useDebounce","useAsyncList","speak","BlockTypesList","BlockPatternsList","__unstableInserterMenuExtension","InserterPanel","InserterNoResults","useInsertionPoint","usePatternsState","useBlockTypesState","searchBlockItems","searchItems","InserterListbox","orderBy","INITIAL_INSERTER_RESULTS","EMPTY_ARRAY","InserterSearchResults","filterValue","onSelect","onHover","rootClientId","clientId","isAppender","__experimentalInsertionIndex","maxBlockPatterns","maxBlockTypes","showBlockDirectory","isDraggable","shouldFocusBlock","prioritizePatterns","selectBlockOnInsert","debouncedSpeak","destinationRootClientId","onInsertBlocks","insertionIndex","blockTypes","blockTypeCategories","blockTypeCollections","onSelectBlockType","patterns","onSelectBlockPattern","filteredBlockPatterns","results","undefined","slice","maxBlockTypesToShow","length","filteredBlockTypes","count","resultsFoundMessage","currentShownBlockTypes","step","currentShownPatterns","hasItems","blocksUI","patternsUI","fills"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { VisuallyHidden } from '@wordpress/components';\nimport { useDebounce, useAsyncList } from '@wordpress/compose';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport BlockTypesList from '../block-types-list';\nimport BlockPatternsList from '../block-patterns-list';\nimport __unstableInserterMenuExtension from '../inserter-menu-extension';\nimport InserterPanel from './panel';\nimport InserterNoResults from './no-results';\nimport useInsertionPoint from './hooks/use-insertion-point';\nimport usePatternsState from './hooks/use-patterns-state';\nimport useBlockTypesState from './hooks/use-block-types-state';\nimport { searchBlockItems, searchItems } from './search-items';\nimport InserterListbox from '../inserter-listbox';\nimport { orderBy } from '../../utils/sorting';\n\nconst INITIAL_INSERTER_RESULTS = 9;\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation and rerendering the component.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nfunction InserterSearchResults( {\n\tfilterValue,\n\tonSelect,\n\tonHover,\n\trootClientId,\n\tclientId,\n\tisAppender,\n\t__experimentalInsertionIndex,\n\tmaxBlockPatterns,\n\tmaxBlockTypes,\n\tshowBlockDirectory = false,\n\tisDraggable = true,\n\tshouldFocusBlock = true,\n\tprioritizePatterns,\n\tselectBlockOnInsert,\n} ) {\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tonSelect,\n\t\trootClientId,\n\t\tclientId,\n\t\tisAppender,\n\t\tinsertionIndex: __experimentalInsertionIndex,\n\t\tshouldFocusBlock,\n\t\tselectBlockOnInsert,\n\t} );\n\tconst [\n\t\tblockTypes,\n\t\tblockTypeCategories,\n\t\tblockTypeCollections,\n\t\tonSelectBlockType,\n\t] = useBlockTypesState( destinationRootClientId, onInsertBlocks );\n\tconst [ patterns, , onSelectBlockPattern ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\tif ( maxBlockPatterns === 0 ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst results = searchItems( patterns, filterValue );\n\t\treturn maxBlockPatterns !== undefined\n\t\t\t? results.slice( 0, maxBlockPatterns )\n\t\t\t: results;\n\t}, [ filterValue, patterns, maxBlockPatterns ] );\n\n\tlet maxBlockTypesToShow = maxBlockTypes;\n\tif ( prioritizePatterns && filteredBlockPatterns.length > 2 ) {\n\t\tmaxBlockTypesToShow = 0;\n\t}\n\n\tconst filteredBlockTypes = useMemo( () => {\n\t\tif ( maxBlockTypesToShow === 0 ) {\n\t\t\treturn [];\n\t\t}\n\t\tconst results = searchBlockItems(\n\t\t\torderBy( blockTypes, 'frecency', 'desc' ),\n\t\t\tblockTypeCategories,\n\t\t\tblockTypeCollections,\n\t\t\tfilterValue\n\t\t);\n\n\t\treturn maxBlockTypesToShow !== undefined\n\t\t\t? results.slice( 0, maxBlockTypesToShow )\n\t\t\t: results;\n\t}, [\n\t\tfilterValue,\n\t\tblockTypes,\n\t\tblockTypeCategories,\n\t\tblockTypeCollections,\n\t\tmaxBlockTypes,\n\t] );\n\n\t// Announce search results on change.\n\tuseEffect( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn;\n\t\t}\n\t\tconst count = filteredBlockTypes.length + filteredBlockPatterns.length;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage );\n\t}, [ filterValue, debouncedSpeak ] );\n\n\tconst currentShownBlockTypes = useAsyncList( filteredBlockTypes, {\n\t\tstep: INITIAL_INSERTER_RESULTS,\n\t} );\n\tconst currentShownPatterns = useAsyncList(\n\t\tcurrentShownBlockTypes.length === filteredBlockTypes.length\n\t\t\t? filteredBlockPatterns\n\t\t\t: EMPTY_ARRAY\n\t);\n\n\tconst hasItems =\n\t\tfilteredBlockTypes.length > 0 || filteredBlockPatterns.length > 0;\n\n\tconst blocksUI = !! filteredBlockTypes.length && (\n\t\t<InserterPanel\n\t\t\ttitle={ <VisuallyHidden>{ __( 'Blocks' ) }</VisuallyHidden> }\n\t\t>\n\t\t\t<BlockTypesList\n\t\t\t\titems={ currentShownBlockTypes }\n\t\t\t\tonSelect={ onSelectBlockType }\n\t\t\t\tonHover={ onHover }\n\t\t\t\tlabel={ __( 'Blocks' ) }\n\t\t\t\tisDraggable={ isDraggable }\n\t\t\t/>\n\t\t</InserterPanel>\n\t);\n\n\tconst patternsUI = !! filteredBlockPatterns.length && (\n\t\t<InserterPanel\n\t\t\ttitle={\n\t\t\t\t<VisuallyHidden>{ __( 'Block Patterns' ) }</VisuallyHidden>\n\t\t\t}\n\t\t>\n\t\t\t<div className=\"block-editor-inserter__quick-inserter-patterns\">\n\t\t\t\t<BlockPatternsList\n\t\t\t\t\tshownPatterns={ currentShownPatterns }\n\t\t\t\t\tblockPatterns={ filteredBlockPatterns }\n\t\t\t\t\tonClickPattern={ onSelectBlockPattern }\n\t\t\t\t\tonHover={ onHover }\n\t\t\t\t\tisDraggable={ isDraggable }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</InserterPanel>\n\t);\n\n\treturn (\n\t\t<InserterListbox>\n\t\t\t{ ! showBlockDirectory && ! hasItems && <InserterNoResults /> }\n\n\t\t\t{ prioritizePatterns ? patternsUI : blocksUI }\n\n\t\t\t{ !! filteredBlockTypes.length &&\n\t\t\t\t!! filteredBlockPatterns.length && (\n\t\t\t\t\t<div className=\"block-editor-inserter__quick-inserter-separator\" />\n\t\t\t\t) }\n\n\t\t\t{ prioritizePatterns ? blocksUI : patternsUI }\n\n\t\t\t{ showBlockDirectory && (\n\t\t\t\t<__unstableInserterMenuExtension.Slot\n\t\t\t\t\tfillProps={ {\n\t\t\t\t\t\tonSelect: onSelectBlockType,\n\t\t\t\t\t\tonHover,\n\t\t\t\t\t\tfilterValue,\n\t\t\t\t\t\thasItems,\n\t\t\t\t\t\trootClientId: destinationRootClientId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ ( fills ) => {\n\t\t\t\t\t\tif ( fills.length ) {\n\t\t\t\t\t\t\treturn fills;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( ! hasItems ) {\n\t\t\t\t\t\t\treturn <InserterNoResults />;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t} }\n\t\t\t\t</__unstableInserterMenuExtension.Slot>\n\t\t\t) }\n\t\t</InserterListbox>\n\t);\n}\n\nexport default InserterSearchResults;\n"]}
|
|
@@ -90,13 +90,6 @@ function InserterListItem(_ref) {
|
|
|
90
90
|
onHover(null);
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
|
-
onFocus: () => {
|
|
94
|
-
if (isDragging.current) {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
onHover(item);
|
|
99
|
-
},
|
|
100
93
|
onMouseEnter: () => {
|
|
101
94
|
if (isDragging.current) {
|
|
102
95
|
return;
|
|
@@ -104,8 +97,7 @@ function InserterListItem(_ref) {
|
|
|
104
97
|
|
|
105
98
|
onHover(item);
|
|
106
99
|
},
|
|
107
|
-
onMouseLeave: () => onHover(null)
|
|
108
|
-
onBlur: () => onHover(null)
|
|
100
|
+
onMouseLeave: () => onHover(null)
|
|
109
101
|
}, props), createElement("span", {
|
|
110
102
|
className: "block-editor-block-types-list__item-icon",
|
|
111
103
|
style: itemIconStyle
|