@wordpress/block-editor 14.3.6 → 14.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/README.md +6 -2
- package/build/autocompleters/block.js.map +1 -1
- package/build/autocompleters/link.js +2 -1
- package/build/autocompleters/link.js.map +1 -1
- package/build/components/background-image-control/index.js +1 -1
- package/build/components/background-image-control/index.js.map +1 -1
- package/build/components/block-actions/index.js +1 -13
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-controls/slot.js.map +1 -1
- package/build/components/block-controls/slot.native.js.map +1 -1
- package/build/components/block-draggable/draggable-chip.js +1 -1
- package/build/components/block-draggable/draggable-chip.js.map +1 -1
- package/build/components/block-inspector/index.js +56 -75
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.native.js +1 -1
- package/build/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block.js +5 -16
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/index.js +6 -8
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +3 -8
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js +14 -6
- package/build/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +5 -3
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list/zoom-out-separator.js +24 -13
- package/build/components/block-list/zoom-out-separator.js.map +1 -1
- package/build/components/block-lock/modal.js +1 -1
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +2 -4
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-parent-selector/index.js +14 -11
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +10 -20
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +11 -13
- package/build/components/block-patterns-paging/index.js.map +1 -1
- package/build/components/block-popover/index.js +45 -2
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/auto.js +1 -4
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-quick-navigation/index.js +2 -4
- package/build/components/block-quick-navigation/index.js.map +1 -1
- package/build/components/block-rename/modal.js +2 -2
- package/build/components/block-rename/modal.js.map +1 -1
- package/build/components/block-settings-menu/block-parent-selector-menu-item.js +1 -1
- package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +79 -76
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +1 -6
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/block-switcher/index.js +19 -15
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/use-transformed-patterns.js +1 -0
- package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build/components/block-switcher/utils.js +1 -0
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-toolbar/index.js +16 -19
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/use-has-block-toolbar.js +3 -5
- package/build/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build/components/block-tools/index.js +8 -18
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +1 -4
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +8 -7
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
- package/build/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +14 -17
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-tools/zoom-out-popover.js +3 -2
- package/build/components/block-tools/zoom-out-popover.js.map +1 -1
- package/build/components/block-tools/zoom-out-toolbar.js +5 -32
- package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build/components/block-types-list/index.js.map +1 -1
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +3 -2
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/color-style-selector/index.js.map +1 -1
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build/components/date-format-picker/index.js +1 -0
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/duotone/utils.js.map +1 -1
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/font-sizes/fluid-utils.js.map +1 -1
- package/build/components/font-sizes/utils.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/global-styles/border-panel.js +1 -1
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +1 -1
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +3 -3
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build/components/global-styles/get-global-styles-changes.js +2 -1
- package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/gradients/use-gradient.js.map +1 -1
- package/build/components/grid/grid-item-movers.js.map +1 -1
- package/build/components/grid/grid-visualizer.js.map +1 -1
- package/build/components/iframe/index.js +44 -9
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +1 -1
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/inner-blocks/index.js +1 -9
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +15 -8
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js +2 -2
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -1
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +1 -1
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +1 -10
- package/build/components/inserter/category-tabs/index.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +24 -5
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +22 -12
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +24 -11
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +36 -14
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/media-tab/utils.js.map +1 -1
- package/build/components/inserter/menu.js +4 -4
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/mobile-tab-navigation.js +5 -5
- package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +5 -5
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/search-results.js +1 -1
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js.map +1 -1
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/index.js +1 -2
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/is-url-like.js.map +1 -1
- package/build/components/link-control/search-create-button.js +1 -1
- package/build/components/link-control/search-create-button.js.map +1 -1
- package/build/components/link-control/search-input.js +3 -5
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-results.js +5 -15
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/link-control/use-rich-url-data.js.map +1 -1
- package/build/components/list-view/appender.js +1 -1
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/block-contents.js +1 -25
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +2 -2
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/list-view/utils.js +1 -1
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +1 -1
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/multi-selection-inspector/index.js +2 -2
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/observe-typing/index.js +1 -0
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/recursion-provider/index.js +1 -0
- package/build/components/recursion-provider/index.js.map +1 -1
- package/build/components/responsive-block-control/index.js +3 -3
- package/build/components/responsive-block-control/index.js.map +1 -1
- package/build/components/responsive-block-control/label.js +1 -1
- package/build/components/responsive-block-control/label.js.map +1 -1
- package/build/components/rich-text/content.js.map +1 -1
- package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.native.js.map +1 -1
- package/build/components/rich-text/index.js +3 -2
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/multiline.js.map +1 -1
- package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/native/use-format-types.js +1 -0
- package/build/components/rich-text/native/use-format-types.js.map +1 -1
- package/build/components/rich-text/toolbar-button.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +1 -0
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/spacing-sizes-control/utils.js +1 -0
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/tool-selector/index.js +13 -8
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/typewriter/index.js +1 -0
- package/build/components/typewriter/index.js.map +1 -1
- package/build/components/unsupported-block-details/index.native.js.map +1 -1
- package/build/components/url-input/index.js +1 -1
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-commands/index.js +0 -61
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-flash-editable-blocks/index.js.map +1 -1
- package/build/components/use-moving-animation/index.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +23 -30
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/block-hooks.js +1 -1
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/block-style-variation.js.map +1 -1
- package/build/hooks/duotone.js +4 -1
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/gap.js.map +1 -1
- package/build/hooks/generated-class-name.js +1 -0
- package/build/hooks/generated-class-name.js.map +1 -1
- package/build/hooks/layout-child.js +3 -1
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +4 -3
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/spacing-visualizer.js.map +1 -1
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/text-align.js.map +1 -1
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/hooks/use-zoom-out.js +24 -16
- package/build/hooks/use-zoom-out.js.map +1 -1
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/grid.js.map +1 -1
- package/build/layouts/utils.js.map +1 -1
- package/build/store/actions.js +18 -20
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +15 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +104 -7
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +24 -44
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +149 -71
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +4 -3
- package/build/store/utils.js.map +1 -1
- package/build/utils/block-bindings.js +2 -0
- package/build/utils/block-bindings.js.map +1 -1
- package/build/utils/get-font-styles-and-weights.js +1 -1
- package/build/utils/get-font-styles-and-weights.js.map +1 -1
- package/build/utils/object.js +1 -0
- package/build/utils/object.js.map +1 -1
- package/build/utils/pasting.js.map +1 -1
- package/build-module/autocompleters/block.js +1 -3
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/autocompleters/link.js +3 -4
- package/build-module/autocompleters/link.js.map +1 -1
- package/build-module/components/audio-player/index.native.js +1 -2
- package/build-module/components/audio-player/index.native.js.map +1 -1
- package/build-module/components/background-image-control/index.js +2 -3
- package/build-module/components/background-image-control/index.js.map +1 -1
- package/build-module/components/block-actions/index.js +1 -13
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +1 -2
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +1 -2
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-canvas/index.js +1 -2
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-card/index.js +1 -2
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-compare/block-view.js +1 -2
- package/build-module/components/block-compare/block-view.js.map +1 -1
- package/build-module/components/block-compare/index.js +1 -2
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-controls/fill.js +1 -3
- package/build-module/components/block-controls/fill.js.map +1 -1
- package/build-module/components/block-controls/slot.js.map +1 -1
- package/build-module/components/block-controls/slot.native.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.js +2 -3
- package/build-module/components/block-draggable/draggable-chip.js.map +1 -1
- package/build-module/components/block-draggable/draggable-chip.native.js +1 -2
- package/build-module/components/block-draggable/draggable-chip.native.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js +1 -3
- package/build-module/components/block-draggable/index.native.js.map +1 -1
- package/build-module/components/block-edit/index.js +1 -2
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-edit/multiple-usage-warning.js +1 -2
- package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
- package/build-module/components/block-inspector/index.js +57 -78
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-crash-warning.js +1 -1
- package/build-module/components/block-list/block-crash-warning.js.map +1 -1
- package/build-module/components/block-list/block-crash-warning.native.js +1 -1
- package/build-module/components/block-list/block-crash-warning.native.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +1 -3
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.native.js +1 -1
- package/build-module/components/block-list/block-invalid-warning.native.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js +1 -2
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block-selection-button.native.js +1 -2
- package/build-module/components/block-list/block-selection-button.native.js.map +1 -1
- package/build-module/components/block-list/block.js +6 -19
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +1 -2
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +7 -10
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +1 -3
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/insertion-point.native.js +1 -2
- package/build-module/components/block-list/insertion-point.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +3 -8
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js +14 -6
- package/build-module/components/block-list/use-block-props/use-selected-block-event-handlers.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +5 -3
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list/zoom-out-separator.js +24 -13
- package/build-module/components/block-list/zoom-out-separator.js.map +1 -1
- package/build-module/components/block-lock/menu-item.js +1 -3
- package/build-module/components/block-lock/menu-item.js.map +1 -1
- package/build-module/components/block-lock/modal.js +2 -3
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-lock/toolbar.js +1 -3
- package/build-module/components/block-lock/toolbar.js.map +1 -1
- package/build-module/components/block-media-update-progress/index.native.js +1 -2
- package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
- package/build-module/components/block-mover/button.js +1 -3
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +1 -2
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +1 -2
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +3 -6
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js +14 -11
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +1 -3
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +11 -22
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +1 -3
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-patterns-paging/index.js +12 -15
- package/build-module/components/block-patterns-paging/index.js.map +1 -1
- package/build-module/components/block-popover/index.js +45 -2
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +2 -7
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js +1 -2
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-quick-navigation/index.js +3 -6
- package/build-module/components/block-quick-navigation/index.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +1 -2
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-rename/modal.js +3 -4
- package/build-module/components/block-rename/modal.js.map +1 -1
- package/build-module/components/block-rename/rename-control.js +1 -3
- package/build-module/components/block-rename/rename-control.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +1 -3
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +1 -1
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +80 -79
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +3 -9
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +1 -2
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/menu-items.js +1 -2
- package/build-module/components/block-styles/menu-items.js.map +1 -1
- package/build-module/components/block-styles/preview.native.js +1 -2
- package/build-module/components/block-styles/preview.native.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.js +1 -3
- package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build-module/components/block-switcher/block-variation-transformations.js +1 -3
- package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
- package/build-module/components/block-switcher/index.js +20 -18
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -2
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js +1 -2
- package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build-module/components/block-switcher/use-transformed-patterns.js +1 -0
- package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +1 -0
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -2
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +17 -22
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.native.js +1 -3
- package/build-module/components/block-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-toolbar/use-has-block-toolbar.js +3 -5
- package/build-module/components/block-toolbar/use-has-block-toolbar.js.map +1 -1
- package/build-module/components/block-tools/index.js +9 -20
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +2 -6
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +8 -7
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.js +1 -12
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +14 -17
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-popover.js +2 -1
- package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js +7 -35
- package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build-module/components/block-types-list/index.js +1 -2
- package/build-module/components/block-types-list/index.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +1 -2
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +1 -2
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-picker/index.native.js +1 -2
- package/build-module/components/block-variation-picker/index.native.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +4 -4
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +1 -3
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/button-block-appender/index.native.js +1 -2
- package/build-module/components/button-block-appender/index.native.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +1 -3
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/color-style-selector/index.js.map +1 -1
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +1 -2
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +1 -3
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +1 -3
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +1 -3
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build-module/components/contrast-checker/index.native.js +1 -2
- package/build-module/components/contrast-checker/index.native.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +1 -3
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +1 -2
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +2 -2
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +1 -2
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/dimensions-tool/index.js +1 -3
- package/build-module/components/dimensions-tool/index.js.map +1 -1
- package/build-module/components/dimensions-tool/width-height-tool.js +1 -3
- package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -1
- package/build-module/components/duotone/utils.js.map +1 -1
- package/build-module/components/duotone-control/index.js +1 -2
- package/build-module/components/duotone-control/index.js.map +1 -1
- package/build-module/components/editor-styles/index.js +1 -3
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/floating-toolbar/index.native.js +1 -2
- package/build-module/components/floating-toolbar/index.native.js.map +1 -1
- package/build-module/components/floating-toolbar/nav-up-icon.js +1 -2
- package/build-module/components/floating-toolbar/nav-up-icon.js.map +1 -1
- package/build-module/components/font-sizes/fluid-utils.js.map +1 -1
- package/build-module/components/font-sizes/utils.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +2 -2
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/global-styles/advanced-panel.js +1 -2
- package/build-module/components/global-styles/advanced-panel.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +2 -3
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +2 -3
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +2 -3
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +1 -2
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build-module/components/global-styles/get-global-styles-changes.js +2 -1
- package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.js +1 -2
- package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +1 -2
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +1 -2
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/gradients/use-gradient.js.map +1 -1
- package/build-module/components/grid/grid-item-movers.js +1 -3
- package/build-module/components/grid/grid-item-movers.js.map +1 -1
- package/build-module/components/grid/grid-visualizer.js.map +1 -1
- package/build-module/components/height-control/index.js +1 -2
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/iframe/index.js +45 -12
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -3
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-editor/cropper.js +1 -3
- package/build-module/components/image-editor/cropper.js.map +1 -1
- package/build-module/components/image-editor/form-controls.js +1 -3
- package/build-module/components/image-editor/form-controls.js.map +1 -1
- package/build-module/components/image-editor/index.js +1 -2
- package/build-module/components/image-editor/index.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +1 -1
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/image-link-destinations/index.native.js +1 -3
- package/build-module/components/image-link-destinations/index.native.js.map +1 -1
- package/build-module/components/image-size-control/index.js +1 -3
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +1 -9
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +16 -9
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js +1 -2
- package/build-module/components/inner-blocks/warning-max-depth-exceeded.native.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/index.js +1 -2
- package/build-module/components/inserter/block-patterns-explorer/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -3
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +3 -5
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js +1 -3
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -3
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +1 -3
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -1
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +2 -4
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +3 -13
- package/build-module/components/inserter/category-tabs/index.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +27 -8
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +22 -12
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +24 -11
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.native.js +1 -3
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +1 -2
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +37 -17
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +1 -3
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/media-tab/utils.js.map +1 -1
- package/build-module/components/inserter/menu.js +5 -7
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/menu.native.js +1 -3
- package/build-module/components/inserter/menu.native.js.map +1 -1
- package/build-module/components/inserter/mobile-tab-navigation.js +7 -8
- package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build-module/components/inserter/no-results.js +1 -2
- package/build-module/components/inserter/no-results.js.map +1 -1
- package/build-module/components/inserter/no-results.native.js +1 -2
- package/build-module/components/inserter/no-results.native.js.map +1 -1
- package/build-module/components/inserter/panel.js +1 -3
- package/build-module/components/inserter/panel.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +1 -2
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +6 -7
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/search-results.js +2 -3
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/tabs.native.js.map +1 -1
- package/build-module/components/inserter-button/index.native.js +1 -2
- package/build-module/components/inserter-button/index.native.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +1 -2
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inserter-listbox/index.js +1 -2
- package/build-module/components/inserter-listbox/index.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +1 -3
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls/slot.native.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +1 -2
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab.js +1 -3
- package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +1 -3
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/inspector-popover-header/index.js +1 -2
- package/build-module/components/inspector-popover-header/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/index.js +2 -5
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/is-url-like.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +1 -3
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-create-button.js +1 -1
- package/build-module/components/link-control/search-create-button.js.map +1 -1
- package/build-module/components/link-control/search-input.js +4 -7
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/search-results.js +6 -17
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +1 -3
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/link-control/settings.js +1 -2
- package/build-module/components/link-control/settings.js.map +1 -1
- package/build-module/components/link-control/use-rich-url-data.js.map +1 -1
- package/build-module/components/list-view/appender.js +2 -3
- package/build-module/components/list-view/appender.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +2 -28
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +1 -2
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +1 -3
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +1 -3
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +1 -2
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js +1 -2
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +2 -2
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/list-view/utils.js +1 -1
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +1 -3
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +2 -4
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +1 -3
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +1 -3
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/media-upload-progress/index.native.js +1 -2
- package/build-module/components/media-upload-progress/index.native.js.map +1 -1
- package/build-module/components/multi-selection-inspector/index.js +3 -4
- package/build-module/components/multi-selection-inspector/index.js.map +1 -1
- package/build-module/components/observe-typing/index.js +1 -0
- package/build-module/components/observe-typing/index.js.map +1 -1
- package/build-module/components/provider/index.js +1 -2
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/publish-date-time-picker/index.js +1 -2
- package/build-module/components/publish-date-time-picker/index.js.map +1 -1
- package/build-module/components/recursion-provider/index.js +1 -0
- package/build-module/components/recursion-provider/index.js.map +1 -1
- package/build-module/components/responsive-block-control/index.js +4 -5
- package/build-module/components/responsive-block-control/index.js.map +1 -1
- package/build-module/components/responsive-block-control/label.js +2 -4
- package/build-module/components/responsive-block-control/label.js.map +1 -1
- package/build-module/components/rich-text/content.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/before-input-rules.js +2 -2
- package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/delete.js +2 -2
- package/build-module/components/rich-text/event-listeners/delete.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/enter.js +2 -2
- package/build-module/components/rich-text/event-listeners/enter.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/firefox-compat.js +2 -2
- package/build-module/components/rich-text/event-listeners/firefox-compat.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/input-events.js +2 -2
- package/build-module/components/rich-text/event-listeners/input-events.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/input-rules.js +2 -2
- package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.js +2 -2
- package/build-module/components/rich-text/event-listeners/insert-replacement-text.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/paste-handler.js +2 -2
- package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js +2 -2
- package/build-module/components/rich-text/event-listeners/remove-browser-shortcuts.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/shortcuts.js +2 -2
- package/build-module/components/rich-text/event-listeners/shortcuts.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.js +2 -2
- package/build-module/components/rich-text/event-listeners/undo-automatic-change.js.map +1 -1
- package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +1 -3
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.native.js +1 -3
- package/build-module/components/rich-text/format-toolbar/index.native.js.map +1 -1
- package/build-module/components/rich-text/index.js +4 -5
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +1 -3
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/multiline.js.map +1 -1
- package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build-module/components/rich-text/native/index.js +1 -1
- package/build-module/components/rich-text/native/index.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +1 -3
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +1 -3
- package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
- package/build-module/components/rich-text/native/use-format-types.js +1 -0
- package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
- package/build-module/components/rich-text/toolbar-button.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +1 -0
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +1 -2
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/axial.js +1 -2
- package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/separated.js +1 -2
- package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -3
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/spacing-sizes-control/utils.js +1 -0
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/tabbed-sidebar/index.js +1 -2
- package/build-module/components/tabbed-sidebar/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js +14 -11
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/typewriter/index.js +1 -0
- package/build-module/components/typewriter/index.js.map +1 -1
- package/build-module/components/unsupported-block-details/index.native.js +1 -2
- package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
- package/build-module/components/url-input/button.js +1 -2
- package/build-module/components/url-input/button.js.map +1 -1
- package/build-module/components/url-input/index.js +2 -4
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +1 -3
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/url-popover/index.js +1 -2
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/components/url-popover/link-editor.js +1 -2
- package/build-module/components/url-popover/link-editor.js.map +1 -1
- package/build-module/components/url-popover/link-viewer.js +1 -2
- package/build-module/components/url-popover/link-viewer.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +1 -62
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
- package/build-module/components/use-moving-animation/index.js.map +1 -1
- package/build-module/components/video-player/index.native.js +1 -2
- package/build-module/components/video-player/index.native.js.map +1 -1
- package/build-module/components/warning/index.js +1 -2
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/warning/index.native.js +1 -2
- package/build-module/components/warning/index.native.js.map +1 -1
- package/build-module/components/writing-flow/index.js +1 -3
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +24 -31
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/anchor.js +1 -3
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/block-bindings.js +1 -3
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/block-hooks.js +2 -3
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/block-style-variation.js +1 -2
- package/build-module/hooks/block-style-variation.js.map +1 -1
- package/build-module/hooks/dimensions.js +1 -3
- package/build-module/hooks/dimensions.js.map +1 -1
- package/build-module/hooks/duotone.js +5 -4
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/gap.js.map +1 -1
- package/build-module/hooks/generated-class-name.js +1 -0
- package/build-module/hooks/generated-class-name.js.map +1 -1
- package/build-module/hooks/grid-visualizer.js +1 -3
- package/build-module/hooks/grid-visualizer.js.map +1 -1
- package/build-module/hooks/layout-child.js +5 -4
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/layout.js +1 -3
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +5 -2
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/spacing-visualizer.js.map +1 -1
- package/build-module/hooks/style.js +1 -3
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/text-align.js.map +1 -1
- package/build-module/hooks/typography.native.js +1 -2
- package/build-module/hooks/typography.native.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +1 -2
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/hooks/use-zoom-out.js +24 -17
- package/build-module/hooks/use-zoom-out.js.map +1 -1
- package/build-module/layouts/constrained.js +1 -3
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/flex.js +1 -3
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/grid.js +1 -3
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/layouts/utils.js.map +1 -1
- package/build-module/store/actions.js +17 -18
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +14 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +98 -7
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +22 -41
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +150 -70
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +3 -2
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/block-bindings.js +2 -0
- package/build-module/utils/block-bindings.js.map +1 -1
- package/build-module/utils/get-font-styles-and-weights.js +1 -1
- package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
- package/build-module/utils/get-px-from-css-unit.js +1 -1
- package/build-module/utils/get-px-from-css-unit.js.map +1 -1
- package/build-module/utils/object.js +1 -0
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/pasting.js.map +1 -1
- package/build-style/content-rtl.css +22 -73
- package/build-style/content.css +22 -73
- package/build-style/default-editor-styles-rtl.css +10 -1
- package/build-style/default-editor-styles.css +10 -1
- package/build-style/style-rtl.css +48 -165
- package/build-style/style.css +48 -165
- package/package.json +33 -33
- package/src/autocompleters/link.js +2 -1
- package/src/components/block-actions/index.js +1 -13
- package/src/components/block-canvas/style.scss +0 -1
- package/src/components/block-draggable/style.scss +2 -2
- package/src/components/block-inspector/index.js +79 -95
- package/src/components/block-list/block.js +7 -25
- package/src/components/block-list/content.scss +4 -63
- package/src/components/block-list/index.js +21 -29
- package/src/components/block-list/use-block-props/index.js +2 -8
- package/src/components/block-list/use-block-props/use-selected-block-event-handlers.js +25 -4
- package/src/components/block-list/use-in-between-inserter.js +5 -2
- package/src/components/block-list/zoom-out-separator.js +32 -14
- package/src/components/block-navigation/dropdown.js +1 -2
- package/src/components/block-parent-selector/index.js +13 -10
- package/src/components/block-pattern-setup/setup-toolbar.js +5 -10
- package/src/components/block-patterns-paging/index.js +8 -7
- package/src/components/block-patterns-paging/style.scss +10 -27
- package/src/components/block-popover/index.js +64 -2
- package/src/components/block-preview/auto.js +1 -4
- package/src/components/block-quick-navigation/index.js +1 -2
- package/src/components/block-settings-menu/block-settings-dropdown.js +120 -106
- package/src/components/block-settings-menu-controls/index.js +0 -15
- package/src/components/block-switcher/index.js +37 -30
- package/src/components/block-toolbar/index.js +22 -34
- package/src/components/block-toolbar/style.scss +10 -1
- package/src/components/block-toolbar/use-has-block-toolbar.js +19 -31
- package/src/components/block-tools/index.js +7 -27
- package/src/components/block-tools/insertion-point.js +1 -4
- package/src/components/block-tools/style.scss +0 -90
- package/src/components/block-tools/use-show-block-tools.js +10 -13
- package/src/components/block-tools/zoom-out-mode-inserter-button.js +2 -17
- package/src/components/block-tools/zoom-out-mode-inserters.js +11 -19
- package/src/components/block-tools/zoom-out-popover.js +2 -1
- package/src/components/block-tools/zoom-out-toolbar.js +4 -36
- package/src/components/font-family/README.md +5 -1
- package/src/components/global-styles/border-panel.js +1 -1
- package/src/components/global-styles/dimensions-panel.js +1 -1
- package/src/components/iframe/content.scss +20 -24
- package/src/components/iframe/index.js +56 -12
- package/src/components/iframe/style.scss +6 -5
- package/src/components/inner-blocks/index.js +1 -16
- package/src/components/inner-blocks/use-nested-settings-update.js +16 -10
- package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -1
- package/src/components/inserter/block-types-tab.js +1 -1
- package/src/components/inserter/category-tabs/index.js +1 -11
- package/src/components/inserter/hooks/use-block-types-state.js +34 -14
- package/src/components/inserter/hooks/use-insertion-point.js +35 -13
- package/src/components/inserter/hooks/use-patterns-state.js +46 -9
- package/src/components/inserter/media-tab/media-preview.js +38 -12
- package/src/components/inserter/menu.js +4 -4
- package/src/components/inserter/mobile-tab-navigation.js +10 -13
- package/src/components/inserter/quick-inserter.js +6 -5
- package/src/components/inserter/style.scss +1 -69
- package/src/components/inspector-controls-tabs/style.scss +2 -6
- package/src/components/link-control/index.js +0 -1
- package/src/components/link-control/search-input.js +4 -5
- package/src/components/link-control/search-results.js +2 -13
- package/src/components/link-control/test/index.js +84 -46
- package/src/components/list-view/block-contents.js +1 -28
- package/src/components/list-view/style.scss +0 -14
- package/src/components/media-replace-flow/test/index.js +1 -1
- package/src/components/responsive-block-control/style.scss +0 -1
- package/src/components/rich-text/style.scss +5 -0
- package/src/components/tool-selector/index.js +15 -7
- package/src/components/tool-selector/style.scss +5 -0
- package/src/components/use-block-commands/index.js +0 -58
- package/src/components/writing-flow/use-tab-nav.js +32 -40
- package/src/content.scss +0 -1
- package/src/hooks/duotone.js +4 -1
- package/src/hooks/layout-child.js +4 -1
- package/src/hooks/position.js +4 -1
- package/src/hooks/use-zoom-out.js +36 -20
- package/src/store/actions.js +17 -15
- package/src/store/private-actions.js +14 -0
- package/src/store/private-selectors.js +120 -16
- package/src/store/reducer.js +22 -45
- package/src/store/selectors.js +218 -118
- package/src/store/test/private-actions.js +15 -0
- package/src/store/test/private-selectors.js +41 -1
- package/src/store/test/reducer.js +40 -4
- package/src/store/test/selectors.js +195 -21
- package/src/store/utils.js +4 -2
- package/src/style.scss +1 -0
- package/src/utils/block-bindings.js +2 -0
- package/build/components/block-controls/use-has-block-controls.js +0 -43
- package/build/components/block-controls/use-has-block-controls.js.map +0 -1
- package/build/components/block-list/use-block-props/use-nav-mode-exit.js +0 -54
- package/build/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
- package/build/components/block-tools/block-selection-button.js +0 -259
- package/build/components/block-tools/block-selection-button.js.map +0 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +0 -57
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
- package/build/components/inserter/tabs.js +0 -78
- package/build/components/inserter/tabs.js.map +0 -1
- package/build-module/components/block-controls/use-has-block-controls.js +0 -34
- package/build-module/components/block-controls/use-has-block-controls.js.map +0 -1
- package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js +0 -48
- package/build-module/components/block-list/use-block-props/use-nav-mode-exit.js.map +0 -1
- package/build-module/components/block-tools/block-selection-button.js +0 -254
- package/build-module/components/block-tools/block-selection-button.js.map +0 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +0 -49
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +0 -1
- package/build-module/components/inserter/tabs.js +0 -72
- package/build-module/components/inserter/tabs.js.map +0 -1
- package/src/components/block-controls/use-has-block-controls.js +0 -35
- package/src/components/block-list/use-block-props/use-nav-mode-exit.js +0 -46
- package/src/components/block-tools/block-selection-button.js +0 -302
- package/src/components/block-tools/block-toolbar-breadcrumb.js +0 -51
- package/src/components/inner-blocks/content.scss +0 -13
- package/src/components/inserter/tabs.js +0 -78
- package/src/components/inserter/test/block-types-tab.native.js +0 -67
|
@@ -58,7 +58,7 @@ const BlockTransformationsMenu = ({
|
|
|
58
58
|
function onPickerSelect(value) {
|
|
59
59
|
replaceBlocks(selectedBlockClientId, (0, _blocks.switchToBlockType)(selectedBlock, value));
|
|
60
60
|
const selectedItem = pickerOptions().find(item => item.value === value);
|
|
61
|
-
const successNotice = (0, _i18n.sprintf)(
|
|
61
|
+
const successNotice = (0, _i18n.sprintf)(/* translators: 1: From block title, e.g. Paragraph. 2: To block title, e.g. Header. */
|
|
62
62
|
(0, _i18n.__)('%1$s transformed to %2$s'), blockTitle, selectedItem.label);
|
|
63
63
|
createSuccessNotice(successNotice);
|
|
64
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_i18n","_blocks","_components","_data","_notices","_store","_jsxRuntime","BlockTransformationsMenu","anchorNodeRef","blockTitle","pickerRef","possibleTransformations","selectedBlock","selectedBlockClientId","replaceBlocks","useDispatch","blockEditorStore","createSuccessNotice","noticesStore","pickerOptions","_selectedBlock$name","selectedBlockName","name","blocksThatSplitWhenTransformed","map","item","label","length","includes","id","title","value","getAnchor","findNodeHandle","undefined","onPickerSelect","switchToBlockType","selectedItem","find","successNotice","sprintf","__","jsx","Picker","testID","ref","options","onChange","hideCancelButton","Platform","OS","leftAlign","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/block-switcher/block-transformations-menu.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { findNodeHandle, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { switchToBlockType } from '@wordpress/blocks';\nimport { Picker } from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockTransformationsMenu = ( {\n\tanchorNodeRef,\n\tblockTitle,\n\tpickerRef,\n\tpossibleTransformations,\n\tselectedBlock,\n\tselectedBlockClientId,\n} ) => {\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst pickerOptions = () => {\n\t\tconst selectedBlockName = selectedBlock?.name ?? '';\n\t\tconst blocksThatSplitWhenTransformed = {\n\t\t\t'core/list': [ 'core/paragraph', 'core/heading' ],\n\t\t\t'core/quote': [ 'core/paragraph' ],\n\t\t\t'core/pullquote': [ 'core/paragraph' ],\n\t\t};\n\n\t\treturn possibleTransformations.map( ( item ) => {\n\t\t\tconst label =\n\t\t\t\tselectedBlockName.length &&\n\t\t\t\tblocksThatSplitWhenTransformed[ selectedBlockName ] &&\n\t\t\t\tblocksThatSplitWhenTransformed[ selectedBlockName ].includes(\n\t\t\t\t\titem.id\n\t\t\t\t)\n\t\t\t\t\t? `${ item.title } blocks`\n\t\t\t\t\t: item.title;\n\t\t\treturn {\n\t\t\t\tlabel,\n\t\t\t\tvalue: item.id,\n\t\t\t};\n\t\t} );\n\t};\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\tfunction onPickerSelect( value ) {\n\t\treplaceBlocks(\n\t\t\tselectedBlockClientId,\n\t\t\tswitchToBlockType( selectedBlock, value )\n\t\t);\n\n\t\tconst selectedItem = pickerOptions().find(\n\t\t\t( item ) => item.value === value\n\t\t);\n\t\tconst successNotice = sprintf(\n\t\t\t/* translators: 1: From block title, e.g. Paragraph. 2: To block title, e.g. Header. */\n\t\t\t__( '%1$s transformed to %2$s' ),\n\t\t\tblockTitle,\n\t\t\tselectedItem.label\n\t\t);\n\t\tcreateSuccessNotice( successNotice );\n\t}\n\n\treturn (\n\t\t<Picker\n\t\t\ttestID=\"block-transformations-menu\"\n\t\t\tref={ pickerRef }\n\t\t\toptions={ pickerOptions() }\n\t\t\tonChange={ onPickerSelect }\n\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\tleftAlign\n\t\t\tgetAnchor={ getAnchor }\n\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\ttitle={ sprintf( __( 'Transform %s to' ), blockTitle ) }\n\t\t/>\n\t);\n};\n\nexport default BlockTransformationsMenu;\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AAAwD,IAAAO,WAAA,GAAAP,OAAA;AAjBxD;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;;AAGA,MAAMQ,wBAAwB,GAAGA,CAAE;EAClCC,aAAa;EACbC,UAAU;EACVC,SAAS;EACTC,uBAAuB;EACvBC,aAAa;EACbC;AACD,CAAC,KAAM;EACN,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAiB,CAAC;EACzD,MAAM;IAAEC;EAAoB,CAAC,GAAG,IAAAF,iBAAW,EAAEG,cAAa,CAAC;EAE3D,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAAA,IAAAC,mBAAA;IAC3B,MAAMC,iBAAiB,IAAAD,mBAAA,GAAGR,aAAa,EAAEU,IAAI,cAAAF,mBAAA,cAAAA,mBAAA,GAAI,EAAE;IACnD,MAAMG,8BAA8B,GAAG;MACtC,WAAW,EAAE,CAAE,gBAAgB,EAAE,cAAc,CAAE;MACjD,YAAY,EAAE,CAAE,gBAAgB,CAAE;MAClC,gBAAgB,EAAE,CAAE,gBAAgB;IACrC,CAAC;IAED,OAAOZ,uBAAuB,CAACa,GAAG,CAAIC,IAAI,IAAM;MAC/C,MAAMC,KAAK,GACVL,iBAAiB,CAACM,MAAM,IACxBJ,8BAA8B,CAAEF,iBAAiB,CAAE,IACnDE,8BAA8B,CAAEF,iBAAiB,CAAE,CAACO,QAAQ,CAC3DH,IAAI,CAACI,EACN,CAAC,
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_i18n","_blocks","_components","_data","_notices","_store","_jsxRuntime","BlockTransformationsMenu","anchorNodeRef","blockTitle","pickerRef","possibleTransformations","selectedBlock","selectedBlockClientId","replaceBlocks","useDispatch","blockEditorStore","createSuccessNotice","noticesStore","pickerOptions","_selectedBlock$name","selectedBlockName","name","blocksThatSplitWhenTransformed","map","item","label","length","includes","id","title","value","getAnchor","findNodeHandle","undefined","onPickerSelect","switchToBlockType","selectedItem","find","successNotice","sprintf","__","jsx","Picker","testID","ref","options","onChange","hideCancelButton","Platform","OS","leftAlign","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/block-switcher/block-transformations-menu.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { findNodeHandle, Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { switchToBlockType } from '@wordpress/blocks';\nimport { Picker } from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst BlockTransformationsMenu = ( {\n\tanchorNodeRef,\n\tblockTitle,\n\tpickerRef,\n\tpossibleTransformations,\n\tselectedBlock,\n\tselectedBlockClientId,\n} ) => {\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst pickerOptions = () => {\n\t\tconst selectedBlockName = selectedBlock?.name ?? '';\n\t\tconst blocksThatSplitWhenTransformed = {\n\t\t\t'core/list': [ 'core/paragraph', 'core/heading' ],\n\t\t\t'core/quote': [ 'core/paragraph' ],\n\t\t\t'core/pullquote': [ 'core/paragraph' ],\n\t\t};\n\n\t\treturn possibleTransformations.map( ( item ) => {\n\t\t\tconst label =\n\t\t\t\tselectedBlockName.length &&\n\t\t\t\tblocksThatSplitWhenTransformed[ selectedBlockName ] &&\n\t\t\t\tblocksThatSplitWhenTransformed[ selectedBlockName ].includes(\n\t\t\t\t\titem.id\n\t\t\t\t)\n\t\t\t\t\t? `${ item.title } blocks`\n\t\t\t\t\t: item.title;\n\t\t\treturn {\n\t\t\t\tlabel,\n\t\t\t\tvalue: item.id,\n\t\t\t};\n\t\t} );\n\t};\n\n\tconst getAnchor = () =>\n\t\tanchorNodeRef ? findNodeHandle( anchorNodeRef ) : undefined;\n\n\tfunction onPickerSelect( value ) {\n\t\treplaceBlocks(\n\t\t\tselectedBlockClientId,\n\t\t\tswitchToBlockType( selectedBlock, value )\n\t\t);\n\n\t\tconst selectedItem = pickerOptions().find(\n\t\t\t( item ) => item.value === value\n\t\t);\n\t\tconst successNotice = sprintf(\n\t\t\t/* translators: 1: From block title, e.g. Paragraph. 2: To block title, e.g. Header. */\n\t\t\t__( '%1$s transformed to %2$s' ),\n\t\t\tblockTitle,\n\t\t\tselectedItem.label\n\t\t);\n\t\tcreateSuccessNotice( successNotice );\n\t}\n\n\treturn (\n\t\t<Picker\n\t\t\ttestID=\"block-transformations-menu\"\n\t\t\tref={ pickerRef }\n\t\t\toptions={ pickerOptions() }\n\t\t\tonChange={ onPickerSelect }\n\t\t\thideCancelButton={ Platform.OS !== 'ios' }\n\t\t\tleftAlign\n\t\t\tgetAnchor={ getAnchor }\n\t\t\t// translators: %s: block title e.g: \"Paragraph\".\n\t\t\ttitle={ sprintf( __( 'Transform %s to' ), blockTitle ) }\n\t\t/>\n\t);\n};\n\nexport default BlockTransformationsMenu;\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AAKA,IAAAM,MAAA,GAAAN,OAAA;AAAwD,IAAAO,WAAA,GAAAP,OAAA;AAjBxD;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;;AAGA,MAAMQ,wBAAwB,GAAGA,CAAE;EAClCC,aAAa;EACbC,UAAU;EACVC,SAAS;EACTC,uBAAuB;EACvBC,aAAa;EACbC;AACD,CAAC,KAAM;EACN,MAAM;IAAEC;EAAc,CAAC,GAAG,IAAAC,iBAAW,EAAEC,YAAiB,CAAC;EACzD,MAAM;IAAEC;EAAoB,CAAC,GAAG,IAAAF,iBAAW,EAAEG,cAAa,CAAC;EAE3D,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAAA,IAAAC,mBAAA;IAC3B,MAAMC,iBAAiB,IAAAD,mBAAA,GAAGR,aAAa,EAAEU,IAAI,cAAAF,mBAAA,cAAAA,mBAAA,GAAI,EAAE;IACnD,MAAMG,8BAA8B,GAAG;MACtC,WAAW,EAAE,CAAE,gBAAgB,EAAE,cAAc,CAAE;MACjD,YAAY,EAAE,CAAE,gBAAgB,CAAE;MAClC,gBAAgB,EAAE,CAAE,gBAAgB;IACrC,CAAC;IAED,OAAOZ,uBAAuB,CAACa,GAAG,CAAIC,IAAI,IAAM;MAC/C,MAAMC,KAAK,GACVL,iBAAiB,CAACM,MAAM,IACxBJ,8BAA8B,CAAEF,iBAAiB,CAAE,IACnDE,8BAA8B,CAAEF,iBAAiB,CAAE,CAACO,QAAQ,CAC3DH,IAAI,CAACI,EACN,CAAC,GACE,GAAIJ,IAAI,CAACK,KAAK,SAAU,GACxBL,IAAI,CAACK,KAAK;MACd,OAAO;QACNJ,KAAK;QACLK,KAAK,EAAEN,IAAI,CAACI;MACb,CAAC;IACF,CAAE,CAAC;EACJ,CAAC;EAED,MAAMG,SAAS,GAAGA,CAAA,KACjBxB,aAAa,GAAG,IAAAyB,2BAAc,EAAEzB,aAAc,CAAC,GAAG0B,SAAS;EAE5D,SAASC,cAAcA,CAAEJ,KAAK,EAAG;IAChCjB,aAAa,CACZD,qBAAqB,EACrB,IAAAuB,yBAAiB,EAAExB,aAAa,EAAEmB,KAAM,CACzC,CAAC;IAED,MAAMM,YAAY,GAAGlB,aAAa,CAAC,CAAC,CAACmB,IAAI,CACtCb,IAAI,IAAMA,IAAI,CAACM,KAAK,KAAKA,KAC5B,CAAC;IACD,MAAMQ,aAAa,GAAG,IAAAC,aAAO,EAC5B;IACA,IAAAC,QAAE,EAAE,0BAA2B,CAAC,EAChChC,UAAU,EACV4B,YAAY,CAACX,KACd,CAAC;IACDT,mBAAmB,CAAEsB,aAAc,CAAC;EACrC;EAEA,oBACC,IAAAjC,WAAA,CAAAoC,GAAA,EAACxC,WAAA,CAAAyC,MAAM;IACNC,MAAM,EAAC,4BAA4B;IACnCC,GAAG,EAAGnC,SAAW;IACjBoC,OAAO,EAAG3B,aAAa,CAAC,CAAG;IAC3B4B,QAAQ,EAAGZ,cAAgB;IAC3Ba,gBAAgB,EAAGC,qBAAQ,CAACC,EAAE,KAAK,KAAO;IAC1CC,SAAS;IACTnB,SAAS,EAAGA;IACZ;IAAA;IACAF,KAAK,EAAG,IAAAU,aAAO,EAAE,IAAAC,QAAE,EAAE,iBAAkB,CAAC,EAAEhC,UAAW;EAAG,CACxD,CAAC;AAEJ,CAAC;AAAC,IAAA2C,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEa/C,wBAAwB","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* wp:polyfill */
|
|
1
2
|
"use strict";
|
|
2
3
|
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -30,8 +31,7 @@ function BlockSwitcherDropdownMenuContents({
|
|
|
30
31
|
onClose,
|
|
31
32
|
clientIds,
|
|
32
33
|
hasBlockStyles,
|
|
33
|
-
canRemove
|
|
34
|
-
isUsingBindings
|
|
34
|
+
canRemove
|
|
35
35
|
}) {
|
|
36
36
|
const {
|
|
37
37
|
replaceBlocks,
|
|
@@ -41,20 +41,23 @@ function BlockSwitcherDropdownMenuContents({
|
|
|
41
41
|
const {
|
|
42
42
|
possibleBlockTransformations,
|
|
43
43
|
patterns,
|
|
44
|
-
blocks
|
|
44
|
+
blocks,
|
|
45
|
+
isUsingBindings
|
|
45
46
|
} = (0, _data.useSelect)(select => {
|
|
46
47
|
const {
|
|
48
|
+
getBlockAttributes,
|
|
47
49
|
getBlocksByClientId,
|
|
48
50
|
getBlockRootClientId,
|
|
49
51
|
getBlockTransformItems,
|
|
50
52
|
__experimentalGetPatternTransformItems
|
|
51
53
|
} = select(_store.store);
|
|
52
|
-
const rootClientId = getBlockRootClientId(
|
|
54
|
+
const rootClientId = getBlockRootClientId(clientIds[0]);
|
|
53
55
|
const _blocks = getBlocksByClientId(clientIds);
|
|
54
56
|
return {
|
|
55
57
|
blocks: _blocks,
|
|
56
58
|
possibleBlockTransformations: getBlockTransformItems(_blocks, rootClientId),
|
|
57
|
-
patterns: __experimentalGetPatternTransformItems(_blocks, rootClientId)
|
|
59
|
+
patterns: __experimentalGetPatternTransformItems(_blocks, rootClientId),
|
|
60
|
+
isUsingBindings: clientIds.every(clientId => !!getBlockAttributes(clientId)?.metadata?.bindings)
|
|
58
61
|
};
|
|
59
62
|
}, [clientIds]);
|
|
60
63
|
const blockVariationTransformations = (0, _blockVariationTransformations.useBlockVariationTransforms)({
|
|
@@ -151,9 +154,7 @@ const BlockIndicator = ({
|
|
|
151
154
|
})]
|
|
152
155
|
});
|
|
153
156
|
const BlockSwitcher = ({
|
|
154
|
-
clientIds
|
|
155
|
-
disabled,
|
|
156
|
-
isUsingBindings
|
|
157
|
+
clientIds
|
|
157
158
|
}) => {
|
|
158
159
|
const {
|
|
159
160
|
hasContentOnlyLocking,
|
|
@@ -162,13 +163,15 @@ const BlockSwitcher = ({
|
|
|
162
163
|
icon,
|
|
163
164
|
invalidBlocks,
|
|
164
165
|
isReusable,
|
|
165
|
-
isTemplate
|
|
166
|
+
isTemplate,
|
|
167
|
+
isDisabled
|
|
166
168
|
} = (0, _data.useSelect)(select => {
|
|
167
169
|
const {
|
|
168
170
|
getTemplateLock,
|
|
169
171
|
getBlocksByClientId,
|
|
170
172
|
getBlockAttributes,
|
|
171
|
-
canRemoveBlocks
|
|
173
|
+
canRemoveBlocks,
|
|
174
|
+
getBlockEditingMode
|
|
172
175
|
} = select(_store.store);
|
|
173
176
|
const {
|
|
174
177
|
getBlockStyles,
|
|
@@ -186,6 +189,7 @@ const BlockSwitcher = ({
|
|
|
186
189
|
}] = _blocks;
|
|
187
190
|
const _isSingleBlockSelected = _blocks.length === 1;
|
|
188
191
|
const blockType = getBlockType(firstBlockName);
|
|
192
|
+
const editingMode = getBlockEditingMode(clientIds[0]);
|
|
189
193
|
let _icon;
|
|
190
194
|
let _hasTemplateLock;
|
|
191
195
|
if (_isSingleBlockSelected) {
|
|
@@ -208,7 +212,8 @@ const BlockSwitcher = ({
|
|
|
208
212
|
icon: _icon,
|
|
209
213
|
isReusable: _isSingleBlockSelected && (0, _blocks2.isReusableBlock)(_blocks[0]),
|
|
210
214
|
isTemplate: _isSingleBlockSelected && (0, _blocks2.isTemplatePart)(_blocks[0]),
|
|
211
|
-
hasContentOnlyLocking: _hasTemplateLock
|
|
215
|
+
hasContentOnlyLocking: _hasTemplateLock,
|
|
216
|
+
isDisabled: editingMode !== 'default'
|
|
212
217
|
};
|
|
213
218
|
}, [clientIds]);
|
|
214
219
|
const blockTitle = (0, _useBlockDisplayTitle.default)({
|
|
@@ -220,7 +225,7 @@ const BlockSwitcher = ({
|
|
|
220
225
|
}
|
|
221
226
|
const isSingleBlock = clientIds.length === 1;
|
|
222
227
|
const blockSwitcherLabel = isSingleBlock ? blockTitle : (0, _i18n.__)('Multiple blocks selected');
|
|
223
|
-
const hideDropdown =
|
|
228
|
+
const hideDropdown = isDisabled || !hasBlockStyles && !canRemove || hasContentOnlyLocking;
|
|
224
229
|
if (hideDropdown) {
|
|
225
230
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarGroup, {
|
|
226
231
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarButton, {
|
|
@@ -235,7 +240,7 @@ const BlockSwitcher = ({
|
|
|
235
240
|
})
|
|
236
241
|
});
|
|
237
242
|
}
|
|
238
|
-
const blockSwitcherDescription = isSingleBlock ? (0, _i18n.__)('Change block type or style') : (0, _i18n.sprintf)(
|
|
243
|
+
const blockSwitcherDescription = isSingleBlock ? (0, _i18n.__)('Change block type or style') : (0, _i18n.sprintf)(/* translators: %d: number of blocks. */
|
|
239
244
|
(0, _i18n._n)('Change type of %d block', 'Change type of %d blocks', clientIds.length), clientIds.length);
|
|
240
245
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarGroup, {
|
|
241
246
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToolbarItem, {
|
|
@@ -264,8 +269,7 @@ const BlockSwitcher = ({
|
|
|
264
269
|
onClose: onClose,
|
|
265
270
|
clientIds: clientIds,
|
|
266
271
|
hasBlockStyles: hasBlockStyles,
|
|
267
|
-
canRemove: canRemove
|
|
268
|
-
isUsingBindings: isUsingBindings
|
|
272
|
+
canRemove: canRemove
|
|
269
273
|
})
|
|
270
274
|
})
|
|
271
275
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_blocks2","_data","_icons","_store","_blockIcon","_interopRequireDefault","_blockTransformationsMenu","_blockVariationTransformations","_blockStylesMenu","_patternTransformationsMenu","_useBlockDisplayTitle","_jsxRuntime","BlockSwitcherDropdownMenuContents","onClose","clientIds","hasBlockStyles","canRemove","isUsingBindings","replaceBlocks","multiSelect","updateBlockAttributes","useDispatch","blockEditorStore","possibleBlockTransformations","patterns","blocks","useSelect","select","getBlocksByClientId","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","rootClientId","Array","isArray","_blocks","blockVariationTransformations","useBlockVariationTransforms","selectForMultipleBlocks","insertedBlocks","length","clientId","onBlockTransform","name","newBlocks","switchToBlockType","onBlockVariationTransform","find","variationName","attributes","onPatternTransform","transformedBlocks","isSingleBlock","isTemplate","isTemplatePart","hasPossibleBlockTransformations","hasPossibleBlockVariationTransformations","hasPatternTransformation","hasBlockOrBlockVariationTransforms","hasContents","jsx","className","children","__","connectedBlockDescription","_x","jsxs","default","onSelect","possibleBlockVariationTransformations","onSelectVariation","hoveredBlock","onSwitch","MenuGroup","__experimentalText","BlockIndicator","icon","showTitle","blockTitle","Fragment","showColors","BlockSwitcher","disabled","hasContentOnlyLocking","invalidBlocks","isReusable","getTemplateLock","getBlockAttributes","canRemoveBlocks","getBlockStyles","getBlockType","getActiveBlockVariation","blocksStore","some","block","firstBlockName","_isSingleBlockSelected","blockType","_icon","_hasTemplateLock","match","isSelectionOfSameType","Set","map","size","id","copy","isReusableBlock","useBlockDisplayTitle","maximumLength","blockSwitcherLabel","hideDropdown","ToolbarGroup","ToolbarButton","title","blockSwitcherDescription","sprintf","_n","ToolbarItem","toggleProps","DropdownMenu","label","popoverProps","placement","description","menuProps","orientation","exports","_default"],"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n\t__experimentalText as Text,\n\tMenuGroup,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport { useBlockVariationTransforms } from './block-variation-transformations';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nfunction BlockSwitcherDropdownMenuContents( {\n\tonClose,\n\tclientIds,\n\thasBlockStyles,\n\tcanRemove,\n\tisUsingBindings,\n} ) {\n\tconst { replaceBlocks, multiSelect, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { possibleBlockTransformations, patterns, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId(\n\t\t\t\tArray.isArray( clientIds ) ? clientIds[ 0 ] : clientIds\n\t\t\t);\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\treturn {\n\t\t\t\tblocks: _blocks,\n\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\t_blocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\t_blocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockVariationTransformations = useBlockVariationTransforms( {\n\t\tclientIds,\n\t\tblocks,\n\t} );\n\tfunction selectForMultipleBlocks( insertedBlocks ) {\n\t\tif ( insertedBlocks.length > 1 ) {\n\t\t\tmultiSelect(\n\t\t\t\tinsertedBlocks[ 0 ].clientId,\n\t\t\t\tinsertedBlocks[ insertedBlocks.length - 1 ].clientId\n\t\t\t);\n\t\t}\n\t}\n\t// Simple block tranformation based on the `Block Transforms` API.\n\tfunction onBlockTransform( name ) {\n\t\tconst newBlocks = switchToBlockType( blocks, name );\n\t\treplaceBlocks( clientIds, newBlocks );\n\t\tselectForMultipleBlocks( newBlocks );\n\t}\n\tfunction onBlockVariationTransform( name ) {\n\t\tupdateBlockAttributes( blocks[ 0 ].clientId, {\n\t\t\t...blockVariationTransformations.find(\n\t\t\t\t( { name: variationName } ) => variationName === name\n\t\t\t).attributes,\n\t\t} );\n\t}\n\t// Pattern transformation through the `Patterns` API.\n\tfunction onPatternTransform( transformedBlocks ) {\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\t\tselectForMultipleBlocks( transformedBlocks );\n\t}\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst isSingleBlock = blocks.length === 1;\n\tconst isTemplate = isSingleBlock && isTemplatePart( blocks[ 0 ] );\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\tconst hasPossibleBlockVariationTransformations =\n\t\t!! blockVariationTransformations?.length;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tconst hasBlockOrBlockVariationTransforms =\n\t\thasPossibleBlockTransformations ||\n\t\thasPossibleBlockVariationTransformations;\n\tconst hasContents =\n\t\thasBlockStyles ||\n\t\thasBlockOrBlockVariationTransforms ||\n\t\thasPatternTransformation;\n\tif ( ! hasContents ) {\n\t\treturn (\n\t\t\t<p className=\"block-editor-block-switcher__no-transforms\">\n\t\t\t\t{ __( 'No transforms.' ) }\n\t\t\t</p>\n\t\t);\n\t}\n\n\tconst connectedBlockDescription = isSingleBlock\n\t\t? _x(\n\t\t\t\t'This block is connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t )\n\t\t: _x(\n\t\t\t\t'These blocks are connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t{ hasPatternTransformation && (\n\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ ( transformedBlocks ) => {\n\t\t\t\t\t\tonPatternTransform( transformedBlocks );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockOrBlockVariationTransforms && (\n\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t}\n\t\t\t\t\tpossibleBlockVariationTransformations={\n\t\t\t\t\t\tblockVariationTransformations\n\t\t\t\t\t}\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectVariation={ ( name ) => {\n\t\t\t\t\t\tonBlockVariationTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<BlockStylesMenu\n\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\tonSwitch={ onClose }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isUsingBindings && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<Text className=\"block-editor-block-switcher__binding-indicator\">\n\t\t\t\t\t\t{ connectedBlockDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nconst BlockIndicator = ( { icon, showTitle, blockTitle } ) => (\n\t<>\n\t\t<BlockIcon\n\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\ticon={ icon }\n\t\t\tshowColors\n\t\t/>\n\t\t{ showTitle && blockTitle && (\n\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t{ blockTitle }\n\t\t\t</span>\n\t\t) }\n\t</>\n);\n\nexport const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {\n\tconst {\n\t\thasContentOnlyLocking,\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tinvalidBlocks,\n\t\tisReusable,\n\t\tisTemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockStyles, getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\tif ( ! _blocks.length || _blocks.some( ( block ) => ! block ) ) {\n\t\t\t\treturn { invalidBlocks: true };\n\t\t\t}\n\t\t\tconst [ { name: firstBlockName } ] = _blocks;\n\t\t\tconst _isSingleBlockSelected = _blocks.length === 1;\n\t\t\tconst blockType = getBlockType( firstBlockName );\n\n\t\t\tlet _icon;\n\t\t\tlet _hasTemplateLock;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\tconst match = getActiveBlockVariation(\n\t\t\t\t\tfirstBlockName,\n\t\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t\t);\n\t\t\t\t// Take into account active block variations.\n\t\t\t\t_icon = match?.icon || blockType.icon;\n\t\t\t\t_hasTemplateLock =\n\t\t\t\t\tgetTemplateLock( clientIds[ 0 ] ) === 'contentOnly';\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( _blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t_hasTemplateLock = clientIds.some(\n\t\t\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t\t\t);\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType ? blockType.icon : copy;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\thasBlockStyles:\n\t\t\t\t\t_isSingleBlockSelected &&\n\t\t\t\t\t!! getBlockStyles( firstBlockName )?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tisReusable:\n\t\t\t\t\t_isSingleBlockSelected && isReusableBlock( _blocks[ 0 ] ),\n\t\t\t\tisTemplate:\n\t\t\t\t\t_isSingleBlockSelected && isTemplatePart( _blocks[ 0 ] ),\n\t\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: clientIds?.[ 0 ],\n\t\tmaximumLength: 35,\n\t} );\n\n\tif ( invalidBlocks ) {\n\t\treturn null;\n\t}\n\n\tconst isSingleBlock = clientIds.length === 1;\n\tconst blockSwitcherLabel = isSingleBlock\n\t\t? blockTitle\n\t\t: __( 'Multiple blocks selected' );\n\n\tconst hideDropdown =\n\t\tdisabled ||\n\t\t( ! hasBlockStyles && ! canRemove ) ||\n\t\thasContentOnlyLocking;\n\n\tif ( hideDropdown ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockSwitcherLabel }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<BlockIndicator\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tshowTitle={ isReusable || isTemplate }\n\t\t\t\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherDescription = isSingleBlock\n\t\t? __( 'Change block type or style' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\tclientIds.length\n\t\t\t\t),\n\t\t\t\tclientIds.length\n\t\t );\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<BlockIndicator\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tshowTitle={ isReusable || isTemplate }\n\t\t\t\t\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescription: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<BlockSwitcherDropdownMenuContents\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\t\t\t\tcanRemove={ canRemove }\n\t\t\t\t\t\t\t\tisUsingBindings={ isUsingBindings }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport default BlockSwitcher;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_blocks2","_data","_icons","_store","_blockIcon","_interopRequireDefault","_blockTransformationsMenu","_blockVariationTransformations","_blockStylesMenu","_patternTransformationsMenu","_useBlockDisplayTitle","_jsxRuntime","BlockSwitcherDropdownMenuContents","onClose","clientIds","hasBlockStyles","canRemove","replaceBlocks","multiSelect","updateBlockAttributes","useDispatch","blockEditorStore","possibleBlockTransformations","patterns","blocks","isUsingBindings","useSelect","select","getBlockAttributes","getBlocksByClientId","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","rootClientId","_blocks","every","clientId","metadata","bindings","blockVariationTransformations","useBlockVariationTransforms","selectForMultipleBlocks","insertedBlocks","length","onBlockTransform","name","newBlocks","switchToBlockType","onBlockVariationTransform","find","variationName","attributes","onPatternTransform","transformedBlocks","isSingleBlock","isTemplate","isTemplatePart","hasPossibleBlockTransformations","hasPossibleBlockVariationTransformations","hasPatternTransformation","hasBlockOrBlockVariationTransforms","hasContents","jsx","className","children","__","connectedBlockDescription","_x","jsxs","default","onSelect","possibleBlockVariationTransformations","onSelectVariation","hoveredBlock","onSwitch","MenuGroup","__experimentalText","BlockIndicator","icon","showTitle","blockTitle","Fragment","showColors","BlockSwitcher","hasContentOnlyLocking","invalidBlocks","isReusable","isDisabled","getTemplateLock","canRemoveBlocks","getBlockEditingMode","getBlockStyles","getBlockType","getActiveBlockVariation","blocksStore","some","block","firstBlockName","_isSingleBlockSelected","blockType","editingMode","_icon","_hasTemplateLock","match","isSelectionOfSameType","Set","map","size","id","copy","isReusableBlock","useBlockDisplayTitle","maximumLength","blockSwitcherLabel","hideDropdown","ToolbarGroup","ToolbarButton","disabled","title","blockSwitcherDescription","sprintf","_n","ToolbarItem","toggleProps","DropdownMenu","label","popoverProps","placement","description","menuProps","orientation","exports","_default"],"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n\t__experimentalText as Text,\n\tMenuGroup,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport { useBlockVariationTransforms } from './block-variation-transformations';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nfunction BlockSwitcherDropdownMenuContents( {\n\tonClose,\n\tclientIds,\n\thasBlockStyles,\n\tcanRemove,\n} ) {\n\tconst { replaceBlocks, multiSelect, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { possibleBlockTransformations, patterns, blocks, isUsingBindings } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetBlockAttributes,\n\t\t\t\t\tgetBlocksByClientId,\n\t\t\t\t\tgetBlockRootClientId,\n\t\t\t\t\tgetBlockTransformItems,\n\t\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t\t} = select( blockEditorStore );\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\t\treturn {\n\t\t\t\t\tblocks: _blocks,\n\t\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\t\t_blocks,\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\t\t_blocks,\n\t\t\t\t\t\trootClientId\n\t\t\t\t\t),\n\t\t\t\t\tisUsingBindings: clientIds.every(\n\t\t\t\t\t\t( clientId ) =>\n\t\t\t\t\t\t\t!! getBlockAttributes( clientId )?.metadata\n\t\t\t\t\t\t\t\t?.bindings\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ clientIds ]\n\t\t);\n\tconst blockVariationTransformations = useBlockVariationTransforms( {\n\t\tclientIds,\n\t\tblocks,\n\t} );\n\tfunction selectForMultipleBlocks( insertedBlocks ) {\n\t\tif ( insertedBlocks.length > 1 ) {\n\t\t\tmultiSelect(\n\t\t\t\tinsertedBlocks[ 0 ].clientId,\n\t\t\t\tinsertedBlocks[ insertedBlocks.length - 1 ].clientId\n\t\t\t);\n\t\t}\n\t}\n\t// Simple block tranformation based on the `Block Transforms` API.\n\tfunction onBlockTransform( name ) {\n\t\tconst newBlocks = switchToBlockType( blocks, name );\n\t\treplaceBlocks( clientIds, newBlocks );\n\t\tselectForMultipleBlocks( newBlocks );\n\t}\n\tfunction onBlockVariationTransform( name ) {\n\t\tupdateBlockAttributes( blocks[ 0 ].clientId, {\n\t\t\t...blockVariationTransformations.find(\n\t\t\t\t( { name: variationName } ) => variationName === name\n\t\t\t).attributes,\n\t\t} );\n\t}\n\t// Pattern transformation through the `Patterns` API.\n\tfunction onPatternTransform( transformedBlocks ) {\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\t\tselectForMultipleBlocks( transformedBlocks );\n\t}\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst isSingleBlock = blocks.length === 1;\n\tconst isTemplate = isSingleBlock && isTemplatePart( blocks[ 0 ] );\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\tconst hasPossibleBlockVariationTransformations =\n\t\t!! blockVariationTransformations?.length;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tconst hasBlockOrBlockVariationTransforms =\n\t\thasPossibleBlockTransformations ||\n\t\thasPossibleBlockVariationTransformations;\n\tconst hasContents =\n\t\thasBlockStyles ||\n\t\thasBlockOrBlockVariationTransforms ||\n\t\thasPatternTransformation;\n\tif ( ! hasContents ) {\n\t\treturn (\n\t\t\t<p className=\"block-editor-block-switcher__no-transforms\">\n\t\t\t\t{ __( 'No transforms.' ) }\n\t\t\t</p>\n\t\t);\n\t}\n\n\tconst connectedBlockDescription = isSingleBlock\n\t\t? _x(\n\t\t\t\t'This block is connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t )\n\t\t: _x(\n\t\t\t\t'These blocks are connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t{ hasPatternTransformation && (\n\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ ( transformedBlocks ) => {\n\t\t\t\t\t\tonPatternTransform( transformedBlocks );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockOrBlockVariationTransforms && (\n\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t}\n\t\t\t\t\tpossibleBlockVariationTransformations={\n\t\t\t\t\t\tblockVariationTransformations\n\t\t\t\t\t}\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectVariation={ ( name ) => {\n\t\t\t\t\t\tonBlockVariationTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<BlockStylesMenu\n\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\tonSwitch={ onClose }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isUsingBindings && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<Text className=\"block-editor-block-switcher__binding-indicator\">\n\t\t\t\t\t\t{ connectedBlockDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nconst BlockIndicator = ( { icon, showTitle, blockTitle } ) => (\n\t<>\n\t\t<BlockIcon\n\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\ticon={ icon }\n\t\t\tshowColors\n\t\t/>\n\t\t{ showTitle && blockTitle && (\n\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t{ blockTitle }\n\t\t\t</span>\n\t\t) }\n\t</>\n);\n\nexport const BlockSwitcher = ( { clientIds } ) => {\n\tconst {\n\t\thasContentOnlyLocking,\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tinvalidBlocks,\n\t\tisReusable,\n\t\tisTemplate,\n\t\tisDisabled,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tcanRemoveBlocks,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst { getBlockStyles, getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\tif ( ! _blocks.length || _blocks.some( ( block ) => ! block ) ) {\n\t\t\t\treturn { invalidBlocks: true };\n\t\t\t}\n\t\t\tconst [ { name: firstBlockName } ] = _blocks;\n\t\t\tconst _isSingleBlockSelected = _blocks.length === 1;\n\t\t\tconst blockType = getBlockType( firstBlockName );\n\t\t\tconst editingMode = getBlockEditingMode( clientIds[ 0 ] );\n\n\t\t\tlet _icon;\n\t\t\tlet _hasTemplateLock;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\tconst match = getActiveBlockVariation(\n\t\t\t\t\tfirstBlockName,\n\t\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t\t);\n\t\t\t\t// Take into account active block variations.\n\t\t\t\t_icon = match?.icon || blockType.icon;\n\t\t\t\t_hasTemplateLock =\n\t\t\t\t\tgetTemplateLock( clientIds[ 0 ] ) === 'contentOnly';\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( _blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t_hasTemplateLock = clientIds.some(\n\t\t\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t\t\t);\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType ? blockType.icon : copy;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\thasBlockStyles:\n\t\t\t\t\t_isSingleBlockSelected &&\n\t\t\t\t\t!! getBlockStyles( firstBlockName )?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tisReusable:\n\t\t\t\t\t_isSingleBlockSelected && isReusableBlock( _blocks[ 0 ] ),\n\t\t\t\tisTemplate:\n\t\t\t\t\t_isSingleBlockSelected && isTemplatePart( _blocks[ 0 ] ),\n\t\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t\t\tisDisabled: editingMode !== 'default',\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: clientIds?.[ 0 ],\n\t\tmaximumLength: 35,\n\t} );\n\n\tif ( invalidBlocks ) {\n\t\treturn null;\n\t}\n\n\tconst isSingleBlock = clientIds.length === 1;\n\tconst blockSwitcherLabel = isSingleBlock\n\t\t? blockTitle\n\t\t: __( 'Multiple blocks selected' );\n\n\tconst hideDropdown =\n\t\tisDisabled ||\n\t\t( ! hasBlockStyles && ! canRemove ) ||\n\t\thasContentOnlyLocking;\n\n\tif ( hideDropdown ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockSwitcherLabel }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<BlockIndicator\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tshowTitle={ isReusable || isTemplate }\n\t\t\t\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherDescription = isSingleBlock\n\t\t? __( 'Change block type or style' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\tclientIds.length\n\t\t\t\t),\n\t\t\t\tclientIds.length\n\t\t );\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<BlockIndicator\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tshowTitle={ isReusable || isTemplate }\n\t\t\t\t\t\t\t\tblockTitle={ blockTitle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescription: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<BlockSwitcherDropdownMenuContents\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\t\t\t\tcanRemove={ canRemove }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport default BlockSwitcher;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_element","_compose","_icons","_components","_blockPreview","_interopRequireDefault","_useTransformedPatterns","_jsxRuntime","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","useState","useTransformedPatterns","length","jsxs","MenuGroup","className","children","jsx","PreviewPatternsPopover","MenuItem","onClick","event","preventDefault","icon","chevronRight","__","isMobile","useViewportMatch","Popover","placement","offset","BlockPatternsList","Composite","role","map","pattern","BlockPattern","name","baseClassName","descriptionId","useInstanceId","Item","render","title","description","undefined","transformedBlocks","default","viewportWidth","VisuallyHidden","id","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-switcher/pattern-transformations-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId, useViewportMatch } from '@wordpress/compose';\nimport { chevronRight } from '@wordpress/icons';\n\nimport {\n\tComposite,\n\tMenuGroup,\n\tMenuItem,\n\tPopover,\n\tVisuallyHidden,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport useTransformedPatterns from './use-transformed-patterns';\n\nfunction PatternTransformationsMenu( {\n\tblocks,\n\tpatterns: statePatterns,\n\tonSelect,\n} ) {\n\tconst [ showTransforms, setShowTransforms ] = useState( false );\n\tconst patterns = useTransformedPatterns( statePatterns, blocks );\n\n\tif ( ! patterns.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup className=\"block-editor-block-switcher__pattern__transforms__menugroup\">\n\t\t\t{ showTransforms && (\n\t\t\t\t<PreviewPatternsPopover\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<MenuItem\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetShowTransforms( ! showTransforms );\n\t\t\t\t} }\n\t\t\t\ticon={ chevronRight }\n\t\t\t>\n\t\t\t\t{ __( 'Patterns' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n\nfunction PreviewPatternsPopover( { patterns, onSelect } ) {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover-preview-container\">\n\t\t\t<Popover\n\t\t\t\tclassName=\"block-editor-block-switcher__popover-preview\"\n\t\t\t\tplacement={ isMobile ? 'bottom' : 'right-start' }\n\t\t\t\toffset={ 16 }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-block-switcher__preview is-pattern-list-preview\">\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</Popover>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternsList( { patterns, onSelect } ) {\n\treturn (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-switcher__preview-patterns-container\"\n\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t>\n\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t<BlockPattern\n\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction BlockPattern( { pattern, onSelect } ) {\n\t// TODO check pattern/preview width...\n\tconst baseClassName =\n\t\t'block-editor-block-switcher__preview-patterns-container';\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }-list__item-description`\n\t);\n\treturn (\n\t\t<div className={ `${ baseClassName }-list__list-item` }>\n\t\t\t<Composite.Item\n\t\t\t\trender={\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={ `${ baseClassName }-list__item` }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( pattern.transformedBlocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ pattern.transformedBlocks }\n\t\t\t\t\tviewportWidth={ pattern.viewportWidth || 500 }\n\t\t\t\t/>\n\t\t\t\t<div className={ `${ baseClassName }-list__item-title` }>\n\t\t\t\t\t{ pattern.title }\n\t\t\t\t</div>\n\t\t\t</Composite.Item>\n\t\t\t{ !! pattern.description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ pattern.description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default PatternTransformationsMenu;\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_i18n","require","_element","_compose","_icons","_components","_blockPreview","_interopRequireDefault","_useTransformedPatterns","_jsxRuntime","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","useState","useTransformedPatterns","length","jsxs","MenuGroup","className","children","jsx","PreviewPatternsPopover","MenuItem","onClick","event","preventDefault","icon","chevronRight","__","isMobile","useViewportMatch","Popover","placement","offset","BlockPatternsList","Composite","role","map","pattern","BlockPattern","name","baseClassName","descriptionId","useInstanceId","Item","render","title","description","undefined","transformedBlocks","default","viewportWidth","VisuallyHidden","id","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-switcher/pattern-transformations-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId, useViewportMatch } from '@wordpress/compose';\nimport { chevronRight } from '@wordpress/icons';\n\nimport {\n\tComposite,\n\tMenuGroup,\n\tMenuItem,\n\tPopover,\n\tVisuallyHidden,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport useTransformedPatterns from './use-transformed-patterns';\n\nfunction PatternTransformationsMenu( {\n\tblocks,\n\tpatterns: statePatterns,\n\tonSelect,\n} ) {\n\tconst [ showTransforms, setShowTransforms ] = useState( false );\n\tconst patterns = useTransformedPatterns( statePatterns, blocks );\n\n\tif ( ! patterns.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup className=\"block-editor-block-switcher__pattern__transforms__menugroup\">\n\t\t\t{ showTransforms && (\n\t\t\t\t<PreviewPatternsPopover\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<MenuItem\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetShowTransforms( ! showTransforms );\n\t\t\t\t} }\n\t\t\t\ticon={ chevronRight }\n\t\t\t>\n\t\t\t\t{ __( 'Patterns' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n\nfunction PreviewPatternsPopover( { patterns, onSelect } ) {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover-preview-container\">\n\t\t\t<Popover\n\t\t\t\tclassName=\"block-editor-block-switcher__popover-preview\"\n\t\t\t\tplacement={ isMobile ? 'bottom' : 'right-start' }\n\t\t\t\toffset={ 16 }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-block-switcher__preview is-pattern-list-preview\">\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</Popover>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternsList( { patterns, onSelect } ) {\n\treturn (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-switcher__preview-patterns-container\"\n\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t>\n\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t<BlockPattern\n\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction BlockPattern( { pattern, onSelect } ) {\n\t// TODO check pattern/preview width...\n\tconst baseClassName =\n\t\t'block-editor-block-switcher__preview-patterns-container';\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }-list__item-description`\n\t);\n\treturn (\n\t\t<div className={ `${ baseClassName }-list__list-item` }>\n\t\t\t<Composite.Item\n\t\t\t\trender={\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={ `${ baseClassName }-list__item` }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( pattern.transformedBlocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ pattern.transformedBlocks }\n\t\t\t\t\tviewportWidth={ pattern.viewportWidth || 500 }\n\t\t\t\t/>\n\t\t\t\t<div className={ `${ baseClassName }-list__item-title` }>\n\t\t\t\t\t{ pattern.title }\n\t\t\t\t</div>\n\t\t\t</Composite.Item>\n\t\t\t{ !! pattern.description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ pattern.description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default PatternTransformationsMenu;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_blocks","_utils","transformMatchingBlock","match","selectedBlock","retainedBlockAttributes","getRetainedBlockAttributes","name","attributes","exports","getPatternTransformedBlocks","selectedBlocks","patternBlocks","_patternBlocks","map","block","cloneBlock","consumedBlocks","Set","isMatch","patternBlock","getMatchingBlockByName","add","clientId","useTransformedPatterns","patterns","useMemo","reduce","accumulator","_pattern","transformedBlocks","blocks","push","_default","default"],"sources":["@wordpress/block-editor/src/components/block-switcher/use-transformed-patterns.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getMatchingBlockByName, getRetainedBlockAttributes } from './utils';\n\n/**\n * Mutate the matched block's attributes by getting\n * which block type's attributes to retain and prioritize\n * them in the merging of the attributes.\n *\n * @param {WPBlock} match The matched block.\n * @param {WPBlock} selectedBlock The selected block.\n * @return {void}\n */\nexport const transformMatchingBlock = ( match, selectedBlock ) => {\n\t// Get the block attributes to retain through the transformation.\n\tconst retainedBlockAttributes = getRetainedBlockAttributes(\n\t\tselectedBlock.name,\n\t\tselectedBlock.attributes\n\t);\n\tmatch.attributes = {\n\t\t...match.attributes,\n\t\t...retainedBlockAttributes,\n\t};\n};\n\n/**\n * By providing the selected blocks and pattern's blocks\n * find the matching blocks, transform them and return them.\n * If not all selected blocks are matched, return nothing.\n *\n * @param {WPBlock[]} selectedBlocks The selected blocks.\n * @param {WPBlock[]} patternBlocks The pattern's blocks.\n * @return {WPBlock[]|void} The transformed pattern's blocks or undefined if not all selected blocks have been matched.\n */\nexport const getPatternTransformedBlocks = (\n\tselectedBlocks,\n\tpatternBlocks\n) => {\n\t// Clone Pattern's blocks to produce new clientIds and be able to mutate the matches.\n\tconst _patternBlocks = patternBlocks.map( ( block ) =>\n\t\tcloneBlock( block )\n\t);\n\t/**\n\t * Keep track of the consumed pattern blocks.\n\t * This is needed because we loop the selected blocks\n\t * and for example we may have selected two paragraphs and\n\t * the pattern's blocks could have more `paragraphs`.\n\t */\n\tconst consumedBlocks = new Set();\n\tfor ( const selectedBlock of selectedBlocks ) {\n\t\tlet isMatch = false;\n\t\tfor ( const patternBlock of _patternBlocks ) {\n\t\t\tconst match = getMatchingBlockByName(\n\t\t\t\tpatternBlock,\n\t\t\t\tselectedBlock.name,\n\t\t\t\tconsumedBlocks\n\t\t\t);\n\t\t\tif ( ! match ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tisMatch = true;\n\t\t\tconsumedBlocks.add( match.clientId );\n\t\t\t// We update (mutate) the matching pattern block.\n\t\t\ttransformMatchingBlock( match, selectedBlock );\n\t\t\t// No need to loop through other pattern's blocks.\n\t\t\tbreak;\n\t\t}\n\t\t// Bail eary if a selected block has not been matched.\n\t\tif ( ! isMatch ) {\n\t\t\treturn;\n\t\t}\n\t}\n\treturn _patternBlocks;\n};\n\n/**\n * @typedef {WPBlockPattern & {transformedBlocks: WPBlock[]}} TransformedBlockPattern\n */\n\n/**\n * Custom hook that accepts patterns from state and the selected\n * blocks and tries to match these with the pattern's blocks.\n * If all selected blocks are matched with a Pattern's block,\n * we transform them by retaining block's attributes with `role:content`.\n * The transformed pattern's blocks are set to a new pattern\n * property `transformedBlocks`.\n *\n * @param {WPBlockPattern[]} patterns Patterns from state.\n * @param {WPBlock[]} selectedBlocks The currently selected blocks.\n * @return {TransformedBlockPattern[]} Returns the eligible matched patterns with all the selected blocks.\n */\nconst useTransformedPatterns = ( patterns, selectedBlocks ) => {\n\treturn useMemo(\n\t\t() =>\n\t\t\tpatterns.reduce( ( accumulator, _pattern ) => {\n\t\t\t\tconst transformedBlocks = getPatternTransformedBlocks(\n\t\t\t\t\tselectedBlocks,\n\t\t\t\t\t_pattern.blocks\n\t\t\t\t);\n\t\t\t\tif ( transformedBlocks ) {\n\t\t\t\t\taccumulator.push( {\n\t\t\t\t\t\t..._pattern,\n\t\t\t\t\t\ttransformedBlocks,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t}, [] ),\n\t\t[ patterns, selectedBlocks ]\n\t);\n};\n\nexport default useTransformedPatterns;\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_element","require","_blocks","_utils","transformMatchingBlock","match","selectedBlock","retainedBlockAttributes","getRetainedBlockAttributes","name","attributes","exports","getPatternTransformedBlocks","selectedBlocks","patternBlocks","_patternBlocks","map","block","cloneBlock","consumedBlocks","Set","isMatch","patternBlock","getMatchingBlockByName","add","clientId","useTransformedPatterns","patterns","useMemo","reduce","accumulator","_pattern","transformedBlocks","blocks","push","_default","default"],"sources":["@wordpress/block-editor/src/components/block-switcher/use-transformed-patterns.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { getMatchingBlockByName, getRetainedBlockAttributes } from './utils';\n\n/**\n * Mutate the matched block's attributes by getting\n * which block type's attributes to retain and prioritize\n * them in the merging of the attributes.\n *\n * @param {WPBlock} match The matched block.\n * @param {WPBlock} selectedBlock The selected block.\n * @return {void}\n */\nexport const transformMatchingBlock = ( match, selectedBlock ) => {\n\t// Get the block attributes to retain through the transformation.\n\tconst retainedBlockAttributes = getRetainedBlockAttributes(\n\t\tselectedBlock.name,\n\t\tselectedBlock.attributes\n\t);\n\tmatch.attributes = {\n\t\t...match.attributes,\n\t\t...retainedBlockAttributes,\n\t};\n};\n\n/**\n * By providing the selected blocks and pattern's blocks\n * find the matching blocks, transform them and return them.\n * If not all selected blocks are matched, return nothing.\n *\n * @param {WPBlock[]} selectedBlocks The selected blocks.\n * @param {WPBlock[]} patternBlocks The pattern's blocks.\n * @return {WPBlock[]|void} The transformed pattern's blocks or undefined if not all selected blocks have been matched.\n */\nexport const getPatternTransformedBlocks = (\n\tselectedBlocks,\n\tpatternBlocks\n) => {\n\t// Clone Pattern's blocks to produce new clientIds and be able to mutate the matches.\n\tconst _patternBlocks = patternBlocks.map( ( block ) =>\n\t\tcloneBlock( block )\n\t);\n\t/**\n\t * Keep track of the consumed pattern blocks.\n\t * This is needed because we loop the selected blocks\n\t * and for example we may have selected two paragraphs and\n\t * the pattern's blocks could have more `paragraphs`.\n\t */\n\tconst consumedBlocks = new Set();\n\tfor ( const selectedBlock of selectedBlocks ) {\n\t\tlet isMatch = false;\n\t\tfor ( const patternBlock of _patternBlocks ) {\n\t\t\tconst match = getMatchingBlockByName(\n\t\t\t\tpatternBlock,\n\t\t\t\tselectedBlock.name,\n\t\t\t\tconsumedBlocks\n\t\t\t);\n\t\t\tif ( ! match ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tisMatch = true;\n\t\t\tconsumedBlocks.add( match.clientId );\n\t\t\t// We update (mutate) the matching pattern block.\n\t\t\ttransformMatchingBlock( match, selectedBlock );\n\t\t\t// No need to loop through other pattern's blocks.\n\t\t\tbreak;\n\t\t}\n\t\t// Bail eary if a selected block has not been matched.\n\t\tif ( ! isMatch ) {\n\t\t\treturn;\n\t\t}\n\t}\n\treturn _patternBlocks;\n};\n\n/**\n * @typedef {WPBlockPattern & {transformedBlocks: WPBlock[]}} TransformedBlockPattern\n */\n\n/**\n * Custom hook that accepts patterns from state and the selected\n * blocks and tries to match these with the pattern's blocks.\n * If all selected blocks are matched with a Pattern's block,\n * we transform them by retaining block's attributes with `role:content`.\n * The transformed pattern's blocks are set to a new pattern\n * property `transformedBlocks`.\n *\n * @param {WPBlockPattern[]} patterns Patterns from state.\n * @param {WPBlock[]} selectedBlocks The currently selected blocks.\n * @return {TransformedBlockPattern[]} Returns the eligible matched patterns with all the selected blocks.\n */\nconst useTransformedPatterns = ( patterns, selectedBlocks ) => {\n\treturn useMemo(\n\t\t() =>\n\t\t\tpatterns.reduce( ( accumulator, _pattern ) => {\n\t\t\t\tconst transformedBlocks = getPatternTransformedBlocks(\n\t\t\t\t\tselectedBlocks,\n\t\t\t\t\t_pattern.blocks\n\t\t\t\t);\n\t\t\t\tif ( transformedBlocks ) {\n\t\t\t\t\taccumulator.push( {\n\t\t\t\t\t\t..._pattern,\n\t\t\t\t\t\ttransformedBlocks,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t}, [] ),\n\t\t[ patterns, selectedBlocks ]\n\t);\n};\n\nexport default useTransformedPatterns;\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMG,sBAAsB,GAAGA,CAAEC,KAAK,EAAEC,aAAa,KAAM;EACjE;EACA,MAAMC,uBAAuB,GAAG,IAAAC,iCAA0B,EACzDF,aAAa,CAACG,IAAI,EAClBH,aAAa,CAACI,UACf,CAAC;EACDL,KAAK,CAACK,UAAU,GAAG;IAClB,GAAGL,KAAK,CAACK,UAAU;IACnB,GAAGH;EACJ,CAAC;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAI,OAAA,CAAAP,sBAAA,GAAAA,sBAAA;AASO,MAAMQ,2BAA2B,GAAGA,CAC1CC,cAAc,EACdC,aAAa,KACT;EACJ;EACA,MAAMC,cAAc,GAAGD,aAAa,CAACE,GAAG,CAAIC,KAAK,IAChD,IAAAC,kBAAU,EAAED,KAAM,CACnB,CAAC;EACD;AACD;AACA;AACA;AACA;AACA;EACC,MAAME,cAAc,GAAG,IAAIC,GAAG,CAAC,CAAC;EAChC,KAAM,MAAMd,aAAa,IAAIO,cAAc,EAAG;IAC7C,IAAIQ,OAAO,GAAG,KAAK;IACnB,KAAM,MAAMC,YAAY,IAAIP,cAAc,EAAG;MAC5C,MAAMV,KAAK,GAAG,IAAAkB,6BAAsB,EACnCD,YAAY,EACZhB,aAAa,CAACG,IAAI,EAClBU,cACD,CAAC;MACD,IAAK,CAAEd,KAAK,EAAG;QACd;MACD;MACAgB,OAAO,GAAG,IAAI;MACdF,cAAc,CAACK,GAAG,CAAEnB,KAAK,CAACoB,QAAS,CAAC;MACpC;MACArB,sBAAsB,CAAEC,KAAK,EAAEC,aAAc,CAAC;MAC9C;MACA;IACD;IACA;IACA,IAAK,CAAEe,OAAO,EAAG;MAChB;IACD;EACD;EACA,OAAON,cAAc;AACtB,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXAJ,OAAA,CAAAC,2BAAA,GAAAA,2BAAA;AAYA,MAAMc,sBAAsB,GAAGA,CAAEC,QAAQ,EAAEd,cAAc,KAAM;EAC9D,OAAO,IAAAe,gBAAO,EACb,MACCD,QAAQ,CAACE,MAAM,CAAE,CAAEC,WAAW,EAAEC,QAAQ,KAAM;IAC7C,MAAMC,iBAAiB,GAAGpB,2BAA2B,CACpDC,cAAc,EACdkB,QAAQ,CAACE,MACV,CAAC;IACD,IAAKD,iBAAiB,EAAG;MACxBF,WAAW,CAACI,IAAI,CAAE;QACjB,GAAGH,QAAQ;QACXC;MACD,CAAE,CAAC;IACJ;IACA,OAAOF,WAAW;EACnB,CAAC,EAAE,EAAG,CAAC,EACR,CAAEH,QAAQ,EAAEd,cAAc,CAC3B,CAAC;AACF,CAAC;AAAC,IAAAsB,QAAA,GAAAxB,OAAA,CAAAyB,OAAA,GAEaV,sBAAsB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blocks","require","getMatchingBlockByName","block","selectedBlockName","consumedBlocks","Set","clientId","name","innerBlocks","has","innerBlock","match","exports","getRetainedBlockAttributes","attributes","contentAttributes","getBlockAttributesNamesByRole","length","reduce","_accumulator","attribute"],"sources":["@wordpress/block-editor/src/components/block-switcher/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockAttributesNamesByRole } from '@wordpress/blocks';\n\n/**\n * Try to find a matching block by a block's name in a provided\n * block. We recurse through InnerBlocks and return the reference\n * of the matched block (it could be an InnerBlock).\n * If no match is found return nothing.\n *\n * @param {WPBlock} block The block to try to find a match.\n * @param {string} selectedBlockName The block's name to use for matching condition.\n * @param {Set} consumedBlocks A set holding the previously matched/consumed blocks.\n *\n * @return {WPBlock | undefined} The matched block if found or nothing(`undefined`).\n */\nexport const getMatchingBlockByName = (\n\tblock,\n\tselectedBlockName,\n\tconsumedBlocks = new Set()\n) => {\n\tconst { clientId, name, innerBlocks = [] } = block;\n\t// Check if block has been consumed already.\n\tif ( consumedBlocks.has( clientId ) ) {\n\t\treturn;\n\t}\n\tif ( name === selectedBlockName ) {\n\t\treturn block;\n\t}\n\t// Try to find a matching block from InnerBlocks recursively.\n\tfor ( const innerBlock of innerBlocks ) {\n\t\tconst match = getMatchingBlockByName(\n\t\t\tinnerBlock,\n\t\t\tselectedBlockName,\n\t\t\tconsumedBlocks\n\t\t);\n\t\tif ( match ) {\n\t\t\treturn match;\n\t\t}\n\t}\n};\n\n/**\n * Find and return the block attributes to retain through\n * the transformation, based on Block Type's `role:content`\n * attributes. If no `role:content` attributes exist,\n * return selected block's attributes.\n *\n * @param {string} name Block type's namespaced name.\n * @param {Object} attributes Selected block's attributes.\n * @return {Object} The block's attributes to retain.\n */\nexport const getRetainedBlockAttributes = ( name, attributes ) => {\n\tconst contentAttributes = getBlockAttributesNamesByRole( name, 'content' );\n\tif ( ! contentAttributes?.length ) {\n\t\treturn attributes;\n\t}\n\n\treturn contentAttributes.reduce( ( _accumulator, attribute ) => {\n\t\tif ( attributes[ attribute ] ) {\n\t\t\t_accumulator[ attribute ] = attributes[ attribute ];\n\t\t}\n\t\treturn _accumulator;\n\t}, {} );\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_blocks","require","getMatchingBlockByName","block","selectedBlockName","consumedBlocks","Set","clientId","name","innerBlocks","has","innerBlock","match","exports","getRetainedBlockAttributes","attributes","contentAttributes","getBlockAttributesNamesByRole","length","reduce","_accumulator","attribute"],"sources":["@wordpress/block-editor/src/components/block-switcher/utils.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { getBlockAttributesNamesByRole } from '@wordpress/blocks';\n\n/**\n * Try to find a matching block by a block's name in a provided\n * block. We recurse through InnerBlocks and return the reference\n * of the matched block (it could be an InnerBlock).\n * If no match is found return nothing.\n *\n * @param {WPBlock} block The block to try to find a match.\n * @param {string} selectedBlockName The block's name to use for matching condition.\n * @param {Set} consumedBlocks A set holding the previously matched/consumed blocks.\n *\n * @return {WPBlock | undefined} The matched block if found or nothing(`undefined`).\n */\nexport const getMatchingBlockByName = (\n\tblock,\n\tselectedBlockName,\n\tconsumedBlocks = new Set()\n) => {\n\tconst { clientId, name, innerBlocks = [] } = block;\n\t// Check if block has been consumed already.\n\tif ( consumedBlocks.has( clientId ) ) {\n\t\treturn;\n\t}\n\tif ( name === selectedBlockName ) {\n\t\treturn block;\n\t}\n\t// Try to find a matching block from InnerBlocks recursively.\n\tfor ( const innerBlock of innerBlocks ) {\n\t\tconst match = getMatchingBlockByName(\n\t\t\tinnerBlock,\n\t\t\tselectedBlockName,\n\t\t\tconsumedBlocks\n\t\t);\n\t\tif ( match ) {\n\t\t\treturn match;\n\t\t}\n\t}\n};\n\n/**\n * Find and return the block attributes to retain through\n * the transformation, based on Block Type's `role:content`\n * attributes. If no `role:content` attributes exist,\n * return selected block's attributes.\n *\n * @param {string} name Block type's namespaced name.\n * @param {Object} attributes Selected block's attributes.\n * @return {Object} The block's attributes to retain.\n */\nexport const getRetainedBlockAttributes = ( name, attributes ) => {\n\tconst contentAttributes = getBlockAttributesNamesByRole( name, 'content' );\n\tif ( ! contentAttributes?.length ) {\n\t\treturn attributes;\n\t}\n\n\treturn contentAttributes.reduce( ( _accumulator, attribute ) => {\n\t\tif ( attributes[ attribute ] ) {\n\t\t\t_accumulator[ attribute ] = attributes[ attribute ];\n\t\t}\n\t\treturn _accumulator;\n\t}, {} );\n};\n"],"mappings":";;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,sBAAsB,GAAGA,CACrCC,KAAK,EACLC,iBAAiB,EACjBC,cAAc,GAAG,IAAIC,GAAG,CAAC,CAAC,KACtB;EACJ,MAAM;IAAEC,QAAQ;IAAEC,IAAI;IAAEC,WAAW,GAAG;EAAG,CAAC,GAAGN,KAAK;EAClD;EACA,IAAKE,cAAc,CAACK,GAAG,CAAEH,QAAS,CAAC,EAAG;IACrC;EACD;EACA,IAAKC,IAAI,KAAKJ,iBAAiB,EAAG;IACjC,OAAOD,KAAK;EACb;EACA;EACA,KAAM,MAAMQ,UAAU,IAAIF,WAAW,EAAG;IACvC,MAAMG,KAAK,GAAGV,sBAAsB,CACnCS,UAAU,EACVP,iBAAiB,EACjBC,cACD,CAAC;IACD,IAAKO,KAAK,EAAG;MACZ,OAAOA,KAAK;IACb;EACD;AACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATAC,OAAA,CAAAX,sBAAA,GAAAA,sBAAA;AAUO,MAAMY,0BAA0B,GAAGA,CAAEN,IAAI,EAAEO,UAAU,KAAM;EACjE,MAAMC,iBAAiB,GAAG,IAAAC,qCAA6B,EAAET,IAAI,EAAE,SAAU,CAAC;EAC1E,IAAK,CAAEQ,iBAAiB,EAAEE,MAAM,EAAG;IAClC,OAAOH,UAAU;EAClB;EAEA,OAAOC,iBAAiB,CAACG,MAAM,CAAE,CAAEC,YAAY,EAAEC,SAAS,KAAM;IAC/D,IAAKN,UAAU,CAAEM,SAAS,CAAE,EAAG;MAC9BD,YAAY,CAAEC,SAAS,CAAE,GAAGN,UAAU,CAAEM,SAAS,CAAE;IACpD;IACA,OAAOD,YAAY;EACpB,CAAC,EAAE,CAAC,CAAE,CAAC;AACR,CAAC;AAACP,OAAA,CAAAC,0BAAA,GAAAA,0BAAA","ignoreList":[]}
|
|
@@ -27,6 +27,7 @@ var _store = require("../../store");
|
|
|
27
27
|
var _blockNameContext = _interopRequireDefault(require("./block-name-context"));
|
|
28
28
|
var _navigableToolbar = _interopRequireDefault(require("../navigable-toolbar"));
|
|
29
29
|
var _useHasBlockToolbar = require("./use-has-block-toolbar");
|
|
30
|
+
var _lockUnlock = require("../../lock-unlock");
|
|
30
31
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
31
32
|
/**
|
|
32
33
|
* External dependencies
|
|
@@ -62,7 +63,6 @@ function PrivateBlockToolbar({
|
|
|
62
63
|
const {
|
|
63
64
|
blockClientId,
|
|
64
65
|
blockClientIds,
|
|
65
|
-
isContentOnlyEditingMode,
|
|
66
66
|
isDefaultEditingMode,
|
|
67
67
|
blockType,
|
|
68
68
|
toolbarKey,
|
|
@@ -81,13 +81,15 @@ function PrivateBlockToolbar({
|
|
|
81
81
|
getBlockEditingMode,
|
|
82
82
|
getBlockAttributes,
|
|
83
83
|
getBlockParentsByBlockName,
|
|
84
|
-
getTemplateLock
|
|
85
|
-
|
|
84
|
+
getTemplateLock,
|
|
85
|
+
getParentSectionBlock
|
|
86
|
+
} = (0, _lockUnlock.unlock)(select(_store.store));
|
|
86
87
|
const selectedBlockClientIds = getSelectedBlockClientIds();
|
|
87
88
|
const selectedBlockClientId = selectedBlockClientIds[0];
|
|
88
89
|
const parents = getBlockParents(selectedBlockClientId);
|
|
89
|
-
const
|
|
90
|
-
const
|
|
90
|
+
const parentSection = getParentSectionBlock(selectedBlockClientId);
|
|
91
|
+
const parentClientId = parentSection !== null && parentSection !== void 0 ? parentSection : parents[parents.length - 1];
|
|
92
|
+
const parentBlockName = getBlockName(parentClientId);
|
|
91
93
|
const parentBlockType = (0, _blocks.getBlockType)(parentBlockName);
|
|
92
94
|
const editingMode = getBlockEditingMode(selectedBlockClientId);
|
|
93
95
|
const _isDefaultEditingMode = editingMode === 'default';
|
|
@@ -102,12 +104,11 @@ function PrivateBlockToolbar({
|
|
|
102
104
|
return {
|
|
103
105
|
blockClientId: selectedBlockClientId,
|
|
104
106
|
blockClientIds: selectedBlockClientIds,
|
|
105
|
-
isContentOnlyEditingMode: editingMode === 'contentOnly',
|
|
106
107
|
isDefaultEditingMode: _isDefaultEditingMode,
|
|
107
108
|
blockType: selectedBlockClientId && (0, _blocks.getBlockType)(_blockName),
|
|
108
109
|
shouldShowVisualToolbar: isValid && isVisual,
|
|
109
|
-
toolbarKey: `${selectedBlockClientId}${
|
|
110
|
-
showParentSelector: parentBlockType && getBlockEditingMode(
|
|
110
|
+
toolbarKey: `${selectedBlockClientId}${parentClientId}`,
|
|
111
|
+
showParentSelector: parentBlockType && getBlockEditingMode(parentClientId) !== 'disabled' && (0, _blocks.hasBlockSupport)(parentBlockType, '__experimentalParentSelector', true) && selectedBlockClientIds.length === 1,
|
|
111
112
|
isUsingBindings: _isUsingBindings,
|
|
112
113
|
hasParentPattern: _hasParentPattern,
|
|
113
114
|
hasContentOnlyLocking: _hasTemplateLock
|
|
@@ -154,22 +155,18 @@ function PrivateBlockToolbar({
|
|
|
154
155
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
155
156
|
ref: toolbarWrapperRef,
|
|
156
157
|
className: innerClasses,
|
|
157
|
-
children: [!isMultiToolbar && isLargeViewport &&
|
|
158
|
+
children: [!isMultiToolbar && isLargeViewport && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockParentSelector.default, {}), (shouldShowVisualToolbar || isMultiToolbar) && !hasParentPattern && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
158
159
|
ref: nodeRef,
|
|
159
160
|
...showHoveredOrFocusedGestures,
|
|
160
161
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.ToolbarGroup, {
|
|
161
162
|
className: "block-editor-block-toolbar__block-controls",
|
|
162
163
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockSwitcher.default, {
|
|
164
|
+
clientIds: blockClientIds
|
|
165
|
+
}), !isMultiToolbar && isDefaultEditingMode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockLock.BlockLockToolbar, {
|
|
166
|
+
clientId: blockClientId
|
|
167
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockMover.default, {
|
|
163
168
|
clientIds: blockClientIds,
|
|
164
|
-
|
|
165
|
-
isUsingBindings: isUsingBindings
|
|
166
|
-
}), isDefaultEditingMode && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
167
|
-
children: [!isMultiToolbar && /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockLock.BlockLockToolbar, {
|
|
168
|
-
clientId: blockClientId
|
|
169
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockMover.default, {
|
|
170
|
-
clientIds: blockClientIds,
|
|
171
|
-
hideDragHandle: hideDragHandle
|
|
172
|
-
})]
|
|
169
|
+
hideDragHandle: hideDragHandle
|
|
173
170
|
})]
|
|
174
171
|
})
|
|
175
172
|
}), !hasContentOnlyLocking && shouldShowVisualToolbar && isMultiToolbar && /*#__PURE__*/(0, _jsxRuntime.jsx)(_convertToGroupButtons.BlockGroupToolbar, {}), shouldShowVisualToolbar && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
@@ -193,7 +190,7 @@ function PrivateBlockToolbar({
|
|
|
193
190
|
})]
|
|
194
191
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditVisuallyButton.default, {
|
|
195
192
|
clientIds: blockClientIds
|
|
196
|
-
}),
|
|
193
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockSettingsMenu.default, {
|
|
197
194
|
clientIds: blockClientIds
|
|
198
195
|
})]
|
|
199
196
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_data","_element","_compose","_blocks","_components","_blockMover","_blockParentSelector","_blockSwitcher","_blockControls","_blockToolbarLastItem","_blockSettingsMenu","_blockLock","_convertToGroupButtons","_blockEditVisuallyButton","_utils","_store","_blockNameContext","_navigableToolbar","_useHasBlockToolbar","_jsxRuntime","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isContentOnlyEditingMode","isDefaultEditingMode","blockType","toolbarKey","shouldShowVisualToolbar","showParentSelector","isUsingBindings","hasParentPattern","hasContentOnlyLocking","useSelect","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockEditingMode","getBlockAttributes","getBlockParentsByBlockName","getTemplateLock","blockEditorStore","selectedBlockClientIds","selectedBlockClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","getBlockType","editingMode","_isDefaultEditingMode","_blockName","isValid","every","id","isVisual","_isUsingBindings","clientId","metadata","bindings","_hasParentPattern","_hasTemplateLock","some","hasBlockSupport","toolbarWrapperRef","useRef","nodeRef","showHoveredOrFocusedGestures","useShowHoveredOrFocusedGestures","ref","isLargeViewport","useViewportMatch","hasBlockToolbar","useHasBlockToolbar","isMultiToolbar","isSynced","isReusableBlock","isTemplatePart","classes","clsx","innerClasses","jsx","default","focusEditorOnEscape","className","__","undefined","children","jsxs","ToolbarGroup","clientIds","disabled","Fragment","BlockLockToolbar","BlockGroupToolbar","Slot","group","Provider","value","name","BlockToolbar"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\thasBlockSupport,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowHoveredOrFocusedGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\nimport NavigableToolbar from '../navigable-toolbar';\nimport { useHasBlockToolbar } from './use-has-block-toolbar';\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {boolean} props.focusOnMount Focus the toolbar when mounted.\n * @param {number} props.__experimentalInitialIndex The initial index of the toolbar item to focus.\n * @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport function PrivateBlockToolbar( {\n\thideDragHandle,\n\tfocusOnMount,\n\t__experimentalInitialIndex,\n\t__experimentalOnIndexChange,\n\tvariant = 'unstyled',\n} ) {\n\tconst {\n\t\tblockClientId,\n\t\tblockClientIds,\n\t\tisContentOnlyEditingMode,\n\t\tisDefaultEditingMode,\n\t\tblockType,\n\t\ttoolbarKey,\n\t\tshouldShowVisualToolbar,\n\t\tshowParentSelector,\n\t\tisUsingBindings,\n\t\thasParentPattern,\n\t\thasContentOnlyLocking,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockEditingMode,\n\t\t\tgetBlockAttributes,\n\t\t\tgetBlockParentsByBlockName,\n\t\t\tgetTemplateLock,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst parents = getBlockParents( selectedBlockClientId );\n\t\tconst firstParentClientId = parents[ parents.length - 1 ];\n\t\tconst parentBlockName = getBlockName( firstParentClientId );\n\t\tconst parentBlockType = getBlockType( parentBlockName );\n\t\tconst editingMode = getBlockEditingMode( selectedBlockClientId );\n\t\tconst _isDefaultEditingMode = editingMode === 'default';\n\t\tconst _blockName = getBlockName( selectedBlockClientId );\n\t\tconst isValid = selectedBlockClientIds.every( ( id ) =>\n\t\t\tisBlockValid( id )\n\t\t);\n\t\tconst isVisual = selectedBlockClientIds.every(\n\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t);\n\t\tconst _isUsingBindings = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\t!! getBlockAttributes( clientId )?.metadata?.bindings\n\t\t);\n\n\t\tconst _hasParentPattern = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/block', true )\n\t\t\t\t\t.length > 0\n\t\t);\n\n\t\t// If one or more selected blocks are locked, do not show the BlockGroupToolbar.\n\t\tconst _hasTemplateLock = selectedBlockClientIds.some(\n\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t);\n\t\treturn {\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tisContentOnlyEditingMode: editingMode === 'contentOnly',\n\t\t\tisDefaultEditingMode: _isDefaultEditingMode,\n\t\t\tblockType: selectedBlockClientId && getBlockType( _blockName ),\n\t\t\tshouldShowVisualToolbar: isValid && isVisual,\n\t\t\ttoolbarKey: `${ selectedBlockClientId }${ firstParentClientId }`,\n\t\t\tshowParentSelector:\n\t\t\t\tparentBlockType &&\n\t\t\t\tgetBlockEditingMode( firstParentClientId ) === 'default' &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\tparentBlockType,\n\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\ttrue\n\t\t\t\t) &&\n\t\t\t\tselectedBlockClientIds.length === 1 &&\n\t\t\t\t_isDefaultEditingMode,\n\t\t\tisUsingBindings: _isUsingBindings,\n\t\t\thasParentPattern: _hasParentPattern,\n\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t};\n\t}, [] );\n\n\tconst toolbarWrapperRef = useRef( null );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t} );\n\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tconst hasBlockToolbar = useHasBlockToolbar();\n\tif ( ! hasBlockToolbar ) {\n\t\treturn null;\n\t}\n\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = clsx( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': showParentSelector,\n\t} );\n\n\tconst innerClasses = clsx( 'block-editor-block-toolbar', {\n\t\t'is-synced': isSynced,\n\t\t'is-connected': isUsingBindings,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusEditorOnEscape\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t// The variant is applied as \"toolbar\" when undefined, which is the black border style of the dropdown from the toolbar popover.\n\t\t\tvariant={ variant === 'toolbar' ? undefined : variant }\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t__experimentalInitialIndex={ __experimentalInitialIndex }\n\t\t\t__experimentalOnIndexChange={ __experimentalOnIndexChange }\n\t\t\t// Resets the index whenever the active block changes so\n\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\tkey={ toolbarKey }\n\t\t>\n\t\t\t<div ref={ toolbarWrapperRef } className={ innerClasses }>\n\t\t\t\t{ ! isMultiToolbar &&\n\t\t\t\t\tisLargeViewport &&\n\t\t\t\t\tisDefaultEditingMode && <BlockParentSelector /> }\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t( isDefaultEditingMode ||\n\t\t\t\t\t\t( isContentOnlyEditingMode && ! hasParentPattern ) ||\n\t\t\t\t\t\tisSynced ) && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ nodeRef }\n\t\t\t\t\t\t\t{ ...showHoveredOrFocusedGestures }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t\t<BlockSwitcher\n\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\tdisabled={ ! isDefaultEditingMode }\n\t\t\t\t\t\t\t\t\tisUsingBindings={ isUsingBindings }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ isDefaultEditingMode && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\t\t\t\tclientId={ blockClientId }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\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) }\n\t\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t{ ! hasContentOnlyLocking &&\n\t\t\t\t\tshouldShowVisualToolbar &&\n\t\t\t\t\tisMultiToolbar && <BlockGroupToolbar /> }\n\t\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t\t{ isDefaultEditingMode && (\n\t\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport default function BlockToolbar( { hideDragHandle, variant } ) {\n\treturn (\n\t\t<PrivateBlockToolbar\n\t\t\thideDragHandle={ hideDragHandle }\n\t\t\tvariant={ variant }\n\t\t\tfocusOnMount={ undefined }\n\t\t\t__experimentalInitialIndex={ undefined }\n\t\t\t__experimentalOnIndexChange={ undefined }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_data","_element","_compose","_blocks","_components","_blockMover","_blockParentSelector","_blockSwitcher","_blockControls","_blockToolbarLastItem","_blockSettingsMenu","_blockLock","_convertToGroupButtons","_blockEditVisuallyButton","_utils","_store","_blockNameContext","_navigableToolbar","_useHasBlockToolbar","_lockUnlock","_jsxRuntime","PrivateBlockToolbar","hideDragHandle","focusOnMount","__experimentalInitialIndex","__experimentalOnIndexChange","variant","blockClientId","blockClientIds","isDefaultEditingMode","blockType","toolbarKey","shouldShowVisualToolbar","showParentSelector","isUsingBindings","hasParentPattern","hasContentOnlyLocking","useSelect","select","getBlockName","getBlockMode","getBlockParents","getSelectedBlockClientIds","isBlockValid","getBlockEditingMode","getBlockAttributes","getBlockParentsByBlockName","getTemplateLock","getParentSectionBlock","unlock","blockEditorStore","selectedBlockClientIds","selectedBlockClientId","parents","parentSection","parentClientId","length","parentBlockName","parentBlockType","getBlockType","editingMode","_isDefaultEditingMode","_blockName","isValid","every","id","isVisual","_isUsingBindings","clientId","metadata","bindings","_hasParentPattern","_hasTemplateLock","some","hasBlockSupport","toolbarWrapperRef","useRef","nodeRef","showHoveredOrFocusedGestures","useShowHoveredOrFocusedGestures","ref","isLargeViewport","useViewportMatch","hasBlockToolbar","useHasBlockToolbar","isMultiToolbar","isSynced","isReusableBlock","isTemplatePart","classes","clsx","innerClasses","jsx","default","focusEditorOnEscape","className","__","undefined","children","jsxs","ToolbarGroup","clientIds","BlockLockToolbar","BlockGroupToolbar","Fragment","Slot","group","Provider","value","name","BlockToolbar"],"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useRef } from '@wordpress/element';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tgetBlockType,\n\thasBlockSupport,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { ToolbarGroup } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockMover from '../block-mover';\nimport BlockParentSelector from '../block-parent-selector';\nimport BlockSwitcher from '../block-switcher';\nimport BlockControls from '../block-controls';\nimport __unstableBlockToolbarLastItem from './block-toolbar-last-item';\nimport BlockSettingsMenu from '../block-settings-menu';\nimport { BlockLockToolbar } from '../block-lock';\nimport { BlockGroupToolbar } from '../convert-to-group-buttons';\nimport BlockEditVisuallyButton from '../block-edit-visually-button';\nimport { useShowHoveredOrFocusedGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\nimport NavigableToolbar from '../navigable-toolbar';\nimport { useHasBlockToolbar } from './use-has-block-toolbar';\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {boolean} props.focusOnMount Focus the toolbar when mounted.\n * @param {number} props.__experimentalInitialIndex The initial index of the toolbar item to focus.\n * @param {Function} props.__experimentalOnIndexChange Callback function to be called when the index of the focused toolbar item changes.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport function PrivateBlockToolbar( {\n\thideDragHandle,\n\tfocusOnMount,\n\t__experimentalInitialIndex,\n\t__experimentalOnIndexChange,\n\tvariant = 'unstyled',\n} ) {\n\tconst {\n\t\tblockClientId,\n\t\tblockClientIds,\n\t\tisDefaultEditingMode,\n\t\tblockType,\n\t\ttoolbarKey,\n\t\tshouldShowVisualToolbar,\n\t\tshowParentSelector,\n\t\tisUsingBindings,\n\t\thasParentPattern,\n\t\thasContentOnlyLocking,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockEditingMode,\n\t\t\tgetBlockAttributes,\n\t\t\tgetBlockParentsByBlockName,\n\t\t\tgetTemplateLock,\n\t\t\tgetParentSectionBlock,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst parents = getBlockParents( selectedBlockClientId );\n\t\tconst parentSection = getParentSectionBlock( selectedBlockClientId );\n\t\tconst parentClientId = parentSection ?? parents[ parents.length - 1 ];\n\t\tconst parentBlockName = getBlockName( parentClientId );\n\t\tconst parentBlockType = getBlockType( parentBlockName );\n\t\tconst editingMode = getBlockEditingMode( selectedBlockClientId );\n\t\tconst _isDefaultEditingMode = editingMode === 'default';\n\t\tconst _blockName = getBlockName( selectedBlockClientId );\n\t\tconst isValid = selectedBlockClientIds.every( ( id ) =>\n\t\t\tisBlockValid( id )\n\t\t);\n\t\tconst isVisual = selectedBlockClientIds.every(\n\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t);\n\t\tconst _isUsingBindings = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\t!! getBlockAttributes( clientId )?.metadata?.bindings\n\t\t);\n\n\t\tconst _hasParentPattern = selectedBlockClientIds.every(\n\t\t\t( clientId ) =>\n\t\t\t\tgetBlockParentsByBlockName( clientId, 'core/block', true )\n\t\t\t\t\t.length > 0\n\t\t);\n\n\t\t// If one or more selected blocks are locked, do not show the BlockGroupToolbar.\n\t\tconst _hasTemplateLock = selectedBlockClientIds.some(\n\t\t\t( id ) => getTemplateLock( id ) === 'contentOnly'\n\t\t);\n\t\treturn {\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tisDefaultEditingMode: _isDefaultEditingMode,\n\t\t\tblockType: selectedBlockClientId && getBlockType( _blockName ),\n\t\t\tshouldShowVisualToolbar: isValid && isVisual,\n\t\t\ttoolbarKey: `${ selectedBlockClientId }${ parentClientId }`,\n\t\t\tshowParentSelector:\n\t\t\t\tparentBlockType &&\n\t\t\t\tgetBlockEditingMode( parentClientId ) !== 'disabled' &&\n\t\t\t\thasBlockSupport(\n\t\t\t\t\tparentBlockType,\n\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\ttrue\n\t\t\t\t) &&\n\t\t\t\tselectedBlockClientIds.length === 1,\n\t\t\tisUsingBindings: _isUsingBindings,\n\t\t\thasParentPattern: _hasParentPattern,\n\t\t\thasContentOnlyLocking: _hasTemplateLock,\n\t\t};\n\t}, [] );\n\n\tconst toolbarWrapperRef = useRef( null );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst nodeRef = useRef();\n\tconst showHoveredOrFocusedGestures = useShowHoveredOrFocusedGestures( {\n\t\tref: nodeRef,\n\t} );\n\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tconst hasBlockToolbar = useHasBlockToolbar();\n\tif ( ! hasBlockToolbar ) {\n\t\treturn null;\n\t}\n\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = clsx( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': showParentSelector,\n\t} );\n\n\tconst innerClasses = clsx( 'block-editor-block-toolbar', {\n\t\t'is-synced': isSynced,\n\t\t'is-connected': isUsingBindings,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusEditorOnEscape\n\t\t\tclassName={ classes }\n\t\t\t/* translators: accessibility text for the block toolbar */\n\t\t\taria-label={ __( 'Block tools' ) }\n\t\t\t// The variant is applied as \"toolbar\" when undefined, which is the black border style of the dropdown from the toolbar popover.\n\t\t\tvariant={ variant === 'toolbar' ? undefined : variant }\n\t\t\tfocusOnMount={ focusOnMount }\n\t\t\t__experimentalInitialIndex={ __experimentalInitialIndex }\n\t\t\t__experimentalOnIndexChange={ __experimentalOnIndexChange }\n\t\t\t// Resets the index whenever the active block changes so\n\t\t\t// this is not persisted. See https://github.com/WordPress/gutenberg/pull/25760#issuecomment-717906169\n\t\t\tkey={ toolbarKey }\n\t\t>\n\t\t\t<div ref={ toolbarWrapperRef } className={ innerClasses }>\n\t\t\t\t{ ! isMultiToolbar && isLargeViewport && (\n\t\t\t\t\t<BlockParentSelector />\n\t\t\t\t) }\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\t! hasParentPattern && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ nodeRef }\n\t\t\t\t\t\t\t{ ...showHoveredOrFocusedGestures }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t\t{ ! isMultiToolbar && isDefaultEditingMode && (\n\t\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\t\tclientId={ blockClientId }\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<BlockMover\n\t\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t{ ! hasContentOnlyLocking &&\n\t\t\t\t\tshouldShowVisualToolbar &&\n\t\t\t\t\tisMultiToolbar && <BlockGroupToolbar /> }\n\t\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\n/**\n * Renders the block toolbar.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n *\n * @param {Object} props Components props.\n * @param {boolean} props.hideDragHandle Show or hide the Drag Handle for drag and drop functionality.\n * @param {string} props.variant Style variant of the toolbar, also passed to the Dropdowns rendered from Block Toolbar Buttons.\n */\nexport default function BlockToolbar( { hideDragHandle, variant } ) {\n\treturn (\n\t\t<PrivateBlockToolbar\n\t\t\thideDragHandle={ hideDragHandle }\n\t\t\tvariant={ variant }\n\t\t\tfocusOnMount={ undefined }\n\t\t\t__experimentalInitialIndex={ undefined }\n\t\t\t__experimentalOnIndexChange={ undefined }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,7 +7,6 @@ exports.useHasBlockToolbar = useHasBlockToolbar;
|
|
|
7
7
|
var _data = require("@wordpress/data");
|
|
8
8
|
var _blocks = require("@wordpress/blocks");
|
|
9
9
|
var _store = require("../../store");
|
|
10
|
-
var _useHasBlockControls = require("../block-controls/use-has-block-controls");
|
|
11
10
|
/**
|
|
12
11
|
* WordPress dependencies
|
|
13
12
|
*/
|
|
@@ -24,7 +23,7 @@ var _useHasBlockControls = require("../block-controls/use-has-block-controls");
|
|
|
24
23
|
function useHasBlockToolbar() {
|
|
25
24
|
const {
|
|
26
25
|
isToolbarEnabled,
|
|
27
|
-
|
|
26
|
+
isBlockDisabled
|
|
28
27
|
} = (0, _data.useSelect)(select => {
|
|
29
28
|
const {
|
|
30
29
|
getBlockEditingMode,
|
|
@@ -39,11 +38,10 @@ function useHasBlockToolbar() {
|
|
|
39
38
|
const blockType = selectedBlockClientId && (0, _blocks.getBlockType)(getBlockName(selectedBlockClientId));
|
|
40
39
|
return {
|
|
41
40
|
isToolbarEnabled: blockType && (0, _blocks.hasBlockSupport)(blockType, '__experimentalToolbar', true),
|
|
42
|
-
|
|
41
|
+
isBlockDisabled: getBlockEditingMode(selectedBlockClientId) === 'disabled'
|
|
43
42
|
};
|
|
44
43
|
}, []);
|
|
45
|
-
|
|
46
|
-
if (!isToolbarEnabled || !isDefaultEditingMode && !hasAnyBlockControls) {
|
|
44
|
+
if (!isToolbarEnabled || isBlockDisabled) {
|
|
47
45
|
return false;
|
|
48
46
|
}
|
|
49
47
|
return true;
|