@wordpress/block-editor 12.3.0 → 12.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/README.md +12 -0
- package/build/autocompleters/block.js +5 -3
- package/build/autocompleters/block.js.map +1 -1
- package/build/components/alignment-control/index.js +4 -6
- package/build/components/alignment-control/index.js.map +1 -1
- package/build/components/alignment-control/ui.js +5 -9
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/autocomplete/index.js +2 -4
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/block-actions/index.js +4 -0
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/constants.js +1 -5
- package/build/components/block-alignment-control/constants.js.map +1 -1
- package/build/components/block-alignment-control/index.js +4 -6
- package/build/components/block-alignment-control/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +3 -4
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/ui.native.js +3 -3
- package/build/components/block-alignment-control/ui.native.js.map +1 -1
- package/build/components/block-alignment-matrix-control/index.js +0 -1
- package/build/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build/components/block-breadcrumb/index.js +2 -3
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-controls/fill.js +2 -1
- package/build/components/block-controls/fill.js.map +1 -1
- package/build/components/block-controls/index.js +8 -8
- package/build/components/block-controls/index.js.map +1 -1
- package/build/components/block-controls/slot.js +2 -4
- package/build/components/block-controls/slot.js.map +1 -1
- package/build/components/block-controls/slot.native.js +4 -2
- package/build/components/block-controls/slot.native.js.map +1 -1
- package/build/components/block-edit/edit.js +4 -6
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-edit/edit.native.js +2 -4
- package/build/components/block-edit/edit.native.js.map +1 -1
- package/build/components/block-edit/index.js +3 -2
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-heading-level-dropdown/heading-level-icon.js +47 -0
- package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
- package/build/components/block-heading-level-dropdown/index.js +83 -0
- package/build/components/block-heading-level-dropdown/index.js.map +1 -0
- package/build/components/block-heading-level-dropdown/index.native.js +72 -0
- package/build/components/block-heading-level-dropdown/index.native.js.map +1 -0
- package/build/components/block-icon/index.native.js +6 -7
- package/build/components/block-icon/index.native.js.map +1 -1
- package/build/components/block-info-slot-fill/index.js +4 -2
- package/build/components/block-info-slot-fill/index.js.map +1 -1
- package/build/components/block-inspector/index.js +20 -87
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-list-item.native.js +4 -2
- package/build/components/block-list/block-list-item.native.js.map +1 -1
- package/build/components/block-list/block.js +6 -4
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +1 -0
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +7 -4
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +8 -9
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/subdirectory-icon.js +4 -7
- package/build/components/block-list/subdirectory-icon.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +1 -3
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-list-appender/index.js +21 -19
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build/components/block-mover/button.js +12 -12
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +11 -10
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-navigation/dropdown.js +4 -6
- package/build/components/block-navigation/dropdown.js.map +1 -1
- package/build/components/block-parent-selector/index.js +4 -5
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +6 -8
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-patterns-list/index.js +6 -8
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-popover/inbetween.js +4 -6
- package/build/components/block-popover/inbetween.js.map +1 -1
- package/build/components/block-popover/index.js +4 -6
- package/build/components/block-popover/index.js.map +1 -1
- package/build/components/block-preview/auto.js +2 -4
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-preview/index.js +7 -7
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-quick-navigation/index.js +83 -0
- package/build/components/block-quick-navigation/index.js.map +1 -0
- package/build/components/block-removal-warning-modal/index.js +90 -0
- package/build/components/block-removal-warning-modal/index.js.map +1 -0
- package/build/components/block-selection-clearer/index.js +4 -7
- package/build/components/block-selection-clearer/index.js.map +1 -1
- package/build/components/block-settings/button.native.js +2 -1
- package/build/components/block-settings/button.native.js.map +1 -1
- package/build/components/block-settings/container.native.js +6 -6
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +10 -11
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu/index.js +4 -5
- package/build/components/block-settings-menu/index.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +4 -5
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-switcher/index.js +1 -2
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +6 -8
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-toolbar/index.js +4 -5
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +4 -5
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +4 -5
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/index.js +13 -6
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +5 -5
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/selected-block-popover.js +8 -8
- package/build/components/block-tools/selected-block-popover.js.map +1 -1
- package/build/components/block-types-list/index.native.js +4 -6
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/block-vertical-alignment-control/index.js +4 -6
- package/build/components/block-vertical-alignment-control/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +5 -12
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/all-input-control.js +2 -6
- package/build/components/border-radius-control/all-input-control.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +2 -6
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +2 -6
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/color-palette/control.js +2 -4
- package/build/components/color-palette/control.js.map +1 -1
- package/build/components/color-palette/with-color-context.js +2 -4
- package/build/components/color-palette/with-color-context.js.map +1 -1
- package/build/components/colors/utils.js +7 -3
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors/with-colors.js +11 -16
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/control.js +7 -5
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +12 -11
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +7 -5
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/copy-handler/index.js +5 -6
- package/build/components/copy-handler/index.js.map +1 -1
- package/build/components/duotone-control/index.js +1 -2
- package/build/components/duotone-control/index.js.map +1 -1
- package/build/components/editable-text/index.js +6 -7
- package/build/components/editable-text/index.js.map +1 -1
- package/build/components/font-appearance-control/index.js +2 -6
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-family/index.js +4 -5
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/font-size-picker.js +2 -4
- package/build/components/font-sizes/font-size-picker.js.map +1 -1
- package/build/components/font-sizes/utils.js +3 -3
- package/build/components/font-sizes/utils.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +7 -7
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/global-styles/color-panel.js +15 -16
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/effects-panel.js +2 -1
- package/build/components/global-styles/effects-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +2 -1
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/index.js +6 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +7 -7
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +19 -16
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/gradients/with-gradient.js +2 -6
- package/build/components/gradients/with-gradient.js.map +1 -1
- package/build/components/iframe/index.js +5 -7
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/constants.js +1 -2
- package/build/components/image-editor/constants.js.map +1 -1
- package/build/components/index.js +9 -9
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +9 -0
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/index.js +9 -8
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +8 -7
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +24 -30
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inner-blocks/with-client-id.js +2 -6
- package/build/components/inner-blocks/with-client-id.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js +2 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +33 -5
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +4 -3
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js +1 -1
- package/build/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build/components/inserter/index.js +8 -8
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +4 -5
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js +1 -1
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/media-tab/media-list.js +2 -6
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +4 -6
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +1 -1
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.js +3 -3
- package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build/components/inserter/tabs.js +3 -3
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inserter-list-item/index.js +4 -5
- package/build/components/inserter-list-item/index.js.map +1 -1
- package/build/components/inserter-listbox/group.js +4 -7
- package/build/components/inserter-listbox/group.js.map +1 -1
- package/build/components/inserter-listbox/item.js +8 -7
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inserter-listbox/row.js +4 -5
- package/build/components/inserter-listbox/row.js.map +1 -1
- package/build/components/inspector-controls/block-support-slot-container.js +2 -6
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +2 -1
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/index.js +4 -6
- package/build/components/inspector-controls/index.js.map +1 -1
- package/build/components/inspector-controls/slot.js +4 -6
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls/slot.native.js +2 -1
- package/build/components/inspector-controls/slot.native.js.map +1 -1
- package/build/components/justify-content-control/index.js +4 -6
- package/build/components/justify-content-control/index.js.map +1 -1
- package/build/components/justify-content-control/ui.js +4 -7
- package/build/components/justify-content-control/ui.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +2 -4
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.js +2 -4
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/link-control/index.js +3 -9
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-create-button.js +2 -4
- package/build/components/link-control/search-create-button.js.map +1 -1
- package/build/components/link-control/search-input.js +3 -1
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-item.js +2 -4
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +2 -4
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/list-view/appender.js +4 -6
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/aria-referenced-text.js +4 -8
- package/build/components/list-view/aria-referenced-text.js.map +1 -1
- package/build/components/list-view/block-contents.js +4 -5
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +13 -2
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/branch.js +9 -8
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/drop-indicator.js +62 -11
- package/build/components/list-view/drop-indicator.js.map +1 -1
- package/build/components/list-view/index.js +4 -6
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/leaf.js +4 -5
- package/build/components/list-view/leaf.js.map +1 -1
- package/build/components/list-view/use-list-view-client-ids.js +2 -22
- package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +46 -34
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/media-placeholder/index.js +38 -13
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +1 -3
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +8 -8
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/panel-color-settings/index.js +4 -5
- package/build/components/panel-color-settings/index.js.map +1 -1
- package/build/components/plain-text/index.js +8 -8
- package/build/components/plain-text/index.js.map +1 -1
- package/build/components/plain-text/index.native.js +7 -6
- package/build/components/plain-text/index.native.js.map +1 -1
- package/build/components/preview-options/index.js +5 -4
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/provider/index.js +2 -4
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/with-registry-provider.js +8 -10
- package/build/components/provider/with-registry-provider.js.map +1 -1
- package/build/components/publish-date-time-picker/index.js +4 -5
- package/build/components/publish-date-time-picker/index.js.map +1 -1
- package/build/components/resizable-box-popover/index.js +5 -5
- package/build/components/resizable-box-popover/index.js.map +1 -1
- package/build/components/rich-text/content.js +99 -0
- package/build/components/rich-text/content.js.map +1 -0
- package/build/components/rich-text/format-toolbar/index.js +1 -2
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/index.js +8 -42
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +6 -34
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/toolbar-button.js +2 -6
- package/build/components/rich-text/toolbar-button.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +8 -8
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/tool-selector/index.js +2 -6
- package/build/components/tool-selector/index.js.map +1 -1
- package/build/components/unit-control/index.js +4 -5
- package/build/components/unit-control/index.js.map +1 -1
- package/build/components/url-input/index.js +8 -8
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-input/index.native.js +4 -7
- package/build/components/url-input/index.native.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +21 -14
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/url-popover/index.js +4 -5
- package/build/components/url-popover/index.js.map +1 -1
- package/build/components/url-popover/link-editor.js +4 -5
- package/build/components/url-popover/link-editor.js.map +1 -1
- package/build/components/url-popover/link-viewer.js +4 -5
- package/build/components/url-popover/link-viewer.js.map +1 -1
- package/build/components/use-block-display-information/index.js +30 -2
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/video-player/index.native.js +2 -4
- package/build/components/video-player/index.native.js.map +1 -1
- package/build/components/warning/index.native.js +4 -5
- package/build/components/warning/index.native.js.map +1 -1
- package/build/components/writing-flow/index.js +2 -4
- package/build/components/writing-flow/index.js.map +1 -1
- package/build/components/writing-flow/use-drag-selection.js +1 -1
- package/build/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +32 -4
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/hooks/align.js +8 -8
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/anchor.js +4 -2
- package/build/hooks/anchor.js.map +1 -1
- package/build/hooks/behaviors.js +75 -37
- package/build/hooks/behaviors.js.map +1 -1
- package/build/hooks/border.js +4 -5
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color.js +4 -5
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/content-lock-ui.js +8 -10
- package/build/hooks/content-lock-ui.js.map +1 -1
- package/build/hooks/custom-class-name.js +4 -2
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/dimensions.js +7 -7
- package/build/hooks/dimensions.js.map +1 -1
- package/build/hooks/duotone.js +5 -5
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/font-family.js +2 -6
- package/build/hooks/font-family.js.map +1 -1
- package/build/hooks/font-size.js +10 -8
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/layout.js +30 -28
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +24 -16
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +8 -5
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/supports.js +1 -1
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/typography.native.js +3 -1
- package/build/hooks/typography.native.js.map +1 -1
- package/build/hooks/use-typography-props.js +10 -17
- package/build/hooks/use-typography-props.js.map +1 -1
- package/build/index.js +0 -14
- package/build/index.js.map +1 -1
- package/build/layouts/constrained.js +3 -1
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/definitions.js +154 -0
- package/build/layouts/definitions.js.map +1 -0
- package/build/layouts/flex.js +8 -5
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js +3 -1
- package/build/layouts/flow.js.map +1 -1
- package/build/layouts/grid.js +3 -1
- package/build/layouts/grid.js.map +1 -1
- package/build/layouts/utils.js +8 -2
- package/build/layouts/utils.js.map +1 -1
- package/build/private-apis.js +17 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +2 -62
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +200 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +72 -4
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +52 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +42 -42
- package/build/store/selectors.js.map +1 -1
- package/build/utils/object.js +39 -0
- package/build/utils/object.js.map +1 -1
- package/build-module/autocompleters/block.js +5 -3
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/components/alignment-control/index.js +4 -5
- package/build-module/components/alignment-control/index.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +5 -6
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/autocomplete/index.js +2 -3
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/block-actions/index.js +4 -0
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/constants.js +0 -3
- package/build-module/components/block-alignment-control/constants.js.map +1 -1
- package/build-module/components/block-alignment-control/index.js +4 -5
- package/build-module/components/block-alignment-control/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +4 -4
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.native.js +3 -2
- package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
- package/build-module/components/block-alignment-matrix-control/index.js +0 -1
- package/build-module/components/block-alignment-matrix-control/index.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +2 -3
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-controls/fill.js +2 -1
- package/build-module/components/block-controls/fill.js.map +1 -1
- package/build-module/components/block-controls/index.js +8 -7
- package/build-module/components/block-controls/index.js.map +1 -1
- package/build-module/components/block-controls/slot.js +2 -3
- package/build-module/components/block-controls/slot.js.map +1 -1
- package/build-module/components/block-controls/slot.native.js +4 -2
- package/build-module/components/block-controls/slot.native.js.map +1 -1
- package/build-module/components/block-edit/edit.js +4 -5
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-edit/edit.native.js +2 -3
- package/build-module/components/block-edit/edit.native.js.map +1 -1
- package/build-module/components/block-edit/index.js +3 -2
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +39 -0
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -0
- package/build-module/components/block-heading-level-dropdown/index.js +71 -0
- package/build-module/components/block-heading-level-dropdown/index.js.map +1 -0
- package/build-module/components/block-heading-level-dropdown/index.native.js +60 -0
- package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -0
- package/build-module/components/block-icon/index.native.js +6 -6
- package/build-module/components/block-icon/index.native.js.map +1 -1
- package/build-module/components/block-info-slot-fill/index.js +4 -2
- package/build-module/components/block-info-slot-fill/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +20 -88
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-list-item.native.js +4 -2
- package/build-module/components/block-list/block-list-item.native.js.map +1 -1
- package/build-module/components/block-list/block.js +6 -4
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +1 -0
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +7 -4
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +8 -8
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/subdirectory-icon.js +4 -4
- package/build-module/components/block-list/subdirectory-icon.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +1 -3
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +21 -19
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +1 -1
- package/build-module/components/block-mover/button.js +12 -11
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +11 -9
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-navigation/dropdown.js +4 -5
- package/build-module/components/block-navigation/dropdown.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js +4 -4
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +6 -7
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +6 -7
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-popover/inbetween.js +4 -5
- package/build-module/components/block-popover/inbetween.js.map +1 -1
- package/build-module/components/block-popover/index.js +4 -5
- package/build-module/components/block-popover/index.js.map +1 -1
- package/build-module/components/block-preview/auto.js +2 -3
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-preview/index.js +7 -7
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-quick-navigation/index.js +69 -0
- package/build-module/components/block-quick-navigation/index.js.map +1 -0
- package/build-module/components/block-removal-warning-modal/index.js +76 -0
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -0
- package/build-module/components/block-selection-clearer/index.js +4 -4
- package/build-module/components/block-selection-clearer/index.js.map +1 -1
- package/build-module/components/block-settings/button.native.js +2 -1
- package/build-module/components/block-settings/button.native.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +6 -5
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +10 -10
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu/index.js +4 -4
- package/build-module/components/block-settings-menu/index.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +4 -4
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +1 -2
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +6 -7
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +4 -4
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +4 -4
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +4 -4
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/index.js +13 -5
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +5 -4
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/selected-block-popover.js +8 -7
- package/build-module/components/block-tools/selected-block-popover.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +4 -5
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/index.js +4 -5
- package/build-module/components/block-vertical-alignment-control/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +5 -9
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/all-input-control.js +2 -3
- package/build-module/components/border-radius-control/all-input-control.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +2 -3
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +2 -3
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/color-palette/control.js +2 -3
- package/build-module/components/color-palette/control.js.map +1 -1
- package/build-module/components/color-palette/with-color-context.js +2 -3
- package/build-module/components/color-palette/with-color-context.js.map +1 -1
- package/build-module/components/colors/utils.js +5 -1
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors/with-colors.js +10 -14
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +7 -4
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +12 -10
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +7 -4
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/copy-handler/index.js +5 -6
- package/build-module/components/copy-handler/index.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/editable-text/index.js +6 -6
- package/build-module/components/editable-text/index.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +2 -3
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-family/index.js +4 -4
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/font-sizes/font-size-picker.js +2 -3
- package/build-module/components/font-sizes/font-size-picker.js.map +1 -1
- package/build-module/components/font-sizes/utils.js +2 -2
- package/build-module/components/font-sizes/utils.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +7 -6
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +15 -15
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/effects-panel.js +2 -1
- package/build-module/components/global-styles/effects-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +2 -1
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/index.js +1 -1
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +7 -7
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +11 -10
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/gradients/with-gradient.js +2 -3
- package/build-module/components/gradients/with-gradient.js.map +1 -1
- package/build-module/components/iframe/index.js +5 -6
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/constants.js +1 -2
- package/build-module/components/image-editor/constants.js.map +1 -1
- package/build-module/components/index.js +1 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +1 -0
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +9 -7
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +8 -6
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +24 -27
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inner-blocks/with-client-id.js +2 -3
- package/build-module/components/inner-blocks/with-client-id.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js +2 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +33 -7
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +4 -3
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js +1 -1
- package/build-module/components/inserter/hooks/use-insertion-point.js.map +1 -1
- package/build-module/components/inserter/index.js +8 -7
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +4 -4
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js +1 -1
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.js +2 -3
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +4 -5
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +3 -3
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.js +3 -3
- package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build-module/components/inserter/tabs.js +3 -3
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inserter-list-item/index.js +4 -4
- package/build-module/components/inserter-list-item/index.js.map +1 -1
- package/build-module/components/inserter-listbox/group.js +4 -4
- package/build-module/components/inserter-listbox/group.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js +8 -6
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/inserter-listbox/row.js +4 -4
- package/build-module/components/inserter-listbox/row.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js +2 -3
- package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +2 -1
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/index.js +4 -5
- package/build-module/components/inspector-controls/index.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +4 -5
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls/slot.native.js +2 -1
- package/build-module/components/inspector-controls/slot.native.js.map +1 -1
- package/build-module/components/justify-content-control/index.js +4 -5
- package/build-module/components/justify-content-control/index.js.map +1 -1
- package/build-module/components/justify-content-control/ui.js +4 -4
- package/build-module/components/justify-content-control/ui.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js +2 -3
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.js +2 -3
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/link-control/index.js +3 -9
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-create-button.js +2 -3
- package/build-module/components/link-control/search-create-button.js.map +1 -1
- package/build-module/components/link-control/search-input.js +3 -1
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/search-item.js +2 -3
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +2 -3
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/list-view/appender.js +4 -5
- package/build-module/components/list-view/appender.js.map +1 -1
- package/build-module/components/list-view/aria-referenced-text.js +4 -5
- package/build-module/components/list-view/aria-referenced-text.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +4 -4
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +14 -4
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/branch.js +9 -7
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/drop-indicator.js +61 -11
- package/build-module/components/list-view/drop-indicator.js.map +1 -1
- package/build-module/components/list-view/index.js +4 -5
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/leaf.js +4 -4
- package/build-module/components/list-view/leaf.js.map +1 -1
- package/build-module/components/list-view/use-list-view-client-ids.js +2 -22
- package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +45 -34
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +38 -13
- package/build-module/components/media-placeholder/index.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/navigable-toolbar/index.js +8 -7
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/panel-color-settings/index.js +4 -4
- package/build-module/components/panel-color-settings/index.js.map +1 -1
- package/build-module/components/plain-text/index.js +8 -7
- package/build-module/components/plain-text/index.js.map +1 -1
- package/build-module/components/plain-text/index.native.js +7 -5
- package/build-module/components/plain-text/index.native.js.map +1 -1
- package/build-module/components/preview-options/index.js +5 -4
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/provider/index.js +2 -3
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/with-registry-provider.js +8 -7
- package/build-module/components/provider/with-registry-provider.js.map +1 -1
- package/build-module/components/publish-date-time-picker/index.js +4 -4
- package/build-module/components/publish-date-time-picker/index.js.map +1 -1
- package/build-module/components/resizable-box-popover/index.js +5 -4
- package/build-module/components/resizable-box-popover/index.js.map +1 -1
- package/build-module/components/rich-text/content.js +85 -0
- package/build-module/components/rich-text/content.js.map +1 -0
- package/build-module/components/rich-text/format-toolbar/index.js +1 -2
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +8 -42
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +6 -34
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/toolbar-button.js +2 -3
- package/build-module/components/rich-text/toolbar-button.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +8 -7
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/tool-selector/index.js +2 -3
- package/build-module/components/tool-selector/index.js.map +1 -1
- package/build-module/components/unit-control/index.js +4 -4
- package/build-module/components/unit-control/index.js.map +1 -1
- package/build-module/components/url-input/index.js +8 -7
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-input/index.native.js +4 -4
- package/build-module/components/url-input/index.native.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +22 -15
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/url-popover/index.js +4 -4
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/components/url-popover/link-editor.js +4 -4
- package/build-module/components/url-popover/link-editor.js.map +1 -1
- package/build-module/components/url-popover/link-viewer.js +4 -4
- package/build-module/components/url-popover/link-viewer.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +29 -2
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/video-player/index.native.js +2 -3
- package/build-module/components/video-player/index.native.js.map +1 -1
- package/build-module/components/warning/index.native.js +4 -4
- package/build-module/components/warning/index.native.js.map +1 -1
- package/build-module/components/writing-flow/index.js +2 -3
- package/build-module/components/writing-flow/index.js.map +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js +1 -1
- package/build-module/components/writing-flow/use-drag-selection.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +32 -5
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/hooks/align.js +8 -7
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/anchor.js +4 -2
- package/build-module/hooks/anchor.js.map +1 -1
- package/build-module/hooks/behaviors.js +76 -34
- package/build-module/hooks/behaviors.js.map +1 -1
- package/build-module/hooks/border.js +4 -4
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color.js +4 -4
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/content-lock-ui.js +8 -7
- package/build-module/hooks/content-lock-ui.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +4 -2
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/dimensions.js +7 -6
- 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 +1 -5
- package/build-module/hooks/font-family.js.map +1 -1
- package/build-module/hooks/font-size.js +10 -9
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/layout.js +26 -24
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +23 -15
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +8 -4
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/supports.js +1 -1
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/typography.native.js +3 -1
- package/build-module/hooks/typography.native.js.map +1 -1
- package/build-module/hooks/use-typography-props.js +8 -15
- package/build-module/hooks/use-typography-props.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/layouts/constrained.js +2 -1
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/definitions.js +147 -0
- package/build-module/layouts/definitions.js.map +1 -0
- package/build-module/layouts/flex.js +8 -6
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js +2 -1
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/layouts/grid.js +2 -1
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/layouts/utils.js +7 -2
- package/build-module/layouts/utils.js.map +1 -1
- package/build-module/private-apis.js +12 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +2 -62
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +186 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +63 -3
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +52 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +42 -42
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/object.js +37 -1
- package/build-module/utils/object.js.map +1 -1
- package/build-style/style-rtl.css +16 -21
- package/build-style/style.css +16 -21
- package/package.json +31 -31
- package/src/autocompleters/block.js +4 -2
- package/src/components/alignment-control/ui.js +1 -2
- package/src/components/block-actions/index.js +10 -0
- package/src/components/block-alignment-control/constants.js +0 -4
- package/src/components/block-alignment-control/ui.js +1 -6
- package/src/components/block-alignment-matrix-control/index.js +1 -1
- package/src/components/block-breadcrumb/index.js +2 -6
- package/src/components/block-edit/index.js +3 -5
- package/src/components/block-heading-level-dropdown/README.md +52 -0
- package/src/components/block-heading-level-dropdown/heading-level-icon.js +43 -0
- package/src/components/block-heading-level-dropdown/index.js +77 -0
- package/src/components/block-heading-level-dropdown/index.native.js +63 -0
- package/src/components/block-inspector/index.js +18 -92
- package/src/components/block-inspector/style.scss +0 -5
- package/src/components/block-list/block.native.js +1 -0
- package/src/components/block-list/index.js +1 -1
- package/src/components/block-list/use-in-between-inserter.js +0 -4
- package/src/components/block-list-appender/index.js +29 -22
- package/src/components/block-lock/style.scss +11 -4
- package/src/components/block-mobile-toolbar/block-actions-menu.native.js +1 -1
- package/src/components/block-mobile-toolbar/test/block-actions-menu.native.js +2 -2
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +3 -3
- package/src/components/block-mover/test/index.native.js +1 -20
- package/src/components/block-preview/index.js +7 -14
- package/src/components/block-quick-navigation/index.js +81 -0
- package/src/components/block-removal-warning-modal/index.js +94 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +15 -13
- package/src/components/block-switcher/index.js +1 -2
- package/src/components/block-toolbar/style.scss +0 -4
- package/src/components/block-tools/index.js +10 -1
- package/src/components/block-vertical-alignment-control/ui.js +1 -3
- package/src/components/colors/utils.js +5 -1
- package/src/components/colors/with-colors.js +1 -5
- package/src/components/copy-handler/index.js +5 -5
- package/src/components/duotone-control/index.js +0 -1
- package/src/components/font-sizes/test/fluid-utils.js +97 -76
- package/src/components/font-sizes/utils.js +2 -2
- package/src/components/global-styles/color-panel.js +3 -3
- package/src/components/global-styles/index.js +1 -0
- package/src/components/global-styles/test/use-global-styles-output.js +14 -9
- package/src/components/global-styles/typography-panel.js +19 -16
- package/src/components/global-styles/use-global-styles-output.js +12 -12
- package/src/components/iframe/index.js +1 -1
- package/src/components/image-editor/constants.js +0 -1
- package/src/components/index.js +1 -1
- package/src/components/index.native.js +1 -0
- package/src/components/inner-blocks/index.js +4 -2
- package/src/components/inner-blocks/index.native.js +1 -1
- package/src/components/inner-blocks/use-nested-settings-update.js +31 -36
- package/src/components/inserter/block-patterns-tab.js +63 -8
- package/src/components/inserter/hooks/use-block-types-state.js +4 -3
- package/src/components/inserter/hooks/use-insertion-point.js +1 -0
- package/src/components/inserter/library.js +2 -1
- package/src/components/inserter/media-tab/media-tab.js +9 -3
- package/src/components/inserter/reusable-blocks-tab.js +3 -3
- package/src/components/inserter/tabs.js +3 -3
- package/src/components/link-control/index.js +2 -9
- package/src/components/link-control/search-input.js +1 -0
- package/src/components/link-control/test/index.js +40 -51
- package/src/components/list-view/block-select-button.js +19 -1
- package/src/components/list-view/branch.js +6 -3
- package/src/components/list-view/drop-indicator.js +94 -9
- package/src/components/list-view/style.scss +13 -12
- package/src/components/list-view/test/use-list-view-drop-zone.js +188 -93
- package/src/components/list-view/use-list-view-client-ids.js +3 -20
- package/src/components/list-view/use-list-view-drop-zone.js +97 -54
- package/src/components/media-placeholder/index.js +54 -20
- package/src/components/media-replace-flow/index.js +1 -3
- package/src/components/preview-options/index.js +3 -2
- package/src/components/provider/test/experimental-provider.js +9 -6
- package/src/components/rich-text/content.js +85 -0
- package/src/components/rich-text/format-toolbar/index.js +1 -2
- package/src/components/rich-text/index.js +2 -35
- package/src/components/rich-text/index.native.js +3 -33
- package/src/components/url-popover/image-url-input-ui.js +15 -15
- package/src/components/url-popover/test/__snapshots__/index.js.snap +3 -3
- package/src/components/use-block-display-information/index.js +26 -0
- package/src/components/writing-flow/use-drag-selection.js +1 -1
- package/src/components/writing-flow/use-tab-nav.js +42 -6
- package/src/hooks/behaviors.js +82 -39
- package/src/hooks/font-family.js +1 -5
- package/src/hooks/font-size.js +12 -17
- package/src/hooks/layout.js +17 -25
- package/src/hooks/position.js +24 -12
- package/src/hooks/supports.js +1 -1
- package/src/hooks/use-typography-props.js +14 -19
- package/src/index.js +0 -2
- package/src/layouts/constrained.js +2 -1
- package/src/layouts/definitions.js +174 -0
- package/src/layouts/flex.js +7 -5
- package/src/layouts/flow.js +2 -1
- package/src/layouts/grid.js +2 -1
- package/src/layouts/test/utils.js +2 -7
- package/src/layouts/utils.js +7 -2
- package/src/private-apis.js +11 -0
- package/src/store/actions.js +7 -56
- package/src/store/private-actions.js +193 -0
- package/src/store/private-selectors.js +108 -35
- package/src/store/reducer.js +44 -0
- package/src/store/selectors.js +61 -39
- package/src/store/test/private-selectors.js +269 -1
- package/src/store/test/selectors.js +18 -17
- package/src/utils/object.js +35 -0
- package/src/utils/test/object.js +96 -1
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -64,11 +63,11 @@ function BlockPatternsList({
|
|
|
64
63
|
onSelect
|
|
65
64
|
}) {
|
|
66
65
|
const composite = useCompositeState();
|
|
67
|
-
return createElement(Composite,
|
|
66
|
+
return createElement(Composite, { ...composite,
|
|
68
67
|
role: "listbox",
|
|
69
68
|
className: "block-editor-block-switcher__preview-patterns-container",
|
|
70
69
|
"aria-label": __('Patterns list')
|
|
71
|
-
}
|
|
70
|
+
}, patterns.map(pattern => createElement(BlockPattern, {
|
|
72
71
|
key: pattern.name,
|
|
73
72
|
pattern: pattern,
|
|
74
73
|
onSelect: onSelect,
|
|
@@ -86,15 +85,15 @@ function BlockPattern({
|
|
|
86
85
|
const descriptionId = useInstanceId(BlockPattern, `${baseClassName}-list__item-description`);
|
|
87
86
|
return createElement("div", {
|
|
88
87
|
className: `${baseClassName}-list__list-item`
|
|
89
|
-
}, createElement(CompositeItem,
|
|
88
|
+
}, createElement(CompositeItem, {
|
|
90
89
|
role: "option",
|
|
91
|
-
as: "div"
|
|
92
|
-
|
|
90
|
+
as: "div",
|
|
91
|
+
...composite,
|
|
93
92
|
"aria-label": pattern.title,
|
|
94
93
|
"aria-describedby": pattern.description ? descriptionId : undefined,
|
|
95
94
|
className: `${baseClassName}-list__item`,
|
|
96
95
|
onClick: () => onSelect(pattern.transformedBlocks)
|
|
97
|
-
}
|
|
96
|
+
}, createElement(BlockPreview, {
|
|
98
97
|
blocks: pattern.transformedBlocks,
|
|
99
98
|
viewportWidth: pattern.viewportWidth || 500
|
|
100
99
|
}), createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-switcher/pattern-transformations-menu.js"],"names":["__","useState","useInstanceId","chevronRight","MenuGroup","MenuItem","Popover","VisuallyHidden","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","BlockPreview","useTransformedPatterns","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","length","event","preventDefault","PreviewPatternsPopover","BlockPatternsList","composite","map","pattern","name","BlockPattern","baseClassName","descriptionId","title","description","undefined","transformedBlocks","viewportWidth"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-switcher/pattern-transformations-menu.js"],"names":["__","useState","useInstanceId","chevronRight","MenuGroup","MenuItem","Popover","VisuallyHidden","__unstableComposite","Composite","__unstableUseCompositeState","useCompositeState","__unstableCompositeItem","CompositeItem","BlockPreview","useTransformedPatterns","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","length","event","preventDefault","PreviewPatternsPopover","BlockPatternsList","composite","map","pattern","name","BlockPattern","baseClassName","descriptionId","title","description","undefined","transformedBlocks","viewportWidth"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId } from '@wordpress/compose';\nimport { chevronRight } from '@wordpress/icons';\n\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPopover,\n\tVisuallyHidden,\n\t__unstableComposite as Composite,\n\t__unstableUseCompositeState as useCompositeState,\n\t__unstableCompositeItem as CompositeItem,\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\tif ( ! patterns.length ) return null;\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\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover__preview__parent\">\n\t\t\t<div className=\"block-editor-block-switcher__popover__preview__container\">\n\t\t\t\t<Popover\n\t\t\t\t\tclassName=\"block-editor-block-switcher__preview__popover\"\n\t\t\t\t\tposition=\"bottom right\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"block-editor-block-switcher__preview\">\n\t\t\t\t\t\t<div className=\"block-editor-block-switcher__preview-title\">\n\t\t\t\t\t\t\t{ __( 'Preview' ) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</Popover>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternsList( { patterns, onSelect } ) {\n\tconst composite = useCompositeState();\n\treturn (\n\t\t<Composite\n\t\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\tcomposite={ composite }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction BlockPattern( { pattern, onSelect, composite } ) {\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<CompositeItem\n\t\t\t\trole=\"option\"\n\t\t\t\tas=\"div\"\n\t\t\t\t{ ...composite }\n\t\t\t\taria-label={ pattern.title }\n\t\t\t\taria-describedby={\n\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t}\n\t\t\t\tclassName={ `${ baseClassName }-list__item` }\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</CompositeItem>\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"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement, Fragment } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -117,9 +116,10 @@ const BlockToolbar = ({
|
|
|
117
116
|
});
|
|
118
117
|
return createElement("div", {
|
|
119
118
|
className: classes
|
|
120
|
-
}, !isMultiToolbar && isLargeViewport && blockEditingMode === 'default' && createElement(BlockParentSelector, null), createElement("div",
|
|
121
|
-
ref: nodeRef
|
|
122
|
-
|
|
119
|
+
}, !isMultiToolbar && isLargeViewport && blockEditingMode === 'default' && createElement(BlockParentSelector, null), createElement("div", {
|
|
120
|
+
ref: nodeRef,
|
|
121
|
+
...showMoversGestures
|
|
122
|
+
}, (shouldShowVisualToolbar || isMultiToolbar) && blockEditingMode === 'default' && createElement(ToolbarGroup, {
|
|
123
123
|
className: "block-editor-block-toolbar__block-controls"
|
|
124
124
|
}, createElement(BlockSwitcher, {
|
|
125
125
|
clientIds: blockClientIds
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"names":["classnames","useSelect","useDispatch","useRef","useViewportMatch","getBlockType","hasBlockSupport","isReusableBlock","isTemplatePart","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowMoversGestures","store","blockEditorStore","__unstableBlockNameContext","unlock","BlockToolbar","hideDragHandle","blockClientIds","blockClientId","blockType","hasFixedToolbar","isDistractionFree","isValid","isVisual","blockEditingMode","select","getBlockName","getBlockMode","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getSettings","getBlockEditingMode","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","settings","rootClientId","every","id","toggleBlockHighlight","nodeRef","showMovers","gestures","showMoversGestures","ref","onChange","isFocused","displayHeaderToolbar","isLargeViewport","shouldShowMovers","length","shouldShowVisualToolbar","isMultiToolbar","isSynced","classes","name"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } 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 { useShowMoversGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\nimport { unlock } from '../../lock-unlock';\n\nconst BlockToolbar = ( { hideDragHandle } ) => {\n\tconst {\n\t\tblockClientIds,\n\t\tblockClientId,\n\t\tblockType,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tisValid,\n\t\tisVisual,\n\t\tblockEditingMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSettings,\n\t\t\tgetBlockEditingMode,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst blockRootClientId = getBlockRootClientId( selectedBlockClientId );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockType:\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) ),\n\t\t\thasFixedToolbar: settings.hasFixedToolbar,\n\t\t\tisDistractionFree: settings.isDistractionFree,\n\t\t\trootClientId: blockRootClientId,\n\t\t\tisValid: selectedBlockClientIds.every( ( id ) =>\n\t\t\t\tisBlockValid( id )\n\t\t\t),\n\t\t\tisVisual: selectedBlockClientIds.every(\n\t\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t\t),\n\t\t\tblockEditingMode: getBlockEditingMode( selectedBlockClientId ),\n\t\t};\n\t}, [] );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\tconst nodeRef = useRef();\n\tconst { showMovers, gestures: showMoversGestures } = useShowMoversGestures(\n\t\t{\n\t\t\tref: nodeRef,\n\t\t\tonChange( isFocused ) {\n\t\t\t\tif ( isFocused && isDistractionFree ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttoggleBlockHighlight( blockClientId, isFocused );\n\t\t\t},\n\t\t}\n\t);\n\n\t// Account for the cases where the block toolbar is rendered within the\n\t// header area and not contextually to the block.\n\tconst displayHeaderToolbar =\n\t\tuseViewportMatch( 'medium', '<' ) || hasFixedToolbar;\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tif ( blockType ) {\n\t\tif ( ! hasBlockSupport( blockType, '__experimentalToolbar', true ) ) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tconst shouldShowMovers = displayHeaderToolbar || showMovers;\n\n\tif ( blockClientIds.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst shouldShowVisualToolbar = isValid && isVisual;\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\tconst classes = classnames( 'block-editor-block-toolbar', {\n\t\t'is-showing-movers': shouldShowMovers,\n\t\t'is-synced': isSynced,\n\t} );\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ ! isMultiToolbar &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tblockEditingMode === 'default' && <BlockParentSelector /> }\n\t\t\t<div ref={ nodeRef } { ...showMoversGestures }>\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\tblockEditingMode === 'default' && (\n\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\tclientId={ blockClientIds[ 0 ] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ shouldShowVisualToolbar && isMultiToolbar && (\n\t\t\t\t<BlockGroupToolbar />\n\t\t\t) }\n\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t>\n\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n */\nexport default BlockToolbar;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-toolbar/index.js"],"names":["classnames","useSelect","useDispatch","useRef","useViewportMatch","getBlockType","hasBlockSupport","isReusableBlock","isTemplatePart","ToolbarGroup","BlockMover","BlockParentSelector","BlockSwitcher","BlockControls","__unstableBlockToolbarLastItem","BlockSettingsMenu","BlockLockToolbar","BlockGroupToolbar","BlockEditVisuallyButton","useShowMoversGestures","store","blockEditorStore","__unstableBlockNameContext","unlock","BlockToolbar","hideDragHandle","blockClientIds","blockClientId","blockType","hasFixedToolbar","isDistractionFree","isValid","isVisual","blockEditingMode","select","getBlockName","getBlockMode","getSelectedBlockClientIds","isBlockValid","getBlockRootClientId","getSettings","getBlockEditingMode","selectedBlockClientIds","selectedBlockClientId","blockRootClientId","settings","rootClientId","every","id","toggleBlockHighlight","nodeRef","showMovers","gestures","showMoversGestures","ref","onChange","isFocused","displayHeaderToolbar","isLargeViewport","shouldShowMovers","length","shouldShowVisualToolbar","isMultiToolbar","isSynced","classes","name"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } 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 { useShowMoversGestures } from './utils';\nimport { store as blockEditorStore } from '../../store';\nimport __unstableBlockNameContext from './block-name-context';\nimport { unlock } from '../../lock-unlock';\n\nconst BlockToolbar = ( { hideDragHandle } ) => {\n\tconst {\n\t\tblockClientIds,\n\t\tblockClientId,\n\t\tblockType,\n\t\thasFixedToolbar,\n\t\tisDistractionFree,\n\t\tisValid,\n\t\tisVisual,\n\t\tblockEditingMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockName,\n\t\t\tgetBlockMode,\n\t\t\tgetSelectedBlockClientIds,\n\t\t\tisBlockValid,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSettings,\n\t\t\tgetBlockEditingMode,\n\t\t} = unlock( select( blockEditorStore ) );\n\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\tconst selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\tconst blockRootClientId = getBlockRootClientId( selectedBlockClientId );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tblockClientIds: selectedBlockClientIds,\n\t\t\tblockClientId: selectedBlockClientId,\n\t\t\tblockType:\n\t\t\t\tselectedBlockClientId &&\n\t\t\t\tgetBlockType( getBlockName( selectedBlockClientId ) ),\n\t\t\thasFixedToolbar: settings.hasFixedToolbar,\n\t\t\tisDistractionFree: settings.isDistractionFree,\n\t\t\trootClientId: blockRootClientId,\n\t\t\tisValid: selectedBlockClientIds.every( ( id ) =>\n\t\t\t\tisBlockValid( id )\n\t\t\t),\n\t\t\tisVisual: selectedBlockClientIds.every(\n\t\t\t\t( id ) => getBlockMode( id ) === 'visual'\n\t\t\t),\n\t\t\tblockEditingMode: getBlockEditingMode( selectedBlockClientId ),\n\t\t};\n\t}, [] );\n\n\t// Handles highlighting the current block outline on hover or focus of the\n\t// block type toolbar area.\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\tconst nodeRef = useRef();\n\tconst { showMovers, gestures: showMoversGestures } = useShowMoversGestures(\n\t\t{\n\t\t\tref: nodeRef,\n\t\t\tonChange( isFocused ) {\n\t\t\t\tif ( isFocused && isDistractionFree ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\ttoggleBlockHighlight( blockClientId, isFocused );\n\t\t\t},\n\t\t}\n\t);\n\n\t// Account for the cases where the block toolbar is rendered within the\n\t// header area and not contextually to the block.\n\tconst displayHeaderToolbar =\n\t\tuseViewportMatch( 'medium', '<' ) || hasFixedToolbar;\n\tconst isLargeViewport = ! useViewportMatch( 'medium', '<' );\n\n\tif ( blockType ) {\n\t\tif ( ! hasBlockSupport( blockType, '__experimentalToolbar', true ) ) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tconst shouldShowMovers = displayHeaderToolbar || showMovers;\n\n\tif ( blockClientIds.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst shouldShowVisualToolbar = isValid && isVisual;\n\tconst isMultiToolbar = blockClientIds.length > 1;\n\tconst isSynced =\n\t\tisReusableBlock( blockType ) || isTemplatePart( blockType );\n\n\tconst classes = classnames( 'block-editor-block-toolbar', {\n\t\t'is-showing-movers': shouldShowMovers,\n\t\t'is-synced': isSynced,\n\t} );\n\n\treturn (\n\t\t<div className={ classes }>\n\t\t\t{ ! isMultiToolbar &&\n\t\t\t\tisLargeViewport &&\n\t\t\t\tblockEditingMode === 'default' && <BlockParentSelector /> }\n\t\t\t<div ref={ nodeRef } { ...showMoversGestures }>\n\t\t\t\t{ ( shouldShowVisualToolbar || isMultiToolbar ) &&\n\t\t\t\t\tblockEditingMode === 'default' && (\n\t\t\t\t\t\t<ToolbarGroup className=\"block-editor-block-toolbar__block-controls\">\n\t\t\t\t\t\t\t<BlockSwitcher clientIds={ blockClientIds } />\n\t\t\t\t\t\t\t{ ! isMultiToolbar && (\n\t\t\t\t\t\t\t\t<BlockLockToolbar\n\t\t\t\t\t\t\t\t\tclientId={ blockClientIds[ 0 ] }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<BlockMover\n\t\t\t\t\t\t\t\tclientIds={ blockClientIds }\n\t\t\t\t\t\t\t\thideDragHandle={ hideDragHandle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t</div>\n\t\t\t{ shouldShowVisualToolbar && isMultiToolbar && (\n\t\t\t\t<BlockGroupToolbar />\n\t\t\t) }\n\t\t\t{ shouldShowVisualToolbar && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"parent\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"block\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot className=\"block-editor-block-toolbar__slot\" />\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"inline\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockControls.Slot\n\t\t\t\t\t\tgroup=\"other\"\n\t\t\t\t\t\tclassName=\"block-editor-block-toolbar__slot\"\n\t\t\t\t\t/>\n\t\t\t\t\t<__unstableBlockNameContext.Provider\n\t\t\t\t\t\tvalue={ blockType?.name }\n\t\t\t\t\t>\n\t\t\t\t\t\t<__unstableBlockToolbarLastItem.Slot />\n\t\t\t\t\t</__unstableBlockNameContext.Provider>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<BlockEditVisuallyButton clientIds={ blockClientIds } />\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<BlockSettingsMenu clientIds={ blockClientIds } />\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/block-toolbar/README.md\n */\nexport default BlockToolbar;\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -77,13 +76,14 @@ function BlockContextualToolbar({
|
|
|
77
76
|
'is-fixed': isFixed,
|
|
78
77
|
'is-collapsed': isCollapsed
|
|
79
78
|
});
|
|
80
|
-
return createElement(NavigableToolbar,
|
|
79
|
+
return createElement(NavigableToolbar, {
|
|
81
80
|
focusOnMount: focusOnMount,
|
|
82
81
|
className: classes
|
|
83
82
|
/* translators: accessibility text for the block toolbar */
|
|
84
83
|
,
|
|
85
|
-
"aria-label": __('Block tools')
|
|
86
|
-
|
|
84
|
+
"aria-label": __('Block tools'),
|
|
85
|
+
...props
|
|
86
|
+
}, isFixed && isLargeViewport && blockType && createElement(ToolbarGroup, {
|
|
87
87
|
className: isCollapsed ? 'block-editor-block-toolbar__group-expand-fixed-toolbar' : 'block-editor-block-toolbar__group-collapse-fixed-toolbar'
|
|
88
88
|
}, createElement(ToolbarItem, {
|
|
89
89
|
as: ToolbarButton,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/block-contextual-toolbar.js"],"names":["classnames","__","useEffect","useRef","useState","hasBlockSupport","store","blocksStore","useSelect","ToolbarItem","ToolbarButton","ToolbarGroup","levelUp","useViewportMatch","NavigableToolbar","BlockToolbar","blockEditorStore","BlockIcon","unlock","BlockContextualToolbar","focusOnMount","isFixed","props","isCollapsed","setIsCollapsed","toolbarButtonRef","isLargeViewport","blockType","hasParents","showParentSelector","selectedBlockClientId","select","getBlockName","getBlockParents","getSelectedBlockClientIds","getBlockEditingMode","getBlockType","selectedBlockClientIds","_selectedBlockClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","classes","icon","collapsed","current","focus"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/block-contextual-toolbar.js"],"names":["classnames","__","useEffect","useRef","useState","hasBlockSupport","store","blocksStore","useSelect","ToolbarItem","ToolbarButton","ToolbarGroup","levelUp","useViewportMatch","NavigableToolbar","BlockToolbar","blockEditorStore","BlockIcon","unlock","BlockContextualToolbar","focusOnMount","isFixed","props","isCollapsed","setIsCollapsed","toolbarButtonRef","isLargeViewport","blockType","hasParents","showParentSelector","selectedBlockClientId","select","getBlockName","getBlockParents","getSelectedBlockClientIds","getBlockEditingMode","getBlockType","selectedBlockClientIds","_selectedBlockClientId","parents","firstParentClientId","length","parentBlockName","parentBlockType","classes","icon","collapsed","current","focus"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { hasBlockSupport, store as blocksStore } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tToolbarItem,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { levelUp } from '@wordpress/icons';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport NavigableToolbar from '../navigable-toolbar';\nimport BlockToolbar from '../block-toolbar';\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport { unlock } from '../../lock-unlock';\n\nfunction BlockContextualToolbar( { focusOnMount, isFixed, ...props } ) {\n\t// When the toolbar is fixed it can be collapsed\n\tconst [ isCollapsed, setIsCollapsed ] = useState( false );\n\tconst toolbarButtonRef = useRef();\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { blockType, hasParents, showParentSelector, selectedBlockClientId } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockParents,\n\t\t\t\tgetSelectedBlockClientIds,\n\t\t\t\tgetBlockEditingMode,\n\t\t\t} = unlock( select( blockEditorStore ) );\n\t\t\tconst { getBlockType } = select( blocksStore );\n\t\t\tconst selectedBlockClientIds = getSelectedBlockClientIds();\n\t\t\tconst _selectedBlockClientId = selectedBlockClientIds[ 0 ];\n\t\t\tconst parents = getBlockParents( _selectedBlockClientId );\n\t\t\tconst firstParentClientId = parents[ parents.length - 1 ];\n\t\t\tconst parentBlockName = getBlockName( firstParentClientId );\n\t\t\tconst parentBlockType = getBlockType( parentBlockName );\n\n\t\t\treturn {\n\t\t\t\tselectedBlockClientId: _selectedBlockClientId,\n\t\t\t\tblockType:\n\t\t\t\t\t_selectedBlockClientId &&\n\t\t\t\t\tgetBlockType( getBlockName( _selectedBlockClientId ) ),\n\t\t\t\thasParents: parents.length,\n\t\t\t\tshowParentSelector:\n\t\t\t\t\tparentBlockType &&\n\t\t\t\t\thasBlockSupport(\n\t\t\t\t\t\tparentBlockType,\n\t\t\t\t\t\t'__experimentalParentSelector',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) &&\n\t\t\t\t\tselectedBlockClientIds.length <= 1 &&\n\t\t\t\t\tgetBlockEditingMode( _selectedBlockClientId ) === 'default',\n\t\t\t};\n\t\t}, [] );\n\n\tuseEffect( () => {\n\t\tsetIsCollapsed( false );\n\t}, [ selectedBlockClientId ] );\n\n\tif (\n\t\tblockType &&\n\t\t! hasBlockSupport( blockType, '__experimentalToolbar', true )\n\t) {\n\t\treturn null;\n\t}\n\n\t// Shifts the toolbar to make room for the parent block selector.\n\tconst classes = classnames( 'block-editor-block-contextual-toolbar', {\n\t\t'has-parent': hasParents && showParentSelector,\n\t\t'is-fixed': isFixed,\n\t\t'is-collapsed': isCollapsed,\n\t} );\n\n\treturn (\n\t\t<NavigableToolbar\n\t\t\tfocusOnMount={ focusOnMount }\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{ ...props }\n\t\t>\n\t\t\t{ isFixed && isLargeViewport && blockType && (\n\t\t\t\t<ToolbarGroup\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tisCollapsed\n\t\t\t\t\t\t\t? 'block-editor-block-toolbar__group-expand-fixed-toolbar'\n\t\t\t\t\t\t\t: 'block-editor-block-toolbar__group-collapse-fixed-toolbar'\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\tas={ ToolbarButton }\n\t\t\t\t\t\tref={ toolbarButtonRef }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tisCollapsed ? (\n\t\t\t\t\t\t\t\t<BlockIcon icon={ blockType.icon } />\n\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\tlevelUp\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsCollapsed( ( collapsed ) => ! collapsed );\n\t\t\t\t\t\t\ttoolbarButtonRef.current.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tisCollapsed\n\t\t\t\t\t\t\t\t? __( 'Show block tools' )\n\t\t\t\t\t\t\t\t: __( 'Show document tools' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t\t{ ! isCollapsed && <BlockToolbar hideDragHandle={ isFixed } /> }\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default BlockContextualToolbar;\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -224,15 +223,16 @@ function BlockSelectionButton({
|
|
|
224
223
|
hideDragHandle: true
|
|
225
224
|
}), editorMode === 'navigation' && createElement(BlockDraggable, {
|
|
226
225
|
clientIds: [clientId]
|
|
227
|
-
}, draggableProps => createElement(Button,
|
|
226
|
+
}, draggableProps => createElement(Button, {
|
|
228
227
|
icon: dragHandle,
|
|
229
228
|
className: "block-selection-button_drag-handle",
|
|
230
229
|
"aria-hidden": "true",
|
|
231
230
|
label: dragHandleLabel // Should not be able to tab to drag handle as this
|
|
232
231
|
// button can only be used with a pointer device.
|
|
233
232
|
,
|
|
234
|
-
tabIndex: "-1"
|
|
235
|
-
|
|
233
|
+
tabIndex: "-1",
|
|
234
|
+
...draggableProps
|
|
235
|
+
}))), createElement(FlexItem, null, createElement(Button, {
|
|
236
236
|
ref: ref,
|
|
237
237
|
onClick: editorMode === 'navigation' ? () => setNavigationMode(false) : undefined,
|
|
238
238
|
onKeyDown: onKeyDown,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/block-selection-button.js"],"names":["classnames","dragHandle","Button","Flex","FlexItem","useSelect","useDispatch","useEffect","useRef","BACKSPACE","DELETE","UP","DOWN","LEFT","RIGHT","TAB","ESCAPE","ENTER","SPACE","getBlockType","__experimentalGetAccessibleBlockLabel","getAccessibleBlockLabel","speak","focus","__","BlockTitle","BlockIcon","store","blockEditorStore","BlockDraggable","useBlockDisplayInformation","__unstableUseBlockElement","useBlockElement","BlockMover","BlockSelectionButton","clientId","rootClientId","blockInformation","selected","select","getBlock","getBlockIndex","hasBlockMovingClientId","getBlockListSettings","__unstableGetEditorMode","index","name","attributes","blockMovingMode","orientation","editorMode","setNavigationMode","removeBlock","ref","blockType","label","current","blockElement","getBlockRootClientId","getClientIdsOfDescendants","getSelectedBlockClientId","getMultiSelectedBlocksEndClientId","getPreviousBlockClientId","getNextBlockClientId","selectBlock","clearSelectedBlock","setBlockMovingClientId","moveBlockToPosition","onKeyDown","event","keyCode","isUp","isDown","isLeft","isRight","isTab","isEscape","isEnter","isSpace","isShift","shiftKey","preventDefault","selectedBlockClientId","selectionEndClientId","selectionBeforeEndClientId","selectionAfterEndClientId","navigateUp","navigateDown","navigateOut","navigateIn","focusedBlockUid","startingBlockClientId","defaultPrevented","sourceRoot","destRoot","sourceBlockIndex","destinationBlockIndex","nextTabbable","tabbable","findNext","contains","ownerDocument","defaultView","frameElement","findPrevious","classNames","dragHandleLabel","icon","draggableProps","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { dragHandle } from '@wordpress/icons';\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tBACKSPACE,\n\tDELETE,\n\tUP,\n\tDOWN,\n\tLEFT,\n\tRIGHT,\n\tTAB,\n\tESCAPE,\n\tENTER,\n\tSPACE,\n} from '@wordpress/keycodes';\nimport {\n\tgetBlockType,\n\t__experimentalGetAccessibleBlockLabel as getAccessibleBlockLabel,\n} from '@wordpress/blocks';\nimport { speak } from '@wordpress/a11y';\nimport { focus } from '@wordpress/dom';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockTitle from '../block-title';\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\nimport BlockDraggable from '../block-draggable';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport BlockMover from '../block-mover';\n\n/**\n * Block selection button component, displaying the label of the block. If the block\n * descends from a root block, a button is displayed enabling the user to select\n * the root block.\n *\n * @param {string} props Component props.\n * @param {string} props.clientId Client ID of block.\n *\n * @return {WPComponent} The component to be rendered.\n */\nfunction BlockSelectionButton( { clientId, rootClientId } ) {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockIndex,\n\t\t\t\thasBlockMovingClientId,\n\t\t\t\tgetBlockListSettings,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tconst { name, attributes } = getBlock( clientId );\n\t\t\tconst blockMovingMode = hasBlockMovingClientId();\n\t\t\treturn {\n\t\t\t\tindex,\n\t\t\t\tname,\n\t\t\t\tattributes,\n\t\t\t\tblockMovingMode,\n\t\t\t\torientation: getBlockListSettings( rootClientId )?.orientation,\n\t\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\tconst {\n\t\tindex,\n\t\tname,\n\t\tattributes,\n\t\tblockMovingMode,\n\t\torientation,\n\t\teditorMode,\n\t} = selected;\n\tconst { setNavigationMode, removeBlock } = useDispatch( blockEditorStore );\n\tconst ref = useRef();\n\n\tconst blockType = getBlockType( name );\n\tconst label = getAccessibleBlockLabel(\n\t\tblockType,\n\t\tattributes,\n\t\tindex + 1,\n\t\torientation\n\t);\n\n\t// Focus the breadcrumb in navigation mode.\n\tuseEffect( () => {\n\t\tref.current.focus();\n\n\t\tspeak( label );\n\t}, [ label ] );\n\tconst blockElement = useBlockElement( clientId );\n\n\tconst {\n\t\thasBlockMovingClientId,\n\t\tgetBlockIndex,\n\t\tgetBlockRootClientId,\n\t\tgetClientIdsOfDescendants,\n\t\tgetSelectedBlockClientId,\n\t\tgetMultiSelectedBlocksEndClientId,\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t} = useSelect( blockEditorStore );\n\tconst {\n\t\tselectBlock,\n\t\tclearSelectedBlock,\n\t\tsetBlockMovingClientId,\n\t\tmoveBlockToPosition,\n\t} = useDispatch( blockEditorStore );\n\n\tfunction onKeyDown( event ) {\n\t\tconst { keyCode } = event;\n\t\tconst isUp = keyCode === UP;\n\t\tconst isDown = keyCode === DOWN;\n\t\tconst isLeft = keyCode === LEFT;\n\t\tconst isRight = keyCode === RIGHT;\n\t\tconst isTab = keyCode === TAB;\n\t\tconst isEscape = keyCode === ESCAPE;\n\t\tconst isEnter = keyCode === ENTER;\n\t\tconst isSpace = keyCode === SPACE;\n\t\tconst isShift = event.shiftKey;\n\n\t\tif ( keyCode === BACKSPACE || keyCode === DELETE ) {\n\t\t\tremoveBlock( clientId );\n\t\t\tevent.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst selectionEndClientId = getMultiSelectedBlocksEndClientId();\n\t\tconst selectionBeforeEndClientId = getPreviousBlockClientId(\n\t\t\tselectionEndClientId || selectedBlockClientId\n\t\t);\n\t\tconst selectionAfterEndClientId = getNextBlockClientId(\n\t\t\tselectionEndClientId || selectedBlockClientId\n\t\t);\n\n\t\tconst navigateUp = ( isTab && isShift ) || isUp;\n\t\tconst navigateDown = ( isTab && ! isShift ) || isDown;\n\t\t// Move out of current nesting level (no effect if at root level).\n\t\tconst navigateOut = isLeft;\n\t\t// Move into next nesting level (no effect if the current block has no innerBlocks).\n\t\tconst navigateIn = isRight;\n\n\t\tlet focusedBlockUid;\n\t\tif ( navigateUp ) {\n\t\t\tfocusedBlockUid = selectionBeforeEndClientId;\n\t\t} else if ( navigateDown ) {\n\t\t\tfocusedBlockUid = selectionAfterEndClientId;\n\t\t} else if ( navigateOut ) {\n\t\t\tfocusedBlockUid =\n\t\t\t\tgetBlockRootClientId( selectedBlockClientId ) ??\n\t\t\t\tselectedBlockClientId;\n\t\t} else if ( navigateIn ) {\n\t\t\tfocusedBlockUid =\n\t\t\t\tgetClientIdsOfDescendants( [ selectedBlockClientId ] )[ 0 ] ??\n\t\t\t\tselectedBlockClientId;\n\t\t}\n\t\tconst startingBlockClientId = hasBlockMovingClientId();\n\t\tif ( isEscape && startingBlockClientId && ! event.defaultPrevented ) {\n\t\t\tsetBlockMovingClientId( null );\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tif ( ( isEnter || isSpace ) && startingBlockClientId ) {\n\t\t\tconst sourceRoot = getBlockRootClientId( startingBlockClientId );\n\t\t\tconst destRoot = getBlockRootClientId( selectedBlockClientId );\n\t\t\tconst sourceBlockIndex = getBlockIndex( startingBlockClientId );\n\t\t\tlet destinationBlockIndex = getBlockIndex( selectedBlockClientId );\n\t\t\tif (\n\t\t\t\tsourceBlockIndex < destinationBlockIndex &&\n\t\t\t\tsourceRoot === destRoot\n\t\t\t) {\n\t\t\t\tdestinationBlockIndex -= 1;\n\t\t\t}\n\t\t\tmoveBlockToPosition(\n\t\t\t\tstartingBlockClientId,\n\t\t\t\tsourceRoot,\n\t\t\t\tdestRoot,\n\t\t\t\tdestinationBlockIndex\n\t\t\t);\n\t\t\tselectBlock( startingBlockClientId );\n\t\t\tsetBlockMovingClientId( null );\n\t\t}\n\t\tif ( navigateDown || navigateUp || navigateOut || navigateIn ) {\n\t\t\tif ( focusedBlockUid ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectBlock( focusedBlockUid );\n\t\t\t} else if ( isTab && selectedBlockClientId ) {\n\t\t\t\tlet nextTabbable;\n\n\t\t\t\tif ( navigateDown ) {\n\t\t\t\t\tnextTabbable = blockElement;\n\t\t\t\t\tdo {\n\t\t\t\t\t\tnextTabbable = focus.tabbable.findNext( nextTabbable );\n\t\t\t\t\t} while (\n\t\t\t\t\t\tnextTabbable &&\n\t\t\t\t\t\tblockElement.contains( nextTabbable )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! nextTabbable ) {\n\t\t\t\t\t\tnextTabbable =\n\t\t\t\t\t\t\tblockElement.ownerDocument.defaultView.frameElement;\n\t\t\t\t\t\tnextTabbable = focus.tabbable.findNext( nextTabbable );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tnextTabbable = focus.tabbable.findPrevious( blockElement );\n\t\t\t\t}\n\n\t\t\t\tif ( nextTabbable ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tnextTabbable.focus();\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst classNames = classnames(\n\t\t'block-editor-block-list__block-selection-button',\n\t\t{\n\t\t\t'is-block-moving-mode': !! blockMovingMode,\n\t\t}\n\t);\n\n\tconst dragHandleLabel = __( 'Drag' );\n\n\treturn (\n\t\t<div className={ classNames }>\n\t\t\t<Flex\n\t\t\t\tjustify=\"center\"\n\t\t\t\tclassName=\"block-editor-block-list__block-selection-button__content\"\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<BlockIcon icon={ blockInformation?.icon } showColors />\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ editorMode === 'zoom-out' && (\n\t\t\t\t\t\t<BlockMover clientIds={ [ clientId ] } hideDragHandle />\n\t\t\t\t\t) }\n\t\t\t\t\t{ editorMode === 'navigation' && (\n\t\t\t\t\t\t<BlockDraggable clientIds={ [ clientId ] }>\n\t\t\t\t\t\t\t{ ( draggableProps ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={ dragHandle }\n\t\t\t\t\t\t\t\t\tclassName=\"block-selection-button_drag-handle\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\tlabel={ dragHandleLabel }\n\t\t\t\t\t\t\t\t\t// Should not be able to tab to drag handle as this\n\t\t\t\t\t\t\t\t\t// button can only be used with a pointer device.\n\t\t\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t\t\t{ ...draggableProps }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BlockDraggable>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\teditorMode === 'navigation'\n\t\t\t\t\t\t\t\t? () => setNavigationMode( false )\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\t\tclassName=\"block-selection-button_select-button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockTitle\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tmaximumLength={ 35 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</div>\n\t);\n}\n\nexport default BlockSelectionButton;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/block-selection-button.js"],"names":["classnames","dragHandle","Button","Flex","FlexItem","useSelect","useDispatch","useEffect","useRef","BACKSPACE","DELETE","UP","DOWN","LEFT","RIGHT","TAB","ESCAPE","ENTER","SPACE","getBlockType","__experimentalGetAccessibleBlockLabel","getAccessibleBlockLabel","speak","focus","__","BlockTitle","BlockIcon","store","blockEditorStore","BlockDraggable","useBlockDisplayInformation","__unstableUseBlockElement","useBlockElement","BlockMover","BlockSelectionButton","clientId","rootClientId","blockInformation","selected","select","getBlock","getBlockIndex","hasBlockMovingClientId","getBlockListSettings","__unstableGetEditorMode","index","name","attributes","blockMovingMode","orientation","editorMode","setNavigationMode","removeBlock","ref","blockType","label","current","blockElement","getBlockRootClientId","getClientIdsOfDescendants","getSelectedBlockClientId","getMultiSelectedBlocksEndClientId","getPreviousBlockClientId","getNextBlockClientId","selectBlock","clearSelectedBlock","setBlockMovingClientId","moveBlockToPosition","onKeyDown","event","keyCode","isUp","isDown","isLeft","isRight","isTab","isEscape","isEnter","isSpace","isShift","shiftKey","preventDefault","selectedBlockClientId","selectionEndClientId","selectionBeforeEndClientId","selectionAfterEndClientId","navigateUp","navigateDown","navigateOut","navigateIn","focusedBlockUid","startingBlockClientId","defaultPrevented","sourceRoot","destRoot","sourceBlockIndex","destinationBlockIndex","nextTabbable","tabbable","findNext","contains","ownerDocument","defaultView","frameElement","findPrevious","classNames","dragHandleLabel","icon","draggableProps","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { dragHandle } from '@wordpress/icons';\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tBACKSPACE,\n\tDELETE,\n\tUP,\n\tDOWN,\n\tLEFT,\n\tRIGHT,\n\tTAB,\n\tESCAPE,\n\tENTER,\n\tSPACE,\n} from '@wordpress/keycodes';\nimport {\n\tgetBlockType,\n\t__experimentalGetAccessibleBlockLabel as getAccessibleBlockLabel,\n} from '@wordpress/blocks';\nimport { speak } from '@wordpress/a11y';\nimport { focus } from '@wordpress/dom';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockTitle from '../block-title';\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\nimport BlockDraggable from '../block-draggable';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { __unstableUseBlockElement as useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport BlockMover from '../block-mover';\n\n/**\n * Block selection button component, displaying the label of the block. If the block\n * descends from a root block, a button is displayed enabling the user to select\n * the root block.\n *\n * @param {string} props Component props.\n * @param {string} props.clientId Client ID of block.\n *\n * @return {WPComponent} The component to be rendered.\n */\nfunction BlockSelectionButton( { clientId, rootClientId } ) {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst selected = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlock,\n\t\t\t\tgetBlockIndex,\n\t\t\t\thasBlockMovingClientId,\n\t\t\t\tgetBlockListSettings,\n\t\t\t\t__unstableGetEditorMode,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tconst { name, attributes } = getBlock( clientId );\n\t\t\tconst blockMovingMode = hasBlockMovingClientId();\n\t\t\treturn {\n\t\t\t\tindex,\n\t\t\t\tname,\n\t\t\t\tattributes,\n\t\t\t\tblockMovingMode,\n\t\t\t\torientation: getBlockListSettings( rootClientId )?.orientation,\n\t\t\t\teditorMode: __unstableGetEditorMode(),\n\t\t\t};\n\t\t},\n\t\t[ clientId, rootClientId ]\n\t);\n\tconst {\n\t\tindex,\n\t\tname,\n\t\tattributes,\n\t\tblockMovingMode,\n\t\torientation,\n\t\teditorMode,\n\t} = selected;\n\tconst { setNavigationMode, removeBlock } = useDispatch( blockEditorStore );\n\tconst ref = useRef();\n\n\tconst blockType = getBlockType( name );\n\tconst label = getAccessibleBlockLabel(\n\t\tblockType,\n\t\tattributes,\n\t\tindex + 1,\n\t\torientation\n\t);\n\n\t// Focus the breadcrumb in navigation mode.\n\tuseEffect( () => {\n\t\tref.current.focus();\n\n\t\tspeak( label );\n\t}, [ label ] );\n\tconst blockElement = useBlockElement( clientId );\n\n\tconst {\n\t\thasBlockMovingClientId,\n\t\tgetBlockIndex,\n\t\tgetBlockRootClientId,\n\t\tgetClientIdsOfDescendants,\n\t\tgetSelectedBlockClientId,\n\t\tgetMultiSelectedBlocksEndClientId,\n\t\tgetPreviousBlockClientId,\n\t\tgetNextBlockClientId,\n\t} = useSelect( blockEditorStore );\n\tconst {\n\t\tselectBlock,\n\t\tclearSelectedBlock,\n\t\tsetBlockMovingClientId,\n\t\tmoveBlockToPosition,\n\t} = useDispatch( blockEditorStore );\n\n\tfunction onKeyDown( event ) {\n\t\tconst { keyCode } = event;\n\t\tconst isUp = keyCode === UP;\n\t\tconst isDown = keyCode === DOWN;\n\t\tconst isLeft = keyCode === LEFT;\n\t\tconst isRight = keyCode === RIGHT;\n\t\tconst isTab = keyCode === TAB;\n\t\tconst isEscape = keyCode === ESCAPE;\n\t\tconst isEnter = keyCode === ENTER;\n\t\tconst isSpace = keyCode === SPACE;\n\t\tconst isShift = event.shiftKey;\n\n\t\tif ( keyCode === BACKSPACE || keyCode === DELETE ) {\n\t\t\tremoveBlock( clientId );\n\t\t\tevent.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst selectionEndClientId = getMultiSelectedBlocksEndClientId();\n\t\tconst selectionBeforeEndClientId = getPreviousBlockClientId(\n\t\t\tselectionEndClientId || selectedBlockClientId\n\t\t);\n\t\tconst selectionAfterEndClientId = getNextBlockClientId(\n\t\t\tselectionEndClientId || selectedBlockClientId\n\t\t);\n\n\t\tconst navigateUp = ( isTab && isShift ) || isUp;\n\t\tconst navigateDown = ( isTab && ! isShift ) || isDown;\n\t\t// Move out of current nesting level (no effect if at root level).\n\t\tconst navigateOut = isLeft;\n\t\t// Move into next nesting level (no effect if the current block has no innerBlocks).\n\t\tconst navigateIn = isRight;\n\n\t\tlet focusedBlockUid;\n\t\tif ( navigateUp ) {\n\t\t\tfocusedBlockUid = selectionBeforeEndClientId;\n\t\t} else if ( navigateDown ) {\n\t\t\tfocusedBlockUid = selectionAfterEndClientId;\n\t\t} else if ( navigateOut ) {\n\t\t\tfocusedBlockUid =\n\t\t\t\tgetBlockRootClientId( selectedBlockClientId ) ??\n\t\t\t\tselectedBlockClientId;\n\t\t} else if ( navigateIn ) {\n\t\t\tfocusedBlockUid =\n\t\t\t\tgetClientIdsOfDescendants( [ selectedBlockClientId ] )[ 0 ] ??\n\t\t\t\tselectedBlockClientId;\n\t\t}\n\t\tconst startingBlockClientId = hasBlockMovingClientId();\n\t\tif ( isEscape && startingBlockClientId && ! event.defaultPrevented ) {\n\t\t\tsetBlockMovingClientId( null );\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tif ( ( isEnter || isSpace ) && startingBlockClientId ) {\n\t\t\tconst sourceRoot = getBlockRootClientId( startingBlockClientId );\n\t\t\tconst destRoot = getBlockRootClientId( selectedBlockClientId );\n\t\t\tconst sourceBlockIndex = getBlockIndex( startingBlockClientId );\n\t\t\tlet destinationBlockIndex = getBlockIndex( selectedBlockClientId );\n\t\t\tif (\n\t\t\t\tsourceBlockIndex < destinationBlockIndex &&\n\t\t\t\tsourceRoot === destRoot\n\t\t\t) {\n\t\t\t\tdestinationBlockIndex -= 1;\n\t\t\t}\n\t\t\tmoveBlockToPosition(\n\t\t\t\tstartingBlockClientId,\n\t\t\t\tsourceRoot,\n\t\t\t\tdestRoot,\n\t\t\t\tdestinationBlockIndex\n\t\t\t);\n\t\t\tselectBlock( startingBlockClientId );\n\t\t\tsetBlockMovingClientId( null );\n\t\t}\n\t\tif ( navigateDown || navigateUp || navigateOut || navigateIn ) {\n\t\t\tif ( focusedBlockUid ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tselectBlock( focusedBlockUid );\n\t\t\t} else if ( isTab && selectedBlockClientId ) {\n\t\t\t\tlet nextTabbable;\n\n\t\t\t\tif ( navigateDown ) {\n\t\t\t\t\tnextTabbable = blockElement;\n\t\t\t\t\tdo {\n\t\t\t\t\t\tnextTabbable = focus.tabbable.findNext( nextTabbable );\n\t\t\t\t\t} while (\n\t\t\t\t\t\tnextTabbable &&\n\t\t\t\t\t\tblockElement.contains( nextTabbable )\n\t\t\t\t\t);\n\n\t\t\t\t\tif ( ! nextTabbable ) {\n\t\t\t\t\t\tnextTabbable =\n\t\t\t\t\t\t\tblockElement.ownerDocument.defaultView.frameElement;\n\t\t\t\t\t\tnextTabbable = focus.tabbable.findNext( nextTabbable );\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tnextTabbable = focus.tabbable.findPrevious( blockElement );\n\t\t\t\t}\n\n\t\t\t\tif ( nextTabbable ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tnextTabbable.focus();\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tconst classNames = classnames(\n\t\t'block-editor-block-list__block-selection-button',\n\t\t{\n\t\t\t'is-block-moving-mode': !! blockMovingMode,\n\t\t}\n\t);\n\n\tconst dragHandleLabel = __( 'Drag' );\n\n\treturn (\n\t\t<div className={ classNames }>\n\t\t\t<Flex\n\t\t\t\tjustify=\"center\"\n\t\t\t\tclassName=\"block-editor-block-list__block-selection-button__content\"\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<BlockIcon icon={ blockInformation?.icon } showColors />\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t{ editorMode === 'zoom-out' && (\n\t\t\t\t\t\t<BlockMover clientIds={ [ clientId ] } hideDragHandle />\n\t\t\t\t\t) }\n\t\t\t\t\t{ editorMode === 'navigation' && (\n\t\t\t\t\t\t<BlockDraggable clientIds={ [ clientId ] }>\n\t\t\t\t\t\t\t{ ( draggableProps ) => (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\ticon={ dragHandle }\n\t\t\t\t\t\t\t\t\tclassName=\"block-selection-button_drag-handle\"\n\t\t\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\t\t\tlabel={ dragHandleLabel }\n\t\t\t\t\t\t\t\t\t// Should not be able to tab to drag handle as this\n\t\t\t\t\t\t\t\t\t// button can only be used with a pointer device.\n\t\t\t\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t\t\t\t\t{ ...draggableProps }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BlockDraggable>\n\t\t\t\t\t) }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\teditorMode === 'navigation'\n\t\t\t\t\t\t\t\t? () => setNavigationMode( false )\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonKeyDown={ onKeyDown }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\t\tclassName=\"block-selection-button_select-button\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockTitle\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tmaximumLength={ 35 }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</div>\n\t);\n}\n\nexport default BlockSelectionButton;\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -65,6 +64,7 @@ export default function BlockTools({
|
|
|
65
64
|
insertAfterBlock,
|
|
66
65
|
insertBeforeBlock,
|
|
67
66
|
clearSelectedBlock,
|
|
67
|
+
selectBlock,
|
|
68
68
|
moveBlocksUp,
|
|
69
69
|
moveBlocksDown
|
|
70
70
|
} = useDispatch(blockEditorStore);
|
|
@@ -120,8 +120,16 @@ export default function BlockTools({
|
|
|
120
120
|
const clientIds = getSelectedBlockClientIds();
|
|
121
121
|
|
|
122
122
|
if (clientIds.length) {
|
|
123
|
-
event.preventDefault();
|
|
124
|
-
|
|
123
|
+
event.preventDefault(); // If there is more than one block selected, select the first
|
|
124
|
+
// block so that focus is directed back to the beginning of the selection.
|
|
125
|
+
// In effect, to the user this feels like deselecting the multi-selection.
|
|
126
|
+
|
|
127
|
+
if (clientIds.length > 1) {
|
|
128
|
+
selectBlock(clientIds[0]);
|
|
129
|
+
} else {
|
|
130
|
+
clearSelectedBlock();
|
|
131
|
+
}
|
|
132
|
+
|
|
125
133
|
event.target.ownerDocument.defaultView.getSelection().removeAllRanges();
|
|
126
134
|
__unstableContentRef?.current.focus();
|
|
127
135
|
}
|
|
@@ -131,9 +139,9 @@ export default function BlockTools({
|
|
|
131
139
|
const blockToolbarRef = usePopoverScroll(__unstableContentRef);
|
|
132
140
|
const blockToolbarAfterRef = usePopoverScroll(__unstableContentRef);
|
|
133
141
|
return (// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
134
|
-
createElement("div",
|
|
142
|
+
createElement("div", { ...props,
|
|
135
143
|
onKeyDown: onKeyDown
|
|
136
|
-
}
|
|
144
|
+
}, createElement(InsertionPointOpenRef.Provider, {
|
|
137
145
|
value: useRef(false)
|
|
138
146
|
}, !isTyping && createElement(InsertionPoint, {
|
|
139
147
|
__unstableContentRef: __unstableContentRef
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/index.js"],"names":["useSelect","useDispatch","useViewportMatch","Popover","__unstableUseShortcutEventMatch","useShortcutEventMatch","useRef","InsertionPointOpenRef","default","InsertionPoint","SelectedBlockPopover","store","blockEditorStore","BlockContextualToolbar","usePopoverScroll","ZoomOutModeInserters","selector","select","__unstableGetEditorMode","getSettings","isTyping","isZoomOutMode","hasFixedToolbar","BlockTools","children","__unstableContentRef","props","isLargeViewport","isMatch","getSelectedBlockClientIds","getBlockRootClientId","duplicateBlocks","removeBlocks","insertAfterBlock","insertBeforeBlock","clearSelectedBlock","moveBlocksUp","moveBlocksDown","onKeyDown","event","defaultPrevented","clientIds","length","preventDefault","rootClientId","target","ownerDocument","defaultView","getSelection","removeAllRanges","current","focus","blockToolbarRef","blockToolbarAfterRef"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { Popover } from '@wordpress/components';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tInsertionPointOpenRef,\n\tdefault as InsertionPoint,\n} from './insertion-point';\nimport SelectedBlockPopover from './selected-block-popover';\nimport { store as blockEditorStore } from '../../store';\nimport BlockContextualToolbar from './block-contextual-toolbar';\nimport usePopoverScroll from '../block-popover/use-popover-scroll';\nimport ZoomOutModeInserters from './zoom-out-mode-inserters';\n\nfunction selector( select ) {\n\tconst { __unstableGetEditorMode, getSettings, isTyping } =\n\t\tselect( blockEditorStore );\n\n\treturn {\n\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\tisTyping: isTyping(),\n\t};\n}\n\n/**\n * Renders block tools (the block toolbar, select/navigation mode toolbar, the\n * insertion point and a slot for the inline rich text toolbar). Must be wrapped\n * around the block content and editor styles wrapper or iframe.\n *\n * @param {Object} $0 Props.\n * @param {Object} $0.children The block content and style container.\n * @param {Object} $0.__unstableContentRef Ref holding the content scroll container.\n */\nexport default function BlockTools( {\n\tchildren,\n\t__unstableContentRef,\n\t...props\n} ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { hasFixedToolbar, isZoomOutMode, isTyping } = useSelect(\n\t\tselector,\n\t\t[]\n\t);\n\tconst isMatch = useShortcutEventMatch();\n\tconst { getSelectedBlockClientIds, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst {\n\t\tduplicateBlocks,\n\t\tremoveBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tclearSelectedBlock,\n\t\tmoveBlocksUp,\n\t\tmoveBlocksDown,\n\t} = useDispatch( blockEditorStore );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) return;\n\n\t\tif ( isMatch( 'core/block-editor/move-up', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tmoveBlocksUp( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/move-down', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tmoveBlocksDown( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tduplicateBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/remove', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tremoveBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertAfterBlock( clientIds[ clientIds.length - 1 ] );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertBeforeBlock( clientIds[ 0 ] );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/unselect', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tclearSelectedBlock();\n\t\t\t\tevent.target.ownerDocument.defaultView\n\t\t\t\t\t.getSelection()\n\t\t\t\t\t.removeAllRanges();\n\t\t\t\t__unstableContentRef?.current.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst blockToolbarRef = usePopoverScroll( __unstableContentRef );\n\tconst blockToolbarAfterRef = usePopoverScroll( __unstableContentRef );\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div { ...props } onKeyDown={ onKeyDown }>\n\t\t\t<InsertionPointOpenRef.Provider value={ useRef( false ) }>\n\t\t\t\t{ ! isTyping && (\n\t\t\t\t\t<InsertionPoint\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isZoomOutMode &&\n\t\t\t\t\t( hasFixedToolbar || ! isLargeViewport ) && (\n\t\t\t\t\t\t<BlockContextualToolbar isFixed />\n\t\t\t\t\t) }\n\t\t\t\t{ /* Even if the toolbar is fixed, the block popover is still\n\t\t\t\t\tneeded for navigation and zoom-out mode. */ }\n\t\t\t\t<SelectedBlockPopover\n\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t/>\n\t\t\t\t{ /* Used for the inline rich text toolbar. */ }\n\t\t\t\t<Popover.Slot name=\"block-toolbar\" ref={ blockToolbarRef } />\n\t\t\t\t{ children }\n\t\t\t\t{ /* Used for inline rich text popovers. */ }\n\t\t\t\t<Popover.Slot\n\t\t\t\t\tname=\"__unstable-block-tools-after\"\n\t\t\t\t\tref={ blockToolbarAfterRef }\n\t\t\t\t/>\n\t\t\t\t{ isZoomOutMode && (\n\t\t\t\t\t<ZoomOutModeInserters\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InsertionPointOpenRef.Provider>\n\t\t</div>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/index.js"],"names":["useSelect","useDispatch","useViewportMatch","Popover","__unstableUseShortcutEventMatch","useShortcutEventMatch","useRef","InsertionPointOpenRef","default","InsertionPoint","SelectedBlockPopover","store","blockEditorStore","BlockContextualToolbar","usePopoverScroll","ZoomOutModeInserters","selector","select","__unstableGetEditorMode","getSettings","isTyping","isZoomOutMode","hasFixedToolbar","BlockTools","children","__unstableContentRef","props","isLargeViewport","isMatch","getSelectedBlockClientIds","getBlockRootClientId","duplicateBlocks","removeBlocks","insertAfterBlock","insertBeforeBlock","clearSelectedBlock","selectBlock","moveBlocksUp","moveBlocksDown","onKeyDown","event","defaultPrevented","clientIds","length","preventDefault","rootClientId","target","ownerDocument","defaultView","getSelection","removeAllRanges","current","focus","blockToolbarRef","blockToolbarAfterRef"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { Popover } from '@wordpress/components';\nimport { __unstableUseShortcutEventMatch as useShortcutEventMatch } from '@wordpress/keyboard-shortcuts';\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tInsertionPointOpenRef,\n\tdefault as InsertionPoint,\n} from './insertion-point';\nimport SelectedBlockPopover from './selected-block-popover';\nimport { store as blockEditorStore } from '../../store';\nimport BlockContextualToolbar from './block-contextual-toolbar';\nimport usePopoverScroll from '../block-popover/use-popover-scroll';\nimport ZoomOutModeInserters from './zoom-out-mode-inserters';\n\nfunction selector( select ) {\n\tconst { __unstableGetEditorMode, getSettings, isTyping } =\n\t\tselect( blockEditorStore );\n\n\treturn {\n\t\tisZoomOutMode: __unstableGetEditorMode() === 'zoom-out',\n\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\tisTyping: isTyping(),\n\t};\n}\n\n/**\n * Renders block tools (the block toolbar, select/navigation mode toolbar, the\n * insertion point and a slot for the inline rich text toolbar). Must be wrapped\n * around the block content and editor styles wrapper or iframe.\n *\n * @param {Object} $0 Props.\n * @param {Object} $0.children The block content and style container.\n * @param {Object} $0.__unstableContentRef Ref holding the content scroll container.\n */\nexport default function BlockTools( {\n\tchildren,\n\t__unstableContentRef,\n\t...props\n} ) {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst { hasFixedToolbar, isZoomOutMode, isTyping } = useSelect(\n\t\tselector,\n\t\t[]\n\t);\n\tconst isMatch = useShortcutEventMatch();\n\tconst { getSelectedBlockClientIds, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst {\n\t\tduplicateBlocks,\n\t\tremoveBlocks,\n\t\tinsertAfterBlock,\n\t\tinsertBeforeBlock,\n\t\tclearSelectedBlock,\n\t\tselectBlock,\n\t\tmoveBlocksUp,\n\t\tmoveBlocksDown,\n\t} = useDispatch( blockEditorStore );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( event.defaultPrevented ) return;\n\n\t\tif ( isMatch( 'core/block-editor/move-up', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tmoveBlocksUp( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/move-down', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tconst rootClientId = getBlockRootClientId( clientIds[ 0 ] );\n\t\t\t\tmoveBlocksDown( clientIds, rootClientId );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/duplicate', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tduplicateBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/remove', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tremoveBlocks( clientIds );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-after', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertAfterBlock( clientIds[ clientIds.length - 1 ] );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/insert-before', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tinsertBeforeBlock( clientIds[ 0 ] );\n\t\t\t}\n\t\t} else if ( isMatch( 'core/block-editor/unselect', event ) ) {\n\t\t\tconst clientIds = getSelectedBlockClientIds();\n\t\t\tif ( clientIds.length ) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\t// If there is more than one block selected, select the first\n\t\t\t\t// block so that focus is directed back to the beginning of the selection.\n\t\t\t\t// In effect, to the user this feels like deselecting the multi-selection.\n\t\t\t\tif ( clientIds.length > 1 ) {\n\t\t\t\t\tselectBlock( clientIds[ 0 ] );\n\t\t\t\t} else {\n\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t}\n\t\t\t\tevent.target.ownerDocument.defaultView\n\t\t\t\t\t.getSelection()\n\t\t\t\t\t.removeAllRanges();\n\t\t\t\t__unstableContentRef?.current.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tconst blockToolbarRef = usePopoverScroll( __unstableContentRef );\n\tconst blockToolbarAfterRef = usePopoverScroll( __unstableContentRef );\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div { ...props } onKeyDown={ onKeyDown }>\n\t\t\t<InsertionPointOpenRef.Provider value={ useRef( false ) }>\n\t\t\t\t{ ! isTyping && (\n\t\t\t\t\t<InsertionPoint\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isZoomOutMode &&\n\t\t\t\t\t( hasFixedToolbar || ! isLargeViewport ) && (\n\t\t\t\t\t\t<BlockContextualToolbar isFixed />\n\t\t\t\t\t) }\n\t\t\t\t{ /* Even if the toolbar is fixed, the block popover is still\n\t\t\t\t\tneeded for navigation and zoom-out mode. */ }\n\t\t\t\t<SelectedBlockPopover\n\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t/>\n\t\t\t\t{ /* Used for the inline rich text toolbar. */ }\n\t\t\t\t<Popover.Slot name=\"block-toolbar\" ref={ blockToolbarRef } />\n\t\t\t\t{ children }\n\t\t\t\t{ /* Used for inline rich text popovers. */ }\n\t\t\t\t<Popover.Slot\n\t\t\t\t\tname=\"__unstable-block-tools-after\"\n\t\t\t\t\tref={ blockToolbarAfterRef }\n\t\t\t\t/>\n\t\t\t\t{ isZoomOutMode && (\n\t\t\t\t\t<ZoomOutModeInserters\n\t\t\t\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InsertionPointOpenRef.Provider>\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -220,8 +219,10 @@ export default function InsertionPoint(props) {
|
|
|
220
219
|
|
|
221
220
|
|
|
222
221
|
return insertionPoint.operation === 'replace' ? createElement(BlockDropZonePopover // Force remount to trigger the animation.
|
|
223
|
-
,
|
|
224
|
-
key: `${insertionPoint.rootClientId}-${insertionPoint.index}
|
|
225
|
-
|
|
222
|
+
, {
|
|
223
|
+
key: `${insertionPoint.rootClientId}-${insertionPoint.index}`,
|
|
224
|
+
...props
|
|
225
|
+
}) : createElement(InbetweenInsertionPointPopover, { ...props
|
|
226
|
+
});
|
|
226
227
|
}
|
|
227
228
|
//# sourceMappingURL=insertion-point.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/insertion-point.js"],"names":["classnames","useSelect","useDispatch","useRef","createContext","useContext","__unstableMotion","motion","useReducedMotion","Inserter","store","blockEditorStore","BlockPopoverInbetween","BlockDropZonePopover","InsertionPointOpenRef","InbetweenInsertionPointPopover","__unstablePopoverSlot","__unstableContentRef","selectBlock","hideInsertionPoint","openRef","ref","orientation","previousClientId","nextClientId","rootClientId","isInserterShown","isDistractionFree","isNavigationMode","select","getBlockOrder","getBlockListSettings","getBlockInsertionPoint","isBlockBeingDragged","getPreviousBlockClientId","getNextBlockClientId","getSettings","_isNavigationMode","insertionPoint","order","length","_previousClientId","index","_nextClientId","settings","__unstableWithInserter","disableMotion","onClick","event","target","current","maybeHideInserterPoint","onFocus","lineVariants","start","opacity","scale","rest","transition","delay","type","hover","inserterVariants","className","isOpen","InsertionPoint","props","isVisible","isBlockListEmpty","isBlockInsertionPointVisible","getBlockCount","blockInsertionPoint","operation"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, createContext, useContext } from '@wordpress/element';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Inserter from '../inserter';\nimport { store as blockEditorStore } from '../../store';\nimport BlockPopoverInbetween from '../block-popover/inbetween';\nimport BlockDropZonePopover from '../block-popover/drop-zone';\n\nexport const InsertionPointOpenRef = createContext();\n\nfunction InbetweenInsertionPointPopover( {\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst { selectBlock, hideInsertionPoint } = useDispatch( blockEditorStore );\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst ref = useRef();\n\tconst {\n\t\torientation,\n\t\tpreviousClientId,\n\t\tnextClientId,\n\t\trootClientId,\n\t\tisInserterShown,\n\t\tisDistractionFree,\n\t\tisNavigationMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockBeingDragged,\n\t\t\tgetPreviousBlockClientId,\n\t\t\tgetNextBlockClientId,\n\t\t\tgetSettings,\n\t\t\tisNavigationMode: _isNavigationMode,\n\t\t} = select( blockEditorStore );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst order = getBlockOrder( insertionPoint.rootClientId );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet _previousClientId = order[ insertionPoint.index - 1 ];\n\t\tlet _nextClientId = order[ insertionPoint.index ];\n\n\t\twhile ( isBlockBeingDragged( _previousClientId ) ) {\n\t\t\t_previousClientId = getPreviousBlockClientId( _previousClientId );\n\t\t}\n\n\t\twhile ( isBlockBeingDragged( _nextClientId ) ) {\n\t\t\t_nextClientId = getNextBlockClientId( _nextClientId );\n\t\t}\n\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tpreviousClientId: _previousClientId,\n\t\t\tnextClientId: _nextClientId,\n\t\t\torientation:\n\t\t\t\tgetBlockListSettings( insertionPoint.rootClientId )\n\t\t\t\t\t?.orientation || 'vertical',\n\t\t\trootClientId: insertionPoint.rootClientId,\n\t\t\tisNavigationMode: _isNavigationMode(),\n\t\t\tisDistractionFree: settings.isDistractionFree,\n\t\t\tisInserterShown: insertionPoint?.__unstableWithInserter,\n\t\t};\n\t}, [] );\n\n\tconst disableMotion = useReducedMotion();\n\n\tfunction onClick( event ) {\n\t\tif ( event.target === ref.current && nextClientId ) {\n\t\t\tselectBlock( nextClientId, -1 );\n\t\t}\n\t}\n\n\tfunction maybeHideInserterPoint( event ) {\n\t\t// Only hide the inserter if it's triggered on the wrapper,\n\t\t// and the inserter is not open.\n\t\tif ( event.target === ref.current && ! openRef.current ) {\n\t\t\thideInsertionPoint();\n\t\t}\n\t}\n\n\tfunction onFocus( event ) {\n\t\t// Only handle click on the wrapper specifically, and not an event\n\t\t// bubbled from the inserter itself.\n\t\tif ( event.target !== ref.current ) {\n\t\t\topenRef.current = true;\n\t\t}\n\t}\n\n\tconst lineVariants = {\n\t\t// Initial position starts from the center and invisible.\n\t\tstart: {\n\t\t\topacity: 0,\n\t\t\tscale: 0,\n\t\t},\n\t\t// The line expands to fill the container. If the inserter is visible it\n\t\t// is delayed so it appears orchestrated.\n\t\trest: {\n\t\t\topacity: 1,\n\t\t\tscale: 1,\n\t\t\ttransition: { delay: isInserterShown ? 0.5 : 0, type: 'tween' },\n\t\t},\n\t\thover: {\n\t\t\topacity: 1,\n\t\t\tscale: 1,\n\t\t\ttransition: { delay: 0.5, type: 'tween' },\n\t\t},\n\t};\n\n\tconst inserterVariants = {\n\t\tstart: {\n\t\t\tscale: disableMotion ? 1 : 0,\n\t\t},\n\t\trest: {\n\t\t\tscale: 1,\n\t\t\ttransition: { delay: 0.4, type: 'tween' },\n\t\t},\n\t};\n\n\tif ( isDistractionFree && ! isNavigationMode ) {\n\t\treturn null;\n\t}\n\n\tconst className = classnames(\n\t\t'block-editor-block-list__insertion-point',\n\t\t'is-' + orientation\n\t);\n\n\treturn (\n\t\t<BlockPopoverInbetween\n\t\t\tpreviousClientId={ previousClientId }\n\t\t\tnextClientId={ nextClientId }\n\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t>\n\t\t\t<motion.div\n\t\t\t\tlayout={ ! disableMotion }\n\t\t\t\tinitial={ disableMotion ? 'rest' : 'start' }\n\t\t\t\tanimate=\"rest\"\n\t\t\t\twhileHover=\"hover\"\n\t\t\t\twhileTap=\"pressed\"\n\t\t\t\texit=\"start\"\n\t\t\t\tref={ ref }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tonFocus={ onFocus }\n\t\t\t\tclassName={ classnames( className, {\n\t\t\t\t\t'is-with-inserter': isInserterShown,\n\t\t\t\t} ) }\n\t\t\t\tonHoverEnd={ maybeHideInserterPoint }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tvariants={ lineVariants }\n\t\t\t\t\tclassName=\"block-editor-block-list__insertion-point-indicator\"\n\t\t\t\t\tdata-testid=\"block-list-insertion-point-indicator\"\n\t\t\t\t/>\n\t\t\t\t{ isInserterShown && (\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tvariants={ inserterVariants }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-block-list__insertion-point-inserter'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Inserter\n\t\t\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\t\t\tclientId={ nextClientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t\t\t\tonToggle={ ( isOpen ) => {\n\t\t\t\t\t\t\t\topenRef.current = isOpen;\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectOrClose={ () => {\n\t\t\t\t\t\t\t\topenRef.current = false;\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</motion.div>\n\t\t\t\t) }\n\t\t\t</motion.div>\n\t\t</BlockPopoverInbetween>\n\t);\n}\n\nexport default function InsertionPoint( props ) {\n\tconst { insertionPoint, isVisible, isBlockListEmpty } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetBlockCount,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockInsertionPoint = getBlockInsertionPoint();\n\t\t\treturn {\n\t\t\t\tinsertionPoint: blockInsertionPoint,\n\t\t\t\tisVisible: isBlockInsertionPointVisible(),\n\t\t\t\tisBlockListEmpty:\n\t\t\t\t\tgetBlockCount( blockInsertionPoint?.rootClientId ) === 0,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tif (\n\t\t! isVisible ||\n\t\t// Don't render the insertion point if the block list is empty.\n\t\t// The insertion point will be represented by the appender instead.\n\t\tisBlockListEmpty\n\t) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Render a popover that overlays the block when the desired operation is to replace it.\n\t * Otherwise, render a popover in between blocks for the indication of inserting between them.\n\t */\n\treturn insertionPoint.operation === 'replace' ? (\n\t\t<BlockDropZonePopover\n\t\t\t// Force remount to trigger the animation.\n\t\t\tkey={ `${ insertionPoint.rootClientId }-${ insertionPoint.index }` }\n\t\t\t{ ...props }\n\t\t/>\n\t) : (\n\t\t<InbetweenInsertionPointPopover { ...props } />\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/block-tools/insertion-point.js"],"names":["classnames","useSelect","useDispatch","useRef","createContext","useContext","__unstableMotion","motion","useReducedMotion","Inserter","store","blockEditorStore","BlockPopoverInbetween","BlockDropZonePopover","InsertionPointOpenRef","InbetweenInsertionPointPopover","__unstablePopoverSlot","__unstableContentRef","selectBlock","hideInsertionPoint","openRef","ref","orientation","previousClientId","nextClientId","rootClientId","isInserterShown","isDistractionFree","isNavigationMode","select","getBlockOrder","getBlockListSettings","getBlockInsertionPoint","isBlockBeingDragged","getPreviousBlockClientId","getNextBlockClientId","getSettings","_isNavigationMode","insertionPoint","order","length","_previousClientId","index","_nextClientId","settings","__unstableWithInserter","disableMotion","onClick","event","target","current","maybeHideInserterPoint","onFocus","lineVariants","start","opacity","scale","rest","transition","delay","type","hover","inserterVariants","className","isOpen","InsertionPoint","props","isVisible","isBlockListEmpty","isBlockInsertionPointVisible","getBlockCount","blockInsertionPoint","operation"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, createContext, useContext } from '@wordpress/element';\nimport { __unstableMotion as motion } from '@wordpress/components';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Inserter from '../inserter';\nimport { store as blockEditorStore } from '../../store';\nimport BlockPopoverInbetween from '../block-popover/inbetween';\nimport BlockDropZonePopover from '../block-popover/drop-zone';\n\nexport const InsertionPointOpenRef = createContext();\n\nfunction InbetweenInsertionPointPopover( {\n\t__unstablePopoverSlot,\n\t__unstableContentRef,\n} ) {\n\tconst { selectBlock, hideInsertionPoint } = useDispatch( blockEditorStore );\n\tconst openRef = useContext( InsertionPointOpenRef );\n\tconst ref = useRef();\n\tconst {\n\t\torientation,\n\t\tpreviousClientId,\n\t\tnextClientId,\n\t\trootClientId,\n\t\tisInserterShown,\n\t\tisDistractionFree,\n\t\tisNavigationMode,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockListSettings,\n\t\t\tgetBlockInsertionPoint,\n\t\t\tisBlockBeingDragged,\n\t\t\tgetPreviousBlockClientId,\n\t\t\tgetNextBlockClientId,\n\t\t\tgetSettings,\n\t\t\tisNavigationMode: _isNavigationMode,\n\t\t} = select( blockEditorStore );\n\t\tconst insertionPoint = getBlockInsertionPoint();\n\t\tconst order = getBlockOrder( insertionPoint.rootClientId );\n\n\t\tif ( ! order.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet _previousClientId = order[ insertionPoint.index - 1 ];\n\t\tlet _nextClientId = order[ insertionPoint.index ];\n\n\t\twhile ( isBlockBeingDragged( _previousClientId ) ) {\n\t\t\t_previousClientId = getPreviousBlockClientId( _previousClientId );\n\t\t}\n\n\t\twhile ( isBlockBeingDragged( _nextClientId ) ) {\n\t\t\t_nextClientId = getNextBlockClientId( _nextClientId );\n\t\t}\n\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tpreviousClientId: _previousClientId,\n\t\t\tnextClientId: _nextClientId,\n\t\t\torientation:\n\t\t\t\tgetBlockListSettings( insertionPoint.rootClientId )\n\t\t\t\t\t?.orientation || 'vertical',\n\t\t\trootClientId: insertionPoint.rootClientId,\n\t\t\tisNavigationMode: _isNavigationMode(),\n\t\t\tisDistractionFree: settings.isDistractionFree,\n\t\t\tisInserterShown: insertionPoint?.__unstableWithInserter,\n\t\t};\n\t}, [] );\n\n\tconst disableMotion = useReducedMotion();\n\n\tfunction onClick( event ) {\n\t\tif ( event.target === ref.current && nextClientId ) {\n\t\t\tselectBlock( nextClientId, -1 );\n\t\t}\n\t}\n\n\tfunction maybeHideInserterPoint( event ) {\n\t\t// Only hide the inserter if it's triggered on the wrapper,\n\t\t// and the inserter is not open.\n\t\tif ( event.target === ref.current && ! openRef.current ) {\n\t\t\thideInsertionPoint();\n\t\t}\n\t}\n\n\tfunction onFocus( event ) {\n\t\t// Only handle click on the wrapper specifically, and not an event\n\t\t// bubbled from the inserter itself.\n\t\tif ( event.target !== ref.current ) {\n\t\t\topenRef.current = true;\n\t\t}\n\t}\n\n\tconst lineVariants = {\n\t\t// Initial position starts from the center and invisible.\n\t\tstart: {\n\t\t\topacity: 0,\n\t\t\tscale: 0,\n\t\t},\n\t\t// The line expands to fill the container. If the inserter is visible it\n\t\t// is delayed so it appears orchestrated.\n\t\trest: {\n\t\t\topacity: 1,\n\t\t\tscale: 1,\n\t\t\ttransition: { delay: isInserterShown ? 0.5 : 0, type: 'tween' },\n\t\t},\n\t\thover: {\n\t\t\topacity: 1,\n\t\t\tscale: 1,\n\t\t\ttransition: { delay: 0.5, type: 'tween' },\n\t\t},\n\t};\n\n\tconst inserterVariants = {\n\t\tstart: {\n\t\t\tscale: disableMotion ? 1 : 0,\n\t\t},\n\t\trest: {\n\t\t\tscale: 1,\n\t\t\ttransition: { delay: 0.4, type: 'tween' },\n\t\t},\n\t};\n\n\tif ( isDistractionFree && ! isNavigationMode ) {\n\t\treturn null;\n\t}\n\n\tconst className = classnames(\n\t\t'block-editor-block-list__insertion-point',\n\t\t'is-' + orientation\n\t);\n\n\treturn (\n\t\t<BlockPopoverInbetween\n\t\t\tpreviousClientId={ previousClientId }\n\t\t\tnextClientId={ nextClientId }\n\t\t\t__unstablePopoverSlot={ __unstablePopoverSlot }\n\t\t\t__unstableContentRef={ __unstableContentRef }\n\t\t>\n\t\t\t<motion.div\n\t\t\t\tlayout={ ! disableMotion }\n\t\t\t\tinitial={ disableMotion ? 'rest' : 'start' }\n\t\t\t\tanimate=\"rest\"\n\t\t\t\twhileHover=\"hover\"\n\t\t\t\twhileTap=\"pressed\"\n\t\t\t\texit=\"start\"\n\t\t\t\tref={ ref }\n\t\t\t\ttabIndex={ -1 }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tonFocus={ onFocus }\n\t\t\t\tclassName={ classnames( className, {\n\t\t\t\t\t'is-with-inserter': isInserterShown,\n\t\t\t\t} ) }\n\t\t\t\tonHoverEnd={ maybeHideInserterPoint }\n\t\t\t>\n\t\t\t\t<motion.div\n\t\t\t\t\tvariants={ lineVariants }\n\t\t\t\t\tclassName=\"block-editor-block-list__insertion-point-indicator\"\n\t\t\t\t\tdata-testid=\"block-list-insertion-point-indicator\"\n\t\t\t\t/>\n\t\t\t\t{ isInserterShown && (\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tvariants={ inserterVariants }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-block-list__insertion-point-inserter'\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Inserter\n\t\t\t\t\t\t\tposition=\"bottom center\"\n\t\t\t\t\t\t\tclientId={ nextClientId }\n\t\t\t\t\t\t\trootClientId={ rootClientId }\n\t\t\t\t\t\t\t__experimentalIsQuick\n\t\t\t\t\t\t\tonToggle={ ( isOpen ) => {\n\t\t\t\t\t\t\t\topenRef.current = isOpen;\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonSelectOrClose={ () => {\n\t\t\t\t\t\t\t\topenRef.current = false;\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</motion.div>\n\t\t\t\t) }\n\t\t\t</motion.div>\n\t\t</BlockPopoverInbetween>\n\t);\n}\n\nexport default function InsertionPoint( props ) {\n\tconst { insertionPoint, isVisible, isBlockListEmpty } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockInsertionPoint,\n\t\t\t\tisBlockInsertionPointVisible,\n\t\t\t\tgetBlockCount,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst blockInsertionPoint = getBlockInsertionPoint();\n\t\t\treturn {\n\t\t\t\tinsertionPoint: blockInsertionPoint,\n\t\t\t\tisVisible: isBlockInsertionPointVisible(),\n\t\t\t\tisBlockListEmpty:\n\t\t\t\t\tgetBlockCount( blockInsertionPoint?.rootClientId ) === 0,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tif (\n\t\t! isVisible ||\n\t\t// Don't render the insertion point if the block list is empty.\n\t\t// The insertion point will be represented by the appender instead.\n\t\tisBlockListEmpty\n\t) {\n\t\treturn null;\n\t}\n\n\t/**\n\t * Render a popover that overlays the block when the desired operation is to replace it.\n\t * Otherwise, render a popover in between blocks for the indication of inserting between them.\n\t */\n\treturn insertionPoint.operation === 'replace' ? (\n\t\t<BlockDropZonePopover\n\t\t\t// Force remount to trigger the animation.\n\t\t\tkey={ `${ insertionPoint.rootClientId }-${ insertionPoint.index }` }\n\t\t\t{ ...props }\n\t\t/>\n\t) : (\n\t\t<InbetweenInsertionPointPopover { ...props } />\n\t);\n}\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
1
|
import { createElement } from "@wordpress/element";
|
|
3
2
|
|
|
4
3
|
/**
|
|
@@ -102,7 +101,7 @@ function SelectedBlockPopover({
|
|
|
102
101
|
});
|
|
103
102
|
|
|
104
103
|
if (showEmptyBlockSideInserter) {
|
|
105
|
-
return createElement(BlockPopover,
|
|
104
|
+
return createElement(BlockPopover, {
|
|
106
105
|
clientId: capturingClientId || clientId,
|
|
107
106
|
__unstableCoverTarget: true,
|
|
108
107
|
bottomClientId: lastClientId,
|
|
@@ -112,8 +111,9 @@ function SelectedBlockPopover({
|
|
|
112
111
|
__unstablePopoverSlot: __unstablePopoverSlot,
|
|
113
112
|
__unstableContentRef: __unstableContentRef,
|
|
114
113
|
resize: false,
|
|
115
|
-
shift: false
|
|
116
|
-
|
|
114
|
+
shift: false,
|
|
115
|
+
...popoverProps
|
|
116
|
+
}, createElement("div", {
|
|
117
117
|
className: "block-editor-block-list__empty-block-inserter"
|
|
118
118
|
}, createElement(Inserter, {
|
|
119
119
|
position: "bottom right",
|
|
@@ -124,7 +124,7 @@ function SelectedBlockPopover({
|
|
|
124
124
|
}
|
|
125
125
|
|
|
126
126
|
if (shouldShowBreadcrumb || shouldShowContextualToolbar) {
|
|
127
|
-
return createElement(BlockPopover,
|
|
127
|
+
return createElement(BlockPopover, {
|
|
128
128
|
clientId: capturingClientId || clientId,
|
|
129
129
|
bottomClientId: lastClientId,
|
|
130
130
|
className: classnames('block-editor-block-list__block-popover', {
|
|
@@ -132,8 +132,9 @@ function SelectedBlockPopover({
|
|
|
132
132
|
}),
|
|
133
133
|
__unstablePopoverSlot: __unstablePopoverSlot,
|
|
134
134
|
__unstableContentRef: __unstableContentRef,
|
|
135
|
-
resize: false
|
|
136
|
-
|
|
135
|
+
resize: false,
|
|
136
|
+
...popoverProps
|
|
137
|
+
}, shouldShowContextualToolbar && createElement(BlockContextualToolbar // If the toolbar is being shown because of being forced
|
|
137
138
|
// it should focus the toolbar right after the mount.
|
|
138
139
|
, {
|
|
139
140
|
focusOnMount: isToolbarForced.current,
|